#include <BinarySceneSaver.h>
Public Member Functions | |
BinarySceneSaver () | |
コンストラクタ | |
virtual | ~BinarySceneSaver () |
デストラクタ | |
virtual void | save (const String &filePath, Scene *scene) |
セーブ | |
virtual void | save (BinaryWriter *binaryWriter, Scene *scene, const String &basePath="") |
セーブ | |
Protected Member Functions | |
virtual void | writeHeader () |
ヘッダの書き出し | |
virtual int | writeObjectList () |
オブジェクトリストの書き出し | |
virtual void | writeLink (int linkCount) |
リンクの書き出し | |
virtual void | writeFog (Fog *fog) |
フォグの書き出し | |
virtual void | writeSceneNodeList () |
シーンノードリストの書き出し | |
virtual void | writeSceneNode (SceneNode *sceneNode) |
シーンノードの書き出し | |
virtual void | writeLODSceneNode (LODSceneNode *sceneNode) |
レベルオブディティールシーンノードの書き出し | |
virtual void | writeLightList () |
ライトリストの書き出し | |
virtual void | writeLight (Light *light) |
ライトの書き出し | |
virtual void | writeAmbientLight (AmbientLight *light) |
アンビエントライトの書き出し | |
virtual void | writeDirectionalLight (DirectionalLight *light) |
ディレクショナルライトの書き出し | |
virtual void | writePointLight (PointLight *light) |
ポイントライトの書き出し | |
virtual void | writeModelList () |
モデルリストの書き出し | |
virtual void | writeStandardModel (StandardModel *model) |
標準モデルの書き出し | |
virtual void | writeCharacterModel (CharacterModel *model) |
キャラクタモデルの書き出し | |
virtual void | writeBone (Bone *bone) |
ボーンの書き出し | |
virtual void | writeBoneLink (CharacterModel *model, Bone *bone) |
ボーンリンクの書き出し | |
virtual void | writeMeshList () |
メッシュリストの書き出し | |
virtual void | writeRigidMesh (RigidMesh *mesh) |
剛体メッシュの書き出し | |
virtual void | writeCharacterMesh (CharacterMesh *mesh) |
キャラクタメッシュの書き出し | |
virtual void | writeMeshDataList () |
メッシュデータリストの書き出し | |
virtual void | writeMeshData (MeshData *meshData) |
メッシュデータの書き出し | |
virtual void | writeMaterialList () |
マテリアルリストの書き出し | |
virtual void | writeMaterial (const Material *material) |
マテリアルの書き出し | |
virtual void | writeBasicMaterial (const BasicMaterial *material) |
基本マテリアルの書き出し | |
virtual void | writeTextureList () |
テクスチャリストの書き出し | |
virtual void | writeSurfaceTexture (const SurfaceTexture *texture) |
サーフェーステクスチャの書き出し | |
virtual void | writePicture (const Picture *picture) |
ピクチャの書き出し | |
virtual void | writeSceneNodeLink (SceneNode *sceneNode) |
シーンノードリンクの書き出し | |
virtual void | writeModelLink (const Model *model) |
モデルリンクの書き出し | |
virtual void | writeMeshLink (const Mesh *mesh) |
メッシュリンクの書き出し | |
virtual void | writeMaterialLinkList () |
マテリアルリンクリストの書き出し | |
virtual void | writeBasicMaterialLink (const BasicMaterial *material) |
基本マテリアルリンクの書き出し | |
virtual void | writeTextureLink (const Texture *texture) |
テクスチャリンクの書き出し | |
virtual void | writeString (const String &string) |
文字列の書き出し | |
virtual void | writeVector3 (const Vector3 &vector) |
三次元ベクトルの書き出し | |
virtual void | writeMatrix34 (const Matrix34 &matrix) |
3×4行列の書き出し | |
virtual void | writeColor4c (const Color4c &color) |
四要素整数カラー値の書き出し | |
virtual void | writeColor3f (const Color3f &color) |
三要素実数カラー値の書き出し | |
virtual void | writeColor4f (const Color4f &color) |
四要素実数カラー値の書き出し | |
virtual void | writeTexCoord2 (const TexCoord2 &uv) |
二次元テクスチャ座標値の書き出し | |
virtual void | writeAxisAlignedBox (const AxisAlignedBox &box) |
軸沿いボックスの書き出し | |
virtual void | writeSphere (const Sphere &sphere) |
球の書き出し | |
virtual void | align () |
アライメントを取る | |
virtual void | writeID (const String &id) |
IDの書き出し. | |
virtual int | startBlock (const String &blockName) |
ブロックの開始 | |
virtual void | endBlock (int blockStartAddress) |
ブロックの終了 | |
Protected Attributes | |
BinaryWriter * | writer_ |
ライタ | |
String | basePath_ |
ベースパス | |
Scene * | scene_ |
シーン | |
SceneNodeManager * | sceneNodeManager_ |
シーンノードマネージャ | |
LightManager * | lightManager_ |
ライトマネージャ | |
ModelManager * | modelManager_ |
モデルマネージャ | |
MeshManager * | meshManager_ |
メッシュマネージャ | |
MeshDataManager * | meshDataManager_ |
メッシュデータマネージャ | |
MaterialManager * | materialManager_ |
マテリアルマネージャ | |
TextureManager * | textureManager_ |
テクスチャマネージャ | |
PictureManager * | pictureManager_ |
ピクチャマネージャ |
Definition at line 66 of file BinarySceneSaver.h.
|
ブロックの終了
Definition at line 901 of file BinarySceneSaver.cpp. References align(), Lamp::Writer::getPosition(), Lamp::Writer::setPosition(), Lamp::BinaryWriter::writeInt(), and writer_. Referenced by writeAmbientLight(), writeBasicMaterial(), writeBasicMaterialLink(), writeCharacterMesh(), writeCharacterModel(), writeDirectionalLight(), writeFog(), writeLightList(), writeLink(), writeLODSceneNode(), writeMaterialLinkList(), writeMaterialList(), writeMeshDataList(), writeMeshList(), writeModelList(), writeObjectList(), writePointLight(), writeRigidMesh(), writeSceneNode(), writeSceneNodeList(), writeStandardModel(), writeSurfaceTexture(), and writeTextureList(). |
|
セーブ
Definition at line 62 of file BinarySceneSaver.cpp. References basePath_, lightManager_, materialManager_, meshDataManager_, meshManager_, modelManager_, pictureManager_, scene_, sceneNodeManager_, textureManager_, writeHeader(), writeLink(), writeObjectList(), and writer_. |
|
セーブ
Definition at line 54 of file BinarySceneSaver.cpp. References Lamp::FilePath::getFolderPath(). |
|
ブロックの開始
Definition at line 891 of file BinarySceneSaver.cpp. References align(), Lamp::Writer::getPosition(), u_int, writeID(), Lamp::BinaryWriter::writeInt(), and writer_. Referenced by writeAmbientLight(), writeBasicMaterial(), writeBasicMaterialLink(), writeCharacterMesh(), writeCharacterModel(), writeDirectionalLight(), writeFog(), writeLightList(), writeLink(), writeLODSceneNode(), writeMaterialLinkList(), writeMaterialList(), writeMeshDataList(), writeMeshList(), writeModelList(), writeObjectList(), writePointLight(), writeRigidMesh(), writeSceneNode(), writeSceneNodeList(), writeStandardModel(), writeSurfaceTexture(), and writeTextureList(). |
|
アンビエントライトの書き出し
Definition at line 310 of file BinarySceneSaver.cpp. References endBlock(), Lamp::AmbientLight::getColor(), Lamp::SceneObject::getName(), startBlock(), writeColor3f(), writeLight(), and writeString(). Referenced by writeLightList(). |
|
軸沿いボックスの書き出し
Definition at line 864 of file BinarySceneSaver.cpp. References Lamp::Writer::writeBytes(), and writer_. Referenced by writeMeshData(). |
|
基本マテリアルの書き出し
Definition at line 602 of file BinarySceneSaver.cpp. References align(), endBlock(), Lamp::BasicMaterial::getAmbientColor(), Lamp::BasicMaterial::getBaseUVIndex(), Lamp::BasicMaterial::getDiffuseColor(), Lamp::BasicMaterial::getEmissiveColor(), Lamp::BasicMaterial::getGlossUVIndex(), Lamp::BasicMaterial::getLightUVIndex(), Lamp::BasicMaterial::getSpecularColor(), Lamp::BasicMaterial::getSpecularPower(), Lamp::BasicMaterial::getStainUVIndex(), startBlock(), writeColor3f(), Lamp::BinaryWriter::writeFloat(), Lamp::BinaryWriter::writeInt(), writeMaterial(), and writer_. Referenced by writeMaterialList(). |
|
基本マテリアルリンクの書き出し
Definition at line 779 of file BinarySceneSaver.cpp. References align(), endBlock(), Lamp::BasicMaterial::getBaseTexture(), Lamp::BasicMaterial::getGlossTexture(), Lamp::BasicMaterial::getLightTexture(), Lamp::SceneObject::getName(), Lamp::BasicMaterial::getStainTexture(), NULL, startBlock(), Lamp::BinaryWriter::writeBool(), writer_, and writeString(). Referenced by writeMaterialLinkList(). |
|
ボーンの書き出し
Definition at line 410 of file BinarySceneSaver.cpp. References Lamp::Bone::getInversePoseMatrix(), Lamp::Bone::getName(), Lamp::Bone::getRotationXYZ(), Lamp::Bone::getScale(), Lamp::Bone::getTranslation(), writeMatrix34(), writeString(), and writeVector3(). Referenced by writeCharacterModel(). |
|
ボーンリンクの書き出し
Definition at line 424 of file BinarySceneSaver.cpp. References Lamp::Bone::getBone(), Lamp::Bone::getBoneCount(), Lamp::CharacterModel::getBoneIndex(), Lamp::BinaryWriter::writeInt(), and writer_. Referenced by writeCharacterModel(). |
|
キャラクタメッシュの書き出し
Definition at line 463 of file BinarySceneSaver.cpp. References endBlock(), Lamp::SceneObject::getName(), Lamp::Mesh::isEnabled(), startBlock(), Lamp::BinaryWriter::writeBool(), writer_, and writeString(). Referenced by writeMeshList(). |
|
キャラクタモデルの書き出し
Definition at line 390 of file BinarySceneSaver.cpp. References align(), endBlock(), Lamp::CharacterModel::getBone(), Lamp::CharacterModel::getBoneCount(), Lamp::SceneObject::getName(), Lamp::SceneLeaf::isEnabled(), startBlock(), writeBone(), writeBoneLink(), Lamp::BinaryWriter::writeBool(), Lamp::BinaryWriter::writeInt(), writer_, and writeString(). Referenced by writeModelList(). |
|
三要素実数カラー値の書き出し
Definition at line 849 of file BinarySceneSaver.cpp. References Lamp::Color3f::array, Lamp::Writer::writeBytes(), and writer_. Referenced by writeAmbientLight(), writeBasicMaterial(), writeDirectionalLight(), and writePointLight(). |
|
四要素整数カラー値の書き出し
Definition at line 844 of file BinarySceneSaver.cpp. References Lamp::Color4c::array, Lamp::Writer::writeBytes(), and writer_. Referenced by writeFog(). |
|
四要素実数カラー値の書き出し
Definition at line 854 of file BinarySceneSaver.cpp. References Lamp::Color4f::array, Lamp::Writer::writeBytes(), and writer_. |
|
ディレクショナルライトの書き出し
Definition at line 322 of file BinarySceneSaver.cpp. References endBlock(), Lamp::DirectionalLight::getDiffuseColor(), Lamp::DirectionalLight::getDirection(), Lamp::SceneObject::getName(), Lamp::DirectionalLight::getSpecularColor(), startBlock(), writeColor3f(), writeLight(), writeString(), and writeVector3(). Referenced by writeLightList(). |
|
フォグの書き出し
Definition at line 206 of file BinarySceneSaver.cpp. References endBlock(), Lamp::Fog::getColor(), Lamp::Fog::getDensity(), Lamp::Fog::getFar(), Lamp::Fog::getMode(), Lamp::Fog::getNear(), Lamp::Fog::isEnabled(), startBlock(), Lamp::BinaryWriter::writeBool(), writeColor4c(), Lamp::BinaryWriter::writeFloat(), Lamp::BinaryWriter::writeInt(), and writer_. Referenced by writeObjectList(). |
|
IDの書き出し.
Definition at line 881 of file BinarySceneSaver.cpp. References Assert, Lamp::String::charAt(), Lamp::String::getSize(), u_char, Lamp::Writer::writeBytes(), and writer_. Referenced by startBlock(), and writeHeader(). |
|
ライトの書き出し
Definition at line 302 of file BinarySceneSaver.cpp. References Lamp::Light::getLightMask(), Lamp::SceneLeaf::isEnabled(), Lamp::BinaryWriter::writeBool(), writer_, and Lamp::BinaryWriter::writeUInt(). Referenced by writeAmbientLight(), writeDirectionalLight(), and writePointLight(). |
|
|
レベルオブディティールシーンノードの書き出し
Definition at line 258 of file BinarySceneSaver.cpp. References endBlock(), Lamp::LODSceneNode::getLODThreshold(), Lamp::LODSceneNode::getLODThresholdCount(), Lamp::SceneObject::getName(), Lamp::SceneNode::getRotationXYZ(), Lamp::SceneNode::getScale(), Lamp::SceneNode::getTranslation(), Lamp::SceneNode::isEnabled(), startBlock(), Lamp::BinaryWriter::writeBool(), Lamp::BinaryWriter::writeFloat(), Lamp::BinaryWriter::writeInt(), writer_, writeString(), and writeVector3(). Referenced by writeSceneNodeList(). |
|
マテリアルの書き出し
Definition at line 576 of file BinarySceneSaver.cpp. References align(), Lamp::Material::getAlpha(), Lamp::Material::getBlendDestination(), Lamp::Material::getBlendMode(), Lamp::Material::getBlendSource(), Lamp::Material::getFogOption(), Lamp::Material::getLightMask(), Lamp::SceneObject::getName(), Lamp::Material::getPriority(), Lamp::Material::useZTest(), Lamp::Material::useZWrite(), Lamp::BinaryWriter::writeBool(), Lamp::BinaryWriter::writeFloat(), Lamp::BinaryWriter::writeInt(), writer_, writeString(), and Lamp::BinaryWriter::writeUInt(). Referenced by writeBasicMaterial(). |
|
3×4行列の書き出し
Definition at line 839 of file BinarySceneSaver.cpp. References Lamp::Matrix34::array, Lamp::Writer::writeBytes(), and writer_. Referenced by writeBone(). |
|
メッシュデータの書き出し
Definition at line 485 of file BinarySceneSaver.cpp. References align(), Lamp::MeshData::getBoneIndexArray(), Lamp::MeshData::getBonesPerVertex(), Lamp::MeshData::getBoundingBox(), Lamp::MeshData::getBoundingSphere(), Lamp::MeshData::getColorArray(), Lamp::SceneObject::getName(), Lamp::MeshData::getNormalArray(), Lamp::MeshData::getPositionArray(), Lamp::MeshData::getPrimitiveType(), Lamp::MeshData::getTexCoordArray(), Lamp::MeshData::getTexCoordArraySize(), Lamp::MeshData::getTexCoordSetCount(), Lamp::MeshData::getTexCoordType(), Lamp::MeshData::getVertexCount(), Lamp::MeshData::getVertexIndexArray(), Lamp::MeshData::getVertexIndexCount(), Lamp::MeshData::getWeightArray(), Lamp::MeshData::getWeightsPerVertex(), Lamp::MeshData::hasColor(), Lamp::MeshData::hasNormal(), u_char, u_short, writeAxisAlignedBox(), Lamp::BinaryWriter::writeBool(), Lamp::Writer::writeBytes(), Lamp::BinaryWriter::writeInt(), writer_, writeSphere(), and writeString(). Referenced by writeMeshDataList(). |
|
メッシュリンクの書き出し
Definition at line 744 of file BinarySceneSaver.cpp. References align(), Lamp::Mesh::getMaterial(), Lamp::Mesh::getMeshData(), Lamp::SceneObject::getName(), NULL, Lamp::BinaryWriter::writeBool(), writer_, and writeString(). Referenced by writeLink(). |
|
モデルリンクの書き出し
Definition at line 730 of file BinarySceneSaver.cpp. References Lamp::Model::getMesh(), Lamp::Model::getMeshCount(), Lamp::SceneObject::getName(), Lamp::BinaryWriter::writeInt(), writer_, and writeString(). Referenced by writeLink(). |
|
オブジェクトリストの書き出し
Definition at line 98 of file BinarySceneSaver.cpp. References endBlock(), Lamp::SceneObjectManagerTemplate< Picture >::get(), Lamp::SceneObjectManagerTemplate< Picture >::getCount(), Lamp::SceneObjectManagerTemplate< Texture >::getCount(), Lamp::SceneObjectManagerTemplate< Material >::getCount(), Lamp::SceneObjectManagerTemplate< MeshData >::getCount(), Lamp::SceneObjectManagerTemplate< Mesh >::getCount(), Lamp::SceneObjectManagerTemplate< Model >::getCount(), Lamp::SceneObjectManagerTemplate< Light >::getCount(), Lamp::SceneObjectManagerTemplate< SceneNode >::getCount(), Lamp::Scene::getFog(), lightManager_, materialManager_, meshDataManager_, meshManager_, modelManager_, pictureManager_, scene_, sceneNodeManager_, startBlock(), textureManager_, writeFog(), writeLightList(), writeMaterialList(), writeMeshDataList(), writeMeshList(), writeModelList(), writePicture(), writeSceneNodeList(), and writeTextureList(). Referenced by save(). |
|
ピクチャの書き出し
Definition at line 666 of file BinarySceneSaver.cpp. References basePath_, Lamp::Picture::castPictureRGB8(), Lamp::Picture::castPictureRGBA8(), ErrorOut, Lamp::String::getBytes(), Lamp::FilePath::getFolderPath(), Lamp::PictureRGBA8::getImage(), Lamp::PictureRGB8::getImage(), Lamp::SceneObject::getName(), Lamp::Picture::getPath(), Lamp::Picture::getSize(), Lamp::Picture::isPictureRGB8(), Lamp::Picture::isPictureRGBA8(), Lamp::TargaSaver::save(), and writeString(). Referenced by writeObjectList(). |
|
ポイントライトの書き出し
Definition at line 338 of file BinarySceneSaver.cpp. References endBlock(), Lamp::PointLight::getAttenuation0(), Lamp::PointLight::getAttenuation1(), Lamp::PointLight::getAttenuation2(), Lamp::PointLight::getDiffuseColor(), Lamp::SceneObject::getName(), Lamp::PointLight::getPosition(), Lamp::PointLight::getRange(), Lamp::PointLight::getSpecularColor(), startBlock(), writeColor3f(), Lamp::BinaryWriter::writeFloat(), writeLight(), writer_, writeString(), and writeVector3(). Referenced by writeLightList(). |
|
剛体メッシュの書き出し
Definition at line 453 of file BinarySceneSaver.cpp. References endBlock(), Lamp::SceneObject::getName(), Lamp::Mesh::isEnabled(), startBlock(), Lamp::BinaryWriter::writeBool(), writer_, and writeString(). Referenced by writeMeshList(). |
|
シーンノードの書き出し
Definition at line 242 of file BinarySceneSaver.cpp. References endBlock(), Lamp::SceneObject::getName(), Lamp::SceneNode::getRotationXYZ(), Lamp::SceneNode::getScale(), Lamp::SceneNode::getTranslation(), Lamp::SceneNode::isEnabled(), startBlock(), Lamp::BinaryWriter::writeBool(), writer_, writeString(), and writeVector3(). Referenced by writeSceneNodeList(). |
|
シーンノードリンクの書き出し
Definition at line 700 of file BinarySceneSaver.cpp. References Assert, Lamp::SceneObject::getName(), Lamp::SceneNode::getSceneLeaf(), Lamp::SceneNode::getSceneLeafCount(), Lamp::SceneNode::getSceneNode(), Lamp::SceneNode::getSceneNodeCount(), Lamp::SceneObject::isLight(), Lamp::SceneObject::isModel(), Lamp::BinaryWriter::writeInt(), writer_, and writeString(). Referenced by writeLink(). |
|
球の書き出し
Definition at line 869 of file BinarySceneSaver.cpp. References Lamp::Writer::writeBytes(), and writer_. Referenced by writeMeshData(). |
|
標準モデルの書き出し
Definition at line 380 of file BinarySceneSaver.cpp. References endBlock(), Lamp::SceneObject::getName(), Lamp::SceneLeaf::isEnabled(), startBlock(), Lamp::BinaryWriter::writeBool(), writer_, and writeString(). Referenced by writeModelList(). |
|
文字列の書き出し
Definition at line 826 of file BinarySceneSaver.cpp. References align(), Lamp::String::getBytes(), Lamp::String::getSize(), Lamp::Writer::writeBytes(), Lamp::BinaryWriter::writeInt(), and writer_. Referenced by writeAmbientLight(), writeBasicMaterialLink(), writeBone(), writeCharacterMesh(), writeCharacterModel(), writeDirectionalLight(), writeLODSceneNode(), writeMaterial(), writeMeshData(), writeMeshLink(), writeModelLink(), writePicture(), writePointLight(), writeRigidMesh(), writeSceneNode(), writeSceneNodeLink(), writeStandardModel(), writeSurfaceTexture(), and writeTextureLink(). |
|
サーフェーステクスチャの書き出し
Definition at line 648 of file BinarySceneSaver.cpp. References endBlock(), Lamp::SurfaceTexture::getAddressModeU(), Lamp::SurfaceTexture::getAddressModeV(), Lamp::SceneObject::getName(), Lamp::SurfaceTexture::getOffsetUV(), Lamp::SurfaceTexture::getRepeatUV(), startBlock(), Lamp::BinaryWriter::writeInt(), writer_, writeString(), and writeTexCoord2(). Referenced by writeTextureList(). |
|
二次元テクスチャ座標値の書き出し
Definition at line 859 of file BinarySceneSaver.cpp. References Lamp::TexCoord2::array, Lamp::Writer::writeBytes(), and writer_. Referenced by writeSurfaceTexture(). |
|
テクスチャリンクの書き出し
Definition at line 810 of file BinarySceneSaver.cpp. References Lamp::SceneObject::getName(), Lamp::Texture::getPicture(), Lamp::Texture::getPictureCount(), Lamp::BinaryWriter::writeInt(), writer_, and writeString(). Referenced by writeLink(). |
|
三次元ベクトルの書き出し
Definition at line 834 of file BinarySceneSaver.cpp. References Lamp::Vector3::array, Lamp::Writer::writeBytes(), and writer_. Referenced by writeBone(), writeDirectionalLight(), writeLODSceneNode(), writePointLight(), and writeSceneNode(). |