47 lines
1.3 KiB
C#
47 lines
1.3 KiB
C#
using RootSystem = System;
|
|
using System.Linq;
|
|
using System.Collections.Generic;
|
|
namespace Windows.Kinect
|
|
{
|
|
//
|
|
// Windows.Kinect.Joint
|
|
//
|
|
[RootSystem.Runtime.InteropServices.StructLayout(RootSystem.Runtime.InteropServices.LayoutKind.Sequential)]
|
|
public struct Joint
|
|
{
|
|
public Windows.Kinect.JointType JointType { get; set; }
|
|
public Windows.Kinect.CameraSpacePoint Position { get; set; }
|
|
public Windows.Kinect.TrackingState TrackingState { get; set; }
|
|
|
|
public override int GetHashCode()
|
|
{
|
|
return JointType.GetHashCode() ^ Position.GetHashCode() ^ TrackingState.GetHashCode();
|
|
}
|
|
|
|
public override bool Equals(object obj)
|
|
{
|
|
if (!(obj is Joint))
|
|
{
|
|
return false;
|
|
}
|
|
|
|
return this.Equals((Joint)obj);
|
|
}
|
|
|
|
public bool Equals(Joint obj)
|
|
{
|
|
return JointType.Equals(obj.JointType) && Position.Equals(obj.Position) && TrackingState.Equals(obj.TrackingState);
|
|
}
|
|
|
|
public static bool operator ==(Joint a, Joint b)
|
|
{
|
|
return a.Equals(b);
|
|
}
|
|
|
|
public static bool operator !=(Joint a, Joint b)
|
|
{
|
|
return !(a.Equals(b));
|
|
}
|
|
}
|
|
|
|
}
|