SoFullPath(3)

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

πŸ’– SoFullPath πŸ’– (the NAME bit)

okay bestie, so this is SoFullPath, and she's a whole vibe. Manual page SoFullPath(3), from the Library Functions Manual β€” say hi πŸ‘‹

SoFullPath β€” the SoFullPath class lets you peek at the hidden children inside paths. no cap, that's literally her whole job.


✨ SYNOPSIS ✨

#include <Inventor/SoFullPath.h>

She Inherits SoPath. so she's got her mom's whole closet to borrow from 🫢

πŸŽ€ Public Member Functions

void pop (void)
SoNode * getTail (void) const
SoNode * getNodeFromTail (const int index) const
int getIndexFromTail (const int index) const
int getLength (void) const

🌸 Public Member Functions inherited from SoPath

SoPath (const int approxlength=4)
SoPath (SoNode *const head)
SoPath (const SoPath &rhs)
SoPath & operator= (const SoPath &rhs)
virtual SoType getTypeId (void) const
void setHead (SoNode *const head)
SoNode * getHead (void) const
void append (const int childindex)
void append (SoNode *const node)
void append (const SoPath *const frompath)
void push (const int childindex)
void pop (void)
SoNode * getTail (void) const
SoNode * getNode (const int index) const
SoNode * getNodeFromTail (const int index) const
int getIndex (const int index) const
int getIndexFromTail (const int index) const
int getLength (void) const
void truncate (const int length)
int findFork (const SoPath *const path) const
int findNode (const SoNode *const node) const
SbBool containsNode (const SoNode *const node) const
SbBool containsPath (const SoPath *const path) const
SoPath * copy (const int startfromnodeindex=0, int numnodes=0) const
void insertIndex (SoNode *const parent, const int newindex)
void removeIndex (SoNode *const parent, const int oldindex)
void replaceIndex (SoNode *const parent, const int index, SoNode *const
    newchild)
SbBool isRelevantNotification (SoNotList *const l) const
virtual void write (SoWriteAction *action)

πŸ’œ Public Member Functions inherited from SoBase

void ref (void) const
void unref (void) const
void unrefNoDelete (void) const
int32_t getRefCount (void) const
void touch (void)
SbBool isOfType (SoType type) const
virtual SbName getName (void) const
virtual void setName (const SbName &newname)
virtual void startNotify (void)
virtual void notify (SoNotList *l)
void addAuditor (void *const auditor, const SoNotRec::Type type)
void removeAuditor (void *const auditor, const SoNotRec::Type type)
const SoAuditorList & getAuditors (void) const
virtual void addWriteReference (SoOutput *out, SbBool isfromfield=0)
SbBool shouldWrite (void)
void assertAlive (void) const

πŸ¦‹ Friends

class SoTempPath

🌈 Additional Inherited Members

Static Public Member Functions inherited from SoPath

static void initClass (void)
static SoType getClassTypeId (void)
static SoPath * getByName (const SbName name)
static int getByName (const SbName name, SoPathList &l)

Static Public Member Functions inherited from SoBase

static void initClass (void)
static SoType getClassTypeId (void)
static void addName (SoBase *const base, const char *const name)
static void removeName (SoBase *const base, const char *const name)
static void incrementCurrentWriteCounter (void)
static void decrementCurrentWriteCounter (void)
static SoBase * getNamedBase (const SbName &name, SoType type)
static int getNamedBases (const SbName &name, SoBaseList &baselist,
    SoType type)
static SbBool read (SoInput *in, SoBase *&base, SoType expectedtype)
static void setInstancePrefix (const SbString &c)
static void setTraceRefs (SbBool trace)
static SbBool getTraceRefs (void)
static SbBool connectRoute (SoInput *in, const SbName &fromnodename,
    const SbName &fromfieldname, const SbName &tonodename, const SbName
    &tofieldname)
static SbBool readRoute (SoInput *in)

Protected Types inherited from SoBase

enum BaseFlags { IS_ENGINE = 0x01, IS_GROUP = 0x02 }

Protected Member Functions inherited from SoPath

virtual ~SoPath ()
void auditPath (const SbBool flag)

