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