Restructuring for OpenSpace tests

- Moved all OpenSpace headers to separate include directory
- Added OpenSpaceTests binary with OPENSPACE_HAVE_TESTS define
- Added CMake setting of BASE_DIR
- Added OpenSpace initial tests for SceneGraph and SceneGraphNodes
- Added OpenSpace initial tests for psc and pss
- Restructured OpenSpace so no GL functions are called in constructors
to make the classes testable

- Todo: Make the base dir possible to set through command line argument
and configuration file
This commit is contained in:
Jonas Strandstedt
2014-03-19 14:57:10 -04:00
parent 0118e1f786
commit 89eeae62d0
73 changed files with 1094 additions and 425 deletions

View File

@@ -0,0 +1,36 @@
#ifndef RENDERABLE_H
#define RENDERABLE_H
// open space includes
#include <openspace/util/psc.h>
#include <openspace/util/pss.h>
#include <openspace/util/camera.h>
#include <ghoul/misc/dictionary.h>
namespace openspace {
class Renderable {
public:
// constructors & destructor
Renderable(const ghoul::Dictionary& dictionary);
virtual ~Renderable();
virtual bool initialize() = 0;
virtual bool deinitialize() = 0;
void setBoundingSphere(const pss &boundingSphere);
const pss &getBoundingSphere();
virtual void render(const Camera *camera, const psc &thisPosition) = 0;
virtual void update();
protected:
Renderable();
private:
pss boundingSphere_;
};
} // namespace openspace
#endif