mirror of
https://github.com/SoftFever/OrcaSlicer.git
synced 2025-10-22 00:01:09 -06:00
Camera data moved to c++ - WIP
This commit is contained in:
parent
32063cbe23
commit
1fd59144c7
8 changed files with 190 additions and 50 deletions
|
@ -1767,6 +1767,11 @@ void _3DScene::set_camera_type(wxGLCanvas* canvas, unsigned int type)
|
|||
s_canvas_mgr.set_camera_type(canvas, type);
|
||||
}
|
||||
|
||||
std::string _3DScene::get_camera_type_as_string(wxGLCanvas* canvas)
|
||||
{
|
||||
return s_canvas_mgr.get_camera_type_as_string(canvas);
|
||||
}
|
||||
|
||||
float _3DScene::get_camera_zoom(wxGLCanvas* canvas)
|
||||
{
|
||||
return s_canvas_mgr.get_camera_zoom(canvas);
|
||||
|
|
|
@ -549,6 +549,7 @@ public:
|
|||
|
||||
static unsigned int get_camera_type(wxGLCanvas* canvas);
|
||||
static void set_camera_type(wxGLCanvas* canvas, unsigned int type);
|
||||
static std::string get_camera_type_as_string(wxGLCanvas* canvas);
|
||||
|
||||
static float get_camera_zoom(wxGLCanvas* canvas);
|
||||
static void set_camera_zoom(wxGLCanvas* canvas, float zoom);
|
||||
|
|
|
@ -18,6 +18,20 @@ GLCanvas3D::Camera::Camera()
|
|||
{
|
||||
}
|
||||
|
||||
std::string GLCanvas3D::Camera::get_type_as_string() const
|
||||
{
|
||||
switch (type)
|
||||
{
|
||||
default:
|
||||
case CT_Unknown:
|
||||
return "unknown";
|
||||
case CT_Perspective:
|
||||
return "perspective";
|
||||
case CT_Ortho:
|
||||
return "ortho";
|
||||
};
|
||||
}
|
||||
|
||||
GLCanvas3D::GLCanvas3D(wxGLCanvas* canvas, wxGLContext* context)
|
||||
: m_canvas(canvas)
|
||||
, m_context(context)
|
||||
|
@ -56,6 +70,11 @@ void GLCanvas3D::set_camera_type(GLCanvas3D::Camera::EType type)
|
|||
m_camera.type = type;
|
||||
}
|
||||
|
||||
std::string GLCanvas3D::get_camera_type_as_string() const
|
||||
{
|
||||
return m_camera.get_type_as_string();
|
||||
}
|
||||
|
||||
float GLCanvas3D::get_camera_zoom() const
|
||||
{
|
||||
return m_camera.zoom;
|
||||
|
|
|
@ -31,6 +31,8 @@ public:
|
|||
Pointf3 target;
|
||||
|
||||
Camera();
|
||||
|
||||
std::string get_type_as_string() const;
|
||||
};
|
||||
|
||||
private:
|
||||
|
@ -52,6 +54,7 @@ public:
|
|||
|
||||
Camera::EType get_camera_type() const;
|
||||
void set_camera_type(Camera::EType type);
|
||||
std::string get_camera_type_as_string() const;
|
||||
|
||||
float get_camera_zoom() const;
|
||||
void set_camera_zoom(float zoom);
|
||||
|
|
|
@ -181,6 +181,12 @@ void GLCanvas3DManager::set_camera_type(wxGLCanvas* canvas, unsigned int type)
|
|||
it->second->set_camera_type((GLCanvas3D::Camera::EType)type);
|
||||
}
|
||||
|
||||
std::string GLCanvas3DManager::get_camera_type_as_string(wxGLCanvas* canvas) const
|
||||
{
|
||||
CanvasesMap::const_iterator it = _get_canvas(canvas);
|
||||
return (it != m_canvases.end()) ? it->second->get_camera_type_as_string() : "unknown";
|
||||
}
|
||||
|
||||
float GLCanvas3DManager::get_camera_zoom(wxGLCanvas* canvas) const
|
||||
{
|
||||
CanvasesMap::const_iterator it = _get_canvas(canvas);
|
||||
|
|
|
@ -59,7 +59,8 @@ public:
|
|||
|
||||
unsigned int get_camera_type(wxGLCanvas* canvas) const;
|
||||
void set_camera_type(wxGLCanvas* canvas, unsigned int type);
|
||||
|
||||
std::string get_camera_type_as_string(wxGLCanvas* canvas) const;
|
||||
|
||||
float get_camera_zoom(wxGLCanvas* canvas) const;
|
||||
void set_camera_zoom(wxGLCanvas* canvas, float zoom);
|
||||
|
||||
|
|
|
@ -222,7 +222,15 @@ set_camera_type(canvas, type)
|
|||
unsigned int type;
|
||||
CODE:
|
||||
_3DScene::set_camera_type((wxGLCanvas*)wxPli_sv_2_object(aTHX_ canvas, "Wx::GLCanvas"), type);
|
||||
|
||||
|
||||
std::string
|
||||
get_camera_type_as_string(canvas)
|
||||
SV *canvas;
|
||||
CODE:
|
||||
RETVAL = _3DScene::get_camera_type_as_string((wxGLCanvas*)wxPli_sv_2_object(aTHX_ canvas, "Wx::GLCanvas"));
|
||||
OUTPUT:
|
||||
RETVAL
|
||||
|
||||
float
|
||||
get_camera_zoom(canvas)
|
||||
SV *canvas;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue