Open Inventor Reference
SoLineHighlightRenderAction Class Reference

Line highlight - a subclass of SoGLRenderAction which renders the scene graph, then renders wireframe boxes surrounding each selected object. More...

#include <Inventor/actions/SoLineHighlightRenderAction.h>

Inheritance diagram for SoLineHighlightRenderAction:
SoGLRenderAction SoAction

Public Member Functions

 SoLineHighlightRenderAction ()
 Constructor.
 
 SoLineHighlightRenderAction (const SbViewportRegion &viewportRegion)
 Constructor.
 
virtual ~SoLineHighlightRenderAction ()
 
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.
 
virtual void apply (SoPath *path)
 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.
 
virtual void apply (const SoPathList &pathList, bool obeysRules=FALSE)
 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 (bool b)
 This provides a convenient mechansim for turning highlights off or back on.
 
bool isVisible () const
 Returns whether highlights will be rendered or not.
 
void setColor (const SbColor &c)
 Set the color of the highlight.
 
const SbColorgetColor ()
 Get the color of the highlight.
 
void setLinePattern (unsigned short pattern)
 Set the line pattern of the highlight.
 
unsigned short getLinePattern ()
 Get the line pattern of the highlight.
 
void setLineWidth (float width)
 Set the line width.
 
float getLineWidth ()
 Get the line width.
 
- Public Member Functions inherited from SoGLRenderAction
 SoGLRenderAction (const SbViewportRegion &viewportRegion)
 Constructor.
 
virtual ~SoGLRenderAction ()
 Destructor.
 
void setViewportRegion (const SbViewportRegion &newRegion)
 Changes viewport region to use for rendering.
 
const SbViewportRegiongetViewportRegion () const
 Returns viewport region to use for rendering.
 
void setUpdateArea (const SbVec2f &origin, const SbVec2f &size)
 
void getUpdateArea (SbVec2f &origin, SbVec2f &size) const
 Sets/returns the current update area, which is the rectangular area of the viewport region that will actually be rendered into.
 
void setAbortCallback (SoGLRenderAbortCB *funcArg, void *userData)
 Sets callback to call during rendering to test for an abort condition.
 
void setTransparencyType (TransparencyType type)
 
TransparencyType getTransparencyType () const
 Sets/returns transparency quality level to use when rendering.
 
void setSmoothing (bool smooth)
 
bool isSmoothing () const
 Sets/returns smoothing flag.
 
void setNumPasses (int num)
 
int getNumPasses () const
 Sets/returns number of rendering passes for multipass rendering.
 
void setPassUpdate (bool flag)
 
bool isPassUpdate () const
 Sets/returns a flag indicating whether intermediate results are displayed after each antialiasing pass for progressive improvement (default is FALSE).
 
void setPassCallback (SoGLRenderPassCB *funcArg, void *userData)
 Sets a callback function to invoke between passes when antialiasing.
 
void setCacheContext (uint32_t context)
 
uint32_t getCacheContext () const
 Sets/returns the OpenGL cache context.
 
virtual void invalidateState ()
 Invalidate the state, forcing it to be recreated at the next apply.
 
int getCurPass () const
 Returns current rendering pass number.
 
bool abortNow ()
 Returns TRUE if render action should abort - checks user callback.
 
bool handleTransparency (bool isTransparent=FALSE)
 Returns TRUE if render action handles processing of a transparent object (if it is to be sorted and rendered later).
 
bool isDelaying () const
 Returns TRUE if rendering is being delayed because of transparency sorting or delaying.
 
void addDelayedPath (SoPath *path)
 Adds to the list of paths to render after all other stuff (including delayed/sorted transparent objects) have been rendered.
 
bool isRenderingDelayedPaths () const
 Returns TRUE if currently rendering delayed paths.
 
int getCullTestResults ()
 
void setCullTestResults (int b)
 
bool setAllowDelayedPath (bool flag)
 Sets if delayed paths are allowed while rendering.
 
bool getAllowDelayedPaths ()
 Returns if delayed paths are currently allowed.
 
- Public Member Functions inherited from SoAction
virtual ~SoAction ()
 Destructor.
 
virtual SoType getTypeId () const =0
 Returns the type identifier for a specific instance.
 
bool isOfType (SoType type) const
 Returns TRUE if this instance is of the type specified in type or is derived from that type.
 
virtual void apply (SoNode *node)
 
virtual void apply (SoPath *path)
 
virtual void apply (const SoPathList &pathList, bool obeysRules=FALSE)
 Initiates an action on the graph defined either by a node, path, or list of paths.
 
virtual void invalidateState ()
 Invalidates the current traversal state in the action, forcing it to be recreated when the action is next applied.
 
AppliedCode getWhatAppliedTo () const
 Returns code indicating what action is being applied to.
 
SoNodegetNodeAppliedTo () const
 These returns a pointer to the node, path, or path list the action is being applied to.
 
SoPathgetPathAppliedTo () const
 
const SoPathListgetPathListAppliedTo () const
 A single path list may be split into several, one for each different head node.
 
const SoPathListgetOriginalPathListAppliedTo () const
 
bool isLastPathListAppliedTo () const
 
PathCode getPathCode (int &numIndices, const int *&indices)
 Returns path code based on where current node (the node at the end of the current path) lies with respect to the path(s) the action is being applied to.
 
void traverse (SoNode *node)
 Does traversal of a graph rooted by a node.
 
bool hasTerminated () const
 Returns TRUE if the traversal has reached a termination condition.
 
const SoPathgetCurPath ()
 Returns a pointer to the path accumulated during traversal, i.e., the chain of nodes from the root of the traversed graph to the current node being traversed.
 
SoStategetState () const
 Get the state from the action.
 
PathCode getCurPathCode () const
 These methods maintain the current path accumulated so far during traversal.
 
void pushCurPath (int childIndex)
 
void popCurPath (PathCode prevPathCode)
 
virtual SoNodegetCurPathTail ()
 This is virtual, so that SoCallbackAction can use current node.
 
void usePathCode (int &numIndices, const int *&indices)
 called by inline getPathCode:
 
void pushCurPath ()
 Optimized versions of push/pop when we know path codes won't change:
 
void popPushCurPath (int childIndex)
 
void popCurPath ()
 
const SoLightweightPathgetCurrentLightweightPath () const
 Returns the current "light" path.
 
void setCurrentLightweightPath (const SoLightweightPath &path)
 Sets the current "light" path.
 

Static Public Member Functions

static void initClass ()
 
- Static Public Member Functions inherited from SoGLRenderAction
static void initClass ()
 
- Static Public Member Functions inherited from SoAction
static SoType getClassTypeId ()
 Returns the type identifier for this class.
 
static void nullAction (SoAction *, SoNode *)
 Null action method that can be stored in lookup table when desired.
 
static void initClass ()
 
static void initClasses ()
 Initialize ALL Inventor action classes.
 

Protected Attributes

SoSeparatorlocalRoot
 Nodes which comprise the local highlight graph.
 
SoLightModellightModel
 
SoBaseColorbaseColor
 
SoDrawStyledrawStyle
 
SoTexture2texture
 
bool hlVisible
 
- Protected Attributes inherited from SoAction
SoStatestate
 Traversal state.
 
SoActionMethodListtraversalMethods
 The list of what to do when.
 

Additional Inherited Members

- Public Types inherited from SoGLRenderAction
enum  TransparencyType {
  SCREEN_DOOR , ADD , DELAYED_ADD , SORTED_OBJECT_ADD ,
  BLEND , DELAYED_BLEND , SORTED_OBJECT_BLEND
}
 Various levels of transparency rendering quality. More...
 
enum  AbortCode { CONTINUE , ABORT , PRUNE , DELAY }
 Possible return codes from a render abort callback. More...
 
typedef AbortCode SoGLRenderAbortCB(void *userData)
 Callback functions for render abort should be of this type.
 
- Public Types inherited from SoAction
enum  AppliedCode { NODE , PATH , PATH_LIST }
 This enum is used to determine what the action is being applied to. More...
 
enum  PathCode { NO_PATH , IN_PATH , BELOW_PATH , OFF_PATH }
 This enum may be used during traversal of nodes to indicate where the node is with respect to the path being traversed. More...
 
- Protected Member Functions inherited from SoGLRenderAction
virtual void beginTraversal (SoNode *node)
 Initiates action on graph.
 
