Wildmeshing Toolkit
wmtk::simplex Namespace Reference

Namespaces

 internal
 This class is a utility to perform breadth first search on simplices.
 
 utils
 

Classes

class  IdSimplex
 
class  IdSimplexCollection
 
class  ClosedStarIterable
 This iterator internally uses TopDimensionCofacesIterable. More...
 
class  CofacesInSimplexIterable
 Get all cofaces that are in a specific simplex type. More...
 
class  CofacesSingleDimensionIterable
 This iterator internally uses TopDimensionCofacesIterable. More...
 
class  FacesIterable
 
class  HalfClosedStarIterable
 This iterator internally uses TopDimensionCofacesIterable. More...
 
class  LinkIterable
 This iterator internally uses TopDimensionCofacesIterable. More...
 
class  LinkSingleDimensionIterable
 This iterator internally uses TopDimensionCofacesIterable. More...
 
class  OpenStarIterable
 This iterator internally uses TopDimensionCofacesIterable. More...
 
class  TopDimensionCofacesIterable
 Iterating through the d-simplices of a mesh can be done in different ways, depending on the simplex dimension x around which the iteration is done. More...
 
class  NavigatableSimplex
 
class  RawSimplex
 A meshless implementation of the simplex that just stores an array of ids. More...
 
class  RawSimplexCollection
 
class  Simplex
 
class  SimplexCollection
 

Functions

std::vector< Tupleboundary_tuples (const Mesh &m, const Tuple &t, PrimitiveType pt)
 
std::vector< Tupleboundary_tuples (const Mesh &mesh, const Simplex &simplex)
 
SimplexCollection boundary (const Mesh &mesh, const Simplex &simplex, const bool sort_and_clean=true)
 Returns all boundary simplices of a simplex. More...
 
SimplexCollection closed_star (const Mesh &mesh, const Simplex &simplex, const bool sort_and_clean=true)
 The closed star contains the input simplex, all its top dimension cofaces, and their faces. More...
 
ClosedStarIterable closed_star_iterable (const Mesh &mesh, const Simplex &simplex)
 
CofacesInSimplexIterable cofaces_in_simplex_iterable (const Mesh &mesh, const Simplex &simplex, const PrimitiveType in_simplex_type)
 
std::vector< Tuplecofaces_single_dimension_tuples (const Mesh &mesh, const Simplex &my_simplex, PrimitiveType cofaces_type)
 
std::vector< Simplexcofaces_single_dimension_simplices (const Mesh &mesh, const Simplex &simplex, PrimitiveType cofaces_type)
 
SimplexCollection cofaces_single_dimension (const Mesh &mesh, const Simplex &my_simplex, PrimitiveType cofaces_type, bool sort_and_clean=true)
 Returns all cofaces of a simplex that are of the provided primitive type. More...
 
SimplexCollection cofaces_single_dimension (const TriMesh &mesh, const Simplex &my_simplex, PrimitiveType cofaces_type, bool sort_and_clean)
 
std::vector< Tuplecofaces_single_dimension_tuples (const TriMesh &mesh, const Simplex &my_simplex, PrimitiveType cofaces_type)
 
std::vector< Simplexcofaces_single_dimension_simplices (const TriMesh &mesh, const Simplex &simplex, PrimitiveType cofaces_type)
 
CofacesSingleDimensionIterable cofaces_single_dimension_iterable (const Mesh &mesh, const Simplex &simplex, const PrimitiveType cofaces_type)
 
SimplexCollection faces (const Mesh &mesh, const Simplex &simplex, const bool sort_and_clean=true)
 Returns all faces of a simplex. More...
 
void faces (SimplexCollection &simplex_collection, const Simplex &simplex, const bool sort_and_clean)
 
FacesIterable faces_iterable (const Mesh &mesh, const Simplex &simplex)
 
std::vector< Tuplevertices (const Mesh &m, const Simplex &simplex)
 
void vertices (SimplexCollection &simplex_collection, const Simplex &simplex)
 
std::vector< Tupleedges (const Mesh &m, const Simplex &simplex)
 
void edges (SimplexCollection &simplex_collection, const Simplex &simplex)
 
std::vector< Tuplefaces (const Mesh &m, const Simplex &simplex)
 
void faces (SimplexCollection &simplex_collection, const Simplex &simplex)
 
SimplexCollection faces_single_dimension (const Mesh &mesh, const Simplex &simplex, const PrimitiveType face_type)
 Returns a vector with all faces in the boundary of a simplex of the given dimension. More...
 
void faces_single_dimension (SimplexCollection &simplex_collection, const Simplex &simplex, const PrimitiveType face_type)
 
std::vector< Tuplefaces_single_dimension_tuples (const Mesh &mesh, const Simplex &simplex, const PrimitiveType face_type)
 
HalfClosedStarIterable half_closed_star_iterable (const Mesh &mesh, const Tuple &tuple)
 The half closed star is used to determine the deleted simplices in an edge collapse. More...
 
std::vector< Tuplecoface_preserving_boundary_tuples (const Mesh &mesh, const Tuple &t, PrimitiveType pt, PrimtiiveType coface_pt)
 
SimplexCollection k_ring (const Mesh &mesh, const Simplex &simplex, int64_t k)
 
SimplexCollection link (const Mesh &mesh, const simplex::Simplex &simplex, const bool sort_and_clean)
 
SimplexCollection link (const TriMesh &mesh, const simplex::Simplex &simplex, const bool sort_and_clean)
 
SimplexCollection link (const TetMesh &mesh, const simplex::Simplex &simplex, const bool sort_and_clean)
 
SimplexCollection link_slow (const Mesh &mesh, const simplex::Simplex &simplex, const bool sort_and_clean)
 
bool link_condition_closed_trimesh (const TriMesh &mesh, const Tuple &edge)
 
bool link_condition (const EdgeMesh &mesh, const Tuple &edge)
 Check if the edge to collapse satisfying the link condition. More...
 
bool link_condition (const TriMesh &mesh, const Tuple &edge)
 
bool link_condition_closed_tetmesh (const TetMesh &mesh, const Tuple &edge)
 
bool link_condition (const TetMesh &mesh, const Tuple &edge)
 
bool link_condition (const Mesh &mesh, const Tuple &edge)
 
LinkIterable link_iterable (const Mesh &mesh, const Simplex &simplex)
 
SimplexCollection link_single_dimension (const Mesh &mesh, const simplex::Simplex &simplex, const PrimitiveType link_type, const bool sort_and_clean)
 
SimplexCollection link_single_dimension (const TriMesh &mesh, const simplex::Simplex &simplex, const PrimitiveType link_type, const bool sort_and_clean)
 
SimplexCollection link_single_dimension (const TetMesh &mesh, const simplex::Simplex &simplex, const PrimitiveType link_type, const bool sort_and_clean)
 
SimplexCollection link_single_dimension_slow (const Mesh &mesh, const simplex::Simplex &simplex, const PrimitiveType link_type, const bool sort_and_clean)
 
