.vscode
Compare
Date-Group
FaceRecognitionDotNet
Instance
Metadata
Not-Copy-Copy
PrepareForOld
Property
Property-Compare
Resize
Shared
.vscode
Models
Methods
Properties
Stateless
%ClassName%.cs .ai
Console.cs
DirectoryFileSystem.cs
Face.cs
FaceEncoding.cs
FaceFileSystem.cs
FacePoint.cs
FileSystem.cs
Location.cs
MetadataFile.cs
MetadataFileCollection.cs
MetadataFileId.cs
Navigate.cs
OutputResolution.cs
Person.cs
PersonAddress.cs
PersonAddressCity.cs
PersonAddressState.cs
PersonAddressStreet.cs
PersonAddressZipCode.cs
PersonBirthday.cs
PersonComment.cs
PersonEmail.cs
PersonId.cs
PersonImport.cs
PersonName.cs
PersonNameAlias.cs
PersonNameFirst.cs
PersonNameLast.cs
PersonNameMiddle.cs
PersonNumber.cs
PersonURL.cs
Property.cs
RelativePaths.cs
Storage.cs
Phares
Sample-Data
View-by-Distance.Shared.csproj
Tests
TestsWithFaceRecognitionDotNet
.editorconfig
.gitattributes
.gitignore
.txt
View-by-Distance-MKLink-Console.sln
package.json
61 lines
1.6 KiB
C#
61 lines
1.6 KiB
C#
using System.Drawing;
|
|
using System.Text.Json;
|
|
using System.Text.Json.Serialization;
|
|
using View_by_Distance.Shared.Models.Methods;
|
|
|
|
namespace View_by_Distance.Shared.Models;
|
|
|
|
public class FacePoint : Properties.IFacePoint, IFacePoint
|
|
{
|
|
|
|
protected int _Index;
|
|
protected int _X;
|
|
protected int _Y;
|
|
public int Index => _Index;
|
|
public int X => _X;
|
|
public int Y => _Y;
|
|
|
|
private readonly Point _Point;
|
|
|
|
[JsonConstructor]
|
|
public FacePoint(int index, int x, int y)
|
|
{
|
|
_Index = index;
|
|
_X = x;
|
|
_Y = y;
|
|
_Point = new(x, y);
|
|
}
|
|
|
|
public FacePoint(Point point, int index) :
|
|
this(index, point.X, point.Y)
|
|
{ }
|
|
|
|
public override bool Equals(object? obj) => obj is FacePoint point && Equals(point);
|
|
|
|
public override string ToString()
|
|
{
|
|
string result = JsonSerializer.Serialize(this, new JsonSerializerOptions() { WriteIndented = true });
|
|
return result;
|
|
}
|
|
|
|
public override int GetHashCode()
|
|
{
|
|
int hashCode = 1861411795;
|
|
hashCode = hashCode * -1521134295 + _Point.GetHashCode();
|
|
hashCode = hashCode * -1521134295 + _Index.GetHashCode();
|
|
return hashCode;
|
|
}
|
|
|
|
public bool Equals(FacePoint? facePoint)
|
|
{
|
|
return facePoint is not null
|
|
&& _X == facePoint.X
|
|
&& _Y == facePoint.Y
|
|
&& _Index == facePoint.Index;
|
|
}
|
|
|
|
public static bool operator ==(FacePoint point1, FacePoint point2) => point1.Equals(point2);
|
|
|
|
public static bool operator !=(FacePoint point1, FacePoint point2) => !(point1 == point2);
|
|
|
|
} |