Home | Namespaces | Hierarchy | Alphabetical List | Class list | Files | Namespace Members | Class members | File members | Tutorials
Public Member Functions | Protected Member Functions | Protected Attributes
irr::scene::ICameraSceneNode Class Reference

Scene Node which is a (controlable) camera. More...

#include <ICameraSceneNode.h>

Inheritance diagram for irr::scene::ICameraSceneNode:
irr::scene::ISceneNode irr::IEventReceiver irr::io::IAttributeExchangingObject irr::IReferenceCounted

List of all members.

Public Member Functions

virtual void bindTargetAndRotation (bool bound)=0
 Binds the camera scene node's rotation to its target position and vice vera, or unbinds them.
virtual void deserializeAttributes (io::IAttributes *in, io::SAttributeReadWriteOptions *options=0)
 Reads attributes of the camera node.
virtual f32 getAspectRatio () const =0
 Gets the aspect ratio of the camera.
virtual f32 getFarValue () const =0
 Gets the value of the far plane of the camera.
virtual f32 getFOV () const =0
 Gets the field of view of the camera.
virtual f32 getNearValue () const =0
 Gets the value of the near plane of the camera.
virtual const core::matrix4getProjectionMatrix () const =0
 Gets the current projection matrix of the camera.
virtual const core::vector3dfgetTarget () const =0
 Gets the current look at target of the camera.
virtual bool getTargetAndRotationBinding (void) const =0
 Queries if the camera scene node's rotation and its target position are bound together.
virtual const core::vector3dfgetUpVector () const =0
 Gets the up vector of the camera.
virtual const SViewFrustumgetViewFrustum () const =0
 Get the view frustum.
virtual const core::matrix4getViewMatrix () const =0
 Gets the current view matrix of the camera.
virtual const core::matrix4getViewMatrixAffector () const =0
 Get the custom view matrix affector.
 ICameraSceneNode (ISceneNode *parent, ISceneManager *mgr, s32 id, const core::vector3df &position=core::vector3df(0, 0, 0), const core::vector3df &rotation=core::vector3df(0, 0, 0), const core::vector3df &scale=core::vector3df(1.0f, 1.0f, 1.0f))
 Constructor.
virtual bool isInputReceiverEnabled () const =0
 Checks if the input receiver of the camera is currently enabled.
virtual bool isOrthogonal () const
 Checks if a camera is orthogonal.
virtual bool OnEvent (const SEvent &event)=0
 It is possible to send mouse and key events to the camera.
virtual void serializeAttributes (io::IAttributes *out, io::SAttributeReadWriteOptions *options=0) const
 Writes attributes of the camera node.
virtual void setAspectRatio (f32 aspect)=0
 Sets the aspect ratio (default: 4.0f / 3.0f)
virtual void setFarValue (f32 zf)=0
 Sets the value of the far clipping plane (default: 2000.0f)
virtual void setFOV (f32 fovy)=0
 Sets the field of view (Default: PI / 2.5f)
virtual void setInputReceiverEnabled (bool enabled)=0
 Disables or enables the camera to get key or mouse inputs.
virtual void setNearValue (f32 zn)=0
 Sets the value of the near clipping plane. (default: 1.0f)
virtual void setProjectionMatrix (const core::matrix4 &projection, bool isOrthogonal=false)=0
 Sets the projection matrix of the camera.
virtual void setRotation (const core::vector3df &rotation)=0
 Sets the rotation of the node.
virtual void setTarget (const core::vector3df &pos)=0
 Sets the look at target of the camera.
virtual void setUpVector (const core::vector3df &pos)=0
 Sets the up vector of the camera.
virtual void setViewMatrixAffector (const core::matrix4 &affector)=0
 Sets a custom view matrix affector.

Protected Member Functions

void cloneMembers (ICameraSceneNode *toCopyFrom)

Protected Attributes

bool IsOrthogonal

Detailed Description

Scene Node which is a (controlable) camera.

The whole scene will be rendered from the cameras point of view. Because the ICameraScenNode is a SceneNode, it can be attached to any other scene node, and will follow its parents movement, rotation and so on.

Definition at line 23 of file ICameraSceneNode.h.


Constructor & Destructor Documentation

