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: