MeshLib C Docs
Loading...
Searching...
No Matches
MRCameraPointsTriangulation.h File Reference
#include <MRCMesh/MREnums.h>
#include <MRCMesh/MRMatrix3.h>
#include <MRCMisc/exports.h>
#include <stddef.h>

Go to the source code of this file.

Typedefs

typedef struct MR_MeshTopology MR_MeshTopology
typedef struct MR_CameraPointsTriangulationSettings MR_CameraPointsTriangulationSettings
typedef enum MR_AreaStabilizer MR_AreaStabilizer
 how the stabilizer of an inner vertex depends on the area of its neighborhood in the image plane
typedef struct MR_SmoothCameraMeshDepthSettings MR_SmoothCameraMeshDepthSettings

Enumerations

enum  MR_AreaStabilizer { MR_AreaStabilizer_Uniform = 0 , MR_AreaStabilizer_Area = 1 , MR_AreaStabilizer_AreaSq = 2 }
 how the stabilizer of an inner vertex depends on the area of its neighborhood in the image plane More...

Functions

MRC_API const MR_Matrix3fMR_CameraPointsTriangulationSettings_Get_intrinsics (const MR_CameraPointsTriangulationSettings *_this)
MRC_API void MR_CameraPointsTriangulationSettings_Set_intrinsics (MR_CameraPointsTriangulationSettings *_this, MR_Matrix3f value)
MRC_API MR_Matrix3fMR_CameraPointsTriangulationSettings_GetMutable_intrinsics (MR_CameraPointsTriangulationSettings *_this)
MRC_API const float * MR_CameraPointsTriangulationSettings_Get_weldPixels (const MR_CameraPointsTriangulationSettings *_this)
MRC_API void MR_CameraPointsTriangulationSettings_Set_weldPixels (MR_CameraPointsTriangulationSettings *_this, float value)
MRC_API float * MR_CameraPointsTriangulationSettings_GetMutable_weldPixels (MR_CameraPointsTriangulationSettings *_this)
MRC_API MR_VertMap *const * MR_CameraPointsTriangulationSettings_Get_outSmallestMap (const MR_CameraPointsTriangulationSettings *_this)
MRC_API void MR_CameraPointsTriangulationSettings_Set_outSmallestMap (MR_CameraPointsTriangulationSettings *_this, MR_VertMap *value)
MRC_API MR_VertMap ** MR_CameraPointsTriangulationSettings_GetMutable_outSmallestMap (MR_CameraPointsTriangulationSettings *_this)
MRC_API MR_VertCoords *const * MR_CameraPointsTriangulationSettings_Get_outProjectedPoints (const MR_CameraPointsTriangulationSettings *_this)
MRC_API void MR_CameraPointsTriangulationSettings_Set_outProjectedPoints (MR_CameraPointsTriangulationSettings *_this, MR_VertCoords *value)
MRC_API MR_VertCoords ** MR_CameraPointsTriangulationSettings_GetMutable_outProjectedPoints (MR_CameraPointsTriangulationSettings *_this)
MRC_API MR_CameraPointsTriangulationSettingsMR_CameraPointsTriangulationSettings_DefaultConstruct (void)
MRC_API MR_CameraPointsTriangulationSettingsMR_CameraPointsTriangulationSettings_DefaultConstructArray (size_t num_elems)
MRC_API MR_CameraPointsTriangulationSettingsMR_CameraPointsTriangulationSettings_ConstructFrom (MR_Matrix3f intrinsics, float weldPixels, MR_VertMap *outSmallestMap, MR_VertCoords *outProjectedPoints)
MRC_API const MR_CameraPointsTriangulationSettingsMR_CameraPointsTriangulationSettings_OffsetPtr (const MR_CameraPointsTriangulationSettings *ptr, ptrdiff_t i)
MRC_API MR_CameraPointsTriangulationSettingsMR_CameraPointsTriangulationSettings_OffsetMutablePtr (MR_CameraPointsTriangulationSettings *ptr, ptrdiff_t i)
MRC_API MR_CameraPointsTriangulationSettingsMR_CameraPointsTriangulationSettings_ConstructFromAnother (const MR_CameraPointsTriangulationSettings *_other)
MRC_API void MR_CameraPointsTriangulationSettings_Destroy (const MR_CameraPointsTriangulationSettings *_this)
 Destroys a heap-allocated instance of MR_CameraPointsTriangulationSettings. Does nothing if the pointer is null.
MRC_API void MR_CameraPointsTriangulationSettings_DestroyArray (const MR_CameraPointsTriangulationSettings *_this)
 Destroys a heap-allocated array of MR_CameraPointsTriangulationSettings. Does nothing if the pointer is null.
