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

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

#include <TopoOffsetTetMesh.h>

Public Attributes

int label = 0
 
size_t component_id = 0
 
bool m_is_on_input = false
 
bool m_is_on_offset = false
 
bool m_is_on_region = false
 
Vector3d m_turn_start = Vector3d::Zero()
 
bool m_turn_start_valid = false
 
uint64_t m_boundary_mask = 0
 Which tag boundaries this vertex lies on – one bit per input tag, ambient included. See TopoOffsetTetMesh::m_tag_envelopes for what the bits dispatch to.
 
uint32_t m_born_epoch = 0
 

Detailed Description

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

Position, rounding, bbox membership, order, sizing and partition live on wmtk::TetOptimizerMesh::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 surface meets another region's boundary carries both. The 2D twin is VertexExtra2d.

Member Data Documentation

◆ m_born_epoch

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

Churn instrumentation: which split pass created this vertex, from wmtk::TetOptimizerMesh::m_op_epoch; 0 means not created by an optimization split. Read only by collapse_after_vertex(). 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::VertexExtra::m_boundary_mask = 0

Which tag boundaries this vertex lies on – one bit per input tag, ambient included. See TopoOffsetTetMesh::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_turn_start

Vector3d wmtk::components::topological_offset::VertexExtra::m_turn_start = Vector3d::Zero()

Where this vertex stood at the start of the turn. Written every turn (and before the pre_smooth block); read by nothing since the per-vertex convergence states were removed.


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