LinkSingleDimensionIterable link_single_dimension_iterable (const Mesh &mesh, const Simplex &simplex, const PrimitiveType link_type)
 
std::vector< Simplexneighbors_single_dimension (const Mesh &m, const Simplex &s, const PrimitiveType pt)
 
std::vector< Tupleneighbors_single_dimension_tuples (const Mesh &m, const Simplex &s, const PrimitiveType tpt)
 
SimplexCollection open_star (const Mesh &mesh, const Simplex &simplex, const bool sort_and_clean)
 
SimplexCollection open_star (const TriMesh &mesh, const Simplex &simplex, const bool sort_and_clean)
 
SimplexCollection open_star (const TetMesh &mesh, const Simplex &simplex, const bool sort_and_clean)
 
SimplexCollection open_star_slow (const Mesh &mesh, const Simplex &simplex, const bool sort_and_clean)
 
OpenStarIterable open_star_iterable (const Mesh &mesh, const Simplex &simplex)
 
void top_dimension_cofaces (const Simplex &simplex, SimplexCollection &simplex_collection, const bool sort_and_clean=true)
 Get all top dimension cofaces of the given simplex. More...
 
void top_dimension_cofaces_tuples (const PointMesh &mesh, const Simplex &simplex, SimplexCollection &collection)
 
void top_dimension_cofaces_tuples (const EdgeMesh &mesh, const Simplex &simplex, SimplexCollection &collection)
 
void top_dimension_cofaces_tuples (const TriMesh &mesh, const Simplex &simplex, SimplexCollection &collection)
 
void top_dimension_cofaces_tuples (const TetMesh &mesh, const Simplex &simplex, SimplexCollection &collection)
 
void top_dimension_cofaces_tuples (const Mesh &mesh, const Simplex &simplex, SimplexCollection &collection)
 The same as top_dimension_cofaces but it appends to a vector of tuples. More...
 
void top_dimension_cofaces_tuples (const PointMesh &mesh, const Simplex &simplex, std::vector< Tuple > &collection)
 
void top_dimension_cofaces_tuples (const EdgeMesh &mesh, const Simplex &simplex, std::vector< Tuple > &collection)
 
void top_dimension_cofaces_tuples (const TriMesh &mesh, const Simplex &simplex, std::vector< Tuple > &collection)
 
void top_dimension_cofaces_tuples (const TetMesh &mesh, const Simplex &simplex, std::vector< Tuple > &collection)
 
void top_dimension_cofaces_tuples (const Mesh &mesh, const Simplex &simplex, std::vector< Tuple > &tuples)
 
SimplexCollection top_dimension_cofaces (const TriMesh &mesh, const Simplex &simplex, const bool sort_and_clean)
 
SimplexCollection top_dimension_cofaces (const TetMesh &mesh, const Simplex &simplex, const bool sort_and_clean)
 
SimplexCollection top_dimension_cofaces (const Mesh &mesh, const Simplex &simplex, const bool sort_and_clean=true)
 Get all top dimension cofaces of the given simplex. More...
 
std::vector< Tupletop_dimension_cofaces_tuples (const PointMesh &mesh, const Simplex &simplex)
 
std::vector< Tupletop_dimension_cofaces_tuples (const EdgeMesh &mesh, const Simplex &simplex)
 
std::vector< Tupletop_dimension_cofaces_tuples (const TriMesh &mesh, const Simplex &simplex)
 
std::vector< Tupletop_dimension_cofaces_tuples (const TetMesh &mesh, const Simplex &simplex)
 
std::vector< Tupletop_dimension_cofaces_tuples (const Mesh &mesh, const Simplex &simplex)
 The same as top_dimension_cofaces but it returns only a vector of tuples. More...
 
TopDimensionCofacesIterable top_dimension_cofaces_iterable (const Mesh &mesh, const Simplex &simplex)
 
std::vector< Tupletuples_preserving_primitive_types (const Mesh &mesh, const Tuple &t, const PrimitiveType ptype1, const PrimitiveType ptype2)
 Compute all tuples that contain simplex(ptype1, t) and that are contained by simplex(ptype2, t). More...
 

Function Documentation

◆ boundary()

SimplexCollection wmtk::simplex::boundary ( const Mesh mesh,
const Simplex simplex,
const bool  sort_and_clean = true 
)

Returns all boundary simplices of a simplex.

The boundary simplices are the k-1 simplices that bound the given k-simplex. This does not include the given simplex itself!

  • tetrahedron: 4 faces
  • face: 3 edges
  • edge: 2 vertices
  • vertex: nothing
Parameters
meshThe mesh containing the simplex
simplexThe simplex
sort_and_cleanCall SimplexCollection::sort_and_clean before returning
Returns
SimplexCollection holding the boundary

Definition at line 44 of file boundary.cpp.

References boundary_tuples(), wmtk::get_primitive_type_from_id(), wmtk::get_primitive_type_id(), wmtk::simplex::Simplex::primitive_type(), wmtk::simplex::SimplexCollection::sort_and_clean(), and wmtk::simplex::utils::tuple_vector_to_homogeneous_simplex_vector().

Here is the call graph for this function:

◆ boundary_tuples() [1/2]

std::vector< Tuple > wmtk::simplex::boundary_tuples ( const Mesh m,
const Tuple t,
PrimitiveType  pt 
)

Definition at line 7 of file boundary.cpp.

References wmtk::Edge, wmtk::PE, PF, PT, wmtk::PV, wmtk::Mesh::switch_tuple(), wmtk::Mesh::switch_tuples(), wmtk::Tetrahedron, wmtk::Triangle, and wmtk::Vertex.

Referenced by boundary(), and boundary_tuples().

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

◆ boundary_tuples() [2/2]

std::vector< Tuple > wmtk::simplex::boundary_tuples ( const Mesh mesh,
const Simplex simplex 
)

Definition at line 39 of file boundary.cpp.

References boundary_tuples(), wmtk::simplex::Simplex::primitive_type(), and wmtk::simplex::Simplex::tuple().

Here is the call graph for this function:

◆ closed_star()

SimplexCollection wmtk::simplex::closed_star ( const Mesh mesh,
const Simplex simplex,
const bool  sort_and_clean = true 
)

The closed star contains the input simplex, all its top dimension cofaces, and their faces.

Parameters
meshThe mesh to which the simplex and its closed star belong.
simplexThe simplex of which the closed star is computed.
Returns
A SimplexCollection with the closed star.

Definition at line 13 of file closed_star.cpp.

References wmtk::simplex::SimplexCollection::add(), wmtk::Edge, faces(), wmtk::Mesh::is_valid(), wmtk::log_and_throw_error(), wmtk::simplex::SimplexCollection::reserve(), wmtk::simplex::SimplexCollection::simplex_vector(), wmtk::simplex::SimplexCollection::sort_and_clean(), wmtk::Tetrahedron, top_dimension_cofaces(), wmtk::Mesh::top_simplex_type(), wmtk::Triangle, wmtk::simplex::Simplex::tuple(), and wmtk::Vertex.

