static const std::array< std::vector< int64_t >, 3 > get_split_simplices_to_delete(const Tuple &tuple, const TriMesh &m)
gather all simplices that are deleted in a split
IncidentFaceData get_incident_face_data(Tuple t)
static const std::array< std::vector< int64_t >, 3 > get_collapse_simplices_to_delete(const Tuple &tuple, const TriMesh &m)
gather all simplices that are deleted in a collapse
std::array< attribute::Accessor< char >, 3 > flag_accessors
TriMeshOperationExecutor(TriMesh &m, const Tuple &operating_tuple)
void fill_split_facet_data()
Tuple next_edge(const Tuple &tuple) const
jump to the next edge
std::vector< int64_t > request_simplex_indices(const PrimitiveType type, int64_t count)
attribute::Accessor< int64_t, TriMesh > & vf_accessor
void create_spine_simplices()
void collapse_edge_precompute()
attribute::Accessor< int64_t, TriMesh > & fv_accessor
Tuple prev_edge(const Tuple &tuple) const
jump to the previous edge
attribute::Accessor< int64_t, TriMesh > & ff_accessor
void replace_incident_face(IncidentFaceData &face_data)
void split_edge_precompute()
void connect_faces_across_spine()
attribute::Accessor< int64_t, TriMesh > & fe_accessor
void update_ids_in_ear(const EarData &ear, const int64_t new_fid, const int64_t old_fid)
handling the topology glueing of ear to non-ear face, transfering data from ear-oldface to ear-newfac...
attribute::Accessor< int64_t, TriMesh > & ef_accessor
A CachingAccessor that uses tuples for accessing attributes instead of indices.
An ear is a face that is adjacent to a face that is incident to the edge on which the operation is pe...
Data on the incident face relevant for performing operations.