Wildmeshing Toolkit
wmtk::components::shortest_edge_collapse Namespace Reference

Classes

struct  ShortestEdgeCollapseOptions
 

Functions

void shortest_edge_collapse (Mesh &mesh, const ShortestEdgeCollapseOptions &options)
 Perform shortest-edge collapse on a triangular surface mesh. More...
 
void shortest_edge_collapse (Mesh &mesh, const attribute::MeshAttributeHandle &position_handle, const double length_rel, std::optional< bool > lock_boundary={}, std::optional< double > envelope_size={}, bool check_inversion=false, const std::vector< attribute::MeshAttributeHandle > &pass_through={})
 Perform shortest-edge collapse on a triangular surface mesh. More...
 

Function Documentation

◆ shortest_edge_collapse() [1/2]

void wmtk::components::shortest_edge_collapse::shortest_edge_collapse ( Mesh mesh,
const attribute::MeshAttributeHandle position_handle,
const double  length_rel,
std::optional< bool >  lock_boundary = {},
std::optional< double >  envelope_size = {},
bool  check_inversion = false,
const std::vector< attribute::MeshAttributeHandle > &  pass_through = {} 
)

Perform shortest-edge collapse on a triangular surface mesh.

This function generates new attributes that are not removed automatically.

This function wraps the behavior of shortest_edge_collapse with options. For details on the default values of the options, look at ShortestEdgeCollapseOptions.

Definition at line 280 of file shortest_edge_collapse.cpp.

References wmtk::components::shortest_edge_collapse::ShortestEdgeCollapseOptions::envelope_size, wmtk::components::shortest_edge_collapse::ShortestEdgeCollapseOptions::length_rel, wmtk::components::shortest_edge_collapse::ShortestEdgeCollapseOptions::lock_boundary, wmtk::components::shortest_edge_collapse::ShortestEdgeCollapseOptions::pass_through_attributes, wmtk::components::shortest_edge_collapse::ShortestEdgeCollapseOptions::position_handle, and shortest_edge_collapse().

Here is the call graph for this function:

◆ shortest_edge_collapse() [2/2]

void wmtk::components::shortest_edge_collapse::shortest_edge_collapse ( Mesh mesh,
const ShortestEdgeCollapseOptions options 
)

Perform shortest-edge collapse on a triangular surface mesh.

This function generates new attributes that are not removed automatically.

Parameters
meshThe root mesh.
optionsAll options required for performing the shortest-edge collapse.

Definition at line 27 of file shortest_edge_collapse.cpp.

References wmtk::components::shortest_edge_collapse::ShortestEdgeCollapseOptions::check_inversions, wmtk::SchedulerStats::collecting_time, wmtk::multimesh::consolidate(), wmtk::operations::CopyOther, wmtk::Mesh::create_accessor(), wmtk::Mesh::create_const_accessor(), wmtk::operations::Default, wmtk::attribute::MeshAttributeHandle::dimension(), wmtk::Edge, wmtk::components::shortest_edge_collapse::ShortestEdgeCollapseOptions::envelope_size, wmtk::multimesh::MultiMeshVisitor< NodeFunctor_ >::execute_from_root(), wmtk::SchedulerStats::executing_time, wmtk::Mesh::get_all(), wmtk::Mesh::is_multi_mesh_root(), wmtk::operations::IsInterior, wmtk::components::shortest_edge_collapse::ShortestEdgeCollapseOptions::length_rel, wmtk::components::shortest_edge_collapse::ShortestEdgeCollapseOptions::lock_boundary, wmtk::log_and_throw_error(), wmtk::logger(), wmtk::attribute::MeshAttributeHandle::mesh(), wmtk::operations::None, wmtk::SchedulerStats::number_of_failed_operations(), wmtk::SchedulerStats::number_of_performed_operations(), wmtk::SchedulerStats::number_of_successful_operations(), wmtk::components::shortest_edge_collapse::ShortestEdgeCollapseOptions::other_position_handles, wmtk::components::shortest_edge_collapse::ShortestEdgeCollapseOptions::pass_through_attributes, wmtk::components::shortest_edge_collapse::ShortestEdgeCollapseOptions::position_handle, wmtk::primitive_type_name(), wmtk::Mesh::register_attribute(), wmtk::Scheduler::run_operation_on_all(), wmtk::SchedulerStats::sorting_time, wmtk::Tetrahedron, wmtk::Mesh::top_cell_dimension(), wmtk::Mesh::top_simplex_type(), wmtk::Triangle, wmtk::Vertex, and wmtk::simplex::vertices().

Referenced by shortest_edge_collapse().

Here is the call graph for this function:
Here is the caller graph for this function: