32 indices.resize(
verts.size());
33 const int *end = std::copy_if(
verts.begin(),
verts.end(), indices.begin(), [&](
const int vert) {
34 return !hide_vert[vert];
36 indices.resize(end - indices.begin());
48 for (
const int face : vert_to_face_map[vert]) {
49 if (hide_poly[face]) {
61 return hide_poly[face_index];
A BVH for high poly meshes.
bool BKE_pbvh_node_fully_hidden_get(const blender::bke::pbvh::Node &node)
int BKE_subdiv_ccg_grid_to_face_index(const SubdivCCG &subdiv_ccg, const int grid_index)
Object is a sort of wrapper for general info.
#define BM_DISK_EDGE_NEXT(e, v)
#define BM_elem_flag_test(ele, hflag)
constexpr bool is_empty() const
bool vert_all_faces_visible_get(const Span< bool > hide_poly, const GroupedSpan< int > vert_to_face_map, const int vert)
Span< int > node_visible_verts(const bke::pbvh::MeshNode &node, const Span< bool > hide_vert, Vector< int > &indices)
struct BMLoop * radial_next