Posts: 15

Getting iso-lines of surfaces is slow



I am trying to draw surface iso-parametric lines to visualize the segmentation.

The results are good, but only issue I face is performance.

Highly segmented surfaces, especially trimmed faces, are the slowest.


I have tried multiple approaches:

  1. Using Snippet api_subdivide_face (without the face-split option)
    • This is slow for full spline surfaces as well as trimmed surfaces when segmentation is high.
  2. Using api_face_nu_nv_isolines
    • This is extremely performant when used for full spline surfaces, but relatively slow for trimmed surfaces.
    • Since the api treats the trimmed surface as full surface, the segmentation obtained for trimmed surface is different than that of its underlying geometry.
    • To counter this issue, I pass the full spline surface, get the segmentation, and then compute the intersections of the obtained edges with the actual trimmed surface using api_edfa_int.
    • However, this last step of api_edfa_int is again very slow, and the overall performance of the operation really takes a hit here.

Is there a different way to achieve this in a fast way?