vtkTriangleFilter - Generate more triangles?

I am using vtkTraingleFilter to triangulate a vtkUnstructuredGrid.

My goal is to generate a smooth color map. My understanding is that I need more triangles to do this. For example a linear quadrilateral is rendered with two triangles, but I want it to be rendered with say, eight.

How do I achieve this? I was hoping to simply increase the number of triangles that vtkTriangleFilter generates but that doesn’t seem possible. (I am using Activiz btw).

Smoothing after triangulating is not what I want either, as I don’t want smoothing along cell boundaries.


I think the vtkLinearSubdivisionFilter is waht you are looking for. After triangulating, you can make use of vtkLinearSubdivisionFilter to get more triangles. Here is an example:

Hi @Kenichiro-Yoshimi - thank you for taking the time to reply.

I think vtkLinearSubdivisionFilter will subdivide the triangles, but it’s not what I want exactly. Consider a standard linear isoparametric quadrilateral element. When twisted, it takes on a smooth shape due to the quadratic terms in the shape functions. However, VTK by default decides to use two triangles for this element, resulting in a kink. What I want is the triangulation to use more triangles, placing the extra vertices at positions evaluated using the shape function for that cell.

Look at vtkGeometryFilter. It has an option NonlinearSubdivisionLevel that you can set to control how refined each element (cell in VTK parlance) gets.

Looks like that option is not available in VTK 8.2.0 (I am using Activiz) …