Wildmeshing Toolkit
wmtk::operations::tet_mesh::EdgeOperationData Class Reference

#include <EdgeOperationData.hpp>

Inheritance diagram for wmtk::operations::tet_mesh::EdgeOperationData:
[legend]
Collaboration diagram for wmtk::operations::tet_mesh::EdgeOperationData:
[legend]

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
 
EdgeOperationDataoperator= (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< Tuplecollapse_merged_ear_edges (const TetMesh &m) const
 
std::vector< Tuplecollapse_merged_ear_faces (const TetMesh &m) const
 
std::vector< Tuplesplit_new_rib_edges (const TetMesh &) const
 
std::vector< Tuplesplit_new_rib_faces (const TetMesh &) const
 
std::vector< Tupleinput_tets (const TetMesh &) const
 
std::vector< Tupleinput_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< IncidentTetDataincident_tet_datas () const
 
std::vector< IncidentFaceDataincident_face_datas () const
 
std::vector< simplex::Simplexnew_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 &&)
 
EdgeOperationDataoperator= (EdgeOperationData &&)
 
void set_split ()
 
void set_collapse ()
 
const internal::SplitAlternateFacetDataconst_split_facet_data () const
 Returns facet data held if the edge operation was a split - throws if data does not exist. More...
 
const internal::CollapseAlternateFacetDataconst_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< IncidentTetDatam_incident_tet_datas
 
std::vector< IncidentFaceDatam_incident_face_datas
 

Additional Inherited Members

- Protected Member Functions inherited from wmtk::operations::EdgeOperationData
internal::SplitAlternateFacetDatasplit_facet_data ()
 Returns facet data held if the edge operation was a split - throws if data does not exist. More...
 
internal::CollapseAlternateFacetDatacollapse_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)
 

Detailed Description

Definition at line 8 of file EdgeOperationData.hpp.

Constructor & Destructor Documentation

◆ EdgeOperationData() [1/2]

wmtk::operations::tet_mesh::EdgeOperationData::EdgeOperationData ( )
default

◆ EdgeOperationData() [2/2]

wmtk::operations::tet_mesh::EdgeOperationData::EdgeOperationData ( EdgeOperationData &&  )
default

Member Function Documentation

◆ collapse_merged_ear_edges()

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

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

◆ collapse_merged_ear_faces()

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

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

◆ ear_edges()

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

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

◆ ear_faces()

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

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

◆ incident_face_datas()

std::vector<IncidentFaceData> wmtk::operations::tet_mesh::EdgeOperationData::incident_face_datas ( ) const
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().

Here is the caller graph for this function:

◆ incident_tet_datas()

std::vector<IncidentTetData> wmtk::operations::tet_mesh::EdgeOperationData::incident_tet_datas ( ) const
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().

Here is the caller graph for this function:

◆ incident_vids()

const std::array<int64_t, 2>& wmtk::operations::tet_mesh::EdgeOperationData::incident_vids ( ) const
inline

Definition at line 116 of file EdgeOperationData.hpp.

References m_spine_vids.

Referenced by wmtk::operations::utils::UpdateEdgeOperationMultiMeshMapFunctor::operator()().

Here is the caller graph for this function:

◆ input_endpoints()

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

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

◆ input_faces()

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

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

◆ input_tets()

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

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

◆ new_spine_eids()

std::array<int64_t, 2> wmtk::operations::tet_mesh::EdgeOperationData::new_spine_eids ( ) const
inline

Definition at line 144 of file EdgeOperationData.hpp.

References m_split_new_spine_eids.

Referenced by wmtk::operations::utils::UpdateEdgeOperationMultiMeshMapFunctor::operator()().

Here is the caller graph for this function:

◆ new_vertices()

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.

Here is the call graph for this function:

◆ operating_edge_id()

int64_t wmtk::operations::tet_mesh::EdgeOperationData::operating_edge_id ( ) const
inline

Definition at line 118 of file EdgeOperationData.hpp.

References m_operating_edge_id.

◆ operator=()

EdgeOperationData& wmtk::operations::tet_mesh::EdgeOperationData::operator= ( EdgeOperationData &&  )
default

◆ split_new_rib_edges()

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

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

◆ split_new_rib_faces()

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

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

◆ split_output_edges()

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

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

◆ split_output_faces()

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

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

◆ split_output_tets()

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

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

Member Data Documentation

◆ cell_ids_to_update_hash

std::vector<int64_t> wmtk::operations::tet_mesh::EdgeOperationData::cell_ids_to_update_hash

Definition at line 123 of file EdgeOperationData.hpp.

◆ is_collapse

bool wmtk::operations::tet_mesh::EdgeOperationData::is_collapse = false

◆ m_incident_face_datas

std::vector<IncidentFaceData> wmtk::operations::tet_mesh::EdgeOperationData::m_incident_face_datas
protected

Definition at line 162 of file EdgeOperationData.hpp.

Referenced by incident_face_datas().

◆ m_incident_tet_datas

std::vector<IncidentTetData> wmtk::operations::tet_mesh::EdgeOperationData::m_incident_tet_datas
protected

Definition at line 161 of file EdgeOperationData.hpp.

Referenced by incident_tet_datas().

◆ m_operating_edge_id

int64_t wmtk::operations::tet_mesh::EdgeOperationData::m_operating_edge_id
protected

Definition at line 153 of file EdgeOperationData.hpp.

Referenced by operating_edge_id().

◆ m_operating_face_id

int64_t wmtk::operations::tet_mesh::EdgeOperationData::m_operating_face_id
protected

Definition at line 154 of file EdgeOperationData.hpp.

◆ m_operating_tet_id

int64_t wmtk::operations::tet_mesh::EdgeOperationData::m_operating_tet_id
protected

Definition at line 155 of file EdgeOperationData.hpp.

◆ m_spine_vids

std::array<int64_t, 2> wmtk::operations::tet_mesh::EdgeOperationData::m_spine_vids
protected

Definition at line 152 of file EdgeOperationData.hpp.

Referenced by incident_vids().

◆ m_split_new_spine_eids

std::array<int64_t, 2> wmtk::operations::tet_mesh::EdgeOperationData::m_split_new_spine_eids
protected

Definition at line 158 of file EdgeOperationData.hpp.

Referenced by new_spine_eids(), and split_output_edges().

◆ m_split_new_vid

int64_t wmtk::operations::tet_mesh::EdgeOperationData::m_split_new_vid = -1
protected

Definition at line 157 of file EdgeOperationData.hpp.

Referenced by new_vertices().

◆ simplex_ids_to_delete

std::array<std::vector<int64_t>, 4> wmtk::operations::tet_mesh::EdgeOperationData::simplex_ids_to_delete

◆ simplex_tuples_to_delete

std::array<std::vector<Tuple>, 4> wmtk::operations::tet_mesh::EdgeOperationData::simplex_tuples_to_delete

Definition at line 122 of file EdgeOperationData.hpp.


The documentation for this class was generated from the following files: