.TH "SoLineHighlightRenderAction" 3 "Fri Sep 6 2024 15:32:06" "Version 4.0.3" "Coin" \" -*- nroff -*- .ad l .nh .SH NAME SoLineHighlightRenderAction \- The \fBSoLineHighlightRenderAction\fP class renders selections with line highlighting\&. .SH SYNOPSIS .br .PP .PP \fR#include \fP .PP Inherits \fBSoGLRenderAction\fP\&. .SS "Public Member Functions" .in +1c .ti -1c .RI "virtual \fBSoType\fP \fBgetTypeId\fP (void) const" .br .ti -1c .RI "\fBSoLineHighlightRenderAction\fP (void)" .br .ti -1c .RI "\fBSoLineHighlightRenderAction\fP (const \fBSbViewportRegion\fP &viewportregion)" .br .ti -1c .RI "virtual \fB~SoLineHighlightRenderAction\fP (void)" .br .ti -1c .RI "virtual void \fBapply\fP (\fBSoNode\fP *node)" .br .ti -1c .RI "virtual void \fBapply\fP (\fBSoPath\fP *path)" .br .ti -1c .RI "virtual void \fBapply\fP (const \fBSoPathList\fP &pathlist, SbBool obeysrules=FALSE)" .br .ti -1c .RI "void \fBsetVisible\fP (const SbBool visible)" .br .ti -1c .RI "SbBool \fBisVisible\fP (void) const" .br .ti -1c .RI "void \fBsetColor\fP (const \fBSbColor\fP &color)" .br .ti -1c .RI "const \fBSbColor\fP & \fBgetColor\fP (void)" .br .ti -1c .RI "void \fBsetLinePattern\fP (uint16_t pattern)" .br .ti -1c .RI "uint16_t \fBgetLinePattern\fP (void) const" .br .ti -1c .RI "void \fBsetLineWidth\fP (const float width)" .br .ti -1c .RI "float \fBgetLineWidth\fP (void) const" .br .in -1c Public Member Functions inherited from \fBSoGLRenderAction\fP .in +1c .ti -1c .RI "\fBSoGLRenderAction\fP (const \fBSbViewportRegion\fP &viewportregion)" .br .ti -1c .RI "virtual \fB~SoGLRenderAction\fP (void)" .br .ti -1c .RI "void \fBsetViewportRegion\fP (const \fBSbViewportRegion\fP &newregion)" .br .ti -1c .RI "const \fBSbViewportRegion\fP & \fBgetViewportRegion\fP (void) const" .br .ti -1c .RI "void \fBsetUpdateArea\fP (const \fBSbVec2f\fP &origin, const \fBSbVec2f\fP &size)" .br .ti -1c .RI "void \fBgetUpdateArea\fP (\fBSbVec2f\fP &origin, \fBSbVec2f\fP &size) const" .br .ti -1c .RI "void \fBsetAbortCallback\fP (\fBSoGLRenderAbortCB\fP *const func, void *const userdata)" .br .ti -1c .RI "void \fBgetAbortCallback\fP (\fBSoGLRenderAbortCB\fP *&func_out, void *&userdata_out) const" .br .ti -1c .RI "void \fBsetTransparencyType\fP (const \fBTransparencyType\fP type)" .br .ti -1c .RI "\fBTransparencyType\fP \fBgetTransparencyType\fP (void) const" .br .ti -1c .RI "void \fBsetTransparentDelayedObjectRenderType\fP (\fBTransparentDelayedObjectRenderType\fP type)" .br .ti -1c .RI "\fBTransparentDelayedObjectRenderType\fP \fBgetTransparentDelayedObjectRenderType\fP (void) const" .br .ti -1c .RI "void \fBsetSmoothing\fP (const SbBool smooth)" .br .ti -1c .RI "SbBool \fBisSmoothing\fP (void) const" .br .ti -1c .RI "void \fBsetNumPasses\fP (const int num)" .br .ti -1c .RI "int \fBgetNumPasses\fP (void) const" .br .ti -1c .RI "void \fBsetPassUpdate\fP (const SbBool flag)" .br .ti -1c .RI "SbBool \fBisPassUpdate\fP (void) const" .br .ti -1c .RI "void \fBsetPassCallback\fP (SoGLRenderPassCB *const func, void *const userdata)" .br .ti -1c .RI "void \fBsetCacheContext\fP (const uint32_t context)" .br .ti -1c .RI "uint32_t \fBgetCacheContext\fP (void) const" .br .ti -1c .RI "void \fBaddDelayedPath\fP (\fBSoPath\fP *path)" .br .ti -1c .RI "SbBool \fBisRenderingDelayedPaths\fP (void) const" .br .ti -1c .RI "SbBool \fBhandleTransparency\fP (SbBool istransparent=FALSE)" .br .ti -1c .RI "void \fBsetCurPass\fP (const int passnum, const int numpasses)" .br .ti -1c .RI "int \fBgetCurPass\fP (void) const" .br .ti -1c .RI "SbBool \fBabortNow\fP (void)" .br .ti -1c .RI "void \fBsetRenderingIsRemote\fP (SbBool isremote)" .br .ti -1c .RI "SbBool \fBgetRenderingIsRemote\fP (void) const" .br .ti -1c .RI "virtual void \fBinvalidateState\fP (void)" .br .ti -1c .RI "void \fBaddPreRenderCallback\fP (SoGLPreRenderCB *func, void *userdata)" .br .ti -1c .RI "void \fBremovePreRenderCallback\fP (SoGLPreRenderCB *func, void *userdata)" .br .ti -1c .RI "void \fBsetSortedLayersNumPasses\fP (int num)" .br .ti -1c .RI "int \fBgetSortedLayersNumPasses\fP (void) const" .br .ti -1c .RI "void \fBsetSortedObjectOrderStrategy\fP (const \fBSortedObjectOrderStrategy\fP strategy, SoGLSortedObjectOrderCB *cb=NULL, void *closure=NULL)" .br .ti -1c .RI "void \fBsetDelayedObjDepthWrite\fP (SbBool write)" .br .ti -1c .RI "SbBool \fBgetDelayedObjDepthWrite\fP (void) const" .br .ti -1c .RI "SbBool \fBisRenderingTranspPaths\fP (void) const" .br .ti -1c .RI "SbBool \fBisRenderingTranspBackfaces\fP (void) const" .br .in -1c Public Member Functions inherited from \fBSoAction\fP .in +1c .ti -1c .RI "virtual \fB~SoAction\fP (void)" .br .ti -1c .RI "virtual SbBool \fBisOfType\fP (\fBSoType\fP type) const" .br .ti -1c .RI "void \fBapply\fP (\fBSoAction\fP *beingApplied)" .br .ti -1c .RI "\fBAppliedCode\fP \fBgetWhatAppliedTo\fP (void) const" .br .ti -1c .RI "\fBSoNode\fP * \fBgetNodeAppliedTo\fP (void) const" .br .ti -1c .RI "\fBSoPath\fP * \fBgetPathAppliedTo\fP (void) const" .br .ti -1c .RI "const \fBSoPathList\fP * \fBgetPathListAppliedTo\fP (void) const" .br .ti -1c .RI "const \fBSoPathList\fP * \fBgetOriginalPathListAppliedTo\fP (void) const" .br .ti -1c .RI "SbBool \fBisLastPathListAppliedTo\fP (void) const" .br .ti -1c .RI "\fBPathCode\fP \fBgetPathCode\fP (int &numindices, const int *&indices)" .br .ti -1c .RI "void \fBtraverse\fP (\fBSoNode\fP *const node)" .br .ti -1c .RI "SbBool \fBhasTerminated\fP (void) const" .br .ti -1c .RI "const \fBSoPath\fP * \fBgetCurPath\fP (void)" .br .ti -1c .RI "\fBSoState\fP * \fBgetState\fP (void) const" .br .ti -1c .RI "\fBPathCode\fP \fBgetCurPathCode\fP (void) const" .br .ti -1c .RI "virtual \fBSoNode\fP * \fBgetCurPathTail\fP (void)" .br .ti -1c .RI "void \fBusePathCode\fP (int &numindices, const int *&indices)" .br .ti -1c .RI "void \fBpushCurPath\fP (const int childindex, \fBSoNode\fP *node=NULL)" .br .ti -1c .RI "void \fBpopCurPath\fP (const \fBPathCode\fP prevpathcode)" .br .ti -1c .RI "void \fBpushCurPath\fP (void)" .br .ti -1c .RI "void \fBpopPushCurPath\fP (const int childindex, \fBSoNode\fP *node=NULL)" .br .ti -1c .RI "void \fBpopCurPath\fP (void)" .br .ti -1c .RI "void \fBswitchToPathTraversal\fP (\fBSoPath\fP *path)" .br .ti -1c .RI "void \fBswitchToNodeTraversal\fP (\fBSoNode\fP *node)" .br .in -1c .SS "Static Public Member Functions" .in +1c .ti -1c .RI "static \fBSoType\fP \fBgetClassTypeId\fP (void)" .br .ti -1c .RI "static void \fBaddMethod\fP (const \fBSoType\fP type, SoActionMethod method)" .br .ti -1c .RI "static void \fBenableElement\fP (const \fBSoType\fP type, const int stackindex)" .br .ti -1c .RI "static void \fBinitClass\fP (void)" .br .in -1c Static Public Member Functions inherited from \fBSoGLRenderAction\fP .in +1c .ti -1c .RI "static \fBSoType\fP \fBgetClassTypeId\fP (void)" .br .ti -1c .RI "static void \fBaddMethod\fP (const \fBSoType\fP type, SoActionMethod method)" .br .ti -1c .RI "static void \fBenableElement\fP (const \fBSoType\fP type, const int stackindex)" .br .ti -1c .RI "static void \fBinitClass\fP (void)" .br .in -1c Static Public Member Functions inherited from \fBSoAction\fP .in +1c .ti -1c .RI "static void \fBinitClass\fP (void)" .br .ti -1c .RI "static void \fBinitClasses\fP (void)" .br .ti -1c .RI "static \fBSoType\fP \fBgetClassTypeId\fP (void)" .br .ti -1c .RI "static void \fBnullAction\fP (\fBSoAction\fP *action, \fBSoNode\fP *node)" .br .in -1c .SS "Protected Member Functions" .in +1c .ti -1c .RI "virtual const \fBSoEnabledElementsList\fP & \fBgetEnabledElements\fP (void) const" .br .in -1c Protected Member Functions inherited from \fBSoGLRenderAction\fP .in +1c .ti -1c .RI "virtual void \fBbeginTraversal\fP (\fBSoNode\fP *node)" .br .ti -1c .RI "virtual void \fBendTraversal\fP (\fBSoNode\fP *node)" .br .in -1c Protected Member Functions inherited from \fBSoAction\fP .in +1c .ti -1c .RI "\fBSoAction\fP (void)" .br .ti -1c .RI "void \fBsetTerminated\fP (const SbBool flag)" .br .ti -1c .RI "virtual SbBool \fBshouldCompactPathList\fP (void) const" .br .in -1c .SS "Static Protected Member Functions" .in +1c .ti -1c .RI "static \fBSoEnabledElementsList\fP * \fBgetClassEnabledElements\fP (void)" .br .ti -1c .RI "static \fBSoActionMethodList\fP * \fBgetClassActionMethods\fP (void)" .br .in -1c Static Protected Member Functions inherited from \fBSoGLRenderAction\fP .in +1c .ti -1c .RI "static \fBSoEnabledElementsList\fP * \fBgetClassEnabledElements\fP (void)" .br .ti -1c .RI "static \fBSoActionMethodList\fP * \fBgetClassActionMethods\fP (void)" .br .in -1c Static Protected Member Functions inherited from \fBSoAction\fP .in +1c .ti -1c .RI "static \fBSoEnabledElementsList\fP * \fBgetClassEnabledElements\fP (void)" .br .ti -1c .RI "static \fBSoActionMethodList\fP * \fBgetClassActionMethods\fP (void)" .br .in -1c .SS "Protected Attributes" .in +1c .ti -1c .RI "SbBool \fBhlVisible\fP" .br .in -1c Protected Attributes inherited from \fBSoAction\fP .in +1c .ti -1c .RI "\fBSoState\fP * \fBstate\fP" .br .ti -1c .RI "\fBSoActionMethodList\fP * \fBtraversalMethods\fP" .br .in -1c .SS "Additional Inherited Members" Public Types inherited from \fBSoGLRenderAction\fP .in +1c .ti -1c .RI "enum \fBTransparencyType\fP { \fBSCREEN_DOOR\fP, \fBADD\fP, \fBDELAYED_ADD\fP, \fBSORTED_OBJECT_ADD\fP, \fBBLEND\fP, \fBDELAYED_BLEND\fP, \fBSORTED_OBJECT_BLEND\fP, \fBSORTED_OBJECT_SORTED_TRIANGLE_ADD\fP, \fBSORTED_OBJECT_SORTED_TRIANGLE_BLEND\fP, \fBNONE\fP, \fBSORTED_LAYERS_BLEND\fP }" .br .ti -1c .RI "enum \fBTransparentDelayedObjectRenderType\fP { \fBONE_PASS\fP, \fBNONSOLID_SEPARATE_BACKFACE_PASS\fP }" .br .ti -1c .RI "enum \fBAbortCode\fP { \fBCONTINUE\fP, \fBABORT\fP, \fBPRUNE\fP, \fBDELAY\fP }" .br .ti -1c .RI "enum \fBSortedObjectOrderStrategy\fP { \fBBBOX_CENTER\fP, \fBBBOX_CLOSEST_CORNER\fP, \fBBBOX_FARTHEST_CORNER\fP, \fBCUSTOM_CALLBACK\fP }" .br .ti -1c .RI "typedef \fBAbortCode\fP \fBSoGLRenderAbortCB\fP(void *userdata)" .br .in -1c Public Types inherited from \fBSoAction\fP .in +1c .ti -1c .RI "enum \fBAppliedCode\fP { \fBNODE\fP = 0, \fBPATH\fP = 1, \fBPATH_LIST\fP = 2 }" .br .ti -1c .RI "enum \fBPathCode\fP { \fBNO_PATH\fP = 0, \fBIN_PATH\fP = 1, \fBBELOW_PATH\fP = 2, \fBOFF_PATH\fP = 3 }" .br .in -1c .SH "Detailed Description" .PP The \fBSoLineHighlightRenderAction\fP class renders selections with line highlighting\&. See the documentation of \fBSoBoxHighlightRenderAction\fP\&. .PP The only difference between \fBSoBoxHighlightRenderAction\fP and this action is that this action renders highlights by superposing a wireframe image onto each shape instead of the bounding box when drawing the highlight\&. .PP Note: an important limitation for this rendering action is that the superimposition of a wireframe is only guaranteed to work correctly for filled shapes, due to a limitation in OpenGL's glPolygonOffset() functionality\&. For more information, see the class documentation of the \fBSoPolygonOffset\fP node\&. .PP \fBSee also\fP .RS 4 \fBSoBoxHighlightRenderAction\fP, \fBSoSelection\fP .RE .PP .SH "Constructor & Destructor Documentation" .PP .SS "SoLineHighlightRenderAction::SoLineHighlightRenderAction (void )" Default constructor\&. Note: passes a default \fBSbViewportRegion\fP to the parent constructor\&. .SS "SoLineHighlightRenderAction::SoLineHighlightRenderAction (const \fBSbViewportRegion\fP & viewportregion)" Constructor, taking an explicit \fIviewportregion\fP to render\&. .SS "SoLineHighlightRenderAction::~SoLineHighlightRenderAction (void )\fR [virtual]\fP" The destructor\&. .SH "Member Function Documentation" .PP .SS "\fBSoType\fP SoLineHighlightRenderAction::getTypeId (void ) const\fR [virtual]\fP" Returns the type identification of an object derived from a class inheriting \fBSoAction\fP\&. This is used for runtime type checking and 'downward' casting\&. .br .PP Reimplemented from \fBSoGLRenderAction\fP\&. .SS "\fBSoType\fP SoLineHighlightRenderAction::getClassTypeId (void )\fR [static]\fP" This static method returns the \fBSoType\fP object associated with objects of this class\&. .br .SS "void SoLineHighlightRenderAction::addMethod (const \fBSoType\fP type, SoActionMethod method)\fR [static]\fP" \fIThis API member is considered internal to the library, as it is not likely to be of interest to the application programmer\&.\fP .br .br .SS "void SoLineHighlightRenderAction::enableElement (const \fBSoType\fP type, const int stackindex)\fR [static]\fP" \fIThis API member is considered internal to the library, as it is not likely to be of interest to the application programmer\&.\fP .br .br .SS "const \fBSoEnabledElementsList\fP & SoLineHighlightRenderAction::getEnabledElements (void ) const\fR [protected]\fP, \fR [virtual]\fP" Returns list of enabled elements\&. .br .PP Reimplemented from \fBSoGLRenderAction\fP\&. .SS "\fBSoEnabledElementsList\fP * SoLineHighlightRenderAction::getClassEnabledElements (void )\fR [static]\fP, \fR [protected]\fP" Returns list of enabled elements for this class\&. The enabledElements and methods variables are protected in the original OIV API\&. This is not such a good idea, since exposed static class member variables is a major grievance with regard to Win32 DLLs\&. This function is an extension for Coin, and it is not available in the original SGI Open Inventor v2\&.1 API\&. .br .br .SS "\fBSoActionMethodList\fP * SoLineHighlightRenderAction::getClassActionMethods (void )\fR [static]\fP, \fR [protected]\fP" Returns list of action methods for this class\&. The enabledElements and methods variables are protected in the original OIV API\&. This is not such a good idea, since exposed static class member variables is a major grievance with regard to Win32 DLLs\&. This function is an extension for Coin, and it is not available in the original SGI Open Inventor v2\&.1 API\&. .br .br .SS "void SoLineHighlightRenderAction::initClass (void )\fR [static]\fP" Initializes the runtime type system for this class, and sets up the enabled elements and action method list\&. .SS "void SoLineHighlightRenderAction::apply (\fBSoNode\fP * root)\fR [virtual]\fP" Applies the action to the scene graph rooted at \fIroot\fP\&. .PP Note that you should \fInot\fP apply an action to a node with a zero reference count\&. The behavior in that case is undefined\&. .PP Reimplemented from \fBSoAction\fP\&. .SS "void SoLineHighlightRenderAction::apply (\fBSoPath\fP * path)\fR [virtual]\fP" Applies the action to the parts of the graph defined by \fIpath\fP\&. .PP Note that an \fBSoPath\fP will also contain all nodes that may influence e\&.g\&. geometry nodes in the path\&. So for instance applying an \fBSoGLRenderAction\fP on an \fBSoPath\fP will render that path as expected in the view, where geometry will get its materials, textures, and other appearance settings correctly\&. .PP If the \fIpath\fP ends in an \fBSoGroup\fP node, the action will also traverse the tail node's children\&. .PP Reimplemented from \fBSoAction\fP\&. .SS "void SoLineHighlightRenderAction::apply (const \fBSoPathList\fP & pathlist, SbBool obeysrules = \fRFALSE\fP)\fR [virtual]\fP" Applies action to the graphs defined by \fIpathlist\fP\&. If \fIobeysrules\fP is set to \fRTRUE\fP, \fIpathlist\fP must obey the following four conditions (which is the case for path lists returned from search actions for non-group nodes and path lists returned from picking actions): .PP All paths must start at the same head node\&. All paths must be sorted in traversal order\&. The paths must be unique\&. No path can continue through the end point of another path\&. .PP \fBSee also\fP .RS 4 \fBSoAction::apply(SoPath * path)\fP .RE .PP .PP Reimplemented from \fBSoAction\fP\&. .SS "void SoLineHighlightRenderAction::setVisible (const SbBool visible)" Sets if highlight wireframes should be \fIvisible\fP when rendering\&. Defaults to \fRTRUE\fP\&. .SS "SbBool SoLineHighlightRenderAction::isVisible (void ) const" Return if selection wireframes should be visible\&. .SS "void SoLineHighlightRenderAction::setColor (const \fBSbColor\fP & color)" Sets the \fIcolor\fP of the wireframes\&. Defaults to red\&. .SS "const \fBSbColor\fP & SoLineHighlightRenderAction::getColor (void )" Returns color of selection wireframes\&. .SS "void SoLineHighlightRenderAction::setLinePattern (uint16_t pattern)" Sets the line \fIpattern\fP used when drawing wireframes\&. Defaults to \fR0xffff\fP (i\&.e\&. full, unstippled lines)\&. .SS "uint16_t SoLineHighlightRenderAction::getLinePattern (void ) const" Returns line pattern used when drawing wireframe\&. .SS "void SoLineHighlightRenderAction::setLineWidth (const float width)" Sets the line \fIwidth\fP used when drawing wireframe\&. Defaults to 3 (measured in screen pixels)\&. .SS "float SoLineHighlightRenderAction::getLineWidth (void ) const" Returns the line width used when drawing wireframe\&. .SH "Member Data Documentation" .PP .SS "SbBool SoLineHighlightRenderAction::hlVisible\fR [protected]\fP" Boolean which decides whether or not the highlights for selected nodes should be visible\&. .SH "Author" .PP Generated automatically by Doxygen for Coin from the source code\&.