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
00090 class SoSFArray3D : public SoSFArray
00091 {
00092 SO_SFIELD_REQUIRED_HEADER(SoSFArray3D);
00093 SO_SFIELD_CONSTRUCTOR_HEADER(SoSFArray3D);
00094
00095 public:
00096 using SoSFArray::getValue;
00097 using SoSFArray::startEditing;
00098 using SoSFArray::getSize;
00099
00104 void setValue(const SbVec3i32 &size, const SbDataType& dataType,
00105 unsigned int numSigBits, const void* data,
00106 CopyPolicy copy);
00107
00112 void setValue(const SbVec3i32 &size,
00113 unsigned int numSigBits, SoMemoryObject* memObj,
00114 CopyPolicy copy);
00115
00119 inline unsigned int getNumSigBits() const;
00120
00125 virtual int operator ==(const SoSFArray3D &f) const;
00126
00127 private:
00128 static void initClass();
00129 static void exitClass();
00130
00134 void setValue(const SbVec3i32 &size, const SbDataType& dataType, const void* data, CopyPolicy copy);
00135
00139 void setValue(const SbVec3i32 &size, SoMemoryObject* memObj, CopyPolicy copy);
00140
00141 private:
00142 using SoSFArray::setValue;
00143 using SoSFArray::operator==;
00144
00148 virtual SbBool readValue(SoInput *in);
00149
00153 virtual void writeValue(SoOutput *out) const ;
00154
00156 unsigned int m_numSigBits;
00157
00158 };
00159
00160
00161 unsigned int
00162 SoSFArray3D::getNumSigBits() const
00163 {
00164 return m_numSigBits;
00165 }
00166
00167 #endif
00168
00169
00170