Wildmeshing Toolkit
|
#include <EdgeMeshOperationExecutor.hpp>
Static Public Member Functions | |
static const std::array< std::vector< int64_t >, 2 > | get_split_simplices_to_delete (const Tuple &tuple, const EdgeMesh &m) |
gather all simplices that are deleted in a split More... | |
static const std::array< std::vector< int64_t >, 2 > | get_collapse_simplices_to_delete (const Tuple &tuple, const EdgeMesh &m) |
gather all simplices that are deleted in a collapse More... | |
Public Attributes | |
std::array< attribute::FlagAccessor< EdgeMesh >, 2 > | flag_accessors |
attribute::Accessor< int64_t, EdgeMesh > | ee_accessor |
attribute::Accessor< int64_t, EdgeMesh > | ev_accessor |
attribute::Accessor< int64_t, EdgeMesh > | ve_accessor |
EdgeMesh & | m_mesh |
Public Attributes inherited from wmtk::operations::edge_mesh::EdgeOperationData | |
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 |
Private Member Functions | |
void | update_hash_in_map (EdgeMesh &child_mesh) |
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 7 of file EdgeMeshOperationExecutor.hpp.
wmtk::EdgeMesh::EdgeMeshOperationExecutor::EdgeMeshOperationExecutor | ( | EdgeMesh & | m, |
const Tuple & | operating_tuple | ||
) |
Definition at line 7 of file EdgeMeshOperationExecutor.cpp.
References wmtk::Edge, wmtk::Mesh::get_flag_accessor(), and wmtk::Vertex.
void wmtk::EdgeMesh::EdgeMeshOperationExecutor::collapse_edge | ( | ) |
Definition at line 194 of file EdgeMeshOperationExecutor.cpp.
Referenced by wmtk::operations::utils::MultiMeshEdgeCollapseFunctor::operator()().
Tuple wmtk::EdgeMesh::EdgeMeshOperationExecutor::collapse_edge_single_mesh | ( | ) |
Definition at line 202 of file EdgeMeshOperationExecutor.cpp.
void wmtk::EdgeMesh::EdgeMeshOperationExecutor::delete_simplices | ( | ) |
Definition at line 37 of file EdgeMeshOperationExecutor.cpp.
References flag_accessors, and wmtk::operations::edge_mesh::EdgeOperationData::simplex_ids_to_delete.
|
static |
gather all simplices that are deleted in a collapse
The deleted simplices are the vertex and the edge of the input tuple
Definition at line 59 of file EdgeMeshOperationExecutor.cpp.
References wmtk::EdgeMesh::id_edge(), wmtk::EdgeMesh::id_vertex(), wmtk::Mesh::is_free(), wmtk::EdgeMesh::switch_tuple(), and wmtk::Vertex.
|
static |
gather all simplices that are deleted in a split
The deleted simplex is the edge itself
Definition at line 49 of file EdgeMeshOperationExecutor.cpp.
References wmtk::EdgeMesh::id_edge().
|
inline |
Definition at line 41 of file EdgeMeshOperationExecutor.hpp.
References wmtk::operations::edge_mesh::EdgeOperationData::m_spine_vids.
|
inline |
Definition at line 43 of file EdgeMeshOperationExecutor.hpp.
References wmtk::operations::edge_mesh::EdgeOperationData::m_operating_edge_id.
std::vector< int64_t > wmtk::EdgeMesh::EdgeMeshOperationExecutor::request_simplex_indices | ( | const PrimitiveType | type, |
int64_t | count | ||
) |
Definition at line 266 of file EdgeMeshOperationExecutor.cpp.
void wmtk::EdgeMesh::EdgeMeshOperationExecutor::split_edge | ( | ) |
Definition at line 73 of file EdgeMeshOperationExecutor.cpp.
Referenced by wmtk::operations::utils::MultiMeshEdgeSplitFunctor::operator()().
Tuple wmtk::EdgeMesh::EdgeMeshOperationExecutor::split_edge_single_mesh | ( | ) |
Definition at line 80 of file EdgeMeshOperationExecutor.cpp.
References wmtk::Mesh::request_simplex_indices(), and wmtk::Vertex.
void wmtk::EdgeMesh::EdgeMeshOperationExecutor::update_cell_hash | ( | ) |
Definition at line 46 of file EdgeMeshOperationExecutor.cpp.
|
private |
Definition at line 189 of file EdgeMeshOperationExecutor.cpp.
attribute::Accessor<int64_t, EdgeMesh> wmtk::EdgeMesh::EdgeMeshOperationExecutor::ee_accessor |
Definition at line 15 of file EdgeMeshOperationExecutor.hpp.
attribute::Accessor<int64_t, EdgeMesh> wmtk::EdgeMesh::EdgeMeshOperationExecutor::ev_accessor |
Definition at line 16 of file EdgeMeshOperationExecutor.hpp.
std::array<attribute::FlagAccessor<EdgeMesh>, 2> wmtk::EdgeMesh::EdgeMeshOperationExecutor::flag_accessors |
Definition at line 14 of file EdgeMeshOperationExecutor.hpp.
Referenced by delete_simplices().
EdgeMesh& wmtk::EdgeMesh::EdgeMeshOperationExecutor::m_mesh |
Definition at line 52 of file EdgeMeshOperationExecutor.hpp.
attribute::Accessor<int64_t, EdgeMesh> wmtk::EdgeMesh::EdgeMeshOperationExecutor::ve_accessor |
Definition at line 17 of file EdgeMeshOperationExecutor.hpp.