Referenced by wmtk::mesh_utils::compute_vertex_normal(), wmtk::operations::composite::TetEdgeSwap::execute(), link_single_dimension_slow(), link_slow(), and wmtk::TriMesh::TriMeshOperationExecutor::split_edge_precompute().

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

◆ closed_star_iterable()

ClosedStarIterable wmtk::simplex::closed_star_iterable ( const Mesh mesh,
const Simplex simplex 
)

Definition at line 5 of file closed_star_iterable.cpp.

Referenced by wmtk::operations::Operation::apply_attribute_transfer(), and wmtk::TriMesh::TriMeshOperationExecutor::collapse_edge_precompute().

Here is the caller graph for this function:

◆ coface_preserving_boundary_tuples()

std::vector<Tuple> wmtk::simplex::coface_preserving_boundary_tuples ( const Mesh mesh,
const Tuple t,
PrimitiveType  pt,
PrimtiiveType  coface_pt 
)

◆ cofaces_in_simplex_iterable()

CofacesInSimplexIterable wmtk::simplex::cofaces_in_simplex_iterable ( const Mesh mesh,
const Simplex simplex,
const PrimitiveType  in_simplex_type 
)

Definition at line 5 of file cofaces_in_simplex_iterable.cpp.

◆ cofaces_single_dimension() [1/2]

SimplexCollection wmtk::simplex::cofaces_single_dimension ( const Mesh mesh,
const Simplex my_simplex,
PrimitiveType  cofaces_type,
bool  sort_and_clean = true 
)

Returns all cofaces of a simplex that are of the provided primitive type.

The coface tuples are guaranteed to contain the provided simplex in their tuple.

Parameters
meshThe mesh containing the simplex.
my_simplexThe simplex whose cofaces we are computing.
cofaces_typeThe primitive type of the cofaces.
Returns
A SimplexCollection that contains the cofaces.

Definition at line 165 of file cofaces_single_dimension.cpp.

References cofaces_single_dimension_simplices(), and wmtk::simplex::SimplexCollection::sort_and_clean().

Here is the call graph for this function:

◆ cofaces_single_dimension() [2/2]

SimplexCollection wmtk::simplex::cofaces_single_dimension ( const TriMesh mesh,
const Simplex my_simplex,
PrimitiveType  cofaces_type,
bool  sort_and_clean 
)

Definition at line 181 of file cofaces_single_dimension.cpp.

References cofaces_single_dimension_simplices(), and wmtk::simplex::SimplexCollection::sort().

Here is the call graph for this function:

◆ cofaces_single_dimension_iterable()

CofacesSingleDimensionIterable wmtk::simplex::cofaces_single_dimension_iterable ( const Mesh mesh,
const Simplex simplex,
const PrimitiveType  cofaces_type 
)

Definition at line 5 of file cofaces_single_dimension_iterable.cpp.

Referenced by wmtk::TetMesh::is_boundary_edge(), and link_condition().

Here is the caller graph for this function:

◆ cofaces_single_dimension_simplices() [1/2]

std::vector< Simplex > wmtk::simplex::cofaces_single_dimension_simplices ( const Mesh mesh,
const Simplex simplex,
PrimitiveType  cofaces_type 
)

Definition at line 154 of file cofaces_single_dimension.cpp.

References cofaces_single_dimension_tuples(), and wmtk::simplex::utils::tuple_vector_to_homogeneous_simplex_vector().

Referenced by wmtk::invariants::TetMeshSubstructureTopologyPreservingInvariant::before(), wmtk::invariants::TriMeshSubstructureTopologyPreservingInvariant::before(), cofaces_single_dimension(), wmtk::function::LocalNeighborsSumFunction::domain(), wmtk::operations::AMIPSOptimizationSmoothing::execute(), and wmtk::operations::AMIPSOptimizationSmoothingPeriodic::execute().

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

◆ cofaces_single_dimension_simplices() [2/2]

std::vector< Simplex > wmtk::simplex::cofaces_single_dimension_simplices ( const TriMesh mesh,
const Simplex simplex,
PrimitiveType  cofaces_type 
)

Definition at line 215 of file cofaces_single_dimension.cpp.

References cofaces_single_dimension_tuples(), and wmtk::simplex::utils::tuple_vector_to_homogeneous_simplex_vector().

Here is the call graph for this function:

◆ cofaces_single_dimension_tuples() [1/2]

std::vector< Tuple > wmtk::simplex::cofaces_single_dimension_tuples ( const Mesh mesh,
const Simplex my_simplex,
PrimitiveType  cofaces_type 
)

Definition at line 130 of file cofaces_single_dimension.cpp.

References wmtk::simplex::internal::boundary_with_preserved_face_tuples(), wmtk::utils::primitive_range(), wmtk::simplex::Simplex::primitive_type(), top_dimension_cofaces_tuples(), wmtk::Mesh::top_simplex_type(), and wmtk::simplex::Simplex::tuple().

Referenced by cofaces_single_dimension_simplices(), wmtk::multimesh::MultiMeshManager::map_to_child_tuples(), neighbors_single_dimension_tuples(), and wmtk::components::Marching::process().

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

◆ cofaces_single_dimension_tuples() [2/2]

std::vector< Tuple > wmtk::simplex::cofaces_single_dimension_tuples ( const TriMesh mesh,
const Simplex my_simplex,
PrimitiveType  cofaces_type 
)

Definition at line 197 of file cofaces_single_dimension.cpp.

References wmtk::Edge, wmtk::log_and_throw_error(), wmtk::simplex::Simplex::primitive_type(), wmtk::Tetrahedron, wmtk::Triangle, and wmtk::Vertex.

Here is the call graph for this function:

◆ edges() [1/2]

std::vector<Tuple> wmtk::simplex::edges ( const Mesh m,
const Simplex simplex 
)

Definition at line 77 of file faces_single_dimension.cpp.

References wmtk::Edge, wmtk::PE, PF, wmtk::simplex::Simplex::primitive_type(), wmtk::PV, wmtk::Mesh::switch_tuples(), wmtk::Tetrahedron, wmtk::Triangle, wmtk::simplex::Simplex::tuple(), and wmtk::Vertex.

Referenced by wmtk::components::collapsing(), wmtk::components::internal::edge_insertion(), wmtk::invariants::EnvelopeInvariant::EnvelopeInvariant(), faces_single_dimension(), faces_single_dimension_tuples(), wmtk::utils::filter_pointers_to_derived(), wmtk::components::swapping(), and TEST_CASE().

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

◆ edges() [2/2]

void wmtk::simplex::edges ( SimplexCollection simplex_collection,
const Simplex simplex 
)

Definition at line 104 of file faces_single_dimension.cpp.

