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_SF_ARRAY_3D_
00025 #define _SO_SF_ARRAY_3D_
00026
00027 #include <Inventor/fields/SoSubField.h>
00028 #include <Inventor/fields/SoSFImage.h>
00029 #include <Inventor/fields/SoSFArray.h>
00030
00031 class SoMemoryObject;
00032
00089 class SoSFArray3D : public SoSFArray
00090 {
00091 SO_SFIELD_REQUIRED_HEADER(SoSFArray3D);
00092 SO_SFIELD_CONSTRUCTOR_HEADER(SoSFArray3D);
00093
00094 public:
00095 using SoSFArray::getValue;
00096 using SoSFArray::startEditing;
00097 using SoSFArray::getSize;
00098
00103 void setValue(const SbVec3i32 &size, const SbDataType& dataType,
00104 unsigned int numSigBits, const void* data,
00105 CopyPolicy copy);
00106
00111 void setValue(const SbVec3i32 &size,
00112 unsigned int numSigBits, SoMemoryObject* memObj,
00113 CopyPolicy copy);
00114
00118 inline unsigned int getNumSigBits() const;
00119
00124 virtual int operator ==(const SoSFArray3D &f) const;
00125
00126 private:
00127 static void initClass();
00128 static void exitClass();
00129
00133 void setValue(const SbVec3i32 &size, const SbDataType& dataType, const void* data, CopyPolicy copy);
00134
00138 void setValue(const SbVec3i32 &size, SoMemoryObject* memObj, CopyPolicy copy);
00139
00140 private:
00141 using SoSFArray::setValue;
00142 using SoSFArray::operator==;
00143
00147 virtual SbBool readValue(SoInput *in);
00148
00152 virtual void writeValue(SoOutput *out) const ;
00153
00155 unsigned int m_numSigBits;
00156
00157 };
00158
00159
00160 unsigned int
00161 SoSFArray3D::getNumSigBits() const
00162 {
00163 return m_numSigBits;
00164 }
00165
00166 #endif
00167
00168
00169