00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #ifndef SO_UNIFORM_GRID_CLIPPING_ELEMENT
00026 #define SO_UNIFORM_GRID_CLIPPING_ELEMENT
00027
00028 #include <Inventor/SbPList.h>
00029 #include <Inventor/elements/SoAccumulatedElement.h>
00030 #include <Inventor/STL/vector>
00031
00032 #ifdef _WIN32
00033 #pragma warning( push )
00034 #pragma warning(disable:4251)
00035 #endif
00036
00037 class SoUniformGridClipping;
00038
00039 SoEXTENDER_Documented class SoUniformGridClippingElement : public SoAccumulatedElement {
00040 SO_ELEMENT_HEADER(SoUniformGridClippingElement) ;
00041
00042 public:
00043
00045 static void set(SoState *state, SoNode *node) ;
00046
00048 virtual void push(SoState *state) ;
00049
00051 virtual void pop(SoState *, const SoElement *prevTopElement) ;
00052
00057 static const std::vector<SoUniformGridClipping *> *get(SoState *state);
00058
00062 static void get(SoState *state, SoUniformGridClipping *&grid);
00063
00064 private:
00065
00067 virtual void commonInit();
00068
00070 virtual void init(SoState *state);
00071
00072 private:
00073
00074
00075 static void initClass() ;
00076 static void exitClass() ;
00077
00078 private:
00079
00080 virtual void setElt(SoNode *node) ;
00081
00082 virtual ~SoUniformGridClippingElement() ;
00083
00084 private:
00085 std::vector<SoUniformGridClipping *> m_grids;
00086 size_t m_startIndex;
00087 } ;
00088
00089
00090 #ifdef _WIN32
00091 #pragma warning( pop )
00092 #endif
00093
00094 #endif
00095
00096
00097