MeshLib C Docs
Loading...
Searching...
No Matches
MRCudaPointsToMeshProjector.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_PointsToMeshProjector MR_Cuda_PointsToMeshProjector

Functions

MRC_CUDA_API MR_Cuda_PointsToMeshProjectorMR_Cuda_PointsToMeshProjector_DefaultConstruct (void)
MRC_CUDA_API MR_Cuda_PointsToMeshProjectorMR_Cuda_PointsToMeshProjector_DefaultConstructArray (size_t num_elems)
MRC_CUDA_API const MR_Cuda_PointsToMeshProjectorMR_Cuda_PointsToMeshProjector_OffsetPtr (const MR_Cuda_PointsToMeshProjector *ptr, ptrdiff_t i)
MRC_CUDA_API MR_Cuda_PointsToMeshProjectorMR_Cuda_PointsToMeshProjector_OffsetMutablePtr (MR_Cuda_PointsToMeshProjector *ptr, ptrdiff_t i)
MRC_CUDA_API const MR_IPointsToMeshProjectorMR_Cuda_PointsToMeshProjector_UpcastTo_MR_IPointsToMeshProjector (const MR_Cuda_PointsToMeshProjector *object)
MRC_CUDA_API MR_IPointsToMeshProjectorMR_Cuda_PointsToMeshProjector_MutableUpcastTo_MR_IPointsToMeshProjector (MR_Cuda_PointsToMeshProjector *object)
MRC_CUDA_API const MR_Cuda_PointsToMeshProjectorMR_Cuda_PointsToMeshProjector_StaticDowncastFrom_MR_IPointsToMeshProjector (const MR_IPointsToMeshProjector *object)
MRC_CUDA_API MR_Cuda_PointsToMeshProjectorMR_Cuda_PointsToMeshProjector_MutableStaticDowncastFrom_MR_IPointsToMeshProjector (MR_IPointsToMeshProjector *object)
MRC_CUDA_API const MR_Cuda_PointsToMeshProjectorMR_Cuda_PointsToMeshProjector_DynamicDowncastFrom_MR_IPointsToMeshProjector (const MR_IPointsToMeshProjector *object)
MRC_CUDA_API MR_Cuda_PointsToMeshProjectorMR_Cuda_PointsToMeshProjector_MutableDynamicDowncastFrom_MR_IPointsToMeshProjector (MR_IPointsToMeshProjector *object)
MRC_CUDA_API const MR_Cuda_PointsToMeshProjectorMR_Cuda_PointsToMeshProjector_DynamicDowncastFromOrFail_MR_IPointsToMeshProjector (const MR_IPointsToMeshProjector *object)
MRC_CUDA_API MR_Cuda_PointsToMeshProjectorMR_Cuda_PointsToMeshProjector_MutableDynamicDowncastFromOrFail_MR_IPointsToMeshProjector (MR_IPointsToMeshProjector *object)
MRC_CUDA_API MR_Cuda_PointsToMeshProjectorMR_Cuda_PointsToMeshProjector_ConstructFromAnother (MR_PassBy _other_pass_by, MR_Cuda_PointsToMeshProjector *_other)
MRC_CUDA_API void MR_Cuda_PointsToMeshProjector_Destroy (const MR_Cuda_PointsToMeshProjector *_this)
 Destroys a heap-allocated instance of MR_Cuda_PointsToMeshProjector. Does nothing if the pointer is null.
MRC_CUDA_API void MR_Cuda_PointsToMeshProjector_DestroyArray (const MR_Cuda_PointsToMeshProjector *_this)
 Destroys a heap-allocated array of MR_Cuda_PointsToMeshProjector. Does nothing if the pointer is null.
MRC_CUDA_API MR_Cuda_PointsToMeshProjectorMR_Cuda_PointsToMeshProjector_AssignFromAnother (MR_Cuda_PointsToMeshProjector *_this, MR_PassBy _other_pass_by, MR_Cuda_PointsToMeshProjector *_other)
MRC_CUDA_API void MR_Cuda_PointsToMeshProjector_updateMeshData (MR_Cuda_PointsToMeshProjector *_this, const MR_Mesh *mesh)
MRC_CUDA_API void MR_Cuda_PointsToMeshProjector_findProjections (MR_Cuda_PointsToMeshProjector *_this, MR_std_vector_MR_MeshProjectionResult *res, const MR_std_vector_MR_Vector3f *points, const MR_AffineXf3f *objXf, const MR_AffineXf3f *refObjXf, float upDistLimitSq, float loDistLimitSq)
 Computes the closest point on mesh to each of given points.
MRC_CUDA_API MR_uint64_t MR_Cuda_PointsToMeshProjector_projectionsHeapBytes (const MR_Cuda_PointsToMeshProjector *_this, MR_uint64_t numProjections)

Typedef Documentation

◆ MR_Cuda_PointsToMeshProjector

Computes the closest point on mesh to each of given points on GPU. It caches data that necessary for computing Generated from class MR::Cuda::PointsToMeshProjector. Base classes: Direct: (non-virtual) MR::IPointsToMeshProjector 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_PointsToMeshProjector_AssignFromAnother()

MRC_CUDA_API MR_Cuda_PointsToMeshProjector * MR_Cuda_PointsToMeshProjector_AssignFromAnother ( MR_Cuda_PointsToMeshProjector * _this,
MR_PassBy _other_pass_by,
MR_Cuda_PointsToMeshProjector * _other )

Generated from method MR::Cuda::PointsToMeshProjector::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_PointsToMeshProjector_ConstructFromAnother()

MRC_CUDA_API MR_Cuda_PointsToMeshProjector * MR_Cuda_PointsToMeshProjector_ConstructFromAnother ( MR_PassBy _other_pass_by,
MR_Cuda_PointsToMeshProjector * _other )

Generated from constructor MR::Cuda::PointsToMeshProjector::PointsToMeshProjector. 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_PointsToMeshProjector_Destroy() to free it when you're done using it.

◆ MR_Cuda_PointsToMeshProjector_DefaultConstruct()

MRC_CUDA_API MR_Cuda_PointsToMeshProjector * MR_Cuda_PointsToMeshProjector_DefaultConstruct ( void )

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

◆ MR_Cuda_PointsToMeshProjector_DefaultConstructArray()

MRC_CUDA_API MR_Cuda_PointsToMeshProjector * MR_Cuda_PointsToMeshProjector_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_PointsToMeshProjector_DestroyArray(). Use MR_Cuda_PointsToMeshProjector_OffsetMutablePtr() and MR_Cuda_PointsToMeshProjector_OffsetPtr() to access the array elements.

◆ MR_Cuda_PointsToMeshProjector_Destroy()

MRC_CUDA_API void MR_Cuda_PointsToMeshProjector_Destroy ( const MR_Cuda_PointsToMeshProjector * _this)

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

◆ MR_Cuda_PointsToMeshProjector_DestroyArray()

MRC_CUDA_API void MR_Cuda_PointsToMeshProjector_DestroyArray ( const MR_Cuda_PointsToMeshProjector * _this)

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

◆ MR_Cuda_PointsToMeshProjector_DynamicDowncastFrom_MR_IPointsToMeshProjector()

MRC_CUDA_API const MR_Cuda_PointsToMeshProjector * MR_Cuda_PointsToMeshProjector_DynamicDowncastFrom_MR_IPointsToMeshProjector ( const MR_IPointsToMeshProjector * object)

Downcasts an instance of MR::IPointsToMeshProjector to a derived class MR::Cuda::PointsToMeshProjector. 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_PointsToMeshProjector_DynamicDowncastFromOrFail_MR_IPointsToMeshProjector()

MRC_CUDA_API const MR_Cuda_PointsToMeshProjector * MR_Cuda_PointsToMeshProjector_DynamicDowncastFromOrFail_MR_IPointsToMeshProjector ( const MR_IPointsToMeshProjector * object)

Downcasts an instance of MR::IPointsToMeshProjector to a derived class MR::Cuda::PointsToMeshProjector. 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_PointsToMeshProjector_findProjections()

MRC_CUDA_API void MR_Cuda_PointsToMeshProjector_findProjections ( MR_Cuda_PointsToMeshProjector * _this,
MR_std_vector_MR_MeshProjectionResult * res,
const MR_std_vector_MR_Vector3f * points,
const MR_AffineXf3f * objXf,
const MR_AffineXf3f * refObjXf,
float upDistLimitSq,
float loDistLimitSq )

Computes the closest point on mesh to each of given points.

