MeshLib
 
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"
7
8namespace MR
9{
10
12{
15 float voxelSize = 0;
16
18
20 UndirectedEdgeBitSet* outSharpEdges = nullptr;
21
26
30
33 std::shared_ptr<IFastWindingNumber> fwn;
34
36 bool decimate = true;
37
40 float tinyEdgeLength = -1;
41
44};
45
48[[nodiscard]] MRVOXELS_API Expected<Mesh> rebuildMesh( const MeshPart& mp, const RebuildMeshSettings& settings );
49
50} //namespace MR
#define MRVOXELS_API
Definition MRVoxelsFwd.h:13
std::function< bool(float)> ProgressCallback
Definition MRMesh/MRMeshFwd.h:571
Definition MRCameraOrientationPlugin.h:8
tl::expected< T, E > Expected
Definition MRExpected.h:58
OffsetMode
Definition MREnums.h:38
@ Standard
create mesh using standard marching cubes implemented in MeshLib
MRVOXELS_API Expected< Mesh > rebuildMesh(const MeshPart &mp, const RebuildMeshSettings &settings)
Definition MRMesh/MRMeshPart.h:11
Definition MRRebuildMesh.h:12
float windingNumberBeta
Definition MRRebuildMesh.h:29
ProgressCallback progress
To report algorithm's progress and cancel it on user demand.
Definition MRRebuildMesh.h:43
OffsetMode offsetMode
Definition MRRebuildMesh.h:17
float windingNumberThreshold
Definition MRRebuildMesh.h:25
float voxelSize
Definition MRRebuildMesh.h:15
bool decimate
whether to decimate resulting mesh
Definition MRRebuildMesh.h:36
UndirectedEdgeBitSet * outSharpEdges
if non-null then created sharp edges (only if offsetMode = OffsetMode::Sharpening) will be saved here
Definition MRRebuildMesh.h:20
float tinyEdgeLength
Definition MRRebuildMesh.h:40
std::shared_ptr< IFastWindingNumber > fwn
Definition MRRebuildMesh.h:33