Wildmeshing Toolkit
Loading...
Searching...
No Matches
SplitNewAttributeTopoInfo.hpp
Go to the documentation of this file.
1
2#pragma once
5
8{
9public:
11
12 std::vector<std::array<Tuple, 2>> input_ear_simplices(
13 const ReturnVariant& ret_data,
14 const Tuple& input_tuple,
15 PrimitiveType pt) const final override;
16
17 // the simplices at the boundary of the pairs of simplices that were split
18 // vertex should return 0
19 // edge should return 2
20 std::vector<Tuple> output_rib_simplices(
21 const ReturnVariant& ret_data,
22 const Tuple& output_tuple,
23 PrimitiveType pt) const final override;
24
25
26 // the sipmlices that were split from one simplex above
27 // vertex should return 1
28 std::vector<std::array<Tuple, 2>> output_split_simplices(
29 const ReturnVariant& ret_data,
30 const Tuple& output_tuple,
31 PrimitiveType pt) const final override;
32
33 // the simplices that were split in half
34 // vertex should return 0
35 // edge should return 1 (the input edge)
36 std::vector<Tuple> input_split_simplices(
37 const ReturnVariant& ret_data,
38 const Tuple& input_tuple,
39 PrimitiveType pt) const final override;
40
41
42 std::vector<std::array<int64_t, 2>> output_duplicated_free_simplices(
43 const ReturnVariant& ret_data,
44 PrimitiveType pt) const final override;
45
46private:
47 std::vector<std::array<Tuple, 2>> input_ear_simplices(
48 const EdgeOperationData& ret_data,
49 const Tuple& input_tuple,
50 PrimitiveType pt) const;
51
52 // the simplices at the boundary of the pairs of simplices that were split
53 // vertex should return 0
54 // edge should return 2
55 std::vector<Tuple> output_rib_simplices(
56 const EdgeOperationData& ret_data,
57 const Tuple& output_tuple,
58 PrimitiveType pt) const;
59
60
61 // the sipmlices that were split from one simplex above
62 // vertex should return 1
63 std::vector<std::array<Tuple, 2>> output_split_simplices(
64 const EdgeOperationData& ret_data,
65 const Tuple& output_tuple,
66 PrimitiveType pt) const;
67
68 // the simplices that were split in half
69 // vertex should return 0
70 // edge should return 1 (the input edge)
71 std::vector<Tuple> input_split_simplices(
72 const EdgeOperationData& ret_data,
73 const Tuple& input_tuple,
74 PrimitiveType pt) const;
75 std::vector<std::array<int64_t, 2>> output_duplicated_free_simplices(
76 const EdgeOperationData& ret_data,
77 PrimitiveType pt) const;
78
80};
81} // namespace wmtk::operations::tet_mesh
The Tuple is the basic navigation tool in our mesh data structure.
Definition Tuple.hpp:19
std::vector< std::array< int64_t, 2 > > output_duplicated_free_simplices(const ReturnVariant &ret_data, PrimitiveType pt) const final override
std::vector< std::array< Tuple, 2 > > output_split_simplices(const ReturnVariant &ret_data, const Tuple &output_tuple, PrimitiveType pt) const final override
std::vector< Tuple > input_split_simplices(const ReturnVariant &ret_data, const Tuple &input_tuple, PrimitiveType pt) const final override
std::vector< std::array< Tuple, 2 > > input_ear_simplices(const ReturnVariant &ret_data, const Tuple &input_tuple, PrimitiveType pt) const final override
std::vector< Tuple > output_rib_simplices(const ReturnVariant &ret_data, const Tuple &output_tuple, PrimitiveType pt) const final override