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
struct  MR::FillingSurface::ParamsFacade< T >
 A helper to access parameters common for different kind of surfaces. More...

Namespaces

namespace  MR
 only for bindings generation
namespace  MR::FillingSurface
namespace  MR::FillingSurface::TPMS
 Triply Periodic Minimal Surface.
namespace  MR::FillingSurface::CellularSurface
 Surface of cylinders in a grid.

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::CellularSurface::Type : int { MR::FillingSurface::CellularSurface::Cylinder = 0 , MR::FillingSurface::CellularSurface::Rect }
 Type of cellular surface base element. More...
enum class  MR::FillingSurface::Kind : int { MR::FillingSurface::TPMS = 0 , MR::FillingSurface::Cellular }
 Different kinds of filling surface. More...

Functions

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