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_VEC2I32_
00025 #define _SO_MF_VEC2I32_
00026
00027 #include <Inventor/fields/SoSubField.h>
00028 #include <Inventor/SbLinear.h>
00029
00031
00032
00033
00035
00065 class SoMFVec2i32 : public SoMField {
00066
00067
00068 SO_MFIELD_HEADER(SoMFVec2i32, SbVec2i32, const SbVec2i32 &);
00069 SO_MFIELD_SETVALUESPOINTER_HEADER(int32_t);
00070 SO_MFIELD_SETVALUESPOINTER_HEADER(SbVec2i32);
00071 SO_FIELD_SUPPORT_MEMOBJ();
00072
00073 public:
00074
00075
00076
00077
00078
00091 void setValues(int start, int num, const int32_t xy[][2]);
00092
00099 void set1Value(int index, int32_t x, int32_t y);
00100
00107 void set1Value(int index, const int32_t xy[2]);
00108
00114 void setValue(int32_t x, int32_t y);
00115
00121 void setValue(const int32_t xy[2]);
00122
00129 void set1Value(int index, const SbVec2f &vec2f);
00130
00137 void set1Value(int index, const SbVec2d &vec2d);
00138
00144 void setValue(const SbVec2f &vec2f);
00145
00151 void setValue(const SbVec2d &vec2d);
00152
00160 void setValues(int start, int num, const SbVec2f *vec2f);
00161
00169 void setValues(int start, int num, const SbVec2d *vec2d);
00170
00171 private:
00172
00173 static void initClass();
00174 static void exitClass();
00175 virtual void writeBinaryValues(SoOutput*, int , int ) const;
00176 virtual SbBool readBinaryValues( SoInput*, int, int );
00177
00178 private:
00179 virtual void writeBinaryValues(SoOutput *out) const;
00180 virtual SbBool readBinaryValues(SoInput *in, int numToRead);
00181 };
00182
00183 #endif
00184
00185