Protected Member Functions inherited from SoBase

SoBase (void)
virtual ~SoBase ()
virtual void destroy (void)
SbBool hasMultipleWriteRefs (void) const
SbBool writeHeader (SoOutput *out, SbBool isgroup, SbBool isengine)
    const
void writeFooter (SoOutput *out) const
virtual const char * getFileFormatName (void) const

Static Protected Member Functions inherited from SoBase

static uint32_t getCurrentWriteCounter (void)
static void staticDataLock (void)
static void staticDataUnlock (void)

πŸ“ DETAILED DESCRIPTION

The SoFullPath class lets you examine hidden children in paths. that's the tea β˜•

So like, SoPath only lets you access from the head node down to the first node with hidden children, but not any further. rude, honestly. 😭

But here's the slay: since the SoFullPath is derived from SoPath and contains no private data, you can just cast SoPath instances to the SoFullPath type. boom. now you can examine hidden children. main character move πŸ’…

(ngl, you are actually not supposed to allocate instances of this class at all. she's only available as an "extended interface" into the superclass SoPath. so don't be out here doing new SoFullPath() bestie, i'm begging πŸ™ˆ)

πŸ‘‘ MEMBER FUNCTION DOCUMENTATION

🌟 void SoFullPath::pop (void ) [inline]

This method overrides SoPath::pop() so clients can get at all the nodes in the path. all of them. every single one. periodt.

References SoPath::truncate().

Referenced by SoBaseKit::createPathToAnyPart().

🌟 SoNode * SoFullPath::getTail (void ) const

This method overrides SoPath::getTail() so clients can get the tail node, counting internal path nodes. it's giving thorough πŸ’–

Referenced by SoGLRenderAction::abortNow(), SoGetBoundingBoxAction::checkResetAfter(), SoGetBoundingBoxAction::checkResetBefore(), SoBaseKit::createPathToAnyPart(), SoBaseKit::getPartString(), SoVRMLDragSensor::handleEvent(), SoVRMLTouchSensor::handleEvent(), SoClipPlaneManip::replaceNode(), SoDirectionalLightManip::replaceNode(), SoPointLightManip::replaceNode(), SoSpotLightManip::replaceNode(), SoTransformManip::replaceNode(), and SoDragger::shouldGrabBasedOnSurrogate().

🌟 SoNode * SoFullPath::getNodeFromTail (const int index) const

This method overrides SoPath::getNodeFromTail() so clients can get the node positioned index nodes from the tail, counting internal path nodes. yes, internal path nodes too, we're being generous ✨

Referenced by SoClipPlaneManip::replaceNode(), SoDirectionalLightManip::replaceNode(), SoPointLightManip::replaceNode(), SoSpotLightManip::replaceNode(), and SoTransformManip::replaceNode().

🌟 int SoFullPath::getIndexFromTail (const int index) const

This method overrides SoPath::getIndexFromTail() so clients can get the child index number for nodes based on their position from the tail, counting hidden nodes. hidden nodes get counted here, unlike some other methods we could mention πŸ’€

🌟 int SoFullPath::getLength (void ) const

This method returns the length of the path, counting hidden nodes also. full count, no skips, we love an honest queen 🌸

Referenced by SoGLRenderAction::abortNow(), SoBaseKit::createPathToAnyPart(), SoBaseKit::getPartString(), SoVRMLDragSensor::handleEvent(), SoVRMLTouchSensor::handleEvent(), SoClipPlaneManip::replaceNode(), SoDirectionalLightManip::replaceNode(), SoPointLightManip::replaceNode(), SoSpotLightManip::replaceNode(), SoTransformManip::replaceNode(), SoPathList::uniquify(), and SoSurroundScale::updateMySurroundParams().


🧚 AUTHOR

Generated automatically by Doxygen for Coin from the source code. so basically the robots wrote it, we just gave it ✨aura✨


okay that's the whole page bestie, ily, go forth and examine those hidden children 🫢

🌟 cute little sign-off: this was Coin, Version 2.5.0 β€” SoFullPath(3), iconic, no notes, bye πŸ’…βœ¨πŸŽ€
πŸ“¦ where this page comes from