Irrlicht 3D Engine
irr::scene::ICameraSceneNode Class Reference

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

#include <ICameraSceneNode.h>

+ Inheritance diagram for irr::scene::ICameraSceneNode:

List of all members.

Public Member Functions

Protected Member Functions

Protected Attributes


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 195 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 183 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 151 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 173 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. Note that setTarget uses the current absolute position internally, so if you changed setPosition since last rendering you must call updateAbsolutePosition before using this function.
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: