19 virtual void findProjections( std::vector<MeshProjectionResult>& result,
const std::vector<Vector3f>& points,
20 const AffineXf3f* worldXf =
nullptr,
const AffineXf3f* worldRefXf =
nullptr,
21 float upDistLimitSq = FLT_MAX,
float loDistLimitSq = 0.0f ) = 0;
29 const Mesh* mesh_{
nullptr };
43 const AffineXf3f* objXf,
const AffineXf3f* refObjXf,
44 float upDistLimitSq,
float loDistLimitSq )
override;
#define MRMESH_API
Definition MRMesh/MRMeshFwd.h:46
#define MRMESH_CLASS
Definition MRMesh/MRMeshFwd.h:50
Abstract class, computes the closest point on mesh to each of given points. Pure virtual functions mu...
Definition MRPointsToMeshProjector.h:12
virtual size_t projectionsHeapBytes(size_t numProjections) const =0
Returns amount of memory needed to compute projections.
virtual void updateMeshData(const Mesh *mesh)=0
Updates all data related to the referencing mesh.
virtual ~IPointsToMeshProjector()=default
virtual void findProjections(std::vector< MeshProjectionResult > &result, const std::vector< Vector3f > &points, const AffineXf3f *worldXf=nullptr, const AffineXf3f *worldRefXf=nullptr, float upDistLimitSq=FLT_MAX, float loDistLimitSq=0.0f)=0
Computes the closest point on mesh to each of given points.
Computes the closest point on mesh to each of given points on CPU.
Definition MRPointsToMeshProjector.h:28
virtual MRMESH_API size_t projectionsHeapBytes(size_t numProjections) const override
Returns amount of additional memory needed to compute projections.
virtual MRMESH_API void findProjections(std::vector< MeshProjectionResult > &result, const std::vector< Vector3f > &points, const AffineXf3f *objXf, const AffineXf3f *refObjXf, float upDistLimitSq, float loDistLimitSq) override
Computes the closest point on mesh to each of given points
virtual MRMESH_API void updateMeshData(const Mesh *mesh) override
update all data related to the referencing mesh
Definition MRCameraOrientationPlugin.h:8
Definition MRMesh/MRMesh.h:23