Skip to content
  • Mark OLESEN's avatar
    ENH: mergePoints and patch gatherAndMerge improvements (#2402) · 24c0b30d
    Mark OLESEN authored
    - when writing surface formats (eg, vtk, ensight etc) the sampled
      surfaces merge the faces/points originating from different
      processors into a single surface (ie, patch gatherAndMerge).
    
      Previous versions of mergePoints simply merged all points possible,
      which proves to be rather slow for larger meshes. This has now been
      modified to only consider boundary points, which reduces the number
      of points to consider. As part of this change, the reference point
      is now always equivalent to the min of the bounding box, which
      reduces the number of search loops. The merged points retain their
      original order.
    
    - inplaceMergePoints version to simplify use and improve code
      robustness and efficiency.
    
    ENH: make PrimitivePatch::boundaryPoints() less costly
    
    - if edge addressing does not already exist, it will now simply walk
      the local face edges directly to define the boundary points.
    
      This avoids a rather large overhead of the full faceFaces,
      edgeFaces, faceEdges addressing.
    
      This operation is now more important since it is used in the revised
      patch gatherAndMerge.
    
    ENH: topological merge for mesh-based surfaces in surfaceFieldValue
    24c0b30d