public class SoMFRotation extends SoMField
SoMFRotations are written to file as one or more sets of four floating point values. Each set of 4 values is an axis of rotation followed by the amount of right-handed rotation about that axis, in radians.
When more than one value is present, all of the values are enclosed in square brackets and separated by commas; for example:
[ 1 0 0 0, -.707 -.707 0 1.57 ]
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.
See also:
SoField.FieldTypes
Inventor.ConstructorCommand
VERBOSE_LEVEL, ZeroHandle
Constructor and Description |
---|
SoMFRotation()
Deprecated.
As of Open Inventor 9.3 Use constructor with SoFieldContainer instead.
|
SoMFRotation(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(SbRotation targetValue)
Calls find(targetValue, false).
|
int |
find(SbRotation 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.
|
SbRotation |
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.
|
SbRotation |
getValueAt(int i) |
SbRotation[] |
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,
float[] q)
Sets the index 'th value to the given quaternion (x, y, z, w).
|
void |
set1Value(int index,
float q0,
float q1,
float q2,
float q3)
Sets the index 'th value to the given quaternion (x, y, z, w).
|
void |
set1Value(int index,
SbRotation newValue)
Sets the
index'th value in the array to
newValue.
|
void |
set1Value(int index,
SbRotationd rd)
Sets the index 'th value in the array to newValue , a double precision rotation.
|
void |
set1Value(int index,
SbVec3f axis,
float angle)
Sets the index 'th value to the given axis/angle.
|
void |
setValue(float[] q)
Makes this field have exactly one value, given by the quaternion (x, y, z, w).
|
void |
setValue(float q0,
float q1,
float q2,
float q3)
Makes this field have exactly one value, given by the quaternion (x, y, z, w).
|
void |
setValue(SbRotation newValue)
Sets the first value in the array to
newValue, and deletes.
|
void |
setValue(SbRotationd rd)
Sets the first value in the array to newValue , a double precision rotation, and deletes the second and subsequent values.
|
void |
setValue(SbVec3f axis,
float angle)
Makes this field have exactly one value, given by axis and angle .
|
void |
setValues(int start,
float[] q)
Sets values from the specified array of floats.
|
void |
setValues(int start,
int num,
float[] q)
Deprecated.
As of Open Inventor 9.3.1, use
setValues(int, float[])
instead. |
void |
setValues(int start,
int num,
SbRotationd[] rd)
Deprecated.
As of Open Inventor 9.3.1, use
setValues(int, com.openinventor.inventor.SbRotationd[])
instead. |
void |
setValues(int start,
SbRotation[] newValues)
Sets
num values starting at index
start to the values.
|
void |
setValues(int start,
SbRotationd[] rd)
Sets values starting at index start to the values in the specified array of double precision rotations.
|
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 SoMFRotation()
public SoMFRotation(SoFieldContainer fieldContainer, java.lang.String fieldName, SoField.FieldTypes fieldType)
public void setValues(int start, int num, float[] q)
setValues(int, float[])
instead.public void setValues(int start, int num, SbRotationd[] rd)
setValues(int, com.openinventor.inventor.SbRotationd[])
instead.public int find(SbRotation targetValue)
@Deprecated public SbRotation get1Value(int i)
public java.nio.FloatBuffer getDirectValues(int start)
startEditing()
/finishEditing() methods for a way of modifying values in place.public SbRotation getValueAt(int i)
public void setValues(int start, SbRotation[] newValues)
public int find(SbRotation targetValue, boolean addIfNotFound)
public SbRotation[] getValues(int start)
startEditing()
/finishEditing() methods for a way of modifying values in place.public void set1Value(int index, float q0, float q1, float q2, float q3)
public void set1Value(int index, float[] q)
public void set1Value(int index, SbVec3f axis, float angle)
public void finishEditing()
startEditing()
.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 set1Value(int index, SbRotation newValue)
public void set1Value(int index, SbRotationd rd)
public void setValue(float[] q)
public void setValue(SbRotationd rd)
public void setValue(SbVec3f axis, float angle)
public long getValueSize()
getValueSize
in class SoMField
public void setValues(int start, float[] q)
public void setValue(SbRotation newValue)
public void disableDeleteValues()
public void setValues(int start, SbRotationd[] rd)
public void setValue(float q0, float q1, float q2, float q3)
Generated on January 23, 2025, Copyright © Thermo Fisher Scientific. All rights reserved. http://www.openinventor.com