MRC_API MR_CameraPointsTriangulationSettingsMR_CameraPointsTriangulationSettings_AssignFromAnother (MR_CameraPointsTriangulationSettings *_this, const MR_CameraPointsTriangulationSettings *_other)
MRC_API MR_expected_MR_Mesh_std_stringMR_triangulateCameraPoints_const_MR_VertCoords_ref (const MR_VertCoords *points, const MR_CameraPointsTriangulationSettings *settings, const MR_std_function_bool_from_float *cb)
MRC_API MR_expected_MR_Mesh_std_stringMR_triangulateCameraPoints_const_MR_PointCloud_ref (const MR_PointCloud *cloud, const MR_CameraPointsTriangulationSettings *settings, const MR_std_function_bool_from_float *cb)
MRC_API MR_expected_MR_Mesh_std_stringMR_triangulateCameraPoints_MR_PointCloud_rvalue_ref (MR_PointCloud *cloud, const MR_CameraPointsTriangulationSettings *settings, const MR_std_function_bool_from_float *cb)
MRC_API const MR_VertBitSet *const * MR_SmoothCameraMeshDepthSettings_Get_region (const MR_SmoothCameraMeshDepthSettings *_this)
MRC_API void MR_SmoothCameraMeshDepthSettings_Set_region (MR_SmoothCameraMeshDepthSettings *_this, const MR_VertBitSet *value)
MRC_API const MR_VertBitSet ** MR_SmoothCameraMeshDepthSettings_GetMutable_region (MR_SmoothCameraMeshDepthSettings *_this)
MRC_API const MR_EdgeWeightsMR_SmoothCameraMeshDepthSettings_Get_edgeWeights (const MR_SmoothCameraMeshDepthSettings *_this)
MRC_API void MR_SmoothCameraMeshDepthSettings_Set_edgeWeights (MR_SmoothCameraMeshDepthSettings *_this, MR_EdgeWeights value)
MRC_API MR_EdgeWeightsMR_SmoothCameraMeshDepthSettings_GetMutable_edgeWeights (MR_SmoothCameraMeshDepthSettings *_this)
MRC_API const float * MR_SmoothCameraMeshDepthSettings_Get_bdStabilizer (const MR_SmoothCameraMeshDepthSettings *_this)
MRC_API void MR_SmoothCameraMeshDepthSettings_Set_bdStabilizer (MR_SmoothCameraMeshDepthSettings *_this, float value)
MRC_API float * MR_SmoothCameraMeshDepthSettings_GetMutable_bdStabilizer (MR_SmoothCameraMeshDepthSettings *_this)
MRC_API const float * MR_SmoothCameraMeshDepthSettings_Get_innerStabilizer (const MR_SmoothCameraMeshDepthSettings *_this)
MRC_API void MR_SmoothCameraMeshDepthSettings_Set_innerStabilizer (MR_SmoothCameraMeshDepthSettings *_this, float value)
MRC_API float * MR_SmoothCameraMeshDepthSettings_GetMutable_innerStabilizer (MR_SmoothCameraMeshDepthSettings *_this)
MRC_API const MR_AreaStabilizerMR_SmoothCameraMeshDepthSettings_Get_innerStabilizerType (const MR_SmoothCameraMeshDepthSettings *_this)
MRC_API void MR_SmoothCameraMeshDepthSettings_Set_innerStabilizerType (MR_SmoothCameraMeshDepthSettings *_this, MR_AreaStabilizer value)
MRC_API MR_AreaStabilizerMR_SmoothCameraMeshDepthSettings_GetMutable_innerStabilizerType (MR_SmoothCameraMeshDepthSettings *_this)
MRC_API MR_SmoothCameraMeshDepthSettingsMR_SmoothCameraMeshDepthSettings_DefaultConstruct (void)
MRC_API MR_SmoothCameraMeshDepthSettingsMR_SmoothCameraMeshDepthSettings_DefaultConstructArray (size_t num_elems)
MRC_API MR_SmoothCameraMeshDepthSettingsMR_SmoothCameraMeshDepthSettings_ConstructFrom (const MR_VertBitSet *region, MR_EdgeWeights edgeWeights, float bdStabilizer, float innerStabilizer, MR_AreaStabilizer innerStabilizerType)
MRC_API const MR_SmoothCameraMeshDepthSettingsMR_SmoothCameraMeshDepthSettings_OffsetPtr (const MR_SmoothCameraMeshDepthSettings *ptr, ptrdiff_t i)
MRC_API MR_SmoothCameraMeshDepthSettingsMR_SmoothCameraMeshDepthSettings_OffsetMutablePtr (MR_SmoothCameraMeshDepthSettings *ptr, ptrdiff_t i)
MRC_API MR_SmoothCameraMeshDepthSettingsMR_SmoothCameraMeshDepthSettings_ConstructFromAnother (const MR_SmoothCameraMeshDepthSettings *_other)
MRC_API void MR_SmoothCameraMeshDepthSettings_Destroy (const MR_SmoothCameraMeshDepthSettings *_this)
 Destroys a heap-allocated instance of MR_SmoothCameraMeshDepthSettings. Does nothing if the pointer is null.
