CTransform



Implementation of the ITransform. This implementation allow all transformation.

You can find more information in comments below. Overrided methods can be found in corresponding base class or interface.

class CTransform :public virtual ITransform, public CFeedbackEx
{
protected:
    nitisa::Transform m_sTransform;
public:
    float getTx() const override;
    float getTy() const override;
    float getTz() const override;
    float getSx() const override;
    float getSy() const override;
    float getSz() const override;
    float getRx() const override;
    float getRy() const override;
    float getRz() const override;
    TransformOrder getTransformOrder() const override;
    RotateOrder getRotateOrder() const override;
    const Mat4f &getMatrix() override;
    const Mat4f &getMatrixInversed() override;
    const Mat4f &getMatrixTranslate() override;
    const Mat4f &getMatrixScale() override;
    const Mat4f &getMatrixRotate() override;
    const nitisa::Transform &getTransform() override;
    bool isTranslateIdentity() const override;
    bool isScaleIdentity() const override;
    bool isRotateIdentity() const override;
    bool isIdentity() const override;

    bool setTx(const float value) override;
    bool setTy(const float value) override;
    bool setTz(const float value) override;
    bool setSx(const float value) override;
    bool setSy(const float value) override;
    bool setSz(const float value) override;
    bool setRx(const float value) override;
    bool setRy(const float value) override;
    bool setRz(const float value) override;
    bool setTransformOrder(const TransformOrder value) override;
    bool setRotateOrder(const RotateOrder value) override;
    bool setTransform(const nitisa::Transform &value) override;

    bool Translate(const float tx, const float ty, const float tz) override;
    bool Scale(const float sx, const float sy, const float sz) override;
    bool Rotate(const float rx, const float ry, const float rz) override;
    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) override;

    ITransformService *QueryService() override;
    void Release() override;

    CTransform(IFeedback::Callback before, IFeedback::Callback after, void *param);
    ~CTransform() override;
};
Namespace: nitisa
Include: Nitisa/Core/Transform.h