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().