MeshLib C++ Docs
Loading...
Searching...
No Matches
MRCudaPointsProject.h
Go to the documentation of this file.
1#pragma once
2
3#include "exports.h"
4
5#include "MRMesh/MRExpected.h"
7
8namespace MR::Cuda
9{
10
11// struct from MRPointCloud.cuh
12MR_BIND_IGNORE struct PointCloudDataHolder;
13
15class MRCUDA_CLASS PointsProjector : public IPointsProjector
16{
17public:
19 MRCUDA_API Expected<void> setPointCloud( const PointCloud& pointCloud ) override;
20
22 MRCUDA_API Expected<void> findProjections( std::vector<MR::PointsProjectionResult>& results,
23 const std::vector<Vector3f>& points, const FindProjectionOnPointsSettings& settings ) const override;
24
25private:
26 std::shared_ptr<PointCloudDataHolder> data_;
27};
28
31 const std::vector<Vector3f>& points, const FindProjectionOnPointsSettings& settings = {} );
32
34MRCUDA_API size_t findProjectionOnPointsHeapBytes( const PointCloud& pointCloud, size_t pointsCount );
35
36} // namespace MR::Cuda
CUDA-backed implementation of IPointsProjector.
Definition MRCudaPointsProject.h:16
MRCUDA_API Expected< void > findProjections(std::vector< MR::PointsProjectionResult > &results, const std::vector< Vector3f > &points, const FindProjectionOnPointsSettings &settings) const override
computes the closest points on point cloud to given points
MRCUDA_API Expected< void > setPointCloud(const PointCloud &pointCloud) override
sets the reference point cloud
abstract class for computing the closest points of point clouds
Definition MRPointsProject.h:78
Definition MRCudaBasic.h:11
MRCUDA_API size_t findProjectionOnPointsHeapBytes(const PointCloud &pointCloud, size_t pointsCount)
returns the minimal amount of free GPU memory required for MR::Cuda::findProjectionOnPoints
MRCUDA_API Expected< std::vector< MR::PointsProjectionResult > > findProjectionOnPoints(const PointCloud &pointCloud, const std::vector< Vector3f > &points, const FindProjectionOnPointsSettings &settings={})
computes the closest points on point cloud to given points
tl::expected< T, E > Expected
Definition MRExpected.h:59
settings for IPointsProjector::findProjections
Definition MRPointsProject.h:61
Definition MRMesh/MRPointCloud.h:16