Content


NTL
Core
CTransformable

CTransformable


Implementation of the ITransformable. 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 CTransformable :public virtual ITransformable
{
protected:
    bool m_bTransformChanged;
public:
    // ITransformable getters
    bool hasTranslation(const float relative_tolerance = ntl::RelativeTolerance<float>) const override;
    bool hasRotation(const float relative_tolerance = ntl::RelativeTolerance<float>) const override;
    bool hasScaling(const float relative_tolerance = ntl::RelativeTolerance<float>) const override;
    const Mat4f &getMatrix() override;
    const Mat4f &getTranslateMatrix() override;
    const Mat4f &getScaleMatrix() override;
    const Mat4f &getRotateMaterix() override;
    const Mat4f &getRotateXMatrix() override;
    const Mat4f &getRotateYMatrix() override;
    const Mat4f &getRotateZMatrix() override;
    const Mat4f &getInverseMatrix() override;

    // ITransformable setters
    bool setRotateOrder(const nitisa::RotateOrder value) override;
    bool setTransformOrder(const nitisa::TransformOrder value) override;
    bool setTx(const float value, const float relative_tolerance) override;
    bool setTy(const float value, const float relative_tolerance) override;
    bool setTz(const float value, const float relative_tolerance) override;
    bool setRx(const float value, const float relative_tolerance) override;
    bool setRy(const float value, const float relative_tolerance) override;
    bool setRz(const float value, const float relative_tolerance) override;
    bool setSx(const float value, const float relative_tolerance) override;
    bool setSy(const float value, const float relative_tolerance) override;
    bool setSz(const float value, const float relative_tolerance) override;
    bool setTranslation(const Vec3f &value, const float relative_tolerance) override;
    bool setRotation(const Vec3f &value, const float relative_tolerance) override;
    bool setScaling(const Vec3f &value, const float relative_tolerance) override;
    bool setTransform(const nitisa::Transform &value, const float relative_tolerance) override;

    ITransformable *setOrder(const nitisa::RotateOrder value) override;
    ITransformable *setOrder(const nitisa::TransformOrder value) override;
    ITransformable *setTx(const float value) override;
    ITransformable *setTy(const float value) override;
    ITransformable *setTz(const float value) override;
    ITransformable *setRx(const float value) override;
    ITransformable *setRy(const float value) override;
    ITransformable *setRz(const float value) override;
    ITransformable *setSx(const float value) override;
    ITransformable *setSy(const float value) override;
    ITransformable *setSz(const float value) override;
    ITransformable *setTranslation(const Vec3f &value) override;
    ITransformable *setRotation(const Vec3f &value) override;
    ITransformable *setScaling(const Vec3f &value) override;
    ITransformable *setTransform(const nitisa::Transform &value) override;

    CTransformable();
};
Namespace: nitisa
Include: Nitisa/Core/Transformable.h