References wmtk::simplex::SimplexCollection::add(), wmtk::Edge, wmtk::simplex::SimplexCollection::mesh(), wmtk::PE, PF, wmtk::simplex::Simplex::primitive_type(), wmtk::PV, wmtk::Mesh::switch_tuples(), wmtk::Tetrahedron, wmtk::Triangle, wmtk::simplex::Simplex::tuple(), and wmtk::Vertex.

Here is the call graph for this function:

◆ faces() [1/4]

std::vector<Tuple> wmtk::simplex::faces ( const Mesh m,
const Simplex simplex 
)

Definition at line 141 of file faces_single_dimension.cpp.

References wmtk::Edge, wmtk::PE, PF, wmtk::simplex::Simplex::primitive_type(), wmtk::PV, wmtk::Mesh::switch_tuples(), wmtk::Tetrahedron, wmtk::Triangle, wmtk::simplex::Simplex::tuple(), and wmtk::Vertex.

Here is the call graph for this function:

◆ faces() [2/4]

SimplexCollection wmtk::simplex::faces ( const Mesh mesh,
const Simplex simplex,
const bool  sort_and_clean = true 
)

Returns all faces of a simplex.

The faces are all lower dimensional simplices that bound the given k-simplex. This does not include the given simplex itself!

  • tetrahedron: 4 faces, 6 edges, 4 vertices
  • face: 3 edges, 3 vertices
  • edge: 2 vertices
  • vertex: nothing
Parameters
meshThe mesh containing the simplex
simplexThe simplex
sort_and_cleanCall SimplexCollection::sort_and_clean before returning
Returns
SimplexCollection holding the faces

Definition at line 10 of file faces.cpp.

Referenced by wmtk::components::AABBWrapper::AABBWrapper(), wmtk::invariants::EnvelopeInvariant::after(), closed_star(), wmtk::TriMesh::TriMeshOperationExecutor::collapse_edge_precompute(), wmtk::components::delaunay_exec(), wmtk::invariants::EnvelopeInvariant::EnvelopeInvariant(), faces_single_dimension(), faces_single_dimension_tuples(), wmtk::TriMesh::TriMeshOperationExecutor::get_collapse_simplices_to_delete(), wmtk::function::utils::get_simplex_attributes(), link_single_dimension_slow(), link_slow(), open_star_slow(), wmtk::operations::composite::ProjectOperation::ProjectOperation(), wmtk::components::internal::RegularSpace::regularize_tags(), wmtk::TriMesh::TriMeshOperationExecutor::split_edge_precompute(), TEST_CASE(), wmtk::components::tetwild_simplification(), and wmtk::components::to_points().

Here is the caller graph for this function:

◆ faces() [3/4]

void wmtk::simplex::faces ( SimplexCollection simplex_collection,
const Simplex simplex 
)

Definition at line 162 of file faces_single_dimension.cpp.

References wmtk::simplex::SimplexCollection::add(), wmtk::Edge, wmtk::simplex::SimplexCollection::mesh(), wmtk::PE, PF, wmtk::simplex::Simplex::primitive_type(), wmtk::PV, wmtk::Mesh::switch_tuples(), wmtk::Tetrahedron, wmtk::Triangle, wmtk::simplex::Simplex::tuple(), and wmtk::Vertex.

Here is the call graph for this function:

◆ faces() [4/4]

void wmtk::simplex::faces ( SimplexCollection simplex_collection,
const Simplex simplex,
const bool  sort_and_clean 
)

Definition at line 19 of file faces.cpp.

References faces_single_dimension(), wmtk::utils::primitive_below(), wmtk::utils::primitive_range(), wmtk::simplex::Simplex::primitive_type(), and wmtk::simplex::SimplexCollection::sort_and_clean().

Here is the call graph for this function:

◆ faces_iterable()

FacesIterable wmtk::simplex::faces_iterable ( const Mesh mesh,
const Simplex simplex 
)

Definition at line 5 of file faces_iterable.cpp.

◆ faces_single_dimension() [1/2]

SimplexCollection wmtk::simplex::faces_single_dimension ( const Mesh mesh,
const Simplex simplex,
const PrimitiveType  face_type 
)

Returns a vector with all faces in the boundary of a simplex of the given dimension.

Assuming the following tetrahedron:

      0
     / \\ .
    /   \  \ .
   /     \   \ .
  /       \     \ .
 /         \      3
/           \    /

/ \ / 1 ----------— 2

Given the tuple representing v(0), e(0,1), f(0,1,2), t(0,1,2,3) we have the following faces:

Tetrahedron:

PrimitiveType::Face { f(0,1,2), f(0,3,1), f(1,3,2), f(2,3,0) }

PrimitiveType::Edge { e(0,1), e(1,2), e(2,0), e(0,3), e(1,3), e(2,3) }

PrimitiveType::Vertex {v(0),v(1),v(2),v(3)}

Triangle:

PrimitiveType::Edge { e(0,1), e(1,2), e(2,0) }

PrimitiveType::Vertex {v(0),v(1),v(2)}

Edge:

PrimitiveType::Vertex {v(0),v(1)}

The order is relative to the orientation of the input tuple and guaranteed to be always the same (i.e. it is independent of the internal indices).

Parameters
meshThe mesh containing the simplex
simplexThe simplex
face_typeThe requested face type
Returns
A vector of vertices sorted according to the tuple orientation of the simplex

Definition at line 189 of file faces_single_dimension.cpp.

Referenced by wmtk::operations::AMIPSOptimizationSmoothing::execute(), wmtk::operations::AMIPSOptimizationSmoothingPeriodic::execute(), and faces().

Here is the caller graph for this function:

◆ faces_single_dimension() [2/2]

void wmtk::simplex::faces_single_dimension ( SimplexCollection simplex_collection,
const Simplex simplex,
const PrimitiveType  face_type 
)

Definition at line 198 of file faces_single_dimension.cpp.

References wmtk::Edge, edges(), faces(), wmtk::simplex::SimplexCollection::mesh(), wmtk::simplex::Simplex::primitive_type(), wmtk::Tetrahedron, wmtk::Mesh::top_simplex_type(), wmtk::Triangle, wmtk::Vertex, and vertices().

Here is the call graph for this function:

◆ faces_single_dimension_tuples()

◆ half_closed_star_iterable()

HalfClosedStarIterable wmtk::simplex::half_closed_star_iterable ( const Mesh mesh,
const Tuple tuple 
)

The half closed star is used to determine the deleted simplices in an edge collapse.

The result is the same as computing the intersection of the open star of the vertex and the closed star of the edge that is represented by the tuple.

Parameters
meshThe mesh.
tupleThe tuple representing the edge and vertex that are collapsed and deleted.

Definition at line 5 of file half_closed_star_iterable.cpp.

Referenced by wmtk::TetMesh::TetMeshOperationExecutor::get_collapse_simplices_to_delete().

Here is the caller graph for this function:

◆ k_ring()

