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_VEC3S_
00025 #define _SO_MF_VEC3S_
00026
00027 #include <Inventor/fields/SoSubField.h>
00028 #include <Inventor/SbLinear.h>
00029
00031
00032
00033
00035
00066 class SoMFVec3s : public SoMField {
00067
00068 SO_MFIELD_HEADER(SoMFVec3s, SbVec3s, const SbVec3s &);
00069
00070 SO_MFIELD_SETVALUESPOINTER_HEADER(short);
00071 SO_MFIELD_SETVALUESPOINTER_HEADER(SbVec3s);
00072 SO_FIELD_SUPPORT_MEMOBJ();
00073
00074 public:
00075
00076
00077
00078
00091 void setValues(int start, int num, const short xyz[][3]);
00092
00099 void set1Value(int index, short x, short y, short z);
00100
00107 void set1Value(int index, const short xyz[3]);
00108
00114 void setValue(short x, short y, short z);
00115
00121 void setValue(const short xyz[3]);
00122
00129 void set1Value(int index, const SbVec3f &vec3f);
00130
00136 void setValue(const SbVec3f &vec3f);
00137
00145 void setValues(int start, int num, const SbVec3f *vec3f);
00146
00147 private:
00148 static void initClass();
00149 static void exitClass();
00150 virtual void writeBinaryValues(SoOutput*, int , int ) const;
00151 virtual SbBool readBinaryValues( SoInput*, int, int );
00152
00153 private:
00154 virtual void writeBinaryValues(SoOutput *out) const;
00155 virtual SbBool readBinaryValues(SoInput *in, int numToRead);
00156
00157 };
00158
00159 #endif
00160
00161
00162