Main Page Modules Namespace List Class Hierarchy Alphabetical List Compound List File List Namespace Members Compound Members File Members Related Pages

# IdeSceneGraph Class Reference

`#include <deScene.hpp>`

Inheritance diagram for IdeSceneGraph:

[legend]
List of all members.

## Public Types
enum | deCullModes { deCullFrustum = (0x0001), deCullDetail = (0x0002), deCullOccludeSphere = (0x0004), deCullOccludeConvHull = (0x0008), deCullOccludeRaster = (0x0010), deCullFarPlaneOptimize = (0x0020), deCull_Max, deCull_32bit = (0x7fffffff) }
| different methods of culling that can be done in the scenegraph traversal More...
enum | deDebugFlags { deDrawAABB = (0x0001), deDrawOBB = (0x0002), deDrawSphere = (0x0004), deDrawSpatialPartition = (0x0008), deDebugFlag_Max, deDebugFlag_32bit = (0x7fffffff) }
| debug flags for helping examine things More...
enum | deContents { deContentsNone = (0x00000000), deContentsClear = (0x00000001), deContentsOpaque = (0x00000002), deContentsSolid = (0x00000004), deContentsUser10 = (0x00100000), deContentsUser09 = (0x00200000), deContentsUser08 = (0x00400000), deContentsUser07 = (0x00800000), deContentsUser06 = (0x01000000), deContentsUser05 = (0x02000000), deContentsUser04 = (0x04000000), deContentsUser03 = (0x08000000), deContentsUser02 = (0x10000000), deContentsUser01 = (0x20000000), deContents_Max, deContents_32bit = (0x7fffffff) }
| possible contents More...
## Public Member Functions
virtual long | Traverse (deSceneTraversal *Params)=0
virtual deBoolean | SetCullFlags (long CullFlags)=0
| specify a set of cull flags. Use bitwise OR to combine elements of deCullModes
virtual long | GetCullFlags ()=0
| retrieve the current cull flags set
virtual deBoolean | SetDebugFlags (long DebugFlags)=0
| specify a set of debug flags. Use bitwise OR to combine elements of deDebugFlags
virtual long | GetDebugFlags ()=0
| retrieve the current debug flags set
virtual IdeSceneRoom * | FindRoomWithID (deWorldID WorldID, deObjectID ObjectID)=0
virtual deBoolean | AddRoom (IdeSceneRoom *Room)=0
| Add an IdeSceneRoom object to the scenegraph.
virtual deBoolean | RemoveRoom (IdeSceneRoom *Room)=0
| Remove an IdeSceneRoom object from the scenegraph.
virtual deBoolean | AddSceneObject (IdeSceneObject *Object)=0
virtual void | RemoveSceneObject (IdeSceneObject *Object)=0
virtual void | RepositionSceneObject (IdeSceneObject *Object)=0
virtual deBoolean | PortalOccluded (IdePortal *portal)=0
virtual DWORD | TestIntersection (const deVec3d &Position, const deVec3d *Mins, const deVec3d *Maxs)=0
virtual deBoolean | TestCollision (const IdeCollision::deCollideParams &Params, IdeCollision *Collision)=0
| test whether a collision occurs when using given Params
virtual void | ObjectExtents (IdeBoundingVolume *volume, IdeCollision *Results)=0
| considers only the objects intersected at the start point
virtual long | LightExtents (const deVec3d &pos, const deAABB &bbox, IdeSceneLight **outBuffer, long bufferSize)=0
## Protected Member Functions
virtual | ~IdeSceneGraph ()

## Detailed Description

The interface class for storing and querying a 3D scene. Related functions: IdeSceneGraph_GetSceneGraphPtr.

## Member Enumeration Documentation

