Wildmeshing Toolkit
wmtk::components::longest_edge_split Namespace Reference

Classes

struct  LongestEdgeSplitOptions
 

Functions

void longest_edge_split (Mesh &mesh, const LongestEdgeSplitOptions &options)
 Perform longes-edge split on a mesh. More...
 
void longest_edge_split (Mesh &mesh, const attribute::MeshAttributeHandle &position_handle, const double length_rel, const std::vector< attribute::MeshAttributeHandle > &pass_through={})
 Perform longes-edge split on a mesh. More...
 

Function Documentation

◆ longest_edge_split() [1/2]

void wmtk::components::longest_edge_split::longest_edge_split ( Mesh mesh,
const attribute::MeshAttributeHandle position_handle,
const double  length_rel,
const std::vector< attribute::MeshAttributeHandle > &  pass_through = {} 
)

Perform longes-edge split on a mesh.

This function generates new attributes that are not removed automatically.

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

Definition at line 187 of file longest_edge_split.cpp.

References wmtk::components::longest_edge_split::LongestEdgeSplitOptions::length_rel, longest_edge_split(), wmtk::components::longest_edge_split::LongestEdgeSplitOptions::pass_through_attributes, and wmtk::components::longest_edge_split::LongestEdgeSplitOptions::position_handle.

Here is the call graph for this function:

◆ longest_edge_split() [2/2]

void wmtk::components::longest_edge_split::longest_edge_split ( Mesh mesh,
const LongestEdgeSplitOptions options 
)

Perform longes-edge split on a mesh.

This function generates new attributes that are not removed automatically.

Parameters
meshThe root mesh.
optionsAll options required for performing the longes-edge split.

Definition at line 19 of file longest_edge_split.cpp.

References wmtk::SchedulerStats::collecting_time, wmtk::multimesh::consolidate(), wmtk::Mesh::create_accessor(), wmtk::Mesh::create_const_accessor(), wmtk::attribute::MeshAttributeHandle::dimension(), wmtk::Edge, wmtk::multimesh::MultiMeshVisitor< NodeFunctor_ >::execute_from_root(), wmtk::SchedulerStats::executing_time, wmtk::Mesh::get_all(), wmtk::Mesh::is_multi_mesh_root(), wmtk::components::longest_edge_split::LongestEdgeSplitOptions::length_rel, 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::longest_edge_split::LongestEdgeSplitOptions::other_position_handles, wmtk::components::longest_edge_split::LongestEdgeSplitOptions::pass_through_attributes, wmtk::components::longest_edge_split::LongestEdgeSplitOptions::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_simplex_type(), wmtk::Triangle, wmtk::Vertex, and wmtk::simplex::vertices().

Referenced by longest_edge_split().

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