Wildmeshing Toolkit
Loading...
Searching...
No Matches
find_local_dart_action.cpp
Go to the documentation of this file.
1
3
4#include <cassert>
5#include <optional>
6#include <stdexcept>
10namespace wmtk::multimesh::utils {
11int8_t find_local_dart_action(PrimitiveType pt, const Tuple& source, const Tuple& target)
12{
14 return find_local_dart_action(sd, source, target);
15}
18 const Tuple& source,
19 const Tuple& target)
20{
21 // target = R * source
22 // target * source^{-1} = R
23 int8_t src = sd.valid_index_from_tuple(source);
24 int8_t tgt = sd.valid_index_from_tuple(target);
25 return wmtk::autogen::find_local_dart_action(sd, src, tgt);
26}
29 const wmtk::autogen::Dart& source,
30 const wmtk::autogen::Dart& target)
31{
33 sd,
34 source.local_orientation(),
35 target.local_orientation());
36}
37
38} // namespace wmtk::multimesh::utils
The Tuple is the basic navigation tool in our mesh data structure.
Definition Tuple.hpp:19
int8_t & local_orientation()
Definition Dart.hpp:18
int8_t valid_index_from_tuple(const wmtk::Tuple &t) const
int8_t find_local_dart_action(const SimplexDart &sd, int8_t source, int8_t target)
int8_t find_local_dart_action(PrimitiveType pt, const Tuple &source, const Tuple &target)