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);
        }
Esempio n. 3
0
        public TerrainMesh()
        {
            IConvexHullEngine convexHullEngine = new ConvexHullEngine();

            terrain = new HeightMapMesh(
                "heightmap.png",
                convexHullEngine,
                0,
                10,
                1,
                50);
        }
Esempio n. 4
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);
        }