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{
10enum class NestedComponenetsMode
11{
12 Remove,
13 Merge,
14 Union
15};
16
18struct UniteManyMeshesParams
19{
21 bool useRandomShifts{ false };
22
26 bool fixDegenerations{ false };
27
30 float maxAllowedError{ 1e-5f };
31
33 unsigned int randomShiftsSeed{ 0 };
34
36 FaceBitSet* newFaces{ nullptr };
37
40 NestedComponenetsMode nestedComponentsMode{ NestedComponenetsMode::Remove };
41
43 bool mergeOnFail{ false };
44
48 bool forceCut = false;
49
50 ProgressCallback progressCb;
51};
52
53// Computes the surface of objects' union each of which is defined by its own surface mesh
54// - merge non intersecting meshes first
55// - unite merged groups
56MRMESH_API Expected<Mesh> uniteManyMeshes( const std::vector<const Mesh*>& meshes,
57 const UniteManyMeshesParams& params = {} );
58
59}
#define MRMESH_API
Definition MRMeshFwd.h:80
Definition MRUniteManyMeshes.h:19
new unsafe ref MR.NestedComponenetsMode nestedComponentsMode
new unsafe MR.? FaceBitSet newFaces
new unsafe ref uint randomShiftsSeed
new unsafe ref float maxAllowedError
new unsafe ref bool forceCut
new unsafe ref bool mergeOnFail
new unsafe ref bool useRandomShifts
new unsafe ref bool fixDegenerations
NestedComponenetsMode
Definition MRCameraOrientationPlugin.h:8
MRMESH_API Expected< Mesh > uniteManyMeshes(const std::vector< const Mesh * > &meshes, const UniteManyMeshesParams &params={})