ENH: modify default view to current plate view
Change-Id: I32cecfe20e01011089928e24058c4ff89aca074a Signed-off-by: Stone Li <stone.li@bambulab.com>
This commit is contained in:
parent
71d81ad78b
commit
c7b698f4f1
|
@ -93,6 +93,9 @@ void Camera::select_view(const std::string& direction)
|
||||||
look_at(m_target + m_distance * Vec3d::UnitY(), m_target, Vec3d::UnitZ());
|
look_at(m_target + m_distance * Vec3d::UnitY(), m_target, Vec3d::UnitZ());
|
||||||
else if (direction == "topfront")
|
else if (direction == "topfront")
|
||||||
look_at(m_target - 0.707 * m_distance * Vec3d::UnitY() + 0.707 * m_distance * Vec3d::UnitZ(), m_target, Vec3d::UnitY() + Vec3d::UnitZ());
|
look_at(m_target - 0.707 * m_distance * Vec3d::UnitY() + 0.707 * m_distance * Vec3d::UnitZ(), m_target, Vec3d::UnitY() + Vec3d::UnitZ());
|
||||||
|
else if (direction == "plate") {
|
||||||
|
look_at(m_target - 0.707 * m_distance * Vec3d::UnitY() + 0.707 * m_distance * Vec3d::UnitZ(), m_target, Vec3d::UnitY() + Vec3d::UnitZ());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
double Camera::get_fov() const
|
double Camera::get_fov() const
|
||||||
|
|
|
@ -2369,7 +2369,10 @@ void GLCanvas3D::on_char(wxKeyEvent& evt)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
// BBS
|
// BBS
|
||||||
case '0': { select_view("topfront"); break; }
|
case '0': {
|
||||||
|
select_view("plate");
|
||||||
|
zoom_to_bed();
|
||||||
|
break; }
|
||||||
case '1': { select_view("top"); break; }
|
case '1': { select_view("top"); break; }
|
||||||
case '2': { select_view("bottom"); break; }
|
case '2': { select_view("bottom"); break; }
|
||||||
case '3': { select_view("front"); break; }
|
case '3': { select_view("front"); break; }
|
||||||
|
@ -2712,7 +2715,10 @@ void GLCanvas3D::on_key(wxKeyEvent& evt)
|
||||||
switch (keyCode) {
|
switch (keyCode) {
|
||||||
case '0':
|
case '0':
|
||||||
case WXK_NUMPAD0: //0 on numpad
|
case WXK_NUMPAD0: //0 on numpad
|
||||||
{ select_view("topfront"); break; }
|
{ select_view("plate");
|
||||||
|
zoom_to_bed();
|
||||||
|
break;
|
||||||
|
}
|
||||||
case '1':
|
case '1':
|
||||||
case WXK_NUMPAD1: //1 on numpad
|
case WXK_NUMPAD1: //1 on numpad
|
||||||
{ select_view("top"); break; }
|
{ select_view("top"); break; }
|
||||||
|
|
|
@ -1647,7 +1647,10 @@ static wxMenu* generate_help_menu()
|
||||||
static void add_common_view_menu_items(wxMenu* view_menu, MainFrame* mainFrame, std::function<bool(void)> can_change_view)
|
static void add_common_view_menu_items(wxMenu* view_menu, MainFrame* mainFrame, std::function<bool(void)> can_change_view)
|
||||||
{
|
{
|
||||||
// The camera control accelerators are captured by GLCanvas3D::on_char().
|
// The camera control accelerators are captured by GLCanvas3D::on_char().
|
||||||
append_menu_item(view_menu, wxID_ANY, _L("Default View") + "\tCtrl+0", _L("Default View"), [mainFrame](wxCommandEvent&) { mainFrame->select_view("topfront"); },
|
append_menu_item(view_menu, wxID_ANY, _L("Default View") + "\tCtrl+0", _L("Default View"), [mainFrame](wxCommandEvent&) {
|
||||||
|
mainFrame->select_view("plate");
|
||||||
|
mainFrame->plater()->get_current_canvas3D()->zoom_to_bed();
|
||||||
|
},
|
||||||
"", nullptr, [can_change_view]() { return can_change_view(); }, mainFrame);
|
"", nullptr, [can_change_view]() { return can_change_view(); }, mainFrame);
|
||||||
//view_menu->AppendSeparator();
|
//view_menu->AppendSeparator();
|
||||||
//TRN To be shown in the main menu View->Top
|
//TRN To be shown in the main menu View->Top
|
||||||
|
|
Loading…
Reference in New Issue