Blender V4.5
GEO_mesh_boolean.hh
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2019 Blender Authors
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4
5#pragma once
6
7#include "BLI_array.hh"
9#include "BLI_span.hh"
10#include "BLI_vector.hh"
11
12struct Mesh;
13
15
17enum class Solver {
22 MeshArr = 0,
24 Float = 1,
26 Manifold = 2,
27};
28
29enum class Operation {
30 Intersect = 0,
31 Union = 1,
32 Difference = 2,
33};
34
35enum class BooleanError {
36 NoError = 0,
37 NonManifold = 1,
38 ResultTooBig = 2,
40 UnknownError = 4,
41};
42
59
87 Span<float4x4> transforms,
88 Span<Array<short>> material_remaps,
89 BooleanOpParameters op_params,
90 Solver solver,
91 Vector<int> *r_intersecting_edges,
92 BooleanError *r_error);
93
94} // namespace blender::geometry::boolean
Mesh * mesh_boolean(Span< const Mesh * > meshes, Span< float4x4 > transforms, Span< Array< short > > material_remaps, BooleanOpParameters op_params, Solver solver, Vector< int > *r_intersecting_edges, BooleanError *r_error)