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

# Lamp::CollisionNode Class Reference

コリジョンノード More...

`#include <CollisionNode.h>`

Inheritance diagram for Lamp::CollisionNode:

List of all members.

## Public Member Functions
virtual void | setScale (const Vector3 &scale)
| スケールの設定
virtual const Vector3 & | getScale () const
| スケールの取得
virtual bool | isScaled () const
| スケールを使用しているか
virtual bool | isGlobalScaled () const
| グローバルでスケールを使用しているか
virtual void | setRotationXYZ (const Vector3 &rotation)
| XYZ回転の設定.
virtual const Vector3 & | getRotationXYZ ()
| XYZ回転の取得.
virtual void | setRotationQuaternion (const Quaternion &rotation)
| 四元数回転の設定
virtual const Quaternion & | getRotationQuaternion ()
| 四元数回転の取得
virtual void | setTranslation (const Vector3 &translation)
| 移動の設定
virtual const Vector3 & | getTranslation () const
| 移動の取得
const Matrix34 & | getWorldMatrix () const
| ワールド行列の取得
const Matrix34 & | getLocalMatrix () const
| ローカル行列の取得
virtual void | addChild (CollisionObject *child)
| 子供の追加
virtual void | removeChild (CollisionObject *child)
| 子供の削除
virtual int | getChildCount () const
| 子供数の取得
virtual CollisionObject * | getChild (int index) const
| 子供の取得
virtual CollisionObject * | copy () const
| コピー
virtual CollisionNode * | copyCollisionNode () const
| コリジョンノードのコピー
virtual bool | isCollisionNode () const
| コリジョンノードかどうか
## Static Public Member Functions
int | recursiveDestroy (CollisionNode *collisionNode)
| 再帰的破棄
int | recursiveDestroyChildren (CollisionNode *collisionNode)
| 子の再帰的破棄
## Protected Member Functions
| CollisionNode (const String &name, CollisionScene *scene)
| コンストラクタ
virtual | ~CollisionNode ()
| デストラクタ
virtual void | traverseImplement (const Matrix34 &parentMatrix, bool parentEnabled, bool parentScaled, bool parentChanged)
| 走査
virtual void | setParent (CollisionNode *parent)
| 親の設定
virtual void | removeParent (CollisionNode *parent)
| 親の削除
virtual bool | isChanged () const
| 変更フラグの取得
virtual void | setGlobalScaled (bool globalScaled)
| グローバルでスケールを使用しているかの設定
## Friends
class | CollisionScene

## Detailed Description

コリジョンノード

Definition at line 40 of file CollisionNode.h.

## Constructor & Destructor Documentation

Lamp::CollisionNode::CollisionNode | ( | const String & | name,
|  | CollisionScene * | scene
| ) | `[protected]`

  | コンストラクタ Parameters:
  name | 名前
  scene | シーン
Definition at line 35 of file CollisionNode.cpp. References Lamp::CollisionObject::setGlobalEnabled().

## Member Function Documentation

virtual void Lamp::CollisionNode::addChild | ( | CollisionObject * | child | ) | `[inline, virtual]`

  | 子供の追加 Parameters:
  child | 追加する子供
Definition at line 145 of file CollisionNode.h. References Lamp::ArrayList< CollisionObject * >::add(), and Lamp::CollisionObject::setParent(). Referenced by Lamp::CollisionConverter::convertNode(), copyCollisionNode(), Lamp::TextCollisionLoader::readCollisionLink(), and Lamp::CollisionConverter::setCollisionLeafData().

virtual CollisionObject* Lamp::CollisionNode::copy | ( |  | ) | const`[inline, virtual]`

| コピー Returns: コピーされたコリジョンオブジェクト Implements Lamp::CollisionObject. Definition at line 183 of file CollisionNode.h. References copyCollisionNode(). Referenced by copyCollisionNode().

CollisionNode * Lamp::CollisionNode::copyCollisionNode | ( |  | ) | const`[virtual]`

| コリジョンノードのコピー Returns: コピーされたコリジョンノード Definition at line 48 of file CollisionNode.cpp. References addChild(), axis_, copy(), Lamp::CollisionObject::copyCollisionObjectValue(), Lamp::CollisionScene::createCollisionNode(), getChild(), getChildCount(), Lamp::CollisionObject::getName(), and Lamp::CollisionObject::getScene(). Referenced by copy().

virtual CollisionObject* Lamp::CollisionNode::getChild | ( | int | index | ) | const`[inline, virtual]`

  | 子供の取得 Parameters:
  index | インデックス
Returns: 子供 Definition at line 170 of file CollisionNode.h. References Assert, Lamp::ArrayList< CollisionObject * >::get(), and getChildCount(). Referenced by Lamp::CollisionScene::clear(), copyCollisionNode(), recursiveDestroyChildren(), traverseImplement(), and Lamp::TextCollisionSaver::writeCollisionNodeLink().

