SoChildList(3)

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

SoChildList(3) πŸ’–βœ¨

okay so first things first: this is the Library Functions Manual page for SoChildList(3), and it's literally the blueprint for the class that holds node children. no cap. 🫢


πŸ’– NAME πŸ’–

SoChildList β€” the SoChildList class is a container for node children. it's giving "group chat but for nodes" fr fr πŸ‘‘


✨ SYNOPSIS ✨

#include <Inventor/misc/SoChildList.h>

Inherits SoNodeList.

🌸 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 (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. bestie, it's literally the friend group of nodes πŸ«‚

This class does automatic notification on the parent nodes upon adding or removing children. so when the squad changes, everybody knows πŸ’…

Methods for action traversal of the children are also provided. yes, it can walk the children through actions, iconic behavior ✨


πŸŽ€ Constructor & Destructor Documentation πŸŽ€

SoChildList::SoChildList (SoNode *const parentptr)

Default constructor, sets parent container and initializes a minimal list.

References SoNodeList::SoNodeList().

Referenced by copy(), and SoChildList().

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

Constructor with hint about list size.

See also: SoNodeList::SoNodeList(const int)

References SoNodeList::SoNodeList().

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

Copy constructor.

See also: SoNodeList::SoNodeList(const SoNodeList &)

References copy(), SoChildList(), and SoNodeList::SoNodeList().

SoChildList::~SoChildList ()

Destructor. it's giving "bye bestie, clean up your references" 😭


πŸ’… Member Function Documentation πŸ’…

void SoChildList::append (SoNode *const node)

Append a new node instance as a child of our parent container.

Automatically notifies parent node and any SoPath instances auditing paths with nodes from this list. no cap, it's a whole notification vibe πŸ””

References SoBase::addAuditor(), and SoNodeList::append().

Referenced by SoGroup::addChild(), SoWWWInline::copyContents(), SoFile::readNamedFile(), SoBaseKit::setPart(), and SoVRMLParent::updateChildList().

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

Insert a new node instance as a child of our parent container at position addbefore.

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

References SoBase::addAuditor(), SbPList::getLength(), and SbPList::insert().

Referenced by SoGroup::insertChild(), and SoBaseKit::setPart().

void SoChildList::remove (const int index)

Remove the child node pointer at index.

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

References SbPList::getLength(), SoNodeList::operator[](), SbPList::remove(), and SoBase::removeAuditor().

Referenced by SoGroup::removeChild(), and SoBaseKit::setPart().

void SoChildList::copy (const SoChildList & cl)

Copy contents of cl into this list.

References SoBaseList::copy(), SbPList::getLength(), and SoChildList().

Referenced by SoChildList().

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. careful bestie, no growth spurts here πŸ™ˆ

References SoBase::addAuditor(), SbPList::getLength(), SoNodeList::operator[](), SoDebugError::postInfo(), SoBase::removeAuditor(), and SoBaseList::set().

Referenced by SoGroup::replaceChild(), and SoBaseKit::setPart().

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

Optimized IN_PATH traversal method.

This method is an extension versus the Open Inventor API. periodt πŸ’…

References SoNode::affectsState(), SoAction::getCurPathCode(), SoAction::hasTerminated(), SoAction::popCurPath(), SoAction::pushCurPath(), and SoAction::traverse().

Referenced by SoGroup::doAction(), SoVRMLAppearance::doAction(), SoVRMLLOD::doAction(), SoVRMLShape::doAction(), SoVRMLSwitch::doAction(), SoWWWInline::doAction(), SoVRMLShape::getBoundingBox(), SoVRMLGroup::getMatrix(), and SoVRMLGeometry::search().

void SoChildList::traverse (SoAction *const action)

Traverse all nodes in the list, invoking their methods for the given action.

References SbPList::getLength(), and traverse().

Referenced by SoGroup::doAction(), SoLevelOfDetail::doAction(), SoVRMLAppearance::doAction(), SoVRMLLOD::doAction(), SoVRMLShape::doAction(), SoVRMLSwitch::doAction(), SoWWWInline::doAction(), SoFile::getBoundingBox(), SoGroup::getBoundingBox(), SoVRMLInline::getBoundingBox(), SoVRMLShape::getBoundingBox(), SoWWWInline::getBoundingBox(), SoVRMLGeometry::search(), SoVRMLSwitch::search(), traverse(), traverse(), traverse(), and SoSwitch::write().

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

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

References SbPList::getLength(), and traverse().

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

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

References SbPList::find(), and traverse().

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.

References SoNode::affectsState(), SoAction::getCurPathCode(), SbPList::getLength(), SoAction::hasTerminated(), SoAction::popCurPath(), SoAction::popPushCurPath(), SoDebugError::postWarning(), SoAction::pushCurPath(), and SoAction::traverse().

void SoChildList::addPathAuditor (SoPath *const path)

Notify path whenever this list of node children changes.

References SoDebugError::postInfo().

Referenced by SoPath::operator=().

void SoChildList::removePathAuditor (SoPath *const path)

Remove path as an auditor for our list of node children.

References SoType::getName(), SbName::getString(), SoPath::getTypeId(), SoDebugError::post(), and SoDebugError::postInfo().


πŸ‘‘ Author πŸ‘‘

Generated automatically by Doxygen for Coin from the source code. so it's basically a robot wrote this, but we made it cute πŸ’–


and that's the whole page bestie! this was Coin, Version 2.5.0 β€” SoChildList(3), out. mwah πŸ’‹ go slay your node children fr fr βœ¨πŸ¦‹πŸ’…

πŸ“¦ where this page comes from