#include <SceneNode.h>
Inheritance diagram for Lamp::SceneNode:
Public Member Functions | |
virtual int | getReferenceCount () const |
リファレンスカウントの取得 | |
virtual SceneNode * | copy (u_int copyMask=0) const |
コピー | |
virtual SceneNode * | getParent () const |
親の取得 | |
virtual void | traverse () |
走査 | |
const Matrix34 & | getWorldMatrix () const |
ワールド行列の取得 | |
const Matrix34 & | getLocalMatrix () 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 |
移動の取得 | |
virtual bool | isChanged () const |
変更フラグの取得 | |
virtual bool | isGlobalChanged () const |
グローバルでの変更フラグの取得 | |
virtual void | setEnabled (bool enabled) |
有効、無効の設定 | |
virtual bool | isEnabled () const |
有効、無効の取得 | |
virtual bool | isGlobalEnabled () const |
グローバルでの有効、無効の取得 | |
virtual void | addSceneNode (SceneNode *sceneNode) |
シーンノードの追加 | |
virtual void | removeSceneNode (SceneNode *sceneNode) |
シーンノードの削除 | |
virtual int | getSceneNodeCount () const |
シーンノード数の取得 | |
virtual SceneNode * | getSceneNode (int index) const |
シーンノードの取得 | |
virtual void | addSceneLeaf (SceneLeaf *sceneLeaf) |
シーンリーフの追加 | |
virtual void | removeSceneLeaf (SceneLeaf *sceneLeaf) |
シーンリーフの削除 | |
virtual int | getSceneLeafCount () const |
シーンリーフ数の取得 | |
virtual SceneLeaf * | getSceneLeaf (int index) const |
シーンリーフの取得 | |
virtual bool | isSceneNode () const |
シーンノードかどうか | |
virtual bool | isLODSceneNode () const |
レベルオブディティールシーンノードかどうか | |
virtual LODSceneNode * | castLODSceneNode () const |
レベルオブディティールシーンノードへのキャスト | |
Static Public Member Functions | |
int | recursiveDestroy (SceneNode *sceneNode) |
再帰的破棄 | |
int | recursiveDestroyChildren (SceneNode *sceneNode) |
子の再帰的破棄 | |
Protected Member Functions | |
SceneNode (const String &name, Scene *scene) | |
コンストラクタ | |
virtual | ~SceneNode () |
デストラクタ | |
virtual void | copySceneNodeValue (SceneNode *destination, u_int copyMask) const |
シーンノードの値コピー | |
virtual void | traverse (const Matrix34 &parentMatrix, const Vector3 &cameraPosition, bool parentEnabled, bool parentScaled, bool parentChanged) |
走査 | |
virtual bool | calcMatrix (const Matrix34 &parentMatrix, bool parentChanged) |
行列の計算 | |
virtual void | setGlobalEnabled (bool globalEnabled) |
グローバルでの有効、無効の設定 | |
virtual void | setGlobalScaled (bool globalScaled) |
グローバルでスケールを使用しているかの設定 | |
virtual void | setGlobalChanged (bool globalChanged) |
グローバルでの変更フラグの設定 | |
virtual void | setParent (SceneNode *parent) |
親の設定 | |
virtual void | removeParent (SceneNode *parent) |
親の削除 | |
Friends | |
class | SceneObjectManagerTemplate< SceneNode > |
class | SceneNodeManager |
class | LODSceneNode |
Definition at line 41 of file SceneNode.h.
|
コンストラクタ
Definition at line 36 of file SceneNode.cpp. References NULL. |
|
シーンリーフの追加
Definition at line 162 of file SceneNode.cpp. References Lamp::ArrayList< SceneLeaf * >::add(), and Lamp::SceneLeaf::setParent(). Referenced by copySceneNodeValue(), Lamp::TextSceneLoader::readSceneNodeLink(), and Lamp::BinarySceneLoader::readSceneNodeLink(). |
|
シーンノードの追加
Definition at line 218 of file SceneNode.h. References Lamp::ArrayList< SceneNode * >::add(), and setParent(). Referenced by copySceneNodeValue(), Lamp::TextSceneLoader::readSceneNodeLink(), and Lamp::BinarySceneLoader::readSceneNodeLink(). |
|
行列の計算
Definition at line 143 of file SceneNode.cpp. References Assert, Lamp::Axis3::buildMatrix(), and getLocalMatrix(). Referenced by traverse(), and Lamp::LODSceneNode::traverse(). |
|
レベルオブディティールシーンノードへのキャスト
Definition at line 301 of file SceneNode.h. References isLODSceneNode(), and NULL. Referenced by Lamp::TextSceneSaver::writeSceneNodeList(), and Lamp::BinarySceneSaver::writeSceneNodeList(). |
|
コピー
Reimplemented in Lamp::LODSceneNode. Definition at line 47 of file SceneNode.cpp. References copySceneNodeValue(), Lamp::SceneNodeManager::createSceneNode(), Lamp::Scene::getSceneNodeManager(), Lamp::SceneObject::name_, Lamp::SceneObjectManagerTemplate< SceneNode >::rename(), and Lamp::SceneObject::scene_. Referenced by copySceneNodeValue(). |
|
シーンノードの値コピー
Definition at line 83 of file SceneNode.cpp. References addSceneLeaf(), addSceneNode(), axis_, copy(), getSceneLeaf(), getSceneLeafCount(), getSceneNode(), getSceneNodeCount(), and setEnabled(). Referenced by copy(), and Lamp::LODSceneNode::copyLODSceneNode(). |
|
ローカル行列の取得
Definition at line 101 of file SceneNode.h. References Lamp::Axis3::getMatrix(). Referenced by calcMatrix(). |
|
親の取得
Definition at line 82 of file SceneNode.h. Referenced by recursiveDestroy(). |
|
リファレンスカウントの取得
Implements Lamp::SceneObject. Definition at line 50 of file SceneNode.h. References NULL. Referenced by Lamp::SceneLogicCheckFilter::filterSceneNode(). |
|
四元数回転の取得
Definition at line 158 of file SceneNode.h. References Lamp::Axis3::getRotationQuaternion(). |
|
XYZ回転の取得.
Definition at line 141 of file SceneNode.h. References Lamp::Axis3::getRotationXYZ(). Referenced by Lamp::CollisionConverter::convertNode(), Lamp::TextSceneSaver::writeLODSceneNode(), Lamp::BinarySceneSaver::writeLODSceneNode(), Lamp::TextSceneSaver::writeSceneNode(), and Lamp::BinarySceneSaver::writeSceneNode(). |
|
スケールの取得
Definition at line 114 of file SceneNode.h. References Lamp::Axis3::getScale(). Referenced by Lamp::CollisionConverter::convertNode(), Lamp::TextSceneSaver::writeLODSceneNode(), Lamp::BinarySceneSaver::writeLODSceneNode(), Lamp::TextSceneSaver::writeSceneNode(), and Lamp::BinarySceneSaver::writeSceneNode(). |
|
シーンリーフの取得
Definition at line 275 of file SceneNode.h. References Assert, Lamp::ArrayList< SceneLeaf * >::get(), and getSceneLeafCount(). Referenced by Lamp::SceneNodeManager::clear(), Lamp::CollisionConverter::convert(), Lamp::CollisionConverter::convertNode(), copySceneNodeValue(), recursiveDestroyChildren(), traverse(), Lamp::LODSceneNode::traverse(), Lamp::TextSceneSaver::writeSceneNodeLink(), and Lamp::BinarySceneSaver::writeSceneNodeLink(). |
|
シーンリーフ数の取得
Definition at line 268 of file SceneNode.h. References Lamp::ArrayList< SceneLeaf * >::getCount(). Referenced by Lamp::SceneNodeManager::clear(), Lamp::CollisionConverter::convert(), Lamp::CollisionConverter::convertNode(), copySceneNodeValue(), getSceneLeaf(), recursiveDestroyChildren(), traverse(), Lamp::LODSceneNode::traverse(), Lamp::TextSceneSaver::writeSceneNodeLink(), and Lamp::BinarySceneSaver::writeSceneNodeLink(). |
|
シーンノードの取得
Definition at line 243 of file SceneNode.h. References Assert, Lamp::ArrayList< SceneNode * >::get(), and getSceneNodeCount(). Referenced by Lamp::SceneNodeManager::clear(), Lamp::CollisionConverter::convert(), Lamp::CollisionConverter::convertNode(), copySceneNodeValue(), recursiveDestroyChildren(), traverse(), Lamp::LODSceneNode::traverse(), Lamp::TextSceneSaver::writeSceneNodeLink(), and Lamp::BinarySceneSaver::writeSceneNodeLink(). |
|
シーンノード数の取得
Definition at line 236 of file SceneNode.h. References Lamp::ArrayList< SceneNode * >::getCount(). Referenced by Lamp::SceneNodeManager::clear(), Lamp::CollisionConverter::convert(), Lamp::CollisionConverter::convertNode(), copySceneNodeValue(), getSceneNode(), recursiveDestroyChildren(), traverse(), Lamp::LODSceneNode::traverse(), Lamp::TextSceneSaver::writeSceneNodeLink(), and Lamp::BinarySceneSaver::writeSceneNodeLink(). |
|
移動の取得
Definition at line 175 of file SceneNode.h. References Lamp::Axis3::getTranslation(). Referenced by Lamp::CollisionConverter::convertNode(), Lamp::TextSceneSaver::writeLODSceneNode(), Lamp::BinarySceneSaver::writeLODSceneNode(), Lamp::TextSceneSaver::writeSceneNode(), and Lamp::BinarySceneSaver::writeSceneNode(). |
|
ワールド行列の取得
Definition at line 95 of file SceneNode.h. Referenced by Lamp::FixedShader::setMatrixFixed(), Lamp::InformationRenderer::setupAxis(), Lamp::InformationRenderer::setupBone(), traverse(), and Lamp::LODSceneNode::traverse(). |
|
変更フラグの取得
Definition at line 184 of file SceneNode.h. References Lamp::Axis3::isChanged(). |
|
有効、無効の取得
Definition at line 203 of file SceneNode.h. Referenced by Lamp::SceneNodeAnimation::animate(), Lamp::CollisionConverter::convertNode(), Lamp::TextSceneLoader::load(), Lamp::BinarySceneLoader::load(), traverse(), Lamp::LODSceneNode::traverse(), Lamp::TextSceneSaver::writeLODSceneNode(), Lamp::BinarySceneSaver::writeLODSceneNode(), Lamp::TextSceneSaver::writeSceneNode(), and Lamp::BinarySceneSaver::writeSceneNode(). |
|
グローバルでの変更フラグの取得
Definition at line 190 of file SceneNode.h. Referenced by traverse(). |
|
グローバルでの有効、無効の取得
Definition at line 209 of file SceneNode.h. Referenced by Lamp::InformationRenderer::setupAxis(), traverse(), and Lamp::LODSceneNode::traverse(). |
|
グローバルでスケールを使用しているか
Definition at line 126 of file SceneNode.h. Referenced by Lamp::DrawRequest::requireNormalize(), and traverse(). |
|
レベルオブディティールシーンノードかどうか
Reimplemented in Lamp::LODSceneNode. Definition at line 295 of file SceneNode.h. Referenced by castLODSceneNode(), Lamp::TextSceneSaver::writeSceneNodeList(), and Lamp::BinarySceneSaver::writeSceneNodeList(). |
|
スケールを使用しているか
Definition at line 120 of file SceneNode.h. References Lamp::Axis3::isScaled(). Referenced by traverse(), and Lamp::LODSceneNode::traverse(). |
|
シーンノードかどうか
Reimplemented from Lamp::SceneObject. Definition at line 288 of file SceneNode.h. |
|
再帰的破棄
Definition at line 55 of file SceneNode.cpp. References Assert, Lamp::SceneObjectManagerTemplate< SceneNode >::destroy(), getParent(), Lamp::Scene::getRootNode(), Lamp::SceneObject::getScene(), Lamp::Scene::getSceneNodeManager(), NULL, recursiveDestroyChildren(), and removeSceneNode(). Referenced by recursiveDestroyChildren(). |
|
子の再帰的破棄
Definition at line 68 of file SceneNode.cpp. References Assert, getSceneLeaf(), getSceneLeafCount(), getSceneNode(), getSceneNodeCount(), NULL, and recursiveDestroy(). Referenced by recursiveDestroy(). |
|
親の削除
Definition at line 389 of file SceneNode.h. References Assert, NULL, and setGlobalEnabled(). Referenced by removeSceneNode(). |
|
シーンリーフの削除
Definition at line 168 of file SceneNode.cpp. References Lamp::ArrayList< SceneLeaf * >::removeByValue(), and Lamp::SceneLeaf::removeParent(). Referenced by Lamp::SceneNodeManager::clear(), and Lamp::SceneLeaf::recursiveDestroy(). |
|
シーンノードの削除
Definition at line 227 of file SceneNode.h. References Lamp::ArrayList< SceneNode * >::removeByValue(), and removeParent(). Referenced by Lamp::SceneNodeManager::clear(), and recursiveDestroy(). |
|
有効、無効の設定
Definition at line 197 of file SceneNode.h. Referenced by copySceneNodeValue(), Lamp::TextSceneLoader::load(), Lamp::BinarySceneLoader::load(), Lamp::TextSceneLoader::readLODSceneNode(), Lamp::BinarySceneLoader::readLODSceneNode(), Lamp::TextSceneLoader::readSceneNode(), and Lamp::BinarySceneLoader::readSceneNode(). |
|
グローバルでの変更フラグの設定
Definition at line 369 of file SceneNode.h. Referenced by traverse(), and Lamp::LODSceneNode::traverse(). |
|
グローバルでの有効、無効の設定
Definition at line 353 of file SceneNode.h. Referenced by removeParent(), setParent(), traverse(), and Lamp::LODSceneNode::traverse(). |
|
グローバルでスケールを使用しているかの設定
Definition at line 361 of file SceneNode.h. Referenced by traverse(), and Lamp::LODSceneNode::traverse(). |
|
親の設定
Definition at line 378 of file SceneNode.h. References Assert, NULL, and setGlobalEnabled(). Referenced by addSceneNode(). |
|
四元数回転の設定
Definition at line 150 of file SceneNode.h. References Lamp::Axis3::setRotationQuaternion(). Referenced by Lamp::SceneNodeAnimation::animate(). |
|
XYZ回転の設定.
Definition at line 133 of file SceneNode.h. References Lamp::Axis3::setRotationXYZ(). Referenced by Lamp::SceneNodeAnimation::animate(), Lamp::TextSceneLoader::readLODSceneNode(), Lamp::BinarySceneLoader::readLODSceneNode(), Lamp::TextSceneLoader::readSceneNode(), and Lamp::BinarySceneLoader::readSceneNode(). |
|
スケールの設定
Definition at line 108 of file SceneNode.h. References Lamp::Axis3::setScale(). Referenced by Lamp::SceneNodeAnimation::animate(), Lamp::TextSceneLoader::readLODSceneNode(), Lamp::BinarySceneLoader::readLODSceneNode(), Lamp::TextSceneLoader::readSceneNode(), and Lamp::BinarySceneLoader::readSceneNode(). |
|
移動の設定
Definition at line 167 of file SceneNode.h. References Lamp::Axis3::setTranslation(). Referenced by Lamp::SceneNodeAnimation::animate(), Lamp::TextSceneLoader::readLODSceneNode(), Lamp::BinarySceneLoader::readLODSceneNode(), Lamp::TextSceneLoader::readSceneNode(), and Lamp::BinarySceneLoader::readSceneNode(). |
|
走査
Reimplemented in Lamp::LODSceneNode. Definition at line 113 of file SceneNode.cpp. References calcMatrix(), getSceneLeaf(), getSceneLeafCount(), getSceneNode(), getSceneNodeCount(), isEnabled(), isGlobalEnabled(), isScaled(), setGlobalChanged(), setGlobalEnabled(), setGlobalScaled(), Lamp::SceneLeaf::traverse(), and traverse(). |