on_viewport_changed event handler
This commit is contained in:
parent
46efaf6791
commit
6369e469c0
@ -50,6 +50,8 @@ public:
|
|||||||
Preview(wxNotebook* notebook, DynamicPrintConfig* config, Print* print, GCodePreviewData* gcode_preview_data);
|
Preview(wxNotebook* notebook, DynamicPrintConfig* config, Print* print, GCodePreviewData* gcode_preview_data);
|
||||||
virtual ~Preview();
|
virtual ~Preview();
|
||||||
|
|
||||||
|
wxGLCanvas* get_canvas() { return m_canvas; }
|
||||||
|
|
||||||
void set_number_extruders(unsigned int number_extruders);
|
void set_number_extruders(unsigned int number_extruders);
|
||||||
void reset_gcode_preview_data();
|
void reset_gcode_preview_data();
|
||||||
void set_canvas_as_dirty();
|
void set_canvas_as_dirty();
|
||||||
|
@ -430,6 +430,8 @@ struct Plater::priv
|
|||||||
void on_process_completed(wxCommandEvent &);
|
void on_process_completed(wxCommandEvent &);
|
||||||
void on_layer_editing_toggled(bool enable);
|
void on_layer_editing_toggled(bool enable);
|
||||||
void on_action_add(SimpleEvent&);
|
void on_action_add(SimpleEvent&);
|
||||||
|
|
||||||
|
void on_viewport_changed(SimpleEvent& evt);
|
||||||
};
|
};
|
||||||
|
|
||||||
// TODO: multisample, see 3DScene.pm
|
// TODO: multisample, see 3DScene.pm
|
||||||
@ -493,8 +495,6 @@ Plater::priv::priv(Plater *q, MainFrame *main_frame) :
|
|||||||
|
|
||||||
update();
|
update();
|
||||||
|
|
||||||
// TODO: Preview::register_on_viewport_changed_callback is Perl-only
|
|
||||||
|
|
||||||
auto *hsizer = new wxBoxSizer(wxHORIZONTAL);
|
auto *hsizer = new wxBoxSizer(wxHORIZONTAL);
|
||||||
hsizer->Add(notebook, 1, wxEXPAND | wxTOP, 1);
|
hsizer->Add(notebook, 1, wxEXPAND | wxTOP, 1);
|
||||||
hsizer->Add(sidebar, 0, wxEXPAND | wxLEFT | wxRIGHT, 0);
|
hsizer->Add(sidebar, 0, wxEXPAND | wxLEFT | wxRIGHT, 0);
|
||||||
@ -518,6 +518,9 @@ Plater::priv::priv(Plater *q, MainFrame *main_frame) :
|
|||||||
// 3DScene events:
|
// 3DScene events:
|
||||||
// TODO: more
|
// TODO: more
|
||||||
canvas3D->Bind(EVT_GLTOOLBAR_ADD, &priv::on_action_add, this);
|
canvas3D->Bind(EVT_GLTOOLBAR_ADD, &priv::on_action_add, this);
|
||||||
|
canvas3D->Bind(EVT_GLCANVAS_VIEWPORT_CHANGED, &priv::on_viewport_changed, this);
|
||||||
|
|
||||||
|
preview->get_canvas()->Bind(EVT_GLCANVAS_VIEWPORT_CHANGED, &priv::on_viewport_changed, this);
|
||||||
|
|
||||||
q->Bind(EVT_SLICING_COMPLETED, &priv::on_update_print_preview, this);
|
q->Bind(EVT_SLICING_COMPLETED, &priv::on_update_print_preview, this);
|
||||||
q->Bind(EVT_PROCESS_COMPLETED, &priv::on_process_completed, this);
|
q->Bind(EVT_PROCESS_COMPLETED, &priv::on_process_completed, this);
|
||||||
@ -881,6 +884,15 @@ void Plater::priv::on_action_add(SimpleEvent&)
|
|||||||
load_files(input_paths);
|
load_files(input_paths);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Plater::priv::on_viewport_changed(SimpleEvent& evt)
|
||||||
|
{
|
||||||
|
wxObject* o = evt.GetEventObject();
|
||||||
|
if (o == preview->get_canvas())
|
||||||
|
preview->set_viewport_into_scene(canvas3D);
|
||||||
|
else if (o == canvas3D)
|
||||||
|
preview->set_viewport_from_scene(canvas3D);
|
||||||
|
}
|
||||||
|
|
||||||
// Plater / Public
|
// Plater / Public
|
||||||
|
|
||||||
Plater::Plater(wxWindow *parent, MainFrame *main_frame)
|
Plater::Plater(wxWindow *parent, MainFrame *main_frame)
|
||||||
|
Loading…
Reference in New Issue
Block a user