MeshLib C++ Docs
Loading...
Searching...
No Matches
MRMinimalSurface.h
Go to the documentation of this file.
1#pragma once
2
3#include <MRMesh/MRMeshFwd.h>
4#include <MRMesh/MRExpected.h>
6
7
8namespace MR
9{
10
11
13enum class TPMSType : int
14{
17 Gyroid,
19};
20MRVOXELS_API std::vector<std::string> getTPMSTypeNames();
21
28MRVOXELS_API FunctionVolume buildTPMSVolume( TPMSType type, const Vector3f& size, float frequency, float resolution );
29
31MRVOXELS_API Expected<Mesh> buildTPMS( TPMSType type, const Vector3f& size, float frequency, float resolution, float iso, ProgressCallback cb = {} );
32
34MRVOXELS_API Expected<Mesh> fillWithTPMS( TPMSType type, const Mesh& mesh, float frequency, float resolution, float iso, ProgressCallback cb = {} );
35
37MRVOXELS_API size_t getNumberOfVoxelsForTPMS( const Mesh& mesh, float frequency, float resolution );
38
39}
#define MRVOXELS_API
Definition MRVoxels/MRVoxelsFwd.h:13
std::function< bool(float)> ProgressCallback
Definition MRMesh/MRMeshFwd.h:663
Definition MRCameraOrientationPlugin.h:8
ImVec2 size(const ViewportRectangle &rect)
Definition MRViewport.h:29
MRVOXELS_API Expected< Mesh > fillWithTPMS(TPMSType type, const Mesh &mesh, float frequency, float resolution, float iso, ProgressCallback cb={})
Constructs TPMS-filling for the given mesh.
MRVOXELS_API size_t getNumberOfVoxelsForTPMS(const Mesh &mesh, float frequency, float resolution)
Returns number of voxels that would be used to perform fillWithTPMS.
tl::expected< T, E > Expected
Definition MRExpected.h:25
TPMSType
Supported types of TPMS (Triply Periodic Minimal Surfaces)
Definition MRMinimalSurface.h:14
MRVOXELS_API std::vector< std::string > getTPMSTypeNames()
MRVOXELS_API Expected< Mesh > buildTPMS(TPMSType type, const Vector3f &size, float frequency, float resolution, float iso, ProgressCallback cb={})
Constructs TPMS level-set and then convert it to mesh.
MRVOXELS_API FunctionVolume buildTPMSVolume(TPMSType type, const Vector3f &size, float frequency, float resolution)
Definition MRMesh/MRMesh.h:22