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

FreeBSD Manual Pages

  
 
  

home | help
SoCallbackAction(3IV)()				       SoCallbackAction(3IV)()

NAME
       SoCallbackAction	-- performs a generic traversal	of the scene graph

INHERITS FROM
       SoAction	> SoCallbackAction

SYNOPSIS
       #include	<Inventor/actions/SoCallbackAction.h>

     typedef void	 SoTriangleCB(void *userData,
			       SoCallbackAction	*action,
			       const SoPrimitiveVertex *v1,
			       const SoPrimitiveVertex *v2,
			       const SoPrimitiveVertex *v3)
     typedef void	 SoLineSegmentCB(void *userData,
			       SoCallbackAction	*action,
			       const SoPrimitiveVertex *v1,
			       const SoPrimitiveVertex *v2)
     typedef void	 SoPointCB(void	*userData,
			       SoCallbackAction	*action,
			       const SoPrimitiveVertex *v)
     typedef SoCallbackAction::Response
			 SoCallbackActionCB(void *userData,
			       SoCallbackAction	*action,
			       const SoNode *node)

     enum Response {
	  SoCallbackAction::CONTINUE  Continue	traversal  as  if nothing hap-
					   pened
	  SoCallbackAction::ABORT     Abort traversal
	  SoCallbackAction::PRUNE     Do not  traverse	node's	children,  but
					   continue traversal
     }

	  Methods from class SoCallbackAction:

				 SoCallbackAction()
     void			 addPreCallback(SoType	 type,	 SoCallbackAc-
				      tionCB *cb, void *data)
     void			 addPostCallback(SoType	 type,	 SoCallbackAc-
				      tionCB *cb, void *data)
     void			 addPreTailCallback(SoCallbackActionCB	  *cb,
				      void *data)
     void			 addPostTailCallback(SoCallbackActionCB	  *cb,
				      void *data)
     void			 addTriangleCallback(SoType type, SoTriangleCB
				      *cb, void	*data)
     void			 addLineSegmentCallback(SoType	type,  SoLine-
				      SegmentCB	*cb, void *data)
     void			 addPointCallback(SoType  type,	SoPointCB *cb,
				      void *data)
     float			 getComplexity() const
     SoComplexity::Type		 getComplexityType() const
     int32_t			 getNumCoordinates() const
     const SbVec3f &		 getCoordinate3(int index) const
     const SbVec4f &		 getCoordinate4(int index) const
     SoDrawStyle::Style		 getDrawStyle()	const
     unsigned short		 getLinePattern() const
     float			 getLineWidth()	const
     float			 getPointSize()	const
     const SbName &		 getFontName() const
     float			 getFontSize() const
     SoLightModel::Model	 getLightModel() const
     const SbVec3f &		 getLightAttenuation() const
     void			 getMaterial(SbColor &ambient,	SbColor	 &dif-
				      fuse,  SbColor &specular,	SbColor	&emis-
				      sion, float &shininess, float &transpar-
				      ency, int	mtlIndex = 0) const
     SoMaterialBinding::Binding	 getMaterialBinding() const
     long			 getNumNormals() const
     const SbVec3f &		 getNormal(int index) const
     SoNormalBinding::Binding	 getNormalBinding() const
     int32_t			 getNumProfileCoordinates() const
     const SbVec2f &		 getProfileCoordinate2(int index) const
     const SbVec3f &		 getProfileCoordinate3(int index) const
     const SoNodeList &		 getProfile() const
     SoShapeHints::VertexOrdering
				 getVertexOrdering() const
     SoShapeHints::ShapeType	 getShapeType()	const
     SoShapeHints::FaceType	 getFaceType() const
     float			 getCreaseAngle() const
     int32_t			 getNumTextureCoordinates() const
     const SbVec2f &		 getTextureCoordinate2(int index) const
     const SbVec4f &		 getTextureCoordinate4(int index) const
     SoTextureCoordinateBinding::Binding
				 getTextureCoordinateBinding() const
     const SbColor &		 getTextureBlendColor()	const
     const unsigned char *	 getTextureImage(SbVec2s &size,	int &numComps)
				      const
     const SbMatrix &		 getTextureMatrix() const
     SoTexture2::Model		 getTextureModel() const
     SoTexture2::Wrap		 getTextureWrapS() const
     SoTexture2::Wrap		 getTextureWrapT() const
     const SbMatrix &		 getModelMatrix() const
     SoUnits::Units		 getUnits() const
     float			 getFocalDistance() const
     const SbMatrix &		 getProjectionMatrix() const
     const SbMatrix &		 getViewingMatrix() const
     const SbViewVolume	&	 getViewVolume() const
     SoPickStyle::Style		 getPickStyle()	const
     int32_t			 getSwitch() const

	  Methods from class SoAction:

     virtual void	 apply(SoNode *node)
     virtual void	 apply(SoPath *path)
     virtual void	 apply(const SoPathList	&pathList, SbBool obeysRules =
			      FALSE)
     static SoType	 getClassTypeId()
     virtual SoType	 getTypeId()
     virtual SbBool	 isOfType(SoType type)
     virtual void	 invalidateState()

