SoTransformBoxDragger man page on IRIX

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



						    SoTransformBoxDragger(3IV)

NAME
     SoTransformBoxDragger (SoXfBoxDrag) - box-like object you scale, rotate,
     and translate by dragging with the mouse

INHERITS FROM
     SoBase > SoFieldContainer > SoNode > SoBaseKit > SoInteractionKit >
     SoDragger > SoTransformBoxDragger

SYNOPSIS
     #include <Inventor_c/draggers/SoTransformBoxDragger.h>

     typedef SoTransformBoxDragger
			 SoXfBoxDrag

	  Fields from class SoTransformBoxDragger:

     SoSFRotation	 rotation
     SoSFVec3f		 translation
     SoSFVec3f		 scaleFactor

	  Fields from class SoDragger:

     SoSFBool		 isActive

	  Fields from class SoInteractionKit:

     SoSFEnum		 renderCaching
     SoSFEnum		 boundingBoxCaching
     SoSFEnum		 renderCulling
     SoSFEnum		 pickCulling

	  Parts from class SoBaseKit:

     (SoNodeKitListPart)  callbackList

	  Functions from class SoTransformBoxDragger:

     SoTransformBoxDragger *   SoXfBoxDragCreate()
     const SoNodekitCatalog *  SoXfBoxDragGetClassNkitCat()
     SoType		       SoXfBoxDragGetClassTypeId()

	  Functions from class SoDragger:

     void		 SoXfBoxDragAddStartCB(SoXfBoxDrag *this, SoDraggerCB
			      *f, void *userData = NULL)
     void		 SoXfBoxDragRemoveStartCB(SoXfBoxDrag *this,
			      SoDraggerCB *f, void *userData = NULL)
     void		 SoXfBoxDragAddMotionCB(SoXfBoxDrag *this, SoDraggerCB
			      *f, void *userData = NULL)
     void		 SoXfBoxDragRemoveMotionCB(SoXfBoxDrag *this,
			      SoDraggerCB *f, void *userData = NULL)

Page 1

SoTransformBoxDragger(3IV)

     void		 SoXfBoxDragAddFinishCB(SoXfBoxDrag *this, SoDraggerCB
			      *f, void *userData = NULL)
     void		 SoXfBoxDragRemoveFinishCB(SoXfBoxDrag *this,
			      SoDraggerCB *f, void *userData = NULL)
     void		 SoXfBoxDragAddValueChangedCB(SoXfBoxDrag *this,
			      SoDraggerCB *f, void *userData = NULL)
     void		 SoXfBoxDragRemoveValueChangedCB(SoXfBoxDrag *this,
			      SoDraggerCB *f, void *userData = NULL)
     SbBool		 SoXfBoxDragEnableValueChangedCBs(SoXfBoxDrag *this)
     void		 SoXfBoxDragSetMinGesture(SoXfBoxDrag *this, int
			      pixels)
     int		 SoXfBoxDragGetMinGesture(const SoXfBoxDrag *this)
     void		 SoXfBoxDragSetMinScale(float newMinScale)
     float		 SoXfBoxDragGetMinScale()

	  Functions from class SoInteractionKit:

     SbBool		 SoXfBoxDragSetPartAsPath(SoXfBoxDrag *this, const
			      char *partName, SoPath *surrogatePath )

	  Functions from class SoBaseKit:

     const SoNodekitCatalog *  SoXfBoxDragGetCat(const SoXfBoxDrag *this)
     SoNode *		       SoXfBoxDragGetPart(SoXfBoxDrag *this, const
				    char *partName, SbBool makeIfNeeded)
     SbString		       SoXfBoxDragGetPartString(SoXfBoxDrag *this,
				    const SoBase *part)
     SoNodeKitPath *	       SoXfBoxDragCreatePathToPart(SoXfBoxDrag *this,
				    const char *partName, SbBool makeIfNeeded,
				    const SoPath *pathToExtend = NULL)
     SbBool		       SoXfBoxDragSetPart(SoXfBoxDrag *this, const
				    char *partName, SoNode *newPart)
     SbBool		       SoXfBoxDragSet(SoXfBoxDrag *this, char
				    *partName, char *parameters)
     SbBool		       SoXfBoxDragSet2(SoXfBoxDrag *this, char
				    *nameValuePairs)
     SbBool		       SoXfBoxDragIsSearchingChildren()
     void		       SoXfBoxDragSetSearchingChildren(SbBool newVal)

	  Functions from class SoNode:

     void		 SoXfBoxDragSetOverride(SoXfBoxDrag *this, SbBool
			      state)
     SbBool		 SoXfBoxDragIsOverride(const SoXfBoxDrag *this)
     SoNode *		 SoXfBoxDragCopy(const SoXfBoxDrag *this, SbBool
			      copyConnections = FALSE)
     SbBool		 SoXfBoxDragAffectsState(const SoXfBoxDrag *this)
     SoNode *		 SoXfBoxDragGetByName(const char *name)
     int		 SoXfBoxDragGetByNameList(const char *name, SoNodeList
			      *list)

	  Functions from class SoFieldContainer:

