SoBoxHighl...nderAction(3)

πŸ“¦ version 3.1.3, in fedora 43, fedora 44

okay bestie, welcome to the group chat of Unix manual pages πŸ’…. This is the manual page for SoBoxHighlightRenderAction from the Library Functions Manual. It's a two-parter, and this is part 1. No cap, we're about to get into all the signatures, inherited members, and the whole vibe. πŸŽ€

✨ NAME ✨

SoBoxHighlightRenderAction β€” the SoBoxHighlightRenderAction class renders the scene with highlighted boxes around selections. πŸ¦‹

🌸 SYNOPSIS 🌸

#include <Inventor/actions/SoBoxHighlightRenderAction.h>

Inherits SoGLRenderAction. πŸ’œ

πŸ’– Public Member Functions πŸ’–

  • virtual SoType getTypeId (void) const β€” the type-id getter, periodt. ✨
  • SoBoxHighlightRenderAction (void) β€” default constructor energy. πŸŽ€
  • SoBoxHighlightRenderAction (const SbViewportRegion &viewportregion) β€” constructor with a viewport region. 🌸
  • virtual ~SoBoxHighlightRenderAction (void) β€” destructor, she's leaving the chat. πŸ’…
  • virtual void apply (SoNode *node) β€” apply to a node. πŸ¦‹
  • virtual void apply (SoPath *path) β€” apply to a path. ✨
  • virtual void apply (const SoPathList &pathlist, SbBool obeysrules=FALSE) β€” apply to a path list, with obeysrules defaulting to FALSE. πŸ’–
  • void setVisible (const SbBool visible) β€” set visible. πŸ‘‘
  • SbBool isVisible (void) const β€” is it visible? πŸ”₯
  • void setColor (const SbColor &color) β€” set the color. 🌈
  • const SbColor & getColor (void) β€” get the color. πŸŽ€
  • void setLinePattern (unsigned short pattern) β€” set the line pattern. πŸ’«
  • unsigned short getLinePattern (void) const β€” get the line pattern. ⭐
  • void setLineWidth (const float width) β€” set the line width. πŸ’…
  • float getLineWidth (void) const β€” get the line width. 🫢

