SoLocateHighlight(3)

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

πŸ’– SoLocateHighlight(3) β€” Library Functions Manual πŸ’–

🌸 NAME 🌸

SoLocateHighlight is the class that highlights geometry under the cursor. Like, the geometry literally under your cursor gets the spotlight. It's giving main character energy for your 3D scene. No cap. ✨

✨ SYNOPSIS ✨

Okay bestie, to use it, include this header:

#include <Inventor/nodes/SoLocateHighlight.h>

It inherits SoSeparator. Lowkey a whole family tree.

It's inherited by SoWWWAnchor. The legacy continues, periodt.

πŸ‘‘ Public Types πŸ‘‘

  • enum Modes { AUTO, ON, OFF } β€” the modes, bestie: AUTO, ON, OFF. Pick your vibe.
  • enum Styles { EMISSIVE, EMISSIVE_DIFFUSE } β€” the styles: EMISSIVE, EMISSIVE_DIFFUSE. It's giving options.

πŸ’« Public Types inherited from SoSeparator πŸ’«

  • enum CacheEnabled { OFF, ON, AUTO } β€” caching states: OFF, ON, AUTO.

πŸ’« Public Types inherited from SoNode πŸ’«

enum NodeType { INVENTOR = 0x0000, VRML1 = 0x0001, VRML2 = 0x0002,
    INVENTOR_1 = 0x0004, INVENTOR_2_0 = 0x0008, INVENTOR_2_1 = 0x0010,
    INVENTOR_2_5 = 0x0020, INVENTOR_2_6 = 0x0040, COIN_1_0 = 0x0080,
    COIN_2_0 = 0x0100, EXTENSION = 0x0200, COIN_2_2 = 0x0400, COIN_2_3 =
    0x0800, COIN_2_4 = 0x1000, INVENTOR_5_0 = 0x2000, COIN_2_5 = 0x4000,
    COIN_3_0 = 0x8000, INVENTOR_6_0 = 0x10000 }

πŸ› οΈ Public Member Functions πŸ› οΈ

  • virtual SoType getTypeId (void) const β€” grab the type ID.
  • SoLocateHighlight (void) β€” constructor, no args.
  • virtual void handleEvent (SoHandleEventAction *action) β€” handle that event.
  • virtual void GLRenderBelowPath (SoGLRenderAction *action) β€” GL render below path.
  • virtual void GLRenderInPath (SoGLRenderAction *action) β€” GL render in path.

🧚 Public Member Functions inherited from SoSeparator 🧚

  • SoSeparator (void) β€” constructor.
  • SoSeparator (const int nchildren) β€” constructor with nchildren.
  • virtual void doAction (SoAction *action) β€” do the action.
  • virtual void GLRender (SoGLRenderAction *action) β€” GL render.
  • virtual void GLRenderOffPath (SoGLRenderAction *action) β€” GL render off path.
  • virtual void callback (SoCallbackAction *action) β€” callback.
  • virtual void getBoundingBox (SoGetBoundingBoxAction *action) β€” get bounding box.
  • virtual void getMatrix (SoGetMatrixAction *action) β€” get matrix.
  • virtual void rayPick (SoRayPickAction *action) β€” ray pick.
  • virtual void search (SoSearchAction *action) β€” search.
  • virtual void getPrimitiveCount (SoGetPrimitiveCountAction *action) β€” get primitive count.
  • virtual void audioRender (SoAudioRenderAction *action) β€” audio render.
  • virtual void notify (SoNotList *nl) β€” notify.
  • virtual SbBool affectsState (void) const β€” does it affect state?

🧚 Public Member Functions inherited from SoGroup 🧚

  • SoGroup (void) β€” constructor.
  • SoGroup (int nchildren) β€” constructor with nchildren.
  • virtual void addChild (SoNode *node) β€” add child.
  • virtual void insertChild (SoNode *child, int newchildindex) β€” insert child at index.
  • virtual SoNode * getChild (int index) const β€” get child.
  • virtual int findChild (const SoNode *node) const β€” find child.
  • virtual int getNumChildren (void) const β€” get number of children.
  • virtual void removeChild (int childindex) β€” remove child by index.
  • virtual void removeChild (SoNode *child) β€” remove child.
  • virtual void removeAllChildren (void) β€” remove all children.
  • virtual void replaceChild (int index, SoNode *newchild) β€” replace child at index.
  • virtual void replaceChild (SoNode *oldchild, SoNode *newchild) β€” replace child.
  • virtual void pick (SoPickAction *action) β€” pick.
  • virtual void write (SoWriteAction *action) β€” write.
  • virtual SoChildList * getChildren (void) const β€” get children list.

