SoMFMatrix(3IV)
SoMFMatrix (SoMMatrix) - multiple-value field containing any number of 4x4 matrices
As shipped in IRIX 6.5.22. Added in IRIX 6.5.22.
NAME SoMFMatrix (SoMMatrix) - multiple-value field containing any number of 4x4 matrices INHERITS FROM SoField > SoMField > SoMFMatrix SYNOPSIS #include <Inventor_c/fields/SoMFMatrix.h> typedef SoMFMatrix SoMMatrix Functions from class SoMFMatrix: void SoMMatrixSetMx(SoMMatrix *this, 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) SoType SoMMatrixGetClassTypeId() void SoMMatrixGetTypeId(const SoMMatrix *this) const SbMatrix * SoMMatrixGet(const SoMMatrix *this, int i) const SbMatrix * SoMMatrixGetN(const SoMMatrix *this, int start) int SoMMatrixFind(SoMMatrix *this, const SbMatrix * targetValue, SbBool addIfNotFound = FALSE) void SoMMatrixSetN(SoMMatrix *this, int start, int num, const SbMatrix *newValues) void SoMMatrixSet1(SoMMatrix *this, int index, const SbMatrix * newValue) void SoMMatrixSet(SoMMatrix *this, const SbMatrix * newValue) int SoMMatrixIsEq(const SoMMatrix *this, const SoMFMatrix *f) int SoMMatrixIsNEq(const SoMMatrix *this, const SoMFMatrix *f) SbMatrix * SoMMatrixStartEdit(SoMMatrix *this) void SoMMatrixFinishEdit(SoMMatrix *this) Functions from class SoMField: int SoMMatrixGetNum(const SoMMatrix *this) void SoMMatrixSetNum(SoMMatrix *this, int num) void SoMMatrixDel(SoMMatrix *this, int start, int num = -1) void SoMMatrixInsertSpace(SoMMatrix *this, int start, int num) void SoMMatrixGet1(SoMMatrix *this, int index, SbString *valueString) Functions from class SoField: void SoMMatrixSetIgnored(SoMMatrix *this, SbBool ignore) SbBool SoMMatrixIsIgnored(const SoMMatrix *this) SbBool SoMMatrixIsDflt(const SoMMatrix *this) SbBool SoMMatrixIsOfType(const SoMMatrix *this, SoType type) SbBool SoMMatrixSetFromStr(SoMMatrix *this, const char *valueString) void SoMMatrixGetIntoStr(SoMMatrix *this, SbString *valueString) void SoMMatrixTouch(SoMMatrix *this) SbBool SoMMatrixConnFromField(SoMMatrix *this, SoField *fromField) SbBool SoMMatrixConnFrom(SoMMatrix *this, SoEngineOutput *fromEngine) void SoMMatrixDisconn(SoMMatrix *this) SbBool SoMMatrixIsConn(const SoMMatrix *this) SbBool SoMMatrixIsConnFromField(const SoMMatrix *this) SbBool SoMMatrixGetConnField(const SoMMatrix *this, SoField **writingField) SbBool SoMMatrixIsConnFromEngine(const SoMMatrix *this) SbBool SoMMatrixGetConnEngine(const SoMMatrix *this, SoEngineOutput **engineOutput) void SoMMatrixEnableConn(SoMMatrix *this, SbBool flag) SbBool SoMMatrixIsConnEnabled(const SoMMatrix *this) int SoMMatrixGetForwardConn(const SoMMatrix *this, SoFieldList *list) SoFieldContainer * SoMMatrixGetContainer(const SoMMatrix *this) DESCRIPTION A multiple-value field that contains any number of 4x4 matrices. SoMFMatrices 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 ] FUNCTIONS void SoMMatrixSetMx(SoMMatrix *this, 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. SoType SoMMatrixGetClassTypeId() void SoMMatrixGetTypeId(const SoMMatrix *this) Returns the type for this class or a particular object of this class. const SbMatrix * SoMMatrixGet(const SoMMatrix *this, int i) Returns the i'th value of the field. Indexing past the end of the field (passing in i greater than getNum()) will return garbage. const SbMatrix * SoMMatrixGetN(const SoMMatrix *this, int start) Returns a pointer into the array of values in the field, starting at index start. The values are read-only; see the startEditing()/finishEditing() methods for a way of modifying values in place. int SoMMatrixFind(SoMMatrix *this, const SbMatrix * targetValue, SbBool addIfNotFound = FALSE) Finds the given value in the array and returns the index of that value in the array. If the value is not found, -1 is returned. If addIfNotFound is set, then targetValue is added to the end of the array (but -1 is still returned). void SoMMatrixSetN(SoMMatrix *this, int start, int num, const SbMatrix *newValues) Sets num values starting at index start to the values in newValues. The array will be automatically be made larger to accomodate the new values, if necessary. void SoMMatrixSet1(SoMMatrix *this, int index, const SbMatrix * newValue) Sets the index'th value in the array to newValue. The array will be automatically expanded, if necessary. void SoMMatrixSet(SoMMatrix *this, const SbMatrix * newValue) Sets the first value in the array to newValue, and deletes the second and subsequent values. int SoMMatrixIsEq(const SoMMatrix *this, const SoMFMatrix *f) int SoMMatrixIsNEq(const SoMMatrix *this, const SoMFMatrix *f) Returns TRUE if all of the values of this field equal (do not equal) those of the given field. If the fields are different types FALSE will always be returned (even if one field is an SoMFFloat with one value of 1.0 and the other is an SoMFInt with a value of 1, for example). SbMatrix * SoMMatrixStartEdit(SoMMatrix *this) void SoMMatrixFinishEdit(SoMMatrix *this) startEditing() returns a pointer to the internally-maintained array that can be modified. The values in the array may be changed, but values cannot be added or removed. It is illegal to call any other editing methods between StartEdit() and FinishEdit() (e.g. Set1(), Set(), etc). Fields, engines or sensors connected to this field and sensors are not notified that this field has changed until FinishEdit() is called. Calling FinishEdit() always sets the IsDflt flag to FALSE and informs engines and sensors that the field changed, even if none of the values actually were changed.