SOPATHLIST(3iv)
β¨ SoPathList β the 3IV manual page, but make it make sense π
okay bestie, so this is the manual page for SoPathList, and yes the manual name is literally 3IV β that's the section, don't think about it too hard π«Ά
πΈ NAME πΈ
SoPathList β maintains a list of pointers to paths
like... it's a list. full of pointers. pointing at paths. the name ate, honestly. π
π¦ INHERITS FROM π¦
SbPList > SoBaseList > SoPathList
the family tree goes: SbPList is the grandparent, SoBaseList is the parent, and SoPathList is the main character. π
β¨ SYNOPSIS β¨
#include <Inventor/SoLists.h>
Methods from class SoPathList:
SoPathList()
SoPathList(int size)
SoPathList(const SoPathList &l)
~SoPathList()
void append(SoPath *path)
SoPath * operator [](int i) const
SoPathList & operator =(const SoPathList &l)
int findPath(const SoPath &path)
void sort()
void uniquify()
Methods from class SoBaseList:
void insert(SoBase *ptr, int addBefore)
void remove(int which)
void truncate(int start)
void copy(const SoBaseList &l)
void set(int i, SoBase *ptr)
void addReferences(SbBool flag)
Methods from class SbPList:
int find(const void *ptr) const
int getLength() const
int operator ==(const SbPList &pl) const
int operator !=(const SbPList &pl) const
ngl that's a LOT of inherited rizz and you get all of it for free. no cap. π₯
π DESCRIPTION π
so basically: this subclass of SoBaseList holds lists of pointers to SoPaths. and here's the part that's actually lowkey iconic β it updates reference counts to the paths in the list whenever you add or remove pointers. it's keeping receipts, respectfully. π§
π METHODS π
SoPathList()
Constructor. the origin story. β¨
SoPathList(int size)
Constructor that pre-allocates storage for size pointers. it's giving prepared. it's giving organized. π
SoPathList(const SoPathList &l)
Constructor that copies the contents of another list. twin behavior. π«Ά
~SoPathList()
Destructor. it's the goodbye arc, we don't talk about it π
void append(SoPath *path)β Adds a path to the end of the list. queue up, bestie, end of the line. πSoPath *operator [](int i) constβ Accesses an element of a list. pick your fave by index. πSoPathList &operator =(const SoPathList &l)β Copies a list, keeping all reference counts correct. the glow-up is that the counts stay valid, periodt. β¨int findPath(const SoPath &path)β Returns the index of the matching path in the list, or-1if not found. if it's not there, it's a-1, and that's the whole vibe check. πvoid sort()β Sorts list in place based on (1) increasing address of head node, then (2) increasing indices of children. two-step sort, main character energy. π₯void uniquify()β Given a sorted list, removes any path that (1) is a duplicate, or (2) goes through a node that is the tail of another path.
β οΈ heads up bestie: uniquify() says "given a sorted list" for a reason. sort first, then uniquify. do not skip the first step, i'm literally begging. π
π SEE ALSO π
SoPath
and that's the whole page, bestie π the footer of this thing just says SoPathList(3IV)() β no date, no version, nothing, it's giving mysterious and honestly kind of iconic. so there's your sign-off: SoPathList(3IV)(), and that's on periodt. πβ¨π
π¦ where this page comes from
- debian bookworm: inventor-doc 2.1.5-10+dfsg-2 Β· LGPL-2.0-or-later
- debian trixie: inventor-doc 2.1.6+ds-2 Β· LGPL-2.0-or-later
- ubuntu jammy: inventor-doc 2.1.5-10-24
- ubuntu noble: inventor-doc 2.1.5-10+dfsg-2.1build2 Β· LGPL-2.0-or-later
- ubuntu questing: inventor-doc 2.1.6+ds-2
- ubuntu resolute: inventor-doc 2.1.6.1+ds-1 Β· LGPL-2.0-or-later
- ubuntu stonking: inventor-doc 2.1.6.1+ds-1 Β· LGPL-2.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms