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:

Lamp::CollisionObject List of all members.

Public Member Functions

virtual void setScale (const Vector3 &scale)
 スケールの設定

virtual const Vector3getScale () const
 スケールの取得

virtual bool isScaled () const
 スケールを使用しているか

virtual bool isGlobalScaled () const
 グローバルでスケールを使用しているか

virtual void setRotationXYZ (const Vector3 &rotation)
 XYZ回転の設定.

virtual const Vector3getRotationXYZ ()
 XYZ回転の取得.

virtual void setRotationQuaternion (const Quaternion &rotation)
 四元数回転の設定

virtual const QuaterniongetRotationQuaternion ()
 四元数回転の取得

virtual void setTranslation (const Vector3 &translation)
 移動の設定

virtual const Vector3getTranslation () const
 移動の取得

const Matrix34getWorldMatrix () const
 ワールド行列の取得

const Matrix34getLocalMatrix () const
 ローカル行列の取得

virtual void addChild (CollisionObject *child)
 子供の追加

virtual void removeChild (CollisionObject *child)
 子供の削除

virtual int getChildCount () const
 子供数の取得

virtual CollisionObjectgetChild (int index) const
 子供の取得

virtual CollisionObjectcopy () const
 コピー

virtual CollisionNodecopyCollisionNode () 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:
Generated on Wed Mar 16 10:29:45 2005 for Lamp by doxygen 1.3.2