Page 2

						    SoTransformBoxDragger(3IV)

     void		 SoXfBoxDragSetToDflts(SoXfBoxDrag *this)
     SbBool		 SoXfBoxDragHasDfltVals(const SoXfBoxDrag *this)
     SbBool		 SoXfBoxDragFldsAreEq(const SoXfBoxDrag *this, const
			      SoFieldContainer *fc)
     void		 SoXfBoxDragCopyFieldVals(SoXfBoxDrag *this, const
			      SoFieldContainer *fc, SbBool copyConnections =
			      FALSE)
     void		 SoXfBoxDragGet(SoXfBoxDrag *this, SbString
			      *fieldDataString)
     int		 SoXfBoxDragGetFields(const SoXfBoxDrag *this,
			      SoFieldList *resultList)
     SoField *		 SoXfBoxDragGetField(const SoXfBoxDrag *this, const
			      char *fieldName)
     SbBool		 SoXfBoxDragGetFieldName(const SoXfBoxDrag *this,
			      const SoField *field, SbName *fieldName)
     SbBool		 SoXfBoxDragIsNotifyEnabled(const SoXfBoxDrag *this)
     SbBool		 SoXfBoxDragEnableNotify(SoXfBoxDrag *this, SbBool
			      flag)

	  Functions from class SoBase:

     void		 SoXfBoxDragRef(SoXfBoxDrag *this)
     void		 SoXfBoxDragUnref(const SoXfBoxDrag *this)
     void		 SoXfBoxDragUnrefNoDelete(const SoXfBoxDrag *this)
     void		 SoXfBoxDragTouch(SoXfBoxDrag *this)
     SoType		 SoXfBoxDragGetTypeId(const SoXfBoxDrag *this)
     SbBool		 SoXfBoxDragIsOfType(const SoXfBoxDrag *this, SoType
			      type)
     void		 SoXfBoxDragSetName(SoXfBoxDrag *this, const char
			      *name)
     SbName		 SoXfBoxDragGetName(const SoXfBoxDrag *this)

DESCRIPTION
     SoTransformBoxDragger is a composite dragger shaped like a box with small
     cubes at the corners. Click and drag any of these cubes to scale the box
     uniformly. Drag any edge of the box to rotate the whole dragger about its
     center, along an axis parallel to that edge. Pick any face of the box for
     2D translation in the plane of that face.

     Although the box looks just about like a wireframe cube, it is composed
     of many different simple draggers arranged in a composite assembly. When
     one part is dragged, the transformBox makes sure they all move together.
     Each of the parts of the box is a different dragger with the default
     geometry changed. The faces of the box are SoTranslate2Draggers, the
     edges are SoRotateCylindricalDraggers, and the cubes are an
     SoScaleUniformDragger. Drag them and the dragger will update its
     translation, rotation and scaleFactor fields to reflect the changes. As
     with all draggers, if you change the fields the dragger will move to
     match the new settings.

     Remember: This is not an SoTransform!. If you want to move other objects

