Provided by: inventor-doc_2.1.5-10+dfsg-2.1build2_all bug

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

                                                                               SoBoxHighlightRenderAction(3IV)()