Open Inventor Release 2024.2.1
 
Loading...
Searching...
No Matches
SoBaseList Class Reference

Maintains a list of pointers to instances of the SoBase classes. More...

#include <Inventor/lists/SoBaseList.h>

+ Inheritance diagram for SoBaseList:

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.
 
SoBaseListoperator= (const SoBaseList &l)
 Copies a list, keeping all reference counts correct.
 
SoBaseoperator[] (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.
 
SbPListoperator= (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.
 

Detailed Description

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.

SEE ALSO

SoBase, SoNodeList, SoPathList

Definition at line 78 of file SoBaseList.h.

Constructor & Destructor Documentation

◆ SoBaseList() [1/3]

SoBaseList::SoBaseList ( )

Constructor.

◆ SoBaseList() [2/3]

SoBaseList::SoBaseList ( int  size)

Constructor that pre-allocates storage for size pointers.

◆ SoBaseList() [3/3]

SoBaseList::SoBaseList ( const SoBaseList l)

Constructor that copies the contents of another list.

◆ ~SoBaseList()

virtual SoBaseList::~SoBaseList ( )
virtual

Destructor.

Member Function Documentation

◆ addAuditor()

void SoBaseList::addAuditor ( void *  auditor,
SoNotRec::Type  type 
)

Add an auditor to the list.

◆ addReferences()

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.

◆ append()

void SoBaseList::append ( SoBase ptr)

Adds a pointer to the end of the list.

◆ copy()

void SoBaseList::copy ( const SoBaseList l)

Copies a list, keeping all reference counts correct.

◆ getAuditors()

const SoAuditorList * SoBaseList::getAuditors ( ) const
inline

Get current auditor list.

Definition at line 170 of file SoBaseList.h.

◆ getChangedIndex()

int SoBaseList::getChangedIndex ( ) const
inline

Get last changed index element of the list.

Definition at line 180 of file SoBaseList.h.

◆ getChangedType()

SoListSensor::ChangeType SoBaseList::getChangedType ( ) const
inline

Get last changed type of the list.

Definition at line 190 of file SoBaseList.h.

◆ insert()

void SoBaseList::insert ( SoBase ptr,
int  addBefore 
)

Inserts given pointer in list before pointer with given index.

◆ operator=()

SoBaseList & SoBaseList::operator= ( const SoBaseList l)
inline

Copies a list, keeping all reference counts correct.

Definition at line 129 of file SoBaseList.h.

◆ operator[]()

SoBase * SoBaseList::operator[] ( int  i) const
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.

◆ remove()

virtual void SoBaseList::remove ( int  which)
virtual

Removes pointer with given index.

Reimplemented from SbPList.

◆ removeAuditor()

void SoBaseList::removeAuditor ( void *  auditor,
SoNotRec::Type  type 
)

Remove an auditor to the list.

◆ set()

void SoBaseList::set ( int  i,
SoBase ptr 
)

Sets an element of a list.

◆ setNotificationInfo()

void SoBaseList::setNotificationInfo ( const int  changedIndex,
const SoListSensor::ChangeType  changedType 
)
inline

setup notification info for auditor mechanism.

Definition at line 200 of file SoBaseList.h.

◆ touch()

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.

◆ truncate()

virtual void SoBaseList::truncate ( int  start)
virtual

Removes all pointers after one with given index, inclusive.

Reimplemented from SbPList.


The documentation for this class was generated from the following file: