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 __TIMETRIGGER_H__
00030 #define __TIMETRIGGER_H__
00031
00032 #include "X3DTriggerNode.h"
00033 #include "SFBool.h"
00034 #include "SFTime.h"
00035
00036 namespace H3D {
00037
00048
00049 class TimeTrigger : public X3DTriggerNode {
00050 public:
00051
00054 class SetTriggerTime: public AutoUpdate< TypedField < SFTime, SFBool > > {
00055 protected:
00056 virtual void update() {
00057 TimeStamp theTime;
00058 value = theTime;
00059 }
00060 };
00061
00062 friend class SetTriggerTime;
00063
00065 TimeTrigger( Inst< SFNode > _metadata = 0,
00066 Inst< SFBool > _set_boolean = 0,
00067 Inst< SetTriggerTime > _triggerTime = 0 );
00068
00075 auto_ptr< SFBool > set_boolean;
00076
00082 auto_ptr< SetTriggerTime > triggerTime;
00083
00085 static H3DNodeDatabase database;
00086 };
00087 }
00088
00089 #endif