#pragma once #include #include // compute neighboring pair of half-patches around an iso-edge // output: // pair : pair (iso-face index, iso-face orientation) ISNP_API void compute_patch_order(const iso_edge_t &iso_edge, const stl_vector_mp &tets, const stl_vector_mp &iso_verts, const stl_vector_mp &iso_faces, const stl_vector_mp> &cut_results, const stl_vector_mp &func_in_tet, const stl_vector_mp &start_index_of_tet, const parallel_flat_hash_map_mp> &incident_tets, const stl_vector_mp &patch_of_face_mapping, stl_vector_mp &ordered_patch_pairs); // compute neighboring pair of half-patches around an iso-edge in a tetrahedron // pair : pair (iso-face index, iso-face orientation) ISNP_API void pair_patches_in_one_tet(const arrangement_t &tet_cut_result, const stl_vector_mp &iso_faces, const iso_edge_t &iso_edge, const stl_vector_mp &patch_of_face_mapping, stl_vector_mp &ordered_patch_pairs); // compute neighboring pair of half-patches around an iso-edge in multiple tetrahedrons // pair : pair (iso-face index, iso-face orientation) ISNP_API void pair_patches_in_tets(const iso_edge_t &iso_edge, const stl_vector_mp &containing_simplex, const stl_vector_mp &containing_tetIds, const stl_vector_mp &tets, const stl_vector_mp &iso_faces, const stl_vector_mp> &cut_results, const stl_vector_mp &func_in_tet, const stl_vector_mp &start_index_of_tet, const stl_vector_mp &patch_of_face_mapping, stl_vector_mp &ordered_patch_pairs);