extract explicit mesh with topology information from implicit surfaces with boolean operations, and do surface/volume integrating on them.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

22 lines
1.3 KiB

#pragma once
#include <fwd_types.hpp>
#include <blobtree.hpp>
void propagate_subface_labels(const baked_blobtree_t& tree,
const stl_vector_mp<polygon_face_t>& faces,
const stl_vector_mp<stl_vector_mp<uint32_t>>& patches,
const stl_vector_mp<stl_vector_mp<uint32_t>>& arrangement_cells,
const stl_vector_mp<uint32_t>& shell_of_half_patch,
const stl_vector_mp<stl_vector_mp<uint32_t>>& shells,
const stl_vector_mp<uint32_t>& shell_to_cell,
// in turn: [subface_index][cell_index] = sign
stl_vector_mp<dynamic_bitset_mp<>>& cell_subface_signs);
void transform_subface_to_primitive_labels(const baked_blobtree_t& tree,
const stl_vector_mp<dynamic_bitset_mp<>>& cell_subface_signs,
stl_vector_mp<dynamic_bitset_mp<>>& cell_primitive_signs);
dynamic_bitset_mp<> filter_cells_by_boolean(const baked_blobtree_t& tree,
stl_vector_mp<dynamic_bitset_mp<>>& cell_primitive_signs);