SimplexCollection wmtk::simplex::k_ring ( const Mesh mesh,
const Simplex simplex,
int64_t  k 
)

Definition at line 6 of file k_ring.cpp.

References wmtk::simplex::SimplexCollection::add(), link(), wmtk::simplex::SimplexCollection::simplex_vector(), and wmtk::simplex::SimplexCollection::sort_and_clean().

Referenced by wmtk::Scheduler::run_operation_on_all_coloring(), wmtk::components::internal::set_operation_energy_filter(), and wmtk::components::set_operation_energy_filter().

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

◆ link() [1/3]

◆ link() [2/3]

SimplexCollection wmtk::simplex::link ( const TetMesh mesh,
const simplex::Simplex simplex,
const bool  sort_and_clean 
)

◆ link() [3/3]

SimplexCollection wmtk::simplex::link ( const TriMesh mesh,
const simplex::Simplex simplex,
const bool  sort_and_clean 
)

Definition at line 98 of file link.cpp.

References wmtk::Edge, link_single_dimension(), wmtk::log_and_throw_error(), wmtk::simplex::Simplex::primitive_type(), wmtk::simplex::SimplexCollection::sort(), wmtk::Tetrahedron, wmtk::Triangle, and wmtk::Vertex.

Here is the call graph for this function:

◆ link_condition() [1/4]

bool wmtk::simplex::link_condition ( const EdgeMesh mesh,
const Tuple edge 
)

Check if the edge to collapse satisfying the link condition.

Parameters
meshInput EdgeMesh, TriMesh, TetMesh
edgeThe edge tuple to collapse
Returns
true if the edge to collapse satisfying the link condition.

Definition at line 43 of file link_condition.cpp.

References wmtk::simplex::utils::SimplexComparisons::equal(), wmtk::EdgeMesh::is_boundary_vertex(), wmtk::EdgeMesh::switch_tuple(), and wmtk::Vertex.

Referenced by link_condition(), wmtk::components::internal::periodic_optimization(), wmtk::components::wildmeshing(), wmtk::components::internal::wildmeshing2d(), and wmtk::components::internal::wildmeshing3d().

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

◆ link_condition() [2/4]

bool wmtk::simplex::link_condition ( const Mesh mesh,
const Tuple edge 
)

Definition at line 229 of file link_condition.cpp.

References wmtk::utils::metaprogramming::as_const_mesh_variant(), and link_condition().

Here is the call graph for this function:

◆ link_condition() [3/4]

bool wmtk::simplex::link_condition ( const TetMesh mesh,
const Tuple edge 
)

The link condition on the boundary can be reduced to two cases.

  1. edge is boundary: Perform the link condition on the boundary triangles.
  2. edge is interior: Check if vertices are boundary. If both are, the link condition fails.

Definition at line 149 of file link_condition.cpp.

References wmtk::simplex::IdSimplexCollection::add(), wmtk::simplex::IdSimplexCollection::are_simplex_collections_equal(), cofaces_single_dimension_iterable(), wmtk::Edge, wmtk::simplex::IdSimplexCollection::get_intersection(), wmtk::TetMesh::is_boundary(), wmtk::TetMesh::is_boundary_edge(), wmtk::TetMesh::is_boundary_vertex(), link_condition_closed_tetmesh(), wmtk::simplex::IdSimplexCollection::sort_and_clean(), wmtk::TetMesh::switch_tuple(), wmtk::MeshCRTP< Derived >::switch_tuples(), wmtk::Triangle, and wmtk::Vertex.

Here is the call graph for this function:

◆ link_condition() [4/4]

bool wmtk::simplex::link_condition ( const TriMesh mesh,
const Tuple edge 
)

Definition at line 60 of file link_condition.cpp.

References cofaces_single_dimension_iterable(), wmtk::Edge, wmtk::simplex::utils::SimplexComparisons::equal(), wmtk::TriMesh::is_boundary(), wmtk::TriMesh::is_boundary_edge(), link_condition_closed_trimesh(), wmtk::TriMesh::switch_tuple(), and wmtk::Vertex.

Here is the call graph for this function:

◆ link_condition_closed_tetmesh()

bool wmtk::simplex::link_condition_closed_tetmesh ( const TetMesh mesh,
const Tuple edge 
)

Definition at line 117 of file link_condition.cpp.

References wmtk::simplex::IdSimplexCollection::add(), wmtk::simplex::IdSimplexCollection::are_simplex_collections_equal(), wmtk::simplex::Simplex::edge(), wmtk::simplex::IdSimplexCollection::get_intersection(), link_iterable(), wmtk::simplex::IdSimplexCollection::reserve(), wmtk::simplex::IdSimplexCollection::sort_and_clean(), wmtk::TetMesh::switch_vertex(), and wmtk::simplex::Simplex::vertex().

Referenced by link_condition().

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

◆ link_condition_closed_trimesh()

bool wmtk::simplex::link_condition_closed_trimesh ( const TriMesh mesh,
const Tuple edge 
)

Definition at line 12 of file link_condition.cpp.

References wmtk::simplex::IdSimplexCollection::add(), wmtk::simplex::IdSimplexCollection::are_simplex_collections_equal(), wmtk::simplex::Simplex::edge(), wmtk::simplex::IdSimplexCollection::get_intersection(), link_iterable(), wmtk::simplex::IdSimplexCollection::reserve(), wmtk::simplex::IdSimplexCollection::sort_and_clean(), wmtk::TriMesh::switch_tuple(), wmtk::Vertex, and wmtk::simplex::Simplex::vertex().

Referenced by link_condition().

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

◆ link_iterable()

LinkIterable wmtk::simplex::link_iterable ( const Mesh mesh,
const Simplex simplex 
)

Definition at line 5 of file link_iterable.cpp.

Referenced by link_condition_closed_tetmesh(), and link_condition_closed_trimesh().

Here is the caller graph for this function:

◆ link_single_dimension() [1/3]

SimplexCollection wmtk::simplex::link_single_dimension ( const Mesh mesh,
const simplex::Simplex simplex,
const PrimitiveType  link_type,
const bool  sort_and_clean 
)

Definition at line 124 of file link_single_dimension.cpp.

References wmtk::Edge, link_single_dimension_slow(), wmtk::Tetrahedron, wmtk::Mesh::top_simplex_type(), wmtk::Triangle, and wmtk::Vertex.

Referenced by link().

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

◆ link_single_dimension() [2/3]

SimplexCollection wmtk::simplex::link_single_dimension ( const TetMesh mesh,
const simplex::Simplex simplex,
const PrimitiveType  link_type,
const bool  sort_and_clean 
)

◆ link_single_dimension() [3/3]

SimplexCollection wmtk::simplex::link_single_dimension ( const TriMesh mesh,
const simplex::Simplex simplex,
const PrimitiveType  link_type,
const bool  sort_and_clean 
)

Definition at line 149 of file link_single_dimension.cpp.

