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

FreeBSD Manual Pages

  
 
  

home | help
SoDragPointDragger(3IV)()			     SoDragPointDragger(3IV)()

NAME
       SoDragPointDragger  --  object you can translate	in 3D by dragging with
       the mouse

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

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

	  Fields from class SoDragPointDragger:

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

			 SoDragPointDragger()
     void		 setJumpLimit(float limit)
     float		 getJumpLimit()	const
     void		 showNextDraggerSet()
     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
       SoDragPointDragger  is  a compound dragger that translates in all three
       dimensions when dragged with the	mouse.

       It is made up of	six smaller draggers, which it displays	two at a time.
       Each  pair has one plane	dragger	and one	line dragger. The line dragger
       is oriented perpendicular to the	plane, so together the plane/line pair
       lets you	move through all of 3-space.

       DragPoint has a total of	three such pairs, oriented along the x,	y, and
       z axes of its local space. You can cycle	through	 the  three  pairs  by
       hitting	the  <Control> key with	the cursor over	the dragger. (You need
       not press the mouse button.)

       The line	draggers are SoTranslate1Draggers and the plane	 draggers  are
       SoTranslate2Draggers.   So you can use the <Shift> key to constrain the
       motion of a plane dragger along one of the two axes within  the	plane,
       as described in the SoTranslate2Draggers	man page.

       DragPoint adds extra feedback parts to provide a	more intuitive idea of
       where you are placed in three-space. There are  three  feedback	planes
       and  three  feedback axes; each corresponds to one of the plane or line
       draggers, but spans a much greater distance.  When  you	drag  along  a
       line,  that  line's  larger feedback axis is displayed, and remains an-
       chored in space while the dragger slides	along it. This helps establish
       the motion of the dragger relative to the rest of the scene. Similarly,
       when you	drag within a plane, the  larger  (but	transparent)  feedback
       plane  establishes a ground plane for you to move upon. The location of
       the dragger within the plane is pinpointed  by  two  intersecting  axes
       that  always  cross  below  the	cursor	and extend to the edges	of the
       plane. When you move dragPoint to the edge of the  feedback  plane  (or
       line),  the  feedback will jump to a new	location in that direction, so
       that the	dragger	never leaves the feedback behind.

       The primary directions of motion	are given by the local	space  of  the
       dragger.	 Transforms  earlier in	the scene will affect the dragger, its
       children, and the orientation of	its directions of motion.

       This node has a translation field which always reflects its position in
       local space. Setting the	field moves the	dragger	to that	point. You can
       also connect fields of other nodes or engines from  this	 one  to  make
       them follow the dragger's motion.

       Although	 the child draggers each have their own	resources defining de-
       fault part geometries, the dragPoint dragger overrides these with a new
       set of resources. It also defines resources for the feedback parts that
       it adds.	These are detailed in the Dragger Resources section of the on-
       line reference page for this class. You can change the parts in any in-
       stance of this dragger using setPart().

       You can make your program use different default resources for the parts
       by copying the file /usr/share/data/draggerDefaults/dragPointDragger.iv
       into your own directory,	editing	the file, and then setting  the	 envi-
       ronment variable	SO_DRAGGER_DIR to be a path to that directory.

FIELDS
     SoSFVec3f		 translation
	  Position of the dragger.

