16struct FastWindingNumberDataBuffers;
23 std::shared_ptr<FastWindingNumberDataBuffers> data_;
30 MRCUDA_API
Expected<void> calcFromVector( std::vector<float>& res,
const std::vector<Vector3f>& points,
float beta, FaceId skipFace,
const ProgressCallback& cb )
override;
32 MRCUDA_API
Expected<void> calcFromGrid( std::vector<float>& res,
const Vector3i& dims,
const AffineXf3f& gridToMeshXf,
float beta,
const ProgressCallback& cb )
override;
Definition MRCudaFastWindingNumber.h:21
Abstract class that complements IFastWindingNumber with chunked processing variants of its methods.
Definition MRFastWindingNumber.h:81
Abstract class for fast approximate computation of generalized winding number for a mesh (using its A...
Definition MRFastWindingNumber.h:15
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 > 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 g...
std::function< Expected< void >(std::vector< float > &&data, const Vector3i &dims, int zOffset)> GridByPartsFunc
Definition MRFastWindingNumber.h:89
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
tl::expected< T, E > Expected
Definition MRExpected.h:31
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 thre...
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 thre...
MRCUDA_API FastWindingNumber(const Mesh &mesh)
constructs this from AABB tree of given mesh;
only for bindings generation
Definition MRCameraOrientationPlugin.h:8
options determining computation of distance from a point to a mesh
Definition MRDistanceToMeshOptions.h:14