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:

- CollisionScene.h
- CollisionScene.cpp