irr::scene::ICameraSceneNode::ICameraSceneNode ( ISceneNode parent,
ISceneManager mgr,
s32  id,
const core::vector3df position = core::vector3df(0,0,0),
const core::vector3df rotation = core::vector3df(0,0,0),
const core::vector3df scale = core::vector3df(1.0f,1.0f,1.0f) 
) [inline]

Constructor.

Definition at line 28 of file ICameraSceneNode.h.


Member Function Documentation

virtual void irr::scene::ICameraSceneNode::bindTargetAndRotation ( bool  bound) [pure virtual]

Binds the camera scene node's rotation to its target position and vice vera, or unbinds them.

When bound, calling setRotation() will update the camera's target position to be along its +Z axis, and likewise calling setTarget() will update its rotation so that its +Z axis will point at the target point. FPS camera use this binding by default; other cameras do not.

Parameters:
boundTrue to bind the camera's scene node rotation and targetting, false to unbind them.
See also:
getTargetAndRotationBinding()
void irr::scene::ICameraSceneNode::cloneMembers ( ICameraSceneNode toCopyFrom) [inline, protected]

Definition at line 192 of file ICameraSceneNode.h.

References IsOrthogonal.

virtual void irr::scene::ICameraSceneNode::deserializeAttributes ( io::IAttributes in,
io::SAttributeReadWriteOptions options = 0 
) [inline, virtual]

Reads attributes of the camera node.

Reimplemented from irr::scene::ISceneNode.

Definition at line 180 of file ICameraSceneNode.h.

References irr::io::IAttributes::findAttribute(), irr::io::IAttributes::getAttributeAsBool(), and IsOrthogonal.

virtual f32 irr::scene::ICameraSceneNode::getAspectRatio ( ) const [pure virtual]

Gets the aspect ratio of the camera.

Returns:
The aspect ratio of the camera.
virtual f32 irr::scene::ICameraSceneNode::getFarValue ( ) const [pure virtual]

Gets the value of the far plane of the camera.

Returns:
The value of the far plane of the camera.
virtual f32 irr::scene::ICameraSceneNode::getFOV ( ) const [pure virtual]

Gets the field of view of the camera.

Returns:
The field of view of the camera in radians.
virtual f32 irr::scene::ICameraSceneNode::getNearValue ( ) const [pure virtual]

Gets the value of the near plane of the camera.

Returns:
The value of the near plane of the camera.
virtual const core::matrix4& irr::scene::ICameraSceneNode::getProjectionMatrix ( ) const [pure virtual]

Gets the current projection matrix of the camera.

Returns:
The current projection matrix of the camera.
virtual const core::vector3df& irr::scene::ICameraSceneNode::getTarget ( ) const [pure virtual]

Gets the current look at target of the camera.

Returns:
The current look at target of the camera, in world co-ordinates
virtual bool irr::scene::ICameraSceneNode::getTargetAndRotationBinding ( void  ) const [pure virtual]

Queries if the camera scene node's rotation and its target position are bound together.

See also:
bindTargetAndRotation()
virtual const core::vector3df& irr::scene::ICameraSceneNode::getUpVector ( ) const [pure virtual]

Gets the up vector of the camera.

Returns:
The up vector of the camera, in world space.
virtual const SViewFrustum* irr::scene::ICameraSceneNode::getViewFrustum ( ) const [pure virtual]

Get the view frustum.

Needed sometimes by bspTree or LOD render nodes.

Returns:
The current view frustum.
virtual const core::matrix4& irr::scene::ICameraSceneNode::getViewMatrix ( ) const [pure virtual]

Gets the current view matrix of the camera.

Returns:
The current view matrix of the camera.
virtual const core::matrix4& irr::scene::ICameraSceneNode::getViewMatrixAffector ( ) const [pure virtual]

Get the custom view matrix affector.

Returns:
The affector matrix.
virtual bool irr::scene::ICameraSceneNode::isInputReceiverEnabled ( ) const [pure virtual]

Checks if the input receiver of the camera is currently enabled.

virtual bool irr::scene::ICameraSceneNode::isOrthogonal ( ) const [inline, virtual]

Checks if a camera is orthogonal.

Definition at line 148 of file ICameraSceneNode.h.

