X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=src%2FMoof%2FScene.hh;h=f0e829db5e671edcead2652f6aca811f54efea92;hb=3cba2347188d70f5ee6e401774b8f86acfd1a3b9;hp=db25db7a42ea096c0e017e6b008ba5695fc039b0;hpb=29e3d45f7bbbf31eadf793c41ff2b3d9c47b7539;p=chaz%2Fyoink diff --git a/src/Moof/Scene.hh b/src/Moof/Scene.hh index db25db7..f0e829d 100644 --- a/src/Moof/Scene.hh +++ b/src/Moof/Scene.hh @@ -34,25 +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) const; + 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); };