virtual int Lamp::CollisionNode::getChildCount | ( |  | ) | const`[inline, virtual]`

| 子供数の取得 Returns: 子供数 Definition at line 163 of file CollisionNode.h. References Lamp::ArrayList< CollisionObject * >::getCount(). Referenced by Lamp::CollisionScene::clear(), copyCollisionNode(), getChild(), recursiveDestroyChildren(), traverseImplement(), and Lamp::TextCollisionSaver::writeCollisionNodeLink().

const Matrix34& Lamp::CollisionNode::getLocalMatrix | ( |  | ) | const`[inline]`

| ローカル行列の取得 Returns: ローカル行列 Definition at line 136 of file CollisionNode.h. References Lamp::Axis3::getMatrix(). Referenced by Lamp::CollisionLeaf::getLocalMatrix(), and traverseImplement().

virtual const Quaternion& Lamp::CollisionNode::getRotationQuaternion | ( |  | ) | `[inline, virtual]`

| 四元数回転の取得 Returns: 四元数回転 Definition at line 100 of file CollisionNode.h. References Lamp::Axis3::getRotationQuaternion(). Referenced by Lamp::CollisionLeaf::getRotationQuaternion().

virtual const Vector3& Lamp::CollisionNode::getRotationXYZ | ( |  | ) | `[inline, virtual]`

| XYZ回転の取得. Returns: XYZ回転 Definition at line 85 of file CollisionNode.h. References Lamp::Axis3::getRotationXYZ(). Referenced by Lamp::CollisionLeaf::getRotationXYZ(), and Lamp::TextCollisionSaver::writeCollisionNode().

virtual const Vector3& Lamp::CollisionNode::getScale | ( |  | ) | const`[inline, virtual]`

| スケールの取得 Returns: スケール Definition at line 56 of file CollisionNode.h. References Lamp::Axis3::getScale(). Referenced by Lamp::CollisionLeaf::getScale(), and Lamp::TextCollisionSaver::writeCollisionNode().

virtual const Vector3& Lamp::CollisionNode::getTranslation | ( |  | ) | const`[inline, virtual]`

| 移動の取得 Returns: 移動 Definition at line 119 of file CollisionNode.h. References Lamp::Axis3::getTranslation(). Referenced by Lamp::CollisionLeaf::getTranslation(), and Lamp::TextCollisionSaver::writeCollisionNode().

const Matrix34& Lamp::CollisionNode::getWorldMatrix | ( |  | ) | const`[inline]`

| ワールド行列の取得 Returns: ワールド行列 Definition at line 130 of file CollisionNode.h. Referenced by Lamp::CollisionLeaf::getWorldMatrix(), Lamp::StaticDeformedMeshCollision::getWorldMesh(), Lamp::CollisionRenderer::renderingSetup(), and Lamp::CollisionObject::traverse().

virtual bool Lamp::CollisionNode::isChanged | ( |  | ) | const`[inline, protected, virtual]`

| 変更フラグの取得 Returns: 変更されていればtrue Reimplemented from Lamp::CollisionObject. Definition at line 272 of file CollisionNode.h. References Lamp::Axis3::isChanged(). Referenced by traverseImplement().

virtual bool Lamp::CollisionNode::isCollisionNode | ( |  | ) | const`[inline, virtual]`

| コリジョンノードかどうか Returns: コリジョンノードならtrue Reimplemented from Lamp::CollisionObject. Definition at line 213 of file CollisionNode.h.

virtual bool Lamp::CollisionNode::isGlobalScaled | ( |  | ) | const`[inline, virtual]`

| グローバルでスケールを使用しているか Returns: グローバルでスケールを使用しているならtrue Definition at line 68 of file CollisionNode.h. Referenced by Lamp::CollisionLeaf::isGlobalScaled(), and Lamp::CollisionObject::traverse().

virtual bool Lamp::CollisionNode::isScaled | ( |  | ) | const`[inline, virtual]`

| スケールを使用しているか Returns: スケールを使用しているならtrue Definition at line 62 of file CollisionNode.h. References Lamp::Axis3::isScaled(). Referenced by Lamp::CollisionLeaf::isScaled(), and traverseImplement().

int Lamp::CollisionNode::recursiveDestroy | ( | CollisionNode * | collisionNode | ) | `[static]`

  | 再帰的破棄 Parameters:
  collisionNode | 破棄するコリジョンノード
Returns: 破棄したオブジェクト数 Definition at line 64 of file CollisionNode.cpp. References Assert, Lamp::CollisionScene::destroyNode(), Lamp::CollisionObject::getParent(), Lamp::CollisionScene::getRootNode(), Lamp::CollisionObject::getScene(), NULL, recursiveDestroyChildren(), and removeChild().

int Lamp::CollisionNode::recursiveDestroyChildren | ( | CollisionNode * | collisionNode | ) | `[static]`

  | 子の再帰的破棄 Parameters:
  collisionNode | 子を破棄するコリジョンノード
Returns: 破棄したオブジェクト数 Definition at line 78 of file CollisionNode.cpp. References Assert, getChild(), getChildCount(), and NULL. Referenced by recursiveDestroy().

virtual void Lamp::CollisionNode::removeChild | ( | CollisionObject * | child | ) | `[inline, virtual]`

  | 子供の削除 Parameters:
  child | 削除する子供
Definition at line 154 of file CollisionNode.h. References Lamp::ArrayList< CollisionObject * >::removeByValue(), and Lamp::CollisionObject::removeParent(). Referenced by Lamp::CollisionScene::clear(), Lamp::CollisionLeaf::destroy(), and recursiveDestroy().

virtual void Lamp::CollisionNode::removeParent | ( | CollisionNode * | parent | ) | `[inline, protected, virtual]`

  | 親の削除 Parameters:
  parent | 削除する親
Reimplemented from Lamp::CollisionObject. Definition at line 260 of file CollisionNode.h. References Lamp::CollisionObject::setGlobalEnabled().

virtual void Lamp::CollisionNode::setGlobalScaled | ( | bool | globalScaled | ) | `[inline, protected, virtual]`

  | グローバルでスケールを使用しているかの設定 Parameters:
  globalScaled | グローバルでスケールを使用しているならtrue
Definition at line 283 of file CollisionNode.h. Referenced by traverseImplement().

virtual void Lamp::CollisionNode::setParent | ( | CollisionNode * | parent | ) | `[inline, protected, virtual]`

  | 親の設定 Parameters:
  parent | 設定する親
Reimplemented from Lamp::CollisionObject. Definition at line 251 of file CollisionNode.h. References Lamp::CollisionObject::setGlobalEnabled().

virtual void Lamp::CollisionNode::setRotationQuaternion | ( | const Quaternion & | rotation | ) | `[inline, virtual]`

  | 四元数回転の設定 Parameters:
  rotation | 四元数回転
Definition at line 92 of file CollisionNode.h. References Lamp::Axis3::setRotationQuaternion(). Referenced by Lamp::CollisionLeaf::setRotationQuaternion().

virtual void Lamp::CollisionNode::setRotationXYZ | ( | const Vector3 & | rotation | ) | `[inline, virtual]`

  | XYZ回転の設定. Parameters:
  rotation | XYZ回転
Definition at line 77 of file CollisionNode.h. References Lamp::Axis3::setRotationXYZ(). Referenced by Lamp::CollisionConverter::convertNode(), Lamp::TextCollisionLoader::readCollisionNode(), and Lamp::CollisionLeaf::setRotationXYZ().

virtual void Lamp::CollisionNode::setScale | ( | const Vector3 & | scale | ) | `[inline, virtual]`

  | スケールの設定 Parameters:
  scale | スケール
Definition at line 50 of file CollisionNode.h. References Lamp::Axis3::setScale(). Referenced by Lamp::CollisionConverter::convertNode(), Lamp::TextCollisionLoader::readCollisionNode(), and Lamp::CollisionLeaf::setScale().

virtual void Lamp::CollisionNode::setTranslation | ( | const Vector3 & | translation | ) | `[inline, virtual]`

  | 移動の設定 Parameters:
  translation | 移動
Definition at line 111 of file CollisionNode.h. References Lamp::Axis3::setTranslation(). Referenced by Lamp::CollisionConverter::convertNode(), Lamp::TextCollisionLoader::readCollisionNode(), and Lamp::CollisionLeaf::setTranslation().

void Lamp::CollisionNode::traverseImplement | ( | const Matrix34 & | parentMatrix,
|  | bool | parentEnabled,
|  | bool | parentScaled,
|  | bool | parentChanged
| ) | `[protected, virtual]`

  | 走査 Parameters:
  parentMatrix | 親行列
  parentEnabled | 親が有効か
  parentScaled | 親がスケールを使用しているか
  parentChanged | 親に変更があったか
Implements Lamp::CollisionObject. Definition at line 92 of file CollisionNode.cpp. References Assert, Lamp::Axis3::buildMatrix(), getChild(), getChildCount(), getLocalMatrix(), isChanged(), Lamp::CollisionObject::isEnabled(), Lamp::CollisionObject::isGlobalEnabled(), isScaled(), Lamp::CollisionObject::setChanged(), Lamp::CollisionObject::setGlobalChanged(), Lamp::CollisionObject::setGlobalEnabled(), setGlobalScaled(), and Lamp::CollisionObject::traverseImplement().

The documentation for this class was generated from the following files:

- CollisionNode.h
- CollisionNode.cpp