🧚 Public Member Functions inherited from SoNode 🧚

  • void setOverride (const SbBool state) β€” set override.
  • SbBool isOverride (void) const β€” is override?
  • void setNodeType (const NodeType type) β€” set node type.
  • NodeType getNodeType (void) const β€” get node type.
  • virtual SoNode * copy (SbBool copyconnections=FALSE) const β€” copy.
  • virtual void grabEventsSetup (void) β€” grab events setup.
  • virtual void grabEventsCleanup (void) β€” grab events cleanup.
  • virtual void startNotify (void) β€” start notify.
  • uint32_t getNodeId (void) const β€” get node ID.
  • virtual void writeInstance (SoOutput *out) β€” write instance.
  • virtual SoNode * addToCopyDict (void) const β€” add to copy dict.
  • virtual SoFieldContainer * copyThroughConnection (void) const β€” copy through connection.

🧚 Public Member Functions inherited from SoFieldContainer 🧚

  • void setToDefaults (void) β€” set to defaults.
  • SbBool hasDefaultValues (void) const β€” has default values?
  • SbBool fieldsAreEqual (const SoFieldContainer *container) const β€” fields are equal?
  • void copyFieldValues (const SoFieldContainer *container, SbBool copyconnections=FALSE) β€” copy field values.
  • SbBool set (const char *const fielddata) β€” set from field data.
  • void get (SbString &fielddata) β€” get field data.
  • virtual int getFields (SoFieldList &l) const β€” get fields.
  • virtual int getAllFields (SoFieldList &l) const β€” get all fields.
  • virtual SoField * getField (const SbName &name) const β€” get field by name.
  • virtual SoField * getEventIn (const SbName &name) const β€” get event in.
  • virtual SoField * getEventOut (const SbName &name) const β€” get event out.
  • SbBool getFieldName (const SoField *const field, SbName &name) const β€” get field name.
  • SbBool enableNotify (const SbBool flag) β€” enable notify.
  • SbBool isNotifyEnabled (void) const β€” is notify enabled?
  • SbBool set (const char *fielddata, SoInput *input) β€” set with input.
  • void get (SbString &fielddata, SoOutput *out) β€” get with output.
  • virtual SbBool validateNewFieldValue (SoField *field, void *newval) β€” validate new field value.
  • virtual void addWriteReference (SoOutput *out, SbBool isfromfield=FALSE) β€” add write reference.
  • SbBool getIsBuiltIn (void) const β€” get is built-in.
  • virtual void getFieldsMemorySize (size_t &managed, size_t &unmanaged) const β€” get fields memory size.
  • void setUserData (void *userdata) const β€” set user data.
  • void * getUserData (void) const β€” get user data.

🧚 Public Member Functions inherited from SoBase 🧚

  • void ref (void) const β€” ref.
  • void unref (void) const β€” unref.
  • void unrefNoDelete (void) const β€” unref no delete.
  • int32_t getRefCount (void) const β€” get ref count.
  • void touch (void) β€” touch.
  • SbBool isOfType (SoType type) const β€” is of type?
  • virtual SbName getName (void) const β€” get name.
  • virtual void setName (const SbName &newname) β€” set name.
  • void addAuditor (void *const auditor, const SoNotRec::Type type) β€” add auditor.
  • void removeAuditor (void *const auditor, const SoNotRec::Type type) β€” remove auditor.
  • const SoAuditorList & getAuditors (void) const β€” get auditors.
  • SbBool shouldWrite (void) β€” should write?
  • void assertAlive (void) const β€” assert alive.

⚑ Static Public Member Functions ⚑

  • static SoType getClassTypeId (void) β€” get class type ID.
  • static void initClass (void) β€” init class.
  • static void turnOffCurrentHighlight (SoGLRenderAction *action) β€” turn off current highlight.

⚑ Static Public Member Functions inherited from SoSeparator ⚑

  • static SoType getClassTypeId (void) β€” get class type ID.
  • static void initClass (void) β€” init class.
  • static void setNumRenderCaches (const int howmany) β€” set number of render caches.
  • static int getNumRenderCaches (void) β€” get number of render caches.

⚑ Static Public Member Functions inherited from SoGroup ⚑

  • static SoType getClassTypeId (void) β€” get class type ID.
  • static void initClass (void) β€” init class.

⚑ Static Public Member Functions inherited from SoNode ⚑

  • static uint32_t getCompatibilityTypes (const SoType &nodetype) β€” get compatibility types.
  • static SoType getClassTypeId (void) β€” get class type ID.
  • static SoNode * getByName (const SbName &name) β€” get by name.
  • static int getByName (const SbName &name, SoNodeList &l) β€” get by name into list.
  • static void initClass (void) β€” init class.
  • static void initClasses (void) β€” init classes.
  • static uint32_t getNextNodeId (void) β€” get next node ID.
  • static int getActionMethodIndex (const SoType type) β€” get action method index.
  • static void getBoundingBoxS (SoAction *action, SoNode *node) β€” get bounding box S.
  • static void GLRenderS (SoAction *action, SoNode *node) β€” GL render S.
  • static void callbackS (SoAction *action, SoNode *node) β€” callback S.
  • static void getMatrixS (SoAction *action, SoNode *node) β€” get matrix S.
  • static void handleEventS (SoAction *action, SoNode *node) β€” handle event S.
  • static void pickS (SoAction *action, SoNode *node) β€” pick S.
  • static void rayPickS (SoAction *action, SoNode *node) β€” ray pick S.
  • static void searchS (SoAction *action, SoNode *node) β€” search S.
  • static void writeS (SoAction *action, SoNode *node) β€” write S.
  • static void audioRenderS (SoAction *action, SoNode *node) β€” audio render S.
  • static void getPrimitiveCountS (SoAction *action, SoNode *node) β€” get primitive count S.

⚑ Static Public Member Functions inherited from SoFieldContainer ⚑

  • static void initClass (void) β€” init class.
  • static SoType getClassTypeId (void) β€” get class type ID.
  • static void cleanupClass (void) β€” cleanup class.
  • static void initCopyDict (void) β€” init copy dict.
  • static void addCopy (const SoFieldContainer *orig, const SoFieldContainer *copy) β€” add copy.
  • static SoFieldContainer * checkCopy (const SoFieldContainer *orig) β€” check copy.
  • static SoFieldContainer * findCopy (const SoFieldContainer *orig, const SbBool copyconnections) β€” find copy.
  • static void copyDone (void) β€” copy done.

⚑ Static Public Member Functions inherited from SoBase ⚑

  • static void initClass (void) β€” init class.
  • static SoType getClassTypeId (void) β€” get class type ID.
  • static void addName (SoBase *const base, const char *const name) β€” add name.
  • static void removeName (SoBase *const base, const char *const name) β€” remove name.
  • static void incrementCurrentWriteCounter (void) β€” increment current write counter.
  • static void decrementCurrentWriteCounter (void) β€” decrement current write counter.
  • static SoBase * getNamedBase (const SbName &name, SoType type) β€” get named base.
  • static int getNamedBases (const SbName &name, SoBaseList &baselist, SoType type) β€” get named bases.
  • static SbBool read (SoInput *input, SoBase *&base, SoType expectedtype) β€” read.
  • static void setInstancePrefix (const SbString &c) β€” set instance prefix.
  • static void setTraceRefs (SbBool trace) β€” set trace refs.
  • static SbBool getTraceRefs (void) β€” get trace refs.
  • static SbBool connectRoute (SoInput *input, const SbName &fromnodename, const SbName &fromfieldname, const SbName &tonodename, const SbName &tofieldname) β€” connect route.
  • static SbBool readRoute (SoInput *input) β€” read route.

🌟 Public Attributes 🌟

  • SoSFColor color β€” the color.
  • SoSFEnum style β€” the style.
  • SoSFEnum mode β€” the mode.

🌟 Public Attributes inherited from SoSeparator 🌟

  • SoSFEnum renderCaching β€” render caching.
  • SoSFEnum boundingBoxCaching β€” bounding box caching.
  • SoSFEnum renderCulling β€” render culling.
  • SoSFEnum pickCulling β€” pick culling.

πŸ›‘οΈ Protected Member Functions πŸ›‘οΈ

  • virtual const SoFieldData * getFieldData (void) const β€” get field data.
  • virtual ~SoLocateHighlight () β€” destructor.
  • virtual void redrawHighlighted (SoAction *act, SbBool flag) β€” redraw highlighted.

πŸ›‘οΈ Protected Member Functions inherited from SoSeparator πŸ›‘οΈ

  • virtual ~SoSeparator () β€” destructor.
  • virtual SbBool cullTest (SoState *state) β€” cull test.
  • virtual SbBool cullTest (SoGLRenderAction *action, int &cullresults) β€” cull test with results.
  • virtual SbBool readInstance (SoInput *in, unsigned short flags) β€” read instance.

