00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00027
00029 #ifndef __TIMESENSOR_H__
00030 #define __TIMESENSOR_H__
00031
00032 #include "X3DTimeDependentNode.h"
00033 #include "SFFloat.h"
00034
00035 namespace H3D {
00036
00130 class H3DAPI_API TimeSensor : public X3DTimeDependentNode {
00131 public:
00132
00135 class H3DAPI_API TimeHandler: public X3DTimeDependentNode::TimeHandler {
00136 protected:
00139 virtual void update();
00141 virtual void activate( H3DTime time );
00143 H3DTime elapsed_cycle_time;
00144 };
00145
00148 typedef StartTime CycleInterval;
00149
00151 TimeSensor( Inst< SFNode > _metadata = 0,
00152 Inst< SFBool > _loop = 0,
00153 Inst< SFTime > _pauseTime = 0,
00154 Inst< SFTime > _resumeTime = 0,
00155 Inst< StartTime > _startTime = 0,
00156 Inst< StopTime > _stopTime = 0,
00157 Inst< SFTime > _elapsedTime = 0,
00158 Inst< SFBool > _isActive = 0,
00159 Inst< SFBool > _isPaused = 0,
00160 Inst< TimeHandler > _timeHandler = 0,
00161 Inst< CycleInterval > _cycleInterval = 0,
00162 Inst< SFTime > _cycleTime = 0,
00163 Inst< SFBool > _enabled = 0,
00164 Inst< SFFloat > _fraction_changed = 0,
00165 Inst< SFTime > _time = 0 );
00166
00171 auto_ptr< CycleInterval > cycleInterval;
00172
00177 auto_ptr< SFTime > cycleTime;
00178
00184 auto_ptr< SFBool > enabled;
00185
00190 auto_ptr< SFFloat > fraction_changed;
00191
00196 auto_ptr< SFTime > time;
00197
00199 static H3DNodeDatabase database;
00200 };
00201 }
00202
00203 #endif