Provided by: inventor-doc_2.1.5-10-18_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)()