Maintains a list of pointers to instances of the SoBase classes. More...
#include <Inventor/lists/SoBaseList.h>
Public Member Functions | |
SoBaseList () | |
Constructor. | |
SoBaseList (int size) | |
Constructor that pre-allocates storage for size pointers. | |
SoBaseList (const SoBaseList &l) | |
Constructor that copies the contents of another list. | |
virtual | ~SoBaseList () |
Destructor. | |
void | append (SoBase *ptr) |
Adds a pointer to the end of the list. | |
void | insert (SoBase *ptr, int addBefore) |
Inserts given pointer in list before pointer with given index. | |
virtual void | remove (int which) |
Removes pointer with given index. | |
virtual void | truncate (int start) |
Removes all pointers after one with given index, inclusive. | |
void | copy (const SoBaseList &l) |
Copies a list, keeping all reference counts correct. | |
SoBaseList & | operator= (const SoBaseList &l) |
Copies a list, keeping all reference counts correct. | |
SoBase * | operator[] (int i) const |
Returns pointer with given index. | |
void | set (int i, SoBase *ptr) |
Sets an element of a list. | |
void | addReferences (SbBool flag) |
Indicates whether to call ref() and unref() for bases in the list when adding/removing them. | |
void | touch (int index=-1) |
Forces each attached SoListSensor to be notified. | |
void | addAuditor (void *auditor, SoNotRec::Type type) |
Add an auditor to the list. | |
void | removeAuditor (void *auditor, SoNotRec::Type type) |
Remove an auditor to the list. | |
const SoAuditorList * | getAuditors () const |
Get current auditor list. | |
int | getChangedIndex () const |
Get last changed index element of the list. | |
SoListSensor::ChangeType | getChangedType () const |
Get last changed type of the list. | |
void | setNotificationInfo (const int changedIndex, const SoListSensor::ChangeType changedType) |
setup notification info for auditor mechanism. | |
Public Member Functions inherited from SbPList | |
SbPList () | |
Default constructor. | |
SbPList (int initSize) | |
Constructor. | |
SbPList (const SbPList &pl) | |
Constructor. | |
virtual | ~SbPList () |
Destructor. | |
void | append (void *ptr) |
Adds given pointer to end of list. | |
int | find (const void *ptr) const |
Returns index of given pointer in list, or -1 if not found. | |
void | insert (void *ptr, int addBefore) |
Inserts given pointer in list before pointer with given index. | |
int | getLength () const |
Returns number of pointers in list. | |
void | copy (const SbPList &pl) |
Copies a list. | |
SbPList & | operator= (const SbPList &pl) |
Assignment operator: copies list into this list. | |
void *& | operator[] (const int index) const |
Returns pointer with given index. | |
int | operator== (const SbPList &pl) const |
Equality operator. | |
int | operator!= (const SbPList &pl) const |
Inequality operator. | |
void | swap (int index1, int index2) |
Swaps element having index1 with the one having index2. | |
Maintains a list of pointers to instances of the SoBase classes.
This subclass of SbPList holds lists of pointers to instances of classes derived from SoBase (an abstract class). A flag indicates whether adding an instance pointer to the list should add a reference to the instance. If this flag is TRUE, then adding and removing pointers from the list updates reference counts in the corresponding instances.
SoBase, SoNodeList, SoPathList
Definition at line 78 of file SoBaseList.h.
SoBaseList::SoBaseList | ( | ) |
Constructor.
SoBaseList::SoBaseList | ( | int | size | ) |
Constructor that pre-allocates storage for size pointers.
SoBaseList::SoBaseList | ( | const SoBaseList & | l | ) |
Constructor that copies the contents of another list.
|
virtual |
Destructor.
void SoBaseList::addAuditor | ( | void * | auditor, |
SoNotRec::Type | type | ||
) |
Add an auditor to the list.
void SoBaseList::addReferences | ( | SbBool | flag | ) |
Indicates whether to call ref() and unref() for bases in the list when adding/removing them.
The default value is TRUE.
void SoBaseList::append | ( | SoBase * | ptr | ) |
Adds a pointer to the end of the list.
void SoBaseList::copy | ( | const SoBaseList & | l | ) |
Copies a list, keeping all reference counts correct.
|
inline |
Get current auditor list.
Definition at line 170 of file SoBaseList.h.
|
inline |
Get last changed index element of the list.
Definition at line 180 of file SoBaseList.h.
|
inline |
Get last changed type of the list.
Definition at line 190 of file SoBaseList.h.
void SoBaseList::insert | ( | SoBase * | ptr, |
int | addBefore | ||
) |
Inserts given pointer in list before pointer with given index.
|
inline |
Copies a list, keeping all reference counts correct.
Definition at line 129 of file SoBaseList.h.
|
inline |
Returns pointer with given index.
If requested index does not exists, list is grown to return a valid pointer.
Definition at line 133 of file SoBaseList.h.
|
virtual |
Removes pointer with given index.
Reimplemented from SbPList.
void SoBaseList::removeAuditor | ( | void * | auditor, |
SoNotRec::Type | type | ||
) |
Remove an auditor to the list.
void SoBaseList::set | ( | int | i, |
SoBase * | ptr | ||
) |
Sets an element of a list.
|
inline |
setup notification info for auditor mechanism.
Definition at line 200 of file SoBaseList.h.
void SoBaseList::touch | ( | int | index = -1 | ) |
Forces each attached SoListSensor to be notified.
Attached sensor will be notified using the passed index as the trigger index. If index is greater than the number of elements in the list, index is set to the last element. If the list is empty, index is set to -1.
|
virtual |
Removes all pointers after one with given index, inclusive.
Reimplemented from SbPList.