SoAntiSquish¶
-
InventorModule
¶ genre InventorNodesAutomatic
author Silicon Graphics Inc
package MeVisLab/Standard
definition inventor.def
Purpose¶
This node removes nonuniform 3D scaling from the current transformation matrix when traversed by an action. It is used by draggers such as the SoTrackballDragger that need to stay uniformly scaled no matter where they are located 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 change the translation or rotation in the matrix.
Parameter Fields¶
Visible Fields¶
Sizing¶
-
name:
sizing
, type:
Enum
, default:
AVERAGE_DIMENSION
¶ Determines which of the algorithms enumerated by the type. Sizing will be used to select the new scale when the x,y, and z scales are not equal.
Values:
Title | Name | Description |
---|---|---|
X | X | Fits the other two axes to match the X axis, whose size is unchanged. |
Y | Y | Fits the other two axes to match the Y axis, whose size is unchanged. |
Z | Z | Fits the other two axes to match the Z axis, whose size is unchanged. |
Average Dimension | AVERAGE_DIMENSION | Uses average of 3 scales in the matrix. |
Biggest Dimension | BIGGEST_DIMENSION | Uses biggest of 3 scales in the matrix. |
Smallest Dimension | SMALLEST_DIMENSION | Uses smallest of 3 scales in the matrix. |
Longest Diagonal | LONGEST_DIAGONAL | Accounts for shearing; transforms a cube by the matrix and then uses length of longest diagonal. |
Recalc Always¶
-
name:
recalcAlways
, type:
Bool
, default:
TRUE
¶ If
Recalc Always
is TRUE, this node calculates its unsquishing matrix every time it is traversed. If FALSE, then this only occurs during the first traversal following a call torecalc()
.