SYNOPSIS
#include <Inventor/VRMLnodes/SoVRMLTimeSensor.h>
Inherits SoNodeEngine.
Public Member Functions
virtual SoType getTypeId (void) const
virtual const SoEngineOutputData * getOutputData (void) const
SoVRMLTimeSensor (void)
virtual void notify (SoNotList *list)
virtual void handleEvent (SoHandleEventAction *action)
virtual void write (SoWriteAction *action)
Static Public Member Functions
static SoType getClassTypeId (void)
static void * createInstance (void)
static void initClass (void)
Public Attributes
SoSFTime cycleInterval
SoSFBool enabled
SoSFBool loop
SoSFTime startTime
SoSFTime stopTime
SoEngineOutput cycleTime
SoEngineOutput fraction_changed
SoEngineOutput isActive
SoEngineOutput time
Protected Member Functions
virtual const SoFieldData * getFieldData (void) const
virtual ~SoVRMLTimeSensor ()
virtual void inputChanged (SoField *whichInput)
Static Protected Member Functions
static const SoFieldData ** getFieldDataPtr (void)
static const SoEngineOutputData ** getOutputDataPtr (void)
Detailed Description
The SoVRMLTimeSensor class is a multi-purpose time event generator.
The detailed class documentation is taken verbatim from the VRML97 standard (ISO/IEC 14772-1:1997). It is copyright The Web3D Consortium, and is used by permission of the Consortium:
TimeSensor { exposedField SFTime cycleInterval 1 # (0,inf) exposedField SFBool enabled TRUE exposedField SFBool loop FALSE exposedField SFTime startTime 0 # (-inf,inf) exposedField SFTime stopTime 0 # (-inf,inf) eventOut SFTime cycleTime eventOut SFFloat fraction_changed # [0, 1] eventOut SFBool isActive eventOut SFTime time }.fi TimeSensor nodes generate events as time passes. TimeSensor nodes can be used for many purposes including:
- driving continuous simulations and animations;
- controlling periodic activities (e.g., one per minute);
- initiating single occurrence events such as an alarm clock.
- evaluates and sends all relevant outputs;
- sends a FALSE value for isActive;
- disables itself.
Constructor & Destructor Documentation
SoVRMLTimeSensor::SoVRMLTimeSensor (void)
Constructor.SoVRMLTimeSensor::~SoVRMLTimeSensor () [protected], [virtual]
Destructor.Member Function Documentation
SoType SoVRMLTimeSensor::getClassTypeId (void) [static]
This static method returns the SoType object associated with objects of this class.Reimplemented from SoNodeEngine.
SoType SoVRMLTimeSensor::getTypeId (void) const [virtual]
Returns the type identification of an object derived from a class inheriting SoBase. This is used for run-time type checking and 'downward' casting.Usage example:
void foo(SoNode * node) { if (node->getTypeId() == SoFile::getClassTypeId()) { SoFile * filenode = (SoFile *)node; // safe downward cast, knows the type } }
For application programmers wanting to extend the library with new nodes, engines, nodekits, draggers or others: this method needs to be overridden in all subclasses. This is typically done as part of setting up the full type system for extension classes, which is usually accomplished by using the pre-defined macros available through for instance Inventor/nodes/SoSubNode.h (SO_NODE_INIT_CLASS and SO_NODE_CONSTRUCTOR for node classes), Inventor/engines/SoSubEngine.h (for engine classes) and so on.
For more information on writing Coin extensions, see the class documentation of the toplevel superclasses for the various class groups.
Implements SoBase.
const SoFieldData ** SoVRMLTimeSensor::getFieldDataPtr (void) [static], [protected]
Returns the SoFieldData class which holds information about inputs in this engine.Reimplemented from SoNodeEngine.
const SoFieldData * SoVRMLTimeSensor::getFieldData (void) const [protected], [virtual]
Returns a pointer to the class-wide field data storage object for this instance. If no fields are present, returns NULL.Reimplemented from SoFieldContainer.
const SoEngineOutputData ** SoVRMLTimeSensor::getOutputDataPtr (void) [static], [protected]
Returns the SoEngineOutputData class which holds information about the outputs in this engine.Reimplemented from SoNodeEngine.
const SoEngineOutputData * SoVRMLTimeSensor::getOutputData (void) const [virtual]
This API member is considered internal to the library, as it is not likely to be of interest to the application programmer.Implements SoNodeEngine.
void SoVRMLTimeSensor::initClass (void) [static]
Sets up initialization for data common to all instances of this class, like submitting necessary information to the Coin type system.Reimplemented from SoNodeEngine.
void SoVRMLTimeSensor::notify (SoNotList *l) [virtual]
Notifies all auditors for this instance when changes are made.Reimplemented from SoNodeEngine.
void SoVRMLTimeSensor::handleEvent (SoHandleEventAction *action) [virtual]
Action method for SoHandleEventAction.Inspects the event data from action, and processes it if it is something which this node should react to.
Nodes influencing relevant state variables for how event handling is done also overrides this method.
Reimplemented from SoNode.
void SoVRMLTimeSensor::write (SoWriteAction *action) [virtual]
Action method for SoWriteAction.Writes out a node object, and any connected nodes, engines etc, if necessary.
Reimplemented from SoNode.
void SoVRMLTimeSensor::inputChanged (SoField *which) [protected], [virtual]
Called when an input is changed. The default method does nothing, but subclasses may override this method to do the The Right Thing when a specific field is changed.Reimplemented from SoNodeEngine.
Member Data Documentation
SoSFTime SoVRMLTimeSensor::cycleInterval
The cycle interval. Default value is 1. Must be > 0.SoSFBool SoVRMLTimeSensor::enabled
Used to enable/disable timer. Default value is TRUE.SoSFBool SoVRMLTimeSensor::loop
TRUE if timer should loop. Default value is FALSE.SoSFTime SoVRMLTimeSensor::startTime
The timer start time. Default value is 0.0.SoSFTime SoVRMLTimeSensor::stopTime
The timer stop time. Default value is 0.0.SoEngineOutput SoVRMLTimeSensor::cycleTime
An eventOut that is sent when a new cycle is started.SoEngineOutput SoVRMLTimeSensor::fraction_changed
An eventOut that is sent for each tick, containing a number between 0 and 1.SoEngineOutput SoVRMLTimeSensor::isActive
An eventOut that is sent when the timer is enabled/disabled.SoEngineOutput SoVRMLTimeSensor::time
An eventOut that is sent for each tick, containing the current time.
Author
Generated automatically by Doxygen for Coin from the source code.