CMS 3D CMS Logo

IgSoPlaneManip.h

Go to the documentation of this file.
00001 #ifndef IG_OPEN_INVENTOR_IG_SO_PLANE_MANIP_H
00002 # define IG_OPEN_INVENTOR_IG_SO_PLANE_MANIP_H
00003 
00004 //<<<<<< INCLUDES                                                       >>>>>>
00005 
00006 # include "Iguana/Inventor/interface/config.h"
00007 # include <Inventor/fields/SoSFPlane.h>
00008 # include <Inventor/fields/SoSFBool.h>
00009 # include <Inventor/nodes/SoGroup.h>
00010 
00011 //<<<<<< PUBLIC DEFINES                                                 >>>>>>
00012 //<<<<<< PUBLIC CONSTANTS                                               >>>>>>
00013 //<<<<<< PUBLIC TYPES                                                   >>>>>>
00014 
00015 class SoJackDragger;
00016 class SoDragger;
00017 class SoSensor;
00018 class SoFieldSensor;
00019 
00020 //<<<<<< PUBLIC VARIABLES                                               >>>>>>
00021 //<<<<<< PUBLIC FUNCTIONS                                               >>>>>>
00022 //<<<<<< CLASS DECLARATIONS                                             >>>>>>
00023 
00024 # ifdef WIN32
00025 #  include <SoWinLeaveScope.h>
00026 # endif
00027 
00028 class IG_OPEN_INVENTOR_API IgSoPlaneManip : public SoGroup
00029 {
00030     SO_NODE_HEADER (IgSoPlaneManip);
00031 
00032 public:
00033     SoSFPlane plane;
00034     SoSFBool  manip;
00035 
00036     IgSoPlaneManip (void);
00037 
00038     static void         initClass (void);
00039     virtual void        write (SoWriteAction *action);
00040 
00041     SoDragger *         getDragger(void);
00042     void                getMotionMatrix (SbMatrix &matrix, 
00043                                          bool scaling =true);
00044     
00045 protected:
00046     ~IgSoPlaneManip (void);
00047 
00048 private:
00049     bool                hasDragger      (void);
00050     static void         jackChanged     (void *me, SoDragger *dragger);
00051     static void         manipChanged    (void *me, SoSensor  *sensor);
00052     static void         planeChanged    (void *me, SoSensor  *sensor);
00053     
00054     SoJackDragger       *m_manip;
00055     SoFieldSensor       *m_manipSensor;
00056     SoFieldSensor       *m_planeSensor;
00057 };
00058 #ifdef WIN32
00059 #include <SoWinEnterScope.h>
00060 #endif // WIN32
00061 
00062 //<<<<<< INLINE PUBLIC FUNCTIONS                                        >>>>>>
00063 //<<<<<< INLINE MEMBER FUNCTIONS                                        >>>>>>
00064 
00065 #endif // IG_OPEN_INVENTOR_IG_SO_PLANE_MANIP_H

Generated on Tue Jun 9 17:38:43 2009 for CMSSW by  doxygen 1.5.4