πŸ’œ Public Member Functions inherited from SoGLRenderAction πŸ’œ

  • SoGLRenderAction (const SbViewportRegion &viewportregion) β€” constructor with viewport region. 🌸
  • virtual ~SoGLRenderAction (void) β€” destructor. πŸ’€
  • void setViewportRegion (const SbViewportRegion &newregion) β€” set viewport region. πŸŽ€
  • const SbViewportRegion & getViewportRegion (void) const β€” get viewport region. ✨
  • void setUpdateArea (const SbVec2f &origin, const SbVec2f &size) β€” set update area. πŸ¦‹
  • void getUpdateArea (SbVec2f &origin, SbVec2f &size) const β€” get update area. πŸ’–
  • void setAbortCallback (SoGLRenderAbortCB *const func, void *const userdata) β€” set abort callback. πŸ”₯
  • void getAbortCallback (SoGLRenderAbortCB *&func_out, void *&userdata_out) const β€” get abort callback. πŸ‘‘
  • void setTransparencyType (const TransparencyType type) β€” set transparency type. 🌈
  • TransparencyType getTransparencyType (void) const β€” get transparency type. ⭐
  • void setTransparentDelayedObjectRenderType (TransparentDelayedObjectRenderType type) β€” set transparent delayed object render type. πŸ’…
  • TransparentDelayedObjectRenderType getTransparentDelayedObjectRenderType (void) const β€” get transparent delayed object render type. 🫢
  • void setSmoothing (const SbBool smooth) β€” set smoothing. 🧚
  • SbBool isSmoothing (void) const β€” is smoothing? πŸ’œ
  • void setNumPasses (const int num) β€” set number of passes. πŸŽ€
  • int getNumPasses (void) const β€” get number of passes. ✨
  • void setPassUpdate (const SbBool flag) β€” set pass update. πŸ¦‹
  • SbBool isPassUpdate (void) const β€” is pass update? πŸ’–
  • void setPassCallback (SoGLRenderPassCB *const func, void *const userdata) β€” set pass callback. πŸ”₯
  • void setCacheContext (const uint32_t context) β€” set cache context. πŸ‘‘
  • uint32_t getCacheContext (void) const β€” get cache context. 🌈
  • void addDelayedPath (SoPath *path) β€” add delayed path. ⭐
  • SbBool isRenderingDelayedPaths (void) const β€” is rendering delayed paths? πŸ’…
  • SbBool handleTransparency (SbBool istransparent=FALSE) β€” handle transparency, default FALSE. 🫢
  • void setCurPass (const int passnum, const int numpasses) β€” set current pass. 🧚
  • int getCurPass (void) const β€” get current pass. πŸ’œ
  • SbBool abortNow (void) β€” abort now. 😭
  • void setRenderingIsRemote (SbBool isremote) β€” set rendering is remote. πŸŽ€
  • SbBool getRenderingIsRemote (void) const β€” get rendering is remote. ✨
  • virtual void invalidateState (void) β€” invalidate state. πŸ¦‹
  • void addPreRenderCallback (SoGLPreRenderCB *func, void *userdata) β€” add pre-render callback. πŸ’–
  • void removePreRenderCallback (SoGLPreRenderCB *func, void *userdata) β€” remove pre-render callback. πŸ”₯
  • void setSortedLayersNumPasses (int num) β€” set sorted layers number of passes. πŸ‘‘
  • int getSortedLayersNumPasses (void) const β€” get sorted layers number of passes. 🌈
  • void setSortedObjectOrderStrategy (const SortedObjectOrderStrategy strategy, SoGLSortedObjectOrderCB *cb=NULL, void *closure=NULL) β€” set sorted object order strategy, with cb and closure defaulting to NULL. ⭐
  • void setDelayedObjDepthWrite (SbBool write) β€” set delayed object depth write. πŸ’…
  • SbBool getDelayedObjDepthWrite (void) const β€” get delayed object depth write. 🫢
  • SbBool isRenderingTranspPaths (void) const β€” is rendering transparent paths? 🧚
  • SbBool isRenderingTranspBackfaces (void) const β€” is rendering transparent backfaces? πŸ’œ

πŸ’œ Public Member Functions inherited from SoAction πŸ’œ

  • virtual ~SoAction (void) β€” destructor. πŸ’€
  • virtual SbBool isOfType (SoType type) const β€” is of type? πŸŽ€
  • void apply (SoAction *beingApplied) β€” apply. ✨
  • AppliedCode getWhatAppliedTo (void) const β€” get what applied to. πŸ¦‹
  • SoNode * getNodeAppliedTo (void) const β€” get node applied to. πŸ’–
  • SoPath * getPathAppliedTo (void) const β€” get path applied to. πŸ”₯
  • const SoPathList * getPathListAppliedTo (void) const β€” get path list applied to. πŸ‘‘
  • const SoPathList * getOriginalPathListAppliedTo (void) const β€” get original path list applied to. 🌈
  • SbBool isLastPathListAppliedTo (void) const β€” is last path list applied to? ⭐
  • PathCode getPathCode (int &numindices, const int *&indices) β€” get path code. πŸ’…
  • void traverse (SoNode *const node) β€” traverse. 🫢
  • SbBool hasTerminated (void) const β€” has terminated? 🧚
  • const SoPath * getCurPath (void) β€” get current path. πŸ’œ
  • SoState * getState (void) const β€” get state. πŸŽ€
  • PathCode getCurPathCode (void) const β€” get current path code. ✨
  • virtual SoNode * getCurPathTail (void) β€” get current path tail. πŸ¦‹
  • void usePathCode (int &numindices, const int *&indices) β€” use path code. πŸ’–
  • void pushCurPath (const int childindex, SoNode *node=NULL) β€” push current path, node defaults to NULL. πŸ”₯
  • void popCurPath (const PathCode prevpathcode) β€” pop current path. πŸ‘‘
  • void pushCurPath (void) β€” push current path. 🌈
  • void popPushCurPath (const int childindex, SoNode *node=NULL) β€” pop-push current path, node defaults to NULL. ⭐
  • void popCurPath (void) β€” pop current path. πŸ’…
  • void switchToPathTraversal (SoPath *path) β€” switch to path traversal. 🫢
  • void switchToNodeTraversal (SoNode *node) β€” switch to node traversal. 🧚