DESCRIPTION
       This  action  defines  a	generic	traversal of the scene graph. The user
       can specify callback functions for node types or	paths; when those node
       types  or  paths	 are encountered during	traversal, the user's callback
       function	is called.

       In addition, callback functions can be registered for primitives	gener-
       ated by shapes in the scene graph. Most shape types can generate	primi-
       tives that represent or approximate their geometries.  Triangle	primi-
       tives are used for all surfaces (such as	cubes, face sets, or 3D	text),
       line segment primitives are used	for line shapes, and point  primitives
       are  used  for point shapes. Note that the type of primitives generated
       for a shape is the same,	regardless of drawing style or	other  proper-
       ties.

       Most of the methods on this class access	information from the traversal
       state. They should be called only by callback functions	that  are  in-
       voked during traversal, so there	is a valid state to work with.

METHODS
				 SoCallbackAction()
	  The constructor.

     void			 addPreCallback(SoType	 type,	 SoCallbackAc-
				      tionCB *cb, void *data)
     void			 addPostCallback(SoType	 type,	 SoCallbackAc-
				      tionCB *cb, void *data)
	  These	 add a callback	function to call when a	node of	the given type
	  is encountered during	traversal. The PreCallback is called just  be-
	  fore	the node is traversed, and the PostCallback is called just af-
	  ter.	The value returned by a	callback  function  indicates  whether
	  the action should continue with the traversal.

     void			 addPreTailCallback(SoCallbackActionCB	  *cb,
				      void *data)
     void			 addPostTailCallback(SoCallbackActionCB	  *cb,
				      void *data)
	  These	 can be	used to	set up callback	functions to call when the ac-
	  tion is applied to a path. The functions are called just  before  or
	  after	the node at the	tail of	the path is traversed.

     void			 addTriangleCallback(SoType type, SoTriangleCB
				      *cb, void	*data)
     void			 addLineSegmentCallback(SoType	type,  SoLine-
				      SegmentCB	*cb, void *data)
     void			 addPointCallback(SoType  type,	SoPointCB *cb,
				      void *data)
	  Routines to add callbacks for	generated primitives (triangles,  line
	  segments, and	points)	for all	shapes of the given type. The callback
	  function will	be called for each primitive generated for all	shapes
	  of or	derived	from that type.

     float			 getComplexity() const
     SoComplexity::Type		 getComplexityType() const
	  Returns complexity information from the state.

     int32_t			 getNumCoordinates() const
     const SbVec3f &		 getCoordinate3(int index) const
     const SbVec4f &		 getCoordinate4(int index) const
	  Returns the current coordinates from the state.

     SoDrawStyle::Style		 getDrawStyle()	const
     unsigned short		 getLinePattern() const
     float			 getLineWidth()	const
     float			 getPointSize()	const
	  Returns the current drawing style information	from the state.

     const SbName &		 getFontName() const
     float			 getFontSize() const
	  Returns the current font information from the	state.

     SoLightModel::Model	 getLightModel() const
     const SbVec3f &		 getLightAttenuation() const
	  Returns the current lighting model information from the state.

     void			 getMaterial(SbColor  &ambient,	 SbColor &dif-
				      fuse, SbColor &specular, SbColor	&emis-
				      sion, float &shininess, float &transpar-
				      ency, int	mtlIndex = 0) const
     SoMaterialBinding::Binding	 getMaterialBinding() const
	  Returns the current material information from	the state. Providing a
	  mtlIndex will	return the material defined for	that index.

     long			 getNumNormals() const
     const SbVec3f &		 getNormal(int index) const
     SoNormalBinding::Binding	 getNormalBinding() const
	  Returns the current normal information from the state.

     int32_t			 getNumProfileCoordinates() const
     const SbVec2f &		 getProfileCoordinate2(int index) const
     const SbVec3f &		 getProfileCoordinate3(int index) const
     const SoNodeList &		 getProfile() const
	  Returns the current profiles and their coordinates from the state.

     SoShapeHints::VertexOrdering
				 getVertexOrdering() const
     SoShapeHints::ShapeType	 getShapeType()	const
     SoShapeHints::FaceType	 getFaceType() const
     float			 getCreaseAngle() const
	  Returns the current shape hints from the state.

     int32_t			 getNumTextureCoordinates() const
     const SbVec2f &		 getTextureCoordinate2(int index) const
     const SbVec4f &		 getTextureCoordinate4(int index) const
     SoTextureCoordinateBinding::Binding
				 getTextureCoordinateBinding() const
     const SbColor &		 getTextureBlendColor()	const
     const unsigned char *	 getTextureImage(SbVec2s &size,	int &numComps)
				      const
	  Returns texture information  from  the  state.  getNumTextureCoordi-
	  nates()   returns  0 if texture coordinates are generated by a func-
	  tion.	getTextureImage()  returns NULL	if no texture is enabled.

     const SbMatrix &		 getTextureMatrix() const
     SoTexture2::Model		 getTextureModel() const
     SoTexture2::Wrap		 getTextureWrapS() const
     SoTexture2::Wrap		 getTextureWrapT() const
	  Returns the current texture mapping information from the state.

     const SbMatrix &		 getModelMatrix() const
     SoUnits::Units		 getUnits() const
	  Returns the current modeling transformation and  the	current	 units
	  from the state.

     float			 getFocalDistance() const
     const SbMatrix &		 getProjectionMatrix() const
     const SbMatrix &		 getViewingMatrix() const
     const SbViewVolume	&	 getViewVolume() const
	  Returns the current camera and viewing information from the state.

     SoPickStyle::Style		 getPickStyle()	const
	  Returns the current picking style.

     int32_t			 getSwitch() const
	  Returns the current switch value.

SEE ALSO
       SoCallback, SoEventCallback, SoShape

						       SoCallbackAction(3IV)()

NAME | INHERITS FROM | SYNOPSIS | DESCRIPTION | METHODS | SEE ALSO

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

home | help