using BBIWARG.Recognition.FingerRecognition;
using BBIWARG.Recognition.PalmRecognition;
using BBIWARG.Recognition.Tracking;
using BBIWARG.Utility;
namespace BBIWARG.Recognition.TouchRecognition
{
///
/// Represents a touch (Finger touching a Palm)
///
public class Touch : TrackableObject
{
///
/// the absolute position of the touch
///
public Vector2D AbsolutePosition { get; private set; }
///
/// the touching finger
///
public Finger Finger { get; private set; }
///
/// the touched palm
///
public Palm Palm { get; private set; }
///
/// the relative position of the touch within the palm quad
///
public Vector2D RelativePosition { get; private set; }
///
/// Initializes a new instance of the Touch class.
///
/// The absolute position.
/// The touching finger.
/// The touched palm.
public Touch(Vector2D absolutePosition, Finger finger, Palm palm)
{
AbsolutePosition = absolutePosition;
RelativePosition = palm.getRelativePosition(absolutePosition);
Finger = finger;
Palm = palm;
finger.Touch = this;
}
}
}