References wmtk::Edge, wmtk::log_and_throw_error(), wmtk::simplex::Simplex::primitive_type(), wmtk::simplex::SimplexCollection::sort(), wmtk::Tetrahedron, wmtk::Triangle, and wmtk::Vertex.

Here is the call graph for this function:

◆ link_single_dimension_iterable()

LinkSingleDimensionIterable wmtk::simplex::link_single_dimension_iterable ( const Mesh mesh,
const Simplex simplex,
const PrimitiveType  link_type 
)

Definition at line 5 of file link_single_dimension_iterable.cpp.

◆ link_single_dimension_slow()

SimplexCollection wmtk::simplex::link_single_dimension_slow ( const Mesh mesh,
const simplex::Simplex simplex,
const PrimitiveType  link_type,
const bool  sort_and_clean 
)

Definition at line 268 of file link_single_dimension.cpp.

References wmtk::simplex::SimplexCollection::add(), closed_star(), faces(), wmtk::simplex::SimplexCollection::get_intersection(), wmtk::simplex::SimplexCollection::simplex_vector(), and wmtk::simplex::SimplexCollection::sort_and_clean().

Referenced by link_single_dimension().

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

◆ link_slow()

SimplexCollection wmtk::simplex::link_slow ( const Mesh mesh,
const simplex::Simplex simplex,
const bool  sort_and_clean 
)

Definition at line 185 of file link.cpp.

References wmtk::simplex::SimplexCollection::add(), closed_star(), faces(), wmtk::simplex::SimplexCollection::get_intersection(), wmtk::simplex::SimplexCollection::simplex_vector(), and wmtk::simplex::SimplexCollection::sort_and_clean().

Referenced by link().

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

◆ neighbors_single_dimension()

std::vector< Simplex > wmtk::simplex::neighbors_single_dimension ( const Mesh m,
const Simplex s,
const PrimitiveType  pt 
)

Definition at line 9 of file neighbors_single_dimension.cpp.

References neighbors_single_dimension_tuples(), and wmtk::simplex::utils::tuple_vector_to_homogeneous_simplex_vector().

Here is the call graph for this function:

◆ neighbors_single_dimension_tuples()

std::vector< Tuple > wmtk::simplex::neighbors_single_dimension_tuples ( const Mesh m,
const Simplex s,
const PrimitiveType  tpt 
)

Definition at line 17 of file neighbors_single_dimension.cpp.

References cofaces_single_dimension_tuples(), faces_single_dimension_tuples(), wmtk::simplex::Simplex::primitive_type(), wmtk::Mesh::top_simplex_type(), and wmtk::simplex::Simplex::tuple().

Referenced by wmtk::operations::AttributeTransferStrategyBase::get_parent_simplices(), and neighbors_single_dimension().

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

◆ open_star() [1/3]

SimplexCollection wmtk::simplex::open_star ( const Mesh mesh,
const Simplex simplex,
const bool  sort_and_clean 
)

Definition at line 12 of file open_star.cpp.

References wmtk::Edge, open_star_slow(), wmtk::Tetrahedron, wmtk::Mesh::top_simplex_type(), wmtk::Triangle, and wmtk::Vertex.

Referenced by wmtk::invariants::TetMeshSubstructureTopologyPreservingInvariant::before(), wmtk::operations::composite::TetEdgeSwap::execute(), wmtk::TetMesh::TetMeshOperationExecutor::get_split_simplices_to_delete(), wmtk::TriMesh::TriMeshOperationExecutor::get_split_simplices_to_delete(), wmtk::TetMesh::is_boundary_vertex(), and wmtk::components::TagIntersection::simplex_is_in_intersection().

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

◆ open_star() [2/3]

SimplexCollection wmtk::simplex::open_star ( const TetMesh mesh,
const Simplex simplex,
const bool  sort_and_clean 
)

◆ open_star() [3/3]

SimplexCollection wmtk::simplex::open_star ( const TriMesh mesh,
const Simplex simplex,
const bool  sort_and_clean 
)

Definition at line 25 of file open_star.cpp.

References wmtk::Edge, wmtk::simplex::Simplex::edge(), wmtk::simplex::Simplex::face(), wmtk::simplex::Simplex::primitive_type(), wmtk::simplex::SimplexCollection::sort_and_clean(), wmtk::TriMesh::switch_edge(), wmtk::Tetrahedron, top_dimension_cofaces_tuples(), wmtk::Triangle, and wmtk::Vertex.

Here is the call graph for this function:

◆ open_star_iterable()

OpenStarIterable wmtk::simplex::open_star_iterable ( const Mesh mesh,
const Simplex simplex 
)

Definition at line 5 of file open_star_iterable.cpp.

◆ open_star_slow()

SimplexCollection wmtk::simplex::open_star_slow ( const Mesh mesh,
const Simplex simplex,
const bool  sort_and_clean 
)

Definition at line 119 of file open_star.cpp.

References wmtk::simplex::SimplexCollection::add(), wmtk::simplex::SimplexCollection::contains(), faces(), wmtk::simplex::SimplexCollection::simplex_vector(), wmtk::simplex::SimplexCollection::sort_and_clean(), and top_dimension_cofaces().

Referenced by open_star().

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

◆ top_dimension_cofaces() [1/4]

SimplexCollection wmtk::simplex::top_dimension_cofaces ( const Mesh mesh,
const Simplex simplex,
const bool  sort_and_clean = true 
)

Get all top dimension cofaces of the given simplex.

For example, the top dimension cofaces in a TetMesh are all tetrahedra incident to the given simplex.

The tuple held by each Simplex is guaranteed to contain the child simplex (and all other lower order simplices of the tuple) In particular, for any simplex (t, k) for tuple t, dimension k, this function returns simplices (u,m) such that \forall i \leq k, id(t,i) = id(u,i).

Parameters
meshThe mesh to which the simplex and its cofaces belong.
simplexThe simplex of which the cofaces are computed.
Returns
A SimplexCollection with all top dimension cofaces.

Definition at line 716 of file top_dimension_cofaces.cpp.

References wmtk::simplex::SimplexCollection::sort_and_clean(), top_dimension_cofaces_tuples(), wmtk::Mesh::top_simplex_type(), and wmtk::simplex::utils::tuple_vector_to_homogeneous_simplex_vector().

Here is the call graph for this function:

◆ top_dimension_cofaces() [2/4]

void wmtk::simplex::top_dimension_cofaces ( const Simplex simplex,
SimplexCollection simplex_collection,
const bool  sort_and_clean = true 
)

Get all top dimension cofaces of the given simplex.

For example, the top dimension cofaces in a TetMesh are all tetrahedra incident to the given simplex.

The tuple held by each Simplex is guaranteed to contain the child simplex (and all other lower order simplices of the tuple) In particular, for any simplex (t, k) for tuple t, dimension k, this function returns simplices (u,m) such that \forall i \leq k, id(t,i) = id(u,i).

Parameters
simplexThe simplex of which the cofaces are computed.
simplex_collectionThe top dimension cofaces are added to this SimplexCollection.

