Class SoLocalBBoxMatrixElement
java.lang.Object
com.openinventor.inventor.Inventor
com.openinventor.inventor.elements.SoElement
com.openinventor.inventor.elements.SoLocalBBoxMatrixElement
Stores the transformation matrix from object space to some local coordinate space during application of an
SoGetBoundingBoxAction.
This element stores the transformation matrix from object space to some local coordinate space during application of an SoGetBoundingBoxAction. This element is needed to allow separators (and other caching nodes) to store cached bounding boxes in their own local space. Shapes that extend the current bounding box computed by the action use this matrix to transform the bounding box into local space. Separators cache this box, then transform it into the next local space up the hierarchy.
Because this element is set to identity by separators before traversing their children, it can never have an affect on any caching separator that it is not under. Therefore, it should never be tested for cache invalidation, so its matches() method prints an error message and returns false. It also means that it does not have to save node id's so there are no nodes passed in to any of the methods.
-
Nested Class Summary
Nested classes/interfaces inherited from class com.openinventor.inventor.Inventor
Inventor.ConstructorCommand -
Field Summary
Fields inherited from class com.openinventor.inventor.Inventor
VERBOSE_LEVEL, ZeroHandle -
Method Summary
Modifier and TypeMethodDescriptionstatic SbMatrixReturns current matrix from the state.static intDeprecated.As of Open Inventor 9.3.0.0.static voidmakeIdentity(SoState state) Sets the local matrix to the identity matrix.static voidMultiplies the given matrix into the local matrix.static voidThis method is used by the TransformSeparator node.voidOverridespush()method to copy values from next instance in the stack.static SbMatrixpushMatrix(SoState state) This method is used by the TransformSeparator node.static voidResets all current instances in the state to identity.static voidrotateBy(SoState state, SbRotation rotation) Multiplies a matrix that performs the specified transformation into the local matrix.static voidMultiplies a matrix that performs the specified transformation into the local matrix.static voidSets the local matrix to the given matrix.static voidtranslateBy(SoState state, SbVec3f translation) Multiplies a matrix that performs the specified transformation into the local matrix.Methods inherited from class com.openinventor.inventor.elements.SoElement
getClassStackIndex, popMethods inherited from class com.openinventor.inventor.Inventor
dispose, getNativeResourceHandle
-
Method Details
-
makeIdentity
Sets the local matrix to the identity matrix. -
set
Sets the local matrix to the given matrix. -
get
Returns current matrix from the state. -
resetAll
Resets all current instances in the state to identity. -
getClassStackIndex
Deprecated.As of Open Inventor 9.3.0.0. replaced by SoElement.getClassStackIndex(Class)Returns the stack id for this element. ] * -
push
Overridespush()method to copy values from next instance in the stack. -
popMatrix
This method is used by the TransformSeparator node. -
scaleBy
Multiplies a matrix that performs the specified transformation into the local matrix. -
pushMatrix
This method is used by the TransformSeparator node. -
mult
Multiplies the given matrix into the local matrix. -
translateBy
Multiplies a matrix that performs the specified transformation into the local matrix. -
rotateBy
Multiplies a matrix that performs the specified transformation into the local matrix.
-