SceneTracker

Engine/source/scene/sceneTracker.h

A SceneTracker tracks SceneObjects.

More...

Public Types

Parent 

Public Friends

Protected Attributes

bool

If true, only client SceneObjects will be tracked; otherwise it's only server SceneObjects.

Type mask that SceneObjects must match in order to be allowed to register.

Protected Functions

bool

Return true if the given object qualifies for being managed by this SceneTracker.

Protected Static Functions

Callback used for the initial scan of objects in init().

Public Functions

SceneTracker(bool isClientTracker, U32 typeMask)
init()

Initialize the tracker from the current scene.

Register a SceneObject for being tracked by this tracker.

Set the type mask that objects must match in order to be allowed to register.

Unregister the given object from the tracker.

Notify the tracker that the transform state of the given scene object has changed.

Detailed Description

A SceneTracker tracks SceneObjects.

This is an abstract base class.

Public Types

typedef void Parent 

Public Friends

Protected Attributes

bool mIsClientTracker 

If true, only client SceneObjects will be tracked; otherwise it's only server SceneObjects.

U32 mObjectTypeMask 

Type mask that SceneObjects must match in order to be allowed to register.

Protected Functions

_isTrackableObject(SceneObject * object)

Return true if the given object qualifies for being managed by this SceneTracker.

Reimplemented by: SFX3DWorld

Protected Static Functions

_containerFindCallback(SceneObject * object, SceneTracker * tracker)

Callback used for the initial scan of objects in init().

Public Functions

SceneTracker(bool isClientTracker, U32 typeMask)

~SceneTracker()

getObjectTypeMask()

return:

The type mask that must be matched by objects in order to be allowed to register.

init()

Initialize the tracker from the current scene.

isClientTracker()

return:

True if this tracker only deals with client objects; false if only server objects.

registerObject(SceneObject * object)

Register a SceneObject for being tracked by this tracker.

Only objects that fit the tracker's client/server state and object type mask will actually get registered. For other objects, this is a NOP.

Parameters:

object

Scene object.

Reimplemented by: SFX3DWorld

setObjectTypeMask(U32 typeMask)

Set the type mask that objects must match in order to be allowed to register.

unregisterObject(SceneObject * object)

Unregister the given object from the tracker.

Parameters:

object

Scene object.

Reimplemented by: SFX3DWorld

updateObject(SceneObjectLink * object)

Notify the tracker that the transform state of the given scene object has changed.

Parameters:

object

Scene object.

Reimplemented by: SFX3DWorld