SoChildList(3)

πŸ“¦
version 4.0.10 Β· 4 versions
, in fedora 43, fedora 44

πŸ’– SoChildList(3) β€” the Coin manual, bestie edition πŸ’–

okay so we're deep in the Coin docs, section 3, and today's main character is SoChildList. Buckle up, it's giving ✨containers✨.


🌸 NAME 🌸

SoChildList β€” literally a container for node children. That's the whole job. She holds the children. She's the mom friend of the scene graph. 🫢


✨ SYNOPSIS ✨

#include <Inventor/misc/SoChildList.h>

Inherits SoNodeList. So yes, she's got family money β€” a whole lineage of inherited methods she didn't even have to write herself. πŸ’…

πŸŽ€ Public Member Functions πŸŽ€

SoChildList (SoNode *const parent)
SoChildList (SoNode *const parent, const int size)
SoChildList (SoNode *const parent, const SoChildList &cl)
~SoChildList ()
void append (SoNode *const node)
void insert (SoNode *const ptr, const int addbefore)
void remove (const int index)
void truncate (const int length)
void copy (const SoChildList &cl)
void set (const int index, SoNode *const node)
void traverseInPath (SoAction *const action, const int numindices, const
    int *indices)
void traverse (SoAction *const action)
void traverse (SoAction *const action, const int index)
void traverse (SoAction *const action, SoNode *node)
void traverse (SoAction *const action, const int first, const int last)
void addPathAuditor (SoPath *const path)
void removePathAuditor (SoPath *const path)

πŸ¦‹ Public Member Functions inherited from SoNodeList

SoNodeList (void)
SoNodeList (const int size)
SoNodeList (const SoNodeList &nl)
~SoNodeList ()
void append (SoNode *const ptr)
SoNode * operator[] (const int i) const
SoNodeList & operator= (const SoNodeList &nl)

🌈 Public Member Functions inherited from SoBaseList

SoBaseList (void)
SoBaseList (const int size)
SoBaseList (const SoBaseList &l)
~SoBaseList ()
void append (SoBase *ptr)
void insert (SoBase *ptr, const int addbefore)
void remove (const int index)
void removeItem (SoBase *item)
void truncate (const int length)
void copy (const SoBaseList &l)
SoBaseList & operator= (const SoBaseList &l)
SoBase * operator[] (const int i) const
void set (const int i, SoBase *const ptr)
void addReferences (const SbBool flag)
SbBool isReferencing (void) const

πŸ’œ Public Member Functions inherited from SbPList

SbPList (const int sizehint=DEFAULTSIZE)
SbPList (const SbPList &l)
~SbPList ()
void copy (const SbPList &l)
SbPList & operator= (const SbPList &l)
void fit (void)
void append (void *item)
int find (const void *item) const
void insert (void *item, const int insertbefore)
void removeItem (void *item)
void remove (const int index)
void removeFast (const int index)
int getLength (void) const
void truncate (const int length, const int fit=0)
void ** getArrayPtr (const int start=0) const
void *& operator[] (const int index) const
int operator== (const SbPList &l) const
int operator!= (const SbPList &l) const
void * get (const int index) const
void set (const int index, void *item)

🧚 Additional Inherited Members 🧚

Protected Member Functions inherited from SbPList

void expand (const int size)
int getArraySize (void) const

πŸ‘‘ DETAILED DESCRIPTION πŸ‘‘

The SoChildList class is a container for node children. πŸ’–

the way that this class does automatic notification on the parent nodes whenever you add or remove children β€” no cap, she just knows. πŸ””

Methods for action traversal of the children are also provided. Very organized. Very demure. Very mindful. ✨


🍼 Constructor & Destructor Documentation 🍼

SoChildList::SoChildList (SoNode *const parentptr)

Default constructor, sets parent container and initializes a minimal list. Small list, big dreams. 🌱

SoChildList::SoChildList (SoNode *const parentptr, const int size)

Constructor with a hint about list size. She loves a heads-up. πŸ’…

See also

  • SoNodeList::SoNodeList(const int)

