X-Git-Url: https://git.dogcows.com/gitweb?p=chaz%2Fyoink;a=blobdiff_plain;f=src%2FMoof%2FScene.hh;h=f0e829db5e671edcead2652f6aca811f54efea92;hp=66a54a97936c22c543203780b9a110cb076c9261;hb=fdfba4553433b9b2804c2772c7645211b828c2ea;hpb=c2321281bf12a7efaedde930422c7ddbc92080d4 diff --git a/src/Moof/Scene.hh b/src/Moof/Scene.hh index 66a54a9..f0e829d 100644 --- a/src/Moof/Scene.hh +++ b/src/Moof/Scene.hh @@ -34,24 +34,39 @@ #include #include +#include #include namespace Mf { -class Scene : public Resource, public Drawable +class Scene; +typedef boost::shared_ptr SceneP; + +class Camera; + + +class Scene : public Resource { + class Impl; + boost::shared_ptr impl_; + public: + + inline static SceneP alloc(const std::string& name) + { + return SceneP(new Scene(name)); + } + Scene(const std::string& name); - void draw(Scalar alpha); + void draw(Scalar alpha, const Camera& cam) const; + void refresh(); - static std::string getPathToResource(const std::string& name); + OctreeP getOctree() const; -private: - class SceneImpl; - boost::shared_ptr impl_; + static std::string getPath(const std::string& name); };