Page 3

SoTransformBoxDragger(3IV)

     with this dragger, you can either:

     [a] Use an SoTransformBoxManip, which is subclassed from SoTransform. It
     creates one of these draggers and uses it as the interface to change its
     fields. (see the SoTransformBoxManip man page).

     [b] Use field-to-field connections to connect the fields of this dragger
     to those of any SoTransformation node.

     You can change the parts in any instance of this dragger using
     SoDraggerSetPart(). The default part geometries are defined as resources
     for this SoTransformBoxDragger class. They are detailed in the Dragger
     Resources section of the online reference page for this class.  You can
     make your program use different default resources for the parts by
     copying the file /usr/share/data/draggerDefaults/transformBoxDragger.iv
     into your own directory, editing the file, and then setting the
     environment variable SO_DRAGGER_DIR to be a path to that directory.

FIELDS
     SoSFRotation	 rotation
	  Orientation of the dragger.

     SoSFVec3f		 translation
	  Position of the dragger.

     SoSFVec3f		 scaleFactor
	  Scale of the dragger.

FUNCTIONS
     SoTransformBoxDragger *   SoXfBoxDragCreate()
	  Constructor.

     const SoNodekitCatalog *  SoXfBoxDragGetClassNkitCat()
	  Returns an SoNodekitCatalog for this class

     SoType		       SoXfBoxDragGetClassTypeId()
	  Returns type identifier for this class.

CATALOG PARTS

Page 4

						    SoTransformBoxDragger(3IV)

     ___________________________________________________________________
				  All parts
								NULL by
      Part Name	      Part Type			 Default Type	Default

      callbackList    NodeKitListPart		 --		  yes
      surroundScale   SurroundScale		 --		  yes
      antiSquish      AntiSquish		 --		  no
      scaler	      ScaleUniformDragger	 --		  yes
      rotator1	      RotateCylindricalDragger	 --		  yes
      rotator2	      RotateCylindricalDragger	 --		  yes
      rotator3	      RotateCylindricalDragger	 --		  yes
      translator1     Translate2Dragger		 --		  yes
      translator2     Translate2Dragger		 --		  yes
      translator3     Translate2Dragger		 --		  yes
      translator4     Translate2Dragger		 --		  yes
      translator5     Translate2Dragger		 --		  yes
      translator6     Translate2Dragger		 --		  yes

     ___________________________________________________________________
     |

									|

     ________________________________________________________________
	    Extra information for list parts from above table

      Part Name	     Container Type   Permissible Types

				      Callback, EventCallback
      callbackList   Separator

     ________________________________________________________________
     |

								     |

DRAGGER RESOURCES
     Resource:	       transformBoxScalerScaler
     Part:	       scaler.scaler
     Appearance:       Eight small white cubes at the corners of the box
     Description:      Picking this initiates uniform 3D scaling of the
			 dragger.

     Resource:	       transformBoxScalerScalerActive
     Part:	       scaler.scalerActive
     Appearance:       Yellow version of the regular scaler part
     Description:      Displayed while the dragger is being scaled.

     Resource:	       transformBoxScalerFeedback
     Part:	       scaler.feedback
     Appearance:       Empty separator
     Description:      Removes any feedback geometry created in the
			 constructor of the SoScaleUniformDragger.

     Resource:	       transformBoxScalerFeedbackActive
     Part:	       scaler.feedbackActive
     Appearance:       Empty separator
     Description:      Removes any feedbackActive geometry created in the
			 constructor of the SoScaleUniformDragger.

     Resource:	       transformBoxRotatorRotator

Page 5

