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 CollisionNode * getRootNode ()
 ルートノードの取得

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)
 球コリジョン交差

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

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

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

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

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

virtual int clear ()
 クリア

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

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

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

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

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

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

virtual CollisionLeaf * searchLeaf (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