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

Lamp::CollisionLeaf Class Reference

コリジョンリーフ More...

#include <CollisionLeaf.h>

Inheritance diagram for Lamp::CollisionLeaf:

Lamp::CollisionObject Lamp::DynamicCollisionLeaf Lamp::StaticCollisionLeaf Lamp::StaticDeformedMeshCollision Lamp::StaticSphereCollision List of all members.

Public Member Functions

virtual void intersection (IntersectionResult *result, const Sphere &sphere, u_int collisionMask=0xffffffff)
 球交差

virtual void intersection (IntersectionResult *result, StaticSphereCollision *sphere, u_int collisionMask=0xffffffff)
 球コリジョン交差

virtual void setCollisionMask (u_int collisionMask)
 コリジョンマスクの設定

virtual u_int getCollisionMask () const
 コリジョンマスクの取得

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 CollisionLeaf * copyCollisionLeaf () const=0
 コリジョンリーフのコピー

virtual bool isCollisionLeaf () const
 コリジョンリーフかどうか


Static Public Member Functions

int destroy (CollisionLeaf *collisionLeaf)
 破棄


Protected Member Functions

 CollisionLeaf (const String &name, CollisionScene *scene)
 コンストラクタ

virtual ~CollisionLeaf ()
 デストラクタ

virtual void copyCollisionLeafValue (CollisionLeaf *destination) const
 コリジョンリーフの値コピー

virtual bool traverseSetup (bool parentEnabled, bool parentChanged)
 走査のセットアップ

virtual void setParent (CollisionNode *parent)
 親の設定

virtual void removeParent (CollisionNode *parent)
 親の削除


Friends

class CollisionScene

Detailed Description

コリジョンリーフ

Definition at line 38 of file CollisionLeaf.h.


Constructor & Destructor Documentation

Lamp::CollisionLeaf::CollisionLeaf (  const String &  name,
CollisionScene *  scene
)  [protected]
 

コンストラクタ

Parameters:
name 名前
scene シーン

Definition at line 34 of file CollisionLeaf.cpp.

References Lamp::CollisionObject::setGlobalEnabled().


Member Function Documentation

virtual CollisionLeaf* Lamp::CollisionLeaf::copyCollisionLeaf (   )  const [pure virtual]
 

コリジョンリーフのコピー

Returns:
コピーされたコリジョンリーフ

Implemented in Lamp::StaticDeformedMeshCollision, and Lamp::StaticSphereCollision.

virtual void Lamp::CollisionLeaf::copyCollisionLeafValue (  CollisionLeaf *  destination  )  const [inline, protected, virtual]
 

コリジョンリーフの値コピー

Parameters:
destination コピー先コリジョンリーフ

Definition at line 220 of file CollisionLeaf.h.

References collisionMask_, and Lamp::CollisionObject::copyCollisionObjectValue().

Referenced by Lamp::DynamicCollisionLeaf::copyDynamicCollisionLeaf(), and Lamp::StaticCollisionLeaf::copyStaticCollisionLeafValue().

int Lamp::CollisionLeaf::destroy (  CollisionLeaf *  collisionLeaf  )  [static]
 

破棄

Parameters:
collisionLeaf 破棄するコリジョンリーフ
Returns:
破棄したオブジェクト数

Definition at line 44 of file CollisionLeaf.cpp.

References Assert, Lamp::CollisionScene::destroyLeaf(), Lamp::CollisionObject::getParent(), Lamp::CollisionObject::getScene(), NULL, and Lamp::CollisionNode::removeChild().

virtual u_int Lamp::CollisionLeaf::getCollisionMask (   )  const [inline, virtual]
 

コリジョンマスクの取得

Returns:
コリジョンマスク

Definition at line 84 of file CollisionLeaf.h.

References u_int.

Referenced by Lamp::StaticSphereCollision::intersection(), Lamp::StaticDeformedMeshCollision::intersection(), and Lamp::TextCollisionSaver::writeCollisionLeaf().

const Matrix34 & Lamp::CollisionLeaf::getLocalMatrix (   )  const
 

ローカル行列の取得

Returns:
親のローカル行列

Definition at line 150 of file CollisionLeaf.cpp.

References Assert, Lamp::CollisionNode::getLocalMatrix(), Lamp::CollisionObject::getParent(), and NULL.

const Quaternion & Lamp::CollisionLeaf::getRotationQuaternion (   )  [virtual]
 

四元数回転の取得

Returns:
親の四元数回転

Definition at line 122 of file CollisionLeaf.cpp.

References Assert, Lamp::CollisionObject::getParent(), Lamp::CollisionNode::getRotationQuaternion(), and NULL.

const Vector3 & Lamp::CollisionLeaf::getRotationXYZ (   )  [virtual]
 

XYZ回転の取得.

Returns:
親のXYZ回転

Definition at line 110 of file CollisionLeaf.cpp.

References Assert, Lamp::CollisionObject::getParent(), Lamp::CollisionNode::getRotationXYZ(), and NULL.

const Vector3 & Lamp::CollisionLeaf::getScale (   )  const [virtual]
 

スケールの取得

Returns:
親のスケール

Definition at line 84 of file CollisionLeaf.cpp.

References Assert, Lamp::CollisionObject::getParent(), Lamp::CollisionNode::getScale(), and NULL.

const Vector3 & Lamp::CollisionLeaf::getTranslation (   )  const [virtual]
 

移動の取得

Returns:
親の移動

Definition at line 136 of file CollisionLeaf.cpp.

References Assert, Lamp::CollisionObject::getParent(), Lamp::CollisionNode::getTranslation(), and NULL.