Definition at line 428 of file top_dimension_cofaces.cpp.

References wmtk::simplex::SimplexCollection::mesh(), wmtk::simplex::SimplexCollection::sort_and_clean(), and top_dimension_cofaces_tuples().

Referenced by wmtk::invariants::CollapseEnergyBeforeInvariant::before(), wmtk::invariants::CollapseEnergyBeforeInvariantDouble::before(), wmtk::invariants::CollapseSoftEnergyBeforeInvariant::before(), wmtk::Swap44EnergyBeforeInvariant::before(), wmtk::Swap44EnergyBeforeInvariantDouble::before(), wmtk::Swap56EnergyBeforeInvariant::before(), wmtk::Swap56EnergyBeforeInvariantDouble::before(), closed_star(), wmtk::invariants::Invariant::get_top_dimension_cofaces(), wmtk::operations::utils::multi_mesh_edge_collapse_with_modified_simplices(), wmtk::operations::utils::multi_mesh_edge_split_with_modified_simplices(), open_star_slow(), and wmtk::TriMesh::TriMeshOperationExecutor::split_edge_precompute().

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

◆ top_dimension_cofaces() [3/4]

SimplexCollection wmtk::simplex::top_dimension_cofaces ( const TetMesh mesh,
const Simplex simplex,
const bool  sort_and_clean 
)

Definition at line 700 of file top_dimension_cofaces.cpp.

References wmtk::simplex::SimplexCollection::sort_and_clean(), wmtk::Tetrahedron, top_dimension_cofaces_tuples(), and wmtk::simplex::utils::tuple_vector_to_homogeneous_simplex_vector().

Here is the call graph for this function:

◆ top_dimension_cofaces() [4/4]

SimplexCollection wmtk::simplex::top_dimension_cofaces ( const TriMesh mesh,
const Simplex simplex,
const bool  sort_and_clean 
)

Definition at line 684 of file top_dimension_cofaces.cpp.

References wmtk::simplex::SimplexCollection::sort_and_clean(), top_dimension_cofaces_tuples(), wmtk::Triangle, and wmtk::simplex::utils::tuple_vector_to_homogeneous_simplex_vector().

Here is the call graph for this function:

◆ top_dimension_cofaces_iterable()

TopDimensionCofacesIterable wmtk::simplex::top_dimension_cofaces_iterable ( const Mesh mesh,
const Simplex simplex 
)

Definition at line 5 of file top_dimension_cofaces_iterable.cpp.

Referenced by wmtk::TetMesh::TetMeshOperationExecutor::collapse_edge(), wmtk::TriMesh::TriMeshOperationExecutor::collapse_edge(), wmtk::TriMesh::TriMeshOperationExecutor::collapse_edge_precompute(), and wmtk::TriMesh::TriMeshOperationExecutor::get_collapse_simplices_to_delete().

Here is the caller graph for this function:

◆ top_dimension_cofaces_tuples() [1/15]

std::vector< Tuple > wmtk::simplex::top_dimension_cofaces_tuples ( const EdgeMesh mesh,
const Simplex simplex 
)

Definition at line 739 of file top_dimension_cofaces.cpp.

References top_dimension_cofaces_tuples().

Here is the call graph for this function:

◆ top_dimension_cofaces_tuples() [2/15]

void wmtk::simplex::top_dimension_cofaces_tuples ( const EdgeMesh mesh,
const Simplex simplex,
SimplexCollection collection 
)

Definition at line 464 of file top_dimension_cofaces.cpp.

References wmtk::simplex::SimplexCollection::add(), wmtk::Edge, wmtk::EdgeMesh::is_boundary_vertex(), wmtk::log_and_throw_error(), wmtk::simplex::Simplex::primitive_type(), wmtk::EdgeMesh::switch_edge(), wmtk::Tetrahedron, wmtk::Triangle, wmtk::simplex::Simplex::tuple(), and wmtk::Vertex.

Here is the call graph for this function:

◆ top_dimension_cofaces_tuples() [3/15]

void wmtk::simplex::top_dimension_cofaces_tuples ( const EdgeMesh mesh,
const Simplex simplex,
std::vector< Tuple > &  collection 
)

Definition at line 584 of file top_dimension_cofaces.cpp.

References wmtk::Edge, wmtk::EdgeMesh::is_boundary_vertex(), wmtk::simplex::Simplex::primitive_type(), wmtk::EdgeMesh::switch_edge(), wmtk::Tetrahedron, wmtk::Triangle, wmtk::simplex::Simplex::tuple(), and wmtk::Vertex.

Here is the call graph for this function:

◆ top_dimension_cofaces_tuples() [4/15]

std::vector< Tuple > wmtk::simplex::top_dimension_cofaces_tuples ( const Mesh mesh,
const Simplex simplex 
)

The same as top_dimension_cofaces but it returns only a vector of tuples.

As all simplices returned by this function are of the same type, it is often more efficient to just return the vector of tuples instead of creating a SimplexCollection.

Definition at line 760 of file top_dimension_cofaces.cpp.

References wmtk::Edge, wmtk::Tetrahedron, top_dimension_cofaces_tuples(), wmtk::Mesh::top_simplex_type(), wmtk::Triangle, and wmtk::Vertex.

Here is the call graph for this function:

◆ top_dimension_cofaces_tuples() [5/15]

void wmtk::simplex::top_dimension_cofaces_tuples ( const Mesh mesh,
const Simplex simplex,
SimplexCollection collection 
)

The same as top_dimension_cofaces but it appends to a vector of tuples.

As all simplices returned by this function are of the same type, it is often more efficient to just return the vector of tuples instead of creating a SimplexCollection.

Definition at line 538 of file top_dimension_cofaces.cpp.

References wmtk::Edge, wmtk::log_and_throw_error(), wmtk::Tetrahedron, top_dimension_cofaces_tuples(), wmtk::Mesh::top_simplex_type(), wmtk::Triangle, and wmtk::Vertex.

Here is the call graph for this function:

◆ top_dimension_cofaces_tuples() [6/15]

void wmtk::simplex::top_dimension_cofaces_tuples ( const Mesh mesh,
const Simplex simplex,
std::vector< Tuple > &  tuples 
)

Definition at line 660 of file top_dimension_cofaces.cpp.

References wmtk::Edge, wmtk::Tetrahedron, top_dimension_cofaces_tuples(), wmtk::Mesh::top_simplex_type(), wmtk::Triangle, and wmtk::Vertex.

Here is the call graph for this function:

◆ top_dimension_cofaces_tuples() [7/15]

std::vector< Tuple > wmtk::simplex::top_dimension_cofaces_tuples ( const PointMesh mesh,
const Simplex simplex 
)

Definition at line 731 of file top_dimension_cofaces.cpp.

References top_dimension_cofaces_tuples().

Here is the call graph for this function:

◆ top_dimension_cofaces_tuples() [8/15]

