Abstract class that complements IFastWindingNumber with chunked processing variants of its methods.
More...
#include <MRFastWindingNumber.h>
|
using | GridByPartsFunc = std::function<Expected<void> ( std::vector<float>&& data, const Vector3i& dims, int zOffset )> |
|
|
virtual | ~IFastWindingNumberByParts ()=default |
|
virtual Expected< void > | calcFromGridByParts (GridByPartsFunc resFunc, const Vector3i &dims, const AffineXf3f &gridToMeshXf, float beta, int layerOverlap, const ProgressCallback &cb)=0 |
| calculates winding numbers in each point from a three-dimensional grid
|
|
virtual Expected< void > | calcFromGridWithDistancesByParts (GridByPartsFunc resFunc, const Vector3i &dims, const AffineXf3f &gridToMeshXf, const DistanceToMeshOptions &options, int layerOverlap, const ProgressCallback &cb)=0 |
| calculates distances with the sign obtained from generalized winding number in each point from a three-dimensional grid; if sqr(res) < minDistSq or sqr(res) >= maxDistSq, then NaN is returned for such point
|
|
Abstract class that complements IFastWindingNumber with chunked processing variants of its methods.
◆ GridByPartsFunc
callback that gets a block of resulting winding numbers
- Parameters
-
data | - block data |
dims | - block dimensions |
zOffset | - block offset in XY dimension |
◆ ~IFastWindingNumberByParts()
virtual MR::IFastWindingNumberByParts::~IFastWindingNumberByParts |
( |
| ) |
|
|
virtualdefault |
◆ calcFromGridByParts()
virtual Expected< void > MR::IFastWindingNumberByParts::calcFromGridByParts |
( |
GridByPartsFunc | resFunc, |
|
|
const Vector3i & | dims, |
|
|
const AffineXf3f & | gridToMeshXf, |
|
|
float | beta, |
|
|
int | layerOverlap, |
|
|
const ProgressCallback & | cb ) |
|
pure virtual |
calculates winding numbers in each point from a three-dimensional grid
- Parameters
-
resFunc | callback that gets a block of resulting winding numbers |
dims | dimensions of the grid |
gridToMeshXf | transform from integer grid locations to voxel's centers in mesh reference frame |
beta | determines the precision of the approximation: the more the better, recommended value 2 or more |
layerOverlap | overlap between two blocks of the grid, set as XY layer count |
Implemented in MR::Cuda::FastWindingNumber.
◆ calcFromGridWithDistancesByParts()
calculates distances with the sign obtained from generalized winding number in each point from a three-dimensional grid; if sqr(res) < minDistSq or sqr(res) >= maxDistSq, then NaN is returned for such point
- Parameters
-
resFunc | callback that gets a block of resulting winding numbers |
dims | dimensions of the grid |
gridToMeshXf | transform from integer grid locations to voxel's centers in mesh reference frame |
layerOverlap | overlap between two blocks of the grid, set as XY layer count |
Implemented in MR::Cuda::FastWindingNumber.
The documentation for this class was generated from the following file: