00001 //------------------------------------------------------------------------------ 00002 // Lamp : Open source game middleware 00003 // Copyright (C) 2004 Junpei Ohtani ( Email : junpee@users.sourceforge.jp ) 00004 // 00005 // This library is free software; you can redistribute it and/or 00006 // modify it under the terms of the GNU Lesser General Public 00007 // License as published by the Free Software Foundation; either 00008 // version 2.1 of the License, or (at your option) any later version. 00009 // 00010 // This library is distributed in the hope that it will be useful, 00011 // but WITHOUT ANY WARRANTY; without even the implied warranty of 00012 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00013 // Lesser General Public License for more details. 00014 // 00015 // You should have received a copy of the GNU Lesser General Public 00016 // License along with this library; if not, write to the Free Software 00017 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 00018 //------------------------------------------------------------------------------ 00019 00020 /** @file 00021 * 変換標準モデルヘッダ 00022 * @author Junpee 00023 */ 00024 00025 #ifndef TRANSLATION_STANDARD_MODEL_H_ 00026 #define TRANSLATION_STANDARD_MODEL_H_ 00027 00028 #include <Translator/Model/TranslationModel.h> 00029 00030 namespace LampForMaya{ 00031 00032 class TranslationRigidMesh; 00033 00034 //------------------------------------------------------------------------------ 00035 /** 00036 * 変換標準モデル 00037 */ 00038 class TranslationStandardModel : public TranslationModel{ 00039 friend class TranslationModelManager; 00040 public: 00041 /** 00042 * デストラクタ 00043 */ 00044 virtual ~TranslationStandardModel(); 00045 00046 /** 00047 * 標準モデルかどうか 00048 * @return 標準モデルならtrue 00049 */ 00050 virtual bool isStandardStandardModel() const{ return true; } 00051 00052 //-------------------------------------------------------------------------- 00053 /** 00054 * 分析 00055 * @param meshManager メッシュマネージャ 00056 * @return 成功すればtrue 00057 */ 00058 virtual bool analyze(TranslationMeshManager* meshManager); 00059 00060 /** 00061 * Lampへの変換 00062 * @param scene シーン 00063 * @return 成功すればtrue 00064 */ 00065 virtual bool convertToLamp(Scene* scene); 00066 00067 //-------------------------------------------------------------------------- 00068 00069 protected: 00070 /** 00071 * コンストラクタ 00072 * @param initializeObject 初期化するオブジェクト 00073 * @param initializeName 初期化する名前 00074 */ 00075 TranslationStandardModel( 00076 const MObject& initializeObject, const String& initializeName); 00077 00078 private: 00079 // コピーコンストラクタの隠蔽 00080 TranslationStandardModel(const TranslationStandardModel& copy); 00081 00082 // 代入コピーの隠蔽 00083 void operator =(const TranslationStandardModel& copy); 00084 00085 // 変換メッシュ配列 00086 TranslationRigidMesh** transMeshes_; 00087 }; 00088 00089 //------------------------------------------------------------------------------ 00090 } // End of namespace LampForMaya 00091 #endif // End of TRANSLATION_STANDARD_MODEL_H_ 00092 //------------------------------------------------------------------------------ 00093