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

FreeBSD Manual Pages

  
 
  

home | help
SoTabBoxDragger(3IV)()					SoTabBoxDragger(3IV)()

NAME
       SoTabBoxDragger -- cubic	object you can translate and scale by dragging
       with the	mouse

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

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

	  Fields from class SoTabBoxDragger:

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

			 SoTabBoxDragger()
     void		 adjustScaleTabSize()
     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
       SoTabBoxDragger is a composite dragger shaped like a box. Inside	it are
       six SoTabPlaneDraggers which the	dragger	positions and orients to  form
       a  cube.	The operations available in an SoTabPlaneDragger (translation,
       1D scaling and 2D scaling) are available	on  each  face	of  the	 cube.
       Since  they  each  move in their	local space, the dragger may be	easily
       translated or scaled in any direction.

       As a composite dragger, this class makes	sure that when	one  plane  is
       dragged,	the entire box moves together.

       As each sub-dragger is moved, the SoTabBoxDragger updates its scaleFac-
       tor and translation fields. As with all draggers, if you	change a field
       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 SoTabBoxManip, which is subclassed from SoTransform. It cre-
       ates  one  of these draggers and	uses it	as the interface to change its
       fields.	(see the SoTabBoxManip 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
       SoTabBoxDragger class. They are detailed	below 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/tabBoxDragger.iv into your own di-
       rectory,	 editing  the  file, and then setting the environment variable
       SO_DRAGGER_DIR to be a path to that directory.

FIELDS
     SoSFVec3f		 scaleFactor
	  Scale	of the dragger.

     SoSFVec3f		 translation
	  Position of the dragger.

METHODS
			 SoTabBoxDragger()
	  Constructor.

     void		 adjustScaleTabSize()
	  Cause	the scale tab sizes to be re-adjusted on all 6 SoTabPlaneDrag-
	  gers	so  that  they	remain a near constant screen space size. This
	  happens automatically	upon dragger finish. Call this to  adjust  the
	  scale	 tab  sizes  at	other times, for instance after	the camera has
	  changed in a viewer finish callback.

     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	 |
       |tabPlane1	TabPlaneDragger	  --		   yes	 |
       |tabPlane2	TabPlaneDragger	  --		   yes	 |
       |tabPlane3	TabPlaneDragger	  --		   yes	 |
       |tabPlane4	TabPlaneDragger	  --		   yes	 |
       |tabPlane5	TabPlaneDragger	  --		   yes	 |
       |tabPlane6	TabPlaneDragger	  --		   yes	 |
       |boxGeom		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:	       tabBoxTranslator
       .in 0n+.5i
     Parts:	       tabPlane1.translator
			 tabPlane2.translator
			 tabPlane3.translator
			 tabPlane4.translator
			 tabPlane5.translator
			 tabPlane6.translator
     Appearance:       Outline of a Square. The	region within is pickable
     Description:      Begins translation within the plane. The	tabBox	places
			 and  orients each tabPlane so that these squares form
			 a box.

			 .in 0n+.5i
     Resource:	       tabBoxScaleTabMaterial
			 .in 0n+.5i
     Parts:	       tabPlane1.scaleTabMaterial
					   tabPlane2.scaleTabMaterial
					   tabPlane3.scaleTabMaterial
					   tabPlane4.scaleTabMaterial
					   tabPlane5.scaleTabMaterial
					   tabPlane6.scaleTabMaterial
     Appearance:       Green - half diffuse, half emissive.
     Description:      Used as material	for scaling tabs.

			 .in 0n+.5i
     Resource:	       tabBoxScaleTabHints
			 .in 0n+.5i
     Parts:	       tabPlane1.scaleTabHints
					   tabPlane2.scaleTabHints
					   tabPlane3.scaleTabHints
					   tabPlane4.scaleTabHints
					   tabPlane5.scaleTabHints
					   tabPlane6.scaleTabHints
     Appearance:       shapeHints node:COUNTERCLOCKWISE/SOLID/CONVEX
     Description:      Property	for the	tab nodes.

			 .in 0n+.5i
     Resource:	       tabBoxBoxGeom
			 .in 0n+.5i
     Part:	       boxGeom
     Appearance:       Unpickable grey outline of a box.
     Description:      Just feedback..

FILE FORMAT/DEFAULTS
       TabBoxDragger {
	  renderCaching		      AUTO
	  boundingBoxCaching	      AUTO
	  renderCulling		      AUTO
	  pickCulling		      AUTO
	  isActive		      FALSE
	  translation		      0	0 0
	  scaleFactor		      1	1 1
	  callbackList		      NULL
	  surroundScale		      NULL
	  tabPlane1		      TabPlaneDragger {
	  }

	  tabPlane2		      TabPlaneDragger {
	  }

	  tabPlane3		      TabPlaneDragger {
	  }

	  tabPlane4		      TabPlaneDragger {
	  }

	  tabPlane5		      TabPlaneDragger {
	  }

	  tabPlane6		      TabPlaneDragger {
	  }

	  boxGeom		      <tabBoxBoxGeom resource>
	  tabPlane1.translator	      <tabBoxTranslator	resource>
	  tabPlane2.translator	      <tabBoxTranslator	resource>
	  tabPlane3.translator	      <tabBoxTranslator	resource>
	  tabPlane4.translator	      <tabBoxTranslator	resource>
	  tabPlane5.translator	      <tabBoxTranslator	resource>
	  tabPlane6.translator	      <tabBoxTranslator	resource>
	  tabPlane1.scaleTabMaterial  <tabBoxScaleTabMaterial resource>
	  tabPlane2.scaleTabMaterial  <tabBoxScaleTabMaterial resource>
	  tabPlane3.scaleTabMaterial  <tabBoxScaleTabMaterial resource>
	  tabPlane4.scaleTabMaterial  <tabBoxScaleTabMaterial resource>
	  tabPlane5.scaleTabMaterial  <tabBoxScaleTabMaterial resource>
	  tabPlane6.scaleTabMaterial  <tabBoxScaleTabMaterial resource>
	  tabPlane1.scaleTabHints     <tabBoxScaleTabHints resource>
	  tabPlane2.scaleTabHints     <tabBoxScaleTabHints resource>
	  tabPlane3.scaleTabHints     <tabBoxScaleTabHints resource>
	  tabPlane4.scaleTabHints     <tabBoxScaleTabHints resource>
	  tabPlane5.scaleTabHints     <tabBoxScaleTabHints resource>
	  tabPlane6.scaleTabHints     <tabBoxScaleTabHints resource>
     }

SEE ALSO
       SoInteractionKit, SoDragger,  SoCenterballDragger,  SoDirectionalLight-
       Dragger,	 SoDragPointDragger,  SoHandleBoxDragger,  SoJackDragger,  So-
       PointLightDragger,   SoRotateCylindricalDragger,	  SoRotateDiscDragger,
       SoRotateSphericalDragger,       SoScale1Dragger,	      SoScale2Dragger,
       SoScale2UniformDragger,	 SoScaleUniformDragger,	   SoSpotLightDragger,
       SoTabPlaneDragger,  SoTrackballDragger, SoTransformBoxDragger, SoTrans-
       formerDragger, SoTranslate1Dragger, SoTranslate2Dragger

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

home | help