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
00026 #ifndef _SO_VOLUME_DATA_ELEMENT_
00027 #define _SO_VOLUME_DATA_ELEMENT_
00028
00029 #include <LDM/elements/SoDataSetElement.h>
00030 #include <VolumeViz/nodes/SoVolumeData.h>
00031
00032
00033 class SoVolumeDataElement : public SoDataSetElement {
00034
00035 public:
00036 static void set(SoState* state, SoNode *node, SoVolumeData *volumeDataNode)
00037 {
00038 SoDataSetElement::set(state, node, (SoDataSet*)volumeDataNode);
00039 }
00040
00041 static void set(SoState *state, SoNode *node,
00042 SoVolumeData *volumeDataNode, const SbMatrix &matrix )
00043 {
00044 SoDataSetElement::set(state, node, (SoDataSet*)volumeDataNode, matrix);
00045 }
00046
00047 static void get(SoState* state, std::vector<SoVolumeData*>& s)
00048 {
00049 std::vector<SoDataSet*> temp;
00050 SoDataSetElement::get(state, temp);
00051 for(unsigned int i = 0 ; i < temp.size() ; i++ ){
00052 s.push_back((SoVolumeData*)temp[i]);
00053 }
00054 }
00055
00056
00057 static void get(SoState* state, SoVolumeData*& vd)
00058 {
00059 std::pair<SoVolumeData*, int> p = SoDataSetElement::getLastOfType<SoVolumeData>(state, true);
00060 vd = p.first;
00061 }
00062
00063 static const SbMatrix &get(SoState *state, SoVolumeData*& v, SbBool &isIdent )
00064 {
00065 return SoDataSetElement::get(state, (SoDataSet*&)v, isIdent);
00066 }
00067 };
00068
00069 #endif // _SO_VOLUME_DATA_ELEMENT_
00070
00071
00072