Parameters
resvector pf projections
pointsvector of points to project
objXftransform applied to points
refObjXftransform applied to referencing mesh
upDistLimitSqmaximal squared distance from point to mesh
loDistLimitSqminimal squared distance from point to mesh

Generated from method MR::Cuda::PointsToMeshProjector::findProjections. Parameter _this can not be null. It is a single object. Parameter res can not be null. It is a single object. Parameter points can not be null. It is a single object.

◆ MR_Cuda_PointsToMeshProjector_MutableDynamicDowncastFrom_MR_IPointsToMeshProjector()

MRC_CUDA_API MR_Cuda_PointsToMeshProjector * MR_Cuda_PointsToMeshProjector_MutableDynamicDowncastFrom_MR_IPointsToMeshProjector ( MR_IPointsToMeshProjector * object)

Downcasts an instance of MR::IPointsToMeshProjector to a derived class MR::Cuda::PointsToMeshProjector. 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_PointsToMeshProjector_MutableDynamicDowncastFromOrFail_MR_IPointsToMeshProjector()

MRC_CUDA_API MR_Cuda_PointsToMeshProjector * MR_Cuda_PointsToMeshProjector_MutableDynamicDowncastFromOrFail_MR_IPointsToMeshProjector ( MR_IPointsToMeshProjector * object)

Downcasts an instance of MR::IPointsToMeshProjector to a derived class MR::Cuda::PointsToMeshProjector. 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_PointsToMeshProjector_MutableStaticDowncastFrom_MR_IPointsToMeshProjector()

MRC_CUDA_API MR_Cuda_PointsToMeshProjector * MR_Cuda_PointsToMeshProjector_MutableStaticDowncastFrom_MR_IPointsToMeshProjector ( MR_IPointsToMeshProjector * object)

Downcasts an instance of MR::IPointsToMeshProjector to a derived class MR::Cuda::PointsToMeshProjector. 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_PointsToMeshProjector_MutableUpcastTo_MR_IPointsToMeshProjector()

MRC_CUDA_API MR_IPointsToMeshProjector * MR_Cuda_PointsToMeshProjector_MutableUpcastTo_MR_IPointsToMeshProjector ( MR_Cuda_PointsToMeshProjector * object)

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

◆ MR_Cuda_PointsToMeshProjector_OffsetMutablePtr()

MRC_CUDA_API MR_Cuda_PointsToMeshProjector * MR_Cuda_PointsToMeshProjector_OffsetMutablePtr ( MR_Cuda_PointsToMeshProjector * 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_PointsToMeshProjector_OffsetPtr()

MRC_CUDA_API const MR_Cuda_PointsToMeshProjector * MR_Cuda_PointsToMeshProjector_OffsetPtr ( const MR_Cuda_PointsToMeshProjector * 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_PointsToMeshProjector_projectionsHeapBytes()

MRC_CUDA_API MR_uint64_t MR_Cuda_PointsToMeshProjector_projectionsHeapBytes ( const MR_Cuda_PointsToMeshProjector * _this,
MR_uint64_t numProjections )

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

◆ MR_Cuda_PointsToMeshProjector_StaticDowncastFrom_MR_IPointsToMeshProjector()

MRC_CUDA_API const MR_Cuda_PointsToMeshProjector * MR_Cuda_PointsToMeshProjector_StaticDowncastFrom_MR_IPointsToMeshProjector ( const MR_IPointsToMeshProjector * object)

Downcasts an instance of MR::IPointsToMeshProjector to a derived class MR::Cuda::PointsToMeshProjector. 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_PointsToMeshProjector_UpcastTo_MR_IPointsToMeshProjector()

MRC_CUDA_API const MR_IPointsToMeshProjector * MR_Cuda_PointsToMeshProjector_UpcastTo_MR_IPointsToMeshProjector ( const MR_Cuda_PointsToMeshProjector * object)

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

◆ MR_Cuda_PointsToMeshProjector_updateMeshData()

MRC_CUDA_API void MR_Cuda_PointsToMeshProjector_updateMeshData ( MR_Cuda_PointsToMeshProjector * _this,
const MR_Mesh * mesh )

update all data related to the referencing mesh Generated from method MR::Cuda::PointsToMeshProjector::updateMeshData. Parameter _this can not be null. It is a single object.