SoCenterballDragger man page on IRIX

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



						      SoCenterballDragger(3IV)

NAME
     SoCenterballDragger (SoCballDrag) - striped ball you rotate and re-center
     by dragging with the mouse

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

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

     typedef SoCenterballDragger  SoCballDrag

	  Fields from class SoCenterballDragger:

     SoSFRotation	 rotation
     SoSFVec3f		 center

	  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 SoCenterballDragger:

     SoCenterballDragger *     SoCballDragCreate()
     const SoNodekitCatalog *  SoCballDragGetClassNkitCat()
     SoType		       SoCballDragGetClassTypeId()

	  Functions from class SoDragger:

     void		 SoCballDragAddStartCB(SoCballDrag *this, SoDraggerCB
			      *f, void *userData = NULL)
     void		 SoCballDragRemoveStartCB(SoCballDrag *this,
			      SoDraggerCB *f, void *userData = NULL)
     void		 SoCballDragAddMotionCB(SoCballDrag *this, SoDraggerCB
			      *f, void *userData = NULL)
     void		 SoCballDragRemoveMotionCB(SoCballDrag *this,
			      SoDraggerCB *f, void *userData = NULL)
     void		 SoCballDragAddFinishCB(SoCballDrag *this, SoDraggerCB
			      *f, void *userData = NULL)

Page 1

SoCenterballDragger(3IV)

     void		 SoCballDragRemoveFinishCB(SoCballDrag *this,
			      SoDraggerCB *f, void *userData = NULL)
     void		 SoCballDragAddValueChangedCB(SoCballDrag *this,
			      SoDraggerCB *f, void *userData = NULL)
     void		 SoCballDragRemoveValueChangedCB(SoCballDrag *this,
			      SoDraggerCB *f, void *userData = NULL)
     SbBool		 SoCballDragEnableValueChangedCBs(SoCballDrag *this)
     void		 SoCballDragSetMinGesture(SoCballDrag *this, int
			      pixels)
     int		 SoCballDragGetMinGesture(const SoCballDrag *this)
     void		 SoCballDragSetMinScale(float newMinScale)
     float		 SoCballDragGetMinScale()

	  Functions from class SoInteractionKit:

     SbBool		 SoCballDragSetPartAsPath(SoCballDrag *this, const
			      char *partName, SoPath *surrogatePath )

	  Functions from class SoBaseKit:

     const SoNodekitCatalog *  SoCballDragGetCat(const SoCballDrag *this)
     SoNode *		       SoCballDragGetPart(SoCballDrag *this, const
				    char *partName, SbBool makeIfNeeded)
     SbString		       SoCballDragGetPartString(SoCballDrag *this,
				    const SoBase *part)
     SoNodeKitPath *	       SoCballDragCreatePathToPart(SoCballDrag *this,
				    const char *partName, SbBool makeIfNeeded,
				    const SoPath *pathToExtend = NULL)
     SbBool		       SoCballDragSetPart(SoCballDrag *this, const
				    char *partName, SoNode *newPart)
     SbBool		       SoCballDragSet(SoCballDrag *this, char
				    *partName, char *parameters)
     SbBool		       SoCballDragSet2(SoCballDrag *this, char
				    *nameValuePairs)
     SbBool		       SoCballDragIsSearchingChildren()
     void		       SoCballDragSetSearchingChildren(SbBool newVal)

	  Functions from class SoNode:

     void		 SoCballDragSetOverride(SoCballDrag *this, SbBool
			      state)
     SbBool		 SoCballDragIsOverride(const SoCballDrag *this)
     SoNode *		 SoCballDragCopy(const SoCballDrag *this, SbBool
			      copyConnections = FALSE)
     SbBool		 SoCballDragAffectsState(const SoCballDrag *this)
     SoNode *		 SoCballDragGetByName(const char *name)
     int		 SoCballDragGetByNameList(const char *name, SoNodeList
			      *list)

	  Functions from class SoFieldContainer:

