AutoStereogramDemo.AutoStereogramBuilder.GetConvexHullProjBoundaries C# (CSharp) Метод

GetConvexHullProjBoundaries() публичный Метод

public GetConvexHullProjBoundaries ( Point3D points, bool isLeft ) : Rectangle2D
points Point3D
isLeft bool
Результат Rectangle2D
        public Rectangle2D<int> GetConvexHullProjBoundaries(Point3D[] points, bool isLeft)
        {
            int xProjMin = XResolutionInternal - 1, xProjMax = 0, yProjMin = YResolution - 1, yProjMax = 0;

            foreach (Point3D point in points)
            {
                int xProj = GetXProj(point.X, point.Z, isLeft);
                int yProj = GetYProj(point.Y, point.Z);

                xProjMin = Math.Min(xProj, xProjMin);
                xProjMax = Math.Max(xProj, xProjMax);
                yProjMin = Math.Min(yProj, yProjMin);
                yProjMax = Math.Max(yProj, yProjMax);
            }

            return new Rectangle2D<int> { X1 = Math.Max(xProjMin, 0), X2 = Math.Min(xProjMax, XResolutionInternal - 1),
             Y1 = Math.Max(yProjMin, 0), Y2 = Math.Min(yProjMax, YResolution - 1) };
        }