SoTransformBoxDragger(3IV)

     Parts:	       rotator1.rotator
		       rotator2.rotator
		       rotator3.rotator
     Appearance:       Four white lines along the edges of the box
     Description:      Picking this begins rotational dragging. In each of the
			 three rotateCylindrical draggers, the lines of the
			 rotator part are oriented parallel to the axis of
			 rotation.

     Resource:	       transformBoxRotatorRotatorActive
     Parts:	       rotator1.rotatorActive
		       rotator2.rotatorActive
		       rotator3.rotatorActive
     Appearance:       Four yellow lines along the edges of the box
     Description:      Displayed while the dragger is being rotated

     Resource:	       transformBoxRotatorFeedback
     Parts:	       rotator1.feedback
		       rotator2.feedback
		       rotator3.feedback
     Appearance:       Empty separator
     Description:      Removes any feedback geometry created in the
			 constructor of the SoRotateCylindricalDragger.

     Resource:	       transformBoxRotatorFeedbackActive
     Parts:	       rotator1.feedbackActive
		       rotator2.feedbackActive
		       rotator3.feedbackActive
     Appearance:       Thin purple line through center of box
     Description:      Displayed to show axis of rotation during rotational
			 dragging.

     Resource:	       transformBoxTranslatorTranslator
     Parts:	       translator1.translator
		       translator2.translator
		       translator3.translator
		       translator4.translator
		       translator5.translator
		       translator6.translator
     Appearance:       Invisible but pickable square surface
     Description:      Picking these begins 2-D translational dragging within
			 the plane of one of the sides of the box. The
			 invisible squares of the six translate2Draggers are
			 arranged to form the sides of the box.	 The squares
			 are easy to discern, although rendered as invisible;
			 they are bounded by the lines of the rotational
			 dragger parts.

     Resource:	       transformBoxTranslatorTranslatorActive
     Parts:	       translator1.translatorActive
		       translator2.translatorActive
		       translator3.translatorActive

Page 6

						    SoTransformBoxDragger(3IV)

		       translator4.translatorActive
		       translator5.translatorActive
		       translator6.translatorActive
     Appearance:       Invisible square surface
     Description:      Shown during 2-D translational dragging.

     Resource:	       transformBoxTranslatorXAxisFeedback
     Parts:	       translator1.xAxisFeedback
		       translator2.xAxisFeedback
		       translator3.xAxisFeedback
		       translator4.xAxisFeedback
		       translator5.xAxisFeedback
		       translator6.xAxisFeedback
     Appearance:       Short thin purple line
     Description:      Only shown if dragger is moving and the axis is a
			 permissable direction of motion. When pressing
			 <shift>, motion is constrained, and this is displayed
			 only if the primary motion is in the X direction.

     Resource:	       transformBoxTranslatorYAxisFeedback
     Parts:	       translator1.yAxisFeedback
		       translator2.yAxisFeedback
		       translator3.yAxisFeedback
		       translator4.yAxisFeedback
		       translator5.yAxisFeedback
		       translator6.yAxisFeedback
     Appearance:       Short thin purple line
     Description:      Only shown if dragger is moving and the axis is a
			 permissable direction of motion. When pressing
			 <shift>, motion is constrained, and this is displayed
			 only if the primary motion is in the Y direction.