- Protected Member Functions inherited from SoAction
 SoAction ()
 Constructor.
 
virtual const SoEnabledElementsListgetEnabledElements () const
 Returns the list of enabled elements for a given action subclass.
 
virtual void beginTraversal (SoNode *node)
 Begins traversal of an action at the given node.
 
void setTerminated (bool flag)
 Allows subclass instance to indicate that traversal has reached a termination condition.
 
virtual bool shouldCompactPathLists () const
 This method is used when applying an action to an SoPathList.
 
- Static Protected Attributes inherited from SoAction
static SoEnabledElementsListenabledElements
 Holds list of enabled elements for the SoAction class.
 
static SoActionMethodListmethods
 ... and the methods
 

Detailed Description

Selection highlight style.

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 SoQtRenderArea to have an affect on scene graphs.

See Also
SoBoxHighlightRenderAction, SoGLRenderAction, SoSelection, SoXtRenderArea, SoDrawStyle, SoInteraction

Definition at line 102 of file SoLineHighlightRenderAction.h.

Constructor & Destructor Documentation

◆ SoLineHighlightRenderAction() [1/2]

SoLineHighlightRenderAction::SoLineHighlightRenderAction ( )

◆ SoLineHighlightRenderAction() [2/2]

SoLineHighlightRenderAction::SoLineHighlightRenderAction ( const SbViewportRegion viewportRegion)

◆ ~SoLineHighlightRenderAction()

virtual SoLineHighlightRenderAction::~SoLineHighlightRenderAction ( )
virtual

Member Function Documentation

◆ apply() [1/3]

virtual void SoLineHighlightRenderAction::apply ( const SoPathList pathList,
bool  obeysRules = FALSE 
)
virtual

Reimplemented from SoAction.

◆ apply() [2/3]

virtual void SoLineHighlightRenderAction::apply ( SoNode node)
virtual

Reimplemented from SoAction.

◆ apply() [3/3]

virtual void SoLineHighlightRenderAction::apply ( SoPath path)
virtual

Reimplemented from SoAction.

◆ getColor()

const SbColor & SoLineHighlightRenderAction::getColor ( )

◆ getLinePattern()

unsigned short SoLineHighlightRenderAction::getLinePattern ( )

◆ getLineWidth()

float SoLineHighlightRenderAction::getLineWidth ( )

◆ initClass()

static void SoLineHighlightRenderAction::initClass ( )
static

◆ isVisible()

bool SoLineHighlightRenderAction::isVisible ( ) const
inline

Definition at line 138 of file SoLineHighlightRenderAction.h.

◆ setColor()

void SoLineHighlightRenderAction::setColor ( const SbColor c)

Default is red (1,0,0). The application is responsible for forcing a redraw of the scene to see the affects of this change.

◆ setLinePattern()

void SoLineHighlightRenderAction::setLinePattern ( unsigned short  pattern)

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.

◆ setLineWidth()

void SoLineHighlightRenderAction::setLineWidth ( float  width)

◆ setVisible()

void SoLineHighlightRenderAction::setVisible ( bool  b)
inline

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.

Definition at line 136 of file SoLineHighlightRenderAction.h.

Member Data Documentation

◆ baseColor

SoBaseColor* SoLineHighlightRenderAction::baseColor
protected

Definition at line 166 of file SoLineHighlightRenderAction.h.

◆ drawStyle

SoDrawStyle* SoLineHighlightRenderAction::drawStyle
protected

Definition at line 167 of file SoLineHighlightRenderAction.h.

◆ hlVisible

bool SoLineHighlightRenderAction::hlVisible
protected

Definition at line 170 of file SoLineHighlightRenderAction.h.

◆ lightModel

SoLightModel* SoLineHighlightRenderAction::lightModel
protected

Definition at line 165 of file SoLineHighlightRenderAction.h.

◆ localRoot

SoSeparator* SoLineHighlightRenderAction::localRoot
protected

Definition at line 164 of file SoLineHighlightRenderAction.h.

◆ texture

SoTexture2* SoLineHighlightRenderAction::texture
protected

Definition at line 168 of file SoLineHighlightRenderAction.h.


The documentation for this class was generated from the following file: