00001 #ifndef IG_OPEN_INVENTOR_IG_SO_GRID_PLANE_MAP_H
00002 # define IG_OPEN_INVENTOR_IG_SO_GRID_PLANE_MAP_H
00003
00004
00005
00006 # include "Iguana/Inventor/interface/config.h"
00007 # include "Iguana/Inventor/interface/IgSoGridPlane.h"
00008 # include <Inventor/nodes/SoShape.h>
00009 # include <Inventor/fields/SoSFBool.h>
00010 # include <Inventor/fields/SoSFPlane.h>
00011 # include <Inventor/fields/SoSFUInt32.h>
00012 # include <Inventor/fields/SoSFFloat.h>
00013 # include <Inventor/fields/SoSFColor.h>
00014 # include <Inventor/SbLinear.h>
00015
00016
00017
00018
00019 class IgSoGridPlane;
00020
00021
00022
00023
00024
00026 class IG_OPEN_INVENTOR_API IgSoGridPlaneMap : public SoShape
00027 {
00028 SO_NODE_HEADER (IgSoGridPlaneMap);
00029 public:
00030 SoSFBool on;
00031 SoSFPlane plane;
00032 SoSFFloat xOrigin;
00033 SoSFFloat zOrigin;
00034 SoSFFloat xLen;
00035 SoSFFloat zLen;
00036 SoSFFloat spacing;
00037 SoSFColor color;
00038 SbVec3f labelSpot[3];
00039 SoSFBool refreshScale;
00040
00041 IgSoGridPlaneMap (void);
00042
00043
00044
00045 static void initClass (void);
00046 void setCaller (IgSoGridPlane* caller);
00047
00048 protected:
00049 virtual ~IgSoGridPlaneMap (void);
00050
00051 virtual void computeBBox (SoAction *, SbBox3f &box, SbVec3f ¢er);
00052 virtual void GLRender (SoGLRenderAction *renderAction);
00053 virtual void generatePrimitives (SoAction *action);
00054
00055 private:
00056 SbVec3f m_curCorner[3];
00057 IgSoGridPlane* m_gridPlane;
00058 };
00059
00060
00061
00062
00063 #endif // IG_OPEN_INVENTOR_IG_SO_GRID_PLANE_MAP_H