MeshLib C Docs
Loading...
Searching...
No Matches
MRCudaPointsProject.h File Reference
#include <MRCCuda/exports.h>
#include <MRCMisc/common.h>
#include <stddef.h>

Go to the source code of this file.

Typedefs

typedef struct MR_Cuda_PointsProjector MR_Cuda_PointsProjector

Functions

MRC_CUDA_API MR_Cuda_PointsProjectorMR_Cuda_PointsProjector_DefaultConstruct (void)
MRC_CUDA_API MR_Cuda_PointsProjectorMR_Cuda_PointsProjector_DefaultConstructArray (size_t num_elems)
MRC_CUDA_API const MR_Cuda_PointsProjectorMR_Cuda_PointsProjector_OffsetPtr (const MR_Cuda_PointsProjector *ptr, ptrdiff_t i)
MRC_CUDA_API MR_Cuda_PointsProjectorMR_Cuda_PointsProjector_OffsetMutablePtr (MR_Cuda_PointsProjector *ptr, ptrdiff_t i)
MRC_CUDA_API const MR_IPointsProjectorMR_Cuda_PointsProjector_UpcastTo_MR_IPointsProjector (const MR_Cuda_PointsProjector *object)
MRC_CUDA_API MR_IPointsProjectorMR_Cuda_PointsProjector_MutableUpcastTo_MR_IPointsProjector (MR_Cuda_PointsProjector *object)
MRC_CUDA_API const MR_Cuda_PointsProjectorMR_Cuda_PointsProjector_StaticDowncastFrom_MR_IPointsProjector (const MR_IPointsProjector *object)
MRC_CUDA_API MR_Cuda_PointsProjectorMR_Cuda_PointsProjector_MutableStaticDowncastFrom_MR_IPointsProjector (MR_IPointsProjector *object)
MRC_CUDA_API const MR_Cuda_PointsProjectorMR_Cuda_PointsProjector_DynamicDowncastFrom_MR_IPointsProjector (const MR_IPointsProjector *object)
MRC_CUDA_API MR_Cuda_PointsProjectorMR_Cuda_PointsProjector_MutableDynamicDowncastFrom_MR_IPointsProjector (MR_IPointsProjector *object)
MRC_CUDA_API const MR_Cuda_PointsProjectorMR_Cuda_PointsProjector_DynamicDowncastFromOrFail_MR_IPointsProjector (const MR_IPointsProjector *object)
MRC_CUDA_API MR_Cuda_PointsProjectorMR_Cuda_PointsProjector_MutableDynamicDowncastFromOrFail_MR_IPointsProjector (MR_IPointsProjector *object)
MRC_CUDA_API MR_Cuda_PointsProjectorMR_Cuda_PointsProjector_ConstructFromAnother (MR_PassBy _other_pass_by, MR_Cuda_PointsProjector *_other)
MRC_CUDA_API void MR_Cuda_PointsProjector_Destroy (const MR_Cuda_PointsProjector *_this)
 Destroys a heap-allocated instance of MR_Cuda_PointsProjector. Does nothing if the pointer is null.
MRC_CUDA_API void MR_Cuda_PointsProjector_DestroyArray (const MR_Cuda_PointsProjector *_this)
 Destroys a heap-allocated array of MR_Cuda_PointsProjector. Does nothing if the pointer is null.
MRC_CUDA_API MR_Cuda_PointsProjectorMR_Cuda_PointsProjector_AssignFromAnother (MR_Cuda_PointsProjector *_this, MR_PassBy _other_pass_by, MR_Cuda_PointsProjector *_other)
MRC_CUDA_API MR_expected_void_std_stringMR_Cuda_PointsProjector_setPointCloud (MR_Cuda_PointsProjector *_this, const MR_PointCloud *pointCloud)
MRC_CUDA_API MR_expected_void_std_stringMR_Cuda_PointsProjector_findProjections (const MR_Cuda_PointsProjector *_this, MR_std_vector_MR_PointsProjectionResult *results, const MR_std_vector_MR_Vector3f *points, const MR_FindProjectionOnPointsSettings *settings)
MRC_CUDA_API MR_uint64_t MR_Cuda_PointsProjector_projectionsHeapBytes (const MR_Cuda_PointsProjector *_this, MR_uint64_t numProjections)
MRC_CUDA_API MR_expected_std_vector_MR_PointsProjectionResult_std_stringMR_Cuda_findProjectionOnPoints (const MR_PointCloud *pointCloud, const MR_std_vector_MR_Vector3f *points, const MR_FindProjectionOnPointsSettings *settings)
MRC_CUDA_API MR_uint64_t MR_Cuda_findProjectionOnPointsHeapBytes (const MR_PointCloud *pointCloud, MR_uint64_t pointsCount)