enum IdeSceneGraph::deContents

  | possible contents Enumeration values:
  deContentsNone | nothing here (note: you can't do a bitwise-AND and get 1 with this)
  deContentsClear | see-through
  deContentsOpaque | not see-through
  deContentsSolid | impassable
  deContentsUser10 |
  deContentsUser09 |
  deContentsUser08 |
  deContentsUser07 |
  deContentsUser06 |
  deContentsUser05 |
  deContentsUser04 |
  deContentsUser03 |
  deContentsUser02 |
  deContentsUser01 |
  deContents_Max |
  deContents_32bit |

enum IdeSceneGraph::deCullModes

  | different methods of culling that can be done in the scenegraph traversal Enumeration values:
  deCullFrustum | cull using a view frustum
  deCullDetail | cull using screen-contribution metric
  deCullOccludeSphere | cull using sphere occlusion
  deCullOccludeConvHull | cull using convex hull occlusion (not implemented)
  deCullOccludeRaster | cull using image-space occlusion (not implemented)
  deCullFarPlaneOptimize | not culling technically, but it can improve visual quality
  deCull_Max |
  deCull_32bit |

enum IdeSceneGraph::deDebugFlags

  | debug flags for helping examine things Enumeration values:
  deDrawAABB | render AABB's for objects (in blue)
  deDrawOBB | render OBB's for objects (in red)
  deDrawSphere | render bounding spheres for objects
  deDrawSpatialPartition | render the scenegraph octree
  deDebugFlag_Max |
  deDebugFlag_32bit |

## Constructor & Destructor Documentation

virtual IdeSceneGraph::~IdeSceneGraph | ( |  | ) | `[inline, protected, virtual]`

## Member Function Documentation

virtual deBoolean IdeSceneGraph::AddRoom | ( | IdeSceneRoom * | Room | ) | `[pure virtual]`

| Add an IdeSceneRoom object to the scenegraph. Implemented in deSceneGraph.

virtual deBoolean IdeSceneGraph::AddSceneObject | ( | IdeSceneObject * | Object | ) | `[pure virtual]`

| Implemented in deSceneGraph.

virtual IdeSceneRoom* IdeSceneGraph::FindRoomWithID | ( | deWorldID | WorldID,
|  | deObjectID | ObjectID
| ) | `[pure virtual]`

| Implemented in deSceneGraph.

virtual long IdeSceneGraph::GetCullFlags | ( |  | ) | `[pure virtual]`

| retrieve the current cull flags set Implemented in deSceneGraph.

virtual long IdeSceneGraph::GetDebugFlags | ( |  | ) | `[pure virtual]`

| retrieve the current debug flags set Implemented in deSceneGraph.

virtual long IdeSceneGraph::LightExtents | ( | const deVec3d & | pos,
|  | const deAABB & | bbox,
|  | IdeSceneLight ** | outBuffer,
|  | long | bufferSize
| ) | `[pure virtual]`

| Implemented in deSceneGraph.

virtual void IdeSceneGraph::ObjectExtents | ( | IdeBoundingVolume * | volume,
|  | IdeCollision * | Results
| ) | `[pure virtual]`

| considers only the objects intersected at the start point Implemented in deSceneGraph.

virtual deBoolean IdeSceneGraph::PortalOccluded | ( | IdePortal * | portal | ) | `[pure virtual]`

| Implemented in deSceneGraph.

virtual deBoolean IdeSceneGraph::RemoveRoom | ( | IdeSceneRoom * | Room | ) | `[pure virtual]`

| Remove an IdeSceneRoom object from the scenegraph. Implemented in deSceneGraph.

virtual void IdeSceneGraph::RemoveSceneObject | ( | IdeSceneObject * | Object | ) | `[pure virtual]`

| Implemented in deSceneGraph.

virtual void IdeSceneGraph::RepositionSceneObject | ( | IdeSceneObject * | Object | ) | `[pure virtual]`

| Implemented in deSceneGraph.

virtual deBoolean IdeSceneGraph::SetCullFlags | ( | long | CullFlags | ) | `[pure virtual]`

| specify a set of cull flags. Use bitwise OR to combine elements of deCullModes Implemented in deSceneGraph.

virtual deBoolean IdeSceneGraph::SetDebugFlags | ( | long | DebugFlags | ) | `[pure virtual]`

| specify a set of debug flags. Use bitwise OR to combine elements of deDebugFlags Implemented in deSceneGraph.

virtual deBoolean IdeSceneGraph::TestCollision | ( | const IdeCollision::deCollideParams & | Params,
|  | IdeCollision * | Collision
| ) | `[pure virtual]`

| test whether a collision occurs when using given Params Implemented in deSceneGraph.

virtual DWORD IdeSceneGraph::TestIntersection | ( | const deVec3d & | Position,
|  | const deVec3d * | Mins,
|  | const deVec3d * | Maxs
| ) | `[pure virtual]`

| Implemented in deSceneGraph.

virtual long IdeSceneGraph::Traverse | ( | deSceneTraversal * | Params | ) | `[pure virtual]`

| Implemented in deSceneGraph.

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

- deScene.hpp