00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00019 
00020 #ifndef COIN_SOBLINKER_H
00021 #define COIN_SOBLINKER_H
00022 
00023 #include <Inventor/nodes/SoSubNode.h>
00024 #include <Inventor/nodes/SoSwitch.h>
00025 #include <Inventor/fields/SoSFFloat.h>
00026 #include <Inventor/fields/SoSFBool.h>
00027 
00028 class SoSensor;
00029 class SoOneShotSensor;
00030 class SoTimeCounter;
00031 
00032 class COIN_DLL_API SoBlinker : public SoSwitch {
00033   typedef SoSwitch inherited;
00034 
00035   SO_NODE_HEADER(SoBlinker);
00036 
00037 public:
00038   static void initClass(void);
00039   SoBlinker(void);
00040 
00041   SoSFFloat speed;
00042   SoSFBool on;
00043 
00044   virtual void getBoundingBox(SoGetBoundingBoxAction * action);
00045   virtual void write(SoWriteAction * action);
00046 
00047 protected:
00048   virtual ~SoBlinker();
00049   virtual void notify(SoNotList * nl);
00050 
00051 private:
00052   virtual SoNode * copy(SbBool copyconnections = FALSE) const;
00053   void deconnectInternalEngine(void);
00054   void reconnectInternalEngine(void);
00055 
00056   SoTimeCounter * counter;
00057 };
00058 
00059 #endif // !COIN_SOBLINKER_H