Wildmeshing Toolkit
|
#include <EdgeOperationData.hpp>
Classes | |
struct | EarData |
An ear is a face that is adjacent to a face that is incident to the edge on which the operation is performed. More... | |
struct | IncidentFaceData |
Data on the incident face relevant for performing operations. More... | |
Public Member Functions | |
EdgeOperationData ()=default | |
EdgeOperationData (EdgeOperationData &&)=default | |
EdgeOperationData & | operator= (EdgeOperationData &&)=default |
const std::vector< IncidentFaceData > & | incident_face_datas () const |
const std::array< int64_t, 2 > & | incident_vids () const |
int64_t | operating_edge_id () const |
std::vector< std::array< Tuple, 2 > > | ear_edges (const TriMesh &m) const |
std::array< Tuple, 2 > | input_endpoints (const TriMesh &m) const |
std::vector< Tuple > | collapse_merged_ear_edges (const TriMesh &m) const |
std::vector< Tuple > | split_new_rib_edges (const TriMesh &) const |
std::vector< Tuple > | input_faces (const TriMesh &) const |
std::array< Tuple, 2 > | split_output_edges (const TriMesh &) const |
std::vector< std::array< Tuple, 2 > > | split_output_faces (const TriMesh &) const |
std::vector< simplex::Simplex > | new_vertices (const Mesh &) 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 >, 3 > | simplex_ids_to_delete |
std::vector< int64_t > | cell_ids_to_update_hash |
int64_t | spine_eid = -1 |
int64_t | m_operating_edge_id = -1 |
std::vector< IncidentFaceData > | m_incident_face_datas |
std::array< int64_t, 2 > | split_spine_eids = std::array<int64_t, 2>{{-1, -1}} |
int64_t | split_new_vid = -1 |
std::array< int64_t, 2 > | m_free_split_v |
std::array< int64_t, 2 > | m_free_split_e |
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 |
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::tri_mesh::EdgeOperationData::collapse_merged_ear_edges | ( | const TriMesh & | m | ) | const |
Definition at line 31 of file EdgeOperationData.cpp.
References wmtk::Edge, incident_face_datas(), and wmtk::operations::EdgeOperationData::tuple_from_id().
Referenced by wmtk::operations::tri_mesh::CollapseNewAttributeTopoInfo::new_simplices().
std::vector< std::array< Tuple, 2 > > wmtk::operations::tri_mesh::EdgeOperationData::ear_edges | ( | const TriMesh & | m | ) | const |
Definition at line 8 of file EdgeOperationData.cpp.
References wmtk::Edge, incident_face_datas(), and wmtk::operations::EdgeOperationData::tuple_from_id().
Referenced by wmtk::operations::tri_mesh::SplitNewAttributeTopoInfo::input_ear_simplices(), and wmtk::operations::tri_mesh::CollapseNewAttributeTopoInfo::merged_simplices().
|
inline |
Definition at line 66 of file EdgeOperationData.hpp.
References m_incident_face_datas.
Referenced by collapse_merged_ear_edges(), ear_edges(), input_faces(), wmtk::operations::utils::UpdateEdgeOperationMultiMeshMapFunctor::operator()(), wmtk::operations::utils::MultiMeshEdgeSplitFunctor::operator()(), split_new_rib_edges(), split_output_faces(), and wmtk::operations::utils::UpdateEdgeOperationMultiMeshMapFunctor::update_ear_replacement().
|
inline |
Definition at line 71 of file EdgeOperationData.hpp.
References wmtk::operations::EdgeOperationData::m_spine_vids.
Referenced by wmtk::operations::utils::UpdateEdgeOperationMultiMeshMapFunctor::operator()(), and wmtk::operations::utils::UpdateEdgeOperationMultiMeshMapFunctor::update_ear_replacement().
std::array< Tuple, 2 > wmtk::operations::tri_mesh::EdgeOperationData::input_endpoints | ( | const TriMesh & | m | ) | const |
Definition at line 23 of file EdgeOperationData.cpp.
References wmtk::operations::EdgeOperationData::m_operating_tuple, wmtk::TriMesh::switch_tuple(), and wmtk::Vertex.
Referenced by wmtk::operations::tri_mesh::SplitNewAttributeTopoInfo::input_ear_simplices(), and wmtk::operations::tri_mesh::CollapseNewAttributeTopoInfo::merged_simplices().
std::vector< Tuple > wmtk::operations::tri_mesh::EdgeOperationData::input_faces | ( | const TriMesh & | m | ) | const |
Definition at line 65 of file EdgeOperationData.cpp.
References incident_face_datas().
Referenced by wmtk::operations::tri_mesh::SplitNewAttributeTopoInfo::input_split_simplices().
std::vector< simplex::Simplex > wmtk::operations::tri_mesh::EdgeOperationData::new_vertices | ( | const Mesh & | m | ) | const |
Definition at line 42 of file EdgeOperationData.cpp.
References wmtk::Mesh::is_free(), m_free_split_v, wmtk::operations::EdgeOperationData::simplex_from_id(), split_new_vid, and wmtk::Vertex.
|
inline |
Definition at line 73 of file EdgeOperationData.hpp.
References m_operating_edge_id.
|
default |
std::vector< Tuple > wmtk::operations::tri_mesh::EdgeOperationData::split_new_rib_edges | ( | const TriMesh & | m | ) | const |
Definition at line 55 of file EdgeOperationData.cpp.
References wmtk::Edge, incident_face_datas(), and wmtk::operations::EdgeOperationData::tuple_from_id().
Referenced by wmtk::operations::tri_mesh::SplitNewAttributeTopoInfo::output_rib_simplices().
std::array< Tuple, 2 > wmtk::operations::tri_mesh::EdgeOperationData::split_output_edges | ( | const TriMesh & | m | ) | const |
Definition at line 90 of file EdgeOperationData.cpp.
References wmtk::Edge, split_spine_eids, and wmtk::operations::EdgeOperationData::tuple_from_id().
Referenced by wmtk::operations::tri_mesh::SplitNewAttributeTopoInfo::output_split_simplices().
std::vector< std::array< Tuple, 2 > > wmtk::operations::tri_mesh::EdgeOperationData::split_output_faces | ( | const TriMesh & | m | ) | const |
Definition at line 75 of file EdgeOperationData.cpp.
References incident_face_datas(), wmtk::Triangle, and wmtk::operations::EdgeOperationData::tuple_from_id().
Referenced by wmtk::operations::tri_mesh::SplitNewAttributeTopoInfo::output_split_simplices().
std::vector<int64_t> wmtk::operations::tri_mesh::EdgeOperationData::cell_ids_to_update_hash |
Definition at line 88 of file EdgeOperationData.hpp.
bool wmtk::operations::tri_mesh::EdgeOperationData::is_collapse = false |
Definition at line 105 of file EdgeOperationData.hpp.
Referenced by wmtk::operations::utils::UpdateEdgeOperationMultiMeshMapFunctor::operator()().
std::array<int64_t, 2> wmtk::operations::tri_mesh::EdgeOperationData::m_free_split_e |
Definition at line 103 of file EdgeOperationData.hpp.
Referenced by wmtk::operations::tri_mesh::SplitNewAttributeTopoInfo::output_duplicated_free_simplices().
std::array<int64_t, 2> wmtk::operations::tri_mesh::EdgeOperationData::m_free_split_v |
Definition at line 102 of file EdgeOperationData.hpp.
Referenced by new_vertices(), and wmtk::operations::tri_mesh::SplitNewAttributeTopoInfo::output_duplicated_free_simplices().
std::vector<IncidentFaceData> wmtk::operations::tri_mesh::EdgeOperationData::m_incident_face_datas |
Definition at line 96 of file EdgeOperationData.hpp.
Referenced by incident_face_datas(), and wmtk::operations::tri_mesh::SplitNewAttributeTopoInfo::output_duplicated_free_simplices().
int64_t wmtk::operations::tri_mesh::EdgeOperationData::m_operating_edge_id = -1 |
Definition at line 93 of file EdgeOperationData.hpp.
Referenced by operating_edge_id().
std::array<std::vector<int64_t>, 3> wmtk::operations::tri_mesh::EdgeOperationData::simplex_ids_to_delete |
Definition at line 87 of file EdgeOperationData.hpp.
int64_t wmtk::operations::tri_mesh::EdgeOperationData::spine_eid = -1 |
Definition at line 92 of file EdgeOperationData.hpp.
int64_t wmtk::operations::tri_mesh::EdgeOperationData::split_new_vid = -1 |
Definition at line 100 of file EdgeOperationData.hpp.
Referenced by new_vertices(), and wmtk::operations::tri_mesh::SplitNewAttributeTopoInfo::output_duplicated_free_simplices().
std::array<int64_t, 2> wmtk::operations::tri_mesh::EdgeOperationData::split_spine_eids = std::array<int64_t, 2>{{-1, -1}} |
Definition at line 98 of file EdgeOperationData.hpp.
Referenced by wmtk::operations::utils::UpdateEdgeOperationMultiMeshMapFunctor::operator()(), and split_output_edges().