using System.Drawing; namespace View_by_Distance.Shared.Models.Stateless.Methods; public interface ILocation { // ... Models.Location? TestStatic_GetLocation(int height, Rectangle rectangle, int width) => GetLocation(height, rectangle, width); static Models.Location? GetLocation(int height, Rectangle rectangle, int width) => Location.GetLocation(height, rectangle, width); List TestStatic_FilterByIntersect(Models.Face[] faces, int normalizedRectangle, float rectangleIntersectMinimum) => FilterByIntersect(faces, normalizedRectangle, rectangleIntersectMinimum); static List FilterByIntersect(Models.Face[] faces, int normalizedRectangle, float rectangleIntersectMinimum) => Location.FilterByIntersect(faces, normalizedRectangle, rectangleIntersectMinimum); Rectangle? TestStatic_GetRectangle(DatabaseFile databaseFile, Marker marker, Models.OutputResolution outputResolution) => GetRectangle(databaseFile, marker, outputResolution); static Rectangle? GetRectangle(DatabaseFile databaseFile, Marker marker, Models.OutputResolution outputResolution) => Location.GetRectangle(databaseFile, marker, outputResolution); Models.Location? TestStatic_GetLocation(DatabaseFile databaseFile, Marker marker, Models.OutputResolution outputResolution) => GetLocation(databaseFile, marker, outputResolution); static Models.Location? GetLocation(DatabaseFile databaseFile, Marker marker, Models.OutputResolution outputResolution) => Location.GetLocation(databaseFile, marker, outputResolution); List TestStatic_GetLocations(List mappingFromPhotoPrismCollection, List faces, List> containers) => GetLocations(mappingFromPhotoPrismCollection, faces, containers); static List GetLocations(List mappingFromPhotoPrismCollection, List faces, List> containers) => Location.GetLocations(mappingFromPhotoPrismCollection, faces, containers); Rectangle? TestStatic_GetNormalizedRectangle(int locationDigits, int normalizedRectangle) => GetNormalizedRectangle(locationDigits, normalizedRectangle); static Rectangle? GetNormalizedRectangle(int locationDigits, int normalizedRectangle) => Location.GetNormalizedRectangle(locationDigits, normalizedRectangle.ToString()); Rectangle? TestStatic_GetRectangle(int locationDigits, int normalizedRectangle, Models.OutputResolution outputResolution) => GetRectangle(locationDigits, normalizedRectangle, outputResolution); static Rectangle? GetRectangle(int locationDigits, int normalizedRectangle, Models.OutputResolution outputResolution) => Location.GetRectangle(locationDigits, normalizedRectangle.ToString(), outputResolution); string TestStatic_GetLeftPadded(int locationDigits, string value) => GetLeftPadded(locationDigits, value); static string GetLeftPadded(int locationDigits, string value) => Location.GetLeftPadded(locationDigits, value); int TestStatic_GetConfidencePercent(int faceConfidencePercent, float[] rangeFaceConfidence, double confidence) => GetConfidencePercent(faceConfidencePercent, rangeFaceConfidence, confidence); static int GetConfidencePercent(int faceConfidencePercent, float[] rangeFaceConfidence, double confidence) => Location.GetConfidencePercent(faceConfidencePercent, rangeFaceConfidence, confidence); string TestStatic_GetLeftPadded(int locationDigits, int value) => GetLeftPadded(locationDigits, value); static string GetLeftPadded(int locationDigits, int value) => GetLeftPadded(locationDigits, value.ToString()); Models.Location? TestStatic_GetLocation(Models.Location? location, int locationDigits, int locationFactor, int height, int width, int zCount) => GetLocation(location, locationDigits, locationFactor, height, width, zCount); static Models.Location? GetLocation(Models.Location? location, int locationDigits, int locationFactor, int height, int width, int zCount) => location is null ? null : new(location.Confidence, height, location, locationDigits, locationFactor, width, zCount); Models.Location? TestStatic_GetLocation(int factor, Models.Location? location, int locationDigits, int locationFactor, int height, int width, int zCount) => GetLocation(factor, location, locationDigits, locationFactor, height, width, zCount); static Models.Location? GetLocation(int factor, Models.Location? location, int locationDigits, int locationFactor, int height, int width, int zCount) => location is null ? null : new(location.Confidence, factor, height, location, locationDigits, locationFactor, width, zCount); (decimal?, decimal?, decimal?, decimal?) TestStatic_GetHeightLeftTopWidth(int bottom, int height, int left, int right, int top, int width) => GetHeightLeftTopWidth(bottom, height, left, right, top, width); static (decimal?, decimal?, decimal?, decimal?) GetHeightLeftTopWidth(int bottom, int height, int left, int right, int top, int width) => Location.GetHeightLeftTopWidth(bottom, height, left, right, top, width, zCount: 1); (decimal?, decimal?, decimal?, decimal?) TestStatic_GetHeightLeftTopWidth(int height, int left, int top, int width) => GetHeightLeftTopWidth(height, left, top, width); static (decimal?, decimal?, decimal?, decimal?) GetHeightLeftTopWidth(int height, int left, int top, int width) => Location.GetHeightLeftTopWidth(top + height, height, left, left + width, top, width, zCount: 1); (decimal?, decimal?, decimal?, decimal?) TestStatic_GetHeightLeftTopWidth(Models.Location location, Models.OutputResolution outputResolution) => GetHeightLeftTopWidth(location, outputResolution); static (decimal?, decimal?, decimal?, decimal?) GetHeightLeftTopWidth(Models.Location location, Models.OutputResolution outputResolution) => Location.GetHeightLeftTopWidth(location.Bottom, OutputResolution.Get(outputResolution).Height, location.Left, location.Right, location.Top, OutputResolution.Get(outputResolution).Width, zCount: 1); int TestStatic_GetNormalizedRectangle(Models.Location location, int locationDigits, Models.OutputResolution outputResolution) => GetNormalizedRectangle(location, locationDigits, outputResolution); static int GetNormalizedRectangle(Models.Location location, int locationDigits, Models.OutputResolution outputResolution) => Location.GetNormalizedRectangle(location.Bottom, OutputResolution.Get(outputResolution).Height, location.Left, locationDigits, location.Right, location.Top, OutputResolution.Get(outputResolution).Width, zCount: 1); int TestStatic_GetNormalizedRectangle(int locationDigits) => GetNormalizedRectangle(locationDigits); static int GetNormalizedRectangle(int locationDigits) => Location.GetNormalizedRectangle(1, 1, 0, locationDigits, 1, 0, 1, zCount: 1); int TestStatic_GetNormalizedRectangle(int bottom, int height, int left, int locationDigits, int right, int top, int width) => GetNormalizedRectangle(bottom, height, left, locationDigits, right, top, width); static int GetNormalizedRectangle(int bottom, int height, int left, int locationDigits, int right, int top, int width) => Location.GetNormalizedRectangle(bottom, height, left, locationDigits, right, top, width, zCount: 1); Models.Location TestStatic_GetTrimBound(double detectionConfidence, Rectangle rectangle, int width, int height, int facesCount) => TrimBound(detectionConfidence, rectangle, width, height, facesCount); static Models.Location TrimBound(double detectionConfidence, Rectangle rectangle, int width, int height, int facesCount) => new(Math.Min(rectangle.Bottom, height), detectionConfidence, height, Math.Max(rectangle.Left, 0), Stateless.ILocation.Digits, Stateless.ILocation.Factor, Math.Min(rectangle.Right, width), Math.Max(rectangle.Top, 0), width, facesCount); }