diff --git a/src/Mod/CAM/PathSimulator/AppGL/DlgCAMSimulator.cpp b/src/Mod/CAM/PathSimulator/AppGL/DlgCAMSimulator.cpp index 3a61704d21..bff77663bf 100644 --- a/src/Mod/CAM/PathSimulator/AppGL/DlgCAMSimulator.cpp +++ b/src/Mod/CAM/PathSimulator/AppGL/DlgCAMSimulator.cpp @@ -24,17 +24,10 @@ #include "DlgCAMSimulator.h" #include "MillSimulation.h" -#include -#include #include #include -#include -#include #include -using namespace CAMSimulator; -using namespace MillSim; - QOpenGLContext* gOpenGlContext; using namespace MillSim; @@ -214,6 +207,8 @@ DlgCAMSimulator* DlgCAMSimulator::GetInstance() QSurfaceFormat format; format.setSamples(16); format.setSwapInterval(2); + format.setDepthBufferSize(24); + format.setStencilBufferSize(8); mInstance = new DlgCAMSimulator(); mInstance->setFormat(format); mInstance->resize(800, 600); diff --git a/src/Mod/CAM/PathSimulator/AppGL/DlgCAMSimulator.h b/src/Mod/CAM/PathSimulator/AppGL/DlgCAMSimulator.h index c3927be35d..a60b434860 100644 --- a/src/Mod/CAM/PathSimulator/AppGL/DlgCAMSimulator.h +++ b/src/Mod/CAM/PathSimulator/AppGL/DlgCAMSimulator.h @@ -25,11 +25,11 @@ #include #include - -#include #include - - +#include +#include +#include +#include namespace MillSim { diff --git a/src/Mod/CAM/PathSimulator/AppGL/GCodeParser.cpp b/src/Mod/CAM/PathSimulator/AppGL/GCodeParser.cpp index 3cb2f78332..4702f32838 100644 --- a/src/Mod/CAM/PathSimulator/AppGL/GCodeParser.cpp +++ b/src/Mod/CAM/PathSimulator/AppGL/GCodeParser.cpp @@ -222,9 +222,6 @@ bool GCodeParser::AddLine(const char* ptr) Operations.push_back(lastState); lastState.z = rPlane; Operations.push_back(lastState); - // restore original state - lastState.z = finalDepth; - lastState.cmd = eDril; } else { Operations.push_back(lastState); diff --git a/src/Mod/CAM/PathSimulator/AppGL/MillSimulation.cpp b/src/Mod/CAM/PathSimulator/AppGL/MillSimulation.cpp index 16223c2ae1..661df0a253 100644 --- a/src/Mod/CAM/PathSimulator/AppGL/MillSimulation.cpp +++ b/src/Mod/CAM/PathSimulator/AppGL/MillSimulation.cpp @@ -351,12 +351,12 @@ namespace MillSim { void MillSimulation::ProcessSim(unsigned int time_ms) { static int ancient = 0; - static int last = 0; - static int msec = 0; + static unsigned int last = 0; + static unsigned int msec = 0xFFFFFFFF; static int fps = 0; static int renderTime = 0; - last = msec; + last = msec == 0xFFFFFFFF ? time_ms : msec; msec = time_ms; if (mIsRotate) { mEyeRoration += (msec - last) / 4600.0f; @@ -447,9 +447,9 @@ namespace MillSim { { mEyeRoration += rotStep; if (mEyeRoration > PI2) - mEyeRoration = PI2; + mEyeRoration -= PI2; else if (mEyeRoration < 0) - mEyeRoration = 0; + mEyeRoration += PI2; } void MillSimulation::MoveEye(float x, float z) @@ -480,7 +480,7 @@ namespace MillSim { { // gray background glClearColor(0.6f, 0.8f, 1.0f, 1.0f); - + mEyeRoration = 0.0; // use shaders // standard diffuse shader diff --git a/src/Mod/CAM/PathSimulator/AppGL/OpenGlWrapper.h b/src/Mod/CAM/PathSimulator/AppGL/OpenGlWrapper.h index 11c144fb6b..92ad6483de 100644 --- a/src/Mod/CAM/PathSimulator/AppGL/OpenGlWrapper.h +++ b/src/Mod/CAM/PathSimulator/AppGL/OpenGlWrapper.h @@ -28,6 +28,9 @@ #include "DlgCAMSimulator.h" extern QOpenGLContext* gOpenGlContext; #define gSimWindow CAMSimulator::DlgCAMSimulator::GetInstance() +#define glClearColor gSimWindow->glClearColor +#define glBlendFunc gSimWindow->glBlendFunc +#define glClear gSimWindow->glClear #define glGenBuffers gSimWindow->glGenBuffers #define glBindBuffer gSimWindow->glBindBuffer #define glBufferData gSimWindow->glBufferData