table of contents
| SoBoxHighlightRenderAction(3IV)() | SoBoxHighlightRenderAction(3IV)() | 
NAME¶
SoBoxHighlightRenderAction — a selection highlight style
INHERITS FROM¶
SoAction > SoGLRenderAction > SoBoxHighlightRenderAction
SYNOPSIS¶
#include <Inventor/actions/SoBoxHighlightRenderAction.h>
  
  Methods from class SoBoxHighlightRenderAction:
  
  
  	SoBoxHighlightRenderAction()
  
  
  virtual void	apply(SoNode *node)
  
  
  void	setVisible(SbBool b)
  
  
  SbBool	isVisible() const
  
  
  void	setColor(const SbColor &c)
  
  
  SbColor &	getColor()
  
  
  void	setLinePattern(unsigned short pattern)
  
  
  unsigned short	getLinePattern()
  
  
  void	setLineWidth(float width)
  
  
  float	getLineWidth()
  
  Methods from class SoGLRenderAction:
  
  
  void	setViewportRegion(const SbViewportRegion
    &newRegion)
  
  
  const SbViewportRegion &	getViewportRegion()
    const
  
  
  void	setUpdateArea(const SbVec2f &origin, const
    SbVec2f &size)
  
  
  void	getUpdateArea(SbVec2f &origin, SbVec2f
    &size) const
  
  
  void	setAbortCallback(SoGLRenderAbortCB *func, void
    *userData)
  
  
  void	setTransparencyType(TransparencyType type)
  
  
  TransparencyType	getTransparencyType() const
  
  
  void	setSmoothing(SbBool smooth)
  
  
  SbBool	isSmoothing() const
  
  
  void	setNumPasses(int num)
  
  
  int	getNumPasses() const
  
  
  void	setPassUpdate(SbBool flag)
  
  
  SbBool	isPassUpdate() const
  
  
  void	setPassCallback(SoGLRenderPassCB *func, void
    *userData)
  
  
  void	setCacheContext(uint32_t context)
  
  
  uint32_t	getCacheContext() const
  
  Methods from class SoAction:
  
  
  static SoType	getClassTypeId()
  
  
  virtual SoType	getTypeId()
  
  
  virtual SbBool	isOfType(SoType type)
  
  
  virtual void	invalidateState()
DESCRIPTION¶
SoBoxHighlightRenderAction is a render action which renders the specified scene graph, then renders wireframe boxes surrounding each selected object. Selected objects are specified by the first SoSelection node in the scene to which this action is applied. If an SoGetBoundingBoxAction applied to a selected object produces an empty bounding box, no highlight is rendered for that object. A highlight render action can be passed to the setGLRenderAction() method of SoXtRenderArea to have an effect on scene graphs.
METHODS¶
	SoBoxHighlightRenderAction()
  
  
  Constructor.
  
  
  virtual void	apply(SoNode *node)
  
  
  This renders the passed scene graph, and also renders wireframe boxes around
    selected objects as specified by the first SoSelection node found in
    the scene graph.
  
  
  void	setVisible(SbBool b)
  
  
  This provides a convenient mechansim for turning highlights off or on. When
    FALSE is passed, subsequent calls to apply() render the scene
    graph without rendering highlights. The application is responsible for
    forcing a redraw of the scene after changing this state. The default
    visibility is on.
  
  
  SbBool	isVisible() const
  
  
  Returns whether highlights will be rendered or not.
  
  
  void	setColor(const SbColor &c)
  
  
  SbColor &	getColor()
  
  
  Set and get the color of the highlight. Default is red (1,0,0).
    Application is responsible for forcing a redraw of the scene to see the
    effects of this change.
  
  
  void	setLinePattern(unsigned short pattern)
  
  
  unsigned short	getLinePattern()
  
  
  Set and get the line pattern of the highlight. Default is solid,
    0xffff. The pattern of bits in the passed variable specifies the
    pattern of the line. See SoDrawStyle for a description. Application
    is responsible for forcing a redraw of the scene to see the effects of this
    change.
  
  
  void	setLineWidth(float width)
  
  
  float	getLineWidth()
  
  
  Set and get the line width of the highlight. Default is 3. Application
    is responsible for forcing a redraw of the scene to see the effects of this
    change.
  
EXAMPLE¶
Here is an example of how a box highlight can be specified for a particular selection node and render area.
SoXtRenderArea *myRenderArea;
SoSelection *mySelection;
// Set the highlight render action
myRenderArea->setGLRenderAction(
new SoBoxHighlightRenderAction());
// Automatic redraw on selection changes
myRenderArea->redrawOnSelectionChange(mySelection);
SEE ALSO¶
SoLineHighlightRenderAction, SoGLRenderAction, SoSelection, SoXtRenderArea, SoDrawStyle, SoInteraction