Home | Namespaces | Hierarchy | Alphabetical List | Class list | Files | Namespace Members | Class members | File members | Tutorials

# 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

virtual void | bindTargetAndRotation (bool bound)=0
| Binds the camera scene node's rotation to its target position and vice vera, or unbinds them.
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::matrix4 & | getProjectionMatrix () const =0
| Gets the current projection matrix of the camera.
virtual const core::vector3df & | getTarget () 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::vector3df & | getUpVector () const =0
| Gets the up vector of the camera.
virtual const SViewFrustum * | getViewFrustum () const =0
| Get the view frustum.
virtual const core::matrix4 & | getViewMatrix () const =0
| Gets the current view matrix of the camera.
virtual const core::matrix4 & | getViewMatrixAffector () 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 | 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 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:

  | bound | True to bind the camera's scene node rotation and targetting, false to unbind them.

See also:
  getTargetAndRotationBinding()

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::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:

  | projection | The new projection matrix of the camera.
  | isOrthogonal | Set 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:

  | rotation | New 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:

  | pos | Look 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:

  | affector | The affector matrix.

## Member Data Documentation

bool irr::scene::ICameraSceneNode::IsOrthogonal `[protected]`

Definition at line 171 of file ICameraSceneNode.h.

Referenced by isOrthogonal().

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

- ICameraSceneNode.h

| The Irrlicht Engine Documentation © 2003-2010 by Nikolaus Gebhardt. Generated on Sun Feb 14 13:07:09 2010 by Doxygen (1.6.2)