Open Inventor Release 2024.2.0
 
Loading...
Searching...
No Matches
SoMFColor.h
1/*=======================================================================
2 * Copyright 1991-1996, Silicon Graphics, Inc.
3 * ALL RIGHTS RESERVED
4 *
5 * UNPUBLISHED -- Rights reserved under the copyright laws of the United
6 * States. Use of a copyright notice is precautionary only and does not
7 * imply publication or disclosure.
8 *
9 * U.S. GOVERNMENT RESTRICTED RIGHTS LEGEND:
10 * Use, duplication or disclosure by the Government is subject to restrictions
11 * as set forth in FAR 52.227.19(c)(2) or subparagraph (c)(1)(ii) of the Rights
12 * in Technical Data and Computer Software clause at DFARS 252.227-7013 and/or
13 * in similar or successor clauses in the FAR, or the DOD or NASA FAR
14 * Supplement. Contractor/manufacturer is Silicon Graphics, Inc.,
15 * 2011 N. Shoreline Blvd. Mountain View, CA 94039-7311.
16 *
17 * THE CONTENT OF THIS WORK CONTAINS CONFIDENTIAL AND PROPRIETARY
18 * INFORMATION OF SILICON GRAPHICS, INC. ANY DUPLICATION, MODIFICATION,
19 * DISTRIBUTION, OR DISCLOSURE IN ANY FORM, IN WHOLE, OR IN PART, IS STRICTLY
20 * PROHIBITED WITHOUT THE PRIOR EXPRESS WRITTEN PERMISSION OF SILICON
21 * GRAPHICS, INC.
22**=======================================================================*/
23/*=======================================================================
24** Author : Paul S. Strauss (MMM yyyy)
25**=======================================================================*/
26/*=======================================================================
27 *** THE CONTENT OF THIS WORK IS PROPRIETARY TO FEI S.A.S, (FEI S.A.S.), ***
28 *** AND IS DISTRIBUTED UNDER A LICENSE AGREEMENT. ***
29 *** ***
30 *** REPRODUCTION, DISCLOSURE, OR USE, IN WHOLE OR IN PART, OTHER THAN AS ***
31 *** SPECIFIED IN THE LICENSE ARE NOT TO BE UNDERTAKEN EXCEPT WITH PRIOR ***
32 *** WRITTEN AUTHORIZATION OF FEI S.A.S. ***
33 *** ***
34 *** RESTRICTED RIGHTS LEGEND ***
35 *** USE, DUPLICATION, OR DISCLOSURE BY THE GOVERNMENT OF THE CONTENT OF THIS ***
36 *** WORK OR RELATED DOCUMENTATION IS SUBJECT TO RESTRICTIONS AS SET FORTH IN ***
37 *** SUBPARAGRAPH (C)(1) OF THE COMMERCIAL COMPUTER SOFTWARE RESTRICTED RIGHT ***
38 *** CLAUSE AT FAR 52.227-19 OR SUBPARAGRAPH (C)(1)(II) OF THE RIGHTS IN ***
39 *** TECHNICAL DATA AND COMPUTER SOFTWARE CLAUSE AT DFARS 52.227-7013. ***
40 *** ***
41 *** COPYRIGHT (C) 1996-2014 BY FEI S.A.S, ***
42 *** BORDEAUX, FRANCE ***
43 *** ALL RIGHTS RESERVED ***
44**=======================================================================*/
45/*=======================================================================
46** Modified by : VSG (MMM YYYY)
47**=======================================================================*/
48
49
50#ifndef _SO_MF_COLOR_
51#define _SO_MF_COLOR_
52
53#include <Inventor/fields/SoSubField.h>
54#include <Inventor/SbColor.h>
55#include <Inventor/fields/SoMFVec3f.h>
56
58//
59// SoMFColor subclass of SoMField.
60//
62
98class SoMFColor : public SoMField {
99 // Use standard field stuff
100 SO_MFIELD_HEADER(SoMFColor, SbColor, const SbColor &);
101
102 SO_MFIELD_SETVALUESPOINTER_HEADER(float);
103 SO_FIELD_SUPPORT_MEMOBJ();
104public:
105 //
106 // Additional convenience functions
107 //
108
124 void setValues(int start, int num, const float rgb[][3]);
131 void setHSVValues(int start, int num, const float hsv[][3]);
132
141 void setValue(const SbVec3f &vec);
150 void setValue(float r, float g, float b);
159 void setValue(const float rgb[3]);
160
169 void setHSVValue(float h, float s, float v);
178 void setHSVValue(const float hsv[3]);
179
187 void set1Value(int index, const SbVec3f &vec);
195 void set1Value(int index, float r, float g, float b);
203 void set1Value(int index, const float rgb[3]);
204
212 void set1HSVValue(int index, float h, float s, float v);
220 void set1HSVValue(int index, const float hsv[3]);
221
222 private:
223 static void initClass();
224 static void exitClass();
225 virtual void writeBinaryValues(SoOutput*, int , int ) const;
226 virtual SbBool readBinaryValues( SoInput*, int, int );
227
228 private:
229 virtual void writeBinaryValues(SoOutput *out) const;
230 virtual SbBool readBinaryValues(SoInput *in, int numToRead);
231
233 //
234 // #unfound setValues(int start, int num, float rgb[][3])
235 // #unfound setHSVValues(int start, int num, float hsv[][3])
236 // #unfound setValue(SbVec3f & vec)
237 // #unfound setValue(float red, float green, float blue)
238 // #unfound setHSVValue(float hue, float saturation, float value)
239 // #unfound setValue(float rgb[3])
240 // #unfound setHSVValue(float hsv[3])
241 // #unfound set1Value(index , SbVec3f & vec)
242 // #unfound set1Value(index , float r, float g, float b)
243 // #unfound set1HSVValue(index , float h, float s, float v)
244 // #unfound set1Value(index , float rgb[3])
245 // #unfound set1HSVValue(index , float hsv[3])
246 // #unfound [](int i)
247 // #unfound getValues(int start)
248 // #unfound find(SbColor & targetValue, SbBool addIfNotFound)
249 // #unfound setValues(int start, int num, SbColor * newValues)
250 // #unfound set1Value(int index, SbColor & newValue)
251 // #unfound =(SbColor & newValue)
252 // #unfound setValue(SbColor & newValue)
253 // #unfound ==(SoMFColor & f)
254 // #unfound !=(SoMFColor & f)
255 // #unfound startEditing()
256 // #unfound finishEditing()
257 // #unfound setValuesPointer(int num, SbColor * data)
258 // #unfound enableDeleteValues()
259 // #unfound isDeleteValuesEnabled()
260 // #grouped setHSVValues(int start, int num, float hsv[][3])
261 // #grouped setValue(float red, float green, float blue)
262 // #grouped setHSVValue(float hue, float saturation, float value)
263 // #grouped setValue(float rgb[3])
264 // #grouped setHSVValue(float hsv[3])
265 // #grouped set1Value(index , float r, float g, float b)
266 // #grouped set1HSVValue(index , float h, float s, float v)
267 // #grouped set1Value(index , float rgb[3])
268 // #grouped set1HSVValue(index , float hsv[3])
269 // #grouped getTypeId()
270 // #grouped setValue(SbColor & newValue)
271 // #grouped !=(SoMFColor & f)
272 // #grouped finishEditing()
273 // #grouped isDeleteValuesEnabled()
274 //
276
277};
278
279#endif /* _SO_MF_COLOR_ */
280
Color vector class.
Definition SbColor.h:82
3D vector class.
Definition SbVec.h:932
Used to read Open Inventor data files.
Definition SoInput.h:363
Multiple-value field containing any number of RGB colors stored as three floats.
Definition SoMFColor.h:98
void set1HSVValue(int index, float h, float s, float v)
Sets one of N HSV colors from 3 floats.
void setValues(int start, int num, const float rgb[][3])
Sets num RGB values from an array of arrays of 3 floats.
void set1HSVValue(int index, const float hsv[3])
Sets one of N HSV colors from an array of 3 floats.
void set1Value(int index, const SbVec3f &vec)
Sets one of N RGB colors from SbVec3f.
void setHSVValue(const float hsv[3])
Sets the field to contain one and only one value, the given color (expressed as an array of HSV float...
void setHSVValues(int start, int num, const float hsv[][3])
Sets num HSV values from an array of arrays of 3 floats.
void setValue(const SbVec3f &vec)
Sets the field to contain one and only one value, the given color (expressed as RGB floating point va...
void setValue(float r, float g, float b)
Sets the field to contain one and only one value, the given color (expressed as RGB floating point va...
void setValue(const float rgb[3])
Sets the field to contain one and only one value, the given color (expressed as an array of RGB float...
void setHSVValue(float h, float s, float v)
Sets the field to contain one and only one value, the given color (expressed as HSV floating point va...
void set1Value(int index, const float rgb[3])
Sets one of N RGB colors from an array of 3 floats.
void set1Value(int index, float r, float g, float b)
Sets one of N RGB colors from 3 floats.
Base class for all multiple-valued fields.
Definition SoMField.h:134
Used to write Open Inventor data files.
Definition SoOutput.h:186
int SbBool
Boolean type.
Definition SbBase.h:87