Class SoModelScaleElement
- java.lang.Object
-
- com.openinventor.inventor.Inventor
-
- com.openinventor.inventor.elements.SoElement
-
- com.openinventor.inventor.elements.SoAccumulatedElement
-
- com.openinventor.inventor.elements.SoModelMatrixElement
-
- com.openinventor.inventor.elements.SoModelScaleElement
-
public class SoModelScaleElement extends SoModelMatrixElement
Stores the current model scale. This is just to redefine the match method to track just the scale portion of the model matrix and to use this element to filter changes not related to scaling. Not all the SoModelMatrix are diagonalizable because aSoMatrixTransform
or a direct set of the SoModelMatrix with a not diagonalizable matrix, so the getScaleFactor can return a vector containing one or more NaN or zeros. This element has some limitation related to the way transformation also rigid ones are accumulated. So please use it with attention also because for the moment theSbMatrix.getTransform
method does not return any statusThis element stores just the scale pportion of the current model matrix the cumulative transformation applied to subsequent shapes. Because the matrix is cumulative, this class is derived from
SoAccumulatedElement
. Theset()
method replaces the current matrix, while all the others (mult()
,translateBy()
, etc.) multiply into it. Node id's of the nodes that affect the element are accumulated properly.- See Also:
SoMatrixTransform
,SoRotation
,SoRotationXYZ
,SoScale
,SoTransform
,SoTranslation
,SoUnits
-
-
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
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description static int
getClassStackIndex()
Deprecated.As of Open Inventor 9300.SbVec3f
getScaleFactor()
Returns the of this element model scale - if the overall SoModelMatrix is diagonazible Not all the SoModelMatrix are diagonalizable because aSoMatrixTransform
or a direct set of the SoModelMatrix with a not diagonalizable matrix, so the getScaleFactor can return a vector containing one or more NaN or zeros.static SbVec3f
getScaleFactor(SoState state)
Returns current model scale - if the overall SoModelMatrix is diagonazible Not all the SoModelMatrix are diagonalizable because aSoMatrixTransform
or a direct set of the SoModelMatrix with a not diagonalizable matrix, so the getScaleFactor can return a vector containing one or more NaN or zeros.-
Methods inherited from class com.openinventor.inventor.elements.SoModelMatrixElement
get, getCombinedCullMatrix, makeIdentity, mult, popMatrix, push, pushMatrix, rotateBy, scaleBy, set, set, setCullMatrix, translateBy
-
Methods inherited from class com.openinventor.inventor.elements.SoElement
getClassStackIndex, pop
-
Methods inherited from class com.openinventor.inventor.Inventor
dispose, getNativeResourceHandle
-
-
-
-
Method Detail
-
getScaleFactor
public SbVec3f getScaleFactor()
Returns the of this element model scale - if the overall SoModelMatrix is diagonazible Not all the SoModelMatrix are diagonalizable because aSoMatrixTransform
or a direct set of the SoModelMatrix with a not diagonalizable matrix, so the getScaleFactor can return a vector containing one or more NaN or zeros.
-
getClassStackIndex
@Deprecated public static int getClassStackIndex()
Deprecated.As of Open Inventor 9300. replaced by SoElement.getClassStackIndex(Class)Returns the stack id for this element. ] *
-
getScaleFactor
public static SbVec3f getScaleFactor(SoState state)
Returns current model scale - if the overall SoModelMatrix is diagonazible Not all the SoModelMatrix are diagonalizable because aSoMatrixTransform
or a direct set of the SoModelMatrix with a not diagonalizable matrix, so the getScaleFactor can return a vector containing one or more NaN or zeros.
-
-