CrystalSpace

Public API Reference

iSceneNode Struct Reference
[Crystal Space 3D Engine]

This interface represents a node in the scene graph. More...

#include <iengine/scenenode.h>

Inheritance diagram for iSceneNode:

List of all members.

Public Member Functions

virtual const csRefArray
< iSceneNode > & 
GetChildren () const =0
 The children of this scene node.
virtual csPtr< iSceneNodeArrayGetChildrenArray () const =0
 The children of this scene node.
virtual iMovableGetMovable () const =0
 Get the movable for this scene node.
virtual iSceneNodeGetParent () const =0
 Get the parent scene node.
virtual iCameraQueryCamera ()=0
 Get the corresponding camera.
virtual iLightQueryLight ()=0
 Get the corresponding light.
virtual iMeshWrapperQueryMesh ()=0
 Get the corresponding mesh.
virtual void SetParent (iSceneNode *parent)=0
 Set the parent scene node.

Detailed Description

This interface represents a node in the scene graph.

It basically represents an object, light, or camera. The scene graph is build out of scene nodes and movables.

When you attach a scene node to another, then the relative position of the two nodes will be kept constant. So, when you move a parent node then the position of the children will be updated automatically. If the parent node is added or removed from a sector then the children will be updated consequently too.

Once attached to a parent node, the transform of the iMovable of the node will be interpreted as the relative position bewteen the child and its parent.

Main ways to get pointers to this interface:

Main users of this interface:

Definition at line 73 of file scenenode.h.


Member Function Documentation

virtual const csRefArray<iSceneNode>& iSceneNode::GetChildren (  )  const [pure virtual]

The children of this scene node.

virtual csPtr<iSceneNodeArray> iSceneNode::GetChildrenArray (  )  const [pure virtual]

The children of this scene node.

virtual iMovable* iSceneNode::GetMovable (  )  const [pure virtual]

Get the movable for this scene node.

The transform of the movable is defined in world coordinates if this node has not parent. Otherwise, the transform is defined relative to the parent node.

virtual iSceneNode* iSceneNode::GetParent (  )  const [pure virtual]

Get the parent scene node.

virtual iCamera* iSceneNode::QueryCamera (  )  [pure virtual]

Get the corresponding camera.

Returns 0 if this is not a node for a camera.

virtual iLight* iSceneNode::QueryLight (  )  [pure virtual]

Get the corresponding light.

Returns 0 if this is not a node for a light.

virtual iMeshWrapper* iSceneNode::QueryMesh (  )  [pure virtual]

Get the corresponding mesh.

Returns 0 if this is not a node for a mesh.

virtual void iSceneNode::SetParent ( iSceneNode parent  )  [pure virtual]

Set the parent scene node.


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

Generated for Crystal Space 2.0 by doxygen 1.6.1