CTR NEX API Reference
nn::nex::SelectionIteratorTemplate< DO > クラステンプレート

指定された複製オブジェクトクラスを列挙するためのテンプレートクラスです。 [詳解]

#include <NetZ/src/Core/DOCore/SelectionIteratorTemplate.h>

+ nn::nex::SelectionIteratorTemplate< DO > の継承関係図

公開メンバ関数

 SelectionIteratorTemplate ()
 テンプレート引数DOで指定されたクラスの複製オブジェクトインスタンスを 繰り返すように指示してイテレータを初期化します。 [詳解]
 
 SelectionIteratorTemplate (Role rSelectionType)
 テンプレート引数DOで指定されたクラスの複製オブジェクトインスタンスの中で、 rSelectionTypeで指定された条件に合致するインスタンスを繰り返すように指示してイテレータを初期化します。 [詳解]
 
size_t Count ()
 このイテレータが繰り返していく対象の複製オブジェクトの個数を取得します。 [詳解]
 
qBool EndReached () const
 イテレータがリストの末尾に到達したかどうかを取得します。
[詳解]
 
qBool Find (DOHandle hDO)
 与えられた複製オブジェクトハンドルが参照する複製オブジェクトを、このイテレータの中で検索します。 [詳解]
 
DuplicatedObjectGetDOPtr () const
 現在このイテレータが指し示している複製オブジェクトへのポインタを取得します。 [詳解]
 
DO * GetDOPtr ()
 現在このイテレータが指し示している複製オブジェクトへのポインタを取得します。 [詳解]
 
DOHandle GetHandle () const
 現在このイテレータが指し示している複製オブジェクトハンドルを取得します。 [詳解]
 
void GotoEnd ()
 イテレータを強制的に複製オブジェクトリストの末尾に戻します。 [詳解]
 
void GotoStart ()
 イテレータを強制的に複製オブジェクトリストの先頭に戻します。 [詳解]
 
DO * operator* ()
 現在このイテレータが指し示している複製オブジェクトへのポインタを取得します。 [詳解]
 
IteratorOverDOsoperator++ ()
 このイテレータを進め、次の複製オブジェクトを指すようにします。 [詳解]
 
void operator++ (qInt iDummy)
 このイテレータを進め、次の複製オブジェクトを指すようにします。 [詳解]
 
DuplicatedObjectoperator-> () const
 現在このイテレータが指し示している複製オブジェクトへのポインタを取得します。 [詳解]
 
DO * operator-> ()
 現在このイテレータが指し示している複製オブジェクトへのポインタを取得します。 [詳解]
 

詳解

template<class DO>
class nn::nex::SelectionIteratorTemplate< DO >

指定された複製オブジェクトクラスを列挙するためのテンプレートクラスです。

このイテレータテンプレートは、指定された複製オブジェクトクラスのみを 繰り返していくイテレータ機能を提供します。 このクラスによってセッション中に存在する、特定の複製オブジェクトクラスの インスタンスすべてに対して繰り返し何らかの処理(たとえば物理演算、AI、 描画処理など)を行うことが出来ます。

このテンプレートを直接利用しても問題ありませんが、 それぞれの複製オブジェクトクラスにSelectionIteratorという名前でtypedefも されているので、その名前で利用することも出来ます。 たとえば、Avatarクラスに対するイテレータは、 Avatar::SelectionIterator とします。

テンプレート引数
DO複製オブジェクトクラスを指定します。

構築子と解体子

テンプレート引数DOで指定されたクラスの複製オブジェクトインスタンスを 繰り返すように指示してイテレータを初期化します。

スレッドセーフモードで、Scheduler::GetInstance()->SystemLock()のロックが取れていない場合は、アサートエラーが発生します。

template<class DO >
nn::nex::SelectionIteratorTemplate< DO >::SelectionIteratorTemplate ( Role  rSelectionType)

テンプレート引数DOで指定されたクラスの複製オブジェクトインスタンスの中で、 rSelectionTypeで指定された条件に合致するインスタンスを繰り返すように指示してイテレータを初期化します。

スレッドセーフモードで、Scheduler::GetInstance()->SystemLock()のロックが取れていない場合は、アサートエラーが発生します。

引数
[in]rSelectionTypeどのような複製オブジェクトを列挙するのか指定します。 DUPLICATION_MASTERを指定すると、インスタンスの中でも 複製マスター(DuplicatedObject::IsADuplicationMaster())のみを挙げ、 DUPLICAを指定すると、インスタンスの中でもデュプリカ(DuplicatedObject::IsADuplica())のみを挙げます。
参照
Role