MRC_API void MR_SmoothCameraMeshDepthSettings_DestroyArray (const MR_SmoothCameraMeshDepthSettings *_this)
 Destroys a heap-allocated array of MR_SmoothCameraMeshDepthSettings. Does nothing if the pointer is null.
MRC_API MR_SmoothCameraMeshDepthSettingsMR_SmoothCameraMeshDepthSettings_AssignFromAnother (MR_SmoothCameraMeshDepthSettings *_this, const MR_SmoothCameraMeshDepthSettings *_other)
MRC_API void MR_smoothCameraMeshDepth_2 (MR_Mesh *mesh, const MR_SmoothCameraMeshDepthSettings *settings)
MRC_API void MR_smoothCameraMeshDepth_3 (const MR_MeshTopology *topology, MR_VertCoords *points, const MR_SmoothCameraMeshDepthSettings *settings)

Typedef Documentation

◆ MR_AreaStabilizer

how the stabilizer of an inner vertex depends on the area of its neighborhood in the image plane

◆ MR_CameraPointsTriangulationSettings

Generated from class MR::CameraPointsTriangulationSettings. 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).

◆ MR_MeshTopology

Mesh Topology Generated from class MR::MeshTopology. 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).

◆ MR_SmoothCameraMeshDepthSettings

Generated from class MR::SmoothCameraMeshDepthSettings. 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).

Enumeration Type Documentation

◆ MR_AreaStabilizer

how the stabilizer of an inner vertex depends on the area of its neighborhood in the image plane

Enumerator
MR_AreaStabilizer_Uniform 

all inner vertices have the same stabilizer

proportional to the neighborhood area (dense regions are smoothed the same as sparse ones)

MR_AreaStabilizer_Area 

proportional to the squared neighborhood area (dense regions are smoothed more than sparse ones)

MR_AreaStabilizer_AreaSq 

Function Documentation

◆ MR_CameraPointsTriangulationSettings_AssignFromAnother()

MRC_API MR_CameraPointsTriangulationSettings * MR_CameraPointsTriangulationSettings_AssignFromAnother ( MR_CameraPointsTriangulationSettings * _this,
const MR_CameraPointsTriangulationSettings * _other )

Generated from method MR::CameraPointsTriangulationSettings::operator=. Parameter _this can not be null. It is a single object. Parameter _other 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_CameraPointsTriangulationSettings_ConstructFrom()

MRC_API MR_CameraPointsTriangulationSettings * MR_CameraPointsTriangulationSettings_ConstructFrom ( MR_Matrix3f intrinsics,
float weldPixels,
MR_VertMap * outSmallestMap,
MR_VertCoords * outProjectedPoints )

Constructs MR::CameraPointsTriangulationSettings elementwise. The reference to the parameter intrinsics might be preserved in the constructed object. The reference to the parameter outSmallestMap might be preserved in the constructed object. The reference to the parameter outProjectedPoints might be preserved in the constructed object. Never returns null. Returns an instance allocated on the heap! Must call MR_CameraPointsTriangulationSettings_Destroy() to free it when you're done using it. When this function is called, this object will drop any object references it held previously.

◆ MR_CameraPointsTriangulationSettings_ConstructFromAnother()

MRC_API MR_CameraPointsTriangulationSettings * MR_CameraPointsTriangulationSettings_ConstructFromAnother ( const MR_CameraPointsTriangulationSettings * _other)

Generated from constructor MR::CameraPointsTriangulationSettings::CameraPointsTriangulationSettings. Parameter _other 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 the constructed object. Never returns null. Returns an instance allocated on the heap! Must call MR_CameraPointsTriangulationSettings_Destroy() to free it when you're done using it.

◆ MR_CameraPointsTriangulationSettings_DefaultConstruct()

MRC_API MR_CameraPointsTriangulationSettings * MR_CameraPointsTriangulationSettings_DefaultConstruct ( void )

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

◆ MR_CameraPointsTriangulationSettings_DefaultConstructArray()

