OSDN Git Service

0e4e48a2d7ed2874d53f385c19a687ed5483c4d2
[moflib/moflib.git] / moflib-1.0 / moflib / moflib / mof / Board.hpp
1 #ifndef BILLBOARD_HPP
2 #define BILLBOARD_HPP
3
4 #include "mof/Component3D.hpp"
5 #include "mof/SceneGraph.hpp"
6 #include "mof/Rectangle.hpp"
7 #include "mof/Drawable.hpp"
8 #include <boost/scoped_ptr.hpp>
9 #include <memory>
10 #include "mof/Texture.hpp"
11
12 namespace mof{
13         
14
15 class Camera;
16
17 class Board : public Component3D , public Drawable
18         {
19         struct Impl;
20         boost::scoped_ptr<Impl> m_pImpl;
21
22 public :
23         typedef std::shared_ptr<Board> ptr;
24         
25         Board( );
26         virtual ~Board();
27
28         
29         virtual void setWorldMatrix(const mof::Manipulator<mof::Matrix3D>::Handler& handler);
30         mof::Matrix3D getWorldMatrix() const;
31         mof::Vector3D getPosition() const;
32         virtual void setTextureCoordinates(const mof::Manipulator<mof::Rectangle<float>>::Handler& handler);
33         virtual void setTextureCoordinates(const mof::Rectangle<float>& coordinates);
34         virtual void setTexture( const std::shared_ptr<mof::Texture>& pTexture );
35
36         void setColor(const mof::Manipulator<mof::Color4f>::Handler& handler);
37
38         virtual bool isVisible() const;
39         virtual void update();
40         virtual void draw() const;
41         virtual void setVisible(bool visible);
42         void setFrameNumber(FrameNumber fn);
43 };
44
45 }
46
47 #endif