Main Page | Namespace List | Class Hierarchy | Alphabetical List | Compound List | File List | Namespace Members | Compound Members | File Members

Lamp::CollisionScene Class Reference

コリジョンシーン More...

#include <CollisionScene.h>

List of all members.

Public Member Functions

 CollisionScene ()
 コンストラクタ

virtual ~CollisionScene ()
 デストラクタ

virtual void traverse ()
 走査

virtual CollisionNodegetRootNode ()
 ルートノードの取得

virtual void setTick (int tick)
 チックの設定

virtual int getTick () const
 チックの取得

virtual void intersection (IntersectionResult *result, const Sphere &sphere, u_int collisionMask=0xffffffff)
 球交差

virtual void intersection (IntersectionResult *result, StaticSphereCollision *sphere, u_int collisionMask=0xffffffff)
 球コリジョン交差

CollisionNodecreateCollisionNode (const String &name)
 コリジョンノードの作成

StaticSphereCollisioncreateStaticSphereCollision (const String &name)
 静的球コリジョンの作成

StaticDeformedMeshCollisioncreateStaticDeformedMeshCollision (const String &name)
 静的変形メッシュコリジョンの作成

virtual void destroyNode (CollisionNode *node)
 ノードオブジェクトの破棄

virtual void destroyLeaf (CollisionLeaf *leaf)
 リーフオブジェクトの破棄

virtual int clear ()
 クリア

virtual int getNodeCount ()
 ノードオブジェクト数の取得

virtual CollisionNodegetNode (int index)
 ノードオブジェクトの取得

virtual CollisionNodesearchNode (const String &name)
 ノードオブジェクトの検索

virtual bool existNodeName (const String &name)
 ノード名が存在するかどうか

virtual int getLeafCount ()
 リーフオブジェクト数の取得

virtual CollisionLeafgetLeaf (int index)
 リーフオブジェクトの取得

virtual CollisionLeafsearchLeaf (const String &name)
 リーフオブジェクトの検索

virtual bool existLeafName (const String &name)
 リーフ名が存在するかどうか

virtual String renameNode (const String &name)
 ノードのリネーム

virtual void setNodeRenamer (Renamer *renamer)
 ノードリネーマの設定

virtual String renameLeaf (const String &name)
 リーフのリネーム

virtual void setLeafRenamer (Renamer *renamer)
 リーフリネーマの設定


Protected Member Functions

bool checkLeafName (const String &name)
 リーフの名前チェック


Detailed Description

コリジョンシーン

Definition at line 45 of file CollisionScene.h.


Member Function Documentation

bool Lamp::CollisionScene::checkLeafName const String name  )  [protected]
 

リーフの名前チェック

Parameters:
name チェックする名前
Returns:
正常な名前ならtrueを返す

Definition at line 148 of file CollisionScene.cpp.

References ErrorOut, existLeafName(), Lamp::String::getBytes(), and Lamp::String::getSize().

Referenced by createStaticDeformedMeshCollision(), and createStaticSphereCollision().

int Lamp::CollisionScene::clear  )  [virtual]
 

クリア

Returns:
削除したコリジョンオブジェクト数

Definition at line 189 of file CollisionScene.cpp.

References Lamp::ArrayList< CollisionNode * >::add(), Lamp::HashMap< String, CollisionNode * >::clear(), Lamp::ArrayList< CollisionNode * >::clear(), Lamp::HashMap< String, CollisionLeaf * >::clear(), Lamp::ArrayList< CollisionLeaf * >::clear(), Lamp::CollisionNode::getChild(), Lamp::CollisionNode::getChildCount(), getLeaf(), getLeafCount(), Lamp::CollisionObject::getName(), getNode(), getNodeCount(), Lamp::HashMap< String, CollisionNode * >::put(), and Lamp::CollisionNode::removeChild().

CollisionNode * Lamp::CollisionScene::createCollisionNode const String name  ) 
 

コリジョンノードの作成

すでに同じ名前のコリジョンオブジェクトが存在するとエラーになります。 空文字列を名前に指定するとエラーになります。

Parameters:
name 名前
Returns:
コリジョンノード

Definition at line 104 of file CollisionScene.cpp.

References Lamp::ArrayList< CollisionNode * >::add(), ErrorOut, existNodeName(), Lamp::String::getBytes(), Lamp::String::getSize(), NULL, and Lamp::HashMap< String, CollisionNode * >::put().

