SoAntiSquish¶
- InventorModule¶
genre
author
package
definition
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¶
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().