00001 #ifndef IG_OPEN_INVENTOR_IG_SO_SHAPE_KIT_H
00002 # define IG_OPEN_INVENTOR_IG_SO_SHAPE_KIT_H
00003
00004
00005
00006 # include "Iguana/Inventor/interface/config.h"
00007 # include <Inventor/nodekits/SoBaseKit.h>
00008 # ifdef WIN32
00009 # include <SoWinLeaveScope.h>
00010 # endif
00011
00012
00013
00014
00015
00016 class SoSensor;
00017 class SoNodeSensor;
00018 class SoAction;
00019
00020
00021
00022
00023
00024 class IG_OPEN_INVENTOR_API IgSoShapeKit : public SoBaseKit
00025 {
00026 SO_KIT_HEADER (IgSoShapeKit);
00027 SO_KIT_CATALOG_ENTRY_HEADER (separator);
00028
00029 public:
00030 IgSoShapeKit (void);
00031 static void initClass (void);
00032
00033 protected:
00034 virtual ~IgSoShapeKit (void);
00035
00036 virtual void setDefaultOnNonWritingFields (void);
00037 virtual SbBool setUpConnections (SbBool onoff, SbBool doitalways = false);
00038 virtual void enableSensor (void);
00039 virtual void disableSensor (void);
00040 virtual void refresh (void);
00041
00042
00043
00044 virtual void preAction (void);
00045 virtual void doAction (SoAction *action);
00046 virtual void callback (SoCallbackAction *action);
00047 virtual void GLRender (SoGLRenderAction *action);
00048 virtual void getBoundingBox (SoGetBoundingBoxAction *action);
00049 virtual void getMatrix (SoGetMatrixAction *action);
00050 virtual void handleEvent (SoHandleEventAction *action);
00051 virtual void rayPick (SoRayPickAction *action);
00052 virtual void pick (SoPickAction *action);
00053 virtual void search (SoSearchAction *action);
00054 virtual void write (SoWriteAction *action);
00055 virtual void getPrimitiveCount (SoGetPrimitiveCountAction *action);
00056 virtual SbBool readInstance (SoInput *in, unsigned short flags);
00057
00058 private:
00059 static void selfMonitorCB (void *data, SoSensor *sensor);
00060 SoNodeSensor *m_sensor;
00061 };
00062
00063
00064
00065
00066 # ifdef WIN32
00067 # include <SoWinEnterScope.h>
00068 # endif
00069 #endif // IG_OPEN_INVENTOR_IG_SO_SHAPE_KIT_H