Enumerations | |
enum class | Type : int { SchwartzP , DoubleSchwartzP , Gyroid , DoubleGyroid , Count } |
Supported types of TPMS (Triply Periodic Minimal Surfaces) More... | |
Functions | |
MRVOXELS_API std::vector< std::string > | getTypeNames () |
MRVOXELS_API FunctionVolume | buildVolume (Type type, const Vector3f &size, float frequency, float resolution) |
MRVOXELS_API Expected< Mesh > | build (Type type, const Vector3f &size, float frequency, float resolution, float iso, ProgressCallback cb={}) |
Constructs TPMS level-set and then convert it to mesh. | |
MRVOXELS_API Expected< Mesh > | fill (Type type, const Mesh &mesh, float frequency, float resolution, float iso, 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) |
|
strong |
Supported types of TPMS (Triply Periodic Minimal Surfaces)
Enumerator | |
---|---|
SchwartzP | |
DoubleSchwartzP | |
Gyroid | |
DoubleGyroid | |
Count |
MRVOXELS_API Expected< Mesh > MR::TPMS::build | ( | Type | 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 MR::TPMS::buildVolume | ( | Type | type, |
const Vector3f & | size, | ||
float | frequency, | ||
float | resolution ) |
Construct TPMS using implicit function (https://www.researchgate.net/publication/350658078_Computational_method_and_program_for_generating_a_porous_scaffold_based_on_implicit_surfaces)
type | Type of the surface |
size | Size of the cube with the surface |
frequency | Frequency of oscillations (determines size of the "cells" in the "grid") |
resolution | Ratio n / T , between the number of voxels and period of oscillations |
size
MRVOXELS_API float MR::TPMS::estimateDensity | ( | Type | type, |
float | targetIso ) |
Returns approximate density corresponding to the given ISO value
targetIso | value in [-1; 1] |
MRVOXELS_API float MR::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::TPMS::fill | ( | Type | type, |
const Mesh & | mesh, | ||
float | frequency, | ||
float | resolution, | ||
float | iso, | ||
ProgressCallback | cb = {} ) |
Constructs TPMS-filling for the given mesh
.
MRVOXELS_API size_t MR::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::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::TPMS::getTypeNames | ( | ) |