CrystalSpace

Public API Reference

iObjectWatcher Struct Reference
[Crystal Space 3D Engine]

This is a generic object watcher. More...

#include <iengine/objwatch.h>

Inheritance diagram for iObjectWatcher:

Inheritance graph
[legend]
List of all members.

Public Member Functions

virtual void AddListener (iObjectWatcherListener *cb)=0
 Add a listener to this object watcher.
virtual iLightGetLastLight () const =0
 Get the last light.
virtual iMeshWrapperGetLastMeshWrapper () const =0
 Get the last mesh.
virtual iMovableGetLastMovable () const =0
 Get the last movable.
virtual int GetLastOperation () const =0
 Get the last operation that occured.
virtual iSectorGetLastSector () const =0
 Get the last sector.
virtual iLightGetLight (int idx)=0
 Get the specified watched light.
virtual iMovableGetMovable (int idx)=0
 Get the specified watched movable.
virtual iSectorGetSector (int idx)=0
 Get the specified watched sector.
virtual int GetWatchedLightCount () const =0
 Get the number of watched lights.
virtual int GetWatchedMovableCount () const =0
 Get the number of watched movables.
virtual int GetWatchedSectorCount () const =0
 Get the number of watched sectors.
virtual uint32 GetWatchNumber () const =0
 Get the current number for his watcher.
virtual void RemoveLight (iLight *light)=0
 Remove a light to watch.
virtual void RemoveListener (iObjectWatcherListener *cb)=0
 Remove a listener.
virtual void RemoveMovable (iMovable *movable)=0
 Remove a movable to watch.
virtual void RemoveSector (iSector *sector)=0
 Remove a sector to watch.
virtual void Reset ()=0
 Reset. Remove all watched objects from this watcher.
virtual void WatchLight (iLight *light)=0
 Add a light to watch.
virtual void WatchMovable (iMovable *movable)=0
 Add a movable to watch.
virtual void WatchSector (iSector *sector)=0
 Add a sector to watch for meshes.

Detailed Description

This is a generic object watcher.

Currently it can watch on light and movable changes. You can query if something has changed by examining the 'number' or else you can register a listener and get notified when one of the objects changes. This object will not keep real references to the objects it is watching but it will clean up the watcher for some object if that object is removed.

Main creators of instances implementing this interface:

Main users of this interface:

Definition at line 110 of file objwatch.h.


Member Function Documentation

virtual void iObjectWatcher::AddListener ( iObjectWatcherListener cb  )  [pure virtual]

Add a listener to this object watcher.

This will call IncRef() on the listener So make sure you call DecRef() to release your own reference.

virtual iLight* iObjectWatcher::GetLastLight (  )  const [pure virtual]

Get the last light.

Only valid if the last operation (GetLastOperation()) is one of CS_WATCH_LIGHT_....

virtual iMeshWrapper* iObjectWatcher::GetLastMeshWrapper (  )  const [pure virtual]

Get the last mesh.

Only valid if the last operation (GetLastOperation()) is one of CS_WATCH_SECTOR_....

virtual iMovable* iObjectWatcher::GetLastMovable (  )  const [pure virtual]

Get the last movable.

Only valid if the last operation (GetLastOperation()) is one of CS_WATCH_MOVABLE_....

virtual int iObjectWatcher::GetLastOperation (  )  const [pure virtual]

Get the last operation that occured.

This will be one of:

virtual iSector* iObjectWatcher::GetLastSector (  )  const [pure virtual]

Get the last sector.

Only valid if the last operation (GetLastOperation()) is one of CS_WATCH_SECTOR_....

virtual iLight* iObjectWatcher::GetLight ( int  idx  )  [pure virtual]

Get the specified watched light.

virtual iMovable* iObjectWatcher::GetMovable ( int  idx  )  [pure virtual]

Get the specified watched movable.

virtual iSector* iObjectWatcher::GetSector ( int  idx  )  [pure virtual]

Get the specified watched sector.

virtual int iObjectWatcher::GetWatchedLightCount (  )  const [pure virtual]

Get the number of watched lights.

virtual int iObjectWatcher::GetWatchedMovableCount (  )  const [pure virtual]

Get the number of watched movables.

virtual int iObjectWatcher::GetWatchedSectorCount (  )  const [pure virtual]

Get the number of watched sectors.

virtual uint32 iObjectWatcher::GetWatchNumber (  )  const [pure virtual]

Get the current number for his watcher.

This number will increase as soon as some of the watched objects change. When this happens you can query the last change (only the last change!) by calling GetLastOperation() and/or GetLastLight() or GetLastMovable(). Note that if the operation indicates that something is destroyed then you should no longer use the pointer returned by GetLastLight() or GetLastMovable() as the object will already be gone by then. You can only use the returned pointer to clean up from internal data structures.

virtual void iObjectWatcher::RemoveLight ( iLight light  )  [pure virtual]

Remove a light to watch.

virtual void iObjectWatcher::RemoveListener ( iObjectWatcherListener cb  )  [pure virtual]

Remove a listener.

virtual void iObjectWatcher::RemoveMovable ( iMovable movable  )  [pure virtual]

Remove a movable to watch.

virtual void iObjectWatcher::RemoveSector ( iSector sector  )  [pure virtual]

Remove a sector to watch.

virtual void iObjectWatcher::Reset (  )  [pure virtual]

Reset. Remove all watched objects from this watcher.

virtual void iObjectWatcher::WatchLight ( iLight light  )  [pure virtual]

Add a light to watch.

virtual void iObjectWatcher::WatchMovable ( iMovable movable  )  [pure virtual]

Add a movable to watch.

virtual void iObjectWatcher::WatchSector ( iSector sector  )  [pure virtual]

Add a sector to watch for meshes.


The documentation for this struct was generated from the following file:
Generated for Crystal Space by doxygen 1.4.7