指定された複製オブジェクトクラスを列挙するためのテンプレートクラスです。 [詳解]
#include <NetZ/src/Core/DOCore/SelectionIteratorTemplate.h>
公開メンバ関数 | |
SelectionIteratorTemplate () | |
テンプレート引数DOで指定されたクラスの複製オブジェクトインスタンスを 繰り返すように指示してイテレータを初期化します。 [詳解] | |
SelectionIteratorTemplate (Role rSelectionType) | |
テンプレート引数DOで指定されたクラスの複製オブジェクトインスタンスの中で、 rSelectionTypeで指定された条件に合致するインスタンスを繰り返すように指示してイテレータを初期化します。 [詳解] | |
size_t | Count () |
このイテレータが繰り返していく対象の複製オブジェクトの個数を取得します。 [詳解] | |
qBool | EndReached () const |
イテレータがリストの末尾に到達したかどうかを取得します。 [詳解] | |
qBool | Find (DOHandle hDO) |
与えられた複製オブジェクトハンドルが参照する複製オブジェクトを、このイテレータの中で検索します。 [詳解] | |
DuplicatedObject * | GetDOPtr () const |
現在このイテレータが指し示している複製オブジェクトへのポインタを取得します。 [詳解] | |
DO * | GetDOPtr () |
現在このイテレータが指し示している複製オブジェクトへのポインタを取得します。 [詳解] | |
DOHandle | GetHandle () const |
現在このイテレータが指し示している複製オブジェクトハンドルを取得します。 [詳解] | |
void | GotoEnd () |
イテレータを強制的に複製オブジェクトリストの末尾に戻します。 [詳解] | |
void | GotoStart () |
イテレータを強制的に複製オブジェクトリストの先頭に戻します。 [詳解] | |
DO * | operator* () |
現在このイテレータが指し示している複製オブジェクトへのポインタを取得します。 [詳解] | |
IteratorOverDOs & | operator++ () |
このイテレータを進め、次の複製オブジェクトを指すようにします。 [詳解] | |
void | operator++ (qInt iDummy) |
このイテレータを進め、次の複製オブジェクトを指すようにします。 [詳解] | |
DuplicatedObject * | operator-> () const |
現在このイテレータが指し示している複製オブジェクトへのポインタを取得します。 [詳解] | |
DO * | operator-> () |
現在このイテレータが指し示している複製オブジェクトへのポインタを取得します。 [詳解] | |
指定された複製オブジェクトクラスを列挙するためのテンプレートクラスです。
このイテレータテンプレートは、指定された複製オブジェクトクラスのみを 繰り返していくイテレータ機能を提供します。 このクラスによってセッション中に存在する、特定の複製オブジェクトクラスの インスタンスすべてに対して繰り返し何らかの処理(たとえば物理演算、AI、 描画処理など)を行うことが出来ます。
このテンプレートを直接利用しても問題ありませんが、 それぞれの複製オブジェクトクラスにSelectionIteratorという名前でtypedefも されているので、その名前で利用することも出来ます。 たとえば、Avatarクラスに対するイテレータは、 Avatar::SelectionIterator とします。
DO | 複製オブジェクトクラスを指定します。 |
nn::nex::SelectionIteratorTemplate< DO >::SelectionIteratorTemplate | ( | ) |
テンプレート引数DOで指定されたクラスの複製オブジェクトインスタンスを 繰り返すように指示してイテレータを初期化します。
スレッドセーフモードで、Scheduler::GetInstance()->SystemLock()のロックが取れていない場合は、アサートエラーが発生します。
nn::nex::SelectionIteratorTemplate< DO >::SelectionIteratorTemplate | ( | Role | rSelectionType | ) |
テンプレート引数DOで指定されたクラスの複製オブジェクトインスタンスの中で、 rSelectionTypeで指定された条件に合致するインスタンスを繰り返すように指示してイテレータを初期化します。
スレッドセーフモードで、Scheduler::GetInstance()->SystemLock()のロックが取れていない場合は、アサートエラーが発生します。
[in] | rSelectionType | どのような複製オブジェクトを列挙するのか指定します。 DUPLICATION_MASTERを指定すると、インスタンスの中でも 複製マスター(DuplicatedObject::IsADuplicationMaster())のみを挙げ、 DUPLICAを指定すると、インスタンスの中でもデュプリカ(DuplicatedObject::IsADuplica())のみを挙げます。 |
DO* nn::nex::SelectionIteratorTemplate< DO >::operator-> | ( | ) |
現在このイテレータが指し示している複製オブジェクトへのポインタを取得します。
DO* nn::nex::SelectionIteratorTemplate< DO >::operator* | ( | ) |
現在このイテレータが指し示している複製オブジェクトへのポインタを取得します。
DO* nn::nex::SelectionIteratorTemplate< DO >::GetDOPtr | ( | ) |
現在このイテレータが指し示している複製オブジェクトへのポインタを取得します。
|
inherited |
イテレータを強制的に複製オブジェクトリストの先頭に戻します。
|
inherited |
イテレータを強制的に複製オブジェクトリストの末尾に戻します。
|
inherited |
このイテレータが繰り返していく対象の複製オブジェクトの個数を取得します。
この関数が呼び出された場合、イテレータはシーケンスの末尾を指すようになります。 このとき、EndReached() が true を返します。
|
inherited |
このイテレータを進め、次の複製オブジェクトを指すようにします。
前置演算子はイテレータが返ります。
|
inherited |
このイテレータを進め、次の複製オブジェクトを指すようにします。
後置演算子はvoidを返すようになっているので、 それを代入しようとするとコンパイルエラーが発生します。
|
inherited |
現在このイテレータが指し示している複製オブジェクトハンドルを取得します。
|
inherited |
現在このイテレータが指し示している複製オブジェクトへのポインタを取得します。
物理演算を行ったり、描画処理を行うためには、返ってきた複製オブジェクトをキャストするか、 あるいは、SelectionIteratorTemplate を使わなければなりません。
|
inherited |
現在このイテレータが指し示している複製オブジェクトへのポインタを取得します。
物理演算を行ったり、描画処理を行うためには、返ってきた複製オブジェクトをキャストするか、 あるいは、SelectionIteratorTemplate を使わなければなりません。
|
inherited |
イテレータがリストの末尾に到達したかどうかを取得します。
true イテレータがリストの末尾に到達したときに返ります。
false イテレータがリストの末尾に到達していないときに帰ります。
与えられた複製オブジェクトハンドルが参照する複製オブジェクトを、このイテレータの中で検索します。
この関数は、与えられた複製オブジェクトハンドルが参照する複製オブジェクトまで イテレータを動かすか、あるいはオブジェクトが見つからなかった場合に最後まで動かされます。 最後までイテレータが動くと、EndReached() が true を返すようになります。
[in] | hDO | 検索対象の複製オブジェクトハンドル。 |
true 複製オブジェクトが見つかったときに返ります。このとき、このイテレータは指定された複製オブジェクトを指します。
false 複製オブジェクトが見つからなかったときに返ります。このとき、EndReached() はfalseを返します。