GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages


Manual Reference Pages  -  SOANTISQUISH (3)

NAME

SoAntiSquish — transformation node that undoes non-uniform 3D scales

CONTENTS

Inherits From
Synopsis
Description
Fields
Methods
Action Behavior
File Format/defaults
See Also

INHERITS FROM

SoBase > SoFieldContainer > SoNode > SoTransformation > SoAntiSquish

SYNOPSIS

#include <Inventor/nodes/SoAntiSquish.h>

enum Sizing {     SoAntiSquish::X    
                     SoAntiSquish::X      fits the other two axes to match the X axis, whose size is unchanged    
SoAntiSquish::Y    
                     SoAntiSquish::Y      fits the other two axes to match the Y axis, whose size is unchanged    
SoAntiSquish::Z    
                     SoAntiSquish::Z      fits the other two axes to match the Z axis, whose size is unchanged    
SoAntiSquish::AVERAGE_DIMENSION    
                     SoAntiSquish::AVERAGE_DIMENSION uses average of 3 scales in the matrix    
SoAntiSquish::BIGGEST_DIMENSION    
                     SoAntiSquish::BIGGEST_DIMENSION uses biggest of 3 scales in the matrix    
SoAntiSquish::SMALLEST_DIMENSION    
                     SoAntiSquish::SMALLEST_DIMENSION uses smallest of 3 scales in the matrix    
SoAntiSquish::LONGEST_DIAGONAL    
                     SoAntiSquish::LONGEST_DIAGONAL accounts for shearing; transforms a cube by the matrix and then uses length of longest diagonal
}

Fields from class SoAntiSquish:

    SoSFEnum    
                    
SoSFEnum             sizing    
SoSFBool    
                    
SoSFBool             recalcAlways

Methods from class SoAntiSquish:

       
                    
                     SoAntiSquish()    
static SoType    
                    
static SoType        getClassTypeId()    
void    
                    
void                 recalc()

Methods from class SoNode:

    void    
                    
void                 setOverride(SbBool state)    
SbBool    
                    
SbBool               isOverride() const    
SoNode *    
                    
SoNode *             copy(SbBool copyConnections = FALSE) const    
virtual SbBool    
                    
virtual SbBool       affectsState() const    
static SoNode *    
                    
static SoNode *      getByName(const SbName &name)    
static int    
                    
static int           getByName(const SbName &name, SoNodeList &list)

Methods from class SoFieldContainer:

    void    
                    
void                 setToDefaults()    
SbBool    
                    
SbBool               hasDefaultValues() const    
SbBool    
                    
SbBool               fieldsAreEqual(const SoFieldContainer *fc) const    
void    
                    
void                 copyFieldValues(const SoFieldContainer *fc, SbBool copyConnections = FALSE)    
SbBool    
                    
SbBool               set(const char *fieldDataString)    
void    
                    
void                 get(SbString &fieldDataString)    
virtual int    
                    
virtual int          getFields(SoFieldList &resultList) const    
virtual SoField *    
                    
virtual SoField *    getField(const SbName &fieldName) const    
SbBool    
                    
SbBool               getFieldName(const SoField *field, SbName &fieldName) const    
SbBool    
                    
SbBool               isNotifyEnabled() const    
SbBool    
                    
SbBool               enableNotify(SbBool flag)

Methods from class SoBase:

    void    
                    
void                 ref()    
void    
                    
void                 unref() const    
void    
                    
void                 unrefNoDelete() const    
void    
                    
void                 touch()    
virtual SoType    
                    
virtual SoType       getTypeId() const    
SbBool    
                    
SbBool               isOfType(SoType type) const    
virtual void    
                    
virtual void         setName(const SbName &name)    
virtual SbName    
                    
virtual SbName       getName() const

DESCRIPTION

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.

FIELDS

    SoSFEnum    
                    
SoSFEnum             sizing
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.

    SoSFBool    
                    
SoSFBool             recalcAlways
If recalcAlways is TRUE, this node calculates its unsquishing matrix every time it is traversed. If FALSE, then this only occurs during the first traversal folllowing a call to recalc().

METHODS

       
                    
                     SoAntiSquish()
Creates an anti-squish node with default settings.

    static SoType    
                    
static SoType        getClassTypeId()
Returns type identifier for this class.

    void    
                    
void                 recalc()
Sets a flag so that the next time the node is traversed, it will recalculate its unsquishing matrix.

ACTION BEHAVIOR

SoGLRenderAction, SoCallbackAction, SoGetBoundingBoxAction, SoGetMatrixAction, SoRayPickAction
Appends the current transformation with a new matrix to create an unsquished result.

FILE FORMAT/DEFAULTS

AntiSquish {



sizing        AVERAGE_DIMENSION
recalcAlways  TRUE


}

SEE ALSO

SoCenterballDragger, SoJackDragger, SoTrackballDragger, SoTransformerDragger, SoTransformation, SoTransformBoxDragger

Search for    or go to Top of page |  Section 3 |  Main Index


SOANTISQUISH(3IV) (-->)

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.