Wildmeshing Toolkit
Loading...
Searching...
No Matches
EdgeOperationData.hpp
Go to the documentation of this file.
1#pragma once
2#include <array>
3#include <vector>
4#include <wmtk/Tuple.hpp>
6
7namespace wmtk {
8class EdgeMesh;
9}
10
13{
14public:
15 EdgeOperationData() = default;
18 std::array<std::vector<int64_t>, 2> simplex_ids_to_delete;
19 std::vector<int64_t> cell_ids_to_update_hash;
20
21
22 std::array<int64_t, 2> m_split_e = std::array<int64_t, 2>{{-1, -1}};
23 int64_t m_split_v;
24
25 std::array<int64_t, 2> m_free_split_v;
26
27 std::array<Tuple, 2> input_endpoints(const EdgeMesh& m) const;
28 std::array<Tuple, 2> split_output_edges(const EdgeMesh&) const;
29 std::vector<simplex::Simplex> new_vertices(const Mesh& m) const;
30
31 bool m_is_self_loop = false;
32 // common simplicies
33 std::array<int64_t, 2> m_spine_vids; // V_A_id, V_B_id;
34 std::array<int64_t, 2> m_neighbor_eids = {{-1, -1}};
36};
37} // namespace wmtk::operations::edge_mesh
std::array< Tuple, 2 > input_endpoints(const EdgeMesh &m) const
EdgeOperationData & operator=(EdgeOperationData &&)=default
std::array< Tuple, 2 > split_output_edges(const EdgeMesh &) const
std::vector< simplex::Simplex > new_vertices(const Mesh &m) const
EdgeOperationData(EdgeOperationData &&)=default
std::array< std::vector< int64_t >, 2 > simplex_ids_to_delete