Typedef Documentation

◆ MR_Cuda_PointsProjector

CUDA-backed implementation of IPointsProjector Generated from class MR::Cuda::PointsProjector. Base classes: Direct: (non-virtual) MR::IPointsProjector Supported MR_PassBy modes: MR_PassBy_DefaultConstruct, MR_PassBy_Copy, MR_PassBy_Move (and MR_PassBy_DefaultArgument and MR_PassBy_NoObject if supported by the callee).

Function Documentation

◆ MR_Cuda_findProjectionOnPoints()

MRC_CUDA_API MR_expected_std_vector_MR_PointsProjectionResult_std_string * MR_Cuda_findProjectionOnPoints ( const MR_PointCloud * pointCloud,
const MR_std_vector_MR_Vector3f * points,
const MR_FindProjectionOnPointsSettings * settings )

computes the closest points on point cloud to given points Generated from function MR::Cuda::findProjectionOnPoints. Parameter pointCloud can not be null. It is a single object. Parameter points can not be null. It is a single object. Parameter settings is a single object. Parameter settings has a default argument: {}, pass a null pointer to use it. Never returns null. Returns an instance allocated on the heap! Must call MR_expected_std_vector_MR_PointsProjectionResult_std_string_Destroy() to free it when you're done using it.

◆ MR_Cuda_findProjectionOnPointsHeapBytes()

MRC_CUDA_API MR_uint64_t MR_Cuda_findProjectionOnPointsHeapBytes ( const MR_PointCloud * pointCloud,
MR_uint64_t pointsCount )

returns the minimal amount of free GPU memory required for MR::Cuda::findProjectionOnPoints Generated from function MR::Cuda::findProjectionOnPointsHeapBytes. Parameter pointCloud can not be null. It is a single object.

◆ MR_Cuda_PointsProjector_AssignFromAnother()

MRC_CUDA_API MR_Cuda_PointsProjector * MR_Cuda_PointsProjector_AssignFromAnother ( MR_Cuda_PointsProjector * _this,
MR_PassBy _other_pass_by,
MR_Cuda_PointsProjector * _other )

Generated from method MR::Cuda::PointsProjector::operator=. Parameter _this can not be null. It is a single object. The reference to things referred to by the parameter _other (if any) might be preserved in this object. The returned pointer will never be null. It is non-owning, do NOT destroy it. When this function is called, this object will drop any object references it held previously.

◆ MR_Cuda_PointsProjector_ConstructFromAnother()

MRC_CUDA_API MR_Cuda_PointsProjector * MR_Cuda_PointsProjector_ConstructFromAnother ( MR_PassBy _other_pass_by,
MR_Cuda_PointsProjector * _other )

Generated from constructor MR::Cuda::PointsProjector::PointsProjector. The reference to things referred to by the parameter _other (if any) might be preserved in the constructed object. Never returns null. Returns an instance allocated on the heap! Must call MR_Cuda_PointsProjector_Destroy() to free it when you're done using it.

◆ MR_Cuda_PointsProjector_DefaultConstruct()

MRC_CUDA_API MR_Cuda_PointsProjector * MR_Cuda_PointsProjector_DefaultConstruct ( void )

Constructs an empty (default-constructed) instance. Never returns null. Returns an instance allocated on the heap! Must call MR_Cuda_PointsProjector_Destroy() to free it when you're done using it.

◆ MR_Cuda_PointsProjector_DefaultConstructArray()

