Wildmeshing Toolkit
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | List of all members
wmtk::SurfaceTagAttributes Class Reference

Whether a codimension-1 simplex is tracked surface, and which bbox side it lies on. More...

#include <SurfaceTagAttributes.h>

Public Member Functions

void reset ()
 
void merge (const SurfaceTagAttributes &attr)
 

Public Attributes

bool m_is_surface_fs = false
 Is this simplex part of the tracked surface.
 
int m_is_bbox_fs = -1
 Which bbox side this simplex is on; -1 for none.
 
int m_surface_class = 0
 Which tracked surface this simplex belongs to, for applications that track more than one.
 

Detailed Description

Whether a codimension-1 simplex is tracked surface, and which bbox side it lies on.

The 3D meshes attach this to faces, the 2D meshes to edges; the four copies were character-identical, reset() and merge() included.

m_is_bbox_fs is the bbox side the simplex lies on, or -1 for none: 0/1 = x min/max, 2/3 = y min/max, 4/5 = z min/max. Tagging it is what keeps the bounding box from collapsing.

Member Data Documentation

◆ m_surface_class

int wmtk::SurfaceTagAttributes::m_surface_class = 0

Which tracked surface this simplex belongs to, for applications that track more than one.

0 is the application's primary surface, and is all tetwild and simwild ever use. topological_offset tracks two – the input complex it must stay in the envelope of, and the offset boundary it is free to move – and uses 1 for the latter. Meaningless, and left at 0, when m_is_surface_fs is false.

The class lives here, on the attribute struct, rather than in a container of its own because the shared operations copy face attributes WHOLESALE – assignment in the split and collapse caches, merge() in collapse_edge_before, reset() in the swap tracker. A field here is carried by all of that for free; a parallel container would be silently dropped by every one of those operations.


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