SoLocateHighlight(3)
π 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 withnchildren.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 withnchildren.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
- fedora 43: Coin3-devel 3.1.3-40.fc43 Β· GPL-2.0-only
- fedora 43: Coin3-devel 3.1.3-40.fc43 Β· GPL-2.0-only
- fedora 44: Coin3-devel 3.1.3-42.fc44 Β· GPL-2.0-only
- fedora 44: Coin3-devel 3.1.3-42.fc44 Β· GPL-2.0-only
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms