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_VEC4B_
00025 #define _SO_MF_VEC4B_
00026
00027 #include <Inventor/fields/SoSubField.h>
00028 #include <Inventor/SbLinear.h>
00029
00031
00032
00033
00035
00063 class SoMFVec4b : public SoMField {
00064
00065 SO_MFIELD_HEADER(SoMFVec4b, SbVec4b, const SbVec4b &);
00066
00067 SO_MFIELD_SETVALUESPOINTER_HEADER(char);
00068 SO_MFIELD_SETVALUESPOINTER_HEADER(SbVec4b);
00069 SO_FIELD_SUPPORT_MEMOBJ();
00070
00071 public:
00072
00073
00074
00075
00088 void setValues(int start, int num, const char xyzw[][4]);
00089
00096 void set1Value(int index, char x, char y, char z, char w);
00097
00104 void set1Value(int index, const char xyzw[4]);
00105
00111 void setValue(char x, char y, char z, char w);
00112
00118 void setValue(const char xyzw[4]);
00119
00126 void set1Value(int index, const SbVec4f &vec4f);
00127
00133 void setValue(const SbVec4f &vec4f);
00134
00142 void setValues(int start, int num, const SbVec4f *vec4f);
00143
00144 private:
00145 static void initClass();
00146 static void exitClass();
00147 virtual void writeBinaryValues(SoOutput*, int , int ) const;
00148 virtual SbBool readBinaryValues( SoInput*, int, int );
00149
00150 private:
00151 virtual void writeBinaryValues(SoOutput *out) const;
00152 virtual SbBool readBinaryValues(SoInput *in, int numToRead);
00153
00154 };
00155
00156 #endif
00157
00158
00159