#ifndef MSP_DEMOSCENE_STAGE_H_
#define MSP_DEMOSCENE_STAGE_H_
+#include <msp/gl/camera.h>
#include <msp/gl/pipeline.h>
-#include "cameracontrol.h"
#include "action.h"
struct Stage
Loader(UseInView &, Demo &);
private:
- void view(const std::string &);
void stage(const std::string &);
+ void view(const std::string &);
};
private:
virtual void start(float, float);
};
+ class SetCamera: public Action
+ {
+ public:
+ class Loader: public Msp::DataFile::DerivedObjectLoader<SetCamera, Action::Loader>
+ {
+ public:
+ Loader(SetCamera &, Demo &);
+
+ private:
+ void camera(const std::string &);
+ void stage(const std::string &);
+ };
+
+ private:
+ Stage *stage;
+ const Msp::GL::Camera *camera;
+
+ public:
+ SetCamera();
+ SetCamera(Stage &, const Msp::GL::Camera &);
+
+ virtual void validate() const;
+
+ virtual void start(float, float);
+ };
+
Msp::GL::Pipeline *pipeline;
- CameraControl camera_control;
+ Msp::GL::Camera camera;
Stage();
~Stage();
+
+ void set_camera(const Msp::GL::Camera &);
};
#endif