Meshing from indices



If I have an array of mesh vertices for instance 6 vertices.

These vertices in array are already sorted in a way that they are in continuous loop.
(Drawing from one vertex to another it is possible to draw a closed polyline)

Are there any method to triangulate such array of id, similarly to mesh from closed polyline, but here it is from array of integers?

(Menno Deij - van Rijswijk) #2

It is possible to build a mesh “from scratch” by first giving it a list of vertices, then specifying each face (ie triangle or quad) as a list of indices. What programming language are you using?


I am using c#. The issue I have a mesh with ngons. But ngons have empty array of faces (producing invalid mesh).
But ngons have a vertex array, that is equal to polyline loops inside mesh.

More simply I am searching what would be approach to triangulate any polygon from array of indices (not coordinates) if I already know that they form a loop (sticking with concave ngons).

Similar problem was mention on wikipedia:

(Menno Deij - van Rijswijk) #4

Well, there is the Polyline.TriangulatePolyline() function, see

It returns a set of MeshFace objects that contain indices that reflect the array indices in the polyline. But I guess that this is nothing more than the series (0, 1, N-2), (N-2, 2, N-3), (N-3, 3, N-4), … to iteratively create triangles out of a closed polygon.

In another post I see that you have hexagons? In that case it might be more useful to add the average point of all 6 points and draw triangles from each edge of the hexagon to the middle point, to give 6 triangles that form the hexagon. It will be nicer than the iterative method.


There is also this method Mesh.CreateFromClosedPolyline, see