55#ifndef _SO_ANTI_SQUISH_
56#define _SO_ANTI_SQUISH_
158 SbMatrix savedAnswer, savedInverseAnswer;
#define SoEXTENDER
Provide inline template functions for abs, swap, min, max, and clamp.
#define INVENTOR_API
Disable some annoying warnings on MSVC 6.
#define SO_NODE_HEADER(className)
Non-abstract classes have everything abstract classes have, plus a way to create an instance.
Abstract base class for all actions.
Transformation node that undoes non-uniform 3D scales.
SoAntiSquish()
Creates an anti-squish node with default settings.
virtual void getMatrix(SoGetMatrixAction *action)
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...
SbMatrix getUnsquishingMatrix(SbMatrix squishedMatrix, bool doInverse, SbMatrix &inverseAnswer)
virtual void GLRender(SoGLRenderAction *action)
These virtual functions implement all of the actions for nodes, Most of the default implementations d...
void recalc()
Sets a flag so that the next time the node is traversed, it will recalculate its unsquishing matrix.
virtual void getBoundingBox(SoGetBoundingBoxAction *action)
void doAction(SoAction *action)
Called by actions that need to change the state with a new matrix.
virtual void pick(SoPickAction *action)
virtual void callback(SoCallbackAction *action)
Performs a generic traversal of the scene graph.
Renders a scene graph using OpenGL.
Computes bounding box of a scene.
Computes transformation matrix for subgraph.
Abstract base class for picking objects in a scene.
Field containing a single boolean value.
Field containing an enumerated value.