|
@@ -7,19 +7,21 @@ using bbiwarg.Recognition.FingerRecognition;
|
|
using bbiwarg.Recognition.PalmRecognition;
|
|
using bbiwarg.Recognition.PalmRecognition;
|
|
using bbiwarg.Utility;
|
|
using bbiwarg.Utility;
|
|
|
|
|
|
|
|
+using bbiwarg.Recognition.HandRecognition;
|
|
|
|
+
|
|
namespace bbiwarg.Recognition.TouchRecognition
|
|
namespace bbiwarg.Recognition.TouchRecognition
|
|
{
|
|
{
|
|
class PalmTouchDetector
|
|
class PalmTouchDetector
|
|
{
|
|
{
|
|
public List<PalmTouchEvent> PalmTouchEvents { get; private set; }
|
|
public List<PalmTouchEvent> PalmTouchEvents { get; private set; }
|
|
|
|
|
|
- public PalmTouchDetector(List<TouchEvent> touchEvents, Quadrangle palmQuad)
|
|
|
|
|
|
+ public PalmTouchDetector(List<TouchEvent> touchEvents, Quadrangle palmQuad, Hand.HandSide side)
|
|
{
|
|
{
|
|
PalmTouchEvents = new List<PalmTouchEvent>();
|
|
PalmTouchEvents = new List<PalmTouchEvent>();
|
|
|
|
|
|
foreach (TouchEvent touchEvent in touchEvents)
|
|
foreach (TouchEvent touchEvent in touchEvents)
|
|
{
|
|
{
|
|
- Vector2D relativePos = palmQuad.getRelativePosition(touchEvent.Position);
|
|
|
|
|
|
+ Vector2D relativePos = palmQuad.getRelativePosition(touchEvent.Position, side);
|
|
if (relativePos.X >= 0 && relativePos.X <= 1.0 && relativePos.Y >= 0 && relativePos.Y <= 1.0)
|
|
if (relativePos.X >= 0 && relativePos.X <= 1.0 && relativePos.Y >= 0 && relativePos.Y <= 1.0)
|
|
{
|
|
{
|
|
PalmTouchEvent pte = new PalmTouchEvent(touchEvent.Position, relativePos, touchEvent.FloodValue, touchEvent.Finger);
|
|
PalmTouchEvent pte = new PalmTouchEvent(touchEvent.Position, relativePos, touchEvent.FloodValue, touchEvent.Finger);
|