OSDN Git Service

fix build system ofmoflib1 and saisei1
[moflib/moflib.git] / moflib-1.0 / src / mof / private / Mesh.hpp
1 #ifndef MOF_MESH_HPP
2 #define MOF_MESH_HPP
3 #include <d3d9.h>
4 #include "mof/Graphics3D.hpp"
5 #include <boost/scoped_ptr.hpp>
6 #include "mof/Material.hpp"
7 #include "mof/Texture.hpp"
8
9 namespace mof{
10
11 struct MeshDisposer;
12
13 class Mesh : public Graphics3D 
14 {
15         struct Impl;
16         boost::scoped_ptr<Impl> m_pImpl;
17
18 public :
19         Mesh(
20                 std::shared_ptr<mof::MeshDisposer> pMeshDisposer ,
21                 unsigned long nMaterials ,
22                 const std::shared_ptr<mof::Material>* pMaterials , 
23                 const std::shared_ptr<mof::Texture>* pTextures );
24         virtual ~Mesh();
25
26         virtual void setWorldMatrix(const mof::Manipulator<mof::Matrix3D>::Handler& handler);
27         virtual void setTexture( 
28                 unsigned int num ,
29                 const std::shared_ptr<mof::Texture>& pTexture);
30
31         virtual bool isVisible() const;
32         virtual void update();
33         virtual void draw() const;
34         //virtual bool isDisposable() const;
35
36 };
37
38 }
39
40 #endif