Classes | |
struct | MeshParams |
struct | VolumeParams |
Enumerations | |
enum class | Type : int { SchwartzP , ThickSchwartzP , DoubleGyroid , ThickGyroid , Count } |
Supported types of TPMS (Triply Periodic Minimal Surfaces) More... | |
Functions | |
MRVOXELS_API std::vector< std::string > | getTypeNames () |
Returns the names for each type of filling. | |
MRVOXELS_API std::vector< std::string > | getTypeTooltips () |
Returns the tooltips for each type of filling. | |
MRVOXELS_API bool | isThick (Type type) |
Returns true if the type is thick. | |
MRVOXELS_API FunctionVolume | buildVolume (const Vector3f &size, const VolumeParams ¶ms) |
MRVOXELS_API Expected< Mesh > | build (const Vector3f &size, const MeshParams ¶ms, ProgressCallback cb={}) |
Constructs TPMS level-set and then convert it to mesh. | |
MRVOXELS_API Expected< Mesh > | fill (const Mesh &mesh, const MeshParams ¶ms, ProgressCallback cb={}) |
Constructs TPMS-filling for the given mesh . | |
MRVOXELS_API size_t | getNumberOfVoxels (const Mesh &mesh, float frequency, float resolution) |
Returns number of voxels that would be used to perform fillWithTPMS. | |
MRVOXELS_API size_t | getNumberOfVoxels (const Vector3f &size, float frequency, float resolution) |
Returns number of voxels that would be used to perform buildTPMS or buildTPMSVolume. | |
MRVOXELS_API float | estimateIso (Type type, float targetDensity) |
MRVOXELS_API float | estimateDensity (Type type, float targetIso) |
MRVOXELS_API float | getMinimalResolution (Type type, float iso) |
Returns minimal reasonable resolution for given parameters. | |
|
strong |
Supported types of TPMS (Triply Periodic Minimal Surfaces)
Enumerator | |
---|---|
SchwartzP | |
ThickSchwartzP | |
DoubleGyroid | |
ThickGyroid | |
Count |
MRVOXELS_API Expected< Mesh > MR::FillingSurface::TPMS::build | ( | const Vector3f & | size, |
const MeshParams & | params, | ||
ProgressCallback | cb = {} ) |
Constructs TPMS level-set and then convert it to mesh.
MRVOXELS_API FunctionVolume MR::FillingSurface::TPMS::buildVolume | ( | const Vector3f & | size, |
const VolumeParams & | params ) |
Construct TPMS using implicit function (https://www.researchgate.net/publication/350658078_Computational_method_and_program_for_generating_a_porous_scaffold_based_on_implicit_surfaces)
size | Size of the cube with the surface |
size
MRVOXELS_API float MR::FillingSurface::TPMS::estimateDensity | ( | Type | type, |
float | targetIso ) |
Returns approximate density corresponding to the given ISO value
targetIso | value in [-1; 1] |
MRVOXELS_API float MR::FillingSurface::TPMS::estimateIso | ( | Type | type, |
float | targetDensity ) |
Returns approximated ISO value corresponding to the given density
targetDensity | value in [0; 1] |
MRVOXELS_API Expected< Mesh > MR::FillingSurface::TPMS::fill | ( | const Mesh & | mesh, |
const MeshParams & | params, | ||
ProgressCallback | cb = {} ) |
Constructs TPMS-filling for the given mesh
.
MRVOXELS_API float MR::FillingSurface::TPMS::getMinimalResolution | ( | Type | type, |
float | iso ) |
Returns minimal reasonable resolution for given parameters.
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 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.