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

# deSceneGraph Class Reference

`#include <deScene_priv.hpp>`

Inheritance diagram for deSceneGraph:

[legend]
Collaboration diagram for deSceneGraph:

[legend]
List of all members.

## Public Member Functions
| deSceneGraph ()
| ~deSceneGraph ()
long | Traverse (deSceneTraversal *Params)
deBoolean | SetCullFlags (long CullFlags)
| specify a set of cull flags. Use bitwise OR to combine elements of deCullModes
long | GetCullFlags ()
| retrieve the current cull flags set
deBoolean | SetDebugFlags (long DebugFlags)
| specify a set of debug flags. Use bitwise OR to combine elements of deDebugFlags
long | GetDebugFlags ()
| retrieve the current debug flags set
IdeSceneRoom * | FindRoomWithID (deWorldID WorldID, deObjectID ObjectID)
deBoolean | AddRoom (IdeSceneRoom *Room)
| Add an IdeSceneRoom object to the scenegraph.
deBoolean | RemoveRoom (IdeSceneRoom *Room)
| Remove an IdeSceneRoom object from the scenegraph.
deBoolean | AddSceneObject (IdeSceneObject *Object)
void | RemoveSceneObject (IdeSceneObject *Object)
void | RepositionSceneObject (IdeSceneObject *Object)
void | AddObjectList (deTList< IdeSceneObject * > &list)
deBoolean | PointsOccluded (deVec3d points[], long num)
deBoolean | PortalOccluded (IdePortal *portal)
DWORD | TestIntersection (const deVec3d &Position, const deVec3d *Mins, const deVec3d *Maxs)
deBoolean | TestCollision (const IdeCollision::deCollideParams &Params, IdeCollision *Collision)
| test whether a collision occurs when using given Params
void | ObjectExtents (IdeBoundingVolume *volume, IdeCollision *Results)
| considers only the objects intersected at the start point
long | LightExtents (const deVec3d &pos, const deAABB &bbox, IdeSceneLight **outBuffer, long bufferSize)
## Private Member Functions
void | BuildSphereCullList (deTList< IdeSceneObject * > &list)
int | DetailCullObjects (deDouble MinPixels)
int | OcclusionSphereCullObjects ()
void | CleanUpSphereCullList ()
## Private Attributes
long | m_CurrentPassNum
long | m_CullFlags
long | m_DebugFlags
long | m_MinPixelCull
deTList< IdeSceneRoom * > | m_Rooms
deTList< IdeSceneObject * > | m_Objects
deObjectTree | m_ObjectTree
deObjectTree | m_LightTree
int | m_NumOccluders
cull_sphere_t * | m_SphereCullFront
cull_sphere_t * | m_SphereCullBack
IdeCamera * | m_CurrentCamera
deVec3d | m_CurrentCamFwd

## Constructor & Destructor Documentation

deSceneGraph::deSceneGraph | ( |  | ) |

deSceneGraph::~deSceneGraph | ( |  | ) |

## Member Function Documentation

void deSceneGraph::AddObjectList | ( | deTList< IdeSceneObject * > & | list | ) |

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

| Add an IdeSceneRoom object to the scenegraph. Implements IdeSceneGraph.

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

| Implements IdeSceneGraph.

void deSceneGraph::BuildSphereCullList | ( | deTList< IdeSceneObject * > & | list | ) | `[private]`

void deSceneGraph::CleanUpSphereCullList | ( |  | ) | `[private]`

int deSceneGraph::DetailCullObjects | ( | deDouble | MinPixels | ) | `[private]`

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

| Implements IdeSceneGraph.

long deSceneGraph::GetCullFlags | ( |  | ) | `[virtual]`

| retrieve the current cull flags set Implements IdeSceneGraph.

long deSceneGraph::GetDebugFlags | ( |  | ) | `[virtual]`

| retrieve the current debug flags set Implements IdeSceneGraph.

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

| Implements IdeSceneGraph.

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

| considers only the objects intersected at the start point Implements IdeSceneGraph.

int deSceneGraph::OcclusionSphereCullObjects | ( |  | ) | `[private]`

deBoolean deSceneGraph::PointsOccluded | ( | deVec3d | points[],
|  | long | num
| ) |

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

| Implements IdeSceneGraph.

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

| Remove an IdeSceneRoom object from the scenegraph. Implements IdeSceneGraph.

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

| Implements IdeSceneGraph.

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

| Implements IdeSceneGraph.

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

| specify a set of cull flags. Use bitwise OR to combine elements of deCullModes Implements IdeSceneGraph.

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

| specify a set of debug flags. Use bitwise OR to combine elements of deDebugFlags Implements IdeSceneGraph.

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

| test whether a collision occurs when using given Params Implements IdeSceneGraph.

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

| Implements IdeSceneGraph.

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

| Implements IdeSceneGraph.

## Member Data Documentation

long deSceneGraph::m_CullFlags`[private]`

IdeCamera* deSceneGraph::m_CurrentCamera`[private]`

deVec3d deSceneGraph::m_CurrentCamFwd`[private]`

long deSceneGraph::m_CurrentPassNum`[private]`

long deSceneGraph::m_DebugFlags`[private]`

deObjectTree deSceneGraph::m_LightTree`[private]`

long deSceneGraph::m_MinPixelCull`[private]`

int deSceneGraph::m_NumOccluders`[private]`

deTList<IdeSceneObject*> deSceneGraph::m_Objects`[private]`

deObjectTree deSceneGraph::m_ObjectTree`[private]`

deTList<IdeSceneRoom*> deSceneGraph::m_Rooms`[private]`

cull_sphere_t * deSceneGraph::m_SphereCullBack`[private]`

cull_sphere_t* deSceneGraph::m_SphereCullFront`[private]`

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

- deScene_priv.hpp
- deScene.cpp