void wmtk::simplex::top_dimension_cofaces_tuples ( const PointMesh mesh,
const Simplex simplex,
SimplexCollection collection 
)

◆ top_dimension_cofaces_tuples() [9/15]

void wmtk::simplex::top_dimension_cofaces_tuples ( const PointMesh mesh,
const Simplex simplex,
std::vector< Tuple > &  collection 
)

Definition at line 561 of file top_dimension_cofaces.cpp.

References wmtk::Edge, wmtk::log_and_throw_error(), wmtk::simplex::Simplex::primitive_type(), wmtk::Tetrahedron, wmtk::Triangle, wmtk::simplex::Simplex::tuple(), and wmtk::Vertex.

Here is the call graph for this function:

◆ top_dimension_cofaces_tuples() [10/15]

std::vector< Tuple > wmtk::simplex::top_dimension_cofaces_tuples ( const TetMesh mesh,
const Simplex simplex 
)

Definition at line 753 of file top_dimension_cofaces.cpp.

References top_dimension_cofaces_tuples().

Here is the call graph for this function:

◆ top_dimension_cofaces_tuples() [11/15]

void wmtk::simplex::top_dimension_cofaces_tuples ( const TetMesh mesh,
const Simplex simplex,
SimplexCollection collection 
)

Definition at line 512 of file top_dimension_cofaces.cpp.

References wmtk::Edge, wmtk::simplex::Simplex::primitive_type(), wmtk::Tetrahedron, wmtk::Triangle, wmtk::simplex::Simplex::tuple(), and wmtk::Vertex.

Here is the call graph for this function:

◆ top_dimension_cofaces_tuples() [12/15]

void wmtk::simplex::top_dimension_cofaces_tuples ( const TetMesh mesh,
const Simplex simplex,
std::vector< Tuple > &  collection 
)

Definition at line 634 of file top_dimension_cofaces.cpp.

References wmtk::Edge, wmtk::simplex::Simplex::primitive_type(), wmtk::Tetrahedron, wmtk::Triangle, wmtk::simplex::Simplex::tuple(), and wmtk::Vertex.

Here is the call graph for this function:

◆ top_dimension_cofaces_tuples() [13/15]

std::vector< Tuple > wmtk::simplex::top_dimension_cofaces_tuples ( const TriMesh mesh,
const Simplex simplex 
)

Definition at line 746 of file top_dimension_cofaces.cpp.

References top_dimension_cofaces_tuples().

Here is the call graph for this function:

◆ top_dimension_cofaces_tuples() [14/15]

void wmtk::simplex::top_dimension_cofaces_tuples ( const TriMesh mesh,
const Simplex simplex,
SimplexCollection collection 
)

Definition at line 489 of file top_dimension_cofaces.cpp.

References wmtk::Edge, wmtk::simplex::Simplex::primitive_type(), wmtk::Tetrahedron, wmtk::Triangle, wmtk::simplex::Simplex::tuple(), and wmtk::Vertex.

Here is the call graph for this function:

◆ top_dimension_cofaces_tuples() [15/15]

void wmtk::simplex::top_dimension_cofaces_tuples ( const TriMesh mesh,
const Simplex simplex,
std::vector< Tuple > &  collection 
)

Definition at line 611 of file top_dimension_cofaces.cpp.

References wmtk::Edge, wmtk::simplex::Simplex::primitive_type(), wmtk::Tetrahedron, wmtk::Triangle, wmtk::simplex::Simplex::tuple(), and wmtk::Vertex.

Here is the call graph for this function:

◆ tuples_preserving_primitive_types()

std::vector< Tuple > wmtk::simplex::tuples_preserving_primitive_types ( const Mesh mesh,
const Tuple t,
const PrimitiveType  ptype1,
const PrimitiveType  ptype2 
)

Compute all tuples that contain simplex(ptype1, t) and that are contained by simplex(ptype2, t).

If ptype1 and ptype2 are the same, only the input tuple is returned.

The return tuples are guaranteed to contain both input simplices.

Definition at line 9 of file tuples_preserving_primitive_types.cpp.

References wmtk::utils::primitive_range(), and wmtk::Mesh::switch_tuple().

Referenced by wmtk::components::internal::MultiMeshFromTag::get_connected_region().

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

◆ vertices() [1/2]

std::vector<Tuple> wmtk::simplex::vertices ( const Mesh m,
const Simplex simplex 
)

Definition at line 9 of file faces_single_dimension.cpp.

References wmtk::Edge, wmtk::PE, PF, wmtk::simplex::Simplex::primitive_type(), wmtk::PV, wmtk::Mesh::switch_tuple(), wmtk::Mesh::switch_tuples(), wmtk::Tetrahedron, wmtk::Triangle, wmtk::simplex::Simplex::tuple(), and wmtk::Vertex.

Referenced by wmtk::components::AABBWrapper::AABBWrapper(), wmtk::components::internal::adjust_sizing_field(), wmtk::components::adjust_sizing_field(), wmtk::components::delaunay_exec(), wmtk::components::internal::delaunay_geogram(), wmtk::invariants::EnvelopeInvariant::EnvelopeInvariant(), wmtk::operations::AMIPSOptimizationSmoothing::execute(), wmtk::operations::AMIPSOptimizationSmoothingPeriodic::execute(), faces_single_dimension(), faces_single_dimension_tuples(), wmtk::components::longest_edge_split::longest_edge_split(), wmtk::components::internal::periodic_optimization(), wmtk::components::points_to_rowvectors(), wmtk::operations::composite::ProjectOperation::ProjectOperation(), wmtk::simplex::RawSimplex::RawSimplex(), wmtk::components::isotropic_remeshing::relative_to_absolute_length(), wmtk::components::internal::set_operation_energy_filter(), wmtk::components::set_operation_energy_filter(), wmtk::components::internal::set_operation_energy_filter_after_sizing_field(), wmtk::components::set_operation_energy_filter_after_sizing_field(), wmtk::components::shortest_edge_collapse::shortest_edge_collapse(), TEST_CASE(), wmtk::components::tetwild_simplification(), wmtk::components::to_points(), wmtk::components::wildmeshing(), wmtk::components::internal::wildmeshing2d(), and wmtk::components::internal::wildmeshing3d().

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

◆ vertices() [2/2]

void wmtk::simplex::vertices ( SimplexCollection simplex_collection,
const Simplex simplex 
)

Definition at line 38 of file faces_single_dimension.cpp.

References wmtk::simplex::SimplexCollection::add(), wmtk::Edge, wmtk::simplex::SimplexCollection::mesh(), wmtk::PE, PF, wmtk::simplex::Simplex::primitive_type(), wmtk::PV, wmtk::Mesh::switch_tuple(), wmtk::Mesh::switch_tuples(), wmtk::Tetrahedron, wmtk::Triangle, wmtk::simplex::Simplex::tuple(), and wmtk::Vertex.

Here is the call graph for this function: