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.

Overloaded from parent to accept an SoNode pointer argument.

See also
SbPList::insert()

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

Overloaded from parent to accept an SoNode pointer argument.

See also
SbPList::insert()

◆ remove()

void SoChildList::remove ( const int  index)

Remove the item at index, moving all subsequent items downwards one place in the list.

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)

◆ truncate()

void SoChildList::truncate ( const int  length)

Shorten the list to contain length elements, removing items from index length and onwards.

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.

Overloaded from parent to handle notification.

See also
SbPList::truncate()

◆ copy()

void SoChildList::copy ( const SoChildList cl)

Copy contents of cl into this list.

Overloaded from parent to handle notification.

See also
SbPList::copy()

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

Overloaded from parent to handle notification.

See also
SbPList::set()

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