Click or drag to resize
SoMFMatrix Class

Multiple-value field containing any number of 4x4 matrices.

Inheritance Hierarchy
SystemObject
  OIV.InventorSoNetBase
    OIV.Inventor.FieldsSoField
      OIV.Inventor.FieldsSoMField
        OIV.Inventor.FieldsSoMFMatrix

Namespace: OIV.Inventor.Fields
Assembly: OIV.Inventor (in OIV.Inventor.dll) Version: 2023.1.3.0 (2023.1.3)
Syntax
public class SoMFMatrix : SoMField, ISoMField<SbMatrix>

The SoMFMatrix type exposes the following members.

Constructors
  NameDescription
Public methodSoMFMatrix

Default constructor.

Top
Methods
  NameDescription
Public methodAppendConnection(SoEngineOutput)

Appends this field to the list of connections from another engineOutput.

(Inherited from SoField.)
Public methodAppendConnection(SoField)

Appends this field to the list of connections from another field.

(Inherited from SoField.)
Public methodConnectFrom(SoEngineOutput)

Connects this field from an engine output.

(Inherited from SoField.)
Public methodConnectFrom(SoField)

Connects this field to another field.

(Inherited from SoField.)
Public methodCopyFrom

Copy from another field of same type.

Public methodDeleteValues(Int32)
Calls DeleteValues(start, -1).
(Inherited from SoMField.)
Public methodDeleteValues(Int32, Int32)

Deletes num values beginning at index start (index start through start + num -1 will be deleted, and any leftover values will be moved down to fill in the gap created).

(Inherited from SoMField.)
Public methodDisableDeleteValues

Temporary disable value deleting.

Public methodDisconnect

Disconnect the field from whatever it was connected to.

(Inherited from SoField.)
Public methodDisconnect(SoEngineOutput)

Disconnect the field from the requested engineOutput.

(Inherited from SoField.)
Public methodDisconnect(SoField)

Disconnect the field from the requested field.

(Inherited from SoField.)
Public methodEnableConnection

Field connections may be enabled and disabled.

(Inherited from SoField.)
Public methodEquals
Public methodFind(SbMatrix)
Calls Find(targetValue, false).
Public methodFind(SbMatrix, Boolean)

Finds the given targetValue in the array and returns the index of that value.

Public methodFinishEditing

Indicates that batch edits have finished.

Public methodGet

Returns the value of the field in the Open Inventor file format, even if the field has its default value.

(Inherited from SoField.)
Public methodGet1

This is equivalent to the OIV.Inventor.Fields.SoField.Get(System.String@) method of OIV.Inventor.Fields.SoField, but operates on only one value.

(Inherited from SoMField.)
Public methodGetConnectedEngine

Returns true if this field is being written into by an engine, and returns the engine output it is connected to in engineOutput.

(Inherited from SoField.)
Public methodGetConnectedField

Returns true if this field is being written into by another field, and returns the field it is connected to in writingField.

(Inherited from SoField.)
Public methodGetConnections

Returns a list of the connections to this field.

(Inherited from SoField.)
Public methodGetContainer

Returns the object that contains this field.

(Inherited from SoField.)
Public methodGetForwardConnections

Adds references to all of the fields that this field is writing into (either fields in nodes, global fields or engine inputs) to the given field list, and returns the number of forward connections.

(Inherited from SoField.)
Public methodGetHashCode
Overrides GetHashCode().
(Inherited from SoNetBase.)
Public methodGetNum Obsolete.

Returns the number of values currently in the field.

(Inherited from SoMField.)
Public methodGetNumConnections

Returns the number of connections to this field.

(Inherited from SoField.)
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Public methodGetValues

Returns a pointer into the array of values in the field, starting at index start.

Public methodGetValueSize

Gets the size of the value.

(Inherited from SoField.)
Public methodInsertSpace

Inserts space for num values at index start .

(Inherited from SoMField.)
Public methodIsConnected

Returns true if the field is connected to anything.

(Inherited from SoField.)
Public methodIsConnectedFromEngine

Returns true if the field is connected to an engine's output.

(Inherited from SoField.)
Public methodIsConnectedFromField

Returns true if the field is connected to another field.

(Inherited from SoField.)
Public methodIsConnectedFromVRMLInterp

Returns true if the field is connected to a VRML interpOutput.

(Inherited from SoField.)
Public methodIsConnectionEnabled

Returns false if connections to this field are disabled.

(Inherited from SoField.)
Public methodIsDefault

Gets the state of default flag of the field.

(Inherited from SoField.)
Public methodIsIgnored

Gets the ignore flag for this field.

(Inherited from SoField.)
Public methodSet

Sets the field to the given value, which is an ASCII string in the Open Inventor file format.

(Inherited from SoField.)
Public methodSet1

This is equivalent to the OIV.Inventor.Fields.SoField.Set(System.String) method of OIV.Inventor.Fields.SoField, but operates on only one value.

(Inherited from SoMField.)
Public methodSet1Value(Int32, SbMatrix) Obsolete.

Sets the index'th value in the array to newValue.

Public methodSet1Value(Int32, SbMatrixd)

Sets the index 'th value in the array to newValue , a double precision matrix.

Public methodSetIgnored

Sets the ignore flag for this field.

(Inherited from SoField.)
Public methodSetNum Obsolete.

Forces this field to have exactly num values, inserting or deleting values as necessary.

(Inherited from SoMField.)
Public methodSetValue(SbMatrix)

Sets the first value in the array to newValue, and deletes.

Public methodSetValue(SbMatrixd)

Sets the first value in the array to newValue , a double precision matrix, and deletes the second and subsequent values.

Public methodSetValue(Single, Single, Single, Single, Single, Single, Single, Single, Single, Single, Single, Single, Single, Single, Single, Single)

Makes this field contain one and only one value, which is the matrix given by the 16 values.

Public methodSetValues(Int32, SbMatrix)

Sets num values starting at index start to the values.

Public methodSetValues(Int32, SbMatrixd)

Sets values starting at index start to the values in the specified array of double precision matrices.

Public methodSetValuesBuffer

Sets the field to contain the values stored in userData.

Public methodStartEditing

Returns a pointer to the internally maintained array that can be modified.

Public methodToString
Converts this SoMFField structure to a human readable string.
(Inherited from SoMField.)
Public methodTouch

Simulates a change to the field, causing attached sensors to fire, connected fields and engines to be marked as needing evaluation, and so forth.

(Inherited from SoField.)
Top
Operators
  NameDescription
Public operatorStatic memberEquality
Public operatorStatic memberInequality
Top
Properties
  NameDescription
Public propertyCount

Returns the number of values currently in the field.

(Inherited from SoMField.)
Public propertyIsUserDefinedBuffer (Inherited from SoMField.)
Public propertyItem

Returns the i'th value of the field.

Top
Remarks

A multiple-value field that contains any number of 4x4 matrices.

OIV.Inventor.Fields.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 OIV.Inventor.Fields.SoMFVec3f for more information and example code.

See Also