1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using bbiwarg.Recognition.HandRecognition;
- using bbiwarg.Recognition.Tracking;
- using bbiwarg.Utility;
- namespace bbiwarg.Recognition.PalmRecognition
- {
- class Palm : TrackableObject
- {
- public Hand Hand { get; private set; }
- public Vector2D WristUpper { get; private set; }
- public Vector2D WristLower { get; private set; }
- public Vector2D FingersUpper { get; private set; }
- public Vector2D FingersLower { get; private set; }
- public Quadrangle Quad { get; private set; }
- public Palm(Hand hand, Vector2D wristUpper, Vector2D wristLower, Vector2D fingersLower, Vector2D fingersUpper)
- {
- Hand = hand;
- WristUpper = wristUpper;
- WristLower = wristLower;
- FingersUpper = fingersUpper;
- FingersLower = fingersLower;
- if (Hand.Side == HandSide.Left)
- Quad = new Quadrangle(WristUpper, FingersUpper, FingersLower, WristLower);
- else
- Quad = new Quadrangle(FingersUpper, WristUpper, WristLower, FingersLower);
- }
- public Vector2D getRelativePosition(Vector2D absolutePosition) {
- return Quad.getRelativePosition(absolutePosition);
- }
- public bool isInside(Vector2D position) {
- return Quad.isInside(position);
- }
- }
- }
|