Coin  4.0.10
Coin3D core library
Loading...
Searching...
No Matches
SoFullPath Class Reference

The SoFullPath class allows examination of hidden children in paths. More...

#include <Inventor/SoFullPath.h>

Inheritance diagram for SoFullPath:
SoPath SoBase SoTempPath

Public Member Functions

int getIndexFromTail (const int index) const
 
int getLength (void) const
 
SoNode * getNodeFromTail (const int index) const
 
SoNode * getTail (void) const
 
void pop (void)
 
- Public Member Functions inherited from SoPath
 SoPath (const int approxlength=4)
 
 SoPath (const SoPath &rhs)
 
 SoPath (SoNode *const head)
 
void append (const int childindex)
 
void append (const SoPath *const frompath)
 
void append (SoNode *const node)
 
SbBool containsNode (const SoNode *const node) const
 
SbBool containsPath (const SoPath *const path) const
 
SoPath * copy (const int startfromnodeindex=0, int numnodes=0) const
 
int findFork (const SoPath *const path) const
 
int findNode (const SoNode *const node) const
 
SoFullPathView fullPath (void) const
 
SoNode * getHead (void) const
 
int getIndex (const int index) const
 
int getIndexFromTail (const int index) const
 
int getLength (void) const
 
SoNode * getNode (const int index) const
 
SoNode * getNodeFromTail (const int index) const
 
SoNode * getTail (void) const
 
SoType getTypeId (void) const override
 Returns the type identification of an object derived from a class inheriting SoBase. This is used for runtime type checking and "downward" casting.
 
void insertIndex (SoNode *const parent, const int newindex)
 
SbBool isRelevantNotification (SoNotList *const l) const
 
SoNodeKitPathView nodeKitPath (void) const
 
SoPath & operator= (const SoPath &rhs)
 
void pop (void)
 
void push (const int childindex)
 
void removeIndex (SoNode *const parent, const int oldindex)
 
void replaceIndex (SoNode *const parent, const int index, SoNode *const newchild)
 
void setHead (SoNode *const head)
 
void truncate (const int length)
 
virtual void write (SoWriteAction *action)
 
- Public Member Functions inherited from SoBase
void addAuditor (void *const auditor, const SoNotRec::Type type)
 
virtual void addWriteReference (SoOutput *out, SbBool isfromfield=FALSE)
 
void assertAlive (void) const
 
const SoAuditorList & getAuditors (void) const
 
virtual SbName getName (void) const
 
int32_t getRefCount (void) const
 
SbBool isOfType (SoType type) const
 Returns TRUE if the type of this object is either of the same type or inherited from type.
 
virtual void notify (SoNotList *l)
 
void ref (void) const
 
void removeAuditor (void *const auditor, const SoNotRec::Type type)
 
virtual void setName (const SbName &newname)
 
SbBool shouldWrite (void)
 
virtual void startNotify (void)
 
void touch (void)
 
void unref (void) const
 
void unrefNoDelete (void) const
 

Additional Inherited Members

- Static Public Member Functions inherited from SoPath
static SoPath * getByName (const SbName name)
 
static int getByName (const SbName name, SoPathList &l)
 
static SoType getClassTypeId (void)
 This static method returns the SoType object associated with objects of this class.
 
static void initClass (void)
 Sets up initialization for data common to all instances of this class, like submitting necessary information to the Coin type system.
 
- Static Public Member Functions inherited from SoBase
static void addName (SoBase *const base, const char *const name)
 
static SbBool connectRoute (SoInput *input, const SbName &fromnodename, const SbName &fromfieldname, const SbName &tonodename, const SbName &tofieldname)
 
static void decrementCurrentWriteCounter (void)
 
static SoType getClassTypeId (void)
 This static method returns the SoType object associated with objects of this class.
 
static SoBase * getNamedBase (const SbName &name, SoType type)
 
static int getNamedBases (const SbName &name, SoBaseList &baselist, SoType type)
 
static SbBool getTraceRefs (void)
 
static void incrementCurrentWriteCounter (void)
 
static void initClass (void)
 Sets up initialization for data common to all instances of this class, like submitting necessary information to the Coin type system.
 
static SbBool read (SoInput *input, SoBase *&base, SoType expectedtype)
 
static SbBool readRoute (SoInput *input)
 
static void removeName (SoBase *const base, const char *const name)
 
static void setInstancePrefix (const SbString &c)
 
static void setTraceRefs (SbBool trace)
 
- 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 SoNotRec createNotRec (void)
 
virtual void destroy (void)
 
virtual const char * getFileFormatName (void) const
 
SbBool hasMultipleWriteRefs (void) const
 
void writeFooter (SoOutput *out) const
 
SbBool writeHeader (SoOutput *out, SbBool isgroup, SbBool isengine) 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 allows examination of hidden children in paths.

SoPath::getTail() and SoPath::getLength() stop at the first node with hidden children. To inspect the complete path, use SoPath::fullPath().

Historically, callers cast SoPath instances to SoFullPath to access hidden children. Such a downcast has undefined behavior unless the object actually derives from SoFullPath. SoPath::fullPath() provides this functionality without a cast.

SoFullPath is retained for compatibility and as the base of SoTempPath. Its accessors delegate to SoFullPathView.

Member Function Documentation

◆ getIndexFromTail()

int SoFullPath::getIndexFromTail ( const int index) const

This method overrides SoPath::getIndexFromTail() to allow clients to get the child index number for nodes based on their position from the tail, counting hidden nodes.

◆ getLength()

int SoFullPath::getLength ( void ) const

This method returns the length of the path, counting hidden nodes also.

◆ getNodeFromTail()

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

This method overrides SoPath::getNodeFromTail() to allow clients to get the node positioned index nodes from the tail, counting internal path nodes.

◆ getTail()

SoNode * SoFullPath::getTail ( void ) const

This method overrides SoPath::getTail() to allow clients to get the tail node, counting internal path nodes.

◆ pop()

void SoFullPath::pop ( void )
inline

Removes the actual tail, including hidden children, just like SoPath::pop().


The documentation for this class was generated from the following files: