ModelViewer stub

This commit is contained in:
Phillip Stephens 2016-01-16 21:08:46 -08:00
parent e248379d76
commit fdfccb8fbb
4 changed files with 72 additions and 2 deletions

View File

@ -17,13 +17,14 @@ endif()
atdna(atdna_Space.cpp Space.hpp)
atdna(atdna_ResourceBrowser.cpp ResourceBrowser.hpp)
atdna(atdna_ModelViewer.cpp ModelViewer.hpp)
add_executable(urde WIN32
main.cpp
Space.hpp Space.cpp atdna_Space.cpp
SplashScreen.hpp SplashScreen.cpp
ResourceBrowser.hpp ResourceBrowser.cpp atdna_ResourceBrowser.cpp
ModelViewer.hpp ModelViewer.cpp
ModelViewer.hpp ModelViewer.cpp atdna_ModelViewer.cpp
ProjectManager.hpp ProjectManager.cpp
ViewManager.hpp ViewManager.cpp)

View File

@ -1,8 +1,76 @@
#ifndef URDE_MODEL_VIEWER_HPP
#define URDE_MODEL_VIEWER_HPP
#include "Space.hpp"
#include "ViewManager.hpp"
#include "CVector3f.hpp"
#include "CProjection.hpp"
namespace URDE
{
class ModelViewer : public Space
{
struct State : Space::State
{
DECL_YAML
enum class Mode
{
Solid,
Material,
Wireframe
};
Value<Mode> renderMode = Mode::Material;
Value<Zeus::CVector3f> cameraPosition;
} m_state;
const Space::State& spaceState() const { return m_state; }
struct View : Specter::View
{
Zeus::CProjection m_cameraProjection;
};
virtual Specter::View* buildContentView(Specter::ViewResources& res)
{
return nullptr;
}
virtual Specter::View* buildSpaceView(Specter::ViewResources& res)
{
return nullptr;
}
public:
ModelViewer(ViewManager& vm, Space* parent)
: Space(vm, Class::ModelViewer, parent)
{
reloadState();
}
ModelViewer(ViewManager& vm, Space* parent, const ModelViewer& other)
: ModelViewer(vm, parent)
{
m_state = other.m_state;
reloadState();
}
ModelViewer(ViewManager& vm, Space* parent, ConfigReader& r)
: ModelViewer(vm, parent)
{
m_state.read(r);
reloadState();
}
void reloadState()
{}
Space* copy(Space *parent) const
{
return new ModelViewer(m_vm, parent, *this);
}
bool usesToolbar() const { return true; }
};
}
#endif // URDE_MODEL_VIEWER_HPP

View File

@ -32,6 +32,7 @@ public:
SplitSpace,
TestSpace,
ResourceBrowser,
ModelViewer
};
struct State : Athena::io::DNAYaml<Athena::BigEndian> {Delete _d;};

@ -1 +1 @@
Subproject commit 77c30bdac07d4fe45cc16b239dfb9d05045c9e95
Subproject commit 0e061705bb8d009280a1c857e0701f1f1c79b406