🌟 Static Public Member Functions 🌟

  • static SoType getClassTypeId (void) β€” get class type ID. πŸ’œ
  • static void addMethod (const SoType type, SoActionMethod method) β€” add method. πŸŽ€
  • static void enableElement (const SoType type, const int stackindex) β€” enable element. ✨
  • static void initClass (void) β€” init class. πŸ¦‹

πŸ’œ Static Public Member Functions inherited from SoGLRenderAction πŸ’œ

  • static SoType getClassTypeId (void) β€” get class type ID. πŸ’–
  • static void addMethod (const SoType type, SoActionMethod method) β€” add method. πŸ”₯
  • static void enableElement (const SoType type, const int stackindex) β€” enable element. πŸ‘‘
  • static void initClass (void) β€” init class. 🌈

πŸ’œ Static Public Member Functions inherited from SoAction πŸ’œ

  • static void initClass (void) β€” init class. ⭐
  • static void initClasses (void) β€” init classes. πŸ’…
  • static SoType getClassTypeId (void) β€” get class type ID. 🫢
  • static void nullAction (SoAction *action, SoNode *node) β€” null action. 🧚

πŸ”’ Protected Member Functions πŸ”’

  • virtual const SoEnabledElementsList & getEnabledElements (void) const β€” get enabled elements. πŸ’œ

πŸ’œ Protected Member Functions inherited from SoGLRenderAction πŸ’œ

  • virtual void beginTraversal (SoNode *node) β€” begin traversal. πŸŽ€
  • virtual void endTraversal (SoNode *node) β€” end traversal. ✨

πŸ’œ Protected Member Functions inherited from SoAction πŸ’œ

  • SoAction (void) β€” constructor. πŸ¦‹
  • void setTerminated (const SbBool flag) β€” set terminated. πŸ’–
  • virtual SbBool shouldCompactPathList (void) const β€” should compact path list? πŸ”₯

πŸ” Static Protected Member Functions πŸ”

  • static SoEnabledElementsList * getClassEnabledElements (void) β€” get class enabled elements. πŸ‘‘
  • static SoActionMethodList * getClassActionMethods (void) β€” get class action methods. 🌈

πŸ’œ Static Protected Member Functions inherited from SoGLRenderAction πŸ’œ

  • static SoEnabledElementsList * getClassEnabledElements (void) β€” get class enabled elements. ⭐
  • static SoActionMethodList * getClassActionMethods (void) β€” get class action methods. πŸ’…

πŸ’œ Static Protected Member Functions inherited from SoAction πŸ’œ

  • static SoEnabledElementsList * getClassEnabledElements (void) β€” get class enabled elements. 🫢
  • static SoActionMethodList * getClassActionMethods (void) β€” get class action methods. 🧚

πŸ›‘οΈ Protected Attributes πŸ›‘οΈ

  • SbBool hlVisible β€” highlight visible flag. πŸ’œ

πŸ’œ Protected Attributes inherited from SoAction πŸ’œ

  • SoState * state β€” state. πŸŽ€
  • SoActionMethodList * traversalMethods β€” traversal methods. ✨

🎁 Additional Inherited Members 🎁

