|
MRVOXELS_API FloatGrid | MR::meshToLevelSet (const MeshPart &mp, const AffineXf3f &xf, const Vector3f &voxelSize, float surfaceOffset=3, ProgressCallback cb={}) |
|
MRVOXELS_API FloatGrid | MR::meshToDistanceField (const MeshPart &mp, const AffineXf3f &xf, const Vector3f &voxelSize, float surfaceOffset=3, ProgressCallback cb={}) |
|
MRVOXELS_API void | MR::evalGridMinMax (const FloatGrid &grid, float &min, float &max) |
|
MRVOXELS_API Expected< VdbVolume > | MR::meshToVolume (const Mesh &mesh, const MeshToVolumeParams ¶ms={}) |
|
MRVOXELS_API VdbVolume | MR::floatGridToVdbVolume (FloatGrid grid) |
|
MRVOXELS_API FloatGrid | MR::simpleVolumeToDenseGrid (const SimpleVolume &simpleVolume, float background=0.0f, ProgressCallback cb={}) |
|
MRVOXELS_API VdbVolume | MR::simpleVolumeToVdbVolume (const SimpleVolumeMinMax &simpleVolume, ProgressCallback cb={}) |
|
template<typename AccessorOrGrid > |
MRVOXELS_API void | MR::putSimpleVolumeInDenseGrid (AccessorOrGrid &gridAccessor, const Vector3i &minCoord, const SimpleVolume &simpleVolume, ProgressCallback cb={}) |
| Copy given simpleVolume into the grid , starting at minCoord Instantiated for AccessorOrGrid in { openvdb::FloatGrid::Accessor, FloatGrid, openvdb::FloatGrid }. The template is used to not include openvdb's mess into this header (forward declaring classes in openvdb is also non-trivial). When used with a Grid, multithreaded implementation of copying is used (so the function is not thread safe). When used with an Accessor, this function could be called from different threads on the same volume (provided that accessors are different, of course).
|
|
MRVOXELS_API void | MR::makeVdbTopologyDense (VdbVolume &volume) |
| Make volume dense without setting any values.
|
|
MRVOXELS_API Expected< SimpleVolumeMinMax > | MR::vdbVolumeToSimpleVolume (const VdbVolume &vdbVolume, const Box3i &activeBox=Box3i(), ProgressCallback cb={}) |
|
MRVOXELS_API Expected< SimpleVolumeMinMax > | MR::vdbVolumeToSimpleVolumeNorm (const VdbVolume &vdbVolume, const Box3i &activeBox=Box3i(), std::optional< MinMaxf > sourceScale={}, ProgressCallback cb={}) |
|
MRVOXELS_API Expected< SimpleVolumeMinMaxU16 > | MR::vdbVolumeToSimpleVolumeU16 (const VdbVolume &vdbVolume, const Box3i &activeBox=Box3i(), std::optional< MinMaxf > sourceScale={}, ProgressCallback cb={}) |
|
MRVOXELS_API Expected< Mesh > | MR::gridToMesh (const FloatGrid &grid, const GridToMeshSettings &settings) |
| converts OpenVDB Grid into mesh using Dual Marching Cubes algorithm
|
|
MRVOXELS_API Expected< Mesh > | MR::gridToMesh (FloatGrid &&grid, const GridToMeshSettings &settings) |
|
MRVOXELS_API Expected< void > | MR::makeSignedByWindingNumber (FloatGrid &grid, const Vector3f &voxelSize, const Mesh &refMesh, const MakeSignedByWindingNumberSettings &settings) |
| set signs for unsigned distance field grid using generalized winding number computed at voxel grid point from refMesh
|
|
MRVOXELS_API Expected< Mesh > | MR::doubleOffsetVdb (const MeshPart &mp, const DoubleOffsetSettings &settings) |
|