public QuickHull(GeoPointsArray3 points) { mPoints = points; mPoints.Distinct(); mVertexCount = mPoints.Size(); mTrianglePlanePoints = new List <QHullTrianglePlanePoints>(); }
public static GeoPointsArray3 BuildConvexHull(GeoPointsArray3 points) { points.Distinct(); GeoPlane plane = new GeoPlane(Vector3.zero, 0); if (IsOnSamePlane(points, ref plane)) { GeoPointsArray2 point2 = new GeoPointsArray2(GeoPlaneUtils.PlaneTransformLocal(points.mPointArray, plane)); point2 = BuildConvexHull(point2); return(new GeoPointsArray3(GeoPlaneUtils.PlaneTransformGlobal(point2.mPointArray, plane))); } else { return(new GeoPointsArray3(QuickHull.BuildHull(points))); } }
public void UniquePoint() { mHitGlobalPoint.Distinct(); }