Referenced by CollisionScene(), Lamp::CollisionConverter::convertNode(), Lamp::CollisionNode::copyCollisionNode(), and Lamp::TextCollisionLoader::readCollisionNode().

StaticDeformedMeshCollision * Lamp::CollisionScene::createStaticDeformedMeshCollision const String name  ) 
 

静的変形メッシュコリジョンの作成

すでに同じ名前のコリジョンオブジェクトが存在するとエラーになります。 空文字列を名前に指定するとエラーになります。

Parameters:
name 名前
Returns:
静的変形メッシュコリジョン

Definition at line 135 of file CollisionScene.cpp.

References Lamp::ArrayList< CollisionLeaf * >::add(), checkLeafName(), NULL, and Lamp::HashMap< String, CollisionLeaf * >::put().

Referenced by Lamp::CollisionConverter::convertStaticDeformedMesh(), Lamp::StaticDeformedMeshCollision::copyStaticDeformedMeshCollision(), and Lamp::TextCollisionLoader::readStaticDeformedMesh().

StaticSphereCollision * Lamp::CollisionScene::createStaticSphereCollision const String name  ) 
 

静的球コリジョンの作成

すでに同じ名前のコリジョンオブジェクトが存在するとエラーになります。 空文字列を名前に指定するとエラーになります。

Parameters:
name 名前
Returns:
静的球コリジョン

Definition at line 125 of file CollisionScene.cpp.

References Lamp::ArrayList< CollisionLeaf * >::add(), checkLeafName(), NULL, and Lamp::HashMap< String, CollisionLeaf * >::put().

Referenced by Lamp::StaticSphereCollision::copyStaticSphereCollision(), and Lamp::TextCollisionLoader::readStaticSphere().

void Lamp::CollisionScene::destroyLeaf CollisionLeaf leaf  )  [virtual]
 

リーフオブジェクトの破棄

Parameters:
leaf 破棄するリーフオブジェクト

Definition at line 178 of file CollisionScene.cpp.

References ErrorOut, Lamp::CollisionObject::getName(), NULL, Lamp::HashMap< String, CollisionLeaf * >::remove(), and Lamp::ArrayList< CollisionLeaf * >::removeByValue().

Referenced by Lamp::CollisionLeaf::destroy().

void Lamp::CollisionScene::destroyNode CollisionNode node  )  [virtual]
 

ノードオブジェクトの破棄

Parameters:
node 破棄するノードオブジェクト

Definition at line 166 of file CollisionScene.cpp.

References Assert, ErrorOut, Lamp::CollisionObject::getName(), NULL, Lamp::HashMap< String, CollisionNode * >::remove(), and Lamp::ArrayList< CollisionNode * >::removeByValue().

Referenced by Lamp::CollisionNode::recursiveDestroy().

virtual bool Lamp::CollisionScene::existLeafName const String name  )  [inline, virtual]
 

リーフ名が存在するかどうか

Parameters:
name 存在するかどうか調べる名前
Returns:
リーフ名が存在すればtrue

Definition at line 233 of file CollisionScene.h.

References NULL, and searchLeaf().

Referenced by checkLeafName().

virtual bool Lamp::CollisionScene::existNodeName const String name  )  [inline, virtual]
 

ノード名が存在するかどうか

Parameters:
name 存在するかどうか調べる名前
Returns:
ノード名が存在すればtrue

Definition at line 201 of file CollisionScene.h.

References NULL, and searchNode().

Referenced by createCollisionNode().

virtual CollisionLeaf* Lamp::CollisionScene::getLeaf int  index  )  [inline, virtual]
 

リーフオブジェクトの取得

Parameters:
index リーフオブジェクトのインデクス
Returns:
リーフオブジェクト

Definition at line 217 of file CollisionScene.h.

References Lamp::ArrayList< CollisionLeaf * >::get().

Referenced by clear(), intersection(), Lamp::CollisionRenderer::renderingSetup(), and Lamp::TextCollisionSaver::save().

virtual int Lamp::CollisionScene::getLeafCount  )  [inline, virtual]
 

リーフオブジェクト数の取得

Returns:
リーフオブジェクト数

Definition at line 210 of file CollisionScene.h.

References Lamp::ArrayList< CollisionLeaf * >::getCount().

Referenced by clear(), intersection(), Lamp::CollisionRenderer::renderingSetup(), and Lamp::TextCollisionSaver::save().

virtual CollisionNode* Lamp::CollisionScene::getNode int  index  )  [inline, virtual]
 

ノードオブジェクトの取得