METHODS
			 SoDragPointDragger()
	  Constructor.

     void		 setJumpLimit(float limit)
     float		 getJumpLimit()	const
	  Set  and get the point at which the feedback axes will jump to a new
	  position. For	example, if set	to .1 (the default), the feedback axes
	  will jump when the dragger gets within 10% of	the end	of the axis.

     void		 showNextDraggerSet()
	  The  dragPoint  dragger  contains three pairs	of draggers, each con-
	  taining a plane dragger and a	 line  dragger	(see  the  Description
	  above).  The	dragger	 starts	 with  the (y-line/xz-plane) pair dis-
	  played. Calling this method will cycle next through the  (z-line/xy-
	  plane), then the (x-line/yz-plane).

     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	  |
       |xTranslator    Translate1Dragger   --		    yes	  |
       |xyTranslator   Translate2Dragger   --		    yes	  |
       |xzTranslator   Translate2Dragger   --		    yes	  |
       |zTranslator    Translate1Dragger   --		    yes	  |
       |yzTranslator   Translate2Dragger   --		    yes	  |
       |yTranslator    Translate1Dragger   --		    yes	  |
       |xFeedback      Separator	   --		    yes	  |
       |yFeedback      Separator	   --		    yes	  |
       |zFeedback      Separator	   --		    yes	  |
       |yzFeedback     Separator	   --		    yes	  |
       |xzFeedback     Separator	   --		    yes	  |
       |xyFeedback     Separator	   --		    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:	       dragPointXTranslatorTranslator
       .in 0n+.5i
     Part:	       xTranslator.translator
     Appearance:       white cylinder with axis	aligned	in X direction
     Description:      picking this initiates linear motion in X direction

			 .in 0n+.5i
     Resource:	       dragPointXTranslatorTranslatorActive
			 .in 0n+.5i
     Part:	       xTranslator.translatorActive
     Appearance:       yellow cylinder with axis aligned in X direction
     Description:      shown when moving in X direction

			 .in 0n+.5i
     Resource:	       dragPointYTranslatorTranslator
			 .in 0n+.5i
     Part:	       yTranslator.translator
     Appearance:       white cylinder with axis	aligned	in Y direction
     Description:      picking this initiates linear motion in Y direction

			 .in 0n+.5i
     Resource:	       dragPointYTranslatorTranslatorActive
			 .in 0n+.5i
     Part:	       yTranslator.translatorActive
     Appearance:       yellow cylinder with axis aligned in Y direction
     Description:      shown when moving in Y direction

			 .in 0n+.5i
     Resource:	       dragPointZTranslatorTranslator
			 .in 0n+.5i
     Part:	       zTranslator.translator
     Appearance:       white cylinder with axis	aligned	in Z direction
     Description:      picking this initiates linear motion in Z direction

			 .in 0n+.5i
     Resource:	       dragPointZTranslatorTranslatorActive
			 .in 0n+.5i
     Part:	       zTranslator.translatorActive
     Appearance:       yellow cylinder with axis aligned in Z direction
     Description:      shown when moving in Z direction

			 .in 0n+.5i
     Resource:	       dragPointYZTranslatorTranslator
			 .in 0n+.5i
     Part:	       yzTranslator.translator
     Appearance:       white flattened cube within the yz plane	of motion
     Description:      picking this initiates planar motion in yz plane

			 .in 0n+.5i
     Resource:	       dragPointYZTranslatorTranslatorActive
			 .in 0n+.5i
     Part:	       yzTranslator.translatorActive
     Appearance:       yellow flattened	cube within the	yz plane of motion
     Description:      shown when moving in yz plane

			 .in 0n+.5i
     Resource:	       dragPointXZTranslatorTranslator
			 .in 0n+.5i
     Part:	       xzTranslator.translator
     Appearance:       white flattened cube within the xz plane	of motion
     Description:      picking this initiates planar motion in xz plane

			 .in 0n+.5i
     Resource:	       dragPointXZTranslatorTranslatorActive
			 .in 0n+.5i
     Part:	       xzTranslator.translatorActive
     Appearance:       yellow flattened	cube within the	xz plane of motion
     Description:      shown when moving in xz plane

			 .in 0n+.5i
     Resource:	       dragPointXYTranslatorTranslator
			 .in 0n+.5i
     Part:	       xyTranslator.translator
     Appearance:       white flattened cube within the xy plane	of motion
     Description:      picking this initiates planar motion in xy plane

			 .in 0n+.5i
     Resource:	       dragPointXYTranslatorTranslatorActive
			 .in 0n+.5i
     Part:	       xyTranslator.translatorActive
     Appearance:       yellow flattened	cube within the	xy plane of motion
     Description:      shown when moving in xy plane

			 .in 0n+.5i
     Resource:	       dragPointXFeedback
			 .in 0n+.5i
     Part:	       xFeedback
     Appearance:       douple-headed purple arrow
     Description:      feedback	for motion in x	direction

			 .in 0n+.5i
     Resource:	       dragPointYFeedback
			 .in 0n+.5i
     Part:	       yFeedback
     Appearance:       douple-headed purple arrow
     Description:      feedback	for motion in y	direction

			 .in 0n+.5i
     Resource:	       dragPointZFeedback
			 .in 0n+.5i
     Part:	       zFeedback
     Appearance:       douple-headed purple arrow
     Description:      feedback	for motion in z	direction

			 .in 0n+.5i
     Resource:	       dragPointYZFeedback
			 .in 0n+.5i
     Part:	       yzFeedback
     Appearance:       semi-transparent	green square in	yz plane
     Description:      feedback	for motion in yz plane

			 .in 0n+.5i
     Resource:	       dragPointXZFeedback
			 .in 0n+.5i
     Part:	       xzFeedback
     Appearance:       semi-transparent	green square in	yz plane
     Description:      feedback	for motion in xz plane

			 .in 0n+.5i
     Resource:	       dragPointXYFeedback
			 .in 0n+.5i
     Part:	       xyFeedback
     Appearance:       semi-transparent	green square in	yz plane
     Description:      feedback	for motion in xy plane

