public ShapeGeometry(Vector3d[] inputVertexPosition) { IConvexHullEngine convexHullEngine = new ConvexHullEngine(); ConvexHullData convexHullData = convexHullEngine.GetConvexHull(inputVertexPosition); TriangleMesh[] triangleMeshes = convexHullData.TriangleMeshes; Geometry = new CommonGeometry( Array.ConvertAll(convexHullData.Vertices, x => x.Vector3), triangleMeshes); }
public static ConvexHull ExtractConvexHull(double[][] vertex) { IConvexHullEngine convexHullEngine = new ConvexHullEngine(); var inputVertex = GeometryUtils.GetVector3ArrayFromMatrix(vertex); ConvexHullData convexHullData = convexHullEngine.GetConvexHull(inputVertex); var result = new ConvexHull() { Triangles = convexHullData.TriangleMeshes.Select(x => x.GetArray())?.ToArray(), Vertices = MathUtils.GetArrayFromVector3(Array.ConvertAll(convexHullData.Vertices, x => x.Vector3)) }; return(result); }