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

FreeBSD Manual Pages

  
 
  

home | help
SoXtRenderArea(3IV)()					 SoXtRenderArea(3IV)()

NAME
       SoXtRenderArea -- Xt Component for rendering Inventor scene graphs

INHERITS FROM
       SoXtComponent > SoXtGLWidget > SoXtRenderArea

SYNOPSIS
       #include	<Inventor/Xt/SoXtRenderArea.h>

     typedef   SbBool	   SoXtRenderAreaEventCB(void	*userData,   XAnyEvent
			      *anyevent)

	  Methods from class SoXtRenderArea:

			       SoXtRenderArea(Widget parent = NULL, const char
				    *name  =  NULL, SbBool buildInsideParent =
				    TRUE, SbBool getMouseInput = TRUE,	SbBool
				    getKeyboardInput = TRUE)
			       ~SoXtRenderArea()
     virtual void	       setSceneGraph(SoNode *newScene)
     virtual SoNode *	       getSceneGraph()
     void		       setOverlaySceneGraph(SoNode *newScene)
     SoNode *		       getOverlaySceneGraph()
     void		       registerDevice(SoXtDevice *)
     void		       unregisterDevice(SoXtDevice *)
     void		       setBackgroundColor(const	SbColor	&c)
     const SbColor &	       getBackgroundColor() const
     void		       setBackgroundIndex(int index)
     int		       getBackgroundIndex() const
     void		       setOverlayBackgroundIndex(int index)
     int		       getOverlayBackgroundIndex() const
     void		       setColorMap(int	startIndex, int	num, const Sb-
				    Color *colors)
     void		       setOverlayColorMap(int  startIndex,  int	  num,
				    const SbColor *colors)
     void		       setViewportRegion(const	      SbViewportRegion
				    &newRegion)
     const SbViewportRegion &  getViewportRegion() const
     void		       setTransparencyType(SoGLRenderAction::Trans-
				    parencyType	type)
     SoGLRenderAction::TransparencyType
			       getTransparencyType() const
     void		       setAntialiasing(SbBool	   smoothing,	   int
				    numPasses)
     void		       getAntialiasing(SbBool	  &smoothing,	   int
				    &numPasses)	const
     void		       setClearBeforeRender(SbBool trueOrFalse)
     SbBool		       isClearBeforeRender() const
     void		       setClearBeforeOverlayRender(SbBool trueOrFalse)
     SbBool		       isClearBeforeOverlayRender() const
     void		       setAutoRedraw(SbBool trueOrFalse)
     SbBool		       isAutoRedraw() const
     void		       setRedrawPriority(uint32_t priority)
     uint32_t		       getRedrawPriority() const
     static uint32_t	       getDefaultRedrawPriority()
     void		       render()
     void		       renderOverlay()
     void		       scheduleRedraw()
     void		       scheduleOverlayRedraw()
     void		       redrawOnSelectionChange(SoSelection *s)
     void		       redrawOverlayOnSelectionChange(SoSelection *s)
     void		       setEventCallback(SoXtRenderAreaEventCB	 *fcn,
				    void *userData = NULL)
     void		       setGLRenderAction(SoGLRenderAction *ra)
     SoGLRenderAction *	       getGLRenderAction() const
     void		       setOverlayGLRenderAction(SoGLRenderAction *ra)
     SoGLRenderAction *	       getOverlayGLRenderAction() const
     void		       setSceneManager(SoSceneManager *sm)
     SoSceneManager *	       getSceneManager() const
     void		       setOverlaySceneManager(SoSceneManager *sm)
     SoSceneManager *	       getOverlaySceneManager()	const

	  Methods from class SoXtGLWidget:

     void		 setBorder(SbBool onOrOff)
     SbBool		 isBorder() const
     virtual void	 setDoubleBuffer(SbBool	onOrOff)
     SbBool		 isDoubleBuffer()
     Window		 getNormalWindow()
     Window		 getOverlayWindow()
     GLXContext		 getNormalContext()
     GLXContext		 getOverlayContext()
     Widget		 getNormalWidget()
     Widget		 getOverlayWidget()
     virtual void	 setNormalVisual(XVisualInfo *vis)
     XVisualInfo *	 getNormalVisual()
     virtual void	 setOverlayVisual(XVisualInfo *vis)
     XVisualInfo *	 getOverlayVisual()
     void		 setDrawToFrontBufferEnable(SbBool enableFlag)
     SbBool		 isDrawToFrontBufferEnable() const

	  Methods from class SoXtComponent:

     virtual void	     show()
     virtual void	     hide()
     SbBool		     isVisible()
     Widget		     getWidget() const
     SbBool		     isTopLevelShell() const
     Widget		     getShellWidget() const
     Widget		     getParentWidget() const
     void		     setSize(const SbVec2s &size)
     SbVec2s		     getSize()
     Display *		     getDisplay()
     void		     setTitle(const char *newTitle)
     const char	*	     getTitle()	const
     void		     setIconTitle(const	char *newIconTitle)
     const char	*	     getIconTitle() const
     void		     setWindowCloseCallback(SoXtComponentCB	*func,
				  void *data = NULL)
     static SoXtComponent *  getComponent(Widget w)
     const char	*	     getWidgetName() const
     const char	*	     getClassName() const

