# TSceneSelectionIterator< T > Class Template Reference
[Data Structures]

Inheritance diagram for TSceneSelectionIterator< T >:

List of all members.

## 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

## Detailed Description

### template<class T>
class TSceneSelectionIterator< T >

Iterates only over the elements of the scene selection that support a given interface

## Constructor & Destructor Documentation

template<class T >

TSceneSelectionIterator< T >::TSceneSelectionIterator | ( | ISceneSelection * | selection,
|  | const MCIID & | iid,
|  | IDType | objectKind,
|  | boolean | alwaysQuery |
| ) |  |  | `[inline]`

template<class T >

TSceneSelectionIterator< T >::~TSceneSelectionIterator | ( |  | ) | `[inline]`

## Member Function Documentation

template<class T >

T * TSceneSelectionIterator< T >::FindNextFromCurrentPosition | ( |  | ) | `[inline, protected]`

template<class T >

T * TSceneSelectionIterator< T >::First | ( |  | ) | `[inline]`

returns NULL if there are no elements with the wanted interface

template<class T >

boolean TSceneSelectionIterator< T >::GetElemCount | ( | uint32 | minCount,
|  | uint32 | maxCount,
|  | uint32 & | count |
| ) |  |  | `[inline, protected]`

template<class T >

uint32 TSceneSelectionIterator< T >::GetElemCount | ( |  | ) | `[inline]`

Return the number of elements that we shall scan (slow).

template<class T >

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

template<class T >

boolean TSceneSelectionIterator< T >::IsElemCountMoreThan | ( | uint32 | count | ) | `[inline]`

Same idea as IsElemCountEqualTo(). Return true if (GetElemCount() > count).

template<class T >

boolean TSceneSelectionIterator< T >::IsSelectionUniform | ( |  | ) | `[inline]`

Returns true if all the elements have the same iid (or objectKind).

template<class T>

virtual boolean TSceneSelectionIterator< T >::IsValidObject | ( | T * | object | ) | `[inline, protected, virtual]`

Reimplemented in TMasterObjectSelectionIterator.

template<class T >

T * TSceneSelectionIterator< T >::Next | ( |  | ) | `[inline]`

returns NULL if there are no more elements

## Member Data Documentation

template<class T>

boolean TSceneSelectionIterator< T >::fAlwaysQuery`[private]`

template<class T>

uint32 TSceneSelectionIterator< T >::fCurrentIndex`[private]`

template<class T>

MCIID TSceneSelectionIterator< T >::fIID`[private]`

template<class T>

IDType TSceneSelectionIterator< T >::fObjectKind`[private]`

template<class T>

ISceneSelection* TSceneSelectionIterator< T >::fSelection`[private]`

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

- PublicUtilities.h