From 2c3f9c4ba74440de1144bc73c2d5d24289b2ebe5 Mon Sep 17 00:00:00 2001 From: Alexander Krause Date: Tue, 26 May 2015 20:20:45 +0200 Subject: [PATCH] changes of today's benchmark --- ExplorVizGestureControl.v12.suo | Bin 187904 -> 179712 bytes .../Gestures/ContinuousGestureDetector.cs | 67 ++++++++++++------ .../bin/Debug/ExplorVizGestureControl.exe | Bin 247296 -> 246784 bytes .../bin/Debug/ExplorVizGestureControl.pdb | Bin 93696 -> 93696 bytes .../obj/Debug/ExplorVizGestureControl.exe | Bin 247296 -> 246784 bytes 5 files changed, 47 insertions(+), 20 deletions(-) diff --git a/ExplorVizGestureControl.v12.suo b/ExplorVizGestureControl.v12.suo index 090a3469f3760e3b0ca55d76daf9dd50cd14e022..7bce57fc5b94c2af74ae776d407eac8b088746ee 100644 GIT binary patch delta 2314 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 Gp!J_pATR#_ diff --git a/ExplorVizGestureControl/Gestures/ContinuousGestureDetector.cs b/ExplorVizGestureControl/Gestures/ContinuousGestureDetector.cs index f2c72cc..8f4d062 100644 --- a/ExplorVizGestureControl/Gestures/ContinuousGestureDetector.cs +++ b/ExplorVizGestureControl/Gestures/ContinuousGestureDetector.cs @@ -50,8 +50,8 @@ namespace ExplorVizGestureControl.Gestures dynamicValues.Add("scrollAccelerationFactor", 2000); dynamicValues.Add("scrollActivation", 0.05); dynamicValues.Add("zoomVelocity", 250); - dynamicValues.Add("rotationVelocityX", 1000); - dynamicValues.Add("rotationVelocityY", 500); + dynamicValues.Add("rotationVelocityX", 2000); + dynamicValues.Add("rotationVelocityY", 1000); dynamicValues.Add("rotationYActivation", 0.12); scrollTimer = new GestureTimer(dynamicValues["zoomVelocity"]); @@ -91,14 +91,18 @@ namespace ExplorVizGestureControl.Gestures if (key.Equals("zoomVelocity")) scrollTimer.changeTimerCycle(value); } + float oldZZ; + float oldYY; + private void HandleRotation() { - if (gripActive) return; + //if (gripActive) return; if (!rotationActive) { - if (GestureDatabase.ActivateRotation(2.0f)) + //if (GestureDatabase.ActivateRotation(2.0f)) + if (GestureDatabase.HandsAboveSpineBase(1)) { mouse_event(MOUSEEVENTF_RIGHTDOWN, 0, 0, 0, 0); rotationActive = true; @@ -106,21 +110,20 @@ namespace ExplorVizGestureControl.Gestures else { return; } } - if (!GestureDatabase.LeftHandClosed() && - !GestureDatabase.HandsCrossed()) + if (GestureDatabase.LeftHandClosed()) { - if (rotationActive && !GestureDatabase.HandsAboveSpineBase(1, 0.1f)) + /*if (rotationActive && !GestureDatabase.HandsAboveSpineBase(1, 0.1f)) { rotationActive = false; - mouse_event(MOUSEEVENTF_RIGHTUP, 0, 0, 0, 0); + mouse_event(MOUSEEVENTF_RIGHTUP, 0, 0, 0, 0); return; - } + }*/ double distanceZ = 0; double distanceY = 0; - double distanceZHands = GestureDatabase.Joints[(int)JointType.HandLeft].Z - GestureDatabase.Joints[(int)JointType.HandRight].Z; + /*double distanceZHands = GestureDatabase.Joints[(int)JointType.HandLeft].Z - GestureDatabase.Joints[(int)JointType.HandRight].Z; double distanceYHands = GestureDatabase.Joints[(int)JointType.HandLeft].Y - GestureDatabase.Joints[(int)JointType.HandRight].Y; int yDetection = 0; @@ -132,9 +135,31 @@ namespace ExplorVizGestureControl.Gestures distanceY = distanceYHands - (GestureDatabase.PreviousFrameJoints[(int)JointType.HandLeft].Y - GestureDatabase.PreviousFrameJoints[(int)JointType.HandRight].Y); int moveX = (int)(distanceZ * dynamicValues["rotationVelocityX"]); - int moveY = (int)(distanceY * yDetection); + int moveY = (int)(distanceY * yDetection);*/ + + float distanceZHands = GestureDatabase.Joints[(int)JointType.HandLeft].X - GestureDatabase.PreviousFrameJoints[(int)JointType.HandLeft].X; + float distanceYHands = GestureDatabase.Joints[(int)JointType.HandLeft].Y - GestureDatabase.PreviousFrameJoints[(int)JointType.HandLeft].Y; + + int yDetection = 0; + //float handsAbsDistanceY = Math.Abs(Math.Abs(GestureDatabase.Joints[(int)JointType.HandLeft].Y) - Math.Abs(GestureDatabase.Joints[(int)JointType.HandRight].Y)); + + //if (handsAbsDistanceY > dynamicValues["rotationYActivation"]) yDetection = (int)dynamicValues["rotationVelocityY"]; + + yDetection = (int)dynamicValues["rotationVelocityY"]; - Cursor.Position = new Point(Cursor.Position.X, Cursor.Position.Y) + new Size(moveX, moveY); + //distanceZ = distanceZHands - (GestureDatabase.PreviousFrameJoints[(int)JointType.HandLeft].Z - GestureDatabase.PreviousFrameJoints[(int)JointType.HandRight].Z); + //distanceY = distanceYHands - (GestureDatabase.PreviousFrameJoints[(int)JointType.HandLeft].Y - GestureDatabase.PreviousFrameJoints[(int)JointType.HandRight].Y); + + //distanceZ = distanceZHands; + // distanceY = distanceYHands; + + //oldZZ = distanceZHands; + //oldYY = distanceYHands; + + int moveX = (int)(distanceZHands * dynamicValues["rotationVelocityX"]); + int moveY = (int)(distanceYHands * yDetection); + + Cursor.Position = new Point(Cursor.Position.X, Cursor.Position.Y) + new Size(moveX, -moveY); } else if (rotationActive) { @@ -165,7 +190,7 @@ namespace ExplorVizGestureControl.Gestures private void HandleGripAndSelection() { - if (rotationActive) return; + //if (rotationActive) return; if (!GestureDatabase.DragObject() && selectionStatus == 1) { @@ -173,17 +198,19 @@ namespace ExplorVizGestureControl.Gestures selectionTimer.startTimer(); } - if (!GestureDatabase.DragObject() && selectionStatus == 2 && !selectionTimer.busy) + //if (!GestureDatabase.DragObject() && selectionStatus == 2 && !selectionTimer.busy) + if (!GestureDatabase.DragObject() && selectionStatus == 2) { mouse_event(MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP, 0, 0, 0, 0); selectionStatus = 0; } - if (!GestureDatabase.DragObject() && selectionStatus == 3 && selectionTimer.busy) + //if (!GestureDatabase.DragObject() && selectionStatus == 3 && selectionTimer.busy) + if (!GestureDatabase.DragObject() && selectionStatus == 3) { mouse_event(MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP, 0, 0, 0, 0); - Thread.Sleep(150); - mouse_event(MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP, 0, 0, 0, 0); + //Thread.Sleep(150); + // mouse_event(MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP, 0, 0, 0, 0); selectionStatus = 0; } @@ -198,7 +225,7 @@ namespace ExplorVizGestureControl.Gestures float vLength = GestureDatabase.CalculateVectorLength(GestureDatabase.Joints[(int)JointType.HandRight]); - if (selectionStatus == 2 && selectionTimer.busy) selectionStatus = 3; + if (selectionStatus == 2) selectionStatus = 3; // If hand position didn't change 1 cm, do no more processing for this frame if (Math.Abs(rightHandAnchorLength - vLength) < 0.01f) return; @@ -216,8 +243,8 @@ namespace ExplorVizGestureControl.Gestures double distanceY = GestureDatabase.Joints[(int)JointType.HandRight].Y - GestureDatabase.PreviousFrameJoints[(int)JointType.HandRight].Y; - int moveX = (int)(distanceX * 1000); - int moveY = (int)(distanceY * 1000); + int moveX = (int)(distanceX * 3000); + int moveY = (int)(distanceY * 3000); Cursor.Position = new Point(Cursor.Position.X, Cursor.Position.Y) + new Size(moveX, -moveY); } diff --git a/ExplorVizGestureControl/bin/Debug/ExplorVizGestureControl.exe b/ExplorVizGestureControl/bin/Debug/ExplorVizGestureControl.exe index c17e6a9cc30fde4afd7d7f45374f2881ee86c6b6..5141d1fadb28cb5b12ab051ccc8ec01c00c64ec6 100644 GIT binary patch delta 15576 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 delta 6636 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 j%7>j#Oi`}4nkPi}7EDw=+br)G-}%54<@