DESCRIPTION
       This  class provides Inventor rendering and event handling inside a GLX
       Motif widget. There is a	routine	to specify the scene  to  render.  The
       scene  is  automatically	rendered whenever anything under it changes (a
       data sensor is attached to the root of the  scene),  unless  explicitly
       told not	to do so (manual redraws). Users can also set Inventor render-
       ing attributes such as the transparency type, antialiasing on  or  off,
       etc. This class employs an SoSceneManager to manage rendering and event
       handling.

       X events	that occur in the render area can be handled by	 the  applica-
       tion, by	the viewer (if this is really a	viewer)	or by the nodes	in the
       scene graph. When an event occurs, it is	first passed to	 the  applica-
       tion  event  callback  function	registered with	the setEventCallback()
       method on SoXtRenderArea. If this function does not  exist  or  returns
       FALSE,  the X event is either used directly by the viewer or translated
       to an SoEvent for further scene graph processing. If  the  viewer  does
       not handle the event, and an overlay scene graph	exists,	the SoEvent is
       sent to that scene graph	by way of an SoHandleEventAction. If  no  node
       in  the overlay scene graph handles the event (i.e., calls setHandled()
       on the SoHandleEventAction), the	SoEvent	is passed to the normal	 scene
       graph in	the same manner.

METHODS
			       SoXtRenderArea(Widget parent = NULL, const char
				    *name = NULL, SbBool  buildInsideParent  =
				    TRUE,  SbBool getMouseInput	= TRUE,	SbBool
				    getKeyboardInput = TRUE)
			       ~SoXtRenderArea()
	  Constructor which is passed arguments	which tell it whether to  reg-
	  ister	 the mouse and keyboard	devices	by default (SoXtMouse and SoX-
	  tKeyboard).

     virtual void	       setSceneGraph(SoNode *newScene)
     virtual SoNode *	       getSceneGraph()
	  Set/get the scene graph to be	rendered in this component's window.

     void		       setOverlaySceneGraph(SoNode *newScene)
     SoNode *		       getOverlaySceneGraph()
	  Sets/gets the	scene graph to render in the overlay bit planes.

	  Note:	since the overlay bit planes are in color index	 mode,	single
	  buffer  with	a limited number of colors, the	user should limit ren-
	  dering in the	overlay	planes to simple objects.

	  Typically rendering in color index mode is  done  using  the	SoCol-
	  orIndex node with a SoLightModel set to BASE_COLOR.

     void		       registerDevice(SoXtDevice *)
     void		       unregisterDevice(SoXtDevice *)
	  Register/unregister  interest	 in  devices.  When a device is	regis-
	  tered, events	from that device will be processed by the render area,
	  and  passed  into  the scene graph. Events from unregistered devices
	  will be ignored.

     void		       setBackgroundColor(const	SbColor	&c)
     const SbColor &	       getBackgroundColor() const
	  Set/get the background color	for  this  window.  Default  is	 black
	  (0,0,0).

     void		       setBackgroundIndex(int index)
     int		       getBackgroundIndex() const
	  Sets/gets the	window background color	when in	color index mode. (de-
	  fault	to black (index	0)).

     void		       setOverlayBackgroundIndex(int index)
     int		       getOverlayBackgroundIndex() const
	  Sets/gets the	overlay	window background color	index. (default	 to  0
	  (clear color)).

     void		       setColorMap(int	startIndex, int	num, const Sb-
				    Color *colors)
	  Sets the colors to use when displaying in  color  index  mode.  This
	  will load the	color map with the given colors	at the starting	index.

     void		       setOverlayColorMap(int	startIndex,  int  num,
				    const SbColor *colors)
	  Sets the colors to use for overlay bit  planes.This  will  load  the
	  color	map with the given colors at the starting index.

     void		       setViewportRegion(const	      SbViewportRegion
				    &newRegion)
     const SbViewportRegion &  getViewportRegion() const
	  Sets/gets current viewport region to use for rendering

     void		       setTransparencyType(SoGLRenderAction::Trans-
				    parencyType	type)
     SoGLRenderAction::TransparencyType
			       getTransparencyType() const
	  Set/get  the	quality	 level	for rendering transparent objects. See
	  SoGLRenderAction for possible	transparency types.

     void		       setAntialiasing(SbBool	   smoothing,	   int
				    numPasses)
     void		       getAntialiasing(SbBool	   &smoothing,	   int
				    &numPasses)	const
	  Set/get the antialiasing for rendering. There	are two	kinds  of  an-
	  tialiasing  available:  smoothing  and  multipass  antialiasing.  If
	  smoothing is set to  TRUE,  smoothing	 is  enabled.  Smoothing  uses
	  OpenGL's  line-  and	point-smoothing	 features to provide cheap an-
	  tialiasing of	lines and points. The value of numPasses controls mul-
	  tipass  antialiasing.	Each time a render action is applied, Inventor
	  renders the scene numPasses times from slightly different camera po-
	  sitions,  averaging  the  results. numPasses can be from one to 255,
	  inclusive. Setting numPasses to one disables multipass antialiasing.
	  You  can  use	 either,  both,	or neither of these antialiasing tech-
	  niques. By default, both smoothing and  multipass  antialiasing  are
	  disabled.

     void		       setClearBeforeRender(SbBool trueOrFalse)
     SbBool		       isClearBeforeRender() const
	  Enable/prevent  window  clearing  from  happening before a rendering
	  starts (default is clear TRUE). This can be useful to	limit flicker-
	  ing  when doing single buffering and geometry	covers the entire win-
	  dow (used in the material editor).

     void		       setClearBeforeOverlayRender(SbBool trueOrFalse)
     SbBool		       isClearBeforeOverlayRender() const
	  Enable/prevent overlay window	clearing from happening	before a  ren-
	  dering starts	(default is clear TRUE).

     void		       setAutoRedraw(SbBool trueOrFalse)
     SbBool		       isAutoRedraw() const
	  The  render area will	automatically redraw whenever something	in the
	  scene	graph changes. Passing FALSE will disable this feature.

     void		       setRedrawPriority(uint32_t priority)
     uint32_t		       getRedrawPriority() const
     static uint32_t	       getDefaultRedrawPriority()
	  Sets/gets the	priority of the	redraw sensor and get the default pri-
	  ority	number.

     void		       render()
     void		       renderOverlay()
	  Calling  this	 forces	 the  render area to be	redrawn	now. It	is not
	  necessary to call this method	if auto	redraw is  enabled  (which  is
	  the default).

     void		       scheduleRedraw()
     void		       scheduleOverlayRedraw()
	  Schedule  a  redraw  to  happen sometime soon	(as opposed to immedi-
	  ately). This can be used to compress multiple	redraws.

     void		       redrawOnSelectionChange(SoSelection *s)
     void		       redrawOverlayOnSelectionChange(SoSelection *s)
	  Call this convenience	method to have this render area	 redraw	 when-
	  ever	the  selection list changes in the passed node.	This is	useful
	  if using a highlight render action like the  SoBoxHighlightRenderAc-
	  tion	to  correctly render whenever the selection changes. Pass NULL
	  to turn this off.

     void		       setEventCallback(SoXtRenderAreaEventCB	 *fcn,
				    void *userData = NULL)
	  X  events  which occur in the	render area window are either directly
	  handled by the viewer	(when this is really a	viewer)	 or  automati-
	  cally	 translated to SoEvents, then passed into the scene graph (via
	  the SoHandleEventAction) so that live	scene graph objects can	handle
	  the event (when viewers are not in viewing mode). This method	allows
	  the application to register a	callback for handling events that  oc-
	  cur  in  the	window,	instead	of sending them	to the viewers or down
	  the graph. The callback is passed the	X  event,  and	should	return
	  TRUE	if  it	handled	the event. If the callback returns FALSE, then
	  the event will be handled by the render area.

     void		       setGLRenderAction(SoGLRenderAction *ra)
     SoGLRenderAction *	       getGLRenderAction() const
	  Sets/gets the	GL render action to use. This is used to set selection
	  highlighting	with  the  SoBoxHighlightRenderAction  and SoLineHigh-
	  lightRenderAction classes.

     void		       setOverlayGLRenderAction(SoGLRenderAction *ra)
     SoGLRenderAction *	       getOverlayGLRenderAction() const
	  Sets/gets the	GL render action for the overlay window.

     void		       setSceneManager(SoSceneManager *sm)
     SoSceneManager *	       getSceneManager() const
     void		       setOverlaySceneManager(SoSceneManager *sm)
     SoSceneManager *	       getOverlaySceneManager()	const
	  Sets/gets the	normal and overlay plane scene managers.

	  Note:	for convenience	most of	the SoSceneManager  methods  have  al-
	  ready	been added to this class.

RESOURCES
	  *SoXtRenderArea*BackgroundColor: black (color	name or	hex value)

SEE ALSO
       SoXtGLWidget,  SoXtComponent,  SoXtViewer,  SoSceneManager,  SoBoxHigh-
       lightRenderAction, SoLineHighlightRenderAction

							 SoXtRenderArea(3IV)()

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

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

home | help