Page 2

						      SoCenterballDragger(3IV)

     void		 SoCballDragSetToDflts(SoCballDrag *this)
     SbBool		 SoCballDragHasDfltVals(const SoCballDrag *this)
     SbBool		 SoCballDragFldsAreEq(const SoCballDrag *this, const
			      SoFieldContainer *fc)
     void		 SoCballDragCopyFieldVals(SoCballDrag *this, const
			      SoFieldContainer *fc, SbBool copyConnections =
			      FALSE)
     void		 SoCballDragGet(SoCballDrag *this, SbString
			      *fieldDataString)
     int		 SoCballDragGetFields(const SoCballDrag *this,
			      SoFieldList *resultList)
     SoField *		 SoCballDragGetField(const SoCballDrag *this, const
			      char *fieldName)
     SbBool		 SoCballDragGetFieldName(const SoCballDrag *this,
			      const SoField *field, SbName *fieldName)
     SbBool		 SoCballDragIsNotifyEnabled(const SoCballDrag *this)
     SbBool		 SoCballDragEnableNotify(SoCballDrag *this, SbBool
			      flag)

	  Functions from class SoBase:

     void		 SoCballDragRef(SoCballDrag *this)
     void		 SoCballDragUnref(const SoCballDrag *this)
     void		 SoCballDragUnrefNoDelete(const SoCballDrag *this)
     void		 SoCballDragTouch(SoCballDrag *this)
     SoType		 SoCballDragGetTypeId(const SoCballDrag *this)
     SbBool		 SoCballDragIsOfType(const SoCballDrag *this, SoType
			      type)
     void		 SoCballDragSetName(SoCballDrag *this, const char
			      *name)
     SbName		 SoCballDragGetName(const SoCballDrag *this)

DESCRIPTION
     SoCenterballDragger is a composite dragger. Its shape is a sphere defined
     by three intersecting circles. Where the circles intersect (at the ends
     of the x, y and z axes) there are sets of small green crosshairs.
     Dragging a pair of crosshairs translates the entire centerball within the
     plane of the crosshairs. The interface of the sphere and circles is just
     like SoTrackballDragger. Dragging a circle rotates about a constrained
     axis and dragging the areas between them rotates the sphere freely about
     the center. An invisible but pickable sphere initiates the free-rotation
     dragging.

     When you drag the crosshairs, the center field is updated; there is no
     translation field. Dragging other parts of the centerball updates the
     rotation field. As with all draggers, if you change the fields the
     dragger moves in response.

     The draggers used for the crosshair parts are SoTranslate2Draggers, so
     pressing the <Shift> key allows you to constrain motion to slide along
     either the local x axis or y axis of that crosshair.. The direction is

Page 3

SoCenterballDragger(3IV)

     determined by your initial mouse gesture after pressing the key.
     Releasing the key removes the constraint.

     Remember: This is not an SoTransform! If you want to move other objects
     with this dragger, you can either:

     [a] Use an SoCenterballManip, which is subclassed from SoTransform. The
     manipulator creates one of these draggers and uses it as the interface to
     edit the manipulator's fields. (See the SoCenterballManip 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 SoCenterballDragger 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/centerballDragger.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 centerball dragger.

     SoSFVec3f		 center
	  Center of rotation and scale of the centerball dragger.

FUNCTIONS
     SoCenterballDragger *     SoCballDragCreate()
	  Constructor.

     const SoNodekitCatalog *  SoCballDragGetClassNkitCat()
	  Returns an SoNodekitCatalog for this class.

     SoType		       SoCballDragGetClassTypeId()
	  Returns type identifier for this class.

CATALOG PARTS

Page 4

						      SoCenterballDragger(3IV)

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

      callbackList	  NodeKitListPart	     --		      yes
      translateToCenter	  MatrixTransform	     --		      yes
      surroundScale	  SurroundScale		     --		      yes
      antiSquish	  AntiSquish		     --		      no
      lightModel	  LightModel		     --		      yes
      XAxis		  Separator		     --		      yes
      YAxis		  Separator		     --		      yes
      ZAxis		  Separator		     --		      yes
      rotator		  RotateSphericalDragger     --		      yes
      YRotator		  RotateCylindricalDragger   --		      yes
      ZCenterChanger	  Translate2Dragger	     --		      yes
      ZRotator		  RotateCylindricalDragger   --		      yes
      YCenterChanger	  Translate2Dragger	     --		      yes
      XCenterChanger	  Translate2Dragger	     --		      yes
      XRotator		  RotateCylindricalDragger   --		      yes

     _______________________________________________________________________
     |

									    |

     ________________________________________________________________
	    Extra information for list parts from above table

      Part Name	     Container Type   Permissible Types

				      Callback, EventCallback
      callbackList   Separator

     ________________________________________________________________
     |

								     |

DRAGGER RESOURCES
     Resource:	       centerballRotator
     Part:	       rotator.rotator
     Appearance:       Invisible but pickable sphere
     Description:      When picked, initiates free rotation about the center
			 point. Slightly smaller radius than the stripes, so
			 you must pick between the stripes to use it.

     Resource:	       centerballRotatorActive
     Part:	       rotator.rotatorActive
     Appearance:       Invisible sphere
     Description:      Displayed during unconstrained 3D rotation instead of
			 centerballRotator.

     Resource:	       centerballStripe
     Parts:	       XRotator.rotator
		       YRotator.rotator
		       ZRotator.rotator
     Appearance:       White circle aligned with rotation axis.
     Description:      When picked, initiates constrained rotation. Each
			 rotator rotates locally about its Y axis. The
			 centerball contains private transform parts that
			 orient the draggers along three different axes.

Page 5

SoCenterballDragger(3IV)

     Resource:	       centerballStripeActive
     Parts:	       XRotator.rotatorActive
		       YRotator.rotatorActive
		       ZRotator.rotatorActive
     Appearance:       White circle aligned with the rotation axis.
     Description:      Displayed during constrained rotation instead of the
			 rotator part. The centerball orients the draggers
			 along three different axes.

     Resource:	       centerballCenterChanger
     Parts:	       XCenterChanger.translator
		       YCenterChanger.translator
		       ZCenterChanger.translator
     Appearance:       Two sets of small green crosshairs, one located at each
     intersection of axis and ball.
     Description:      When picked, initiates 2D translation of ball through
			 space. Edits the center field, which becomes center
			 for subsequent rotations. Each translator works
			 locally in its X-Y plane. The centerball contains
			 private transform parts that place the draggers along
			 three different axes.

     Resource:	       centerballCenterChangerActive
     Parts:	       XCenterChanger.translatorActive
		       YCenterChanger.translatorActive
		       ZCenterChanger.translatorActive
     Appearance:       Yellow version of centerballCenterChanger.
     Description:      Displayed during 2D translation instead of regular
			 translator part. The centerball places the draggers
			 along three different axes.

     Resource:	       centerballCenterXAxisFeedback
     Parts:	       XCenterChanger.xAxisFeedback
		       YCenterChanger.xAxisFeedback
		       ZCenterChanger.xAxisFeedback
     Appearance:       Double-headed purple arrows, one located at each
     intersection of axis and ball. Located atop X axis of crosshair.
     Description:      Only shown if dragger is moving and the axis is a
			 permitted direction of motion. When pressing <shift>,
			 motion is constrained, and this is displayed only if
			 the primary motion is in the X direction of the child
			 dragger's local space. The centerball places the
			 draggers along three different axes; so not all of
			 these parts aligns with the X axis in centerball
			 space.

     Resource:	       centerballCenterYAxisFeedback
     Parts:	       XCenterChanger.yAxisFeedback
		       YCenterChanger.yAxisFeedback
		       ZCenterChanger.yAxisFeedback
     Appearance:       Double-headed purple arrows, one located at each
     intersection of axis and ball. Located atop Y axis of crosshair.

