SoBoxHighlightRenderAction(3IV)

SoBoxHighlightRenderAction (SoBoxHLRenderAct) - a selection highlight style

Showing IRIX 6.5.30 (default release). Added in IRIX 6.5.22.

NAME
     SoBoxHighlightRenderAction (SoBoxHLRenderAct) - a selection highlight
     style

INHERITS FROM
     SoAction > SoGLRenderAction > SoBoxHighlightRenderAction

SYNOPSIS
     #include <Inventor_c/actions/SoBoxHighlightRenderAction.h>

     typedef SoBoxHighlightRenderAction
                         SoBoxHLRenderAct

          Functions from class SoBoxHighlightRenderAction:

     SoBoxHighlightRenderAction *
                         SoBoxHLRenderActCreate()
     void                SoBoxHLRenderActApply(SoBoxHLRenderAct *this, SoNode
                              *node)
     void                SoBoxHLRenderActSetVisible(SoBoxHLRenderAct *this,
                              SbBool b)
     SbBool              SoBoxHLRenderActIsVisible(const SoBoxHLRenderAct
                              *this)
     void                SoBoxHLRenderActSetCol(SoBoxHLRenderAct *this, const
                              SbColor *c)
     SbColor *           SoBoxHLRenderActGetCol(SoBoxHLRenderAct *this)
     void                SoBoxHLRenderActSetLinePat(SoBoxHLRenderAct *this,
                              unsigned short pattern)
     unsigned short      SoBoxHLRenderActGetLinePat(SoBoxHLRenderAct *this)
     void                SoBoxHLRenderActSetLineWidth(SoBoxHLRenderAct *this,
                              float width)
     float               SoBoxHLRenderActGetLineWidth(SoBoxHLRenderAct *this)

          Functions from class SoGLRenderAction:

     void                      SoBoxHLRenderActSetVPReg(SoBoxHLRenderAct
                                    *this, const SbViewportRegion *newRegion)
     const SbViewportRegion *  SoBoxHLRenderActGetVPReg(const SoBoxHLRenderAct
                                    *this)
     void                      SoBoxHLRenderActSetUpdateArea(SoBoxHLRenderAct
                                    *this, const SbVec2f *origin, const
                                    SbVec2f *size)
     void                      SoBoxHLRenderActGetUpdateArea(const
                                    SoBoxHLRenderAct *this, SbVec2f *origin,
                                    SbVec2f *size)
     void                      SoBoxHLRenderActSetAbortCB(SoBoxHLRenderAct
                                    *this, SoGLRenderAbortCB *func, void
                                    *userData)
     void                      SoBoxHLRenderActSetTranspType(SoBoxHLRenderAct
                                    *this, TransparencyType type)
     TransparencyType          SoBoxHLRenderActGetTranspType(const
                                    SoBoxHLRenderAct *this)
     void                      SoBoxHLRenderActSetSmoothing(SoBoxHLRenderAct
                                    *this, SbBool smooth)
     SbBool                    SoBoxHLRenderActIsSmoothing(const
                                    SoBoxHLRenderAct *this)
     void                      SoBoxHLRenderActSetNumPasses(SoBoxHLRenderAct
                                    *this, int num)
     int                       SoBoxHLRenderActGetNumPasses(const
                                    SoBoxHLRenderAct *this)
     void                      SoBoxHLRenderActSetPassUpdate(SoBoxHLRenderAct
                                    *this, SbBool flag)
     SbBool                    SoBoxHLRenderActIsPassUpdate(const
                                    SoBoxHLRenderAct *this)
     void                      SoBoxHLRenderActSetPassCB(SoBoxHLRenderAct
                                    *this, SoGLRenderPassCB *func, void
                                    *userData)
     void                      SoBoxHLRenderActSetCacheContext(SoBoxHLRenderAct
                                    *this, uint32_t context)
     uint32_t                  SoBoxHLRenderActGetCacheContext(const
                                    SoBoxHLRenderAct *this)

          Functions from class SoAction:

     void                SoBoxHLRenderActApplyPath(SoBoxHLRenderAct *this,
                              SoPath *path)
     void                SoBoxHLRenderActApplyPathList(SoBoxHLRenderAct *this,
                              const SoPathList *pathList, SbBool obeysRules =
                              FALSE)
     SoType              SoBoxHLRenderActGetClassTypeId()
     SoType              SoBoxHLRenderActGetTypeId(SoBoxHLRenderAct *this)
     SbBool              SoBoxHLRenderActIsOfType(SoBoxHLRenderAct *this,
                              SoType type)
     void                SoBoxHLRenderActInvalidateState(SoBoxHLRenderAct
                              *this)


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
     SoXtRASetGLRenderAct() to have an effect on scene graphs.

FUNCTIONS
     SoBoxHighlightRenderAction *
                         SoBoxHLRenderActCreate()
          Constructor.

     void                SoBoxHLRenderActApply(SoBoxHLRenderAct *this, 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                SoBoxHLRenderActSetVisible(SoBoxHLRenderAct *this,
                              SbBool b)
          This provides a convenient mechansim for turning highlights off or
          on. When FALSE is passed, subsequent calls to
          SoBoxHLRenderActApply() 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              SoBoxHLRenderActIsVisible(const SoBoxHLRenderAct
                              *this)
          Returns whether highlights will be rendered or not.

     void                SoBoxHLRenderActSetCol(SoBoxHLRenderAct *this, const
                              SbColor *c)
     SbColor *           SoBoxHLRenderActGetCol(SoBoxHLRenderAct *this)
          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                SoBoxHLRenderActSetLinePat(SoBoxHLRenderAct *this,
                              unsigned short pattern)
     unsigned short      SoBoxHLRenderActGetLinePat(SoBoxHLRenderAct *this)
          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                SoBoxHLRenderActSetLineWidth(SoBoxHLRenderAct *this,
                              float width)
     float               SoBoxHLRenderActGetLineWidth(SoBoxHLRenderAct *this)
          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 */
              SoXtRASetGLRenderAct(myRenderArea,
                  (SoGLRenderAction *) SoBoxHLRenderActCreate());

              /* Automatic redraw on selection changes */
              SoXtRARedrawOnSelChange(myRenderArea, mySelection);




SEE ALSO
     SoLineHighlightRenderAction, SoGLRenderAction, SoSelection,
     SoXtRenderArea, SoDrawStyle, SoInteraction