# SoChildList Class Reference
[General classes]

`#include <Inventor/misc/SoChildList.h>`

Inheritance diagram for SoChildList:

List of all members.

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

## 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)

## Constructor & Destructor Documentation

SoChildList::SoChildList | ( | SoNode *const | parent | ) |

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

SoChildList::SoChildList | ( | SoNode *const | parent,
|  | const int | size
| ) |

Constructor with hint about list size.

See also:
  SoNodeList::SoNodeList(const int)

SoChildList::SoChildList | ( | SoNode *const | parent,
|  | const SoChildList & | cl
| ) |

Copy constructor.

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

SoChildList::~SoChildList | ( |  | ) |

| Destructor.

## 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. Reimplemented from SoNodeList.

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.

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. Reimplemented from SoBaseList.

void SoChildList::truncate | ( | const int | length | ) |

Makes the list contain only the length first items, removing all items from index length and onwards to the end of the list. Dereferences the objects to be removed (unless addReferences() has been set to `FALSE`).

See also:
  SbPList::truncate()

Reimplemented from SoBaseList.

void SoChildList::copy | ( | const SoChildList & | cl | ) |

| Copy contents of cl into this list.

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.

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.

void SoChildList::traverse | ( | SoAction *const | action | ) |

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

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.

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.

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.

void SoChildList::addPathAuditor | ( | SoPath *const | path | ) |

| Notify path whenever this list of node children changes.

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:

- SoChildList.h
- SoChildList.cpp