#include <CharacterModel.h>
Inheritance diagram for Lamp::CharacterModel:
Public Member Functions | |
virtual bool | isCharacterModel () const |
キャラクタモデルかどうか | |
virtual SceneLeaf * | copy (u_int copyMask=0) const |
コピー | |
virtual Model * | copyModel (u_int copyMask=0) const |
モデルのコピー | |
virtual CharacterModel * | copyCharacterModel (u_int copyMask=0) const |
キャラクタモデルのコピー | |
virtual void | buildBoneMatrix (bool forceCalculation=false) |
ボーン行列の構築 | |
virtual bool | isBoneScaled () const |
ボーンにスケールが含まれるか | |
virtual const Matrix34 * | getPositionDeformMatrixArray (bool forceCalculation=false) |
位置変形行列配列の取得 | |
virtual const Matrix33 * | getNormalDeformMatrixArray (bool forceCalculation=false) |
法線変形行列配列の取得 | |
virtual Bone * | createBone (const String &boneName) |
ボーンの作成 | |
virtual void | destroyBone (Bone *bone) |
ボーンの破棄 | |
virtual int | clearBone () |
ボーンのクリア | |
virtual int | getBoneCount () const |
ボーン数の取得 | |
virtual Bone * | getBone (int index) const |
ボーンの取得 | |
virtual int | getBoneIndex (Bone *bone) const |
ボーンインデックスの取得 | |
virtual Bone * | searchBone (const String &boneName) const |
ボーンの検索 | |
virtual void | addMesh (Mesh *mesh) |
メッシュの追加 | |
Static Public Attributes | |
const int | maxBoneCount = 64 |
最大ボーン数 | |
Protected Member Functions | |
CharacterModel (const String &name, Scene *scene) | |
コンストラクタ | |
virtual | ~CharacterModel () |
デストラクタ | |
virtual void | buildDeformMatrixArray () |
変形行列配列の構築 | |
Protected Attributes | |
HashMap< String, Bone * > | boneHash_ |
ボーンハッシュ | |
ArrayList< Bone * > | boneArray_ |
ボーン配列 | |
Matrix34 * | positionDeformMatrixArray_ |
位置変形行列配列 | |
Matrix33 * | normalDeformMatrixArray_ |
法線変形行列配列 | |
int | deformMatrixArraySize_ |
変形行列配列サイズ | |
int | buildBoneMatrixTick_ |
ボーン行列の構築チック | |
int | deformMatrixArrayTick_ |
変形行列配列チック | |
bool | boneScaled_ |
ボーンにスケールが含まれるか | |
Friends | |
class | ModelManager |
Definition at line 37 of file CharacterModel.h.
|
コンストラクタ
Definition at line 35 of file CharacterModel.cpp. References buildBoneMatrixTick_, deformMatrixArrayTick_, Lamp::Scene::getTick(), NULL, and Lamp::SceneObject::scene_. |
|
メッシュの追加
Reimplemented from Lamp::Model. Definition at line 178 of file CharacterModel.cpp. References Assert, and Lamp::Mesh::isCharacterMesh(). |
|
ボーン行列の構築
Definition at line 79 of file CharacterModel.cpp. References boneScaled_, Lamp::Bone::buildBoneMatrix(), buildBoneMatrixTick_, getBone(), Lamp::Scene::getTick(), Lamp::SceneObject::scene_, and u_int. Referenced by Lamp::PrimitiveDrawRequestBuilder::buildBone(), and Lamp::CharacterMesh::deform(). |
|
ボーンのクリア
Definition at line 169 of file CharacterModel.cpp. References boneArray_, boneHash_, Lamp::ArrayList< Bone * >::clear(), Lamp::HashMap< String, Bone * >::clear(), getBone(), and getBoneCount(). Referenced by ~CharacterModel(). |
|
コピー
Implements Lamp::SceneLeaf. Definition at line 57 of file CharacterModel.h. References copyCharacterModel(). |
|
キャラクタモデルのコピー
Definition at line 51 of file CharacterModel.cpp. References Lamp::Bone::addBone(), Lamp::Bone::copyBoneValue(), copyModel(), Lamp::Model::copyModelValue(), createBone(), Lamp::ModelManager::createCharacterModel(), Lamp::Bone::getBone(), getBone(), Lamp::Bone::getBoneCount(), getBoneCount(), Lamp::Scene::getModelManager(), Lamp::Bone::getName(), Lamp::SceneObject::name_, Lamp::SceneObjectManagerTemplate< Model >::rename(), Lamp::SceneObject::scene_, and searchBone(). Referenced by copy(), and copyModel(). |
|
モデルのコピー
Implements Lamp::Model. Definition at line 66 of file CharacterModel.h. References copyCharacterModel(). Referenced by copyCharacterModel(). |
|
ボーンの作成 ボーンを作成し、ボーンリストの最後尾に追加します。 すでに同じ名前のボーンが存在するとエラーになります。 空文字列を名前に指定するとエラーになります。
Definition at line 140 of file CharacterModel.cpp. References Lamp::ArrayList< Bone * >::add(), Assert, boneArray_, boneHash_, ErrorOut, Lamp::String::getBytes(), Lamp::ArrayList< Bone * >::getCount(), Lamp::String::getSize(), maxBoneCount, NULL, and Lamp::HashMap< String, Bone * >::put(). Referenced by copyCharacterModel(), Lamp::TextSceneLoader::readBone(), and Lamp::BinarySceneLoader::readBone(). |
|
ボーンの破棄
Definition at line 159 of file CharacterModel.cpp. References boneArray_, boneHash_, ErrorOut, Lamp::String::getBytes(), Lamp::Bone::getName(), NULL, Lamp::HashMap< String, Bone * >::remove(), and Lamp::ArrayList< Bone * >::removeByValue(). |
|
ボーンの取得
Definition at line 144 of file CharacterModel.h. References Assert, boneArray_, Lamp::ArrayList< Bone * >::get(), and Lamp::ArrayList< Bone * >::getCount(). Referenced by Lamp::PrimitiveDrawRequestBuilder::buildBone(), buildBoneMatrix(), buildDeformMatrixArray(), clearBone(), copyCharacterModel(), getBoneIndex(), Lamp::BinarySceneLoader::readCharacterModel(), Lamp::TextSceneSaver::writeCharacterModel(), and Lamp::BinarySceneSaver::writeCharacterModel(). |
|
ボーン数の取得
Definition at line 137 of file CharacterModel.h. References boneArray_, and Lamp::ArrayList< Bone * >::getCount(). Referenced by Lamp::PrimitiveDrawRequestBuilder::buildBone(), buildDeformMatrixArray(), clearBone(), copyCharacterModel(), getBoneIndex(), Lamp::TextSceneSaver::writeCharacterModel(), and Lamp::BinarySceneSaver::writeCharacterModel(). |
|
ボーンインデックスの取得
Definition at line 155 of file CharacterModel.h. References getBone(), and getBoneCount(). Referenced by Lamp::BinarySceneSaver::writeBoneLink(). |
|
法線変形行列配列の取得
Definition at line 100 of file CharacterModel.cpp. References Assert, boneScaled_, buildDeformMatrixArray(), deformMatrixArrayTick_, Lamp::Scene::getTick(), normalDeformMatrixArray_, and Lamp::SceneObject::scene_. Referenced by Lamp::CharacterMesh::deform(). |
|
位置変形行列配列の取得
Definition at line 88 of file CharacterModel.cpp. References buildDeformMatrixArray(), deformMatrixArrayTick_, Lamp::Scene::getTick(), positionDeformMatrixArray_, and Lamp::SceneObject::scene_. Referenced by Lamp::CharacterMesh::deform(). |
|
ボーンにスケールが含まれるか
Definition at line 88 of file CharacterModel.h. References boneScaled_. Referenced by Lamp::CharacterMesh::deform(). |
|
キャラクタモデルかどうか
Reimplemented from Lamp::Model. Definition at line 49 of file CharacterModel.h. |
|
ボーンの検索
Definition at line 168 of file CharacterModel.h. References boneHash_, and Lamp::HashMap< String, Bone * >::get(). Referenced by Lamp::CharacterModelAnimation::bind(), copyCharacterModel(), and Lamp::TextSceneLoader::readCharacterModel(). |