69 [[nodiscard]]
float calc_(
const Vector3f & q,
float beta, FaceId skipFace = {} )
const;
73 const Dipoles & dipoles_;
100 const AffineXf3f& gridToMeshXf,
float beta,
int layerOverlap, const
ProgressCallback& cb ) = 0;
#define MRMESH_API
Definition MRMeshFwd.h:82
#define MRMESH_CLASS
Definition MRMeshFwd.h:89
Definition MRAABBTree.h:16
std::function< bool(float)> ProgressCallback
Definition MRMeshFwd.h:751
Expected< void > calcFromGridWithDistances(std::vector< float > &res, const Vector3i &dims, const AffineXf3f &gridToMeshXf, const DistanceToMeshOptions &options, const ProgressCallback &cb) override
Expected< void > calcFromGrid(std::vector< float > &res, const Vector3i &dims, const AffineXf3f &gridToMeshXf, float beta, const ProgressCallback &cb) override
virtual Expected< void > calcFromGrid(std::vector< float > &res, const Vector3i &dims, const AffineXf3f &gridToMeshXf, float beta, const ProgressCallback &cb={})=0
IFastWindingNumber(IFastWindingNumber &&) noexcept=default
IFastWindingNumber(const IFastWindingNumber &)=default
virtual Expected< void > calcFromGridByParts(GridByPartsFunc resFunc, const Vector3i &dims, const AffineXf3f &gridToMeshXf, float beta, int layerOverlap, const ProgressCallback &cb)=0
virtual Expected< void > calcFromVector(std::vector< float > &res, const std::vector< Vector3f > &points, float beta, FaceId skipFace={}, const ProgressCallback &cb={})=0
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
float calcWithDistances(const Vector3f &p, const DistanceToMeshOptions &options)
IFastWindingNumberByParts()=default
explicitly define ctors to avoid warning C5267: definition of implicit copy constructor is deprecated...
std::function< Expected< void >(std::vector< float > &&data, const Vector3i &dims, int zOffset)> GridByPartsFunc
Definition MRFastWindingNumber.h:91
tl::expected< T, E > Expected
Definition MRExpected.h:31
IFastWindingNumberByParts(const IFastWindingNumberByParts &)=default
FastWindingNumber(const Mesh &mesh)
virtual Expected< void > calcFromGridWithDistancesByParts(GridByPartsFunc resFunc, const Vector3i &dims, const AffineXf3f &gridToMeshXf, const DistanceToMeshOptions &options, int layerOverlap, const ProgressCallback &cb)=0
virtual Expected< void > calcSelfIntersections(FaceBitSet &res, float beta, const ProgressCallback &cb={})=0
IFastWindingNumber()=default
explicitly define ctors to avoid warning C5267: definition of implicit copy constructor is deprecated...
Expected< void > calcSelfIntersections(FaceBitSet &res, float beta, const ProgressCallback &cb) override
IFastWindingNumberByParts(IFastWindingNumberByParts &&) noexcept=default
virtual Expected< void > calcFromGridWithDistances(std::vector< float > &res, const Vector3i &dims, const AffineXf3f &gridToMeshXf, const DistanceToMeshOptions &options, const ProgressCallback &cb)=0
only for bindings generation
Definition MRCameraOrientationPlugin.h:8
options determining computation of distance from a point to a mesh
Definition MRDistanceToMeshOptions.h:14