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

FreeBSD Manual Pages


home | help
SoInteractionKit(3IV)()				       SoInteractionKit(3IV)()

       SoInteractionKit	-- base	class for all interaction nodekit classes

       SoBase >	SoFieldContainer > SoNode > SoBaseKit >	SoInteractionKit

       #include	<Inventor/nodekits/SoInteractionKit.h>

     enum CacheEnabled {
	  SoInteractionKit::OFF	  Never	build or use a cache
	  SoInteractionKit::ON	  Always try to	build a	cache
	  SoInteractionKit::AUTO  Automatic caching

	  Fields from class SoInteractionKit:

     SoSFEnum		 renderCaching
     SoSFEnum		 boundingBoxCaching
     SoSFEnum		 renderCulling
     SoSFEnum		 pickCulling

	  Parts	from class SoBaseKit:

     (SoNodeKitListPart)  callbackList

	  Methods from class SoInteractionKit:

     virtual  SbBool	  setPartAsPath(const SbName &partName,	SoPath *surro-
			      gatePath )
     static const SoNodekitCatalog *
			 getClassNodekitCatalog() const
     static SoType	 getClassTypeId()

	  Methods from class SoBaseKit:

     virtual const SoNodekitCatalog *
			      getNodekitCatalog() const
     virtual   SoNode	*	  getPart(const	  SbName   &partName,	SbBool
     SbString		      getPartString(const SoBase *part)
     virtual  SoNodeKitPath *  createPathToPart(const SbName &partName,	SbBool
				   makeIfNeeded, const SoPath *pathToExtend  =
     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)
     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)

       This  is	 the  base class for all classes of interaction	nodekits. Cur-
       rently, the only	subclass is SoDragger, which reacts to	click-drag-re-
       lease events from the mouse.

       This  node  has	four  fields corresponding to those of an SoSeparator:
       They are	renderCaching, boundingBoxCaching,  renderCulling,  and	 pick-
       Culling.	They behave the	same here as they do for an SoSeparator

       The setPartAsPath() method provides support for creating	"stand-in" ob-
       jects for parts in the interaction kit. The "stand-in", or  "surrogate"
       part,  is  a  path  to  an object that lies somewhere else in the scene

     SoSFEnum		 renderCaching
	  Set render caching mode. Default is AUTO.

     SoSFEnum		 boundingBoxCaching
	  Set bounding box caching mode. Default is ON.	Setting	this value  to
	  AUTO is equivalent to	ON - automatic culling is not implemented.

     SoSFEnum		 renderCulling
	  Set  render culling mode. Default is OFF. Setting this value to AUTO
	  is equivalent	to ON -	automatic culling is not implemented.

     SoSFEnum		 pickCulling
	  Set pick caching mode. Default is AUTO.


     virtual SbBool	 setPartAsPath(const SbName &partName, SoPath  *surro-
			      gatePath )
	  Sets	any  public  part in the interaction kit as a "surrogate" path
	  instead. The object at the end of the	path serves as a stand-in when
	  a pick occurs, and can thus initiate interaction.

	  Instead  of  the usual setPart(), which replaces partName with a new
	  node,	this will remove the node being	used  for  partName  from  the
	  scene	and remember the surrogatePath you give	it. Later, any pick on
	  surrogatePath	will be	regarded as a pick on partName.

	  For example, set the XRotator	part of	an  SoTrackballDragger	to  be
	  the  path  to	an object in the scene.	The rest of the	trackball will
	  look the same, but the  XRotator  stripe  will  disappear.  However,
	  click	 the  mouse  on	the object at the end of surrogatePath and the
	  ball will start to drag in rotation around its X axis.

	  Note that this is different from setting the part to be the node  at
	  the  end  of the path. When you set the part as a node, a second in-
	  stance will be drawn in the local space of the interaction kit. When
	  you set it as	a path,	the object itself is used, not a copy.

	  The  partName	 may  be any part name that follows the	nodekit	syntax
	  for parts, such as childList[0].shape	or rotator.rotatorActive. (See
	  the  getPart() method	in the SoBaseKit reference page	for a complete

     static const SoNodekitCatalog *
			 getClassNodekitCatalog() const
	  Returns an SoNodekitCatalog for the class SoInteractionKit.

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

       |		       All parts			|
       |						NULL by	|
       |Part Name      Part Type	 Default Type	Default	|
       |							|
       |callbackList   NodeKitListPart	 --		  yes	|
       |							|
       |      Extra information	for list parts from above table	       |
       |							       |
       |Part Name      Container Type	Permissible Types	       |
       |							       |
       |callbackList   Separator	Callback, EventCallback	       |
       |							       |
       InteractionKit {
	  renderCaching	      AUTO
	  boundingBoxCaching  AUTO
	  renderCulling	      AUTO
	  pickCulling	      AUTO
	  callbackList	      NULL

       SoBaseKit, SoInteraction, SoNodeKitDetail, SoNodeKitPath, SoNodekitCat-
       alog,  SoDragger,  SoCenterballDragger,	SoDirectionalLightDragger, So-
       DragPointDragger, SoHandleBoxDragger, SoJackDragger,  SoPointLightDrag-
       ger,  SoRotateCylindricalDragger,  SoRotateDiscDragger, SoRotateSpheri-
       calDragger, SoScale1Dragger,  SoScale2Dragger,  SoScale2UniformDragger,
       SoScaleUniformDragger, SoSpotLightDragger, SoTabBoxDragger, SoTabPlane-
       Dragger,	SoTrackballDragger,  SoTransformBoxDragger,  SoTranslate1Drag-
       ger, SoTranslate2Dragger



Want to link to this manual page? Use this URL:

home | help