internal void SetConcaveCommonGeometry() { if (Geometry.ConvexItem == null) { IConvexHullEngine convexHullEngine = new ConvexHullEngine(); Geometry.SetConcaveElements(GetShapeGeometry(convexHullEngine)); } }
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 TerrainMesh() { IConvexHullEngine convexHullEngine = new ConvexHullEngine(); terrain = new HeightMapMesh( "heightmap.png", convexHullEngine, 0, 10, 1, 50); }
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); }