πŸ’œ Public Types inherited from SoGLRenderAction πŸ’œ

  • enum TransparencyType { SCREEN_DOOR, ADD, DELAYED_ADD, SORTED_OBJECT_ADD, BLEND, DELAYED_BLEND, SORTED_OBJECT_BLEND, SORTED_OBJECT_SORTED_TRIANGLE_ADD, SORTED_OBJECT_SORTED_TRIANGLE_BLEND, NONE, SORTED_LAYERS_BLEND } β€” transparency types. πŸ¦‹
  • enum TransparentDelayedObjectRenderType { ONE_PASS, NONSOLID_SEPARATE_BACKFACE_PASS } β€” transparent delayed object render types. πŸ’–
  • enum AbortCode { CONTINUE, ABORT, PRUNE, DELAY } β€” abort codes. πŸ”₯
  • enum SortedObjectOrderStrategy { BBOX_CENTER, BBOX_CLOSEST_CORNER, BBOX_FARTHEST_CORNER, CUSTOM_CALLBACK } β€” sorted object order strategies. πŸ‘‘
  • typedef AbortCode SoGLRenderAbortCB(void *userdata) β€” the abort callback typedef. 🌈

πŸ’œ Public Types inherited from SoAction πŸ’œ

  • enum AppliedCode { NODE = 0, PATH = 1, PATH_LIST = 2 } β€” applied codes. ⭐
  • enum PathCode { NO_PATH = 0, IN_PATH = 1, BELOW_PATH = 2, OFF_PATH = 3 } β€” path codes. πŸ’…

πŸ“– Detailed Description πŸ“–

The SoBoxHighlightRenderAction class renders the scene with highlighted boxes around selections. πŸŽ€

This action performs the same tasks as its parent class, SoGLRenderAction, with the added ability to render highlighted bounding boxes around geometry in selected nodes. This is a simple but convenient way of giving feedback to the user upon interaction with the scene graph. ✨

To have the highlighting actually happen (and to be able to automatically "select" nodes by picking with the mouse cursor), you need to use SoSelection nodes in place of group nodes. πŸ‘‘

πŸ‘€ See also πŸ‘€

  • SoLineHighlightRenderAction
  • SoSelection

πŸ› οΈ Constructor & Destructor Documentation πŸ› οΈ

SoBoxHighlightRenderAction::SoBoxHighlightRenderAction (void )

Default constructor. Note: passes a default SbViewportRegion to the parent constructor. πŸ’…

SoBoxHighlightRenderAction::SoBoxHighlightRenderAction (const SbViewportRegion & viewportregion)

Constructor, taking an explicit viewportregion to render. 🌸

SoBoxHighlightRenderAction::~SoBoxHighlightRenderAction (void ) [virtual]

Destructor. πŸ’€

πŸ’– Member Function Documentation πŸ’–

okay bestie, this is where we meet every function in SoBoxHighlightRenderAction. no skips, no cap. πŸ’…

πŸ¦‹ getTypeId

SoType SoBoxHighlightRenderAction::getTypeId (void ) const [virtual]

Returns the type identification of an action derived from a class inheriting SoAction. This is used for run-time type checking and "downward" casting. it's giving type-system main character energy πŸ”₯

Usage example:

void bar(SoAction * action)
{
  if (action->getTypeId() == SoGLRenderAction::getClassTypeId()) {
    // safe downward cast, know the type
    SoGLRenderAction * glrender = (SoGLRenderAction *)action;
  }
  return; // ignore if not renderaction
}

For application programmers wanting to extend the library with new actions: this method needs to be overridden in all subclasses. This is typically done as part of setting up the full type system for extension classes, which is usually accomplished by using the pre-defined macros available through Inventor/nodes/SoSubAction.h: SO_ACTION_SOURCE, SO_ACTION_INIT_CLASS and SO_ACTION_CONSTRUCTOR.

For more information on writing Coin extensions, see the SoAction class documentation.

Returns the actual type id of an object derived from a class inheriting SoAction. Needs to be overridden in all subclasses.

Reimplemented from SoGLRenderAction.


