Wildmeshing Toolkit
Loading...
Searching...
No Matches
TetMeshOperationExecutor.hpp
Go to the documentation of this file.
1#pragma once
4#include "TetMesh.hpp"
5#include "Tuple.hpp"
6namespace wmtk {
8{
9public:
10 TetMeshOperationExecutor(TetMesh& m, const Tuple& operating_tuple);
11 void delete_simplices();
12
13 std::array<attribute::FlagAccessor<TetMesh>, 4> flag_accessors;
21
22
29 static const std::array<std::vector<int64_t>, 4> get_split_simplices_to_delete(
30 const Tuple& tuple,
31 const TetMesh& m);
32
47 static const std::array<std::vector<int64_t>, 4> get_collapse_simplices_to_delete(
48 const Tuple& tuple,
49 const TetMesh& m);
50
52 const int64_t ear_tid,
53 const int64_t new_tid,
54 const int64_t old_tid,
55 const int64_t common_fid);
56
57
58 /*
59
60 */
82 void split_edge();
83
102 void collapse_edge();
103
104 std::vector<int64_t> request_simplex_indices(const PrimitiveType type, int64_t count);
105
106
108
109private:
110 // IncidentTetData get_incident_tet_data(Tuple t);
111
112
113public:
125 // TODO: change to i and i+1 mod size convention
126 std::tuple<std::vector<Tuple>, std::vector<Tuple>> get_incident_tets_and_faces(Tuple t);
127};
128} // namespace wmtk
std::tuple< std::vector< Tuple >, std::vector< Tuple > > get_incident_tets_and_faces(Tuple t)
Get the incident tets and faces for an edge tuple.
std::vector< int64_t > request_simplex_indices(const PrimitiveType type, int64_t count)
std::array< attribute::FlagAccessor< TetMesh >, 4 > flag_accessors
attribute::Accessor< int64_t, TetMesh > & tt_accessor
attribute::Accessor< int64_t, TetMesh > & et_accessor
static const std::array< std::vector< int64_t >, 4 > get_split_simplices_to_delete(const Tuple &tuple, const TetMesh &m)
gather all simplices that are deleted in a split
attribute::Accessor< int64_t, TetMesh > & ft_accessor
attribute::Accessor< int64_t, TetMesh > & te_accessor
attribute::Accessor< int64_t, TetMesh > & tf_accessor
static const std::array< std::vector< int64_t >, 4 > get_collapse_simplices_to_delete(const Tuple &tuple, const TetMesh &m)
gather all simplices that are deleted in a collapse
void update_ear_connectivity(const int64_t ear_tid, const int64_t new_tid, const int64_t old_tid, const int64_t common_fid)
attribute::Accessor< int64_t, TetMesh > & vt_accessor
attribute::Accessor< int64_t, TetMesh > & tv_accessor
The Tuple is the basic navigation tool in our mesh data structure.
Definition Tuple.hpp:19
An Accessor that uses tuples for accessing attributes instead of indices.
Definition Accessor.hpp:44