00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #ifndef _SO_VOLUME_GROUP_ELEMENT_
00025 #define _SO_VOLUME_GROUP_ELEMENT_
00026
00027 #include <Inventor/elements/SoReplacedElement.h>
00028 #include <Inventor/SbVec.h>
00029
00030 class SoVolumeGroup;
00031 class SoGLObjectCache;
00032
00033 class SoVolumeGroupElement : public SoReplacedElement {
00034 SO_ELEMENT_HEADER( SoVolumeGroupElement );
00035
00036 public:
00037
00038
00039 static void set(SoState* state, SoNode *node, SoVolumeGroup *volumeGroupNode);
00040 static void get(SoState* state, SoVolumeGroup *&volumeGroupNode);
00041
00042
00043 static void getDefault(SoVolumeGroup *&VolumeGroupNode);
00044
00045 private:
00046
00048 virtual void init(SoState* state);
00049
00050 private:
00051
00052 static void initClass();
00053 static void exitClass();
00054
00055 static void setNumberOfVolume(SoState* state, SoNode *node, int numberOfVolume);
00056
00057 static int getNumberOfVolume(SoState* state);
00058
00059
00060 static void setDisplayLists(SoState* state, SoNode *node, SoGLObjectCache* startDL, SoGLObjectCache* endDL);
00061
00062 static void getDisplayLists(SoState* state, SoGLObjectCache*& startDL, SoGLObjectCache*& endDL );
00063
00064 private:
00065 virtual void setElt( SoVolumeGroup *VolumeGroupNode );
00066
00067 virtual ~SoVolumeGroupElement();
00068
00069 private:
00070 SoVolumeGroup *m_volumeGroupNode;
00071 int m_numberOfVolume;
00072 SoGLObjectCache* m_startDL;
00073 SoGLObjectCache* m_endDL;
00074 };
00075
00076 #endif // _SO_VOLUME_GROUP_ELEMENT_
00077
00078
00079