Wildmeshing Toolkit
Loading...
Searching...
No Matches
Public Attributes | List of all members
wmtk::utils::EmbedTrianglesProvenance Struct Reference

Which input triangles each output surface face came from. More...

#include <EmbedTriangles.hpp>

Public Attributes

std::vector< std::array< uint32_t, 2 > > face_groups
 
std::vector< uint32_t > triangle_group
 

Detailed Description

Which input triangles each output surface face came from.

The arrangement answers this per coplanar group rather than per input triangle: the remesher first partitions the input into maximal sets of triangles that are transitively edge-adjacent and exactly coplanar, then tracks which output faces tile each set. A flat region tiled by many input triangles is therefore one group, and – the case to design around – a group can span triangles from several input surfaces where they meet coplanarly along a shared edge.

Optional: pass nullptr (the default) if the boolean polygon_faces_on_input is enough, as it is for tetwild, and neither vector is built.

Member Data Documentation

◆ face_groups

std::vector<std::array<uint32_t, 2> > wmtk::utils::EmbedTrianglesProvenance::face_groups

(facet, coplanar group) pairs, sorted, indexing polygon_faces. Only facets on the input surface appear, and a facet where two exactly-coplanar groups meet appears once per group.

◆ triangle_group

std::vector<uint32_t> wmtk::utils::EmbedTrianglesProvenance::triangle_group

Per input triangle (same indexing as triangle_indices): its coplanar group, or UINT32_MAX if it was degenerate and dropped before the arrangement.


The documentation for this struct was generated from the following file: