SoAntiSquish man page on IRIX

Man page or keyword search:  
man Server   31559 pages
apropos Keyword Search (all sections)
Output format
IRIX logo
[printable version]



							     SoAntiSquish(3IV)

NAME
     SoAntiSquish (SoAntiSquish) - transformation node that undoes non-uniform
     3D scales

INHERITS FROM
     SoBase > SoFieldContainer > SoNode > SoTransformation > SoAntiSquish

SYNOPSIS
     #include <Inventor_c/nodes/SoAntiSquish.h>

     enum SoAntiSquishSizing {
	  SO_ANTI_SQUISH_X    fits the other two axes to match the X axis,
				   whose size is unchanged
	  SO_ANTI_SQUISH_Y    fits the other two axes to match the Y axis,
				   whose size is unchanged
	  SO_ANTI_SQUISH_Z    fits the other two axes to match the Z axis,
				   whose size is unchanged
	  SO_ANTI_SQUISH_AVERAGE_DIMENSION
			      uses average of 3 scales in the matrix
	  SO_ANTI_SQUISH_BIGGEST_DIMENSION
			      uses biggest of 3 scales in the matrix
	  SO_ANTI_SQUISH_SMALLEST_DIMENSION
			      uses smallest of 3 scales in the matrix
	  SO_ANTI_SQUISH_LONGEST_DIAGONAL
			      accounts for shearing; transforms a cube by the
				   matrix and then uses length of longest
				   diagonal
     }

	  Fields from class SoAntiSquish:

     SoSFEnum		 sizing
     SoSFBool		 recalcAlways

	  Functions from class SoAntiSquish:

     SoAntiSquish *	 SoAntiSquishCreate()
     SoType		 SoAntiSquishGetClassTypeId()
     void		 SoAntiSquishRecalc(SoAntiSquish *this)

	  Functions from class SoNode:

     void		 SoAntiSquishSetOverride(SoAntiSquish *this, SbBool
			      state)
     SbBool		 SoAntiSquishIsOverride(const SoAntiSquish *this)
     SoNode *		 SoAntiSquishCopy(const SoAntiSquish *this, SbBool
			      copyConnections = FALSE)
     SbBool		 SoAntiSquishAffectsState(const SoAntiSquish *this)
     SoNode *		 SoAntiSquishGetByName(const char *name)
     int		 SoAntiSquishGetByNameList(const char *name,
			      SoNodeList *list)

Page 1

SoAntiSquish(3IV)

	  Functions from class SoFieldContainer:

     void		 SoAntiSquishSetToDflts(SoAntiSquish *this)
     SbBool		 SoAntiSquishHasDfltVals(const SoAntiSquish *this)
     SbBool		 SoAntiSquishFldsAreEq(const SoAntiSquish *this, const
			      SoFieldContainer *fc)
     void		 SoAntiSquishCopyFieldVals(SoAntiSquish *this, const
			      SoFieldContainer *fc, SbBool copyConnections =
			      FALSE)
     SbBool		 SoAntiSquishSet(SoAntiSquish *this, const char
			      *fieldDataString)
     void		 SoAntiSquishGet(SoAntiSquish *this, SbString
			      *fieldDataString)
     int		 SoAntiSquishGetFields(const SoAntiSquish *this,
			      SoFieldList *resultList)
     SoField *		 SoAntiSquishGetField(const SoAntiSquish *this, const
			      char *fieldName)
     SbBool		 SoAntiSquishGetFieldName(const SoAntiSquish *this,
			      const SoField *field, SbName *fieldName)
     SbBool		 SoAntiSquishIsNotifyEnabled(const SoAntiSquish *this)
     SbBool		 SoAntiSquishEnableNotify(SoAntiSquish *this, SbBool
			      flag)

	  Functions from class SoBase:

     void		 SoAntiSquishRef(SoAntiSquish *this)
     void		 SoAntiSquishUnref(const SoAntiSquish *this)
     void		 SoAntiSquishUnrefNoDelete(const SoAntiSquish *this)
     void		 SoAntiSquishTouch(SoAntiSquish *this)
     SoType		 SoAntiSquishGetTypeId(const SoAntiSquish *this)
     SbBool		 SoAntiSquishIsOfType(const SoAntiSquish *this, SoType
			      type)
     void		 SoAntiSquishSetName(SoAntiSquish *this, const char
			      *name)
     SbName		 SoAntiSquishGetName(const SoAntiSquish *this)

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

Page 2

							     SoAntiSquish(3IV)

     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().

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

     SoType		 SoAntiSquishGetClassTypeId()
	  Returns type identifier for this class.

     void		 SoAntiSquishRecalc(SoAntiSquish *this)
	  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

Page 3

[top]

List of man pages available for IRIX

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net