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

#include <EdgeOperationData.hpp>

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

Public Member Functions

 EdgeOperationData ()=default
 
 EdgeOperationData (EdgeOperationData &&)=default
 
EdgeOperationDataoperator= (EdgeOperationData &&)=default
 
std::array< Tuple, 2 > input_endpoints (const EdgeMesh &m) const
 
std::array< Tuple, 2 > split_output_edges (const EdgeMesh &) const
 
std::vector< simplex::Simplexnew_vertices (const Mesh &m) 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 >, 2 > simplex_ids_to_delete
 
std::vector< int64_t > cell_ids_to_update_hash
 
std::array< int64_t, 2 > m_split_e = std::array<int64_t, 2>{{-1, -1}}
 
int64_t m_split_v
 
std::array< int64_t, 2 > m_free_split_v
 
bool m_is_self_loop = false
 
std::array< int64_t, 2 > m_spine_vids
 
std::array< int64_t, 2 > m_neighbor_eids = {{-1, -1}}
 
int64_t m_operating_edge_id
 
- 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::edge_mesh::EdgeOperationData::EdgeOperationData ( )
default

◆ EdgeOperationData() [2/2]

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

Member Function Documentation

◆ input_endpoints()

std::array< Tuple, 2 > wmtk::operations::edge_mesh::EdgeOperationData::input_endpoints ( const EdgeMesh m) const

Definition at line 18 of file EdgeOperationData.cpp.

References wmtk::operations::EdgeOperationData::m_operating_tuple, wmtk::EdgeMesh::switch_tuple(), and wmtk::Vertex.

Referenced by wmtk::operations::edge_mesh::SplitNewAttributeTopoInfo::input_ear_simplices(), and wmtk::operations::edge_mesh::CollapseNewAttributeTopoInfo::merged_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::edge_mesh::EdgeOperationData::new_vertices ( const Mesh m) const

Definition at line 5 of file EdgeOperationData.cpp.

References wmtk::Mesh::is_free(), m_free_split_v, m_split_v, wmtk::operations::EdgeOperationData::simplex_from_id(), and wmtk::Vertex.

Here is the call graph for this function:

◆ operator=()

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

◆ split_output_edges()

std::array< Tuple, 2 > wmtk::operations::edge_mesh::EdgeOperationData::split_output_edges ( const EdgeMesh m) const

Definition at line 26 of file EdgeOperationData.cpp.

References wmtk::Edge, m_split_e, and wmtk::operations::EdgeOperationData::tuple_from_id().

Referenced by wmtk::operations::edge_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::edge_mesh::EdgeOperationData::cell_ids_to_update_hash

Definition at line 15 of file EdgeOperationData.hpp.

◆ m_free_split_v

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

◆ m_is_self_loop

bool wmtk::operations::edge_mesh::EdgeOperationData::m_is_self_loop = false

Definition at line 27 of file EdgeOperationData.hpp.

◆ m_neighbor_eids

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

Definition at line 30 of file EdgeOperationData.hpp.

◆ m_operating_edge_id

int64_t wmtk::operations::edge_mesh::EdgeOperationData::m_operating_edge_id

◆ m_spine_vids

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

◆ m_split_e

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

◆ m_split_v

int64_t wmtk::operations::edge_mesh::EdgeOperationData::m_split_v

Definition at line 19 of file EdgeOperationData.hpp.

Referenced by new_vertices().

◆ simplex_ids_to_delete

std::array<std::vector<int64_t>, 2> wmtk::operations::edge_mesh::EdgeOperationData::simplex_ids_to_delete

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