MeshLib C++ Docs
Loading...
Searching...
No Matches
MRFillingSurface.h File Reference
#include <MRMesh/MRMeshFwd.h>
#include <MRMesh/MRExpected.h>
#include <MRMesh/MRVector3.h>
#include <MRVoxels/MRVoxelsFwd.h>
#include <variant>
#include <optional>

Go to the source code of this file.

Classes

struct  MR::FillingSurface::TPMS::VolumeParams
 
struct  MR::FillingSurface::TPMS::MeshParams
 
struct  MR::FillingSurface::CellularSurface::Params
 

Namespaces

namespace  MR
 
namespace  MR::FillingSurface
 
namespace  MR::FillingSurface::TPMS
 
namespace  MR::FillingSurface::CellularSurface
 

Typedefs

using MR::FillingSurface::MeshParamsRef
 
using MR::FillingSurface::ConstMeshParamsRef
 

Enumerations

enum class  MR::FillingSurface::TPMS::Type : int {
  MR::FillingSurface::TPMS::SchwartzP , MR::FillingSurface::TPMS::ThickSchwartzP , MR::FillingSurface::TPMS::DoubleGyroid , MR::FillingSurface::TPMS::ThickGyroid ,
  MR::FillingSurface::TPMS::Count
}
 Supported types of TPMS (Triply Periodic Minimal Surfaces) More...
 
enum class  MR::FillingSurface::Kind : int { MR::FillingSurface::TPMS = 0 , MR::FillingSurface::Cellular }
 

Functions

MRVOXELS_API std::vector< std::string > MR::FillingSurface::TPMS::getTypeNames ()
 Returns the names for each type of filling.
 
MRVOXELS_API std::vector< std::string > MR::FillingSurface::TPMS::getTypeTooltips ()
 Returns the tooltips for each type of filling.
 
MRVOXELS_API bool MR::FillingSurface::TPMS::isThick (Type type)
 Returns true if the type is thick.
 
MRVOXELS_API FunctionVolume MR::FillingSurface::TPMS::buildVolume (const Vector3f &size, const VolumeParams &params)
 
MRVOXELS_API Expected< MeshMR::FillingSurface::TPMS::build (const Vector3f &size, const MeshParams &params, ProgressCallback cb={})
 Constructs TPMS level-set and then convert it to mesh.
 
MRVOXELS_API Expected< MeshMR::FillingSurface::TPMS::fill (const Mesh &mesh, const MeshParams &params, ProgressCallback cb={})
 Constructs TPMS-filling for the given mesh.
 
MRVOXELS_API size_t MR::FillingSurface::TPMS::getNumberOfVoxels (const Mesh &mesh, float frequency, float resolution)
 Returns number of voxels that would be used to perform fillWithTPMS.
 
MRVOXELS_API size_t MR::FillingSurface::TPMS::getNumberOfVoxels (const Vector3f &size, float frequency, float resolution)
 Returns number of voxels that would be used to perform buildTPMS or buildTPMSVolume.
 
MRVOXELS_API float MR::FillingSurface::TPMS::estimateIso (Type type, float targetDensity)
 
MRVOXELS_API float MR::FillingSurface::TPMS::estimateDensity (Type type, float targetIso)
 
MRVOXELS_API float MR::FillingSurface::TPMS::getMinimalResolution (Type type, float iso)
 Returns minimal reasonable resolution for given parameters.
 
MRVOXELS_API Expected< MeshMR::FillingSurface::CellularSurface::build (const Vector3f &size, const Params &params, const ProgressCallback &cb={})
 Build a cellular surface of size size.
 
MRVOXELS_API Expected< MeshMR::FillingSurface::CellularSurface::fill (const Mesh &mesh, const Params &params, const ProgressCallback &cb={})
 Fill given mesh with a cellular surface.
 
MRVOXELS_API float MR::FillingSurface::CellularSurface::estimateDensity (float period, float width, float r)
 Estimate the density of the cellular surface.
 
MRVOXELS_API std::optional< float > MR::FillingSurface::CellularSurface::estimateWidth (float period, float r, float targetDensity)
 
MRVOXELS_API std::vector< std::string > MR::FillingSurface::getKindNames ()
 
MR_BIND_IGNORE MRVOXELS_API Expected< MeshMR::FillingSurface::build (const Vector3f &size, ConstMeshParamsRef params, ProgressCallback cb={})
 Unified functions to build and fill using the specified filling structures.
 
MR_BIND_IGNORE MRVOXELS_API Expected< MeshMR::FillingSurface::fill (const Mesh &mesh, ConstMeshParamsRef params, ProgressCallback cb={})