#include <MRCudaFastWindingNumber.h>
Inheritance diagram for MR::Cuda::FastWindingNumber:Public Member Functions | |
| MRCUDA_API | FastWindingNumber (const Mesh &mesh) |
| constructs this from AABB tree of given mesh; | |
| MRCUDA_API Expected< void > | calcFromVector (std::vector< float > &res, const std::vector< Vector3f > &points, float beta, FaceId skipFace, const ProgressCallback &cb) override |
| see methods' descriptions in IFastWindingNumber | |
| MRCUDA_API Expected< void > | calcSelfIntersections (FaceBitSet &res, float beta, const ProgressCallback &cb) override |
| calculates winding numbers for all centers of mesh's triangles. if winding number is less than 0 or greater then 1, that face is marked as self-intersected | |
| MRCUDA_API Expected< void > | calcFromGrid (std::vector< float > &res, const Vector3i &dims, const AffineXf3f &gridToMeshXf, float beta, const ProgressCallback &cb) override |
| calculates winding numbers in each point from a three-dimensional grid | |
| MRCUDA_API Expected< void > | calcFromGridWithDistances (std::vector< float > &res, const Vector3i &dims, const AffineXf3f &gridToMeshXf, const DistanceToMeshOptions &options, const ProgressCallback &cb) override |
| 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 | |
| MRCUDA_API Expected< void > | calcFromGridByParts (GridByPartsFunc resFunc, const Vector3i &dims, const AffineXf3f &gridToMeshXf, float beta, int layerOverlap, const ProgressCallback &cb) override |
| see methods' descriptions in IFastWindingNumberByParts | |
| MRCUDA_API Expected< void > | calcFromGridWithDistancesByParts (GridByPartsFunc resFunc, const Vector3i &dims, const AffineXf3f &gridToMeshXf, const DistanceToMeshOptions &options, int layerOverlap, const ProgressCallback &cb) override |
| 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 | |
Public Member Functions inherited from MR::IFastWindingNumber | |
| virtual | ~IFastWindingNumber ()=default |
Public Member Functions inherited from MR::IFastWindingNumberByParts | |
| virtual | ~IFastWindingNumberByParts ()=default |
Additional Inherited Members | |
Public Types inherited from MR::IFastWindingNumberByParts | |
| using | GridByPartsFunc = std::function<Expected<void> ( std::vector<float>&& data, const Vector3i& dims, int zOffset )> |
the class for fast approximate computation of winding number for a mesh (using its AABB tree)