SoLineHighlightRenderAction(3IV)

NAME
SoLineHighlightRenderAction — selection highlight style

INHERITS FROM
SoAction > SoGLRenderAction > SoLineHighlightRenderAction

SYNOPSIS
#include <Inventor/actions/SoLineHighlightRenderAction.h>

Methods from class SoLineHighlightRenderAction:

SoLineHighlightRenderAction()
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
SoLineHighlightRenderAction is a render action which renders the specified scene graph, then renders each selected object again in wireframe. Selected objects are specified by the first SoSelection node in the scene to which this action is applied. If there is no renderable geometry in a selected object, no highlight is rendered for that object. A highlight render action can be passed to the setGLRenderAction() method of SoXtRenderArea to have an affect on scene graphs.

METHODS

SoLineHighlightRenderAction()
Constructor.

virtual void
apply(SoNode *node)
This renders the passed scene graph, and also renders each selected object in wireframe, 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 back 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). The application is responsible for forcing a redraw of the scene to see the affects 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 more information. The application is responsible for forcing a redraw of the scene to see the affects of this change.

void
setLineWidth(float width)
float
getLineWidth()
Set and get the line width of the highlight. Default is 3. The application is responsible for forcing a redraw of the scene to see the affects of this change.

EXAMPLE
Here is an example of how a line highlight can be specified for a particular selection node and render area.

    SoXtRenderArea *myRenderArea;
    SoSelection *mySelection;
    // Set the highlight render action
    myRenderArea->setGLRenderAction(
        new SoLineHighlightRenderAction());
    // Automatic redraw on selection changes
    myRenderArea->redrawOnSelectionChange(mySelection);

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