References _IRR_IMPLEMENT_MANAGED_MARSHALLING_BUGFIX, and IsOrthogonal.

virtual bool irr::scene::ICameraSceneNode::OnEvent ( const SEvent event) [pure virtual]

It is possible to send mouse and key events to the camera.

Most cameras may ignore this input, but camera scene nodes which are created for example with ISceneManager::addCameraSceneNodeMaya or ISceneManager::addCameraSceneNodeFPS, may want to get this input for changing their position, look at target or whatever.

Implements irr::IEventReceiver.

virtual void irr::scene::ICameraSceneNode::serializeAttributes ( io::IAttributes out,
io::SAttributeReadWriteOptions options = 0 
) const [inline, virtual]

Writes attributes of the camera node.

Reimplemented from irr::scene::ISceneNode.

Definition at line 170 of file ICameraSceneNode.h.

References irr::io::IAttributes::addBool(), and IsOrthogonal.

virtual void irr::scene::ICameraSceneNode::setAspectRatio ( f32  aspect) [pure virtual]

Sets the aspect ratio (default: 4.0f / 3.0f)

Parameters:
aspect,:New aspect ratio.
virtual void irr::scene::ICameraSceneNode::setFarValue ( f32  zf) [pure virtual]

Sets the value of the far clipping plane (default: 2000.0f)

Parameters:
zf,:New z far value.
virtual void irr::scene::ICameraSceneNode::setFOV ( f32  fovy) [pure virtual]

Sets the field of view (Default: PI / 2.5f)

Parameters:
fovy,:New field of view in radians.
virtual void irr::scene::ICameraSceneNode::setInputReceiverEnabled ( bool  enabled) [pure virtual]

Disables or enables the camera to get key or mouse inputs.

If this is set to true, the camera will respond to key inputs otherwise not.

virtual void irr::scene::ICameraSceneNode::setNearValue ( f32  zn) [pure virtual]

Sets the value of the near clipping plane. (default: 1.0f)

Parameters:
zn,:New z near value.
virtual void irr::scene::ICameraSceneNode::setProjectionMatrix ( const core::matrix4 projection,
bool  isOrthogonal = false 
) [pure virtual]

Sets the projection matrix of the camera.

The core::matrix4 class has some methods to build a projection matrix. e.g: core::matrix4::buildProjectionMatrixPerspectiveFovLH. Note that the matrix will only stay as set by this method until one of the following Methods are called: setNearValue, setFarValue, setAspectRatio, setFOV.

Parameters:
projectionThe new projection matrix of the camera.
isOrthogonalSet this to true if the matrix is an orthogonal one (e.g. from matrix4::buildProjectionMatrixOrtho).
virtual void irr::scene::ICameraSceneNode::setRotation ( const core::vector3df rotation) [pure virtual]

Sets the rotation of the node.

This only modifies the relative rotation of the node. If the camera's target and rotation are bound (

See also:
bindTargetAndRotation() ) then calling this will also change the camera's target to match the rotation.
Parameters:
rotationNew rotation of the node in degrees.

Reimplemented from irr::scene::ISceneNode.

virtual void irr::scene::ICameraSceneNode::setTarget ( const core::vector3df pos) [pure virtual]

Sets the look at target of the camera.

If the camera's target and rotation are bound (

See also:
bindTargetAndRotation() ) then calling this will also change the camera's scene node rotation to match the target.
Parameters:
posLook at target of the camera, in world co-ordinates.
virtual void irr::scene::ICameraSceneNode::setUpVector ( const core::vector3df pos) [pure virtual]

Sets the up vector of the camera.

Parameters:
pos,:New upvector of the camera.
virtual void irr::scene::ICameraSceneNode::setViewMatrixAffector ( const core::matrix4 affector) [pure virtual]

Sets a custom view matrix affector.

The matrix passed here, will be multiplied with the view matrix when it gets updated. This allows for custom camera setups like, for example, a reflection camera.

Parameters:
affectorThe affector matrix.

Member Data Documentation


The documentation for this class was generated from the following file:

The Irrlicht Engine
The Irrlicht Engine Documentation © 2003-2010 by Nikolaus Gebhardt. Generated on Fri May 25 2012 04:23:37 by Doxygen (1.7.6.1)