Wildmeshing Toolkit
SimplexDart.hpp
Go to the documentation of this file.
1 #pragma once
2 // DO NOT MODIFY, autogenerated from the /scripts directory
3 #include <Eigen/Core>
4 #include <wmtk/PrimitiveType.hpp>
5 #include <wmtk/Types.hpp>
8 
9 namespace wmtk::autogen::tri_mesh {
11 {
12 public:
14 
15  static int8_t product(int8_t a, int8_t b) { return auto_valid_switch_product_table[b][a]; }
16  static int8_t inverse(int8_t a) { return auto_valid_switch_inverse_table[a]; }
18  {
20  }
21  static int8_t identity()
22  {
25  }
26  static int8_t opposite()
27  {
30  }
31  constexpr static size_t size() { return sizeof(auto_valid_tuple_indices) / sizeof(int8_t); }
32 
34  static auto valid_indices_dynamic()
35  {
37  }
38 
39  static int8_t simplex_index(wmtk::PrimitiveType type, int8_t valid_index)
40  {
41  return auto_valid_tuples[valid_index][get_primitive_type_id(type)];
42  }
43 
44  // constexpr static Eigen::Map<const Eigen::Matrix<int8_t, SimplexDart::size(), 1>>
45  // constexpr static auto valid_indices()
46  //{
47  // return Vector<int8_t,return sizeof(auto_valid_tuple_indices) / sizeof(int8_t); }
48  // {auto_valid_tuple_indices};
49  //}
50 };
51 
52 } // namespace wmtk::autogen::tri_mesh
static int8_t product(int8_t a, int8_t b)
Definition: SimplexDart.hpp:15
constexpr static size_t size()
Definition: SimplexDart.hpp:31
static int8_t inverse(int8_t a)
Definition: SimplexDart.hpp:16
static int8_t primitive_to_index(wmtk::PrimitiveType pt)
Definition: SimplexDart.hpp:17
static int8_t simplex_index(wmtk::PrimitiveType type, int8_t valid_index)
Definition: SimplexDart.hpp:39
const int8_t auto_valid_tuple_indices[6]
const int8_t auto_valid_switch_inverse_table[6]
const int8_t auto_valid_tuples[6][2]
const int8_t auto_valid_tuple_switch_indices[4]
const int8_t auto_valid_switch_product_table[6][6]
auto array_to_map(const T(&a)[R][C])
Definition: array_to_map.hpp:6
constexpr int8_t get_primitive_type_id(PrimitiveType t)
Get a unique integer id corresponding to each primitive type.
Vector< T, Eigen::Dynamic > VectorX
Definition: Types.hpp:19