10 namespace operations::utils {
11 class MultiMeshEdgeSplitFunctor;
12 class MultiMeshEdgeCollapseFunctor;
13 class UpdateEdgeOperationMultiMeshMapFunctor;
19 template <
typename U,
typename MeshType,
int Dim>
43 Eigen::Ref<const RowVectors2l> EV,
44 Eigen::Ref<const RowVectors2l> EE,
45 Eigen::Ref<const VectorXl> VE);
112 default: assert(
false);
Tuple switch_edge(const Tuple &tuple) const
attribute::TypedAttributeHandle< int64_t > m_ee_handle
Tuple tuple_from_global_ids(int64_t eid, int64_t vid) const
Tuple switch_vertex(const Tuple &tuple) const
int64_t id_edge(const Tuple &tuple) const
bool is_connectivity_valid() const override
EdgeMesh & operator=(EdgeMesh &&o)=default
Tuple switch_tuple(const Tuple &tuple, PrimitiveType type) const override
switch the orientation of the Tuple of the given dimension
bool is_boundary_vertex(const Tuple &tuple) const
bool is_boundary(const simplex::Simplex &tuple) const
check if a simplex lies on a boundary or not
void initialize_free(int64_t count)
Tuple tuple_from_id(const PrimitiveType type, const int64_t gid) const override
internal function that returns the tuple of requested type, and has the global index cid
Tuple edge_tuple_from_id(int64_t id) const
std::vector< Tuple > orient_vertices(const Tuple &tuple) const override
attribute::TypedAttributeHandle< int64_t > m_ev_handle
Tuple vertex_tuple_from_id(int64_t id) const
bool is_ccw(const Tuple &tuple) const override
TODO this needs dimension?
int64_t id_vertex(const Tuple &tuple) const
attribute::TypedAttributeHandle< int64_t > m_ve_handle
void initialize(Eigen::Ref< const RowVectors2l > E, bool is_free=false)
EdgeMesh(const EdgeMesh &o)=delete
EdgeMesh & operator=(const EdgeMesh &o)=delete
bool is_valid(const Tuple &tuple) const final override
check validity of tuple including its hash
EdgeMesh(EdgeMesh &&o)=default
std::vector< std::vector< TypedAttributeHandle< int64_t > > > connectivity_attributes() const override
Returns a vector of vectors of attribute handles.
A Curiously Recurring Template Pattern shim to enable generic specialization of functions.
int64_t id(const Tuple &tuple, PrimitiveType type) const
return the global id of the Tuple of the given dimension
bool is_boundary(const simplex::Simplex &tuple) const
check if a simplex lies on a boundary or not
A CachingAccessor that uses tuples for accessing attributes instead of indices.
ConstMapResult< D > const_vector_attribute(const ArgType &t) const