SoChildList::SoChildList (SoNode *const parentptr, const SoChildList & cl)

Copy constructor. Twins fr fr. πŸ‘―

See also

  • SoNodeList::SoNodeList(const SoNodeList &)

SoChildList::~SoChildList ()

Destructor. She's leaving the group chat. 😭


🌟 Member Function Documentation 🌟

void SoChildList::append (SoNode *const node)

Append a new node instance as a child of our parent container. New kid just dropped. πŸŽ€

Automatically notifies parent node and any SoPath instances auditing paths with nodes from this list. Everyone gets the notification, bestie. πŸ””

Overloaded from parent to accept an SoNode pointer argument.

See also

  • SbPList::insert()

void SoChildList::insert (SoNode *const node, const int addbefore)

Insert a new node instance as a child of our parent container at position addbefore. Cutting the line, but politely. πŸ’…

Automatically notifies parent node and any SoPath instances auditing paths with nodes from this list.

Overloaded from parent to accept an SoNode pointer argument.

See also

  • SbPList::insert()

void SoChildList::remove (const int index)

Remove the item at index, moving all subsequent items downwards one place in the list. Everybody shuffle up. πŸšΆβ™€οΈπŸšΆβ™€οΈπŸšΆβ™€οΈ

Automatically notifies parent node and any SoPath instances auditing paths with nodes from this list.

Overloaded from parent to handle notification.

See also

  • SbPList::remove(const int index)

void SoChildList::truncate (const int length)

Shorten the list to contain length elements, removing items from index length and onwards. βœ‚οΈ bye bestie

If fit is non-zero, will also shrink the internal size of the allocated array. Note that this is much less efficient than not re-fitting the array size. lowkey a performance trap, be careful. πŸ’€

Overloaded from parent to handle notification.

See also

  • SbPList::truncate()

void SoChildList::copy (const SoChildList & cl)

Copy contents of cl into this list. Steal her whole vibe. πŸ’–

Overloaded from parent to handle notification.

See also

  • SbPList::copy()

void SoChildList::set (const int index, SoNode *const node)

Index operator to set element at index. Does not expand array bounds if index is outside the list. So like, don't go out of bounds, bestie, she will not catch you. πŸ™ˆ

Overloaded from parent to handle notification.

See also

  • SbPList::set()

void SoChildList::traverseInPath (SoAction *const action, const int numindices, const int * indices)

Optimized IN_PATH traversal method. She's fast, she's efficient, she ate. πŸ”₯

This method is an extension versus the Open Inventor API. not like the other girls. ✨

void SoChildList::traverse (SoAction *const action)

Traverse all nodes in the list, invoking their methods for the given action. Everybody gets a turn, we love a fair queen. πŸ‘‘

void SoChildList::traverse (SoAction *const action, const int index)

Traverse the node at index (and possibly its children, if it is a group node), applying the node's method for the given action.

void SoChildList::traverse (SoAction *const action, SoNode * node)

Traverse the node (and possibly its children, if it is a group node), applying the nodes method for the given action.

void SoChildList::traverse (SoAction *const action, const int first, const int last)

Traverse child nodes in the list from index first up to and including index last, or until the SoAction::hasTerminated() flag of action has been set. She stops when told, no drama. πŸ›‘

void SoChildList::addPathAuditor (SoPath *const path)

Notify path whenever this list of node children changes. Subscribed to the channel, notifications ON. πŸ””

void SoChildList::removePathAuditor (SoPath *const path)

Remove path as an auditor for our list of node children. Unsubscribed, muted, blocked (affectionately). πŸ™ˆ


πŸ“œ Author πŸ“œ

Generated automatically by Doxygen for Coin from the source code. So technically the robot wrote it, but I did the ✨remix✨.


okay that's the whole page, you're so welcome 🫢 Version 4.0.10, dated Thu Jun 25 2026 00:00:00 β€” and that's the SoChildList(3) page, periodt. πŸ’…βœ¨ Go forth and manage your children responsibly. πŸŽ€πŸ¦‹

πŸ“¦ where this page comes from