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
 
bool m_is_on_input = false
 
bool m_is_on_offset = false
 
bool m_is_on_region = false
 
int64_t m_corr_input_vid = -1
 
uint32_t m_born_epoch = 0
 
double m_front_change = 0.
 
int m_front_change_group = -1
 

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

Which split pass created this vertex, from wmtk::TetOptimizerMesh::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_corr_input_vid

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

The input-complex vertex this offset vertex was split off from by marching_tets(): 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 2D twin is VertexExtra2d::m_corr_input_vid.

◆ m_front_change

double wmtk::components::topological_offset::VertexExtra::m_front_change = 0.

How much the vertex's latest front solve changed its own error, |r(after) - r(before)| / front_conv_frac() (r = relative_residual()), in bars – 0 for a move that was refused and rolled back – and the operation group that solve ran in (TopoOffsetTetMesh::m_smooth_group; -1 = none yet). The debug frames' front_last_change.


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