πŸ›‘οΈ Protected Member Functions inherited from SoGroup πŸ›‘οΈ

  • virtual ~SoGroup () β€” destructor.
  • virtual SbBool readChildren (SoInput *in) β€” read children.
  • virtual void copyContents (const SoFieldContainer *from, SbBool copyconnections) β€” copy contents.

πŸ›‘οΈ Protected Member Functions inherited from SoNode πŸ›‘οΈ

  • SoNode (void) β€” constructor.
  • virtual ~SoNode () β€” destructor.

πŸ›‘οΈ Protected Member Functions inherited from SoFieldContainer πŸ›‘οΈ

  • SoFieldContainer (void) β€” constructor.
  • virtual ~SoFieldContainer () β€” destructor.

πŸ›‘οΈ Protected Member Functions inherited from SoBase πŸ›‘οΈ

  • SoBase (void) β€” constructor.
  • virtual ~SoBase () β€” destructor.
  • virtual void destroy (void) β€” destroy.
  • SbBool hasMultipleWriteRefs (void) const β€” has multiple write refs?
  • SbBool writeHeader (SoOutput *out, SbBool isgroup, SbBool isengine) const β€” write header.
  • void writeFooter (SoOutput *out) const β€” write footer.
  • virtual const char * getFileFormatName (void) const β€” get file format name.

πŸ”’ Static Protected Member Functions πŸ”’

  • static const SoFieldData ** getFieldDataPtr (void) β€” get field data pointer.

πŸ”’ Static Protected Member Functions inherited from SoSeparator πŸ”’

  • static const SoFieldData ** getFieldDataPtr (void) β€” get field data pointer.

πŸ”’ Static Protected Member Functions inherited from SoGroup πŸ”’

  • static const SoFieldData ** getFieldDataPtr (void) β€” get field data pointer.

πŸ”’ Static Protected Member Functions inherited from SoNode πŸ”’

  • static const SoFieldData ** getFieldDataPtr (void) β€” get field data pointer.
  • static void setNextActionMethodIndex (int index) β€” set next action method index.
  • static int getNextActionMethodIndex (void) β€” get next action method index.
  • static void incNextActionMethodIndex (void) β€” increment next action method index.
  • static void setCompatibilityTypes (const SoType &nodetype, const uint32_t bitmask) β€” set compatibility types.

πŸ”’ Static Protected Member Functions inherited from SoBase πŸ”’

  • static uint32_t getCurrentWriteCounter (void) β€” get current write counter.
  • static void staticDataLock (void) β€” static data lock.
  • static void staticDataUnlock (void) β€” static data unlock.

🎁 Additional Inherited Members 🎁

🎁 Protected Types inherited from SoBase 🎁

  • enum BaseFlags { IS_ENGINE = 0x01, IS_GROUP = 0x02 } β€” base flags.

🎁 Protected Attributes inherited from SoGroup 🎁

  • SoChildList * children β€” children pointer.

🎁 Protected Attributes inherited from SoNode 🎁

  • uint32_t uniqueId β€” unique ID.

🎁 Protected Attributes inherited from SoFieldContainer 🎁

  • SbBool isBuiltIn β€” is built-in.

🎁 Static Protected Attributes inherited from SoNode 🎁

  • static uint32_t nextUniqueId = 1 β€” next unique ID.
  • static int nextActionMethodIndex = 0 β€” next action method index.

✨ DETAILED DESCRIPTION ✨

The SoLocateHighlight class highlights geometry under the cursor. It's giving "notice me" energy but, like, only when you hover. πŸ–±οΈπŸ’–

Note: this node is supposed to draw to the front buffer. However, in Coin we always draw to the back buffer, forcing a scene redraw whenever a highlight state changes. So yeah, bestie, it's a whole thing. πŸ’€

FILE FORMAT/DEFAULTS:

LocateHighlight {
    renderCaching AUTO
    boundingBoxCaching AUTO
    renderCulling AUTO
    pickCulling AUTO
    color 0.3 0.3 0.3
    style EMISSIVE
    mode AUTO
}

πŸŽ€ MEMBER ENUMERATION DOCUMENTATION πŸŽ€

enum SoLocateHighlight::Modes

Enum type for behaviour modes. It's literally the vibe check for how the highlight acts. ✨

  • AUTO β€” Highlight when mouse cursor is over the contents of the node. Main character behavior only when hovered. πŸ‘‘
  • ON β€” Always highlight. No chill. πŸ”₯
  • OFF β€” Never highlight. Ghosted. πŸ™ˆ

