Scene Node which is a (controlable) camera. More...
#include <ICameraSceneNode.h>
Inheritance diagram for irr::scene::ICameraSceneNode: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.
| 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.
| 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.
| bound | True to bind the camera's scene node rotation and targetting, false to unbind them. |
| 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.
| virtual f32 irr::scene::ICameraSceneNode::getFarValue | ( | ) | const [pure virtual] |
Gets 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.
| virtual f32 irr::scene::ICameraSceneNode::getNearValue | ( | ) | const [pure virtual] |
Gets 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.
| virtual const core::vector3df& irr::scene::ICameraSceneNode::getTarget | ( | ) | const [pure virtual] |
Gets the current look at target of the camera.
| 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.
| virtual const core::vector3df& irr::scene::ICameraSceneNode::getUpVector | ( | ) | const [pure virtual] |
Gets the up vector of the camera.
| virtual const SViewFrustum* irr::scene::ICameraSceneNode::getViewFrustum | ( | ) | const [pure virtual] |
Get the view frustum.
Needed sometimes by bspTree or LOD render nodes.
| virtual const core::matrix4& irr::scene::ICameraSceneNode::getViewMatrix | ( | ) | const [pure virtual] |
Gets the current view matrix of the camera.
| virtual const core::matrix4& irr::scene::ICameraSceneNode::getViewMatrixAffector | ( | ) | const [pure virtual] |
Get the custom view matrix affector.
| 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)
| 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)
| zf,: | New z far value. |
| virtual void irr::scene::ICameraSceneNode::setFOV | ( | f32 | fovy | ) | [pure virtual] |
Sets the field of view (Default: PI / 2.5f)
| 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)
| 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.
| 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 (
| 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 (
| 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.
| 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.
| affector | The affector matrix. |
bool irr::scene::ICameraSceneNode::IsOrthogonal [protected] |
Definition at line 200 of file ICameraSceneNode.h.
Referenced by cloneMembers(), deserializeAttributes(), isOrthogonal(), and serializeAttributes().