public class SoMFEnum<EnumType extends java.lang.Enum<EnumType> & IntegerValuedEnum> extends SoMField
SoMFEnums are written to file as a set of mnemonic enumerated type names. These names differ among uses of this field in various node classes. See the reference pages for specific nodes for the names.
When more than one value is present, all of the values are enclosed in square brackets and separated by commas.
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 |
---|
SoMFEnum()
Deprecated.
As of Open Inventor 9.3 Use constructor with SoFieldContainer instead.
|
SoMFEnum(SoFieldContainer fieldContainer,
java.lang.String fieldName,
SoField.FieldTypes fieldType,
java.lang.Class<EnumType> enumClass)
Default constructor.
|
Modifier and Type | Method and Description |
---|---|
void |
disableDeleteValues()
Temporary disable value deleting.
|
boolean |
equals(java.lang.Object obj) |
int |
find(int targetValue)
Calls find(targetValue, false).
|
int |
find(int 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.
|
int |
get1Value(int i)
Deprecated.
|
java.nio.IntBuffer |
getDirectValues(int start)
Returns a pointer into the array of values in the field, starting at index start.
|
int |
getValueAt(int i) |
int[] |
getValues(int start)
Returns a pointer into the array of values in the field, starting at index start.
|
long |
getValueSize()
Get size of the value.
|
void |
set1Value(int index,
int newValue)
Sets the
index'th value in the array to
newValue.
|
void |
set1Value(int index,
java.lang.String name)
Sets the index 'th value to be the integer corresponding to the mnemonic name in the given string.
|
void |
setValue(int newValue)
Sets the first value in the array to
newValue, and deletes.
|
void |
setValue(java.lang.String name)
Sets this field to contain one and only one value, which is the mnemonic name as a string.
|
void |
setValues(int start,
int[] 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.IntBuffer |
startEditing()
Returns a pointer to the internally maintained array that can be modified.
|
deleteValues, deleteValues, get1, getNum, insertSpace, set1, setNum
appendConnection, appendConnection, appendConnection, connectFrom, connectFrom, connectFrom, disconnect, disconnect, disconnect, disconnect, enableConnection, get, getConnectedEngine, getConnectedField, getConnectedVRMLInterp, getContainer, getNumConnections, isConnected, isConnectedFromEngine, isConnectedFromField, isConnectedFromVRMLInterp, isConnectionEnabled, isDefault, isIgnored, set, setIgnored, touch
dispose, getAddress, getNativeResourceHandle, startInternalThreads, stopInternalThreads
@Deprecated public SoMFEnum()
public SoMFEnum(SoFieldContainer fieldContainer, java.lang.String fieldName, SoField.FieldTypes fieldType, java.lang.Class<EnumType> enumClass)
public int find(int targetValue)
@Deprecated public int get1Value(int i)
public java.nio.IntBuffer getDirectValues(int start)
startEditing()
/finishEditing() methods for a way of modifying values in place.public int getValueAt(int i)
public void finishEditing()
startEditing()
.public java.nio.IntBuffer 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 void setValue(java.lang.String name)
public int[] getValues(int start)
startEditing()
/finishEditing() methods for a way of modifying values in place.public long getValueSize()
getValueSize
in class SoMField
public void disableDeleteValues()
public void set1Value(int index, java.lang.String name)
public void setValuesBuffer(java.nio.ByteBuffer userData)
public void setValues(int start, int[] newValues)
public int find(int targetValue, boolean addIfNotFound)
public void setValue(int newValue)
public void set1Value(int index, int newValue)
Generated on January 23, 2025, Copyright © Thermo Fisher Scientific. All rights reserved. http://www.openinventor.com