関数詳解

template<class DO >
DO* nn::nex::SelectionIteratorTemplate< DO >::operator-> ( )

現在このイテレータが指し示している複製オブジェクトへのポインタを取得します。

戻り値
現在このイテレータが指し示している複製オブジェクトへのポインタが返ります。
template<class DO >
DO* nn::nex::SelectionIteratorTemplate< DO >::operator* ( )

現在このイテレータが指し示している複製オブジェクトへのポインタを取得します。

戻り値
現在このイテレータが指し示している複製オブジェクトへのポインタが返ります。
template<class DO >
DO* nn::nex::SelectionIteratorTemplate< DO >::GetDOPtr ( )

現在このイテレータが指し示している複製オブジェクトへのポインタを取得します。

戻り値
現在このイテレータが指し示している複製オブジェクトへのポインタが返ります。
void nn::nex::IteratorOverDOs::GotoStart ( )
inherited

イテレータを強制的に複製オブジェクトリストの先頭に戻します。

参照
EndReached, GotoEnd
void nn::nex::IteratorOverDOs::GotoEnd ( )
inherited

イテレータを強制的に複製オブジェクトリストの末尾に戻します。

参照
EndReached, GotoStart
size_t nn::nex::IteratorOverDOs::Count ( )
inherited

このイテレータが繰り返していく対象の複製オブジェクトの個数を取得します。

この関数が呼び出された場合、イテレータはシーケンスの末尾を指すようになります。 このとき、EndReached() が true を返します。

戻り値
このイテレータが繰り返していく対象の複製オブジェクトの個数が返ります。
IteratorOverDOs & nn::nex::IteratorOverDOs::operator++ ( )
inherited

このイテレータを進め、次の複製オブジェクトを指すようにします。

前置演算子はイテレータが返ります。

戻り値
更新され、次の複製オブジェクトを指すIteratorOverDOsが返ります。
void nn::nex::IteratorOverDOs::operator++ ( qInt  iDummy)
inherited

このイテレータを進め、次の複製オブジェクトを指すようにします。

後置演算子はvoidを返すようになっているので、 それを代入しようとするとコンパイルエラーが発生します。

DOHandle nn::nex::IteratorOverDOs::GetHandle ( ) const
inherited

現在このイテレータが指し示している複製オブジェクトハンドルを取得します。

戻り値
現在このイテレータが指し示している複製オブジェクトハンドルが返ります。
戻り値一覧:
INVALID_DOHANDLE エラーが発生したときに返ります。
DuplicatedObject * nn::nex::IteratorOverDOs::GetDOPtr ( ) const
inherited

現在このイテレータが指し示している複製オブジェクトへのポインタを取得します。

物理演算を行ったり、描画処理を行うためには、返ってきた複製オブジェクトをキャストするか、 あるいは、SelectionIteratorTemplate を使わなければなりません。

戻り値
現在このイテレータが指し示している複製オブジェクトへのポインタが返ります。
DuplicatedObject * nn::nex::IteratorOverDOs::operator-> ( ) const
inherited

現在このイテレータが指し示している複製オブジェクトへのポインタを取得します。

物理演算を行ったり、描画処理を行うためには、返ってきた複製オブジェクトをキャストするか、 あるいは、SelectionIteratorTemplate を使わなければなりません。

戻り値
現在このイテレータが指し示している複製オブジェクトへのポインタが返ります。
qBool nn::nex::IteratorOverDOs::EndReached ( ) const
inherited

イテレータがリストの末尾に到達したかどうかを取得します。

戻り値一覧:

true イテレータがリストの末尾に到達したときに返ります。

false イテレータがリストの末尾に到達していないときに帰ります。

参照
DuplicatedObject, GotoStart, GotoEnd
qBool nn::nex::IteratorOverDOs::Find ( DOHandle  hDO)
inherited

与えられた複製オブジェクトハンドルが参照する複製オブジェクトを、このイテレータの中で検索します。

この関数は、与えられた複製オブジェクトハンドルが参照する複製オブジェクトまで イテレータを動かすか、あるいはオブジェクトが見つからなかった場合に最後まで動かされます。 最後までイテレータが動くと、EndReached() が true を返すようになります。

引数
[in]hDO検索対象の複製オブジェクトハンドル。
戻り値一覧:

true 複製オブジェクトが見つかったときに返ります。このとき、このイテレータは指定された複製オブジェクトを指します。

false 複製オブジェクトが見つからなかったときに返ります。このとき、EndReached() はfalseを返します。