Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
SoJackDragger(3IV)()					  SoJackDragger(3IV)()

NAME
       SoJackDragger  -- jack-shaped object you	rotate,	translate, or scale by
       dragging	with the mouse

INHERITS FROM
       SoBase >	SoFieldContainer > SoNode > SoBaseKit >	SoInteractionKit > So-
       Dragger > SoJackDragger

SYNOPSIS
       #include	<Inventor/draggers/SoJackDragger.h>

	  Fields from class SoJackDragger:

     SoSFRotation	 rotation
     SoSFVec3f		 scaleFactor
     SoSFVec3f		 translation

	  Fields from class SoDragger:

     SoSFBool		 isActive

	  Fields from class SoInteractionKit:

     SoSFEnum		 renderCaching
     SoSFEnum		 boundingBoxCaching
     SoSFEnum		 renderCulling
     SoSFEnum		 pickCulling

	  Parts	from class SoBaseKit:

     (SoNodeKitListPart)  callbackList

	  Methods from class SoJackDragger:

			 SoJackDragger()
     static const SoNodekitCatalog *
			 getClassNodekitCatalog() const
     static SoType	 getClassTypeId()

	  Methods from class SoDragger:

     void		 addStartCallback(SoDraggerCB  *f,  void  *userData  =
			      NULL)
     void		 removeStartCallback(SoDraggerCB *f, void *userData  =
			      NULL)
     void		 addMotionCallback(SoDraggerCB	*f,  void  *userData =
			      NULL)
     void		 removeMotionCallback(SoDraggerCB *f, void *userData =
			      NULL)
     void		 addFinishCallback(SoDraggerCB	*f,  void  *userData =
			      NULL)
     void		 removeFinishCallback(SoDraggerCB *f, void *userData =
			      NULL)
     void		 addValueChangedCallback(SoDraggerCB  *f,  void	*user-
			      Data = NULL)
     void		 removeValueChangedCallback(SoDraggerCB	   *f,	  void
			      *userData	= NULL)
     SbBool		 enableValueChangedCallbacks()
     void		 setMinGesture(int pixels)
     int		 getMinGesture() const
     static void	 setMinScale(float newMinScale)
     static float	 getMinScale()

	  Methods from class SoInteractionKit:

     virtual  SbBool	  setPartAsPath(const SbName &partName,	SoPath *surro-
			      gatePath )

	  Methods from class SoBaseKit:

     virtual const SoNodekitCatalog *
			      getNodekitCatalog() const
     virtual   SoNode	*	  getPart(const	  SbName   &partName,	SbBool
				   makeIfNeeded)
     SbString		      getPartString(const SoBase *part)
     virtual  SoNodeKitPath *  createPathToPart(const SbName &partName,	SbBool
				   makeIfNeeded, const SoPath *pathToExtend  =
				   NULL)
     virtual SbBool	      setPart(const SbName &partName, SoNode *newPart)
     SbBool		      set(char *partName, char *parameters)
     SbBool		      set(char *nameValuePairs)
     static SbBool	      isSearchingChildren()
     static void	      setSearchingChildren(SbBool newVal)

	  Methods from class SoNode:

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

	  Methods from class SoFieldContainer:

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

	  Methods from class SoBase:

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

	  Macros from class SoBaseKit:

     SO_GET_PART(kit, partName,	partClass)
     SO_CHECK_PART(kit,	partName, partClass)

DESCRIPTION
       SoJackDragger  is  a  composite dragger in the shape of a jack from the
       children's game jacks. Three lines along	the x, y, and z	axes form  the
       central	star  shape,  which  you can drag with the mouse to rotate the
       jack.  Dragging any of the small	cubes mounted at the end of  the  axes
       will  scale  the	jack uniformly in all 3	dimensions. At the core	of the
       jack is an SoDragPointDragger for translating the jack.

       Each of these shapes is a different dragger with	the  default  geometry
       changed.	 All  of  them are parts of the	jack dragger, which keeps them
       moving together.	The star is an SoRotateSphericalDragger, and  dragging
       it  updates the rotation	field of the jack dragger. The small cubes are
       an SoScaleUniformDragger, tied to the scaleFactor field.	 The  position
       of  the	SoDragPointDragger  is given by	the translation	field. 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 ob-
       jects with this dragger,	you can	either:

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

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

       You  can	 change	 the  parts in any instance of this dragger using set-
       Part(). The default part	geometries are defined as resources  for  this
       SoJackDragger 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/jackDragger.iv into your	own directory,
       editing	the  file,  and	then setting the environment variable SO_DRAG-
       GER_DIR to be a path to that directory.

FIELDS
     SoSFRotation	 rotation
	  Orientation of the dragger.

     SoSFVec3f		 scaleFactor
	  Scale	of the dragger.

     SoSFVec3f		 translation
	  Position of the dragger.

METHODS
			 SoJackDragger()
	  Constructor.

     static const SoNodekitCatalog *
			 getClassNodekitCatalog() const
	  Returns an SoNodekitCatalog for this class

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

CATALOG	PARTS
       +----------------------------------------------------------------+
       |			   All parts				|
       |							NULL by	|
       |Part Name	Part Type		 Default Type	Default	|
       |								|
       |callbackList	NodeKitListPart		 --		  yes	|
       |surroundScale	SurroundScale		 --		  yes	|
       |antiSquish	AntiSquish		 --		  no	|
       |scaler		ScaleUniformDragger	 --		  yes	|
       |rotator		RotateSphericalDragger	 --		  yes	|
       |translator	DragPointDragger	 --		  yes	|
       |								|
       +----------------------------------------------------------------+
       +---------------------------------------------------------------+
       |      Extra information	for list parts from above table	       |
       |							       |
       |Part Name      Container Type	Permissible Types	       |
       |							       |
       |callbackList   Separator	Callback, EventCallback	       |
       |							       |
       +---------------------------------------------------------------+
DRAGGER	RESOURCES
       .in 0n+.5i
     Resource:	       jackRotatorRotator
       .in 0n+.5i
     Part:	       rotator.rotator
     Appearance:       The 'star' of the jack. Set of 3	white axes (lines)
     Description:      Picking star begins rotational dragging	of  the	 jack-
			 Dragger.

			 .in 0n+.5i
     Resource:	       jackRotatorRotatorActive
			 .in 0n+.5i
     Part:	       rotator.rotatorActive
     Appearance:       Yellow version of the rotator.rotator part.
     Description:      Displayed while the jackDragger is being	rotated

			 .in 0n+.5i
     Resource:	       jackRotatorFeedback
			 .in 0n+.5i
     Part:	       rotator.feedback
     Appearance:       Empty separator
     Description:      Removes	any feedback geometry created in the construc-
			 tor of	the SoRotateSphericalDragger.

			 .in 0n+.5i
     Resource:	       jackRotatorFeedbackActive
			 .in 0n+.5i
     Part:	       rotator.feedbackActive
     Appearance:       Empty separator
     Description:      Removes any feedbackActive geometry created in the con-
			 structor of the SoRotateSphericalDragger.

			 .in 0n+.5i
     Resource:	       jackScalerScaler
			 .in 0n+.5i
     Part:	       scaler.scaler
     Appearance:       Six small white cubes, the tips of the rotator star
     Description:      Picking	this initiates uniform 3D scaling of the drag-
			 ger.

			 .in 0n+.5i
     Resource:	       jackScalerScalerActive
			 .in 0n+.5i
     Part:	       scaler.scalerActive
     Appearance:       Yellow version of the scaler.scaler resource.
     Description:      Displayed while the dragger is being scaled.

			 .in 0n+.5i
     Resource:	       jackScalerFeedback
			 .in 0n+.5i
     Part:	       scaler.feedback
     Appearance:       Empty separator
     Description:      Removes any feedback geometry created in	the  construc-
			 tor of	the SoScaleUniformDragger.

			 .in 0n+.5i
     Resource:	       jackScalerFeedbackActive
			 .in 0n+.5i
     Part:	       scaler.feedbackActive
     Appearance:       Empty separator
     Description:      Removes any feedbackActive geometry created in the con-
			 structor of the SoScaleUniformDragger.

			 .in 0n+.5i
     Resource:	       jackTranslatorLineTranslator
			 .in 0n+.5i
     Parts:	       translator.xTranslator.translator
					   translator.yTranslator.translator
					   translator.zTranslator.translator
     Appearance:       Skinny white cylinder aligned with axies	of motion
     Description:      Picking these parts initiates dragging in the x,	y, and
			 z linear draggers respectively.

			 .in 0n+.5i
     Resource:	       jackTranslatorLineTranslatorActive
			 .in 0n+.5i
     Parts:	       translator.xTranslator.translatorActive
					   translator.yTranslator.transla-
			 torActive
					   translator.zTranslator.transla-
			 torActive
     Appearance:       Skinny yellow cylinder aligned with axies of motion
     Description:      Shown  during linear dragging in	the x, y, and z	direc-
			 tions respectively.

			 .in 0n+.5i
     Resource:	       jackTranslatorPlaneTranslator
			 .in 0n+.5i
     Parts:	       translator.yzTranslator.translator
					   translator.xzTranslator.translator
					   translator.xyTranslator.translator
     Appearance:       White flattened cube, drawn in wireframe
     Description:      Picking these parts initiates dragging by the  yz,  xz,
			 and xy	planar draggers	respectively.

			 .in 0n+.5i
     Resource:	       jackTranslatorPlaneTranslatorActive
			 .in 0n+.5i
     Parts:	       translator.yzTranslator.translatorActive
					   translator.xzTranslator.transla-
			 torActive
					   translator.xyTranslator.transla-
			 torActive
     Appearance:       Yellow flattened	cube, drawn in wireframe
     Description:      Shown  during  planar  dragging	in  the	yz, xz,	and xy
			 planes	respectively.

			 .in 0n+.5i
     Resource:	       jackTranslatorXFeedback
			 .in 0n+.5i
     Part:	       xFeedback
     Appearance:       Double-headed purple arrow
     Description:      Feedback	for motion in x	direction

			 .in 0n+.5i
     Resource:	       jackTranslatorYFeedback
			 .in 0n+.5i
     Part:	       yFeedback
     Appearance:       Double-headed purple arrow
     Description:      Feedback	for motion in y	direction

			 .in 0n+.5i
     Resource:	       jackTranslatorZFeedback
			 .in 0n+.5i
     Part:	       zFeedback
     Appearance:       Double-headed purple arrow
     Description:      Feedback	for motion in z	direction

			 .in 0n+.5i
     Resource:	       jackTranslatorYZFeedback
			 .in 0n+.5i
     Part:	       yzFeedback
     Appearance:       Semi-transparent	green square in	yz plane
     Description:      Feedback	for motion in yz plane

			 .in 0n+.5i
     Resource:	       jackTranslatorXZFeedback
			 .in 0n+.5i
     Part:	       xzFeedback
     Appearance:       Semi-transparent	green square in	yz plane
     Description:      Feedback	for motion in xz plane

			 .in 0n+.5i
     Resource:	       jackTranslatorXYFeedback
			 .in 0n+.5i
     Part:	       xyFeedback
     Appearance:       Semi-transparent	green square in	yz plane
     Description:      Feedback	for motion in xy plane

FILE FORMAT/DEFAULTS
       JackDragger {
	  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	{
	  }

	  rotator				    RotateSphericalDragger {
	  }

	  translator				    DragPointDragger {
	  }

	  rotator.rotator			    <jackRotatorRotator	resource>
	  rotator.rotatorActive			    <jackRotatorRotatorActive resource>
	  rotator.feedback			    <jackRotatorFeedback resource>
	  rotator.feedbackActive		    <jackRotatorFeedbackActive resource>
	  scaler.scaler				    <jackScalerScaler resource>
	  scaler.scalerActive			    <jackScalerScalerActive resource>
	  scaler.feedback			    <jackScalerFeedback	resource>
	  scaler.feedbackActive			    <jackScalerFeedbackActive resource>
	  translator.xTranslator.translator	    <jackTranslatorLineTranslator resource>
	  translator.yTranslator.translator	    <jackTranslatorLineTranslator resource>
	  translator.zTranslator.translator	    <jackTranslatorLineTranslator resource>
	  translator.xTranslator.translatorActive   <jackTranslatorLineTranslatorActive	resource>
	  translator.yTranslator.translatorActive   <jackTranslatorLineTranslatorActive	resource>
	  translator.zTranslator.translatorActive   <jackTranslatorLineTranslatorActive	resource>
	  translator.yzTranslator.translator	    <jackTranslatorPlaneTranslator resource>
	  translator.xzTranslator.translator	    <jackTranslatorPlaneTranslator resource>
	  translator.xyTranslator.translator	    <jackTranslatorPlaneTranslator resource>
	  translator.yzTranslator.translatorActive  <jackTranslatorPlaneTranslatorActive resource>
	  translator.xzTranslator.translatorActive  <jackTranslatorPlaneTranslatorActive resource>
	  translator.xyTranslator.translatorActive  <jackTranslatorPlaneTranslatorActive resource>
	  xFeedback				    <jackTranslatorXFeedback resource>
	  yFeedback				    <jackTranslatorYFeedback resource>
	  zFeedback				    <jackTranslatorZFeedback resource>
	  yzFeedback				    <jackTranslatorYZFeedback resource>
	  xzFeedback				    <jackTranslatorXZFeedback resource>
	  xyFeedback				    <jackTranslatorXYFeedback resource>
     }

SEE ALSO
       SoInteractionKit, SoDragger,  SoCenterballDragger,  SoDirectionalLight-
       Dragger,	 SoDragPointDragger,  SoHandleBoxDragger, SoPointLightDragger,
       SoRotateCylindricalDragger, SoRotateDiscDragger,	SoRotateSphericalDrag-
       ger, SoScale1Dragger, SoScale2Dragger, SoScale2UniformDragger, SoScale-
       UniformDragger, SoSpotLightDragger, SoTabBoxDragger, SoTabPlaneDragger,
       SoTrackballDragger,  SoTransformBoxDragger,  SoTransformerDragger,  So-
       Translate1Dragger, SoTranslate2Dragger

							  SoJackDragger(3IV)()

NAME | INHERITS FROM | SYNOPSIS | DESCRIPTION | FIELDS | METHODS | CATALOG PARTS | DRAGGER RESOURCES | FILE FORMAT/DEFAULTS | SEE ALSO

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=SoJackDragger&sektion=3iv&manpath=FreeBSD+12.1-RELEASE+and+Ports>

home | help