TCameraWalk


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

Implements a base 3D "walk" camera.

You can find more information in comments below.

template<class TYPE>
    class TCameraWalk :public virtual ICameraWalk<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;
    
        TYPE getPitch() override;
        TYPE getPitchMin() override;
        TYPE getPitchMax() override;
        TYPE getYaw() override;
    
        bool setPitch(const TYPE value) override;
        bool setPitchMin(const TYPE value) override;
        bool setPitchMax(const TYPE value) override;
        bool setYaw(const TYPE value) override;
    
        bool Rotate(const TYPE pitch, const TYPE yaw) override;
        bool TurnPitch(const TYPE delta) override;
        bool TurnYaw(const TYPE delta) override;
        bool Turn(const TYPE pitch_delta, const TYPE yaw_delta) override;
    
        TCameraWalk(ICameraListener<TYPE> *listener = nullptr); // Create with default parameters 
    };
Namespace: nitisa::graphics3d
Include: Nitisa/Modules/Graphics3D/Core/CameraWalk.h