Wildmeshing Toolkit
|
#include <EdgeOperationData.hpp>
Classes | |
struct | EarTet |
An EarTet is a neighbor of a tet to be deleted in the split/collapse operation. More... | |
struct | FaceCollapseData |
struct | FaceSplitData |
struct | IncidentFaceData |
struct | IncidentTetData |
Data on the incident tets of the operating edge. More... | |
Public Member Functions | |
EdgeOperationData ()=default | |
EdgeOperationData (EdgeOperationData &&)=default | |
EdgeOperationData & | operator= (EdgeOperationData &&)=default |
const std::array< int64_t, 2 > & | incident_vids () const |
int64_t | operating_edge_id () const |
std::vector< std::array< Tuple, 2 > > | ear_edges (const TetMesh &m) const |
std::vector< std::array< Tuple, 2 > > | ear_faces (const TetMesh &m) const |
std::array< Tuple, 2 > | input_endpoints (const TetMesh &m) const |
std::vector< Tuple > | collapse_merged_ear_edges (const TetMesh &m) const |
std::vector< Tuple > | collapse_merged_ear_faces (const TetMesh &m) const |
std::vector< Tuple > | split_new_rib_edges (const TetMesh &) const |
std::vector< Tuple > | split_new_rib_faces (const TetMesh &) const |
std::vector< Tuple > | input_tets (const TetMesh &) const |
std::vector< Tuple > | input_faces (const TetMesh &) const |
std::array< Tuple, 2 > | split_output_edges (const TetMesh &) const |
std::vector< std::array< Tuple, 2 > > | split_output_faces (const TetMesh &) const |
std::vector< std::array< Tuple, 2 > > | split_output_tets (const TetMesh &) const |
std::vector< IncidentTetData > | incident_tet_datas () const |
std::vector< IncidentFaceData > | incident_face_datas () const |
std::vector< simplex::Simplex > | new_vertices (const Mesh &) const |
std::array< int64_t, 2 > | new_spine_eids () const |
Public Member Functions inherited from wmtk::operations::EdgeOperationData | |
EdgeOperationData () | |
~EdgeOperationData () | |
EdgeOperationData (EdgeOperationData &&) | |
EdgeOperationData & | operator= (EdgeOperationData &&) |
void | set_split () |
void | set_collapse () |
const internal::SplitAlternateFacetData & | const_split_facet_data () const |
Returns facet data held if the edge operation was a split - throws if data does not exist. More... | |
const internal::CollapseAlternateFacetData & | const_collapse_facet_data () const |
Returns facet data held if the edge operation was a collapse- throws if data does not exist. More... | |
Public Attributes | |
std::array< std::vector< int64_t >, 4 > | simplex_ids_to_delete |
std::array< std::vector< Tuple >, 4 > | simplex_tuples_to_delete |
std::vector< int64_t > | cell_ids_to_update_hash |
bool | is_collapse = false |
Public Attributes inherited from wmtk::operations::EdgeOperationData | |
Tuple | m_operating_tuple |
Tuple | m_output_tuple |
std::array< int64_t, 2 > | m_spine_vids |
std::vector< std::vector< Tuple > > | split_boundary_complex |
std::vector< std::vector< std::tuple< int64_t, std::vector< Tuple > > > > | global_ids_to_potential_tuples |
std::vector< std::vector< int64_t > > | global_ids_to_update |
std::variant< std::unique_ptr< internal::SplitAlternateFacetData >, std::unique_ptr< internal::CollapseAlternateFacetData > > | m_op_data |
Protected Attributes | |
std::array< int64_t, 2 > | m_spine_vids |
int64_t | m_operating_edge_id |
int64_t | m_operating_face_id |
int64_t | m_operating_tet_id |
int64_t | m_split_new_vid = -1 |
std::array< int64_t, 2 > | m_split_new_spine_eids |
std::vector< IncidentTetData > | m_incident_tet_datas |
std::vector< IncidentFaceData > | m_incident_face_datas |
Additional Inherited Members | |
Protected Member Functions inherited from wmtk::operations::EdgeOperationData | |
internal::SplitAlternateFacetData & | split_facet_data () |
Returns facet data held if the edge operation was a split - throws if data does not exist. More... | |
internal::CollapseAlternateFacetData & | collapse_facet_data () |
Returns facet data held if the edge operation was a collapse- throws if data does not exist. More... | |
Static Protected Member Functions inherited from wmtk::operations::EdgeOperationData | |
static Tuple | tuple_from_id (const Mesh &m, const PrimitiveType type, const int64_t gid) |
static simplex::Simplex | simplex_from_id (const Mesh &m, const PrimitiveType type, const int64_t gid) |
static std::vector< int64_t > | request_simplex_indices (Mesh &mesh, const PrimitiveType type, int64_t count) |
Definition at line 8 of file EdgeOperationData.hpp.
|
default |
|
default |
std::vector< Tuple > wmtk::operations::tet_mesh::EdgeOperationData::collapse_merged_ear_edges | ( | const TetMesh & | m | ) | const |
Definition at line 47 of file EdgeOperationData.cpp.
References wmtk::Edge, incident_face_datas(), and wmtk::operations::EdgeOperationData::tuple_from_id().
Referenced by wmtk::operations::tet_mesh::CollapseNewAttributeTopoInfo::new_simplices().
std::vector< Tuple > wmtk::operations::tet_mesh::EdgeOperationData::collapse_merged_ear_faces | ( | const TetMesh & | m | ) | const |
Definition at line 58 of file EdgeOperationData.cpp.
References incident_tet_datas(), wmtk::Triangle, and wmtk::operations::EdgeOperationData::tuple_from_id().
Referenced by wmtk::operations::tet_mesh::CollapseNewAttributeTopoInfo::new_simplices().
std::vector< std::array< Tuple, 2 > > wmtk::operations::tet_mesh::EdgeOperationData::ear_edges | ( | const TetMesh & | m | ) | const |
Definition at line 9 of file EdgeOperationData.cpp.
References wmtk::Edge, incident_face_datas(), and wmtk::operations::EdgeOperationData::tuple_from_id().
Referenced by wmtk::operations::tet_mesh::SplitNewAttributeTopoInfo::input_ear_simplices(), and wmtk::operations::tet_mesh::CollapseNewAttributeTopoInfo::merged_simplices().
std::vector< std::array< Tuple, 2 > > wmtk::operations::tet_mesh::EdgeOperationData::ear_faces | ( | const TetMesh & | m | ) | const |
Definition at line 24 of file EdgeOperationData.cpp.
References incident_tet_datas(), wmtk::Triangle, and wmtk::operations::EdgeOperationData::tuple_from_id().
Referenced by wmtk::operations::tet_mesh::SplitNewAttributeTopoInfo::input_ear_simplices(), and wmtk::operations::tet_mesh::CollapseNewAttributeTopoInfo::merged_simplices().
|
inline |
Definition at line 141 of file EdgeOperationData.hpp.
References m_incident_face_datas.
Referenced by collapse_merged_ear_edges(), ear_edges(), input_faces(), wmtk::operations::utils::UpdateEdgeOperationMultiMeshMapFunctor::operator()(), split_new_rib_edges(), split_output_faces(), and wmtk::operations::utils::UpdateEdgeOperationMultiMeshMapFunctor::update_ear_replacement().
|
inline |
Definition at line 140 of file EdgeOperationData.hpp.
References m_incident_tet_datas.
Referenced by collapse_merged_ear_faces(), ear_faces(), input_tets(), wmtk::operations::utils::UpdateEdgeOperationMultiMeshMapFunctor::operator()(), split_new_rib_faces(), split_output_tets(), and wmtk::operations::utils::UpdateEdgeOperationMultiMeshMapFunctor::update_ear_replacement().
|
inline |
Definition at line 116 of file EdgeOperationData.hpp.
References m_spine_vids.
Referenced by wmtk::operations::utils::UpdateEdgeOperationMultiMeshMapFunctor::operator()().
std::array< Tuple, 2 > wmtk::operations::tet_mesh::EdgeOperationData::input_endpoints | ( | const TetMesh & | m | ) | const |
Definition at line 39 of file EdgeOperationData.cpp.
References wmtk::operations::EdgeOperationData::m_operating_tuple, wmtk::TetMesh::switch_tuple(), and wmtk::Vertex.
Referenced by wmtk::operations::tet_mesh::SplitNewAttributeTopoInfo::input_ear_simplices(), and wmtk::operations::tet_mesh::CollapseNewAttributeTopoInfo::merged_simplices().
std::vector< Tuple > wmtk::operations::tet_mesh::EdgeOperationData::input_faces | ( | const TetMesh & | m | ) | const |
Definition at line 105 of file EdgeOperationData.cpp.
References incident_face_datas().
Referenced by wmtk::operations::tet_mesh::SplitNewAttributeTopoInfo::input_split_simplices().
std::vector< Tuple > wmtk::operations::tet_mesh::EdgeOperationData::input_tets | ( | const TetMesh & | m | ) | const |
Definition at line 116 of file EdgeOperationData.cpp.
References incident_tet_datas().
Referenced by wmtk::operations::tet_mesh::SplitNewAttributeTopoInfo::input_split_simplices().
|
inline |
Definition at line 144 of file EdgeOperationData.hpp.
References m_split_new_spine_eids.
Referenced by wmtk::operations::utils::UpdateEdgeOperationMultiMeshMapFunctor::operator()().
std::vector< simplex::Simplex > wmtk::operations::tet_mesh::EdgeOperationData::new_vertices | ( | const Mesh & | m | ) | const |
Definition at line 68 of file EdgeOperationData.cpp.
References wmtk::Mesh::is_free(), m_split_new_vid, wmtk::operations::EdgeOperationData::simplex_from_id(), and wmtk::Vertex.
|
inline |
Definition at line 118 of file EdgeOperationData.hpp.
References m_operating_edge_id.
|
default |
std::vector< Tuple > wmtk::operations::tet_mesh::EdgeOperationData::split_new_rib_edges | ( | const TetMesh & | m | ) | const |
Definition at line 83 of file EdgeOperationData.cpp.
References wmtk::Edge, incident_face_datas(), and wmtk::operations::EdgeOperationData::tuple_from_id().
Referenced by wmtk::operations::tet_mesh::SplitNewAttributeTopoInfo::output_rib_simplices().
std::vector< Tuple > wmtk::operations::tet_mesh::EdgeOperationData::split_new_rib_faces | ( | const TetMesh & | m | ) | const |
Definition at line 94 of file EdgeOperationData.cpp.
References incident_tet_datas(), wmtk::Triangle, and wmtk::operations::EdgeOperationData::tuple_from_id().
Referenced by wmtk::operations::tet_mesh::SplitNewAttributeTopoInfo::output_rib_simplices().
std::array< Tuple, 2 > wmtk::operations::tet_mesh::EdgeOperationData::split_output_edges | ( | const TetMesh & | m | ) | const |
Definition at line 127 of file EdgeOperationData.cpp.
References wmtk::Edge, m_split_new_spine_eids, and wmtk::operations::EdgeOperationData::tuple_from_id().
Referenced by wmtk::operations::tet_mesh::SplitNewAttributeTopoInfo::output_split_simplices().
std::vector< std::array< Tuple, 2 > > wmtk::operations::tet_mesh::EdgeOperationData::split_output_faces | ( | const TetMesh & | m | ) | const |
Definition at line 136 of file EdgeOperationData.cpp.
References incident_face_datas(), wmtk::Triangle, and wmtk::operations::EdgeOperationData::tuple_from_id().
Referenced by wmtk::operations::tet_mesh::SplitNewAttributeTopoInfo::output_split_simplices().
std::vector< std::array< Tuple, 2 > > wmtk::operations::tet_mesh::EdgeOperationData::split_output_tets | ( | const TetMesh & | m | ) | const |
Definition at line 150 of file EdgeOperationData.cpp.
References incident_tet_datas(), wmtk::Tetrahedron, and wmtk::operations::EdgeOperationData::tuple_from_id().
Referenced by wmtk::operations::tet_mesh::SplitNewAttributeTopoInfo::output_split_simplices().
std::vector<int64_t> wmtk::operations::tet_mesh::EdgeOperationData::cell_ids_to_update_hash |
Definition at line 123 of file EdgeOperationData.hpp.
bool wmtk::operations::tet_mesh::EdgeOperationData::is_collapse = false |
Definition at line 147 of file EdgeOperationData.hpp.
Referenced by wmtk::operations::utils::UpdateEdgeOperationMultiMeshMapFunctor::operator()().
|
protected |
Definition at line 162 of file EdgeOperationData.hpp.
Referenced by incident_face_datas().
|
protected |
Definition at line 161 of file EdgeOperationData.hpp.
Referenced by incident_tet_datas().
|
protected |
Definition at line 153 of file EdgeOperationData.hpp.
Referenced by operating_edge_id().
|
protected |
Definition at line 154 of file EdgeOperationData.hpp.
|
protected |
Definition at line 155 of file EdgeOperationData.hpp.
|
protected |
Definition at line 152 of file EdgeOperationData.hpp.
Referenced by incident_vids().
|
protected |
Definition at line 158 of file EdgeOperationData.hpp.
Referenced by new_spine_eids(), and split_output_edges().
|
protected |
Definition at line 157 of file EdgeOperationData.hpp.
Referenced by new_vertices().
std::array<std::vector<int64_t>, 4> wmtk::operations::tet_mesh::EdgeOperationData::simplex_ids_to_delete |
Definition at line 121 of file EdgeOperationData.hpp.
Referenced by wmtk::TetMesh::TetMeshOperationExecutor::delete_simplices().
std::array<std::vector<Tuple>, 4> wmtk::operations::tet_mesh::EdgeOperationData::simplex_tuples_to_delete |
Definition at line 122 of file EdgeOperationData.hpp.