|  | 
|  | ICameraSceneNode (ISceneNode *parent, ISceneManager *mgr, dcpp::int32_kt id, const dcpp::nub::vector3df &position=dcpp::nub::vector3df(0, 0, 0), const dcpp::nub::vector3df &rotation=dcpp::nub::vector3df(0, 0, 0), const dcpp::nub::vector3df &scale=dcpp::nub::vector3df(1.0f, 1.0f, 1.0f)) | 
|  | Constructor. 
 | 
|  | 
| virtual void | setProjectionMatrix (const dcpp::nub::matrix4 &projection, bool isOrthogonal=false)=0 | 
|  | Sets the projection matrix of the camera. 
 | 
|  | 
| virtual const dcpp::nub::matrix4 & | getProjectionMatrix () const =0 | 
|  | Gets the current projection matrix of the camera. 
 | 
|  | 
| virtual const dcpp::nub::matrix4 & | getViewMatrix () const =0 | 
|  | Gets the current view matrix of the camera. 
 | 
|  | 
| virtual void | setViewMatrixAffector (const dcpp::nub::matrix4 &affector)=0 | 
|  | Sets a custom view matrix affector. 
 | 
|  | 
| virtual const dcpp::nub::matrix4 & | getViewMatrixAffector () const =0 | 
|  | Get the custom view matrix affector. 
 | 
|  | 
| virtual bool | OnEvent (const SEvent &event) override=0 | 
|  | It is possible to send mouse and key events to the camera. 
 | 
|  | 
| virtual void | setTarget (const dcpp::nub::vector3df &pos)=0 | 
|  | Sets the look at target of the camera. 
 | 
|  | 
| virtual void | setRotation (const dcpp::nub::vector3df &rotation) override=0 | 
|  | Sets the rotation of the node. 
 | 
|  | 
| virtual const dcpp::nub::vector3df & | getTarget () const =0 | 
|  | Gets the current look at target of the camera. 
 | 
|  | 
| virtual void | setUpVector (const dcpp::nub::vector3df &pos)=0 | 
|  | Sets the up vector of the camera. 
 | 
|  | 
| virtual const dcpp::nub::vector3df & | getUpVector () const =0 | 
|  | Gets the up vector of the camera. 
 | 
|  | 
| virtual dcpp::float32_kt | getNearValue () const =0 | 
|  | Gets the value of the near plane of the camera. 
 | 
|  | 
| virtual dcpp::float32_kt | getFarValue () const =0 | 
|  | Gets the value of the far plane of the camera. 
 | 
|  | 
| virtual dcpp::float32_kt | getAspectRatio () const =0 | 
|  | Gets the aspect ratio of the camera. 
 | 
|  | 
| virtual dcpp::float32_kt | getFOV () const =0 | 
|  | Gets the field of view of the camera. 
 | 
|  | 
| virtual void | setNearValue (dcpp::float32_kt zn)=0 | 
|  | Sets the value of the near clipping plane. (default: 1.0f) 
 | 
|  | 
| virtual void | setFarValue (dcpp::float32_kt zf)=0 | 
|  | Sets the value of the far clipping plane (default: 2000.0f) 
 | 
|  | 
| virtual void | setAspectRatio (dcpp::float32_kt aspect)=0 | 
|  | Sets the aspect ratio (default: 4.0f / 3.0f) 
 | 
|  | 
| virtual void | setFOV (dcpp::float32_kt fovy)=0 | 
|  | Sets the field of view (Default: PI / 2.5f) 
 | 
|  | 
| virtual const SViewFrustum * | getViewFrustum () const =0 | 
|  | Get the view frustum. 
 | 
|  | 
| virtual void | setInputReceiverEnabled (bool enabled)=0 | 
|  | Disables or enables the camera to get key or mouse inputs. 
 | 
|  | 
| 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 void | bindTargetAndRotation (bool bound)=0 | 
|  | Binds the camera scene node's rotation to its target position and vice versa, or unbinds them. 
 | 
|  | 
| virtual void | updateMatrices ()=0 | 
|  | Updates the view matrix and frustum without uploading the matrix to the driver. 
 | 
|  | 
| virtual bool | getTargetAndRotationBinding (void) const =0 | 
|  | Queries if the camera scene node's rotation and its target position are bound together. 
 | 
|  | 
| virtual void | serializeAttributes (dcpp::io::IAttributes *out, dcpp::io::SAttributeReadWriteOptions *options=0) const override | 
|  | Writes attributes of the camera node. 
 | 
|  | 
| virtual void | deserializeAttributes (dcpp::io::IAttributes *in, dcpp::io::SAttributeReadWriteOptions *options=0) override | 
|  | Reads attributes of the camera node. 
 | 
|  | 
|  | ISceneNode (ISceneNode *parent, ISceneManager *mgr, dcpp::int32_kt id=-1, const dcpp::nub::vector3df &position=dcpp::nub::vector3df(0, 0, 0), const dcpp::nub::vector3df &rotation=dcpp::nub::vector3df(0, 0, 0), const dcpp::nub::vector3df &scale=dcpp::nub::vector3df(1.0f, 1.0f, 1.0f)) | 
|  | Constructor. 
 | 
|  | 
| virtual | ~ISceneNode () | 
|  | Destructor. 
 | 
|  | 
| virtual void | OnRegisterSceneNode () | 
|  | This method is called just before the rendering process of the whole scene. 
 | 
|  | 
| virtual void | OnAnimate (dcpp::uint32_kt timeMs) | 
|  | OnAnimate() is called just before rendering the whole scene. 
 | 
|  | 
| virtual void | render ()=0 | 
|  | Renders the node. 
 | 
|  | 
| virtual const dcpp::char_kt * | getName () const | 
|  | Returns the name of the node. 
 | 
|  | 
| virtual void | setName (const dcpp::char_kt *name) | 
|  | Sets the name of the node. 
 | 
|  | 
| virtual void | setName (const dcpp::nub::string &name) | 
|  | Sets the name of the node. 
 | 
|  | 
| virtual const dcpp::nub::aabbox3df & | getBoundingBox () const =0 | 
|  | Get the axis aligned, not transformed bounding box of this node. 
 | 
|  | 
| virtual const dcpp::nub::aabbox3df | getTransformedBoundingBox () const | 
|  | Get the axis aligned, transformed and animated absolute bounding box of this node. 
 | 
|  | 
| virtual void | getTransformedBoundingBoxEdges (dcpp::nub::array< dcpp::nub::vector3df > &edges) const | 
|  | 
| virtual const dcpp::nub::matrix4 & | getAbsoluteTransformation () const | 
|  | Get the absolute transformation of the node. Is recalculated every OnAnimate()-call. 
 | 
|  | 
| virtual dcpp::nub::matrix4 | getRelativeTransformation () const | 
|  | Returns the relative transformation of the scene node. 
 | 
|  | 
| virtual bool | isVisible () const | 
|  | Returns whether the node should be visible (if all of its parents are visible). 
 | 
|  | 
| virtual bool | isTrulyVisible () const | 
|  | Check whether the node is truly visible, taking into accounts its parents' visibility. 
 | 
|  | 
| virtual void | setVisible (bool isVisible) | 
|  | Sets if the node should be visible or not. 
 | 
|  | 
| virtual dcpp::int32_kt | getID () const | 
|  | Get the id of the scene node. 
 | 
|  | 
| virtual void | setID (dcpp::int32_kt id) | 
|  | Sets the id of the scene node. 
 | 
|  | 
| virtual void | addChild (ISceneNode *child) | 
|  | Adds a child to this scene node. 
 | 
|  | 
| virtual bool | removeChild (ISceneNode *child) | 
|  | Removes a child from this scene node. 
 | 
|  | 
| virtual void | removeAll () | 
|  | Removes all children of this scene node. 
 | 
|  | 
| virtual void | remove () | 
|  | Removes this scene node from the scene. 
 | 
|  | 
| virtual void | addAnimator (ISceneNodeAnimator *animator) | 
|  | Adds an animator which should animate this node. 
 | 
|  | 
| const dcpp::nub::list< ISceneNodeAnimator * > & | getAnimators () const | 
|  | Get a list of all scene node animators. 
 | 
|  | 
| virtual void | removeAnimator (ISceneNodeAnimator *animator) | 
|  | Removes an animator from this scene node. 
 | 
|  | 
| virtual void | removeAnimators () | 
|  | Removes all animators from this scene node. 
 | 
|  | 
| virtual dcpp::video::SMaterial & | getMaterial (dcpp::uint32_kt num) | 
|  | Returns the material based on the zero based index i. 
 | 
|  | 
| virtual dcpp::uint32_kt | getMaterialCount () const | 
|  | Get amount of materials used by this scene node. 
 | 
|  | 
| void | setMaterialFlag (dcpp::video::E_MATERIAL_FLAG flag, bool newvalue) | 
|  | Sets all material flags at once to a new value. 
 | 
|  | 
| void | setMaterialTexture (dcpp::uint32_kt textureLayer, dcpp::video::ITexture *texture) | 
|  | Sets the texture of the specified layer in all materials of this scene node to the new texture. 
 | 
|  | 
| void | setMaterialType (dcpp::video::E_MATERIAL_TYPE newType) | 
|  | Sets the material type of all materials in this scene node to a new material type. 
 | 
|  | 
| virtual const dcpp::nub::vector3df & | getScale () const | 
|  | Gets the scale of the scene node relative to its parent. 
 | 
|  | 
| virtual void | setScale (const dcpp::nub::vector3df &scale) | 
|  | Sets the relative scale of the scene node. 
 | 
|  | 
| virtual const dcpp::nub::vector3df & | getRotation () const | 
|  | Gets the rotation of the node relative to its parent. 
 | 
|  | 
| virtual const dcpp::nub::vector3df & | getPosition () const | 
|  | Gets the position of the node relative to its parent. 
 | 
|  | 
| virtual void | setPosition (const dcpp::nub::vector3df &newpos) | 
|  | Sets the position of the node relative to its parent. 
 | 
|  | 
| virtual dcpp::nub::vector3df | getAbsolutePosition () const | 
|  | Gets the absolute position of the node in world coordinates. 
 | 
|  | 
| void | setAutomaticCulling (dcpp::uint32_kt state) | 
|  | Set a culling style or disable culling completely. 
 | 
|  | 
| dcpp::uint32_kt | getAutomaticCulling () const | 
|  | Gets the automatic culling state. 
 | 
|  | 
| void | setUpdateAbsolutePosBehavior (ESCENE_NODE_UPDATE_ABS behavior) | 
|  | Set how updateAbsolutePosition calculates the absolute transformation matrix. 
 | 
|  | 
| ESCENE_NODE_UPDATE_ABS | getUpdateAbsolutePosBehavior () const | 
|  | Get how updateAbsolutePosition calculates the absolute transformation matrix. 
 | 
|  | 
| virtual void | setDebugDataVisible (dcpp::uint32_kt state) | 
|  | Sets if debug data like bounding boxes should be drawn. 
 | 
|  | 
| dcpp::uint32_kt | isDebugDataVisible () const | 
|  | Returns if debug data like bounding boxes are drawn. 
 | 
|  | 
| void | setIsDebugObject (bool debugObject) | 
|  | Sets if this scene node is a debug object. 
 | 
|  | 
| bool | isDebugObject () const | 
|  | Returns if this scene node is a debug object. 
 | 
|  | 
| const dcpp::nub::list< ISceneNode * > & | getChildren () const | 
|  | Returns a const reference to the list of all children. 
 | 
|  | 
| virtual void | setParent (ISceneNode *newParent) | 
|  | Changes the parent of the scene node. 
 | 
|  | 
| virtual ITriangleSelector * | getTriangleSelector () const | 
|  | Returns the triangle selector attached to this scene node. 
 | 
|  | 
| virtual void | setTriangleSelector (ITriangleSelector *selector) | 
|  | Sets the triangle selector of the scene node. 
 | 
|  | 
| virtual void | updateAbsolutePosition () | 
|  | Updates the absolute tranformation or position based on the relative and the parents transformation. 
 | 
|  | 
| dcpp::scene::ISceneNode * | getParent () const | 
|  | Returns the parent of this scene node. 
 | 
|  | 
| virtual ESCENE_NODE_TYPE | getType () const | 
|  | Returns type of the scene node. 
 | 
|  | 
| virtual ISceneNode * | clone (ISceneNode *newParent=0, ISceneManager *newManager=0) | 
|  | Creates a clone of this scene node and its children. 
 | 
|  | 
| virtual ISceneManager * | getSceneManager (void) const | 
|  | Retrieve the scene manager for this node. 
 | 
|  | 
|  | IReferenceCounted () | 
|  | Constructor. 
 | 
|  | 
| virtual | ~IReferenceCounted () | 
|  | Destructor. 
 | 
|  | 
| void | grab () const | 
|  | Grabs the object. Increments the reference counter by one. 
 | 
|  | 
| bool | drop () const | 
|  | Drops the object. Decrements the reference counter by one. 
 | 
|  | 
| dcpp::int32_kt | getReferenceCount () const | 
|  | Get the reference count. 
 | 
|  | 
| const dcpp::char_kt * | getDebugName () const | 
|  | Returns the debug name of the object. 
 | 
|  | 
| virtual | ~IEventReceiver () | 
|  | Destructor. 
 | 
|  | 
Scene Node which is a (controllable) camera. 
The whole scene will be rendered from the cameras point of view. Because the ICameraSceneNode is a SceneNode, it can be attached to any other scene node, and will follow its parents movement, rotation and so on.