MRC_CUDA_API MR_Cuda_PointsProjector * MR_Cuda_PointsProjector_DefaultConstructArray ( size_t num_elems)

Constructs an array of empty (default-constructed) instances, of the specified size. Will never return null. The array must be destroyed using MR_Cuda_PointsProjector_DestroyArray(). Use MR_Cuda_PointsProjector_OffsetMutablePtr() and MR_Cuda_PointsProjector_OffsetPtr() to access the array elements.

◆ MR_Cuda_PointsProjector_Destroy()

MRC_CUDA_API void MR_Cuda_PointsProjector_Destroy ( const MR_Cuda_PointsProjector * _this)

Destroys a heap-allocated instance of MR_Cuda_PointsProjector. Does nothing if the pointer is null.

◆ MR_Cuda_PointsProjector_DestroyArray()

MRC_CUDA_API void MR_Cuda_PointsProjector_DestroyArray ( const MR_Cuda_PointsProjector * _this)

Destroys a heap-allocated array of MR_Cuda_PointsProjector. Does nothing if the pointer is null.

◆ MR_Cuda_PointsProjector_DynamicDowncastFrom_MR_IPointsProjector()

MRC_CUDA_API const MR_Cuda_PointsProjector * MR_Cuda_PointsProjector_DynamicDowncastFrom_MR_IPointsProjector ( const MR_IPointsProjector * object)

Downcasts an instance of MR::IPointsProjector to a derived class MR::Cuda::PointsProjector. This is a dynamic downcast, it checks the type before casting. This version will return zero if the target type is wrong. This version is acting on mutable pointers. The reference to the parameter object might be preserved in the return value.

◆ MR_Cuda_PointsProjector_DynamicDowncastFromOrFail_MR_IPointsProjector()

MRC_CUDA_API const MR_Cuda_PointsProjector * MR_Cuda_PointsProjector_DynamicDowncastFromOrFail_MR_IPointsProjector ( const MR_IPointsProjector * object)

Downcasts an instance of MR::IPointsProjector to a derived class MR::Cuda::PointsProjector. This is a dynamic downcast, it checks the type before casting. This version will throw if the target type is wrong. This version is acting on mutable pointers. Parameter object can not be null. It is a single object. The reference to the parameter object might be preserved in the return value. The returned pointer will never be null. It is non-owning, do NOT destroy it.

◆ MR_Cuda_PointsProjector_findProjections()

MRC_CUDA_API MR_expected_void_std_string * MR_Cuda_PointsProjector_findProjections ( const MR_Cuda_PointsProjector * _this,
MR_std_vector_MR_PointsProjectionResult * results,
const MR_std_vector_MR_Vector3f * points,
const MR_FindProjectionOnPointsSettings * settings )

computes the closest points on point cloud to given points Generated from method MR::Cuda::PointsProjector::findProjections. Parameter _this can not be null. It is a single object. Parameter results can not be null. It is a single object. Parameter points can not be null. It is a single object. Parameter settings can not be null. It is a single object. Never returns null. Returns an instance allocated on the heap! Must call MR_expected_void_std_string_Destroy() to free it when you're done using it.

◆ MR_Cuda_PointsProjector_MutableDynamicDowncastFrom_MR_IPointsProjector()

MRC_CUDA_API MR_Cuda_PointsProjector * MR_Cuda_PointsProjector_MutableDynamicDowncastFrom_MR_IPointsProjector ( MR_IPointsProjector * object)

Downcasts an instance of MR::IPointsProjector to a derived class MR::Cuda::PointsProjector. This is a dynamic downcast, it checks the type before casting. This version will return zero if the target type is wrong. The reference to the parameter object might be preserved in the return value.

◆ MR_Cuda_PointsProjector_MutableDynamicDowncastFromOrFail_MR_IPointsProjector()

MRC_CUDA_API MR_Cuda_PointsProjector * MR_Cuda_PointsProjector_MutableDynamicDowncastFromOrFail_MR_IPointsProjector ( MR_IPointsProjector * object)