Page 6

						      SoCenterballDragger(3IV)

     Description:      Only shown if dragger is moving and the axis is a
			 permitted direction of motion. When pressing <shift>,
			 motion is constrained, and this is displayed only if
			 the primary motion is in the Y direction of the child
			 dragger's local space. The centerball places the
			 draggers along three different axes; so not all of
			 these parts aligns with the Y axis in centerball
			 space.

     Resource:	       centerballXAxis
     Part:	       XAxis
     Appearance:       Thin yellow line connecting left and right crosshairs.
     Description:      Feedback shown alone during rotation about X axis;
			 displayed with centerballYAxis and centerballZAxis
			 while center is dragged.

     Resource:	       centerballYAxis
     Part:	       YAxis
     Appearance:       Thin yellow line connecting lower and upper crosshairs.
     Description:      Feedback shown alone during rotation about Y axis;
			 displayed with centerballXAxis and centerballZAxis
			 while center is dragged.

     Resource:	       centerballZAxis
     Part:	       ZAxis
     Appearance:       Thin yellow line connecting near and far crosshairs.
     Description:      Feedback shown alone during rotation about Z axis;
			 displayed with centerballXAxis and centerballYAxis
			 while center is dragged.

FILE FORMAT/DEFAULTS
     CenterballDragger {
	  renderCaching			   AUTO
	  boundingBoxCaching		   AUTO
	  renderCulling			   AUTO
	  pickCulling			   AUTO
	  isActive			   FALSE
	  rotation			   0 0 1  0
	  center			   0 0 0
	  callbackList			   NULL
	  translateToCenter		   MatrixTransform {
	      matrix 1 0 0 0
					       0 1 0 0
					       0 0 1 0
					       0 0 0 1 }

	  surroundScale			   NULL
	  antiSquish			   AntiSquish {
	      sizing LONGEST_DIAGONAL }

	  lightModel			   LightModel {

Page 7

SoCenterballDragger(3IV)

	      model PHONG }

	  XAxis				   <centerballXAxis resource>
	  YAxis				   <centerballYAxis resource>
	  ZAxis				   <centerballZAxis resource>
	  rotator			   RotateSphericalDragger {
	  }

	  YRotator			   RotateCylindricalDragger {
	  }

	  ZCenterChanger		   Translate2Dragger {
	  }

	  ZRotator			   RotateCylindricalDragger {
	  }

	  YCenterChanger		   Translate2Dragger {
	  }

	  XCenterChanger		   Translate2Dragger {
	  }

	  XRotator			   RotateCylindricalDragger {
	  }

	  rotator.rotator		   <centerballRotator resource>
	  rotator.rotatorActive		   <centerballRotatorActive resource>
	  XRotator.rotator		   <centerballStripe resource>
	  YRotator.rotator		   <centerballStripe resource>
	  ZRotator.rotator		   <centerballStripe resource>
	  XRotator.rotatorActive	   <centerballStripeActive resource>
	  YRotator.rotatorActive	   <centerballStripeActive resource>
	  ZRotator.rotatorActive	   <centerballStripeActive resource>
	  XCenterChanger.translator	   <centerballCenterChanger resource>
	  YCenterChanger.translator	   <centerballCenterChanger resource>
	  ZCenterChanger.translator	   <centerballCenterChanger resource>
	  XCenterChanger.translatorActive  <centerballCenterChangerActive resource>
	  YCenterChanger.translatorActive  <centerballCenterChangerActive resource>
	  ZCenterChanger.translatorActive  <centerballCenterChangerActive resource>
	  XCenterChanger.xAxisFeedback	   <centerballCenterXAxisFeedback resource>
	  YCenterChanger.xAxisFeedback	   <centerballCenterXAxisFeedback resource>
	  ZCenterChanger.xAxisFeedback	   <centerballCenterXAxisFeedback resource>
	  XCenterChanger.yAxisFeedback	   <centerballCenterYAxisFeedback resource>
	  YCenterChanger.yAxisFeedback	   <centerballCenterYAxisFeedback resource>
	  ZCenterChanger.yAxisFeedback	   <centerballCenterYAxisFeedback resource>
     }

SEE ALSO
     SoInteractionKit, SoDragger, SoDirectionalLightDragger,
     SoDragPointDragger, SoHandleBoxDragger, SoJackDragger,
     SoPointLightDragger, SoRotateCylindricalDragger, SoRotateDiscDragger,

Page 8

						      SoCenterballDragger(3IV)

     SoRotateSphericalDragger, SoScale1Dragger, SoScale2Dragger,
     SoScale2UniformDragger, SoScaleUniformDragger, SoSpotLightDragger,
     SoTabBoxDragger, SoTabPlaneDragger, SoTrackballDragger,
     SoTransformBoxDragger, 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