SoModelScaleElement Class Reference
[Elements]

Stores the current model scale. More...

#include <Inventor/elements/SoModelScaleElement.h>

Inheritance diagram for SoModelScaleElement:
SoModelMatrixElement SoAccumulatedElement SoElement SoTypedObject

List of all members.

Public Member Functions

const SbVec3f getScaleFactor () const

Static Public Member Functions

static SoType getClassTypeId ()
static int getClassStackIndex ()
static const SbVec3f getScaleFactor (SoState *state)

Detailed Description

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 a SoMatrixTransform 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 the SbMatrix::getTransform method does not return any status

This 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. The set() 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


Member Function Documentation

static int SoModelScaleElement::getClassStackIndex (  )  [static]

Returns the stack id for this element.

Reimplemented from SoModelMatrixElement.

static SoType SoModelScaleElement::getClassTypeId (  )  [static]

Returns the type identifier for this class.

Reimplemented from SoModelMatrixElement.

const SbVec3f SoModelScaleElement::getScaleFactor (  )  const

Returns the of this element model scale - if the overall SoModelMatrix is diagonazible Not all the SoModelMatrix are diagonalizable because a SoMatrixTransform 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 const SbVec3f SoModelScaleElement::getScaleFactor ( SoState state  )  [static]

Returns current model scale - if the overall SoModelMatrix is diagonazible Not all the SoModelMatrix are diagonalizable because a SoMatrixTransform 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.


The documentation for this class was generated from the following file:

Open Inventor Toolkit reference manual, generated on 4 Sep 2023
Copyright © Thermo Fisher Scientific All rights reserved.
https://www.openinventor.com/