10 class MultiMeshManager;
12 template <
typename Derived>
15 template <
typename T,
typename MeshType,
int Dim>
25 template <
typename Derived>
27 template <
typename T,
typename MeshType,
int Dim>
80 #if defined(WMTK_ENABLE_SIMPLEX_ID_CACHING)
A Curiously Recurring Template Pattern shim to enable generic specialization of functions.
A CachingAccessor that uses tuples for accessing attributes instead of indices.
Implementation details for how the Mesh class implements multiple meshes.
static Simplex face(const Mesh &m, const Tuple &t)
const Tuple & tuple() const
Simplex(Simplex &&)=default
Simplex(const Simplex &)=default
Simplex & operator=(Simplex &&)=default
PrimitiveType m_primitive_type
static Simplex tetrahedron(const Tuple &t)
static Simplex vertex(const Tuple &t)
Simplex(const PrimitiveType &ptype, const Tuple &t)
static Simplex edge(const Mesh &m, const Tuple &t)
static Simplex tetrahedron(const Mesh &m, const Tuple &t)
static Simplex vertex(const Mesh &m, const Tuple &t)
static Simplex edge(const Tuple &t)
PrimitiveType primitive_type() const
Simplex & operator=(const Simplex &)=default
int64_t dimension() const
static Simplex face(const Tuple &t)
std::pair< std::shared_ptr< Mesh >, std::shared_ptr< Mesh > > multimesh(const MultiMeshType &type, Mesh &parent, std::shared_ptr< Mesh > child, const attribute::MeshAttributeHandle parent_position_handle, const std::string &tag_name, const int64_t tag_value, const int64_t primitive)
constexpr bool operator==(PrimitiveType a, PrimitiveType b)
constexpr int8_t get_primitive_type_id(PrimitiveType t)
Get a unique integer id corresponding to each primitive type.
constexpr bool operator<(PrimitiveType a, PrimitiveType b)