//  // // # # ### # # -= Nuclex Project =-  // // ## # # # ## ## SceneServer.h - Scene server  // // ### # # ###  // // # ### # ### Scene graph management  // // # ## # # ## ##  // // # # ### # # R1 (C)2003 Markus Ewald -> License.txt  // //  // #ifndef NUCLEX_SCENE_XMODEL_H #define NUCLEX_SCENE_XMODEL_H #include "Direct3D9Plugin/Direct3D9Plugin.h" #include "Nuclex/Scene/Model.h" #include namespace Nuclex { namespace Video { class Texture; } } namespace Nuclex { namespace Scene { //  // //  Nuclex::Scene::XModel  // //  // /// X file model /** DirectX X file model */ class XModel : public Model { public: class Instance; typedef std::vector > > MaterialVector; /// Constructor DIRECT3D9PLUGIN_API XModel(const ID3DXMeshPtr &spMesh, const MaterialVector &Materials); /// Destructor DIRECT3D9PLUGIN_API virtual ~XModel() {} // // Model implementation // public: /// Create model instance DIRECT3D9PLUGIN_API shared_ptr createInstance() { return shared_ptr(); } private: ID3DXMeshPtr m_spMesh; MaterialVector m_Materials; }; //  // //  Nuclex::Scene::XModel::Instance  // //  // class XModel::Instance : public Model::Instance { public: DIRECT3D9PLUGIN_API Instance() {} DIRECT3D9PLUGIN_API virtual ~Instance() {} // // Model::Instance implementation // public: DIRECT3D9PLUGIN_API void render( const shared_ptr &spRC ); // // Persistable implementation // public: /// Load object from serializer DIRECT3D9PLUGIN_API void load(const shared_ptr &spSerializer) {} /// Save object to serializer DIRECT3D9PLUGIN_API void save(const shared_ptr &spSerializer) const {} }; }} // namespace Nuclex::Scene #endif // NUCLEX_SCENE_XMODEL_H