|
Wildmeshing Toolkit
|
The Tuple is the basic navigation tool in our mesh data structure.
More...
#include <Tuple.hpp>
Public Member Functions | |
| Tuple (int8_t local_vid, int8_t local_eid, int8_t local_fid, int64_t global_cid) | |
| Tuple ()=default | |
| Tuple (const Tuple &other)=default | |
| Tuple (Tuple &&other)=default | |
| Tuple & | operator= (const Tuple &other)=default |
| Tuple & | operator= (Tuple &&other)=default |
| bool | operator== (const Tuple &t) const |
| bool | operator!= (const Tuple &t) const |
| bool | operator< (const Tuple &t) const |
| bool | same_ids (const Tuple &t) const |
| Checks whether two tuples are equal, but ignores the hash. | |
| bool | is_null () const |
| Checks if a tuple is "null". This merely implies the global index is -1. | |
| int64_t | global_cid () const |
| int8_t | local_vid () const |
| int8_t | local_eid () const |
| int8_t | local_fid () const |
| int8_t | local_id (const PrimitiveType pt) const |
| std::string | as_string () const |
| operator std::string () const | |
Private Attributes | |
| int64_t | m_global_cid = -1 |
| int8_t | m_local_vid = -1 |
| int8_t | m_local_eid = -1 |
| int8_t | m_local_fid = -1 |
Friends | |
| std::ostream & | operator<< (std::ostream &os, const Tuple &t) |
The Tuple is the basic navigation tool in our mesh data structure.
It consists of the global cell ID, and of local IDs for any other PrimitiveType. We highest simplex dimension we can represent is 3, i.e., tetrahedra. The cell id always represents the top simplex type. So, for a TriMesh, the cell ID is the triangle ID, and the local face ID will remain empty (-1).
|
inline |
|
default |
|
default |
|
default |
| std::string wmtk::Tuple::as_string | ( | ) | const |
Definition at line 7 of file Tuple.cpp.
References global_cid(), local_eid(), local_fid(), and local_vid().
Referenced by wmtk::multimesh::utils::MapValidator::check_child_switch_homomorphism().
|
inline |
Definition at line 47 of file Tuple.hxx.
References m_global_cid.
Referenced by wmtk::simplex::TopDimensionCofacesIterable::Iterator::add_neighbors_to_queue(), as_string(), wmtk::attribute::Accessor< T, MeshType, AttributeType_, Dim >::const_topological_scalar_attribute(), wmtk::autogen::SimplexDart::dart_from_tuple(), wmtk::multimesh::MultiMeshManager::find_valid_tuple_from_split(), wmtk::EdgeMesh::id(), wmtk::PointMesh::id(), wmtk::TetMesh::id(), wmtk::TriMesh::id(), wmtk::Mesh::is_removed(), wmtk::EdgeMesh::is_valid(), wmtk::TetMesh::is_valid(), wmtk::TriMesh::is_valid(), wmtk::autogen::edge_mesh::local_switch_tuple(), wmtk::autogen::tri_mesh::local_switch_tuple(), wmtk::autogen::tet_mesh::local_switch_tuple(), wmtk::autogen::edge_mesh::local_switch_tuple(), wmtk::autogen::tet_mesh::local_switch_tuple(), wmtk::autogen::tri_mesh::local_switch_tuple(), wmtk::multimesh::MultiMeshManager::map_tuple_between_meshes(), wmtk::utils::TupleCellLessThan::operator()(), wmtk::TetMesh::orient_vertices(), wmtk::TriMesh::orient_vertices(), wmtk::EdgeMesh::orient_vertices(), wmtk::EdgeMesh::switch_tuple(), wmtk::multimesh::utils::tuple_to_vector5(), wmtk::multimesh::MultiMeshManager::update_map_tuple_hashes(), and wmtk::autogen::SimplexDart::update_tuple_from_valid_index().
|
inline |
Checks if a tuple is "null". This merely implies the global index is -1.
Definition at line 41 of file Tuple.hxx.
References m_global_cid.
Referenced by wmtk::Mesh::is_valid(), wmtk::simplex::ClosedStarIterable::Iterator::Iterator(), wmtk::simplex::HalfClosedStarIterable::Iterator::Iterator(), wmtk::simplex::LinkIterable::Iterator::Iterator(), wmtk::simplex::LinkSingleDimensionIterable::Iterator::Iterator(), wmtk::simplex::OpenStarIterable::Iterator::Iterator(), wmtk::simplex::TopDimensionCofacesIterable::Iterator::Iterator(), wmtk::simplex::ClosedStarIterable::Iterator::navigate_to_link(), wmtk::simplex::LinkIterable::Iterator::navigate_to_link(), wmtk::simplex::LinkSingleDimensionIterable::Iterator::navigate_to_link(), wmtk::operations::Operation::operator()(), wmtk::autogen::edge_mesh::tuple_is_valid_for_ccw(), wmtk::autogen::tri_mesh::tuple_is_valid_for_ccw(), wmtk::operations::utils::UpdateEdgeOperationMultiMeshMapFunctor::update_ear_replacement(), wmtk::operations::utils::UpdateEdgeOperationMultiMeshMapFunctor::update_ear_replacement(), wmtk::multimesh::MultiMeshManager::update_map_tuple_hashes(), and wmtk::multimesh::MultiMeshManager::update_maps_from_edge_operation().
|
inline |
Definition at line 57 of file Tuple.hxx.
References m_local_eid.
Referenced by as_string(), wmtk::attribute::Accessor< T, MeshType, AttributeType_, Dim >::const_topological_scalar_attribute(), wmtk::multimesh::MultiMeshManager::find_valid_tuple_from_split(), wmtk::TetMesh::id(), wmtk::TriMesh::is_boundary_edge(), wmtk::TetMesh::is_valid(), wmtk::TriMesh::is_valid(), local_id(), wmtk::autogen::tet_mesh::local_id_table_offset(), wmtk::autogen::tri_mesh::local_id_table_offset(), wmtk::autogen::edge_mesh::local_switch_tuple(), wmtk::TriMesh::switch_tuple(), wmtk::EdgeMesh::switch_tuple(), wmtk::multimesh::utils::tuple_to_vector5(), and wmtk::TriMesh::with_different_cid().
|
inline |
Definition at line 62 of file Tuple.hxx.
References m_local_fid.
Referenced by as_string(), wmtk::attribute::Accessor< T, MeshType, AttributeType_, Dim >::const_topological_scalar_attribute(), wmtk::multimesh::MultiMeshManager::find_valid_tuple_from_split(), wmtk::TetMesh::id(), wmtk::TetMesh::is_boundary_face(), wmtk::TetMesh::is_valid(), local_id(), wmtk::autogen::tet_mesh::local_id_table_offset(), wmtk::autogen::edge_mesh::local_switch_tuple(), wmtk::autogen::tri_mesh::local_switch_tuple(), wmtk::multimesh::MultiMeshManager::map_tuple_between_meshes(), wmtk::TetMesh::switch_tuple(), wmtk::TriMesh::switch_tuple(), wmtk::EdgeMesh::switch_tuple(), wmtk::multimesh::utils::tuple_to_vector5(), and wmtk::TriMesh::with_different_cid().
|
inline |
Definition at line 67 of file Tuple.hxx.
References wmtk::Edge, local_eid(), local_fid(), local_vid(), wmtk::Tetrahedron, wmtk::Triangle, and wmtk::Vertex.
|
inline |
Definition at line 52 of file Tuple.hxx.
References m_local_vid.
Referenced by as_string(), wmtk::attribute::Accessor< T, MeshType, AttributeType_, Dim >::const_topological_scalar_attribute(), wmtk::multimesh::MultiMeshManager::find_valid_tuple_from_split(), wmtk::EdgeMesh::id(), wmtk::TetMesh::id(), wmtk::EdgeMesh::is_boundary_vertex(), wmtk::autogen::edge_mesh::is_ccw(), wmtk::EdgeMesh::is_ccw(), wmtk::EdgeMesh::is_valid(), wmtk::TetMesh::is_valid(), wmtk::TriMesh::is_valid(), local_id(), wmtk::autogen::edge_mesh::local_id_table_offset(), wmtk::autogen::tet_mesh::local_id_table_offset(), wmtk::autogen::tri_mesh::local_id_table_offset(), wmtk::autogen::edge_mesh::local_switch_tuple(), wmtk::TriMesh::switch_tuple(), wmtk::EdgeMesh::switch_tuple(), wmtk::multimesh::utils::tuple_to_vector5(), and wmtk::TriMesh::with_different_cid().
|
inline |
|
inline |
Definition at line 30 of file Tuple.hxx.
References m_global_cid, m_local_eid, m_local_fid, and m_local_vid.
|
inline |
Definition at line 24 of file Tuple.hxx.
References m_global_cid, m_local_eid, m_local_fid, and m_local_vid.
|
inline |
Checks whether two tuples are equal, but ignores the hash.
Definition at line 35 of file Tuple.hxx.
References m_global_cid, m_local_eid, m_local_fid, and m_local_vid.
|
friend |
|
private |
Definition at line 23 of file Tuple.hpp.
Referenced by global_cid(), is_null(), operator<(), operator==(), and same_ids().
|
private |
Definition at line 25 of file Tuple.hpp.
Referenced by local_eid(), operator<(), operator==(), and same_ids().
|
private |
Definition at line 26 of file Tuple.hpp.
Referenced by local_fid(), operator<(), operator==(), and same_ids().
|
private |
Definition at line 24 of file Tuple.hpp.
Referenced by local_vid(), operator<(), operator==(), and same_ids().