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_MODEL_INSTANCE_H_ 00026 #define TRANSLATION_MODEL_INSTANCE_H_ 00027 00028 #include "Translator/Instance/TranslationInstance.h" 00029 00030 namespace Lamp{ 00031 class Model; 00032 } 00033 00034 namespace LampForMaya{ 00035 00036 //------------------------------------------------------------------------------ 00037 /** 00038 * 変換モデルインスタンス 00039 */ 00040 class TranslationModelInstance : public TranslationInstance{ 00041 friend class TranslationInstanceManager; 00042 public: 00043 /** 00044 * デストラクタ 00045 */ 00046 virtual ~TranslationModelInstance(); 00047 00048 //-------------------------------------------------------------------------- 00049 /** 00050 * Lampへの変換 00051 * @param scene シーン 00052 * @return 成功すればtrue 00053 */ 00054 virtual bool convertToLamp(Scene* scene); 00055 00056 /** 00057 * アニメーションの変換 00058 * @param animationManager アニメーションマネージャ 00059 * @param animationSet アニメーションセット 00060 * @return 成功すればtrue 00061 */ 00062 virtual bool convertAnimation( 00063 AnimationManager* animationManager, AnimationSet* animationSet); 00064 00065 //-------------------------------------------------------------------------- 00066 // RTTI 00067 //-------------------------------------------------------------------------- 00068 /** 00069 * 変換モデルインスタンスかどうか 00070 * @return 変換モデルインスタンスならtrue 00071 */ 00072 virtual bool isTranslationModelInstance() const{ return true; } 00073 00074 protected: 00075 //-------------------------------------------------------------------------- 00076 /** 00077 * コンストラクタ 00078 * @param initializePath 初期化するDagパス 00079 * @param initializeName 初期化する名前 00080 */ 00081 TranslationModelInstance( 00082 const MDagPath& initializePath, const String& initializeName); 00083 00084 /// コピー元 00085 Model* source_; 00086 /// コピー先 00087 Model* destination_; 00088 00089 }; 00090 00091 //------------------------------------------------------------------------------ 00092 } // End of namespace LampForMaya 00093 #endif // End of TRANSLATION_MODEL_INSTANCE_H_ 00094 //------------------------------------------------------------------------------