Coin Logo Coin3D is Free Software,
published under the BSD 3-clause license.
https://coin3d.github.io
https://www.kongsberg.com/en/kogt/
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 (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.

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.

◆ SoChildList() [2/3]

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

Constructor with hint about list size.

See also
SoNodeList::SoNodeList(const int)

◆ SoChildList() [3/3]

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

Copy constructor.

See also
SoNodeList::SoNodeList(const SoNodeList &)

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

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

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

◆ copy()

void SoChildList::copy ( const SoChildList cl)

Copy contents of cl into this list.

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

◆ traverseInPath()

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.

◆ traverse() [1/4]

void SoChildList::traverse ( SoAction *const  action)

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

◆ traverse() [2/4]

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.

◆ traverse() [3/4]

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.

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

◆ addPathAuditor()

void SoChildList::addPathAuditor ( SoPath *const  path)

Notify path whenever this list of node children changes.

◆ removePathAuditor()

void SoChildList::removePathAuditor ( SoPath *const  path)

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


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