Describes transformation.
You can find more information in comments below. Overrided methods can be found in corresponding base interface.
class ITransform :public virtual IFeedbackEx
{
public:
virtual float getTx() const = 0; // Return X coordinate
virtual float getTy() const = 0; // Return Y coordinate
virtual float getTz() const = 0; // Return Z coordinate
virtual float getSx() const = 0; // Return scaling factor for X axis
virtual float getSy() const = 0; // Return scaling factor for Y axis
virtual float getSz() const = 0; // Return scaling factor for Z axis
virtual float getRx() const = 0; // Return rotation angle around X axis(in radians)
virtual float getRy() const = 0; // Return rotation angle around Y axis(in radians)
virtual float getRz() const = 0; // Return rotation angle around Z axis(in radians)
virtual TransformOrder getTransformOrder() const = 0; // Return transformation order
virtual RotateOrder getRotateOrder() const = 0; // Return rotation order
virtual const Mat4f &getMatrix() = 0; // Return final matrix
virtual const Mat4f &getMatrixInversed() = 0; // Return final inversed matrix
virtual const Mat4f &getMatrixTranslate() = 0; // Return translation matrix
virtual const Mat4f &getMatrixScale() = 0; // Return scaling matrix
virtual const Mat4f &getMatrixRotate() = 0; // Return rotation matrix
virtual const nitisa::Transform &getTransform() = 0; // Return transformation data
virtual bool isTranslateIdentity() const = 0; // Check whether there is no translation
virtual bool isScaleIdentity() const = 0; // Check whether there is no scaling
virtual bool isRotateIdentity() const = 0; // Check whether there is no rotation
virtual bool isIdentity() const = 0; // Check whether there is no any transformation at all
virtual bool setTx(const float value) = 0; // Set X coordinate
virtual bool setTy(const float value) = 0; // Set Y coordinate
virtual bool setTz(const float value) = 0; // Set Z coordinate
virtual bool setSx(const float value) = 0; // Set scaling factor for X axis
virtual bool setSy(const float value) = 0; // Set scaling factor for Y axis
virtual bool setSz(const float value) = 0; // Set scaling factor for Z axis
virtual bool setRx(const float value) = 0; // Set rotation angle around X axis(in radians)
virtual bool setRy(const float value) = 0; // Set rotation angle around Y axis(in radians)
virtual bool setRz(const float value) = 0; // Set rotation angle around Z axis(in radians)
virtual bool setTransformOrder(const TransformOrder value) = 0; // Set transformation order
virtual bool setRotateOrder(const RotateOrder value) = 0; // Set rotation order
virtual bool setTransform(const Transform &value) = 0; // Set all transformation data
virtual ITransformService *QueryService() = 0; // Return service
virtual bool Translate(const float tx, const float ty, const float tz) = 0; // Translate
virtual bool Scale(const float sx, const float sy, const float sz) = 0; // Scale
virtual bool Rotate(const float rx, const float ry, const float rz) = 0; // Rotate(in radians)
virtual bool Transform(const float tx, const float ty, const float tz, const float sx, const float sy, const float sz, const float rx, const float ry, const float rz) = 0; // Translate, scale, and rotate
virtual void Release() = 0; // Destroy instance
};
Namespace: | nitisa |
Include: | Nitisa/Interfaces/ITransform.h |