16using Vec84 = Vector<int8_t, 4>;
26 const Tuple* data =
reinterpret_cast<const Tuple*
>(v.data());
41 return Tuple(v(0), v(1), v(2), v(3));
46#if defined WMTK_DISABLE_COMPRESSED_MULTIMESH_TUPLE
54#if defined WMTK_DISABLE_COMPRESSED_MULTIMESH_TUPLE
63 return std::make_tuple(
76template <
typename MeshType>
79 const Tuple& source_tuple)
92 return std::tie(map(0), map(1));
98 const Tuple& source_tuple);
101 const Tuple& source_tuple);
104 const Tuple& source_tuple);
107 const Tuple& source_tuple);
110template <
typename MeshType>
113 const Tuple& source_tuple,
114 const Tuple& target_tuple)
120 map(0) = source_tuple;
121 map(1) = target_tuple;
132 const Tuple& source_tuple,
133 const Tuple& target_tuple);
136 const Tuple& source_tuple,
137 const Tuple& target_tuple);
140 const Tuple& source_tuple,
141 const Tuple& target_tuple);
144 const Tuple& source_tuple,
145 const Tuple& target_tuple);
151 const Tuple& source_tuple,
152 const Tuple& target_tuple)
158 const Mesh& source_mesh,
160 const Tuple& source_tuple)
const attribute::Accessor< T, Mesh, D > create_const_accessor(const attribute::MeshAttributeHandle &handle) const
attribute::Accessor< T, Mesh, D > create_accessor(const attribute::MeshAttributeHandle &handle)
The Tuple is the basic navigation tool in our mesh data structure.
int64_t global_cid() const
int64_t dimension() const
A CachingAccessor that uses tuples for accessing attributes instead of indices.
ConstMapResult< D > const_vector_attribute(const ArgType &t) const
Eigen::Index dimension() const
MapResult< D > vector_attribute(const Tuple &t)
ConstMapResult< D > const_vector_attribute(const Tuple &t) const
Handle that represents attributes for some mesh.
Vector< int64_t, TUPLE_SIZE > tuple_to_vector(const Tuple &t)
Tuple vector5_to_tuple(const Eigen::Ref< const Vector5l > &v)
Tuple vector2_to_tuple(const Eigen::Ref< const Vector2l > &v)
std::tuple< Tuple, Tuple > read_tuple_map_attribute_slow(const Mesh &source_mesh, TypedAttributeHandle< int64_t > map_handle, const Tuple &source_tuple)
Vector< int64_t, 2 > tuple_to_vector2(const Tuple &t)
Vector< int64_t, 4 > tuple_to_vector5(const Tuple &t)
std::tuple< Tuple, Tuple > vectors_to_tuples(const Eigen::Ref< const TwoTupleVector > &v)
std::tuple< Tuple, Tuple > read_tuple_map_attribute(const wmtk::attribute::Accessor< int64_t, MeshType > &accessor, const Tuple &source_tuple)
TwoTupleVector tuples_to_vectors(const Tuple &a, const Tuple &b)
void write_tuple_map_attribute(wmtk::attribute::Accessor< int64_t, MeshType > &map_accessor, const Tuple &source_tuple, const Tuple &target_tuple)
void write_tuple_map_attribute_slow(Mesh &source_mesh, TypedAttributeHandle< int64_t > map_handle, const Tuple &source_tuple, const Tuple &target_tuple)
Vector< int64_t, TWO_TUPLE_SIZE > TwoTupleVector
Tuple vector_to_tuple(const Eigen::Ref< const TupleVector > &v)
Eigen::Matrix< T, R, 1 > Vector