MeshLib C++ Docs
Loading...
Searching...
No Matches
MRUniteManyMeshes.h
Go to the documentation of this file.
1#pragma once
2#include "MRMeshFwd.h"
3#include "MRMesh.h"
4#include "MRExpected.h"
5#include <string>
6
7namespace MR
8{
11
14{
15 Remove,
16 Merge,
17 Union
18};
19
22{
24 bool useRandomShifts{ false };
25
29 bool fixDegenerations{ false };
30
33 float maxAllowedError{ 1e-5f };
34
36 unsigned int randomShiftsSeed{ 0 };
37
39 FaceBitSet* newFaces{ nullptr };
40
44
46 bool mergeOnFail{ false };
47
51 bool forceCut = false;
52
53 ProgressCallback progressCb;
54};
55
59MRMESH_API Expected<Mesh> uniteManyMeshes( const std::vector<const Mesh*>& meshes,
60 const UniteManyMeshesParams& params = {} );
61
62}
bool fixDegenerations
Definition MRUniteManyMeshes.h:29
NestedComponenetsMode nestedComponentsMode
Definition MRUniteManyMeshes.h:43
bool mergeOnFail
If set - merges meshes instead of booleaning it if boolean operation fails.
Definition MRUniteManyMeshes.h:46
unsigned int randomShiftsSeed
Seed that is used for random shifts.
Definition MRUniteManyMeshes.h:36
NestedComponenetsMode
Mode of processing components.
Definition MRUniteManyMeshes.h:14
MRMESH_API Expected< Mesh > uniteManyMeshes(const std::vector< const Mesh * > &meshes, const UniteManyMeshesParams &params={})
tl::expected< T, E > Expected
Definition MRExpected.h:31
float maxAllowedError
Definition MRUniteManyMeshes.h:33
ProgressCallback progressCb
Definition MRUniteManyMeshes.h:53
bool forceCut
Definition MRUniteManyMeshes.h:51
bool useRandomShifts
Apply random shift to each mesh, to prevent degenerations on coincident surfaces.
Definition MRUniteManyMeshes.h:24
FaceBitSet * newFaces
If set, the bitset will store new faces created by boolean operations.
Definition MRUniteManyMeshes.h:39
@ Remove
Default: separate nested meshes and remove them, just like union operation should do,...
@ Merge
merge nested meshes, useful if input meshes are components of single object
only for bindings generation
Definition MRCameraOrientationPlugin.h:8
Parameters structure for uniteManyMeshes function.
Definition MRUniteManyMeshes.h:22