Parameters:
index ノードオブジェクトのインデクス
Returns:
ノードオブジェクト

Definition at line 185 of file CollisionScene.h.

References Lamp::ArrayList< CollisionNode * >::get().

Referenced by clear(), Lamp::CollisionRenderer::renderingSetup(), and Lamp::TextCollisionSaver::save().

virtual int Lamp::CollisionScene::getNodeCount  )  [inline, virtual]
 

ノードオブジェクト数の取得

Returns:
ノードオブジェクト数

Definition at line 178 of file CollisionScene.h.

References Lamp::ArrayList< CollisionNode * >::getCount().

Referenced by clear(), Lamp::CollisionRenderer::renderingSetup(), and Lamp::TextCollisionSaver::save().

virtual CollisionNode* Lamp::CollisionScene::getRootNode  )  [inline, virtual]
 

ルートノードの取得

Returns:
ルートノード

Definition at line 72 of file CollisionScene.h.

Referenced by Lamp::CollisionConverter::convert(), Lamp::TextCollisionLoader::load(), Lamp::CollisionNode::recursiveDestroy(), and traverse().

virtual int Lamp::CollisionScene::getTick  )  const [inline, virtual]
 

チックの取得

Returns:
チック

Definition at line 85 of file CollisionScene.h.

void Lamp::CollisionScene::intersection IntersectionResult result,
StaticSphereCollision sphere,
u_int  collisionMask = 0xffffffff
[virtual]
 

球コリジョン交差

Parameters:
result 交差結果
sphere 球コリジョン
collisionMask コリジョンマスク

Definition at line 91 of file CollisionScene.cpp.

References Assert, getLeaf(), getLeafCount(), Lamp::CollisionLeaf::intersection(), and Lamp::CollisionObject::isGlobalEnabled().

void Lamp::CollisionScene::intersection IntersectionResult result,
const Sphere sphere,
u_int  collisionMask = 0xffffffff
[virtual]
 

球交差

Parameters:
result 交差結果
sphere 
collisionMask コリジョンマスク

Definition at line 82 of file CollisionScene.cpp.

References getLeaf(), getLeafCount(), and Lamp::CollisionLeaf::intersection().

virtual String Lamp::CollisionScene::renameLeaf const String name  )  [inline, virtual]
 

リーフのリネーム

Parameters:
name 元となる名前
Returns:
重複していない名前

Definition at line 265 of file CollisionScene.h.

References Lamp::Renamer::rename().

virtual String Lamp::CollisionScene::renameNode const String name  )  [inline, virtual]
 

ノードのリネーム

Parameters:
name 元となる名前
Returns:
重複していない名前

Definition at line 245 of file CollisionScene.h.

References Lamp::Renamer::rename().

virtual CollisionLeaf* Lamp::CollisionScene::searchLeaf const String name  )  [inline, virtual]
 

リーフオブジェクトの検索

Parameters:
name 検索するリーフオブジェクト名
Returns:
リーフオブジェクト

Definition at line 224 of file CollisionScene.h.

References Lamp::HashMap< String, CollisionLeaf * >::get().

Referenced by existLeafName(), and Lamp::TextCollisionLoader::readCollisionLink().

virtual CollisionNode* Lamp::CollisionScene::searchNode const String name  )  [inline, virtual]
 

ノードオブジェクトの検索

Parameters:
name 検索するノードオブジェクト名
Returns:
ノードオブジェクト

Definition at line 192 of file CollisionScene.h.

References Lamp::HashMap< String, CollisionNode * >::get().

Referenced by existNodeName(), and Lamp::TextCollisionLoader::readCollisionLink().

virtual void Lamp::CollisionScene::setLeafRenamer Renamer renamer  )  [inline, virtual]
 

リーフリネーマの設定

Parameters:
renamer 設定するリーフリネーマ

Definition at line 273 of file CollisionScene.h.

References Assert, NULL, and SafeDelete.

virtual void Lamp::CollisionScene::setNodeRenamer Renamer renamer  )  [inline, virtual]
 

ノードリネーマの設定

Parameters:
renamer 設定するノードリネーマ

Definition at line 253 of file CollisionScene.h.

References Assert, NULL, and SafeDelete.

virtual void Lamp::CollisionScene::setTick int  tick  )  [inline, virtual]
 

チックの設定

Parameters:
tick チック

Definition at line 79 of file CollisionScene.h.


The documentation for this class was generated from the following files:
Generated on Wed Mar 16 10:29:45 2005 for Lamp by doxygen 1.3.2