58 lines
2.1 KiB
C#
58 lines
2.1 KiB
C#
using RootSystem = System;
|
|
using System.Linq;
|
|
using System.Collections.Generic;
|
|
namespace Windows.Kinect
|
|
{
|
|
//
|
|
// Windows.Kinect.CameraIntrinsics
|
|
//
|
|
[RootSystem.Runtime.InteropServices.StructLayout(RootSystem.Runtime.InteropServices.LayoutKind.Sequential)]
|
|
public struct CameraIntrinsics
|
|
{
|
|
public float FocalLengthX { get; set; }
|
|
public float FocalLengthY { get; set; }
|
|
public float PrincipalPointX { get; set; }
|
|
public float PrincipalPointY { get; set; }
|
|
public float RadialDistortionSecondOrder { get; set; }
|
|
public float RadialDistortionFourthOrder { get; set; }
|
|
public float RadialDistortionSixthOrder { get; set; }
|
|
|
|
public override int GetHashCode()
|
|
{
|
|
return FocalLengthX.GetHashCode() ^ FocalLengthY.GetHashCode() ^
|
|
PrincipalPointX.GetHashCode() ^ PrincipalPointY.GetHashCode() ^
|
|
RadialDistortionSecondOrder.GetHashCode() ^ RadialDistortionFourthOrder.GetHashCode() ^
|
|
RadialDistortionSixthOrder.GetHashCode();
|
|
}
|
|
|
|
public override bool Equals(object obj)
|
|
{
|
|
if (!(obj is CameraIntrinsics))
|
|
{
|
|
return false;
|
|
}
|
|
|
|
return this.Equals((CameraIntrinsics)obj);
|
|
}
|
|
|
|
public bool Equals(CameraIntrinsics obj)
|
|
{
|
|
return FocalLengthX.Equals(obj.FocalLengthX) && FocalLengthY.Equals(obj.FocalLengthY) &&
|
|
PrincipalPointX.Equals(obj.PrincipalPointX) && PrincipalPointY.Equals(obj.PrincipalPointY) &&
|
|
RadialDistortionSecondOrder.Equals(obj.RadialDistortionSecondOrder) &&
|
|
RadialDistortionFourthOrder.Equals(obj.RadialDistortionFourthOrder) &&
|
|
RadialDistortionSixthOrder.Equals(obj.RadialDistortionSixthOrder);
|
|
}
|
|
|
|
public static bool operator ==(CameraIntrinsics a, CameraIntrinsics b)
|
|
{
|
|
return a.Equals(b);
|
|
}
|
|
|
|
public static bool operator !=(CameraIntrinsics a, CameraIntrinsics b)
|
|
{
|
|
return !(a.Equals(b));
|
|
}
|
|
}
|
|
|
|
}
|