diff --git a/MotionCore/MotionCore.vcxproj b/MotionCore/MotionCore.vcxproj index 7c8a050..e23357f 100755 --- a/MotionCore/MotionCore.vcxproj +++ b/MotionCore/MotionCore.vcxproj @@ -151,6 +151,7 @@ + @@ -164,6 +165,7 @@ + diff --git a/MotionCore/MotionCore.vcxproj.filters b/MotionCore/MotionCore.vcxproj.filters index b59b3f8..0aff1c5 100755 --- a/MotionCore/MotionCore.vcxproj.filters +++ b/MotionCore/MotionCore.vcxproj.filters @@ -51,6 +51,9 @@ Quelldateien + + Quelldateien + @@ -89,5 +92,8 @@ Headerdateien + + Headerdateien + \ No newline at end of file diff --git a/MotionCore/Scene_CCDIK.cpp b/MotionCore/Scene_CCDIK.cpp index 1adf819..739034f 100755 --- a/MotionCore/Scene_CCDIK.cpp +++ b/MotionCore/Scene_CCDIK.cpp @@ -12,8 +12,9 @@ Scene_CCDIK::Scene_CCDIK(Arm& arm) : Vector3d(0, -160, 0), Vector3d(20000, 100, 20000) ) - }), - leftVKB(L" VKBsim Gladiator EVO L ") + }), + leftVKB(L" VKBsim Gladiator EVO L "), + cursor3d(0,0,0) { if (!arm.assumeHomePoseImmediate()) { @@ -29,8 +30,22 @@ Scene_CCDIK::Scene_CCDIK(Arm& arm) : void Scene_CCDIK::update(double frametime) { + vkbi = leftVKB.get(); + constexpr double speed = 5000; VkbInputs vkbi = leftVKB.get(); + update3dCursor(frametime); + arm.update(frametime); } + +void Scene_CCDIK::update3dCursor(double frametime) +{ + constexpr double cursorSpeed = 1.0; + cursor3d += Vector3d( + vkbi.roll * cursorSpeed * frametime, + vkbi.yaw * cursorSpeed * frametime, + -vkbi.pitch * cursorSpeed * frametime + ); +} diff --git a/MotionCore/Scene_CCDIK.h b/MotionCore/Scene_CCDIK.h index 22bbb28..db0b2f0 100755 --- a/MotionCore/Scene_CCDIK.h +++ b/MotionCore/Scene_CCDIK.h @@ -2,6 +2,7 @@ #include "Arm.h" #include "AxisAlignedBoundingBox.h" #include "vkb_controller.h" +#include "Vector3d.h" class Scene_CCDIK { @@ -11,16 +12,14 @@ public: void update(double frametime); private: + void update3dCursor(double frametime); + Arm& arm; std::array deadzones; VKBSimController leftVKB; - double j0Pos = 0; - double j1Pos = 0; - double j2Pos = 0; - double j3Pos = 0; - double j4Pos = 0; - double j5Pos = 0; + Vector3d cursor3d; + VkbInputs vkbi; };