FILE FORMAT/DEFAULTS
       DragPointDragger	{
	  renderCaching			 AUTO
	  boundingBoxCaching		 AUTO
	  renderCulling			 AUTO
	  pickCulling			 AUTO
	  isActive			 FALSE
	  translation			 0 0 0
	  callbackList			 NULL
	  xTranslator			 Translate1Dragger {
	  }

	  xyTranslator			 Translate2Dragger {
	  }

	  xzTranslator			 Translate2Dragger {
	  }

	  zTranslator			 Translate1Dragger {
	  }

	  yzTranslator			 Translate2Dragger {
	  }

	  yTranslator			 Translate1Dragger {
	  }

	  xFeedback			 <dragPointXFeedback resource>
	  yFeedback			 <dragPointYFeedback resource>
	  zFeedback			 <dragPointZFeedback resource>
	  yzFeedback			 <dragPointYZFeedback resource>
	  xzFeedback			 <dragPointXZFeedback resource>
	  xyFeedback			 <dragPointXYFeedback resource>
	  xTranslator.translator	 <dragPointXTranslatorTranslator resource>
	  xTranslator.translatorActive	 <dragPointXTranslatorTranslatorActive resource>
	  yTranslator.translator	 <dragPointYTranslatorTranslator resource>
	  yTranslator.translatorActive	 <dragPointYTranslatorTranslatorActive resource>
	  zTranslator.translator	 <dragPointZTranslatorTranslator resource>
	  zTranslator.translatorActive	 <dragPointZTranslatorTranslatorActive resource>
	  yzTranslator.translator	 <dragPointYZTranslatorTranslator resource>
	  yzTranslator.translatorActive	 <dragPointYZTranslatorTranslatorActive	resource>
	  xzTranslator.translator	 <dragPointXZTranslatorTranslator resource>
	  xzTranslator.translatorActive	 <dragPointXZTranslatorTranslatorActive	resource>
	  xyTranslator.translator	 <dragPointXYTranslatorTranslator resource>
	  xyTranslator.translatorActive	 <dragPointXYTranslatorTranslatorActive	resource>
     }

SEE ALSO
       SoInteractionKit,  SoDragger,  SoCenterballDragger, SoDragPointDragger,
       SoHandleBoxDragger, SoJackDragger, SoPointLightDragger,	SoRotateCylin-
       dricalDragger,	   SoRotateDiscDragger,	     SoRotateSphericalDragger,
       SoScale1Dragger,	SoScale2Dragger,  SoScale2UniformDragger,  SoScaleUni-
       formDragger,  SoSpotLightDragger,  SoTabBoxDragger,  SoTabPlaneDragger,
       SoTrackballDragger,  SoTransformBoxDragger,  SoTransformerDragger,  So-
       Translate1Dragger, SoTranslate2Dragger

						     SoDragPointDragger(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=SoDragPointDragger&sektion=3iv&manpath=FreeBSD+12.1-RELEASE+and+Ports>

home | help