SegmentB, personKey,

personKeyFormatted and Sorting
This commit is contained in:
2022-09-01 01:18:08 -07:00
parent d4c950e8e3
commit 73de1070b8
17 changed files with 847 additions and 573 deletions

View File

@ -10,21 +10,25 @@ public class Face : Properties.IFace
protected List<FaceDistance> _FaceDistances;
protected FaceEncoding? _FaceEncoding;
protected Dictionary<Stateless.FacePart, FacePoint[]>? _FaceParts;
protected List<int[]>? _FaceNumbers;
protected readonly OutputResolution? _OutputResolution;
protected Location? _Location;
protected readonly int? _LocationIndex;
protected readonly string _RelativePath;
protected List<object> _Tags;
public DateTime DateTime => _DateTime;
public List<FaceDistance> FaceDistances => _FaceDistances;
public FaceEncoding? FaceEncoding => _FaceEncoding;
public Dictionary<Stateless.FacePart, FacePoint[]>? FaceParts => _FaceParts;
public List<int[]>? FaceNumbers => _FaceNumbers;
public Location? Location => _Location;
public int? LocationIndex => _LocationIndex;
public OutputResolution? OutputResolution => _OutputResolution;
public string RelativePath => _RelativePath;
public List<object> Tags => _Tags;
[JsonConstructor]
public Face(DateTime dateTime, List<FaceDistance> faceDistances, FaceEncoding? faceEncoding, Dictionary<Stateless.FacePart, FacePoint[]>? faceParts, Location? location, int? locationIndex, OutputResolution? outputResolution, string relativePath)
public Face(DateTime dateTime, List<FaceDistance> faceDistances, FaceEncoding? faceEncoding, Dictionary<Stateless.FacePart, FacePoint[]>? faceParts, List<int[]>? faceNumbers, Location? location, int? locationIndex, OutputResolution? outputResolution, string relativePath)
{
if (faceDistances is null)
faceDistances = new();
@ -32,36 +36,38 @@ public class Face : Properties.IFace
_FaceDistances = faceDistances;
_FaceEncoding = faceEncoding;
_FaceParts = faceParts;
_FaceNumbers = faceNumbers;
_Location = location;
_LocationIndex = locationIndex;
_OutputResolution = outputResolution;
_RelativePath = relativePath;
_Tags = new();
}
public Face() :
this(DateTime.MinValue, new(), null, null, null, null, null, string.Empty)
this(DateTime.MinValue, new(), null, null, null, null, null, null, string.Empty)
{ }
public Face(Location location) :
this(DateTime.MinValue, new(), null, null, location, null, null, string.Empty)
this(DateTime.MinValue, new(), null, null, null, location, null, null, string.Empty)
{ }
public Face(int facesCount, Face face) :
this(face.DateTime, new(), face.FaceEncoding, face.FaceParts, face.Location, face.LocationIndex, face.OutputResolution, face.RelativePath)
this(face.DateTime, new(), face.FaceEncoding, face.FaceParts, null, face.Location, face.LocationIndex, face.OutputResolution, face.RelativePath)
{
if (face.Location?.Confidence is not null && face.OutputResolution is not null)
_Location = new(face.Location.Confidence, face.OutputResolution.Height, face.Location, face.OutputResolution.Width, facesCount);
}
public Face(int outputResolutionWidth, int outputResolutionHeight, int outputResolutionOrientation, Face face) :
this(face.DateTime, new(), face.FaceEncoding, face.FaceParts, face.Location, face.LocationIndex, null, face.RelativePath)
this(face.DateTime, new(), face.FaceEncoding, face.FaceParts, null, face.Location, face.LocationIndex, null, face.RelativePath)
{
if (outputResolutionHeight > 0)
_OutputResolution = new(outputResolutionHeight, outputResolutionOrientation, outputResolutionWidth);
}
public Face(Property property, int outputResolutionWidth, int outputResolutionHeight, int outputResolutionOrientation, string relativePath, int? i, Location? location) :
this(DateTime.MinValue, new(), null, null, location, i, null, relativePath)
this(DateTime.MinValue, new(), null, null, null, location, i, null, relativePath)
{
DateTime?[] dateTimes;
_OutputResolution = new(outputResolutionHeight, outputResolutionOrientation, outputResolutionWidth);
@ -78,4 +84,7 @@ public class Face : Properties.IFace
public void SetFaceEncoding(FaceEncoding faceEncoding) => _FaceEncoding = faceEncoding;
public void SetFaceParts(Dictionary<Stateless.FacePart, FacePoint[]> faceParts) => _FaceParts = faceParts;
public void SetFaceNumbers(List<int[]> faceNumbers) => _FaceNumbers = faceNumbers;
}