TCameraFly


This template class has been removed in release 10.0.0. Use CCamera class instead.

Implements a base 3D "fly" camera.

You can find more information in comments below.

template<class TYPE>
    class TCameraFly :public virtual ICameraFly<TYPE>, public TCamera<TYPE>
    {
    protected:
        void NotifyOnChange() override;
    public:
        math::TVec3<TYPE> getPosition() override;
        math::TVec3<TYPE> getDirection() override;
        math::TVec3<TYPE> getDirectionRight() override;
        math::TVec3<TYPE> getDirectionUp() override;
        math::TMat4<TYPE> getViewMatrix() override;
        math::TMat4<TYPE> getMatrix() override;
    
        bool setPosition(const math::TVec3<TYPE> &value) override;
    
        bool MoveForward(const TYPE delta) override;
        bool MoveBackward(const TYPE delta) override;
        bool MoveLeft(const TYPE delta) override;
        bool MoveRight(const TYPE delta) override;
        bool MoveUp(const TYPE delta) override;
        bool MoveDown(const TYPE delta) override;
    
        bool TurnX(const TYPE angle) override;
        bool TurnY(const TYPE angle) override;
        bool TurnZ(const TYPE angle) override;
        bool Turn(const TYPE angle_x, const TYPE angle_y, const TYPE angle_z) override;
    
        TCameraFly(ICameraListener<TYPE> *listener = nullptr); // Create with default parameters 
    };
Namespace: nitisa::graphics3d
Include: Nitisa/Modules/Graphics3D/Core/CameraFly.h