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, 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::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, 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, 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, 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().