From da8a82628e2234fff300bca854c969af91d777aa Mon Sep 17 00:00:00 2001 From: tarman3 Date: Mon, 12 May 2025 23:54:26 +0300 Subject: [PATCH] CAM: Simulator - Reset camera --- src/Mod/CAM/Gui/Resources/Path.qrc | 1 + .../CAM/Gui/Resources/gl_simulator/Home.png | Bin 0 -> 1214 bytes .../CAM/PathSimulator/AppGL/GuiDisplay.cpp | 28 ++++++++++-------- src/Mod/CAM/PathSimulator/AppGL/GuiDisplay.h | 3 +- .../PathSimulator/AppGL/MillSimulation.cpp | 4 +++ .../CAM/PathSimulator/AppGL/SimDisplay.cpp | 9 ++++++ src/Mod/CAM/PathSimulator/AppGL/SimDisplay.h | 1 + .../CAM/PathSimulator/AppGL/TextureLoader.cpp | 1 + 8 files changed, 33 insertions(+), 14 deletions(-) create mode 100644 src/Mod/CAM/Gui/Resources/gl_simulator/Home.png diff --git a/src/Mod/CAM/Gui/Resources/Path.qrc b/src/Mod/CAM/Gui/Resources/Path.qrc index 964f76bf09..4d58605f38 100644 --- a/src/Mod/CAM/Gui/Resources/Path.qrc +++ b/src/Mod/CAM/Gui/Resources/Path.qrc @@ -144,6 +144,7 @@ gl_simulator/Path.png gl_simulator/View.png gl_simulator/AmbientOclusion.png + gl_simulator/Home.png preferences/Advanced.ui preferences/PathDressupHoldingTags.ui preferences/PathJob.ui diff --git a/src/Mod/CAM/Gui/Resources/gl_simulator/Home.png b/src/Mod/CAM/Gui/Resources/gl_simulator/Home.png new file mode 100644 index 0000000000000000000000000000000000000000..20f187dbf6a5f52df54defd33d03f3a69ddcce74 GIT binary patch literal 1214 zcmV;v1VQ_WP)pF8FWQhbW?9;ba!ELWdL_~cP?peYja~^aAhuUa%Y?FJQ@H11WQRo zK~zYIy_Zc$Tvrr;zx$q#1k()8B($|fC3d0hqM(}=OKCB!8M+Wxl@S>X7&nOtA=z{h zPzb?A0!mghpmpO|LTS}Fok<5mr?v!&n=WjKyJ|ER+DuHHaem&+>B9FWCcd%Lbnw81 zd*<9Z-?{hQd+xbPL?}m;QguKl@F`FS)B?wVzkqdM75E;Q6OpyDoQlZ44fq8387Kf^ zH>H%g-EP_ao7D=y0`T#_`rZfHWX(hXX=rGW^XJb?EEbc84yw|pz%M!fexkA6F}m?8fh-sQqj^y)sxpnK7G&VNcEA$vRSr!}^ z08BtGUAiQhOr|X8i?Y4FErWxD_6p>HzJ1|<7cdROC`?XHz7+ID2?m2wRaI3`O67od zM>x==l-dNOQeayGfxzxh@Rk!i2FT^hmn#ak<=nY*_9wV)GnI&-lsW}OPn`ozQpRaI4cj%+5A;mnycMZLYfoxZ-lqMlBtX=-X>Wn~3x1Kzb~ zeGiaOD6}Wy)2B~AcaBSKz^$#V=f({T4D1;*F)?A=e-IHgrBpreUPD6z-QC^JnFtsj z9wrirIL;d2@ZrNmA`z}!xl+=H-|wfkwie(+rPS*h&;_Wjt}Zl9EBVLP)>gb;Z^<#b zuH*H3X=!OG=|k6bIy*Z7Ggaw zjsn&-O{-0((-?+vAORSLfoYnLHQ?CMqel-63{YKN4N$ECe?EQslx#M8AYc(8nM?vC zHDFyt*x1-O5ct~K8u@%4;E@LW4zRSe$mMcnInU*CBoYZysg$FAadFY^ zE@|u(49w2XIu0Hj9K_@CaOcjQvf%Uc^LRWSE?&IoXrGyxvAf@Cz-^!~H#diAnkAja z<8eZv5QRd)(QcY1p-_m0g@uwna=9Gga2R&#g|MC5?*bAG2KOX|O6K;PH*ebZh=^b( z>MwwMLqkKVr>BP_M~)Pu?da&h<#H8uUDq9FWf%q*E?g+;ZEbDO*|)Z~xO(*}7JTOd zkZ1S#w}ABb_g65PK9ktEK-0xJtsU0NwqV+|4MZMp8=z>% literal 0 HcmV?d00001 diff --git a/src/Mod/CAM/PathSimulator/AppGL/GuiDisplay.cpp b/src/Mod/CAM/PathSimulator/AppGL/GuiDisplay.cpp index e92c8fd2f9..036ce11e23 100644 --- a/src/Mod/CAM/PathSimulator/AppGL/GuiDisplay.cpp +++ b/src/Mod/CAM/PathSimulator/AppGL/GuiDisplay.cpp @@ -32,23 +32,24 @@ using namespace MillSim; GuiItem guiItems[] = { - {eGuiItemSlider, 0, 0, 40, -80, 0}, + {eGuiItemSlider, 0, 0, 28, -80, 0}, {eGuiItemThumb, 0, 0, 328, -94, 1}, - {eGuiItemPause, 0, 0, 40, -50, 'P', true}, - {eGuiItemPlay, 0, 0, 40, -50, 'S', false}, - {eGuiItemSingleStep, 0, 0, 80, -50, 'T'}, - {eGuiItemSlower, 0, 0, 125, -50, ' '}, - {eGuiItemFaster, 0, 0, 170, -50, 'F'}, - {eGuiItemX, 0, 0, 220, -45, 0, false, 0}, - {eGuiItem1, 0, 0, 242, -50, 0, false, 0}, - {eGuiItem5, 0, 0, 242, -50, 0, true, 0}, - {eGuiItem10, 0, 0, 242, -50, 0, true, 0}, - {eGuiItem25, 0, 0, 242, -50, 0, true, 0}, - {eGuiItem50, 0, 0, 242, -50, 0, true, 0}, + {eGuiItemPause, 0, 0, 28, -50, 'P', true}, + {eGuiItemPlay, 0, 0, 28, -50, 'S', false}, + {eGuiItemSingleStep, 0, 0, 68, -50, 'T'}, + {eGuiItemSlower, 0, 0, 113, -50, ' '}, + {eGuiItemFaster, 0, 0, 158, -50, 'F'}, + {eGuiItemX, 0, 0, 208, -45, 0, false, 0}, + {eGuiItem1, 0, 0, 230, -50, 0, false, 0}, + {eGuiItem5, 0, 0, 230, -50, 0, true, 0}, + {eGuiItem10, 0, 0, 230, -50, 0, true, 0}, + {eGuiItem25, 0, 0, 230, -50, 0, true, 0}, + {eGuiItem50, 0, 0, 230, -50, 0, true, 0}, {eGuiItemRotate, 0, 0, -140, -50, ' ', false, GUIITEM_CHECKABLE}, {eGuiItemPath, 0, 0, -100, -50, 'L', false, GUIITEM_CHECKABLE}, {eGuiItemAmbientOclusion, 0, 0, -60, -50, 'A', false, GUIITEM_CHECKABLE}, {eGuiItemView, 0, 0, -180, -50, 'V', false}, + {eGuiItemHome, 0, 0, -220, -50, 'H'}, }; #define NUM_GUI_ITEMS (sizeof(guiItems) / sizeof(GuiItem)) @@ -70,7 +71,8 @@ std::vector guiFileNames = {"Slider.png", "Rotate.png", "Path.png", "AmbientOclusion.png", - "View.png"}; + "View.png", + "Home.png"}; void GuiDisplay::UpdateProjection() { diff --git a/src/Mod/CAM/PathSimulator/AppGL/GuiDisplay.h b/src/Mod/CAM/PathSimulator/AppGL/GuiDisplay.h index 19e54579a2..bb14528604 100644 --- a/src/Mod/CAM/PathSimulator/AppGL/GuiDisplay.h +++ b/src/Mod/CAM/PathSimulator/AppGL/GuiDisplay.h @@ -52,7 +52,8 @@ enum eGuiItems eGuiItemPath, eGuiItemAmbientOclusion, eGuiItemView, - eGuiItemMax + eGuiItemMax, + eGuiItemHome }; struct GuiItem diff --git a/src/Mod/CAM/PathSimulator/AppGL/MillSimulation.cpp b/src/Mod/CAM/PathSimulator/AppGL/MillSimulation.cpp index 74a3a8e4d8..8794065d50 100644 --- a/src/Mod/CAM/PathSimulator/AppGL/MillSimulation.cpp +++ b/src/Mod/CAM/PathSimulator/AppGL/MillSimulation.cpp @@ -516,6 +516,10 @@ void MillSimulation::HandleGuiAction(eGuiItems actionItem, bool checked) simDisplay.updateDisplay = true; break; + case eGuiItemHome: + simDisplay.MoveEyeCenter(); + break; + default: break; } diff --git a/src/Mod/CAM/PathSimulator/AppGL/SimDisplay.cpp b/src/Mod/CAM/PathSimulator/AppGL/SimDisplay.cpp index 72af76b8dc..145ea6a6e7 100644 --- a/src/Mod/CAM/PathSimulator/AppGL/SimDisplay.cpp +++ b/src/Mod/CAM/PathSimulator/AppGL/SimDisplay.cpp @@ -532,6 +532,15 @@ void SimDisplay::MoveEye(float x, float z) updateDisplay = true; } +void SimDisplay::MoveEyeCenter() +{ + mEyeRoration = 0; + mEyeInclination = PI / 6; + mEyeX = 0; + mEyeZ = 0; + UpdateEyeFactor(0.1f); +} + void SimDisplay::UpdateEyeFactor(float factor) { if (mEyeDistFactor == factor) { diff --git a/src/Mod/CAM/PathSimulator/AppGL/SimDisplay.h b/src/Mod/CAM/PathSimulator/AppGL/SimDisplay.h index 079918225e..3213337d1a 100644 --- a/src/Mod/CAM/PathSimulator/AppGL/SimDisplay.h +++ b/src/Mod/CAM/PathSimulator/AppGL/SimDisplay.h @@ -60,6 +60,7 @@ public: void TiltEye(float tiltStep); void RotateEye(float rotStep); void MoveEye(float x, float z); + void MoveEyeCenter(); void UpdateEyeFactor(float factor); void UpdateWindowScale(); diff --git a/src/Mod/CAM/PathSimulator/AppGL/TextureLoader.cpp b/src/Mod/CAM/PathSimulator/AppGL/TextureLoader.cpp index 46f1f9595b..03f2f080c7 100644 --- a/src/Mod/CAM/PathSimulator/AppGL/TextureLoader.cpp +++ b/src/Mod/CAM/PathSimulator/AppGL/TextureLoader.cpp @@ -42,6 +42,7 @@ TextureItem texItems[] = { {95, 50, 0, 0}, {130, 50, 0, 0}, {170, 50, 0, 0}, + {210, 50, 0, 0}, };