SceneTracker
Engine/source/scene/sceneTracker.h
A SceneTracker tracks SceneObjects.
Public Types
Parent
Public Friends
class
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
_isTrackableObject(SceneObject * object)
Return true if the given object qualifies for being managed by this SceneTracker.
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)
bool
registerObject(SceneObject * object)
Register a SceneObject for being tracked by this tracker.
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.
updateObject(SceneObjectLink * object)
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()
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()
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