50#ifndef _SO_ANTI_SQUISH_
51#define _SO_ANTI_SQUISH_
53#include <Inventor/fields/SoFieldData.h>
54#include <Inventor/nodes/SoNode.h>
55#include <Inventor/nodes/SoTransformation.h>
56#include <Inventor/fields/SoSFBool.h>
57#include <Inventor/fields/SoSFEnum.h>
183 static void initClass();
184 static void exitClass();
193 SbMatrix savedAnswer, savedInverseAnswer;
Abstract base class for all actions.
Transformation node that undoes non-uniform 3D scales.
SoAntiSquish()
Creates an anti-squish node with default settings.
SoSFBool recalcAlways
If recalcAlways is TRUE, this node calculates its unsquishing matrix every time it is traversed.
SoSFEnum sizing
Determines which of the algorithms enumerated by the type Sizing will be used to select the new scale...
void recalc()
Sets a flag so that the next time the node is traversed, it will recalculate its unsquishing matrix.
@ Z
Fits the other two axes to match the Z axis, whose size is unchanged.
@ LONGEST_DIAGONAL
Accounts for shearing; transforms a cube by the matrix and then uses length of longest diagonal.
@ AVERAGE_DIMENSION
Uses average of 3 scales in the matrix.
@ Y
Fits the other two axes to match the Y axis, whose size is unchanged.
@ X
Fits the other two axes to match the X axis, whose size is unchanged.
@ SMALLEST_DIMENSION
Uses smallest of 3 scales in the matrix.
@ BIGGEST_DIMENSION
Uses biggest of 3 scales in the matrix.
Performs a generic traversal of a scene graph or path.
Renders a scene graph using Open Inventor's Render Engine.
Computes bounding box of a scene.
Computes transformation matrix for a subgraph.
Abstract base class for picking objects in a scene.
Field containing a single Boolean value.
Field containing an enumerated value.