public class SoMFMatrix extends SoMField
SoMFMatrix
are written to file as sets of 16 floating point numbers separated by whitespace. When more than one value is present, all of the values are enclosed in square brackets and separated by commas; for example, two identity matrices might be written as:
[ 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1, 1 0 0 0 0 1 0 0 0 0 1 0 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 |
---|
SoMFMatrix()
Deprecated.
As of Open Inventor 9.3 Use constructor with SoFieldContainer instead.
|
SoMFMatrix(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(SbMatrix targetValue)
Calls find(targetValue, false).
|
int |
find(SbMatrix 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.
|
SbMatrix |
get1Value(int i)
Deprecated.
|
java.nio.FloatBuffer |
getDirectValues(int start)
Returns a pointer into the array of values in the field, starting at index start.
|
SbMatrix |
getValueAt(int i) |
SbMatrix[] |
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,
SbMatrix newValue)
Sets the
index'th value in the array to
newValue.
|
void |
set1Value(int index,
SbMatrixd md)
Sets the index 'th value in the array to newValue , a double precision matrix.
|
void |
setValue(float a11,
float a12,
float a13,
float a14,
float a21,
float a22,
float a23,
float a24,
float a31,
float a32,
float a33,
float a34,
float a41,
float a42,
float a43,
float a44)
Makes this field contain one and only one value, which is the matrix given by the 16 values.
|
void |
setValue(SbMatrix newValue)
Sets the first value in the array to
newValue, and deletes.
|
void |
setValue(SbMatrixd md)
Sets the first value in the array to newValue , a double precision matrix, and deletes the second and subsequent values.
|
void |
setValues(int start,
int num,
SbMatrixd[] md)
Deprecated.
As of Open Inventor 9.3.1, use
setValues(int, com.openinventor.inventor.SbMatrixd[])
instead. |
void |
setValues(int start,
SbMatrix[] newValues)
Sets
num values starting at index
start to the values.
|
void |
setValues(int start,
SbMatrixd[] md)
Sets values starting at index start to the values in the specified array of double precision matrices.
|
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, 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 SoMFMatrix()
public SoMFMatrix(SoFieldContainer fieldContainer, java.lang.String fieldName, SoField.FieldTypes fieldType)
public void setValues(int start, int num, SbMatrixd[] md)
setValues(int, com.openinventor.inventor.SbMatrixd[])
instead.public int find(SbMatrix targetValue)
@Deprecated public SbMatrix get1Value(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 void finishEditing()
startEditing()
.public SbMatrix getValueAt(int i)
public void set1Value(int index, SbMatrix newValue)
public void setValue(float a11, float a12, float a13, float a14, float a21, float a22, float a23, float a24, float a31, float a32, float a33, float a34, float a41, float a42, float a43, float a44)
public void disableDeleteValues()
public long getValueSize()
getValueSize
in class SoMField
public void setValue(SbMatrix newValue)
public void setValues(int start, SbMatrix[] newValues)
public SbMatrix[] getValues(int start)
startEditing()
/finishEditing() methods for a way of modifying values in place.public void setValues(int start, SbMatrixd[] md)
public java.nio.FloatBuffer getDirectValues(int start)
startEditing()
/finishEditing() methods for a way of modifying values in place.public void set1Value(int index, SbMatrixd md)
public int find(SbMatrix targetValue, boolean addIfNotFound)
public void setValue(SbMatrixd md)
Generated on January 23, 2025, Copyright © Thermo Fisher Scientific. All rights reserved. http://www.openinventor.com