SoAntiSquish

InventorModule
genre InventorNodesAutomatic
author Silicon Graphics Inc
package MeVisLab/Standard
definition inventor.def

Purpose

The module SoAntiSquish removes non-uniform 3D scaling from the current transformation matrix when traversed by an action. It is used by draggers, such as the SoTrackballDragger, that need to maintain uniform scaling regardless of their position in the scene graph.

The magnitude of the new scale is determined by the current transformation matrix and the Sizing field. This node does not alter the translation or rotation in the matrix.

Windows

Default Panel

../../../Modules/Inventor/InventorBase/mhelp/Images/Screenshots/SoAntiSquish._default.png

Output Fields

self

name: self, type: SoNode

Parameter Fields

Visible Fields

Sizing

name: sizing, type: Enum, default: AVERAGE_DIMENSION

Defines which of the algorithms enumerated by the type will be used. The sizing will be applied to select the new scale when the x, y, and z scales are not equal.

Values:

Title Name Description
X X Adjusts the other two axes to match the x-axis, which remains unchanged in size.
Y Y Adjusts the other two axes to match the y-axis, which remains unchanged in size.
Z Z Adjusts the other two axes to match the z-axis, which remains unchanged in size.
Average Dimension AVERAGE_DIMENSION Uses the average of the three scales in the matrix.
Biggest Dimension BIGGEST_DIMENSION Uses the largest of the three scales in the matrix.
Smallest Dimension SMALLEST_DIMENSION Uses the smallest of the three scales in the matrix.
Longest Diagonal LONGEST_DIAGONAL Accounts for shearing; transforms a cube using the matrix and then utilizes the length of the longest diagonal.

Recalc Always

name: recalcAlways, type: Bool, default: TRUE

If checked, this node calculates its unsquishing matrix every time it is traversed.

If unchecked, this calculation occurs only during the first traversal following a call to recalc().