public class SoMFColor extends SoMField
SbColor
. Values may be set in either RGB (red, green, blue) or HSV (hue, saturation, value) color spaces.
SoMFColors are written to file as one or more RGB triples of floating point numbers in standard scientific notation. When more than one value is present, all of the values are enclosed in square brackets and separated by commas. For example:
represents the three colors red, green, and blue.[ 1.0 0.0 0.0, 0 1 0, 0 0 1 ]
Data copying:
SoMF fields are a kind of "smart container", automatically expanding as necessary to hold the data provided by the application. This is very convenient, but for large blocks of data it may be desireable to avoid making a copy of the application data. The setValuesBuffer() methods allow Open Inventor to directly use an array of values supplied by the application. The application data is not copied. Please see SoMFVec3f
for more information and example code.
SoField.FieldTypes
Inventor.ConstructorCommand
VERBOSE_LEVEL, ZeroHandle
Constructor and Description |
---|
SoMFColor(SoFieldContainer fieldContainer,
java.lang.String fieldName,
SoField.FieldTypes fieldType)
Default constructor.
|
Modifier and Type | Method and Description |
---|---|
void |
disableDeleteValues()
Temporary disable value deleting.
|
boolean |
equals(java.lang.Object obj) |
int |
find(SbColor targetValue)
Calls find(targetValue, false).
|
int |
find(SbColor targetValue,
boolean addIfNotFound)
Finds the given
targetValue in the array and returns the index of that value.
|
void |
finishEditing()
Indicates that batch edits have finished.
|
java.nio.FloatBuffer |
getDirectValues(int start)
Returns a pointer into the array of values in the field, starting at index start.
|
SbColor |
getValueAt(int i) |
SbColor[] |
getValues(int start)
Returns a pointer into the array of values in the field, starting at index start.
|
void |
set1HSVValue(int index,
float[] hsv)
Sets one of N HSV colors from an array of 3 floats.
|
void |
set1HSVValue(int index,
float h,
float s,
float v)
Sets one of N HSV colors from 3 floats.
|
void |
set1Value(int index,
float[] rgb)
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.
|
void |
set1Value(int index,
SbColor newValue)
Sets the
index'th value in the array to
newValue.
|
void |
set1Value(int index,
SbVec3f vec)
Sets one of N RGB colors from
SbVec3f . |
void |
setHSVValue(float[] hsv)
Sets the field to contain one and only one value, the given color (expressed as an array of HSV floating point values in the range 0.0 to 1.0), and deletes the second and subsequent values.
|
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 values in the range 0.0 to 1.0), and deletes the second and subsequent values.
|
void |
setValue(float[] rgb)
Sets the field to contain one and only one value, the given color (expressed as an array of RGB floating point values in the range 0.0 to 1.0), and deletes the second and subsequent values.
|
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 values in the range 0.0 to 1.0), and deletes the second and subsequent values.
|
void |
setValue(SbColor newValue)
Sets the first value in the array to
newValue, and deletes.
|
void |
setValue(SbVec3f vec)
Sets the field to contain one and only one value, the given color (expressed as RGB floating point values in the range 0.0 to 1.0), and deletes the second and subsequent values.
|
void |
setValues(int start,
float[] rgb)
Sets RGB values from the specified array of floats.
|
void |
setValues(int start,
float[][] rgb)
Sets values starting at index start to the colors in rgb.
|
void |
setValues(int start,
int num,
float[] rgb)
Deprecated.
As of Open Inventor 9.3.1, use
setValues(int, float[])
instead. |
void |
setValues(int start,
SbColor[] newValues)
Sets
num values starting at index
start to the values.
|
void |
setValuesBuffer(java.nio.ByteBuffer userData)
Sets the field to contain the values stored in
userData.
|
java.nio.FloatBuffer |
startEditing()
Returns a pointer to the internally maintained array that can be modified.
|
deleteValues, deleteValues, get1, getNum, insertSpace, set1, setNum
appendConnection, appendConnection, connectFrom, connectFrom, disconnect, disconnect, disconnect, enableConnection, get, getConnectedEngine, getConnectedField, getContainer, getNumConnections, getValueSize, isConnected, isConnectedFromEngine, isConnectedFromField, isConnectedFromVRMLInterp, isConnectionEnabled, isDefault, isIgnored, set, setIgnored, touch
dispose, getNativeResourceHandle
public SoMFColor(SoFieldContainer fieldContainer, java.lang.String fieldName, SoField.FieldTypes fieldType)
public void setValues(int start, float[][] rgb)
rgb
- array of array of 3 floatssetValues(int, SbColor[])
public void setValues(int start, int num, float[] rgb)
setValues(int, float[])
instead.public int find(SbColor targetValue)
public void finishEditing()
startEditing()
.public void setValuesBuffer(java.nio.ByteBuffer userData)
public SbColor getValueAt(int i)
public java.nio.FloatBuffer startEditing()
startEditing()
and finishEditing()
(e.g. set1Value()
, setValue()
, etc.). Fields, engines or sensors connected to this field and sensors are not notified that this field has changed until finishEditing()
is called. Calling finishEditing()
always sets the isDefault()
flag to false and informs engines and sensors that the field changed, even if none of the values actually were changed.public java.nio.FloatBuffer getDirectValues(int start)
startEditing()
/finishEditing() methods for a way of modifying values in place.public SbColor[] getValues(int start)
startEditing()
/finishEditing() methods for a way of modifying values in place.public void setHSVValue(float h, float s, float v)
public void setValue(float[] rgb)
public void setHSVValue(float[] hsv)
public void setValue(SbVec3f vec)
public void setValues(int start, float[] rgb)
public void disableDeleteValues()
public void setValue(float r, float g, float b)
public void set1Value(int index, SbVec3f vec)
SbVec3f
.
The array will be expanded and filled with zeros as necessary.public void setValues(int start, SbColor[] newValues)
public void set1HSVValue(int index, float h, float s, float v)
public int find(SbColor targetValue, boolean addIfNotFound)
public void set1HSVValue(int index, float[] hsv)
public void setValue(SbColor newValue)
public void set1Value(int index, float r, float g, float b)
public void set1Value(int index, SbColor newValue)
public void set1Value(int index, float[] rgb)
Generated on July 31, 2019, Copyright © Thermo Fisher Scientific. All rights reserved. http://www.openinventor.com