00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
#ifndef COIN_SOCHILDLIST_H
00021
#define COIN_SOCHILDLIST_H
00022
00023
#include <Inventor/lists/SoNodeList.h>
00024
00025
class SoPath;
00026
class SoAction;
00027
00028
00029 class COIN_DLL_API SoChildList :
public SoNodeList {
00030
typedef SoNodeList inherited;
00031
00032
public:
00033 SoChildList(
SoNode *
const parent);
00034 SoChildList(
SoNode *
const parent,
const int size);
00035 SoChildList(
SoNode *
const parent,
const SoChildList & cl);
00036 ~SoChildList();
00037
00038
void append(
SoNode *
const node);
00039
void insert(
SoNode *
const ptr,
const int addbefore);
00040
void remove(
const int index);
00041
void truncate(
const int length);
00042
void copy(
const SoChildList & cl);
00043
void set(
const int index,
SoNode *
const node);
00044
00045
void traverseInPath(
SoAction *
const action,
const int numindices,
00046
const int * indices);
00047
void traverse(
SoAction *
const action);
00048
void traverse(
SoAction *
const action,
const int index);
00049
void traverse(
SoAction *
const action,
SoNode * node);
00050
void traverse(
SoAction *
const action,
const int first,
const int last);
00051
00052
public:
00053
void addPathAuditor(
SoPath *
const path);
00054
void removePathAuditor(
SoPath *
const path);
00055
00056
private:
00057
SoNode * parent;
00058
SbList<SoPath *> auditors;
00059 };
00060
00061
#endif // !COIN_SOCHILDLIST_H