SoTimerSensor(3) Coin SoTimerSensor(3)NAME
SoTimerSensor -
The SoTimerSensor class is a sensor which will trigger at given intervals.
Use sensors of this class when you want a job repeated at a certain interval, without explicitly needing to reschedule the sensor (i.e.
SoTimerSensor automatically re-schedules itself after it has been triggered).
SYNOPSIS
#include <Inventor/sensors/SoTimerSensor.h>
Inherits SoTimerQueueSensor.
Public Member Functions
SoTimerSensor (void)
SoTimerSensor (SoSensorCB *func, void *data)
virtual ~SoTimerSensor (void)
void setBaseTime (const SbTime &base)
const SbTime & getBaseTime (void) const
void setInterval (const SbTime &interval)
const SbTime & getInterval (void) const
virtual void schedule (void)
virtual void unschedule (void)
void reschedule (const SbTime &schedtime)
Additional Inherited Members
Detailed Description
The SoTimerSensor class is a sensor which will trigger at given intervals.
Use sensors of this class when you want a job repeated at a certain interval, without explicitly needing to reschedule the sensor (i.e.
SoTimerSensor automatically re-schedules itself after it has been triggered).
SoTimerSensor instances is commonly used to trigger animation updates at a constant framerate.
Constructor & Destructor Documentation
SoTimerSensor::SoTimerSensor (void)
Default constructor. Sets up an interval of 1/30th of a second.
SoTimerSensor::SoTimerSensor (SoSensorCB *func, void *data)
Constructor taking as parameters the sensor callback function and the userdata which will be passed the callback.
See also:
setFunction(), setData()
SoTimerSensor::~SoTimerSensor (void) [virtual]
Destructor.
Member Function Documentation
void SoTimerSensor::setBaseTime (const SbTime &baseref)
Set the base trigger time.
If you use this method, the trigger times will be on intervals from the given value.
Without an explicitly set base time, the next trigger invocation after a trigger has happened will be on the current time plus the interval
time. Note that this will of course cause the timer to drift.
See also:
getBaseTime()
const SbTime & SoTimerSensor::getBaseTime (void) const
Returns the base trigger time.
See also:
setBaseTime()
void SoTimerSensor::setInterval (const SbTime &intervalref)
Sets the time interval between each time the sensor triggers.
See also:
getInterval()
const SbTime & SoTimerSensor::getInterval (void) const
Returns the timer trigger interval.
See also:
setInterval()
void SoTimerSensor::schedule (void) [virtual]
Overrides the virtual schedule() method to be able to set up the base time, if this was not done by the user.
If no base time was set, base time will then equal the current time.
See also:
unschedule(), isScheduled()
Reimplemented from SoTimerQueueSensor.
void SoTimerSensor::unschedule (void) [virtual]
Overrides the virtual unschedule() method to handle unschedule() calls during triggering.
Reimplemented from SoTimerQueueSensor.
void SoTimerSensor::reschedule (const SbTime &schedtime)
Set new trigger time based on the given schedule time, and schedules the sensor for triggering.
Author
Generated automatically by Doxygen for Coin from the source code.
Version 3.1.3 Wed May 23 2012 SoTimerSensor(3)
Check Out this Related Man Page
SoDataSensor(3) Coin SoDataSensor(3)NAME
SoDataSensor -
The SoDataSensor class is the abstract base class for sensors monitoring changes in a scene graph.
If you need to know when a particular entity (as a field or a node) changes, subclasses of SoDataSensor can be used to monitor the entity
and notify you when it changes.
SYNOPSIS
#include <Inventor/sensors/SoDataSensor.h>
Inherits SoDelayQueueSensor.
Inherited by SoFieldSensor, SoNodeSensor, and SoPathSensor.
Public Member Functions
SoDataSensor (void)
SoDataSensor (SoSensorCB *func, void *data)
virtual ~SoDataSensor (void)
void setDeleteCallback (SoSensorCB *function, void *data=NULL)
SoNode * getTriggerNode (void) const
SoField * getTriggerField (void) const
SoPath * getTriggerPath (void) const
void setTriggerPathFlag (SbBool flag)
SbBool getTriggerPathFlag (void) const
virtual void trigger (void)
virtual void notify (SoNotList *l)
virtual void dyingReference (void)=0
Protected Member Functions
void invokeDeleteCallback (void)
Additional Inherited Members
Detailed Description
The SoDataSensor class is the abstract base class for sensors monitoring changes in a scene graph.
If you need to know when a particular entity (as a field or a node) changes, subclasses of SoDataSensor can be used to monitor the entity
and notify you when it changes.
Constructor & Destructor Documentation
SoDataSensor::SoDataSensor (void)
Default constructor.
SoDataSensor::SoDataSensor (SoSensorCB *func, void *data)
Constructor taking as parameters the sensor callback function and the userdata which will be passed the callback.
See also:
setFunction(), setData()
SoDataSensor::~SoDataSensor (void) [virtual]
Destructor.
Member Function Documentation
void SoDataSensor::setDeleteCallback (SoSensorCB *function, void *data = NULL)
If an object monitored by a data sensor is deleted, the given callback function will be called with the given userdata.
The sensor priority setting does not affect the delete callback. It will be called immediately, before the object is deleted.
SoNode * SoDataSensor::getTriggerNode (void) const
Returns a pointer to the node causing the sensor to trigger, or NULL if there was no such node.
NULL will also be returned for sensors which are not immediate sensors (i.e. with priority equal to 0), as the result could otherwise be
misleading (non-immediate sensors could have been scheduled and rescheduled multiple times, so there wouldn't be a single node responsible
for the sensor triggering).
The result is only valid within the scope of a trigger(), so if you need to use the pointer outside your sensor callback, you must store
it.
See also:
getTriggerField()
SoField * SoDataSensor::getTriggerField (void) const
Returns a pointer to the field causing the sensor to trigger, or NULL if the change didn't start at a field.
Only valid for immediate sensors (will return NULL otherwise), for the same reason as described for SoDataSensor::getTriggerNode().
The result is only valid within the scope of a trigger(), so if you need to use the pointer outside your sensor callback, you must store
it.
SoPath * SoDataSensor::getTriggerPath (void) const
Returns a pointer to the path from the node under the surveillance of this sensor (either directly or indirectly through a field watch)
down to the node which caused the sensor to be triggered.
Will only work for immediate mode sensors, for the same reason explained under getTriggerNode().
The resulting path is only valid within the scope of trigger(), so if you need to use the path outside your sensor callback, you must store
the pointer and call SoPath::ref() to avoid its destruction at the end of SoDataSensor::trigger().
void SoDataSensor::setTriggerPathFlag (SbBoolflag)
This flag indicates whether or not the path should be queried whenever a node triggers the data sensor.
This flag is provided because finding a node path through a scene graph is an expensive operation.
See also:
getTriggerPathFlag(), getTriggerPath()
SbBool SoDataSensor::getTriggerPathFlag (void) const
Returns whether or not any node induced trigger operations will make the sensor find the path of the node which caused it.
See also:
setTriggerPathFlag(), getTriggerPath()
void SoDataSensor::trigger (void) [virtual]
Trigger the sensor's callback function.
Reimplemented from SoDelayQueueSensor.
Reimplemented in SoFieldSensor.
void SoDataSensor::notify (SoNotList *l) [virtual]
Called from entity we are monitoring when it changes.
If this is an immediate sensor, the field and node (if any) causing the change will be stored and can be fetched by getTriggerField() and
getTriggerNode(). If the triggerpath flag has been set, the path down to the node is also found and stored for later retrieval by
getTriggerPath().
See also:
setTriggerPathFlag()
Reimplemented in SoPathSensor.
void SoDataSensor::dyingReference (void) [pure virtual]
This method is called when the entity we are connected to is about to be deleted.
void SoDataSensor::invokeDeleteCallback (void) [protected]
Runs the callback set in setDeleteCallback().
Called from subclasses when the entity we're monitoring is about to be deleted.
Author
Generated automatically by Doxygen for Coin from the source code.
Version 3.1.3 Wed May 23 2012 SoDataSensor(3)