MeshLib C++ Docs
Loading...
Searching...
No Matches
MRRebuildMesh.h
Go to the documentation of this file.
1#pragma once
2
3#include "MRVoxelsFwd.h"
4#include "MRMesh/MRMeshPart.h"
5#include "MRMesh/MRExpected.h"
6#include "MRMesh/MREnums.h"
8
9namespace MR
10{
11
12struct RebuildMeshSettings
13{
19 bool preSubdivide = true;
20
23 float voxelSize = 0;
24
25 SignDetectionModeShort signMode = SignDetectionModeShort::Auto;
26
29
30 OffsetMode offsetMode = OffsetMode::Standard;
31
33 UndirectedEdgeBitSet* outSharpEdges = nullptr;
34
38 float windingNumberThreshold = 0.5f;
39
42 float windingNumberBeta = 2;
43
46 std::shared_ptr<IFastWindingNumber> fwn;
47
49 bool decimate = true;
50
53 float tinyEdgeLength = -1;
54
56 ProgressCallback progress;
57
60 std::function<void(SignDetectionMode)> onSignDetectionModeSelected;
61};
62
65[[nodiscard]] MRVOXELS_API Expected<Mesh> rebuildMesh( const MeshPart& mp, const RebuildMeshSettings& settings );
66
67} //namespace MR
#define MRVOXELS_API
Definition MRVoxelsFwd.h:14
Definition MRRebuildMesh.h:13
new unsafe MR.Std.Function_BoolFuncFromFloat progress
new unsafe MR.? UndirectedEdgeBitSet outSharpEdges
new unsafe MR.IFastWindingNumber fwn
new unsafe ref bool closeHolesInHoleWindingNumber
new unsafe MR.Std.Function_VoidFuncFromMRSignDetectionMode onSignDetectionModeSelected
new unsafe ref bool decimate
new unsafe ref float tinyEdgeLength
new unsafe ref float windingNumberBeta
new unsafe ref bool preSubdivide
new unsafe ref float windingNumberThreshold
new unsafe ref float voxelSize
Definition MRCameraOrientationPlugin.h:8
MRVOXELS_API Expected< Mesh > rebuildMesh(const MeshPart &mp, const RebuildMeshSettings &settings)