Refactored to get direct access to GLCanvas3D in Plater and Preview.
WIP: SLA update delayed until mouse is released.
This commit is contained in:
parent
6da9d19916
commit
b03f672801
10 changed files with 206 additions and 176 deletions
src/slic3r/GUI
|
@ -169,7 +169,7 @@ bool ObjectManipulation::IsShown()
|
|||
void ObjectManipulation::UpdateAndShow(const bool show)
|
||||
{
|
||||
if (show)
|
||||
update_settings_value(_3DScene::get_canvas(wxGetApp().canvas3D())->get_selection());
|
||||
update_settings_value(wxGetApp().plater()->canvas3D()->get_selection());
|
||||
|
||||
OG_Settings::UpdateAndShow(show);
|
||||
}
|
||||
|
@ -409,7 +409,7 @@ void ObjectManipulation::change_position_value(const Vec3d& position)
|
|||
{
|
||||
Vec3d displacement(position - cache_position);
|
||||
|
||||
auto canvas = _3DScene::get_canvas(wxGetApp().canvas3D());
|
||||
auto canvas = wxGetApp().plater()->canvas3D();
|
||||
canvas->get_selection().start_dragging();
|
||||
canvas->get_selection().translate(displacement);
|
||||
canvas->do_move();
|
||||
|
@ -422,7 +422,7 @@ void ObjectManipulation::change_rotation_value(const Vec3d& rotation)
|
|||
Vec3d rad_rotation;
|
||||
for (size_t i = 0; i < 3; ++i)
|
||||
rad_rotation(i) = Geometry::deg2rad(rotation(i));
|
||||
auto canvas = _3DScene::get_canvas(wxGetApp().canvas3D());
|
||||
auto canvas = wxGetApp().plater()->canvas3D();
|
||||
canvas->get_selection().start_dragging();
|
||||
canvas->get_selection().rotate(rad_rotation, false);
|
||||
canvas->do_rotate();
|
||||
|
@ -442,7 +442,7 @@ void ObjectManipulation::change_scale_value(const Vec3d& scale)
|
|||
scaling_factor(i) = scale(i) / size(i);
|
||||
}
|
||||
|
||||
auto canvas = _3DScene::get_canvas(wxGetApp().canvas3D());
|
||||
auto canvas = wxGetApp().plater()->canvas3D();
|
||||
canvas->get_selection().start_dragging();
|
||||
canvas->get_selection().scale(scaling_factor, false);
|
||||
canvas->do_scale();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue