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

#include <EdgeOperationData.hpp>

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

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
 
EdgeOperationDataoperator= (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< Tuplecollapse_merged_ear_edges (const TriMesh &m) const
 
std::vector< Tuplesplit_new_rib_edges (const TriMesh &) const
 
std::vector< Tupleinput_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::Simplexnew_vertices (const Mesh &) 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 >, 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< IncidentFaceDatam_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::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::tri_mesh::EdgeOperationData::EdgeOperationData ( )
default

◆ EdgeOperationData() [2/2]

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

Member Function Documentation

◆ collapse_merged_ear_edges()

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

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

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

◆ incident_face_datas()

const std::vector<IncidentFaceData>& wmtk::operations::tri_mesh::EdgeOperationData::incident_face_datas ( ) const
inline

◆ incident_vids()

const std::array<int64_t, 2>& wmtk::operations::tri_mesh::EdgeOperationData::incident_vids ( ) const
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().

Here is the caller graph for this function:

◆ input_endpoints()

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

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

◆ input_faces()

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

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

◆ new_vertices()

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.

Here is the call graph for this function:

◆ operating_edge_id()

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

Definition at line 73 of file EdgeOperationData.hpp.

References m_operating_edge_id.

◆ operator=()

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

◆ split_new_rib_edges()

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

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

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

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::tri_mesh::EdgeOperationData::cell_ids_to_update_hash

Definition at line 88 of file EdgeOperationData.hpp.

◆ is_collapse

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

◆ m_free_split_e

std::array<int64_t, 2> wmtk::operations::tri_mesh::EdgeOperationData::m_free_split_e

◆ m_free_split_v

std::array<int64_t, 2> wmtk::operations::tri_mesh::EdgeOperationData::m_free_split_v

◆ m_incident_face_datas

std::vector<IncidentFaceData> wmtk::operations::tri_mesh::EdgeOperationData::m_incident_face_datas

◆ m_operating_edge_id

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

◆ simplex_ids_to_delete

std::array<std::vector<int64_t>, 3> wmtk::operations::tri_mesh::EdgeOperationData::simplex_ids_to_delete

Definition at line 87 of file EdgeOperationData.hpp.

◆ spine_eid

int64_t wmtk::operations::tri_mesh::EdgeOperationData::spine_eid = -1

Definition at line 92 of file EdgeOperationData.hpp.

◆ split_new_vid

int64_t wmtk::operations::tri_mesh::EdgeOperationData::split_new_vid = -1

◆ split_spine_eids

std::array<int64_t, 2> wmtk::operations::tri_mesh::EdgeOperationData::split_spine_eids = std::array<int64_t, 2>{{-1, -1}}

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