150, m_translation(0.0, 0.0, 0.0)
157, m_translation(translation)
194 return CAffine3d(
CMatrix3d(sx, 0.0, 0.0, 0.0, sy, 0.0, 0.0, 0.0, sz),
CVector3d(0.0, 0.0, 0.0));
218 return m_translation;
224 m_translation = translation;
231 m_translation =
CVector3d(0.0, 0.0, 0.0);
277 return m_matrix == other.m_matrix && m_translation == other.m_translation;
283 return !(*
this == other);
Affine transformation in 3D space.
static CAffine3d CreateScale(double scale)
Create uniform scale transformation.
CVector3d Transform(const CVector3d &point) const
Transform a point.
static CAffine3d CreateRotation(const CQuaternion3d &rotation)
Create rotation transformation from quaternion.
CAffine3d GetComposed(const CAffine3d &other) const
Compose transformations (returns this * other).
void Compose(const CAffine3d &other)
Compose this transformation with another (this = this * other).
const CMatrix3d & GetMatrix() const
Get matrix part (rotation/scale).
bool Serialize(iser::IArchive &archive)
Serialize this transformation to specified archive.
bool operator==(const CAffine3d &other) const
static CAffine3d GetIdentity()
Create identity transformation.
void Reset()
Reset to identity transformation.
bool GetInverse(CAffine3d &result) const
Get inverse transformation.
CAffine3d GetInverse() const
Get inverse transformation.
static CAffine3d CreateTranslation(const CVector3d &translation)
Create translation transformation.
void SetTranslation(const CVector3d &translation)
Set translation part.
void SetMatrix(const CMatrix3d &matrix)
Set matrix part.
bool operator!=(const CAffine3d &other) const
CAffine3d()
Default constructor.
CAffine3d operator*(const CAffine3d &other) const
CVector3d TransformDirection(const CVector3d &direction) const
Transform a direction vector (ignores translation).
const CVector3d & GetTranslation() const
Get translation part.
CVector3d GetMultiplied(const CVector3d &position) const
static const CMatrix3d & GetIdentity()
Quaternion for representing rotations in 3D space.
static CQuaternion3d FromAxisAngle(const CVector3d &axis, double angle)
Construct quaternion from axis and angle.
CMatrix3d ToMatrix() const
Convert quaternion to rotation matrix.
Represents a position or mathematical vector in 3D space with double precision.
double GetX() const
Gets the X coordinate of the vector.
double GetY() const
Gets the Y coordinate of the vector.
double GetZ() const
Gets the Z coordinate of the vector.
Represents an input/output persistence archive for object serialization.