Wildmeshing Toolkit
Loading...
Searching...
No Matches
Public Attributes | List of all members
wmtk::components::topological_offset::VertexExtra2d Class Reference

Per-vertex data the shared 2D optimizer knows nothing about. More...

#include <TopoOffsetTriMesh.h>

Public Attributes

int label = 0
 
bool m_is_on_input = false
 
bool m_is_on_offset = false
 
bool m_is_on_region = false
 
uint64_t m_boundary_mask = 0
 Which tag boundaries this vertex lies on – one bit per input tag, ambient included. See TopoOffsetTriMesh::m_tag_envelopes for what the bits dispatch to.
 
int64_t m_corr_input_vid = -1
 
uint32_t m_born_epoch = 0
 

Detailed Description

Per-vertex data the shared 2D optimizer knows nothing about.

Position, rounding, bbox membership, sizing and partition all live on wmtk::TriOptimizerMesh::VertexAttributes. The three flags here say which tracked surface a vertex belongs to; the base's m_is_on_surface is their union, and they are not exclusive – a vertex where the offset boundary meets another region's boundary carries both.

Member Data Documentation

◆ m_born_epoch

uint32_t wmtk::components::topological_offset::VertexExtra2d::m_born_epoch = 0

Which split pass created this vertex, from wmtk::TriOptimizerMesh::m_op_epoch; 0 means not created by an optimization split. Read only by the needle diagnostics' per-vertex lines. Assigned at each split, never OR'd – a recycled slot carries a dead vertex's epoch.

◆ m_boundary_mask

uint64_t wmtk::components::topological_offset::VertexExtra2d::m_boundary_mask = 0

Which tag boundaries this vertex lies on – one bit per input tag, ambient included. See TopoOffsetTriMesh::m_tag_envelopes for what the bits dispatch to.

Seeded in init_surfaces_and_boundaries() from the input partition, then propagated by the operations: a split's new vertex takes the AND of its endpoints (it lies on a boundary only if the whole edge did), a collapse's survivor the OR (it carries both vertices' geometry).

◆ m_corr_input_vid

int64_t wmtk::components::topological_offset::VertexExtra2d::m_corr_input_vid = -1

The input-complex vertex this offset vertex was split off from by marching_tris(): the marched edge's endpoint on the complex. -1 for every vertex the march did not make. Written into the output .msh by save_offset_correspondence; not maintained by the optimization. The 3D twin is VertexExtra::m_corr_input_vid.


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