Description

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
 
irr::f32 getZoomSpeed () const
 
irr::f32 getTranslateSpeed () const
 
irr::f32 getRotationSpeed () const
 
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