1#ifndef CLASSIC_Euclid3D_HH
2#define CLASSIC_Euclid3D_HH
81 Euclid3D(
double x,
double y,
double z,
double vx,
double vy,
double vz);
88 void getAll(
double &x,
double &y,
double &z,
89 double &vx,
double &vy,
double &vz)
const;
113 double M(
int row,
int col)
const;
213 V(),
R(), is_identity(true)
Euclid3D Inverse(const Euclid3D &t)
Euclidean inverse.
Displacement and rotation in space.
static Euclid3D ZRotation(double angle)
Make rotation.
void setZ(double z)
Set displacement.
void setX(double x)
Set displacement.
double getX() const
Get displacement.
double getY() const
Get displacement.
bool isPureXRotation() const
Test for rotation.
void setY(double y)
Set displacement.
void getAll(double &x, double &y, double &z, double &vx, double &vy, double &vz) const
Unpack.
double M(int row, int col) const
Get component.
static Euclid3D YRotation(double angle)
Make rotation.
bool operator==(const Euclid3D &) const
Euclid3D()
Default constructor.
void setDisplacement(const Vector3D &V)
Set displacement.
bool operator!=(const Euclid3D &) const
const Euclid3D & operator*=(const Euclid3D &rhs)
Dot product with assign.
static Euclid3D XRotation(double angle)
Make rotation.
const Euclid3D & dotBy(const Euclid3D &rhs)
Dot product with assign.
const Vector3D & getVector() const
Get displacement.
bool isPureYRotation() const
Test for rotation.
Euclid3D inverse() const
Inverse.
bool isIdentity() const
Test for identity.
void setRotation(const Rotation3D &R)
Set rotation.
static Euclid3D identity()
Make identity.
Euclid3D operator*(const Euclid3D &rhs) const
Dot product.
static Euclid3D translation(double x, double y, double z)
Make translation.
bool isPureZRotation() const
Test for rotation.
Euclid3D dot(const Euclid3D &rhs) const
Dot product.
double getZ() const
Get displacement.
bool isPureTranslation() const
Test for translation.
const Rotation3D & getRotation() const
Get rotation.
Rotation in 3-dimensional space.
double getY() const
Get component.
double getX() const
Get component.
double getZ() const
Get component.