πŸŽ€ addMethod

void SoBoxHighlightRenderAction::addMethod (const SoType type,
    SoActionMethod method) [static]
heads up: this API member is considered internal to the library, as it is not likely to be of interest to the application programmer.

πŸ¦‹ enableElement

void SoBoxHighlightRenderAction::enableElement (const SoType type, const int
    stackindex) [static]
same vibe: this API member is considered internal to the library, as it is not likely to be of interest to the application programmer.

πŸ’œ getEnabledElements

const SoEnabledElementsList & SoBoxHighlightRenderAction::getEnabledElements
    (void ) const [protected],  [virtual]

Returns a list of the elements used by action instances of this class upon traversal operations.

Reimplemented from SoGLRenderAction.


🌸 apply (SoNode * root)

void SoBoxHighlightRenderAction::apply (SoNode * root) [virtual]

Applies the action to the scene graph rooted at root.

careful bestie: note that you should not apply an action to a node with a zero reference count. The behavior in that case is undefined.

Reimplemented from SoAction.


πŸ¦‹ apply (SoPath * path)

void SoBoxHighlightRenderAction::apply (SoPath * path) [virtual]

Applies the action to the parts of the graph defined by path.

Note that an SoPath will also contain all nodes that may influence e.g. geometry nodes in the path. So for instance applying an SoGLRenderAction on an SoPath will render that path as expected in the view, where geometry will get its materials, textures, and other appearance settings correctly.

If the path ends in an SoGroup node, the action will also traverse the tail node's children.

Reimplemented from SoAction.


✨ apply (const SoPathList & pathlist, SbBool obeysrules = FALSE)

void SoBoxHighlightRenderAction::apply (const SoPathList & pathlist, SbBool
    obeysrules = FALSE) [virtual]

Applies action to the graphs defined by pathlist. If obeysrules is set to TRUE, pathlist 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):

  • 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.

See also SoAction::apply(SoPath * path)

Reimplemented from SoAction.


πŸ’– setVisible

void SoBoxHighlightRenderAction::setVisible (const SbBool visible)

Sets if highlighted boxes should be visible when rendering. Defaults to TRUE.


πŸ“ isVisible

SbBool SoBoxHighlightRenderAction::isVisible (void ) const

Return if highlighted boxes are to be visible.


πŸ”₯ setColor

void SoBoxHighlightRenderAction::setColor (const SbColor & color)

Sets the color for the highlighted boxes. Defaults to completely red.


🌈 getColor

const SbColor & SoBoxHighlightRenderAction::getColor (void )

Returns rendering color of the highlighted boxes.


πŸŽ€ setLinePattern

void SoBoxHighlightRenderAction::setLinePattern (unsigned short pattern)

Sets the line pattern used for the highlighted boxes. Defaults to 0xffff (i.e. drawn with no stipples).


πŸ¦‹ getLinePattern

unsigned short SoBoxHighlightRenderAction::getLinePattern (void ) const

Returns line pattern used when drawing boxes.


πŸ’… setLineWidth

void SoBoxHighlightRenderAction::setLineWidth (const float width)

Sets the line width used when drawing boxes, in screen pixels (as for all OpenGL rendering). Defaults to 3.


πŸ‘‘ getLineWidth

float SoBoxHighlightRenderAction::getLineWidth (void ) const

Returns the line width used when drawing highlight boxes.


πŸ’œ Member Data Documentation πŸ’œ

πŸ“ hlVisible

SbBool SoBoxHighlightRenderAction::hlVisible [protected]

Boolean which decides whether or not the highlights for selected nodes should be visible.


🌈 Author 🌈

Generated automatically by Doxygen for Coin from the source code.


πŸ’– and that's a wrap, bestie! source: Coin, version 3.1.3, page SoBoxHighl...nderAction(3) β€” date: not in this footer, just Doxygen energy. periodt. πŸ’…βœ¨
πŸ“¦ where this page comes from