FILE FORMAT/DEFAULTS
     TransformBoxDragger {
	  renderCaching			AUTO
	  boundingBoxCaching		AUTO
	  renderCulling			AUTO
	  pickCulling			AUTO
	  isActive			FALSE
	  rotation			0 0 1  0
	  translation			0 0 0
	  scaleFactor			1 1 1
	  callbackList			NULL
	  surroundScale			NULL
	  antiSquish			AntiSquish {
	      sizing BIGGEST_DIMENSION }

	  scaler			ScaleUniformDragger {
	  }

	  rotator1			RotateCylindricalDragger {

Page 7

SoTransformBoxDragger(3IV)

	  }

	  rotator2			RotateCylindricalDragger {
	  }

	  rotator3			RotateCylindricalDragger {
	  }

	  translator1			Translate2Dragger {
	  }

	  translator2			Translate2Dragger {
	  }

	  translator3			Translate2Dragger {
	  }

	  translator4			Translate2Dragger {
	  }

	  translator5			Translate2Dragger {
	  }

	  translator6			Translate2Dragger {
	  }

	  scaler.scaler			<transformBoxScalerScaler resource>
	  scaler.scalerActive		<transformBoxScalerScalerActive resource>
	  scaler.feedback		<transformBoxScalerFeedback resource>
	  scaler.feedbackActive		<transformBoxScalerFeedbackActive resource>
	  rotator1.rotator		<transformBoxRotatorRotator resource>
	  rotator2.rotator		<transformBoxRotatorRotator resource>
	  rotator3.rotator		<transformBoxRotatorRotator resource>
	  rotator1.rotatorActive	<transformBoxRotatorRotatorActive resource>
	  rotator2.rotatorActive	<transformBoxRotatorRotatorActive resource>
	  rotator3.rotatorActive	<transformBoxRotatorRotatorActive resource>
	  rotator1.feedback		<transformBoxRotatorFeedback resource>
	  rotator2.feedback		<transformBoxRotatorFeedback resource>
	  rotator3.feedback		<transformBoxRotatorFeedback resource>
	  rotator1.feedbackActive	<transformBoxRotatorFeedbackActive resource>
	  rotator2.feedbackActive	<transformBoxRotatorFeedbackActive resource>
	  rotator3.feedbackActive	<transformBoxRotatorFeedbackActive resource>
	  translator1.translator	<transformBoxTranslatorTranslator resource>
	  translator2.translator	<transformBoxTranslatorTranslator resource>
	  translator3.translator	<transformBoxTranslatorTranslator resource>
	  translator4.translator	<transformBoxTranslatorTranslator resource>
	  translator5.translator	<transformBoxTranslatorTranslator resource>
	  translator6.translator	<transformBoxTranslatorTranslator resource>
	  translator1.translatorActive	<transformBoxTranslatorTranslatorActive resource>
	  translator2.translatorActive	<transformBoxTranslatorTranslatorActive resource>
	  translator3.translatorActive	<transformBoxTranslatorTranslatorActive resource>
	  translator4.translatorActive	<transformBoxTranslatorTranslatorActive resource>

Page 8

						    SoTransformBoxDragger(3IV)

	  translator5.translatorActive	<transformBoxTranslatorTranslatorActive resource>
	  translator6.translatorActive	<transformBoxTranslatorTranslatorActive resource>
	  translator1.xAxisFeedback	<transformBoxTranslatorXAxisFeedback resource>
	  translator2.xAxisFeedback	<transformBoxTranslatorXAxisFeedback resource>
	  translator3.xAxisFeedback	<transformBoxTranslatorXAxisFeedback resource>
	  translator4.xAxisFeedback	<transformBoxTranslatorXAxisFeedback resource>
	  translator5.xAxisFeedback	<transformBoxTranslatorXAxisFeedback resource>
	  translator6.xAxisFeedback	<transformBoxTranslatorXAxisFeedback resource>
	  translator1.yAxisFeedback	<transformBoxTranslatorYAxisFeedback resource>
	  translator2.yAxisFeedback	<transformBoxTranslatorYAxisFeedback resource>
	  translator3.yAxisFeedback	<transformBoxTranslatorYAxisFeedback resource>
	  translator4.yAxisFeedback	<transformBoxTranslatorYAxisFeedback resource>
	  translator5.yAxisFeedback	<transformBoxTranslatorYAxisFeedback resource>
	  translator6.yAxisFeedback	<transformBoxTranslatorYAxisFeedback resource>
     }

SEE ALSO
     SoInteractionKit, SoDragger, SoCenterballDragger,
     SoDirectionalLightDragger, SoDragPointDragger, SoHandleBoxDragger,
     SoJackDragger, SoPointLightDragger, SoRotateCylindricalDragger,
     SoRotateDiscDragger, SoRotateSphericalDragger, SoScale1Dragger,
     SoScale2Dragger, SoScale2UniformDragger, SoScaleUniformDragger,
     SoSpotLightDragger, SoTabBoxDragger, SoTabPlaneDragger,
     SoTrackballDragger, SoTransformerDragger, SoTranslate1Dragger,
     SoTranslate2Dragger

Page 9

[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