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_MF_VEC3I32_
00025 #define _SO_MF_VEC3I32_
00026
00027 #include <Inventor/fields/SoSubField.h>
00028 #include <Inventor/SbLinear.h>
00029
00062 class SoMFVec3i32 : public SoMField {
00063
00064 SO_MFIELD_HEADER(SoMFVec3i32, SbVec3i32, const SbVec3i32 &);
00065
00066 SO_MFIELD_SETVALUESPOINTER_HEADER(int32_t);
00067 SO_MFIELD_SETVALUESPOINTER_HEADER(SbVec3i32);
00068 SO_FIELD_SUPPORT_MEMOBJ();
00069
00070 public:
00071
00072
00073
00074
00087 void setValues(int start, int num, const int32_t xyz[][3]);
00088 #ifdef _WIN32
00089
00093 void setValues(int start, int num, int32_t xyz[][3]);
00094 #endif
00095
00102 void set1Value(int index, int32_t x, int32_t y, int32_t z);
00103
00110 void set1Value(int index, const int32_t xyz[3]);
00111
00117 void setValue(int32_t x, int32_t y, int32_t z);
00118
00124 void setValue(const int32_t xyz[3]);
00125
00132 void set1Value(int index, const SbVec3f &vec3f);
00133
00140 void set1Value(int index, const SbVec3d &vec3d);
00141
00147 void setValue(const SbVec3f &vec3f);
00148
00154 void setValue(const SbVec3d &vec3d);
00155
00163 void setValues(int start, int num, const SbVec3f *vec3f);
00164
00172 void setValues(int start, int num, const SbVec3d *vec3d);
00173
00174 private:
00175 static void initClass();
00176 static void exitClass();
00177 virtual void writeBinaryValues(SoOutput*, int , int ) const;
00178 virtual SbBool readBinaryValues( SoInput*, int, int );
00179
00180 private:
00181
00182 virtual void writeBinaryValues(SoOutput *out) const;
00183 virtual SbBool readBinaryValues(SoInput *in, int numToRead);
00184
00185 };
00186
00187 #endif
00188
00189
00190