Wildmeshing Toolkit
EdgeOperationData.hpp
Go to the documentation of this file.
1 #pragma once
2 #include <array>
3 #include <vector>
4 #include <wmtk/Tuple.hpp>
6 
9 {
10 public:
11  EdgeOperationData() = default;
14  std::array<std::vector<int64_t>, 2> simplex_ids_to_delete;
15  std::vector<int64_t> cell_ids_to_update_hash;
16 
17 
18  std::array<int64_t, 2> m_split_e = std::array<int64_t, 2>{{-1, -1}};
19  int64_t m_split_v;
20 
21  std::array<int64_t,2> m_free_split_v;
22 
23  std::array<Tuple, 2> input_endpoints(const EdgeMesh& m) const;
24  std::array<Tuple, 2> split_output_edges(const EdgeMesh&) const;
25  std::vector<simplex::Simplex> new_vertices(const Mesh& m) const;
26 
27  bool m_is_self_loop = false;
28  // common simplicies
29  std::array<int64_t, 2> m_spine_vids; // V_A_id, V_B_id;
30  std::array<int64_t, 2> m_neighbor_eids = {{-1, -1}};
32 };
33 } // 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