Click or drag to resize
SoModelMatrixElement Class

Stores the current model matrix.

Inheritance Hierarchy

Namespace: OIV.Inventor.Elements
Assembly: OIV.Inventor (in OIV.Inventor.dll) Version: 2023.1.3.0 (2023.1.3)
Syntax
public class SoModelMatrixElement : SoAccumulatedElement

The SoModelMatrixElement type exposes the following members.

Methods
  NameDescription
Public methodEquals
Determines whether the specified Object is equal to the current Object.
(Inherited from Object.)
Public methodStatic memberGet(SoState)

Returns current model matrix from the state.

Public methodStatic memberGet(SoState, Boolean)

Returns current model matrix from the state, sets given flag to true if matrix is known to be identity.

Public methodStatic memberGetClassStackIndex Obsolete.

Returns the stack id for this element.

Public methodStatic memberGetCombinedCullMatrix

This method gets the model*cullMatrix combined matrix (which is cached by this element).

Public methodGetHashCode
Overrides GetHashCode().
(Inherited from SoNetBase.)
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Public methodStatic memberMakeIdentity

Sets the model matrix to the identity matrix.

Public methodStatic memberMult

Multiplies the given matrix into the model matrix.

Public methodPop

Pops element.

(Inherited from SoElement.)
Public methodStatic memberPopMatrix

This method is used by the TransformSeparator node.

Public methodPush

Overrides OIV.Inventor.Elements.SoModelMatrixElement.Push(OIV.Inventor.Misc.SoState) method to copy values from next instance in the stack.

(Overrides SoAccumulatedElementPush(SoState).)
Public methodStatic memberPushMatrix

This method is used by the TransformSeparator node.

Public methodStatic memberRotateBy

This multiplies a matrix that performs the specified transformation into the model matrix.

Public methodStatic memberScaleBy

This multiplies a matrix that performs the specified transformation into the model matrix.

Public methodStatic memberSet(SoState, SoNode, SbMatrix)
Calls Set(state, node, matrix, true).
Public methodStatic memberSet(SoState, SoNode, SbMatrix, Boolean)

Sets the model matrix to the given matrix.

Public methodStatic memberSetCullMatrix

Sets the transformation that defines the volume that view-volume culling should be tested against.

Public methodToString
Returns a string that represents the current object.
(Inherited from Object.)
Public methodStatic memberTranslateBy

This multiplies a matrix that performs the specified transformation into the model matrix.

Top
Remarks

This element stores the current model matrix - the cumulative transformation applied to subsequent shapes. Because the matrix is cumulative, this class is derived from OIV.Inventor.Elements.SoAccumulatedElement. The OIV.Inventor.Elements.SoModelMatrixElement.Set(OIV.Inventor.Misc.SoState, OIV.Inventor.Nodes.SoNode, OIV.Inventor.SbMatrix, System.Boolean) method replaces the current matrix, while all the others (OIV.Inventor.Elements.SoModelMatrixElement.Mult(OIV.Inventor.Misc.SoState, OIV.Inventor.Nodes.SoNode, OIV.Inventor.SbMatrix), OIV.Inventor.Elements.SoModelMatrixElement.TranslateBy(OIV.Inventor.Misc.SoState, OIV.Inventor.Nodes.SoNode, OIV.Inventor.SbVec3f), etc.) multiply into it. Node id's of the nodes that affect the element are accumulated properly.

This element also stores the current view-volume culling transformation, which is normally the view*projection matrices (set by cameras), but which may be modified by sophisticated culling schemes.

See Also