Coin Logo http://www.sim.no
http://www.coin3d.org

SoChildList Class Reference

The SoChildList class is a container for node children. More...

#include <Inventor/misc/SoChildList.h>

Inheritance diagram for SoChildList:
SoNodeList SoBaseList SbPList

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)
SoNodeoperator[] (const int i) const
SoNodeListoperator= (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)
SoBaseListoperator= (const SoBaseList &l)
SoBaseoperator[] (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)
SbPListoperator= (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.

This class does automatic notification on the parent nodes upon adding or removing children.

Methods for action traversal of the children are also provided.

Constructor & Destructor Documentation

◆ SoChildList() [1/3]

SoChildList::SoChildList ( SoNode *const parentptr)

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

References SoNodeList::SoNodeList().

Referenced by copy(), and SoChildList().

◆ SoChildList() [2/3]

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

Constructor with hint about list size.

See also
SoNodeList::SoNodeList(const int)

References SoNodeList::SoNodeList().

◆ SoChildList() [3/3]

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

◆ ~SoChildList()

SoChildList::~SoChildList ( )

Destructor.

Member Function Documentation

◆ append()

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.

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

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

◆ 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.

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().

◆ remove()

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().

◆ copy()

void SoChildList::copy ( const SoChildList & cl)

Copy contents of cl into this list.

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

Referenced by SoChildList().

◆ set()

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.

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

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

◆ traverseInPath()

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

◆ traverse() [1/4]

◆ traverse() [2/4]

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().

◆ traverse() [3/4]

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().

◆ traverse() [4/4]

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().

◆ addPathAuditor()

void SoChildList::addPathAuditor ( SoPath *const path)

Notify path whenever this list of node children changes.

References SoDebugError::postInfo().

Referenced by SoPath::operator=().

◆ removePathAuditor()

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().


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

Copyright © 1998-2007 by Systems in Motion AS. All rights reserved.

Generated on Wed Jul 23 2025 for Coin by Doxygen. 1.14.0