MRC_API MR_CameraPointsTriangulationSettings * MR_CameraPointsTriangulationSettings_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_CameraPointsTriangulationSettings_DestroyArray(). Use MR_CameraPointsTriangulationSettings_OffsetMutablePtr() and MR_CameraPointsTriangulationSettings_OffsetPtr() to access the array elements.

◆ MR_CameraPointsTriangulationSettings_Destroy()

MRC_API void MR_CameraPointsTriangulationSettings_Destroy ( const MR_CameraPointsTriangulationSettings * _this)

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

◆ MR_CameraPointsTriangulationSettings_DestroyArray()

MRC_API void MR_CameraPointsTriangulationSettings_DestroyArray ( const MR_CameraPointsTriangulationSettings * _this)

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

◆ MR_CameraPointsTriangulationSettings_Get_intrinsics()

MRC_API const MR_Matrix3f * MR_CameraPointsTriangulationSettings_Get_intrinsics ( const MR_CameraPointsTriangulationSettings * _this)

camera intrinsic matrix: the image-plane (pixel) position of a point p in camera space is ( K * p ).xy / ( K * p ).z Returns a pointer to a member variable of class MR::CameraPointsTriangulationSettings named intrinsics. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it. The reference to this object might be preserved as the return value.

◆ MR_CameraPointsTriangulationSettings_Get_outProjectedPoints()

MRC_API MR_VertCoords *const * MR_CameraPointsTriangulationSettings_Get_outProjectedPoints ( const MR_CameraPointsTriangulationSettings * _this)

if not null, receives the image-plane coordinates of all points as ( x, -y, 1 ) with y mirrored, for welded points these are the coordinates of the averaged position, for invalid cloud points zeros Returns a pointer to a member variable of class MR::CameraPointsTriangulationSettings named outProjectedPoints. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it. The reference to this object might be preserved as the return value.

◆ MR_CameraPointsTriangulationSettings_Get_outSmallestMap()

MRC_API MR_VertMap *const * MR_CameraPointsTriangulationSettings_Get_outSmallestMap ( const MR_CameraPointsTriangulationSettings * _this)

if not null, receives the result of findSmallestCloseVertices on the image-plane positions: each point is mapped to the point it was merged into (or to itself); left unchanged if weldPixels <= 0 Returns a pointer to a member variable of class MR::CameraPointsTriangulationSettings named outSmallestMap. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it. The reference to this object might be preserved as the return value.

◆ MR_CameraPointsTriangulationSettings_Get_weldPixels()

MRC_API const float * MR_CameraPointsTriangulationSettings_Get_weldPixels ( const MR_CameraPointsTriangulationSettings * _this)

points closer than this distance in the image plane are merged into one vertex located at their average position; non-positive value disables merging Returns a pointer to a member variable of class MR::CameraPointsTriangulationSettings named weldPixels. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it. The reference to this object might be preserved as the return value.

◆ MR_CameraPointsTriangulationSettings_GetMutable_intrinsics()

MRC_API MR_Matrix3f * MR_CameraPointsTriangulationSettings_GetMutable_intrinsics ( MR_CameraPointsTriangulationSettings * _this)

camera intrinsic matrix: the image-plane (pixel) position of a point p in camera space is ( K * p ).xy / ( K * p ).z Returns a mutable pointer to a member variable of class MR::CameraPointsTriangulationSettings named intrinsics. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it. The reference to this object might be preserved as the return value.

◆ MR_CameraPointsTriangulationSettings_GetMutable_outProjectedPoints()

MRC_API MR_VertCoords ** MR_CameraPointsTriangulationSettings_GetMutable_outProjectedPoints ( MR_CameraPointsTriangulationSettings * _this)

if not null, receives the image-plane coordinates of all points as ( x, -y, 1 ) with y mirrored, for welded points these are the coordinates of the averaged position, for invalid cloud points zeros Returns a mutable pointer to a member variable of class MR::CameraPointsTriangulationSettings named outProjectedPoints. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it. The reference to this object might be preserved as the return value.

◆ MR_CameraPointsTriangulationSettings_GetMutable_outSmallestMap()

MRC_API MR_VertMap ** MR_CameraPointsTriangulationSettings_GetMutable_outSmallestMap ( MR_CameraPointsTriangulationSettings * _this)

if not null, receives the result of findSmallestCloseVertices on the image-plane positions: each point is mapped to the point it was merged into (or to itself); left unchanged if weldPixels <= 0 Returns a mutable pointer to a member variable of class MR::CameraPointsTriangulationSettings named outSmallestMap. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it. The reference to this object might be preserved as the return value.

◆ MR_CameraPointsTriangulationSettings_GetMutable_weldPixels()

MRC_API float * MR_CameraPointsTriangulationSettings_GetMutable_weldPixels ( MR_CameraPointsTriangulationSettings * _this)

points closer than this distance in the image plane are merged into one vertex located at their average position; non-positive value disables merging Returns a mutable pointer to a member variable of class MR::CameraPointsTriangulationSettings named weldPixels. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it. The reference to this object might be preserved as the return value.

◆ MR_CameraPointsTriangulationSettings_OffsetMutablePtr()

MRC_API MR_CameraPointsTriangulationSettings * MR_CameraPointsTriangulationSettings_OffsetMutablePtr ( MR_CameraPointsTriangulationSettings * 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_CameraPointsTriangulationSettings_OffsetPtr()

MRC_API const MR_CameraPointsTriangulationSettings * MR_CameraPointsTriangulationSettings_OffsetPtr ( const MR_CameraPointsTriangulationSettings * 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_CameraPointsTriangulationSettings_Set_intrinsics()

MRC_API void MR_CameraPointsTriangulationSettings_Set_intrinsics ( MR_CameraPointsTriangulationSettings * _this,
MR_Matrix3f value )

camera intrinsic matrix: the image-plane (pixel) position of a point p in camera space is ( K * p ).xy / ( K * p ).z Modifies a member variable of class MR::CameraPointsTriangulationSettings named intrinsics. Parameter _this can not be null. It is a single object. The reference to the parameter value might be preserved in this object in element intrinsics. When this function is called, this object will drop object references it held previously in intrinsics.

◆ MR_CameraPointsTriangulationSettings_Set_outProjectedPoints()

MRC_API void MR_CameraPointsTriangulationSettings_Set_outProjectedPoints ( MR_CameraPointsTriangulationSettings * _this,
MR_VertCoords * value )

if not null, receives the image-plane coordinates of all points as ( x, -y, 1 ) with y mirrored, for welded points these are the coordinates of the averaged position, for invalid cloud points zeros Modifies a member variable of class MR::CameraPointsTriangulationSettings named outProjectedPoints. Parameter _this can not be null. It is a single object. The reference to the parameter value might be preserved in this object in element outProjectedPoints. When this function is called, this object will drop object references it held previously in outProjectedPoints.

◆ MR_CameraPointsTriangulationSettings_Set_outSmallestMap()

MRC_API void MR_CameraPointsTriangulationSettings_Set_outSmallestMap ( MR_CameraPointsTriangulationSettings * _this,
MR_VertMap * value )

if not null, receives the result of findSmallestCloseVertices on the image-plane positions: each point is mapped to the point it was merged into (or to itself); left unchanged if weldPixels <= 0 Modifies a member variable of class MR::CameraPointsTriangulationSettings named outSmallestMap. Parameter _this can not be null. It is a single object. The reference to the parameter value might be preserved in this object in element outSmallestMap. When this function is called, this object will drop object references it held previously in outSmallestMap.

◆ MR_CameraPointsTriangulationSettings_Set_weldPixels()

MRC_API void MR_CameraPointsTriangulationSettings_Set_weldPixels ( MR_CameraPointsTriangulationSettings * _this,
float value )

points closer than this distance in the image plane are merged into one vertex located at their average position; non-positive value disables merging Modifies a member variable of class MR::CameraPointsTriangulationSettings named weldPixels. Parameter _this can not be null. It is a single object. When this function is called, this object will drop object references it held previously in weldPixels.

◆ MR_smoothCameraMeshDepth_2()

MRC_API void MR_smoothCameraMeshDepth_2 ( MR_Mesh * mesh,
const MR_SmoothCameraMeshDepthSettings * settings )

Reduces the depth noise of a mesh produced by triangulateCameraPoints (camera at the origin looking along +Z): the depth (z) field is made smooth by interpolateScalarsSmoothly with the stabilizers and edge weights given above (computed on the mesh projected in the image plane), and every vertex is moved along its viewing ray to the new depth, so the projection of the mesh in the image plane and its absence of self-intersections are preserved Generated from function MR::smoothCameraMeshDepth. Parameter mesh 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.

◆ MR_smoothCameraMeshDepth_3()

MRC_API void MR_smoothCameraMeshDepth_3 ( const MR_MeshTopology * topology,
MR_VertCoords * points,
const MR_SmoothCameraMeshDepthSettings * settings )

Generated from function MR::smoothCameraMeshDepth. Parameter topology 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.

◆ MR_SmoothCameraMeshDepthSettings_AssignFromAnother()

MRC_API MR_SmoothCameraMeshDepthSettings * MR_SmoothCameraMeshDepthSettings_AssignFromAnother ( MR_SmoothCameraMeshDepthSettings * _this,
const MR_SmoothCameraMeshDepthSettings * _other )

Generated from method MR::SmoothCameraMeshDepthSettings::operator=. Parameter _this can not be null. It is a single object. Parameter _other 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_SmoothCameraMeshDepthSettings_ConstructFrom()

MRC_API MR_SmoothCameraMeshDepthSettings * MR_SmoothCameraMeshDepthSettings_ConstructFrom ( const MR_VertBitSet * region,
MR_EdgeWeights edgeWeights,
float bdStabilizer,
float innerStabilizer,
MR_AreaStabilizer innerStabilizerType )

Constructs MR::SmoothCameraMeshDepthSettings elementwise. The reference to the parameter region might be preserved in the constructed object. The reference to the parameter edgeWeights might be preserved in the constructed object. The reference to the parameter innerStabilizerType might be preserved in the constructed object. Never returns null. Returns an instance allocated on the heap! Must call MR_SmoothCameraMeshDepthSettings_Destroy() to free it when you're done using it. When this function is called, this object will drop any object references it held previously.

◆ MR_SmoothCameraMeshDepthSettings_ConstructFromAnother()

MRC_API MR_SmoothCameraMeshDepthSettings * MR_SmoothCameraMeshDepthSettings_ConstructFromAnother ( const MR_SmoothCameraMeshDepthSettings * _other)

Generated from constructor MR::SmoothCameraMeshDepthSettings::SmoothCameraMeshDepthSettings. Parameter _other 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 the constructed object. Never returns null. Returns an instance allocated on the heap! Must call MR_SmoothCameraMeshDepthSettings_Destroy() to free it when you're done using it.

◆ MR_SmoothCameraMeshDepthSettings_DefaultConstruct()

MRC_API MR_SmoothCameraMeshDepthSettings * MR_SmoothCameraMeshDepthSettings_DefaultConstruct ( void )

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

◆ MR_SmoothCameraMeshDepthSettings_DefaultConstructArray()

MRC_API MR_SmoothCameraMeshDepthSettings * MR_SmoothCameraMeshDepthSettings_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_SmoothCameraMeshDepthSettings_DestroyArray(). Use MR_SmoothCameraMeshDepthSettings_OffsetMutablePtr() and MR_SmoothCameraMeshDepthSettings_OffsetPtr() to access the array elements.

◆ MR_SmoothCameraMeshDepthSettings_Destroy()

MRC_API void MR_SmoothCameraMeshDepthSettings_Destroy ( const MR_SmoothCameraMeshDepthSettings * _this)

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

◆ MR_SmoothCameraMeshDepthSettings_DestroyArray()

MRC_API void MR_SmoothCameraMeshDepthSettings_DestroyArray ( const MR_SmoothCameraMeshDepthSettings * _this)

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

◆ MR_SmoothCameraMeshDepthSettings_Get_bdStabilizer()

MRC_API const float * MR_SmoothCameraMeshDepthSettings_Get_bdStabilizer ( const MR_SmoothCameraMeshDepthSettings * _this)

stabilizer of every boundary vertex of the mesh: the more the value, the bigger attraction of the vertex to its measured depth Returns a pointer to a member variable of class MR::SmoothCameraMeshDepthSettings named bdStabilizer. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it. The reference to this object might be preserved as the return value.

◆ MR_SmoothCameraMeshDepthSettings_Get_edgeWeights()

MRC_API const MR_EdgeWeights * MR_SmoothCameraMeshDepthSettings_Get_edgeWeights ( const MR_SmoothCameraMeshDepthSettings * _this)

weights of edges in the equations, computed on the mesh projected in the image plane Returns a pointer to a member variable of class MR::SmoothCameraMeshDepthSettings named edgeWeights. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it. The reference to this object might be preserved as the return value.

◆ MR_SmoothCameraMeshDepthSettings_Get_innerStabilizer()

MRC_API const float * MR_SmoothCameraMeshDepthSettings_Get_innerStabilizer ( const MR_SmoothCameraMeshDepthSettings * _this)

average stabilizer of inner vertices Returns a pointer to a member variable of class MR::SmoothCameraMeshDepthSettings named innerStabilizer. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it. The reference to this object might be preserved as the return value.

◆ MR_SmoothCameraMeshDepthSettings_Get_innerStabilizerType()

MRC_API const MR_AreaStabilizer * MR_SmoothCameraMeshDepthSettings_Get_innerStabilizerType ( const MR_SmoothCameraMeshDepthSettings * _this)

distribution of innerStabilizer among inner vertices Returns a pointer to a member variable of class MR::SmoothCameraMeshDepthSettings named innerStabilizerType. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it. The reference to this object might be preserved as the return value.

◆ MR_SmoothCameraMeshDepthSettings_Get_region()

MRC_API const MR_VertBitSet *const * MR_SmoothCameraMeshDepthSettings_Get_region ( const MR_SmoothCameraMeshDepthSettings * _this)

vertices where the depth is smoothed, nullptr means all vertices Returns a pointer to a member variable of class MR::SmoothCameraMeshDepthSettings named region. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it. The reference to this object might be preserved as the return value.

◆ MR_SmoothCameraMeshDepthSettings_GetMutable_bdStabilizer()

MRC_API float * MR_SmoothCameraMeshDepthSettings_GetMutable_bdStabilizer ( MR_SmoothCameraMeshDepthSettings * _this)

stabilizer of every boundary vertex of the mesh: the more the value, the bigger attraction of the vertex to its measured depth Returns a mutable pointer to a member variable of class MR::SmoothCameraMeshDepthSettings named bdStabilizer. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it. The reference to this object might be preserved as the return value.

◆ MR_SmoothCameraMeshDepthSettings_GetMutable_edgeWeights()

MRC_API MR_EdgeWeights * MR_SmoothCameraMeshDepthSettings_GetMutable_edgeWeights ( MR_SmoothCameraMeshDepthSettings * _this)

weights of edges in the equations, computed on the mesh projected in the image plane Returns a mutable pointer to a member variable of class MR::SmoothCameraMeshDepthSettings named edgeWeights. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it. The reference to this object might be preserved as the return value.

◆ MR_SmoothCameraMeshDepthSettings_GetMutable_innerStabilizer()

MRC_API float * MR_SmoothCameraMeshDepthSettings_GetMutable_innerStabilizer ( MR_SmoothCameraMeshDepthSettings * _this)

average stabilizer of inner vertices Returns a mutable pointer to a member variable of class MR::SmoothCameraMeshDepthSettings named innerStabilizer. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it. The reference to this object might be preserved as the return value.

◆ MR_SmoothCameraMeshDepthSettings_GetMutable_innerStabilizerType()

MRC_API MR_AreaStabilizer * MR_SmoothCameraMeshDepthSettings_GetMutable_innerStabilizerType ( MR_SmoothCameraMeshDepthSettings * _this)

distribution of innerStabilizer among inner vertices Returns a mutable pointer to a member variable of class MR::SmoothCameraMeshDepthSettings named innerStabilizerType. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it. The reference to this object might be preserved as the return value.

◆ MR_SmoothCameraMeshDepthSettings_GetMutable_region()

MRC_API const MR_VertBitSet ** MR_SmoothCameraMeshDepthSettings_GetMutable_region ( MR_SmoothCameraMeshDepthSettings * _this)

vertices where the depth is smoothed, nullptr means all vertices Returns a mutable pointer to a member variable of class MR::SmoothCameraMeshDepthSettings named region. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it. The reference to this object might be preserved as the return value.

◆ MR_SmoothCameraMeshDepthSettings_OffsetMutablePtr()

MRC_API MR_SmoothCameraMeshDepthSettings * MR_SmoothCameraMeshDepthSettings_OffsetMutablePtr ( MR_SmoothCameraMeshDepthSettings * 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_SmoothCameraMeshDepthSettings_OffsetPtr()

MRC_API const MR_SmoothCameraMeshDepthSettings * MR_SmoothCameraMeshDepthSettings_OffsetPtr ( const MR_SmoothCameraMeshDepthSettings * 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_SmoothCameraMeshDepthSettings_Set_bdStabilizer()

MRC_API void MR_SmoothCameraMeshDepthSettings_Set_bdStabilizer ( MR_SmoothCameraMeshDepthSettings * _this,
float value )

stabilizer of every boundary vertex of the mesh: the more the value, the bigger attraction of the vertex to its measured depth Modifies a member variable of class MR::SmoothCameraMeshDepthSettings named bdStabilizer. Parameter _this can not be null. It is a single object. When this function is called, this object will drop object references it held previously in bdStabilizer.

◆ MR_SmoothCameraMeshDepthSettings_Set_edgeWeights()

MRC_API void MR_SmoothCameraMeshDepthSettings_Set_edgeWeights ( MR_SmoothCameraMeshDepthSettings * _this,
MR_EdgeWeights value )

weights of edges in the equations, computed on the mesh projected in the image plane Modifies a member variable of class MR::SmoothCameraMeshDepthSettings named edgeWeights. Parameter _this can not be null. It is a single object. The reference to the parameter value might be preserved in this object in element edgeWeights. When this function is called, this object will drop object references it held previously in edgeWeights.

◆ MR_SmoothCameraMeshDepthSettings_Set_innerStabilizer()

MRC_API void MR_SmoothCameraMeshDepthSettings_Set_innerStabilizer ( MR_SmoothCameraMeshDepthSettings * _this,
float value )

average stabilizer of inner vertices Modifies a member variable of class MR::SmoothCameraMeshDepthSettings named innerStabilizer. Parameter _this can not be null. It is a single object. When this function is called, this object will drop object references it held previously in innerStabilizer.

◆ MR_SmoothCameraMeshDepthSettings_Set_innerStabilizerType()

MRC_API void MR_SmoothCameraMeshDepthSettings_Set_innerStabilizerType ( MR_SmoothCameraMeshDepthSettings * _this,
MR_AreaStabilizer value )

distribution of innerStabilizer among inner vertices Modifies a member variable of class MR::SmoothCameraMeshDepthSettings named innerStabilizerType. Parameter _this can not be null. It is a single object. The reference to the parameter value might be preserved in this object in element innerStabilizerType. When this function is called, this object will drop object references it held previously in innerStabilizerType.

◆ MR_SmoothCameraMeshDepthSettings_Set_region()

MRC_API void MR_SmoothCameraMeshDepthSettings_Set_region ( MR_SmoothCameraMeshDepthSettings * _this,
const MR_VertBitSet * value )

vertices where the depth is smoothed, nullptr means all vertices Modifies a member variable of class MR::SmoothCameraMeshDepthSettings named region. Parameter _this can not be null. It is a single object. The reference to the parameter value might be preserved in this object in element region. When this function is called, this object will drop object references it held previously in region.

◆ MR_triangulateCameraPoints_const_MR_PointCloud_ref()

MRC_API MR_expected_MR_Mesh_std_string * MR_triangulateCameraPoints_const_MR_PointCloud_ref ( const MR_PointCloud * cloud,
const MR_CameraPointsTriangulationSettings * settings,
const MR_std_function_bool_from_float * cb )

same as above, but only valid points of the cloud participate in the triangulation (invalid points become invalid vertices) Generated from function MR::triangulateCameraPoints. Parameter cloud can not be null. It is a single object. Parameter settings can not be null. It is a single object. Parameter cb is a single object. Parameter cb 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_MR_Mesh_std_string_Destroy() to free it when you're done using it.

◆ MR_triangulateCameraPoints_const_MR_VertCoords_ref()

MRC_API MR_expected_MR_Mesh_std_string * MR_triangulateCameraPoints_const_MR_VertCoords_ref ( const MR_VertCoords * points,
const MR_CameraPointsTriangulationSettings * settings,
const MR_std_function_bool_from_float * cb )

Creates a mesh from points seen by one pinhole camera (e.g. the points obtained by stereo triangulation of a single frame): points are projected in the image plane, Delaunay-triangulated there (see delaunayTriangulationXY), and the triangulation is lifted back on the original 3D points, so the result is a height field over the image without self-intersections

Parameters
pointscoordinates in the camera space (the camera is at the origin and looks along +Z), all points must have positive z
Returns
mesh with triangles oriented toward the camera; vertex ids are the same as in points, and the points merged into others by welding become invalid vertices; the triangles bridging holes in the sampling or depth steps can be removed afterwards by deleteFacesWithLongEdges Generated from function MR::triangulateCameraPoints. Parameter points can not be null. It is a single object. Parameter settings can not be null. It is a single object. Parameter cb is a single object. Parameter cb 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_MR_Mesh_std_string_Destroy() to free it when you're done using it.

◆ MR_triangulateCameraPoints_MR_PointCloud_rvalue_ref()

MRC_API MR_expected_MR_Mesh_std_string * MR_triangulateCameraPoints_MR_PointCloud_rvalue_ref ( MR_PointCloud * cloud,
const MR_CameraPointsTriangulationSettings * settings,
const MR_std_function_bool_from_float * cb )

same as above, but moves cloud points into the resulting mesh instead of copying them Generated from function MR::triangulateCameraPoints. Parameter cloud can not be null. It is a single object. In C++ this parameter takes an rvalue reference: it might invalidate the passed object, but if your pointer is owning, you must still destroy it manually later. Parameter settings can not be null. It is a single object. Parameter cb is a single object. Parameter cb 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_MR_Mesh_std_string_Destroy() to free it when you're done using it.