50#ifndef _SO_CHILD_LIST_
51#define _SO_CHILD_LIST_
53#include <Inventor/SoLists.h>
54#include <Inventor/threads/SbThreadMutex.h>
55#include <Inventor/sensors/SoDataSensor.h>
79class AuditorsContainer;
87 SoChildList(
SoNode *parentNode);
88 SoChildList(
SoNode *parentNode,
int size);
89 SoChildList(
SoNode *parentNode,
const SoChildList &l);
90 virtual ~SoChildList();
94 void append(
SoNode * child);
95 void insert(
SoNode *child,
int addBefore);
96 void remove(
int which);
97 void truncate(
int start);
98 void copy(
const SoChildList &l);
99 void set(
int i,
SoNode *child);
106 void traverse(
SoAction *action,
int childIndex)
107 { traverse(action, childIndex, childIndex); }
111 void traverse(
SoAction *action,
int firstChild,
int lastChild);
119 void traverseMI(
SoAction *action,
int instanceIndex);
122 void traverseMI(
SoAction *action,
int childIndex,
int numInstances )
123 { traverseMI(action, childIndex, childIndex, numInstances); }
127 void traverseMI(
SoAction *action,
int firstChild,
int lastChild,
int instanceIndex );
130 void traverseMI(
SoAction *action,
SoNode *node,
int instanceIndex );
136 void addPathAuditor(
SoPath *p);
137 void removePathAuditor(
SoPath *p);
138 void removeAllPathAuditor();
139 static void exitClass();
144 class SoChildNotificationInfo
148 SoChildNotificationInfo()
155 m_changedChild = NULL;
162 m_changedChild = changedChild;
163 m_changedIndex = changedIndex;
164 m_changeType = changeType;
167 inline SoNode* getChangedChild()
const
168 {
return m_changedChild; }
169 int getChangedIndex()
const
170 {
return m_changedIndex; }
172 {
return m_changeType;}
186 AuditorsContainer *m_auditors;
189 const SoChildNotificationInfo& getChildNotificationInfo()
const
190 {
return m_childNotificationInfo; }
193 SoChildNotificationInfo m_childNotificationInfo;
Abstract base class for all actions.
Abstract base class for sensors attached to parts of a scene.
@ UNSPECIFIED
Unspecified.
Abstract base class for all database nodes.
Path that points to a list of hierarchical nodes.