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);
        }
Esempio n. 2
0
        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);
        }