Downcasts an instance of MR::IPointsProjector to a derived class MR::Cuda::PointsProjector. This is a dynamic downcast, it checks the type before casting. This version will throw if the target type is wrong. Parameter object can not be null. It is a single object. The reference to the parameter object might be preserved in the return value. The returned pointer will never be null. It is non-owning, do NOT destroy it.

◆ MR_Cuda_PointsProjector_MutableStaticDowncastFrom_MR_IPointsProjector()

MRC_CUDA_API MR_Cuda_PointsProjector * MR_Cuda_PointsProjector_MutableStaticDowncastFrom_MR_IPointsProjector ( MR_IPointsProjector * object)

Downcasts an instance of MR::IPointsProjector to a derived class MR::Cuda::PointsProjector. This is a static downcast, it trusts the programmer that the target type is correct. Results in UB and returns an invalid pointer otherwise. The reference to the parameter object might be preserved in the return value.

◆ MR_Cuda_PointsProjector_MutableUpcastTo_MR_IPointsProjector()

MRC_CUDA_API MR_IPointsProjector * MR_Cuda_PointsProjector_MutableUpcastTo_MR_IPointsProjector ( MR_Cuda_PointsProjector * object)

Upcasts an instance of MR::Cuda::PointsProjector to its base class MR::IPointsProjector. The reference to the parameter object might be preserved in the return value.

◆ MR_Cuda_PointsProjector_OffsetMutablePtr()

MRC_CUDA_API MR_Cuda_PointsProjector * MR_Cuda_PointsProjector_OffsetMutablePtr ( MR_Cuda_PointsProjector * ptr,
ptrdiff_t i )

Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the pointer points to an array element. The reference to the parameter ptr might be preserved in the return value.

◆ MR_Cuda_PointsProjector_OffsetPtr()

MRC_CUDA_API const MR_Cuda_PointsProjector * MR_Cuda_PointsProjector_OffsetPtr ( const MR_Cuda_PointsProjector * ptr,
ptrdiff_t i )

Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the pointer points to an array element. The reference to the parameter ptr might be preserved in the return value.

◆ MR_Cuda_PointsProjector_projectionsHeapBytes()

MRC_CUDA_API MR_uint64_t MR_Cuda_PointsProjector_projectionsHeapBytes ( const MR_Cuda_PointsProjector * _this,
MR_uint64_t numProjections )

Returns amount of additional memory needed to compute projections Generated from method MR::Cuda::PointsProjector::projectionsHeapBytes. Parameter _this can not be null. It is a single object.

◆ MR_Cuda_PointsProjector_setPointCloud()

MRC_CUDA_API MR_expected_void_std_string * MR_Cuda_PointsProjector_setPointCloud ( MR_Cuda_PointsProjector * _this,
const MR_PointCloud * pointCloud )

sets the reference point cloud Generated from method MR::Cuda::PointsProjector::setPointCloud. Parameter _this can not be null. It is a single object. Parameter pointCloud can not be null. It is a single object. Never returns null. Returns an instance allocated on the heap! Must call MR_expected_void_std_string_Destroy() to free it when you're done using it.

◆ MR_Cuda_PointsProjector_StaticDowncastFrom_MR_IPointsProjector()

MRC_CUDA_API const MR_Cuda_PointsProjector * MR_Cuda_PointsProjector_StaticDowncastFrom_MR_IPointsProjector ( const MR_IPointsProjector * object)

Downcasts an instance of MR::IPointsProjector to a derived class MR::Cuda::PointsProjector. This is a static downcast, it trusts the programmer that the target type is correct. Results in UB and returns an invalid pointer otherwise. This version is acting on mutable pointers. The reference to the parameter object might be preserved in the return value.

◆ MR_Cuda_PointsProjector_UpcastTo_MR_IPointsProjector()

MRC_CUDA_API const MR_IPointsProjector * MR_Cuda_PointsProjector_UpcastTo_MR_IPointsProjector ( const MR_Cuda_PointsProjector * object)

Upcasts an instance of MR::Cuda::PointsProjector to its base class MR::IPointsProjector. This version is acting on mutable pointers. The reference to the parameter object might be preserved in the return value.