Public Member Functions | |
TSceneSelectionIterator (ISceneSelection *selection, const MCIID &iid, IDType objectKind, boolean alwaysQuery) | |
~TSceneSelectionIterator () | |
T * | First () |
returns NULL if there are no elements with the wanted interface | |
T * | Next () |
returns NULL if there are no more elements | |
uint32 | GetElemCount () |
Return the number of elements that we shall scan (slow). | |
boolean | IsElemCountEqualTo (uint32 count) |
if you are interested in a specific count. | |
boolean | IsElemCountMoreThan (uint32 count) |
Same idea as IsElemCountEqualTo(). Return true if (GetElemCount() > count). | |
boolean | IsSelectionUniform () |
Returns true if all the elements have the same iid (or objectKind). | |
Protected Member Functions | |
T * | FindNextFromCurrentPosition () |
boolean | GetElemCount (uint32 minCount, uint32 maxCount, uint32 &count) |
virtual boolean | IsValidObject (T *object) |
Private Attributes | |
ISceneSelection * | fSelection |
MCIID | fIID |
IDType | fObjectKind |
uint32 | fCurrentIndex |
boolean | fAlwaysQuery |
Iterates only over the elements of the scene selection that support a given interface
TSceneSelectionIterator< T >::TSceneSelectionIterator | ( | ISceneSelection * | selection, | |
const MCIID & | iid, | |||
IDType | objectKind, | |||
boolean | alwaysQuery | |||
) | [inline] |
TSceneSelectionIterator< T >::~TSceneSelectionIterator | ( | ) | [inline] |
T * TSceneSelectionIterator< T >::FindNextFromCurrentPosition | ( | ) | [inline, protected] |
T * TSceneSelectionIterator< T >::First | ( | ) | [inline] |
returns NULL if there are no elements with the wanted interface
boolean TSceneSelectionIterator< T >::GetElemCount | ( | uint32 | minCount, | |
uint32 | maxCount, | |||
uint32 & | count | |||
) | [inline, protected] |
uint32 TSceneSelectionIterator< T >::GetElemCount | ( | ) | [inline] |
Return the number of elements that we shall scan (slow).
boolean TSceneSelectionIterator< T >::IsElemCountEqualTo | ( | uint32 | count | ) | [inline] |
if you are interested in a specific count.
Use this to bail out more quickly than when using GetElemCount(), which can be a waste
boolean TSceneSelectionIterator< T >::IsElemCountMoreThan | ( | uint32 | count | ) | [inline] |
Same idea as IsElemCountEqualTo(). Return true if (GetElemCount() > count).
boolean TSceneSelectionIterator< T >::IsSelectionUniform | ( | ) | [inline] |
Returns true if all the elements have the same iid (or objectKind).
virtual boolean TSceneSelectionIterator< T >::IsValidObject | ( | T * | object | ) | [inline, protected, virtual] |
Reimplemented in TMasterObjectSelectionIterator.
T * TSceneSelectionIterator< T >::Next | ( | ) | [inline] |
returns NULL if there are no more elements
boolean TSceneSelectionIterator< T >::fAlwaysQuery [private] |
uint32 TSceneSelectionIterator< T >::fCurrentIndex [private] |
MCIID TSceneSelectionIterator< T >::fIID [private] |
IDType TSceneSelectionIterator< T >::fObjectKind [private] |
ISceneSelection* TSceneSelectionIterator< T >::fSelection [private] |