Blender V5.0
sculpt_flood_fill.hh
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2024 Blender Authors
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4
8
9#pragma once
10
11#include <queue>
12
13#include "BLI_bit_vector.hh"
14#include "BLI_function_ref.hh"
15#include "BLI_offset_indices.hh"
16
17#include "BKE_paint_bvh.hh"
18#include "BKE_subdiv_ccg.hh"
19
20struct BMVert;
21struct Depsgraph;
22struct Object;
23
25
27 std::queue<int> queue;
30
37
38 void add_initial(int vertex);
40 void add_and_skip_initial(int vertex);
41 void execute(Object &object,
42 GroupedSpan<int> vert_to_face_map,
43 FunctionRef<bool(int from_v, int to_v)> func);
44};
45
47 std::queue<SubdivCCGCoord> queue;
50
57
58 void add_initial(SubdivCCGCoord vertex);
59 void add_initial(const CCGKey &key, Span<int> verts);
60 void add_and_skip_initial(SubdivCCGCoord vertex, int index);
61 void execute(
62 Object &object,
63 const SubdivCCG &subdiv_ccg,
64 FunctionRef<bool(SubdivCCGCoord from_v, SubdivCCGCoord to_v, bool is_duplicate)> func);
65};
66
68 std::queue<BMVert *> queue;
71
78
79 void add_initial(BMVert *vertex);
81 void add_and_skip_initial(BMVert *vertex, int index);
82 void execute(Object &object, FunctionRef<bool(BMVert *from_v, BMVert *to_v)> func);
83};
84
85} // namespace blender::ed::sculpt_paint::flood_fill
A BVH for high poly meshes.
#define BLI_assert(a)
Definition BLI_assert.h:46
BMesh * bm
static DBVT_INLINE btScalar size(const btDbvtVolume &a)
Definition btDbvt.cpp:52
static float verts[][3]
FillDataBMesh(int size, Span< int > fake_neighbors)
void execute(Object &object, FunctionRef< bool(BMVert *from_v, BMVert *to_v)> func)
void execute(Object &object, const SubdivCCG &subdiv_ccg, FunctionRef< bool(SubdivCCGCoord from_v, SubdivCCGCoord to_v, bool is_duplicate)> func)
FillDataGrids(int size, Span< int > fake_neighbors)
void add_and_skip_initial(SubdivCCGCoord vertex, int index)
void execute(Object &object, GroupedSpan< int > vert_to_face_map, FunctionRef< bool(int from_v, int to_v)> func)
FillDataMesh(int size, Span< int > fake_neighbors)