Package org.web3d.x3d.sai
Interface MFColor
-
Method Summary
Modifier and TypeMethodDescriptionvoid
append
(float[] value) Places a new value at the end of the existing value, increasing the field length accordingly.void
clear()
Removes all values in the field and changes the field size to zero.void
get1Value
(int index, float[] col) Get the value of a particular vector value in the event out array.void
getValue
(float[] col) Get the values of the event out flattened into a single 1D array.void
getValue
(float[][] col) Write the value of the event out to the given array.void
insertValue
(int index, float[] value) Inserts a value into an existing index of the field.void
removeValue
(int index) Removes one value from the field.void
set1Value
(int index, float[] value) Set a particular colour value in the given eventIn array.void
setValue
(int numColors, float[] value) Set the value of from the flat array of colours.void
setValue
(int numColors, float[][] value) Set the value of the array of colours.Methods inherited from interface org.web3d.x3d.sai.X3DField
addX3DEventListener, getDefinition, getUserData, isReadable, isWritable, removeX3DEventListener, setUserData
-
Method Details
-
append
void append(float[] value) Places a new value at the end of the existing value, increasing the field length accordingly.- Parameters:
value
- The value to append value[0] = Red component [0-1]
value[1] = Green component [0-1]
value[2] = Blue component [0-1]- Throws:
ArrayIndexOutOfBoundsException
- The provided array was too small
-
clear
void clear()Removes all values in the field and changes the field size to zero. -
getValue
void getValue(float[][] col) Write the value of the event out to the given array.- Parameters:
col
- The array to be filled in where
col[i][0] = Red component [0-1]
col[i][1] = Green component [0-1]
col[i][2] = Blue component [0-1]- Throws:
ArrayIndexOutOfBoundsException
- The provided array was too small
-
getValue
void getValue(float[] col) Get the values of the event out flattened into a single 1D array. The array must be at least 3 times the size of the array.- Parameters:
col
- The array to be filled in where the col[i + 0] = Red component [0-1]
col[i + 1] = Green component [0-1]
col[i + 2] = Blue component [0-1]- Throws:
ArrayIndexOutOfBoundsException
- The provided array was too small
-
get1Value
void get1Value(int index, float[] col) Get the value of a particular vector value in the event out array.- Parameters:
index
- The position to get the vector value from.col
- The array to place the value in where. col[0] = Red component [0-1]
col[1] = Green component [0-1]
col[2] = Blue component [0-1]- Throws:
ArrayIndexOutOfBoundsException
- The provided array was too small or the index was outside the current data array bounds.
-
insertValue
Inserts a value into an existing index of the field. Current field values from the index to the end of the field are shifted down and the field length is increased by one to accommodate the new element. If the index is out of the bounds of the current field an ArrayIndexOutofBoundsException will be generated.- Parameters:
index
- The position at which to insertvalue
- The new element to insert value[0] = Red component [0-1]
value[1] = Green component [0-1]
value[2] = Blue component [0-1]- Throws:
ArrayIndexOutOfBoundsException
- The index was outside the current field size.ArrayIndexOutOfBoundsException
- The provided array was too small
-
removeValue
Removes one value from the field. Values at indices above the removed element will be shifted down by one and the size of the field will be reduced by one.- Parameters:
index
- The position of the value to remove.- Throws:
ArrayIndexOutOfBoundsException
- The index was outside the current field size.
-
setValue
void setValue(int numColors, float[] value) Set the value of from the flat array of colours. Input is an array of colour values in RGB order [n, n+1, n+2]. All colour values are required to be in the range 0-1. Colour values outside of this range will generate an IllegalArgumentException. If the array does not contain at least numColors * 3 values it will generate an ArrayIndexOutOfBoundsException.- Parameters:
numColors
- The number of colour values in this array to copyvalue
- The array of colour values where
value[i] = Red component [0-1]
value[i+1] = Green component [0-1]
value[i+2] = Blue component [0-1]- Throws:
IllegalArgumentException
- A colour value(s) was out of rangeArrayIndexOutOfBoundsException
- A value did not contain at least three values for the colour component
-
setValue
void setValue(int numColors, float[][] value) Set the value of the array of colours. Input is an array of colour values in RGB order. All colour values are required to be in the range 0-1. Colour values outside of this range will generate an IllegalArgumentException. If value[i] that does not contain at least three values will generate an ArrayIndexOutOfBoundsException. If value[i] contains more than three items only the first three values will be used and the rest ignored.- Parameters:
numColors
- The number of colour values in this array to copyvalue
- The array of colour values where
value[i][0] = Red component [0-1]
value[i][1] = Green component [0-1]
value[i][2] = Blue component [0-1]- Throws:
IllegalArgumentException
- A colour value(s) was out of rangeArrayIndexOutOfBoundsException
- A value did not contain at least three values for the colour component
-
set1Value
void set1Value(int index, float[] value) Set a particular colour value in the given eventIn array. To the VRML world this will generate a full MFColor event with the nominated index value changed. Colour values are required to be in the range [0-1].The value array must contain at least three elements. If the array contains more than 3 values only the first three values will be used and the rest ignored.
If the index is out of the bounds of the current array of data values or the array of values does not contain at least 3 elements an ArrayIndexOutOfBoundsException will be generated. If the colour values are out of range an IllegalArgumentException will be generated.
- Parameters:
index
- The position to set the colour valuevalue
- The array of colour values where
value[0] = Red component [0-1]
value[1] = Green component [0-1]
value[2] = Blue component [0-1]- Throws:
IllegalArgumentException
- A colour value(s) was out of rangeArrayIndexOutOfBoundsException
- A value did not contain at least three values for the colour component
-