enum SoLocateHighlight::Styles

Enum type for highlight styles. Pick your aesthetic. πŸ’…

  • EMISSIVE β€” Highlight using emissive color override.
  • EMISSIVE_DIFFUSE β€” Highlight using emissive and diffuse color override. (The source says "useing" and honestly, same vibe. 🫢)

🧚 CONSTRUCTOR & DESTRUCTOR DOCUMENTATION 🧚

SoLocateHighlight::SoLocateHighlight (void )

Constructor. It makes the thing. Slay. ✨

SoLocateHighlight::~SoLocateHighlight () [protected], [virtual]

Destructor. Protected and virtual, so subclasses can do their little cleanup era. πŸ’…


πŸ”₯ MEMBER FUNCTION DOCUMENTATION πŸ”₯

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

Returns the type identification of an object derived from a class inheriting SoBase. This is used for run-time type checking and "downward" casting.

Usage example:

void foo(SoNode * node)
{
  if (node->getTypeId() == SoFile::getClassTypeId()) {
    SoFile * filenode = (SoFile *)node;  // safe downward cast, knows the type
  }
}

For application programmers wanting to extend the library with new nodes, engines, nodekits, draggers or others: 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 for instance Inventor/nodes/SoSubNode.h (SO_NODE_INIT_CLASS and SO_NODE_CONSTRUCTOR for node classes), Inventor/engines/SoSubEngine.h (for engine classes) and so on.

For more information on writing Coin extensions, see the class documentation of the toplevel superclasses for the various class groups.

Reimplemented from SoSeparator.

Reimplemented in SoWWWAnchor.

const SoFieldData * SoLocateHighlight::getFieldData (void ) const [protected], [virtual]

Returns a pointer to the class-wide field data storage object for this instance. If no fields are present, returns NULL.

Reimplemented from SoSeparator.

Reimplemented in SoWWWAnchor.

void SoLocateHighlight::handleEvent (SoHandleEventAction * action) [virtual]

Action method for SoHandleEventAction.

Inspects the event data from action, and processes it if it is something which this node should react to.

Nodes influencing relevant state variables for how event handling is done also overrides this method.

Reimplemented from SoSeparator.

Reimplemented in SoWWWAnchor.

void SoLocateHighlight::GLRenderBelowPath (SoGLRenderAction * action) [virtual]

SGI Open Inventor v2.1 obsoleted support for SoGLRenderAction::addMethod(). Instead, GLRender() might be called directly, and to optimize traversal, the SoSeparator node calls GLRenderBelowPath whenever the path code is BELOW_PATH or NO_PATH (path code is guaranteed not to change). To be compatible with SGI's Inventor (and thereby also TGS') we have chosen to follow their implementation in this respect.

SoSeparator::GLRenderBelowPath() do not traverse its children using SoChildList::traverse(), but calls GLRenderBelowPath() directly for all its children.

Reimplemented from SoSeparator.

void SoLocateHighlight::GLRenderInPath (SoGLRenderAction * action) [virtual]

Implements the SoAction::IN_PATH traversal method for the rendering action.

Reimplemented from SoSeparator.

void SoLocateHighlight::turnOffCurrentHighlight (SoGLRenderAction * action) [static]

Static method that can be used to turn off the current highlight. It's the "okay bye" button. πŸ‘‹

void SoLocateHighlight::redrawHighlighted (SoAction * act, SbBool flag) [protected], [virtual]

Empty method in Coin. Can be used by subclasses to be told when status change. (Yes, the original says "when status change" β€” we're just keeping it real. 🫢)

Reimplemented in SoWWWAnchor.


πŸ’œ MEMBER DATA DOCUMENTATION πŸ’œ

SoSFColor SoLocateHighlight::color

The color used for highlighting. Default is [0.3, 0.3, 0.3], a dark gray. Moody but make it fashion. πŸ–€

SoSFEnum SoLocateHighlight::style

The highlight style. Default is SoLocateHighlight::EMISSIVE.

SoSFEnum SoLocateHighlight::mode

The highlight mode. Default is SoLocateHighlight::AUTO.


πŸ‘‘ AUTHOR πŸ‘‘

Generated automatically by Doxygen for Coin from the source code.


Okay bestie, that's the whole page. It came from <strong>Coin, version 3.1.3</strong>, and it's <strong>SoLocateHighlight(3)</strong>. Periodt. πŸ’…βœ¨

πŸ“¦ where this page comes from