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
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
52 bool forceCut = false;
53
55};
56
60MRMESH_API Expected<Mesh> uniteManyMeshes( const std::vector<const Mesh*>& meshes,
61 const UniteManyMeshesParams& params = {} );
62
65{
68
70 float expansionRatio = 0.0f;
71
73 bool flipInverted = true;
74
78 bool trySelfBoolean = false;
79};
80
84
85}
#define MRMESH_API
Definition MRMeshFwd.h:82
std::function< bool(float)> ProgressCallback
Definition MRMeshFwd.h:751
@ Union
Definition MRBooleanOperation.h:35
Expected< Mesh > uniteManyMeshes(const std::vector< const Mesh * > &meshes, const UniteManyMeshesParams &params={})
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
tl::expected< T, E > Expected
Definition MRExpected.h:31
float maxAllowedError
Definition MRUniteManyMeshes.h:33
bool flipInverted
If enabled flips orientation for componentns with negative volume.
Definition MRUniteManyMeshes.h:73
ProgressCallback progressCb
Definition MRUniteManyMeshes.h:54
bool trySelfBoolean
Definition MRUniteManyMeshes.h:78
bool forceCut
Definition MRUniteManyMeshes.h:52
Expected< Mesh > uniteComponents(const Mesh &mesh, const UniteComponentsParams &params={})
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
float expansionRatio
Per component expansion ratio, if !=0 each component is expanded on 1+expRatio around its own centroi...
Definition MRUniteManyMeshes.h:70
UniteManyMeshesParams baseParams
Basic parameters of multi unite.
Definition MRUniteManyMeshes.h:67
@ Remove
Default: separate nested meshes and remove them, just like union operation should do,...
Definition MRUniteManyMeshes.h:15
@ Merge
merge nested meshes, useful if input meshes are components of single object
Definition MRUniteManyMeshes.h:16
only for bindings generation
Definition MRCameraOrientationPlugin.h:8
Definition MRMesh.h:23
Parameters structure for uniteComponents function.
Definition MRUniteManyMeshes.h:65
Parameters structure for uniteManyMeshes function.
Definition MRUniteManyMeshes.h:22