const Matrix34 & Lamp::CollisionLeaf::getWorldMatrix (   )  const
 

ワールド行列の取得

Returns:
親のワールド行列

Definition at line 144 of file CollisionLeaf.cpp.

References Assert, Lamp::CollisionObject::getParent(), Lamp::CollisionNode::getWorldMatrix(), and NULL.

Referenced by Lamp::StaticDeformedMeshCollision::intersection().

virtual void Lamp::CollisionLeaf::intersection (  IntersectionResult *  result,
StaticSphereCollision *  sphere,
u_int  collisionMask = 0xffffffff
)  [inline, virtual]
 

球コリジョン交差

Parameters:
result 交差結果
sphere 球コリジョン
collisionMask コリジョンマスク

Reimplemented in Lamp::StaticDeformedMeshCollision, and Lamp::StaticSphereCollision.

Definition at line 59 of file CollisionLeaf.h.

References Assert.

virtual void Lamp::CollisionLeaf::intersection (  IntersectionResult *  result,
const Sphere &  sphere,
u_int  collisionMask = 0xffffffff
)  [inline, virtual]
 

球交差

Parameters:
result 交差結果
sphere 球
collisionMask コリジョンマスク

Reimplemented in Lamp::StaticDeformedMeshCollision, and Lamp::StaticSphereCollision.

Definition at line 50 of file CollisionLeaf.h.

References Assert.

Referenced by Lamp::CollisionScene::intersection().

virtual bool Lamp::CollisionLeaf::isCollisionLeaf (   )  const [inline, virtual]
 

コリジョンリーフかどうか

Returns:
コリジョンリーフならtrue

Reimplemented from Lamp::CollisionObject.

Definition at line 195 of file CollisionLeaf.h.

bool Lamp::CollisionLeaf::isGlobalScaled (   )  const [virtual]
 

グローバルでスケールを使用しているか

Returns:
親がグローバルでスケールを使用しているならtrue

Definition at line 96 of file CollisionLeaf.cpp.

References Assert, Lamp::CollisionObject::getParent(), Lamp::CollisionNode::isGlobalScaled(), and NULL.

bool Lamp::CollisionLeaf::isScaled (   )  const [virtual]
 

スケールを使用しているか

Returns:
親がスケールを使用しているならtrue

Definition at line 90 of file CollisionLeaf.cpp.

References Assert, Lamp::CollisionObject::getParent(), Lamp::CollisionNode::isScaled(), and NULL.

Referenced by Lamp::StaticDeformedMeshCollision::intersection().

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

親の削除

Parameters:
parent 削除する親

Reimplemented from Lamp::CollisionObject.

Definition at line 254 of file CollisionLeaf.h.

References Lamp::CollisionObject::setGlobalEnabled().

virtual void Lamp::CollisionLeaf::setCollisionMask (  u_int  collisionMask  )  [inline, virtual]
 

コリジョンマスクの設定

Parameters:
collisionMask コリジョンマスク

Definition at line 76 of file CollisionLeaf.h.

Referenced by Lamp::TextCollisionLoader::readStaticDeformedMesh(), Lamp::TextCollisionLoader::readStaticSphere(), and Lamp::CollisionConverter::setCollisionLeafData().

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

親の設定

Parameters:
parent 設定する親

Reimplemented from Lamp::CollisionObject.

Definition at line 245 of file CollisionLeaf.h.

References Lamp::CollisionObject::setGlobalEnabled().

void Lamp::CollisionLeaf::setRotationQuaternion (  const Quaternion &  rotation  )  [virtual]
 

四元数回転の設定

Parameters:
rotation 親の四元数回転

Definition at line 116 of file CollisionLeaf.cpp.

References Assert, Lamp::CollisionObject::getParent(), NULL, and Lamp::CollisionNode::setRotationQuaternion().

void Lamp::CollisionLeaf::setRotationXYZ (  const Vector3 &  rotation  )  [virtual]
 

XYZ回転の設定.

Parameters:
rotation 親のXYZ回転

Definition at line 104 of file CollisionLeaf.cpp.

References Assert, Lamp::CollisionObject::getParent(), NULL, and Lamp::CollisionNode::setRotationXYZ().

void Lamp::CollisionLeaf::setScale (  const Vector3 &  scale  )  [virtual]
 

スケールの設定

Parameters:
scale 親のスケール

Definition at line 78 of file CollisionLeaf.cpp.

References Assert, Lamp::CollisionObject::getParent(), NULL, and Lamp::CollisionNode::setScale().

void Lamp::CollisionLeaf::setTranslation (  const Vector3 &  translation  )  [virtual]
 

移動の設定

Parameters:
translation 親の移動

Definition at line 130 of file CollisionLeaf.cpp.

References Assert, Lamp::CollisionObject::getParent(), NULL, and Lamp::CollisionNode::setTranslation().

bool Lamp::CollisionLeaf::traverseSetup (  bool  parentEnabled,
bool  parentChanged
)  [protected, virtual]
 

走査のセットアップ

Parameters:
parentEnabled 親が有効か
parentChanged 親に変更があったか
Returns:
処理の続行が必要であればtrue

Definition at line 57 of file CollisionLeaf.cpp.

References Lamp::CollisionObject::isChanged(), Lamp::CollisionObject::isEnabled(), Lamp::CollisionObject::setChanged(), Lamp::CollisionObject::setGlobalChanged(), and Lamp::CollisionObject::setGlobalEnabled().

Referenced by Lamp::StaticSphereCollision::traverseImplement(), and Lamp::StaticDeformedMeshCollision::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