Class to create an interactive videocamera in Irrlicht, that is similar to the Maya camera but hasn't the problems that the Maya camera has in Irrlicht 1.5.

This code is based on work by "CmdKewin" (from the Irrlicht forum).

#include <ChIrrCamera.h>

Inherits ICameraSceneNode.

Public Member Functions

 RTSCamera (irr::IrrlichtDevice *devicepointer, irr::scene::ISceneNode *parent, irr::scene::ISceneManager *smgr, irr::s32 id, irr::f32 rotateSpeed=-160.0f, irr::f32 zoomSpeed=1.0f, irr::f32 translationSpeed=0.003f)
virtual void render () override
virtual bool OnEvent (const irr::SEvent &event) override
virtual void OnRegisterSceneNode () override
virtual void OnAnimate (irr::u32 timeMs) override
virtual void setInputReceiverEnabled (bool enabled) override
virtual bool isInputReceiverEnabled () const override
virtual const irr::core::aabbox3d< irr::f32 > & getBoundingBox () const override
virtual const irr::core::matrix4 & getProjectionMatrix () const override
virtual const irr::scene::SViewFrustum * getViewFrustum () const override
virtual const irr::core::matrix4 & getViewMatrix () const override
virtual const irr::core::matrix4 & getViewMatrixAffector () const override
virtual const irr::core::vector3df & getUpVector () const override
virtual const irr::core::vector3df & getTarget () const override
virtual irr::f32 getNearValue () const override
virtual irr::f32 getFarValue () const override
virtual irr::f32 getAspectRatio () const override
virtual irr::f32 getFOV () const override
virtual void setNearValue (irr::f32 zn) override
virtual void setFarValue (irr::f32 zf) override
virtual void setAspectRatio (irr::f32 aspect) override
virtual void setFOV (irr::f32 fovy) override
virtual void setViewMatrixAffector (const irr::core::matrix4 &affector) override
virtual void setProjectionMatrix (const irr::core::matrix4 &projection, bool isOrthogonal=false) override
virtual void setPosition (const irr::core::vector3df &newpos) override
virtual void setTarget (const irr::core::vector3df &newpos) override
virtual void setRotation (const irr::core::vector3df &rotation) override
void setZUp ()
void setZoomSpeed (irr::f32 value)
void setTranslateSpeed (irr::f32 value)
void setRotationSpeed (irr::f32 value)
virtual void bindTargetAndRotation (bool bound) override
virtual bool getTargetAndRotationBinding (void) const override
void pointCameraAtNode (ISceneNode *selectednode)
void setMinZoom (irr::f32 amount)
void setMaxZoom (irr::f32 amount)
virtual irr::scene::ESCENE_NODE_TYPE getType () const override

Public Attributes

bool atMinDistance
bool atMaxDistance
ISceneNode * selectednode

Protected Member Functions

void recalculateProjectionMatrix ()
 Z-value of the far view-plane.
void recalculateViewArea ()

Protected Attributes

irr::core::vector3df Target
irr::core::vector3df UpVector
bool y_up
irr::core::matrix4 Projection
irr::core::matrix4 View
irr::core::matrix4 Affector
irr::scene::SViewFrustum ViewArea
irr::core::aabbox3d< irr::f32 > BBox
bool InputReceiverEnabled
irr::core::dimension2d< irr::f32 > screenDim
irr::f32 Fovy
irr::f32 Aspect
 Field of view, in radians.
irr::f32 ZNear
 Aspect ratio.
irr::f32 ZFar
 Value of the near view-plane.

The documentation for this class was generated from the following files:
  • /builds/uwsbel/chrono/src/chrono_irrlicht/ChIrrCamera.h
  • /builds/uwsbel/chrono/src/chrono_irrlicht/ChIrrCamera.cpp