public void BuildMeshFromGeometry()
{
triMesh = new TriangleNet.Mesh();
triMesh.behavior.Quality = true;
triMesh.behavior.MinAngle = 1f;
triMesh.Triangulate(Geometry);
// var statistic = new Statistic();
// statistic.Update(triMesh, 1);
// Refine by setting a custom maximum area constraint.
//triMesh.Refine(statistic.LargestArea / 4);
//triMesh.Smooth();
triMesh.Renumber();
UniMesh.vertices = TriangleConverter.ConverteVertices(triMesh.Vertices);
UniMesh.RecalculateNormals();
UniMesh.triangles = TriangleConverter.ConverteTriangles(triMesh.Triangles);
UniMesh.uv = TriangleConverter.ConverteUVs(triMesh);
Debug.Log(string.Format("width {0:0.00}, height {1:0.00}; min {2:0.00}, {3:0.00}; max {4:0.00}, {5:0.00}",
triMesh.Bounds.Width, triMesh.Bounds.Height,
triMesh.Bounds.Xmin, triMesh.Bounds.Ymin,
triMesh.Bounds.Xmax, triMesh.Bounds.Ymax));
}