## Public API Reference

- Main Page
- Modules
- Namespaces
- Classes
- Files
- Related Pages

- Alphabetical List
- Class List
- Class Hierarchy
- Class Members

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

[legend]
List of all members.

## Public Member Functions

virtual const csRefArray< iSceneNode > & | GetChildren () const =0
| The children of this scene node.
virtual iMovable * | GetMovable () const =0
| Get the movable for this scene node.
virtual iSceneNode * | GetParent () const =0
| Get the parent scene node.
virtual iCamera * | QueryCamera ()=0
| Get the corresponding camera.
virtual iLight * | QueryLight ()=0
| Get the corresponding light.
virtual iMeshWrapper * | QueryMesh ()=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.

Main ways to get pointers to this interface:

- iMeshWrapper::QuerySceneNode()
- iLight::QuerySceneNode()
- iCamera::QuerySceneNode()
- iMovable::GetSceneNode()

Main users of this interface:

- iEngine

Definition at line 51 of file scenenode.h.

## Member Function Documentation

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

| The children of this scene node.

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

| Get the movable for this scene 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:

- iengine/scenenode.h