64#ifndef MRMESH_NO_OPENVDB
#define MRMESH_API
Definition MRMesh/MRMeshFwd.h:46
std::vector<T>-like container that requires specific indexing type,
Definition MRMesh/MRVector.h:19
represents a 3-dimentional float-typed vector
Definition MRDotNet/MRVector3.h:8
std::function< bool(float)> ProgressCallback
Definition MRMesh/MRMeshFwd.h:589
Definition MRCameraOrientationPlugin.h:7
MRMESH_API Expected< TriMesh > marchingCubesAsTriMesh(const SimpleVolume &volume, const MarchingCubesParams ¶ms={})
MRMESH_API Expected< Mesh > marchingCubes(const SimpleVolume &volume, const MarchingCubesParams ¶ms={})
Vector3< float > Vector3f
Definition MRDotNet/MRMeshFwd.h:8
tl::expected< T, E > Expected
Definition MRExpected.h:49
std::function< Vector3f(const Vector3f &, const Vector3f &, float, float, float)> VoxelPointPositioner
Definition MRMarchingCubes.h:16
Definition MRMarchingCubes.h:19
std::function< void()> freeVolume
this optional function is called when volume is no longer needed to deallocate it and reduce peak mem...
Definition MRMarchingCubes.h:57
Vector3f origin
origin point of voxels box in 3D space with output mesh
Definition MRMarchingCubes.h:21
int maxVertices
if the mesh exceeds this number of vertices, an error returns
Definition MRMarchingCubes.h:41
enum MR::MarchingCubesParams::CachingMode cachingMode
CachingMode
Definition MRMarchingCubes.h:46
@ None
don't cache any data
@ Normal
allocates 2 full slices per parallel thread
VoxelPointPositioner positioner
Definition MRMarchingCubes.h:38
ProgressCallback cb
progress callback
Definition MRMarchingCubes.h:24
bool lessInside
should be false for dense volumes, and true for distance volume
Definition MRMarchingCubes.h:30
float iso
target iso-value of the surface to be extracted from volume
Definition MRMarchingCubes.h:27
Vector< VoxelId, FaceId > * outVoxelPerFaceMap
optional output map FaceId->VoxelId
Definition MRMarchingCubes.h:33