CrystalSpace

Public API Reference

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

iObjectWatcher Struct Reference
[Crystal Space 3D Engine]

This is a generic object watcher. More...

#include <objwatch.h>

Inheritance diagram for iObjectWatcher:

iBase List of all members.

Public Methods

virtual void WatchLight (iLight *light)=0
 Add a light to watch.

virtual void RemoveLight (iLight *light)=0
 Remove a light to watch.

virtual int GetWatchedLightCount () const=0
 Get the number of watched lights.

virtual iLightGetLight (int idx)=0
 Get the specified watched light.

virtual void WatchMovable (iMovable *movable)=0
 Add a movable to watch.

virtual void RemoveMovable (iMovable *movable)=0
 Remove a movable to watch.

virtual int GetWatchedMovableCount () const=0
 Get the number of watched movables.

virtual iMovableGetMovable (int idx)=0
 Get the specified watched movable.

virtual void Reset ()=0
 Reset. Remove all watched objects from this watcher.

virtual uint32 GetWatchNumber () const=0
 Get the current number for his watcher.

virtual int GetLastOperation () const=0
 Get the last operation that occured.

virtual iLightGetLastLight () const=0
 Get the last light.

virtual iMovableGetLastMovable () const=0
 Get the last movable.

virtual void AddListener (iObjectWatcherListener *cb)=0
 Add a listener to this object watcher.

virtual void RemoveListener (iObjectWatcherListener *cb)=0
 Remove a listener.


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.

Definition at line 83 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   [pure virtual]
 

Get the last light.

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

virtual iMovable* iObjectWatcher::GetLastMovable   [pure virtual]
 

Get the last movable.

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

virtual int iObjectWatcher::GetLastOperation   [pure virtual]
 

Get the last operation that occured.

This will be one of:

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 int iObjectWatcher::GetWatchedLightCount   [pure virtual]
 

Get the number of watched lights.

virtual int iObjectWatcher::GetWatchedMovableCount   [pure virtual]
 

Get the number of watched movables.

virtual uint32 iObjectWatcher::GetWatchNumber   [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::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.


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