MeshLib C Docs
Loading...
Searching...
No Matches
MRPointCloudTriangulationHelpers.h File Reference
#include <MRCMesh/MRId.h>
#include <MRCMisc/common.h>
#include <MRCMisc/exports.h>
#include <stdbool.h>
#include <stddef.h>
#include <stdint.h>

Go to the source code of this file.

Typedefs

typedef struct MR_FewSmallest_MR_PointsProjectionResult MR_FewSmallest_MR_PointsProjectionResult
 
typedef struct MR_PointCloud MR_PointCloud
 
typedef struct MR_VertCoords MR_VertCoords
 
typedef struct MR_std_function_bool_from_float MR_std_function_bool_from_float
 
typedef struct MR_std_optional_MR_AllLocalTriangulations MR_std_optional_MR_AllLocalTriangulations
 
typedef struct MR_std_optional_MR_VertBitSet MR_std_optional_MR_VertBitSet
 
typedef struct MR_std_optional_std_vector_MR_SomeLocalTriangulations MR_std_optional_std_vector_MR_SomeLocalTriangulations
 
typedef struct MR_std_vector_MR_VertId MR_std_vector_MR_VertId
 
typedef struct MR_std_vector_std_pair_double_int32_t MR_std_vector_std_pair_double_int32_t
 
typedef struct MR_TriangulationHelpers_FanOptimizerQueueElement MR_TriangulationHelpers_FanOptimizerQueueElement
 Generated from class MR::TriangulationHelpers::FanOptimizerQueueElement.
 
typedef struct MR_TriangulationHelpers_TriangulatedFanData MR_TriangulationHelpers_TriangulatedFanData
 Data with caches for optimizing fan triangulation.
 
typedef struct MR_TriangulationHelpers_Settings MR_TriangulationHelpers_Settings
 Generated from class MR::TriangulationHelpers::Settings.
 

Functions

MRC_API float MR_TriangulationHelpers_updateNeighborsRadius (const MR_VertCoords *points, MR_VertId v, MR_VertId boundaryV, const MR_std_vector_MR_VertId *fan, float baseRadius)
 Finds max radius of neighbors search, for possible better local triangulation.
 
MRC_API void MR_TriangulationHelpers_findNeighborsInBall (const MR_PointCloud *pointCloud, MR_VertId v, float radius, MR_std_vector_MR_VertId *neighbors)
 Finds all neighbors of v in given radius (v excluded)
 
MRC_API float MR_TriangulationHelpers_findNumNeighbors (const MR_PointCloud *pointCloud, MR_VertId v, int32_t numNeis, MR_std_vector_MR_VertId *neighbors, MR_FewSmallest_MR_PointsProjectionResult *tmp, const float *upDistLimitSq)
 Finds at most given number of neighbors of v (v excluded)
 
MRC_API void MR_TriangulationHelpers_filterNeighbors (const MR_VertCoords *normals, MR_VertId v, MR_std_vector_MR_VertId *neighbors)
 Filter neighbors with crossing normals.
 
MRC_API const float * MR_TriangulationHelpers_FanOptimizerQueueElement_Get_weight (const MR_TriangulationHelpers_FanOptimizerQueueElement *_this)
 
MRC_API void MR_TriangulationHelpers_FanOptimizerQueueElement_Set_weight (MR_TriangulationHelpers_FanOptimizerQueueElement *_this, float value)
 
MRC_API float * MR_TriangulationHelpers_FanOptimizerQueueElement_GetMutable_weight (MR_TriangulationHelpers_FanOptimizerQueueElement *_this)
 
MRC_API const int32_t * MR_TriangulationHelpers_FanOptimizerQueueElement_Get_id (const MR_TriangulationHelpers_FanOptimizerQueueElement *_this)
 
MRC_API void MR_TriangulationHelpers_FanOptimizerQueueElement_Set_id (MR_TriangulationHelpers_FanOptimizerQueueElement *_this, int32_t value)
 
MRC_API int32_t * MR_TriangulationHelpers_FanOptimizerQueueElement_GetMutable_id (MR_TriangulationHelpers_FanOptimizerQueueElement *_this)
 
MRC_API const int32_t * MR_TriangulationHelpers_FanOptimizerQueueElement_Get_prevId (const MR_TriangulationHelpers_FanOptimizerQueueElement *_this)
 
MRC_API void MR_TriangulationHelpers_FanOptimizerQueueElement_Set_prevId (MR_TriangulationHelpers_FanOptimizerQueueElement *_this, int32_t value)
 
MRC_API int32_t * MR_TriangulationHelpers_FanOptimizerQueueElement_GetMutable_prevId (MR_TriangulationHelpers_FanOptimizerQueueElement *_this)
 
MRC_API const int32_t * MR_TriangulationHelpers_FanOptimizerQueueElement_Get_nextId (const MR_TriangulationHelpers_FanOptimizerQueueElement *_this)
 
MRC_API void MR_TriangulationHelpers_FanOptimizerQueueElement_Set_nextId (MR_TriangulationHelpers_FanOptimizerQueueElement *_this, int32_t value)
 
MRC_API int32_t * MR_TriangulationHelpers_FanOptimizerQueueElement_GetMutable_nextId (MR_TriangulationHelpers_FanOptimizerQueueElement *_this)
 
MRC_API const bool * MR_TriangulationHelpers_FanOptimizerQueueElement_Get_stable (const MR_TriangulationHelpers_FanOptimizerQueueElement *_this)
 
MRC_API void MR_TriangulationHelpers_FanOptimizerQueueElement_Set_stable (MR_TriangulationHelpers_FanOptimizerQueueElement *_this, bool value)
 
MRC_API bool * MR_TriangulationHelpers_FanOptimizerQueueElement_GetMutable_stable (MR_TriangulationHelpers_FanOptimizerQueueElement *_this)
 
MRC_API MR_TriangulationHelpers_FanOptimizerQueueElementMR_TriangulationHelpers_FanOptimizerQueueElement_DefaultConstruct (void)
 
MRC_API MR_TriangulationHelpers_FanOptimizerQueueElementMR_TriangulationHelpers_FanOptimizerQueueElement_DefaultConstructArray (size_t num_elems)
 
MRC_API MR_TriangulationHelpers_FanOptimizerQueueElementMR_TriangulationHelpers_FanOptimizerQueueElement_ConstructFrom (float weight, int32_t id, int32_t prevId, int32_t nextId, bool stable)
 
MRC_API const MR_TriangulationHelpers_FanOptimizerQueueElementMR_TriangulationHelpers_FanOptimizerQueueElement_OffsetPtr (const MR_TriangulationHelpers_FanOptimizerQueueElement *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.
 
MRC_API MR_TriangulationHelpers_FanOptimizerQueueElementMR_TriangulationHelpers_FanOptimizerQueueElement_OffsetMutablePtr (MR_TriangulationHelpers_FanOptimizerQueueElement *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.
 
MRC_API MR_TriangulationHelpers_FanOptimizerQueueElementMR_TriangulationHelpers_FanOptimizerQueueElement_ConstructFromAnother (const MR_TriangulationHelpers_FanOptimizerQueueElement *_other)
 
MRC_API void MR_TriangulationHelpers_FanOptimizerQueueElement_Destroy (const MR_TriangulationHelpers_FanOptimizerQueueElement *_this)
 Destroys a heap-allocated instance of MR_TriangulationHelpers_FanOptimizerQueueElement. Does nothing if the pointer is null.
 
MRC_API void MR_TriangulationHelpers_FanOptimizerQueueElement_DestroyArray (const MR_TriangulationHelpers_FanOptimizerQueueElement *_this)
 Destroys a heap-allocated array of MR_TriangulationHelpers_FanOptimizerQueueElement. Does nothing if the pointer is null.
 
MRC_API MR_TriangulationHelpers_FanOptimizerQueueElementMR_TriangulationHelpers_FanOptimizerQueueElement_AssignFromAnother (MR_TriangulationHelpers_FanOptimizerQueueElement *_this, const MR_TriangulationHelpers_FanOptimizerQueueElement *_other)
 
MRC_API bool MR_less_MR_TriangulationHelpers_FanOptimizerQueueElement (const MR_TriangulationHelpers_FanOptimizerQueueElement *_this, const MR_TriangulationHelpers_FanOptimizerQueueElement *other)
 
MRC_API bool MR_equal_MR_TriangulationHelpers_FanOptimizerQueueElement (const MR_TriangulationHelpers_FanOptimizerQueueElement *_this, const MR_TriangulationHelpers_FanOptimizerQueueElement *other)
 
MRC_API bool MR_TriangulationHelpers_FanOptimizerQueueElement_isOutdated (const MR_TriangulationHelpers_FanOptimizerQueueElement *_this, const MR_std_vector_MR_VertId *neighbors)
 
MRC_API const MR_std_vector_MR_VertIdMR_TriangulationHelpers_TriangulatedFanData_Get_neighbors (const MR_TriangulationHelpers_TriangulatedFanData *_this)
 
MRC_API void MR_TriangulationHelpers_TriangulatedFanData_Set_neighbors (MR_TriangulationHelpers_TriangulatedFanData *_this, MR_PassBy value_pass_by, MR_std_vector_MR_VertId *value)
 
MRC_API MR_std_vector_MR_VertIdMR_TriangulationHelpers_TriangulatedFanData_GetMutable_neighbors (MR_TriangulationHelpers_TriangulatedFanData *_this)
 
MRC_API const MR_std_vector_std_pair_double_int32_tMR_TriangulationHelpers_TriangulatedFanData_Get_cacheAngleOrder (const MR_TriangulationHelpers_TriangulatedFanData *_this)
 
MRC_API void MR_TriangulationHelpers_TriangulatedFanData_Set_cacheAngleOrder (MR_TriangulationHelpers_TriangulatedFanData *_this, MR_PassBy value_pass_by, MR_std_vector_std_pair_double_int32_t *value)
 
MRC_API MR_std_vector_std_pair_double_int32_tMR_TriangulationHelpers_TriangulatedFanData_GetMutable_cacheAngleOrder (MR_TriangulationHelpers_TriangulatedFanData *_this)
 
MRC_API const MR_VertIdMR_TriangulationHelpers_TriangulatedFanData_Get_border (const MR_TriangulationHelpers_TriangulatedFanData *_this)
 
MRC_API void MR_TriangulationHelpers_TriangulatedFanData_Set_border (MR_TriangulationHelpers_TriangulatedFanData *_this, MR_VertId value)
 
MRC_API MR_VertIdMR_TriangulationHelpers_TriangulatedFanData_GetMutable_border (MR_TriangulationHelpers_TriangulatedFanData *_this)
 
MRC_API const MR_FewSmallest_MR_PointsProjectionResultMR_TriangulationHelpers_TriangulatedFanData_Get_nearesetPoints (const MR_TriangulationHelpers_TriangulatedFanData *_this)
 
MRC_API void MR_TriangulationHelpers_TriangulatedFanData_Set_nearesetPoints (MR_TriangulationHelpers_TriangulatedFanData *_this, MR_PassBy value_pass_by, MR_FewSmallest_MR_PointsProjectionResult *value)
 
MRC_API MR_FewSmallest_MR_PointsProjectionResultMR_TriangulationHelpers_TriangulatedFanData_GetMutable_nearesetPoints (MR_TriangulationHelpers_TriangulatedFanData *_this)
 
MRC_API MR_TriangulationHelpers_TriangulatedFanDataMR_TriangulationHelpers_TriangulatedFanData_DefaultConstruct (void)
 
MRC_API MR_TriangulationHelpers_TriangulatedFanDataMR_TriangulationHelpers_TriangulatedFanData_DefaultConstructArray (size_t num_elems)
 
MRC_API const MR_TriangulationHelpers_TriangulatedFanDataMR_TriangulationHelpers_TriangulatedFanData_OffsetPtr (const MR_TriangulationHelpers_TriangulatedFanData *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.
 
MRC_API MR_TriangulationHelpers_TriangulatedFanDataMR_TriangulationHelpers_TriangulatedFanData_OffsetMutablePtr (MR_TriangulationHelpers_TriangulatedFanData *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.
 
MRC_API MR_TriangulationHelpers_TriangulatedFanDataMR_TriangulationHelpers_TriangulatedFanData_ConstructFromAnother (MR_PassBy _other_pass_by, MR_TriangulationHelpers_TriangulatedFanData *_other)
 
MRC_API void MR_TriangulationHelpers_TriangulatedFanData_Destroy (const MR_TriangulationHelpers_TriangulatedFanData *_this)
 Destroys a heap-allocated instance of MR_TriangulationHelpers_TriangulatedFanData. Does nothing if the pointer is null.
 
MRC_API void MR_TriangulationHelpers_TriangulatedFanData_DestroyArray (const MR_TriangulationHelpers_TriangulatedFanData *_this)
 Destroys a heap-allocated array of MR_TriangulationHelpers_TriangulatedFanData. Does nothing if the pointer is null.
 
MRC_API MR_TriangulationHelpers_TriangulatedFanDataMR_TriangulationHelpers_TriangulatedFanData_AssignFromAnother (MR_TriangulationHelpers_TriangulatedFanData *_this, MR_PassBy _other_pass_by, MR_TriangulationHelpers_TriangulatedFanData *_other)
 
MRC_API const float * MR_TriangulationHelpers_Settings_Get_radius (const MR_TriangulationHelpers_Settings *_this)
 
MRC_API void MR_TriangulationHelpers_Settings_Set_radius (MR_TriangulationHelpers_Settings *_this, float value)
 
MRC_API float * MR_TriangulationHelpers_Settings_GetMutable_radius (MR_TriangulationHelpers_Settings *_this)
 
MRC_API const int32_t * MR_TriangulationHelpers_Settings_Get_numNeis (const MR_TriangulationHelpers_Settings *_this)
 
MRC_API void MR_TriangulationHelpers_Settings_Set_numNeis (MR_TriangulationHelpers_Settings *_this, int32_t value)
 
MRC_API int32_t * MR_TriangulationHelpers_Settings_GetMutable_numNeis (MR_TriangulationHelpers_Settings *_this)
 
MRC_API const float * MR_TriangulationHelpers_Settings_Get_critAngle (const MR_TriangulationHelpers_Settings *_this)
 
MRC_API void MR_TriangulationHelpers_Settings_Set_critAngle (MR_TriangulationHelpers_Settings *_this, float value)
 
MRC_API float * MR_TriangulationHelpers_Settings_GetMutable_critAngle (MR_TriangulationHelpers_Settings *_this)
 
MRC_API const float * MR_TriangulationHelpers_Settings_Get_boundaryAngle (const MR_TriangulationHelpers_Settings *_this)
 
MRC_API void MR_TriangulationHelpers_Settings_Set_boundaryAngle (MR_TriangulationHelpers_Settings *_this, float value)
 
MRC_API float * MR_TriangulationHelpers_Settings_GetMutable_boundaryAngle (MR_TriangulationHelpers_Settings *_this)
 
MRC_API const MR_VertCoords *const * MR_TriangulationHelpers_Settings_Get_trustedNormals (const MR_TriangulationHelpers_Settings *_this)
 
MRC_API void MR_TriangulationHelpers_Settings_Set_trustedNormals (MR_TriangulationHelpers_Settings *_this, const MR_VertCoords *value)
 
MRC_API const MR_VertCoords ** MR_TriangulationHelpers_Settings_GetMutable_trustedNormals (MR_TriangulationHelpers_Settings *_this)
 
MRC_API const bool * MR_TriangulationHelpers_Settings_Get_automaticRadiusIncrease (const MR_TriangulationHelpers_Settings *_this)
 
MRC_API void MR_TriangulationHelpers_Settings_Set_automaticRadiusIncrease (MR_TriangulationHelpers_Settings *_this, bool value)
 
MRC_API bool * MR_TriangulationHelpers_Settings_GetMutable_automaticRadiusIncrease (MR_TriangulationHelpers_Settings *_this)
 
MRC_API const int32_t * MR_TriangulationHelpers_Settings_Get_maxRemoves (const MR_TriangulationHelpers_Settings *_this)
 
MRC_API void MR_TriangulationHelpers_Settings_Set_maxRemoves (MR_TriangulationHelpers_Settings *_this, int32_t value)
 
MRC_API int32_t * MR_TriangulationHelpers_Settings_GetMutable_maxRemoves (MR_TriangulationHelpers_Settings *_this)
 
MRC_API MR_std_vector_MR_VertId *const * MR_TriangulationHelpers_Settings_Get_allNeighbors (const MR_TriangulationHelpers_Settings *_this)
 
MRC_API void MR_TriangulationHelpers_Settings_Set_allNeighbors (MR_TriangulationHelpers_Settings *_this, MR_std_vector_MR_VertId *value)
 
MRC_API MR_std_vector_MR_VertId ** MR_TriangulationHelpers_Settings_GetMutable_allNeighbors (MR_TriangulationHelpers_Settings *_this)
 
MRC_API float *const * MR_TriangulationHelpers_Settings_Get_actualRadius (const MR_TriangulationHelpers_Settings *_this)
 
MRC_API void MR_TriangulationHelpers_Settings_Set_actualRadius (MR_TriangulationHelpers_Settings *_this, float *value)
 
MRC_API float ** MR_TriangulationHelpers_Settings_GetMutable_actualRadius (MR_TriangulationHelpers_Settings *_this)
 
MRC_API const MR_PointCloud *const * MR_TriangulationHelpers_Settings_Get_searchNeighbors (const MR_TriangulationHelpers_Settings *_this)
 
MRC_API void MR_TriangulationHelpers_Settings_Set_searchNeighbors (MR_TriangulationHelpers_Settings *_this, const MR_PointCloud *value)
 
MRC_API const MR_PointCloud ** MR_TriangulationHelpers_Settings_GetMutable_searchNeighbors (MR_TriangulationHelpers_Settings *_this)
 
MRC_API MR_TriangulationHelpers_SettingsMR_TriangulationHelpers_Settings_DefaultConstruct (void)
 
MRC_API MR_TriangulationHelpers_SettingsMR_TriangulationHelpers_Settings_DefaultConstructArray (size_t num_elems)
 
MRC_API MR_TriangulationHelpers_SettingsMR_TriangulationHelpers_Settings_ConstructFrom (float radius, int32_t numNeis, float critAngle, float boundaryAngle, const MR_VertCoords *trustedNormals, bool automaticRadiusIncrease, int32_t maxRemoves, MR_std_vector_MR_VertId *allNeighbors, float *actualRadius, const MR_PointCloud *searchNeighbors)
 
MRC_API const MR_TriangulationHelpers_SettingsMR_TriangulationHelpers_Settings_OffsetPtr (const MR_TriangulationHelpers_Settings *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.
 
MRC_API MR_TriangulationHelpers_SettingsMR_TriangulationHelpers_Settings_OffsetMutablePtr (MR_TriangulationHelpers_Settings *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.
 
MRC_API MR_TriangulationHelpers_SettingsMR_TriangulationHelpers_Settings_ConstructFromAnother (const MR_TriangulationHelpers_Settings *_other)
 
MRC_API void MR_TriangulationHelpers_Settings_Destroy (const MR_TriangulationHelpers_Settings *_this)
 Destroys a heap-allocated instance of MR_TriangulationHelpers_Settings. Does nothing if the pointer is null.
 
MRC_API void MR_TriangulationHelpers_Settings_DestroyArray (const MR_TriangulationHelpers_Settings *_this)
 Destroys a heap-allocated array of MR_TriangulationHelpers_Settings. Does nothing if the pointer is null.
 
MRC_API MR_TriangulationHelpers_SettingsMR_TriangulationHelpers_Settings_AssignFromAnother (MR_TriangulationHelpers_Settings *_this, const MR_TriangulationHelpers_Settings *_other)
 
MRC_API void MR_TriangulationHelpers_buildLocalTriangulation (const MR_PointCloud *cloud, MR_VertId v, const MR_TriangulationHelpers_Settings *settings, MR_TriangulationHelpers_TriangulatedFanData *fanData)
 
MRC_API MR_std_optional_std_vector_MR_SomeLocalTriangulationsMR_TriangulationHelpers_buildLocalTriangulations (const MR_PointCloud *cloud, const MR_TriangulationHelpers_Settings *settings, const MR_std_function_bool_from_float *progress)
 
MRC_API MR_std_optional_MR_AllLocalTriangulationsMR_TriangulationHelpers_buildUnitedLocalTriangulations (const MR_PointCloud *cloud, const MR_TriangulationHelpers_Settings *settings, const MR_std_function_bool_from_float *progress)
 
MRC_API bool MR_TriangulationHelpers_isBoundaryPoint (const MR_PointCloud *cloud, MR_VertId v, const MR_TriangulationHelpers_Settings *settings, MR_TriangulationHelpers_TriangulatedFanData *fanData)
 Checks if given vertex is on boundary of the point cloud, by constructing local triangulation around it.
 
MRC_API MR_std_optional_MR_VertBitSetMR_TriangulationHelpers_findBoundaryPoints (const MR_PointCloud *pointCloud, const MR_TriangulationHelpers_Settings *settings, MR_PassBy cb_pass_by, MR_std_function_bool_from_float *cb)
 

Typedef Documentation

◆ MR_FewSmallest_MR_PointsProjectionResult

◆ MR_PointCloud

typedef struct MR_PointCloud MR_PointCloud

◆ MR_std_function_bool_from_float

◆ MR_std_optional_MR_AllLocalTriangulations

◆ MR_std_optional_MR_VertBitSet

◆ MR_std_optional_std_vector_MR_SomeLocalTriangulations

◆ MR_std_vector_MR_VertId

◆ MR_std_vector_std_pair_double_int32_t

◆ MR_TriangulationHelpers_FanOptimizerQueueElement

◆ MR_TriangulationHelpers_Settings

◆ MR_TriangulationHelpers_TriangulatedFanData

Data with caches for optimizing fan triangulation.

Generated from class MR::TriangulationHelpers::TriangulatedFanData.

◆ MR_VertCoords

typedef struct MR_VertCoords MR_VertCoords

Function Documentation

◆ MR_equal_MR_TriangulationHelpers_FanOptimizerQueueElement()

MRC_API bool MR_equal_MR_TriangulationHelpers_FanOptimizerQueueElement ( const MR_TriangulationHelpers_FanOptimizerQueueElement * _this,
const MR_TriangulationHelpers_FanOptimizerQueueElement * other )

Generated from a method of class MR::TriangulationHelpers::FanOptimizerQueueElement named operator==. Parameter _this can not be null. It is a single object. Parameter other can not be null. It is a single object.

◆ MR_less_MR_TriangulationHelpers_FanOptimizerQueueElement()

MRC_API bool MR_less_MR_TriangulationHelpers_FanOptimizerQueueElement ( const MR_TriangulationHelpers_FanOptimizerQueueElement * _this,
const MR_TriangulationHelpers_FanOptimizerQueueElement * other )

Generated from a method of class MR::TriangulationHelpers::FanOptimizerQueueElement named operator<. Parameter _this can not be null. It is a single object. Parameter other can not be null. It is a single object.

◆ MR_TriangulationHelpers_buildLocalTriangulation()

MRC_API void MR_TriangulationHelpers_buildLocalTriangulation ( const MR_PointCloud * cloud,
MR_VertId v,
const MR_TriangulationHelpers_Settings * settings,
MR_TriangulationHelpers_TriangulatedFanData * fanData )

constructs local triangulation around given point Generated from function MR::TriangulationHelpers::buildLocalTriangulation. Parameter cloud can not be null. It is a single object. Parameter settings can not be null. It is a single object. Parameter fanData can not be null. It is a single object.

◆ MR_TriangulationHelpers_buildLocalTriangulations()

MRC_API MR_std_optional_std_vector_MR_SomeLocalTriangulations * MR_TriangulationHelpers_buildLocalTriangulations ( const MR_PointCloud * cloud,
const MR_TriangulationHelpers_Settings * settings,
const MR_std_function_bool_from_float * progress )

computes all local triangulations of all points in the cloud, and returns them distributed among a set of SomeLocalTriangulations objects Generated from function MR::TriangulationHelpers::buildLocalTriangulations. Parameter cloud can not be null. It is a single object. Parameter settings can not be null. It is a single object. Parameter progress is a single object. Parameter progress has a default argument: {}, pass a null pointer to use it. Never returns null. Returns an instance allocated on the heap! Must call MR_std_optional_std_vector_MR_SomeLocalTriangulations_Destroy() to free it when you're done using it.

◆ MR_TriangulationHelpers_buildUnitedLocalTriangulations()

MRC_API MR_std_optional_MR_AllLocalTriangulations * MR_TriangulationHelpers_buildUnitedLocalTriangulations ( const MR_PointCloud * cloud,
const MR_TriangulationHelpers_Settings * settings,
const MR_std_function_bool_from_float * progress )

computes local triangulations of all points in the cloud united in one struct Generated from function MR::TriangulationHelpers::buildUnitedLocalTriangulations. Parameter cloud can not be null. It is a single object. Parameter settings can not be null. It is a single object. Parameter progress is a single object. Parameter progress has a default argument: {}, pass a null pointer to use it. Never returns null. Returns an instance allocated on the heap! Must call MR_std_optional_MR_AllLocalTriangulations_Destroy() to free it when you're done using it.

◆ MR_TriangulationHelpers_FanOptimizerQueueElement_AssignFromAnother()

MRC_API MR_TriangulationHelpers_FanOptimizerQueueElement * MR_TriangulationHelpers_FanOptimizerQueueElement_AssignFromAnother ( MR_TriangulationHelpers_FanOptimizerQueueElement * _this,
const MR_TriangulationHelpers_FanOptimizerQueueElement * _other )

Generated from a method of class MR::TriangulationHelpers::FanOptimizerQueueElement named operator=. Parameter _this can not be null. It is a single object. Parameter _other can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.

◆ MR_TriangulationHelpers_FanOptimizerQueueElement_ConstructFrom()

MRC_API MR_TriangulationHelpers_FanOptimizerQueueElement * MR_TriangulationHelpers_FanOptimizerQueueElement_ConstructFrom ( float weight,
int32_t id,
int32_t prevId,
int32_t nextId,
bool stable )

Constructs MR::TriangulationHelpers::FanOptimizerQueueElement elementwise. Never returns null. Returns an instance allocated on the heap! Must call MR_TriangulationHelpers_FanOptimizerQueueElement_Destroy() to free it when you're done using it.

◆ MR_TriangulationHelpers_FanOptimizerQueueElement_ConstructFromAnother()

MRC_API MR_TriangulationHelpers_FanOptimizerQueueElement * MR_TriangulationHelpers_FanOptimizerQueueElement_ConstructFromAnother ( const MR_TriangulationHelpers_FanOptimizerQueueElement * _other)

Generated from a constructor of class MR::TriangulationHelpers::FanOptimizerQueueElement. Parameter _other can not be null. It is a single object. Never returns null. Returns an instance allocated on the heap! Must call MR_TriangulationHelpers_FanOptimizerQueueElement_Destroy() to free it when you're done using it.

◆ MR_TriangulationHelpers_FanOptimizerQueueElement_DefaultConstruct()

MRC_API MR_TriangulationHelpers_FanOptimizerQueueElement * MR_TriangulationHelpers_FanOptimizerQueueElement_DefaultConstruct ( void )

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

◆ MR_TriangulationHelpers_FanOptimizerQueueElement_DefaultConstructArray()

MRC_API MR_TriangulationHelpers_FanOptimizerQueueElement * MR_TriangulationHelpers_FanOptimizerQueueElement_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_TriangulationHelpers_FanOptimizerQueueElement_DestroyArray(). Use MR_TriangulationHelpers_FanOptimizerQueueElement_OffsetMutablePtr() and MR_TriangulationHelpers_FanOptimizerQueueElement_OffsetPtr() to access the array elements.

◆ MR_TriangulationHelpers_FanOptimizerQueueElement_Destroy()

MRC_API void MR_TriangulationHelpers_FanOptimizerQueueElement_Destroy ( const MR_TriangulationHelpers_FanOptimizerQueueElement * _this)

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

◆ MR_TriangulationHelpers_FanOptimizerQueueElement_DestroyArray()

MRC_API void MR_TriangulationHelpers_FanOptimizerQueueElement_DestroyArray ( const MR_TriangulationHelpers_FanOptimizerQueueElement * _this)

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

◆ MR_TriangulationHelpers_FanOptimizerQueueElement_Get_id()

MRC_API const int32_t * MR_TriangulationHelpers_FanOptimizerQueueElement_Get_id ( const MR_TriangulationHelpers_FanOptimizerQueueElement * _this)

Returns a pointer to a member variable of class MR::TriangulationHelpers::FanOptimizerQueueElement named id. 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.

◆ MR_TriangulationHelpers_FanOptimizerQueueElement_Get_nextId()

MRC_API const int32_t * MR_TriangulationHelpers_FanOptimizerQueueElement_Get_nextId ( const MR_TriangulationHelpers_FanOptimizerQueueElement * _this)

Returns a pointer to a member variable of class MR::TriangulationHelpers::FanOptimizerQueueElement named nextId. 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.

◆ MR_TriangulationHelpers_FanOptimizerQueueElement_Get_prevId()

MRC_API const int32_t * MR_TriangulationHelpers_FanOptimizerQueueElement_Get_prevId ( const MR_TriangulationHelpers_FanOptimizerQueueElement * _this)

Returns a pointer to a member variable of class MR::TriangulationHelpers::FanOptimizerQueueElement named prevId. 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.

◆ MR_TriangulationHelpers_FanOptimizerQueueElement_Get_stable()

MRC_API const bool * MR_TriangulationHelpers_FanOptimizerQueueElement_Get_stable ( const MR_TriangulationHelpers_FanOptimizerQueueElement * _this)

Returns a pointer to a member variable of class MR::TriangulationHelpers::FanOptimizerQueueElement named stable. 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.

◆ MR_TriangulationHelpers_FanOptimizerQueueElement_Get_weight()

MRC_API const float * MR_TriangulationHelpers_FanOptimizerQueueElement_Get_weight ( const MR_TriangulationHelpers_FanOptimizerQueueElement * _this)

Returns a pointer to a member variable of class MR::TriangulationHelpers::FanOptimizerQueueElement named weight. 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.

◆ MR_TriangulationHelpers_FanOptimizerQueueElement_GetMutable_id()

MRC_API int32_t * MR_TriangulationHelpers_FanOptimizerQueueElement_GetMutable_id ( MR_TriangulationHelpers_FanOptimizerQueueElement * _this)

Returns a mutable pointer to a member variable of class MR::TriangulationHelpers::FanOptimizerQueueElement named id. 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.

◆ MR_TriangulationHelpers_FanOptimizerQueueElement_GetMutable_nextId()

MRC_API int32_t * MR_TriangulationHelpers_FanOptimizerQueueElement_GetMutable_nextId ( MR_TriangulationHelpers_FanOptimizerQueueElement * _this)

Returns a mutable pointer to a member variable of class MR::TriangulationHelpers::FanOptimizerQueueElement named nextId. 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.

◆ MR_TriangulationHelpers_FanOptimizerQueueElement_GetMutable_prevId()

MRC_API int32_t * MR_TriangulationHelpers_FanOptimizerQueueElement_GetMutable_prevId ( MR_TriangulationHelpers_FanOptimizerQueueElement * _this)

Returns a mutable pointer to a member variable of class MR::TriangulationHelpers::FanOptimizerQueueElement named prevId. 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.

◆ MR_TriangulationHelpers_FanOptimizerQueueElement_GetMutable_stable()

MRC_API bool * MR_TriangulationHelpers_FanOptimizerQueueElement_GetMutable_stable ( MR_TriangulationHelpers_FanOptimizerQueueElement * _this)

Returns a mutable pointer to a member variable of class MR::TriangulationHelpers::FanOptimizerQueueElement named stable. 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.

◆ MR_TriangulationHelpers_FanOptimizerQueueElement_GetMutable_weight()

MRC_API float * MR_TriangulationHelpers_FanOptimizerQueueElement_GetMutable_weight ( MR_TriangulationHelpers_FanOptimizerQueueElement * _this)

Returns a mutable pointer to a member variable of class MR::TriangulationHelpers::FanOptimizerQueueElement named weight. 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.

◆ MR_TriangulationHelpers_FanOptimizerQueueElement_isOutdated()

MRC_API bool MR_TriangulationHelpers_FanOptimizerQueueElement_isOutdated ( const MR_TriangulationHelpers_FanOptimizerQueueElement * _this,
const MR_std_vector_MR_VertId * neighbors )

Generated from a method of class MR::TriangulationHelpers::FanOptimizerQueueElement named isOutdated. Parameter _this can not be null. It is a single object. Parameter neighbors can not be null. It is a single object.

◆ MR_TriangulationHelpers_FanOptimizerQueueElement_OffsetMutablePtr()

MRC_API MR_TriangulationHelpers_FanOptimizerQueueElement * MR_TriangulationHelpers_FanOptimizerQueueElement_OffsetMutablePtr ( MR_TriangulationHelpers_FanOptimizerQueueElement * 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.

◆ MR_TriangulationHelpers_FanOptimizerQueueElement_OffsetPtr()

MRC_API const MR_TriangulationHelpers_FanOptimizerQueueElement * MR_TriangulationHelpers_FanOptimizerQueueElement_OffsetPtr ( const MR_TriangulationHelpers_FanOptimizerQueueElement * 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.

◆ MR_TriangulationHelpers_FanOptimizerQueueElement_Set_id()

MRC_API void MR_TriangulationHelpers_FanOptimizerQueueElement_Set_id ( MR_TriangulationHelpers_FanOptimizerQueueElement * _this,
int32_t value )

Modifies a member variable of class MR::TriangulationHelpers::FanOptimizerQueueElement named id. Parameter _this can not be null. It is a single object.

◆ MR_TriangulationHelpers_FanOptimizerQueueElement_Set_nextId()

MRC_API void MR_TriangulationHelpers_FanOptimizerQueueElement_Set_nextId ( MR_TriangulationHelpers_FanOptimizerQueueElement * _this,
int32_t value )

Modifies a member variable of class MR::TriangulationHelpers::FanOptimizerQueueElement named nextId. Parameter _this can not be null. It is a single object.

◆ MR_TriangulationHelpers_FanOptimizerQueueElement_Set_prevId()

MRC_API void MR_TriangulationHelpers_FanOptimizerQueueElement_Set_prevId ( MR_TriangulationHelpers_FanOptimizerQueueElement * _this,
int32_t value )

Modifies a member variable of class MR::TriangulationHelpers::FanOptimizerQueueElement named prevId. Parameter _this can not be null. It is a single object.

◆ MR_TriangulationHelpers_FanOptimizerQueueElement_Set_stable()

MRC_API void MR_TriangulationHelpers_FanOptimizerQueueElement_Set_stable ( MR_TriangulationHelpers_FanOptimizerQueueElement * _this,
bool value )

Modifies a member variable of class MR::TriangulationHelpers::FanOptimizerQueueElement named stable. Parameter _this can not be null. It is a single object.

◆ MR_TriangulationHelpers_FanOptimizerQueueElement_Set_weight()

MRC_API void MR_TriangulationHelpers_FanOptimizerQueueElement_Set_weight ( MR_TriangulationHelpers_FanOptimizerQueueElement * _this,
float value )

Modifies a member variable of class MR::TriangulationHelpers::FanOptimizerQueueElement named weight. Parameter _this can not be null. It is a single object.

◆ MR_TriangulationHelpers_filterNeighbors()

MRC_API void MR_TriangulationHelpers_filterNeighbors ( const MR_VertCoords * normals,
MR_VertId v,
MR_std_vector_MR_VertId * neighbors )

Filter neighbors with crossing normals.

Generated from function MR::TriangulationHelpers::filterNeighbors. Parameter normals can not be null. It is a single object. Parameter neighbors can not be null. It is a single object.

◆ MR_TriangulationHelpers_findBoundaryPoints()

MRC_API MR_std_optional_MR_VertBitSet * MR_TriangulationHelpers_findBoundaryPoints ( const MR_PointCloud * pointCloud,
const MR_TriangulationHelpers_Settings * settings,
MR_PassBy cb_pass_by,
MR_std_function_bool_from_float * cb )

Returns bit set of points that are considered as boundary by calling isBoundaryPoint in each Generated from function MR::TriangulationHelpers::findBoundaryPoints. Parameter pointCloud can not be null. It is a single object. Parameter settings can not be null. It is a single object. Parameter cb has a default argument: {}, pass MR_PassBy_DefaultArgument and a null pointer to use it. Never returns null. Returns an instance allocated on the heap! Must call MR_std_optional_MR_VertBitSet_Destroy() to free it when you're done using it.

◆ MR_TriangulationHelpers_findNeighborsInBall()

MRC_API void MR_TriangulationHelpers_findNeighborsInBall ( const MR_PointCloud * pointCloud,
MR_VertId v,
float radius,
MR_std_vector_MR_VertId * neighbors )

Finds all neighbors of v in given radius (v excluded)

Generated from function MR::TriangulationHelpers::findNeighborsInBall. Parameter pointCloud can not be null. It is a single object. Parameter neighbors can not be null. It is a single object.

◆ MR_TriangulationHelpers_findNumNeighbors()

MRC_API float MR_TriangulationHelpers_findNumNeighbors ( const MR_PointCloud * pointCloud,
MR_VertId v,
int32_t numNeis,
MR_std_vector_MR_VertId * neighbors,
MR_FewSmallest_MR_PointsProjectionResult * tmp,
const float * upDistLimitSq )

Finds at most given number of neighbors of v (v excluded)

Parameters
tmptemporary storage to avoid its allocation
upDistLimitSqupper limit on the distance in question, points with larger distance than it will not be returned
Returns
maxDistSq to the furthest returned neighbor (or 0 if no neighbours are returned) Generated from function MR::TriangulationHelpers::findNumNeighbors. Parameter pointCloud can not be null. It is a single object. Parameter neighbors can not be null. It is a single object. Parameter tmp can not be null. It is a single object. Parameter upDistLimitSq has a default argument: 3.40282347E+38F, pass a null pointer to use it.

◆ MR_TriangulationHelpers_isBoundaryPoint()

MRC_API bool MR_TriangulationHelpers_isBoundaryPoint ( const MR_PointCloud * cloud,
MR_VertId v,
const MR_TriangulationHelpers_Settings * settings,
MR_TriangulationHelpers_TriangulatedFanData * fanData )

Checks if given vertex is on boundary of the point cloud, by constructing local triangulation around it.

Parameters
cloudinput point cloud
vvertex id to check
settingsall parameters of the computation
fanDatacache structure for neighbors, not to allocate for multiple calls
Returns
true if vertex is boundary, false otherwise Generated from function MR::TriangulationHelpers::isBoundaryPoint. Parameter cloud can not be null. It is a single object. Parameter settings can not be null. It is a single object. Parameter fanData can not be null. It is a single object.

◆ MR_TriangulationHelpers_Settings_AssignFromAnother()

MRC_API MR_TriangulationHelpers_Settings * MR_TriangulationHelpers_Settings_AssignFromAnother ( MR_TriangulationHelpers_Settings * _this,
const MR_TriangulationHelpers_Settings * _other )

Generated from a method of class MR::TriangulationHelpers::Settings named operator=. Parameter _this can not be null. It is a single object. Parameter _other can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.

◆ MR_TriangulationHelpers_Settings_ConstructFrom()

MRC_API MR_TriangulationHelpers_Settings * MR_TriangulationHelpers_Settings_ConstructFrom ( float radius,
int32_t numNeis,
float critAngle,
float boundaryAngle,
const MR_VertCoords * trustedNormals,
bool automaticRadiusIncrease,
int32_t maxRemoves,
MR_std_vector_MR_VertId * allNeighbors,
float * actualRadius,
const MR_PointCloud * searchNeighbors )

Constructs MR::TriangulationHelpers::Settings elementwise. Never returns null. Returns an instance allocated on the heap! Must call MR_TriangulationHelpers_Settings_Destroy() to free it when you're done using it.

◆ MR_TriangulationHelpers_Settings_ConstructFromAnother()

MRC_API MR_TriangulationHelpers_Settings * MR_TriangulationHelpers_Settings_ConstructFromAnother ( const MR_TriangulationHelpers_Settings * _other)

Generated from a constructor of class MR::TriangulationHelpers::Settings. Parameter _other can not be null. It is a single object. Never returns null. Returns an instance allocated on the heap! Must call MR_TriangulationHelpers_Settings_Destroy() to free it when you're done using it.

◆ MR_TriangulationHelpers_Settings_DefaultConstruct()

MRC_API MR_TriangulationHelpers_Settings * MR_TriangulationHelpers_Settings_DefaultConstruct ( void )

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

◆ MR_TriangulationHelpers_Settings_DefaultConstructArray()

MRC_API MR_TriangulationHelpers_Settings * MR_TriangulationHelpers_Settings_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_TriangulationHelpers_Settings_DestroyArray(). Use MR_TriangulationHelpers_Settings_OffsetMutablePtr() and MR_TriangulationHelpers_Settings_OffsetPtr() to access the array elements.

◆ MR_TriangulationHelpers_Settings_Destroy()

MRC_API void MR_TriangulationHelpers_Settings_Destroy ( const MR_TriangulationHelpers_Settings * _this)

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

◆ MR_TriangulationHelpers_Settings_DestroyArray()

MRC_API void MR_TriangulationHelpers_Settings_DestroyArray ( const MR_TriangulationHelpers_Settings * _this)

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

◆ MR_TriangulationHelpers_Settings_Get_actualRadius()

MRC_API float *const * MR_TriangulationHelpers_Settings_Get_actualRadius ( const MR_TriangulationHelpers_Settings * _this)

optional output: actual radius of neighbor search (after increase if any) Returns a pointer to a member variable of class MR::TriangulationHelpers::Settings named actualRadius. 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.

◆ MR_TriangulationHelpers_Settings_Get_allNeighbors()

MRC_API MR_std_vector_MR_VertId *const * MR_TriangulationHelpers_Settings_Get_allNeighbors ( const MR_TriangulationHelpers_Settings * _this)

optional output of considered neighbor points after filtering but before triangulation/optimization Returns a pointer to a member variable of class MR::TriangulationHelpers::Settings named allNeighbors. 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.

◆ MR_TriangulationHelpers_Settings_Get_automaticRadiusIncrease()

MRC_API const bool * MR_TriangulationHelpers_Settings_Get_automaticRadiusIncrease ( const MR_TriangulationHelpers_Settings * _this)

automatic increase of the radius if points outside can make triangles from original radius not-Delone Returns a pointer to a member variable of class MR::TriangulationHelpers::Settings named automaticRadiusIncrease. 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.

◆ MR_TriangulationHelpers_Settings_Get_boundaryAngle()

MRC_API const float * MR_TriangulationHelpers_Settings_Get_boundaryAngle ( const MR_TriangulationHelpers_Settings * _this)

the vertex is considered as boundary if its neighbor ring has angle more than this value Returns a pointer to a member variable of class MR::TriangulationHelpers::Settings named boundaryAngle. 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.

◆ MR_TriangulationHelpers_Settings_Get_critAngle()

MRC_API const float * MR_TriangulationHelpers_Settings_Get_critAngle ( const MR_TriangulationHelpers_Settings * _this)

max allowed angle for triangles in fan Returns a pointer to a member variable of class MR::TriangulationHelpers::Settings named critAngle. 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.

◆ MR_TriangulationHelpers_Settings_Get_maxRemoves()

MRC_API const int32_t * MR_TriangulationHelpers_Settings_Get_maxRemoves ( const MR_TriangulationHelpers_Settings * _this)

the maximum number of optimization steps (removals) in local triangulation Returns a pointer to a member variable of class MR::TriangulationHelpers::Settings named maxRemoves. 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.

◆ MR_TriangulationHelpers_Settings_Get_numNeis()

MRC_API const int32_t * MR_TriangulationHelpers_Settings_Get_numNeis ( const MR_TriangulationHelpers_Settings * _this)

initially selects given number of nearest neighbours; if numNeis is positive then radius must be zero Returns a pointer to a member variable of class MR::TriangulationHelpers::Settings named numNeis. 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.

◆ MR_TriangulationHelpers_Settings_Get_radius()

MRC_API const float * MR_TriangulationHelpers_Settings_Get_radius ( const MR_TriangulationHelpers_Settings * _this)

initial radius of search for neighbours, it can be increased automatically; if radius is positive then numNeis must be zero Returns a pointer to a member variable of class MR::TriangulationHelpers::Settings named radius. 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.

◆ MR_TriangulationHelpers_Settings_Get_searchNeighbors()

MRC_API const MR_PointCloud *const * MR_TriangulationHelpers_Settings_Get_searchNeighbors ( const MR_TriangulationHelpers_Settings * _this)

optional: if provided this cloud will be used for searching of neighbors (so it must have same validPoints) Returns a pointer to a member variable of class MR::TriangulationHelpers::Settings named searchNeighbors. 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.

◆ MR_TriangulationHelpers_Settings_Get_trustedNormals()

MRC_API const MR_VertCoords *const * MR_TriangulationHelpers_Settings_Get_trustedNormals ( const MR_TriangulationHelpers_Settings * _this)

if oriented normals are known, they will be used for neighbor points selection Returns a pointer to a member variable of class MR::TriangulationHelpers::Settings named trustedNormals. 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.

◆ MR_TriangulationHelpers_Settings_GetMutable_actualRadius()

MRC_API float ** MR_TriangulationHelpers_Settings_GetMutable_actualRadius ( MR_TriangulationHelpers_Settings * _this)

optional output: actual radius of neighbor search (after increase if any) Returns a mutable pointer to a member variable of class MR::TriangulationHelpers::Settings named actualRadius. 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.

◆ MR_TriangulationHelpers_Settings_GetMutable_allNeighbors()

MRC_API MR_std_vector_MR_VertId ** MR_TriangulationHelpers_Settings_GetMutable_allNeighbors ( MR_TriangulationHelpers_Settings * _this)

optional output of considered neighbor points after filtering but before triangulation/optimization Returns a mutable pointer to a member variable of class MR::TriangulationHelpers::Settings named allNeighbors. 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.

◆ MR_TriangulationHelpers_Settings_GetMutable_automaticRadiusIncrease()

MRC_API bool * MR_TriangulationHelpers_Settings_GetMutable_automaticRadiusIncrease ( MR_TriangulationHelpers_Settings * _this)

automatic increase of the radius if points outside can make triangles from original radius not-Delone Returns a mutable pointer to a member variable of class MR::TriangulationHelpers::Settings named automaticRadiusIncrease. 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.

◆ MR_TriangulationHelpers_Settings_GetMutable_boundaryAngle()

MRC_API float * MR_TriangulationHelpers_Settings_GetMutable_boundaryAngle ( MR_TriangulationHelpers_Settings * _this)

the vertex is considered as boundary if its neighbor ring has angle more than this value Returns a mutable pointer to a member variable of class MR::TriangulationHelpers::Settings named boundaryAngle. 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.

◆ MR_TriangulationHelpers_Settings_GetMutable_critAngle()

MRC_API float * MR_TriangulationHelpers_Settings_GetMutable_critAngle ( MR_TriangulationHelpers_Settings * _this)

max allowed angle for triangles in fan Returns a mutable pointer to a member variable of class MR::TriangulationHelpers::Settings named critAngle. 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.

◆ MR_TriangulationHelpers_Settings_GetMutable_maxRemoves()

MRC_API int32_t * MR_TriangulationHelpers_Settings_GetMutable_maxRemoves ( MR_TriangulationHelpers_Settings * _this)

the maximum number of optimization steps (removals) in local triangulation Returns a mutable pointer to a member variable of class MR::TriangulationHelpers::Settings named maxRemoves. 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.

◆ MR_TriangulationHelpers_Settings_GetMutable_numNeis()

MRC_API int32_t * MR_TriangulationHelpers_Settings_GetMutable_numNeis ( MR_TriangulationHelpers_Settings * _this)

initially selects given number of nearest neighbours; if numNeis is positive then radius must be zero Returns a mutable pointer to a member variable of class MR::TriangulationHelpers::Settings named numNeis. 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.

◆ MR_TriangulationHelpers_Settings_GetMutable_radius()

MRC_API float * MR_TriangulationHelpers_Settings_GetMutable_radius ( MR_TriangulationHelpers_Settings * _this)

initial radius of search for neighbours, it can be increased automatically; if radius is positive then numNeis must be zero Returns a mutable pointer to a member variable of class MR::TriangulationHelpers::Settings named radius. 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.

◆ MR_TriangulationHelpers_Settings_GetMutable_searchNeighbors()

MRC_API const MR_PointCloud ** MR_TriangulationHelpers_Settings_GetMutable_searchNeighbors ( MR_TriangulationHelpers_Settings * _this)

optional: if provided this cloud will be used for searching of neighbors (so it must have same validPoints) Returns a mutable pointer to a member variable of class MR::TriangulationHelpers::Settings named searchNeighbors. 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.

◆ MR_TriangulationHelpers_Settings_GetMutable_trustedNormals()

MRC_API const MR_VertCoords ** MR_TriangulationHelpers_Settings_GetMutable_trustedNormals ( MR_TriangulationHelpers_Settings * _this)

if oriented normals are known, they will be used for neighbor points selection Returns a mutable pointer to a member variable of class MR::TriangulationHelpers::Settings named trustedNormals. 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.

◆ MR_TriangulationHelpers_Settings_OffsetMutablePtr()

MRC_API MR_TriangulationHelpers_Settings * MR_TriangulationHelpers_Settings_OffsetMutablePtr ( MR_TriangulationHelpers_Settings * 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.

◆ MR_TriangulationHelpers_Settings_OffsetPtr()

MRC_API const MR_TriangulationHelpers_Settings * MR_TriangulationHelpers_Settings_OffsetPtr ( const MR_TriangulationHelpers_Settings * 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.

◆ MR_TriangulationHelpers_Settings_Set_actualRadius()

MRC_API void MR_TriangulationHelpers_Settings_Set_actualRadius ( MR_TriangulationHelpers_Settings * _this,
float * value )

optional output: actual radius of neighbor search (after increase if any) Modifies a member variable of class MR::TriangulationHelpers::Settings named actualRadius. Parameter _this can not be null. It is a single object.

◆ MR_TriangulationHelpers_Settings_Set_allNeighbors()

MRC_API void MR_TriangulationHelpers_Settings_Set_allNeighbors ( MR_TriangulationHelpers_Settings * _this,
MR_std_vector_MR_VertId * value )

optional output of considered neighbor points after filtering but before triangulation/optimization Modifies a member variable of class MR::TriangulationHelpers::Settings named allNeighbors. Parameter _this can not be null. It is a single object.

◆ MR_TriangulationHelpers_Settings_Set_automaticRadiusIncrease()

MRC_API void MR_TriangulationHelpers_Settings_Set_automaticRadiusIncrease ( MR_TriangulationHelpers_Settings * _this,
bool value )

automatic increase of the radius if points outside can make triangles from original radius not-Delone Modifies a member variable of class MR::TriangulationHelpers::Settings named automaticRadiusIncrease. Parameter _this can not be null. It is a single object.

◆ MR_TriangulationHelpers_Settings_Set_boundaryAngle()

MRC_API void MR_TriangulationHelpers_Settings_Set_boundaryAngle ( MR_TriangulationHelpers_Settings * _this,
float value )

the vertex is considered as boundary if its neighbor ring has angle more than this value Modifies a member variable of class MR::TriangulationHelpers::Settings named boundaryAngle. Parameter _this can not be null. It is a single object.

◆ MR_TriangulationHelpers_Settings_Set_critAngle()

MRC_API void MR_TriangulationHelpers_Settings_Set_critAngle ( MR_TriangulationHelpers_Settings * _this,
float value )

max allowed angle for triangles in fan Modifies a member variable of class MR::TriangulationHelpers::Settings named critAngle. Parameter _this can not be null. It is a single object.

◆ MR_TriangulationHelpers_Settings_Set_maxRemoves()

MRC_API void MR_TriangulationHelpers_Settings_Set_maxRemoves ( MR_TriangulationHelpers_Settings * _this,
int32_t value )

the maximum number of optimization steps (removals) in local triangulation Modifies a member variable of class MR::TriangulationHelpers::Settings named maxRemoves. Parameter _this can not be null. It is a single object.

◆ MR_TriangulationHelpers_Settings_Set_numNeis()

MRC_API void MR_TriangulationHelpers_Settings_Set_numNeis ( MR_TriangulationHelpers_Settings * _this,
int32_t value )

initially selects given number of nearest neighbours; if numNeis is positive then radius must be zero Modifies a member variable of class MR::TriangulationHelpers::Settings named numNeis. Parameter _this can not be null. It is a single object.

◆ MR_TriangulationHelpers_Settings_Set_radius()

MRC_API void MR_TriangulationHelpers_Settings_Set_radius ( MR_TriangulationHelpers_Settings * _this,
float value )

initial radius of search for neighbours, it can be increased automatically; if radius is positive then numNeis must be zero Modifies a member variable of class MR::TriangulationHelpers::Settings named radius. Parameter _this can not be null. It is a single object.

◆ MR_TriangulationHelpers_Settings_Set_searchNeighbors()

MRC_API void MR_TriangulationHelpers_Settings_Set_searchNeighbors ( MR_TriangulationHelpers_Settings * _this,
const MR_PointCloud * value )

optional: if provided this cloud will be used for searching of neighbors (so it must have same validPoints) Modifies a member variable of class MR::TriangulationHelpers::Settings named searchNeighbors. Parameter _this can not be null. It is a single object.

◆ MR_TriangulationHelpers_Settings_Set_trustedNormals()

MRC_API void MR_TriangulationHelpers_Settings_Set_trustedNormals ( MR_TriangulationHelpers_Settings * _this,
const MR_VertCoords * value )

if oriented normals are known, they will be used for neighbor points selection Modifies a member variable of class MR::TriangulationHelpers::Settings named trustedNormals. Parameter _this can not be null. It is a single object.

◆ MR_TriangulationHelpers_TriangulatedFanData_AssignFromAnother()

MRC_API MR_TriangulationHelpers_TriangulatedFanData * MR_TriangulationHelpers_TriangulatedFanData_AssignFromAnother ( MR_TriangulationHelpers_TriangulatedFanData * _this,
MR_PassBy _other_pass_by,
MR_TriangulationHelpers_TriangulatedFanData * _other )

Generated from a method of class MR::TriangulationHelpers::TriangulatedFanData named operator=. 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.

◆ MR_TriangulationHelpers_TriangulatedFanData_ConstructFromAnother()

MRC_API MR_TriangulationHelpers_TriangulatedFanData * MR_TriangulationHelpers_TriangulatedFanData_ConstructFromAnother ( MR_PassBy _other_pass_by,
MR_TriangulationHelpers_TriangulatedFanData * _other )

Generated from a constructor of class MR::TriangulationHelpers::TriangulatedFanData. Never returns null. Returns an instance allocated on the heap! Must call MR_TriangulationHelpers_TriangulatedFanData_Destroy() to free it when you're done using it.

◆ MR_TriangulationHelpers_TriangulatedFanData_DefaultConstruct()

MRC_API MR_TriangulationHelpers_TriangulatedFanData * MR_TriangulationHelpers_TriangulatedFanData_DefaultConstruct ( void )

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

◆ MR_TriangulationHelpers_TriangulatedFanData_DefaultConstructArray()

MRC_API MR_TriangulationHelpers_TriangulatedFanData * MR_TriangulationHelpers_TriangulatedFanData_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_TriangulationHelpers_TriangulatedFanData_DestroyArray(). Use MR_TriangulationHelpers_TriangulatedFanData_OffsetMutablePtr() and MR_TriangulationHelpers_TriangulatedFanData_OffsetPtr() to access the array elements.

◆ MR_TriangulationHelpers_TriangulatedFanData_Destroy()

MRC_API void MR_TriangulationHelpers_TriangulatedFanData_Destroy ( const MR_TriangulationHelpers_TriangulatedFanData * _this)

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

◆ MR_TriangulationHelpers_TriangulatedFanData_DestroyArray()

MRC_API void MR_TriangulationHelpers_TriangulatedFanData_DestroyArray ( const MR_TriangulationHelpers_TriangulatedFanData * _this)

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

◆ MR_TriangulationHelpers_TriangulatedFanData_Get_border()

MRC_API const MR_VertId * MR_TriangulationHelpers_TriangulatedFanData_Get_border ( const MR_TriangulationHelpers_TriangulatedFanData * _this)

first border edge (invalid if the center point is not on the boundary) triangle associated with this point is absent Returns a pointer to a member variable of class MR::TriangulationHelpers::TriangulatedFanData named border. 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.

◆ MR_TriangulationHelpers_TriangulatedFanData_Get_cacheAngleOrder()

MRC_API const MR_std_vector_std_pair_double_int32_t * MR_TriangulationHelpers_TriangulatedFanData_Get_cacheAngleOrder ( const MR_TriangulationHelpers_TriangulatedFanData * _this)

temporary reusable storage to avoid allocations for each point Returns a pointer to a member variable of class MR::TriangulationHelpers::TriangulatedFanData named cacheAngleOrder. 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.

◆ MR_TriangulationHelpers_TriangulatedFanData_Get_nearesetPoints()

MRC_API const MR_FewSmallest_MR_PointsProjectionResult * MR_TriangulationHelpers_TriangulatedFanData_Get_nearesetPoints ( const MR_TriangulationHelpers_TriangulatedFanData * _this)

the storage to collect n-nearest neighbours, here to avoid allocations for each point Returns a pointer to a member variable of class MR::TriangulationHelpers::TriangulatedFanData named nearesetPoints. 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.

◆ MR_TriangulationHelpers_TriangulatedFanData_Get_neighbors()

MRC_API const MR_std_vector_MR_VertId * MR_TriangulationHelpers_TriangulatedFanData_Get_neighbors ( const MR_TriangulationHelpers_TriangulatedFanData * _this)

clockwise points around center point in (optimized) triangle fan, each pair of points (as well as back()-front() pair) together with the center form a fan triangle Returns a pointer to a member variable of class MR::TriangulationHelpers::TriangulatedFanData named neighbors. 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.

◆ MR_TriangulationHelpers_TriangulatedFanData_GetMutable_border()

MRC_API MR_VertId * MR_TriangulationHelpers_TriangulatedFanData_GetMutable_border ( MR_TriangulationHelpers_TriangulatedFanData * _this)

first border edge (invalid if the center point is not on the boundary) triangle associated with this point is absent Returns a mutable pointer to a member variable of class MR::TriangulationHelpers::TriangulatedFanData named border. 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.

◆ MR_TriangulationHelpers_TriangulatedFanData_GetMutable_cacheAngleOrder()

MRC_API MR_std_vector_std_pair_double_int32_t * MR_TriangulationHelpers_TriangulatedFanData_GetMutable_cacheAngleOrder ( MR_TriangulationHelpers_TriangulatedFanData * _this)

temporary reusable storage to avoid allocations for each point Returns a mutable pointer to a member variable of class MR::TriangulationHelpers::TriangulatedFanData named cacheAngleOrder. 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.

◆ MR_TriangulationHelpers_TriangulatedFanData_GetMutable_nearesetPoints()

MRC_API MR_FewSmallest_MR_PointsProjectionResult * MR_TriangulationHelpers_TriangulatedFanData_GetMutable_nearesetPoints ( MR_TriangulationHelpers_TriangulatedFanData * _this)

the storage to collect n-nearest neighbours, here to avoid allocations for each point Returns a mutable pointer to a member variable of class MR::TriangulationHelpers::TriangulatedFanData named nearesetPoints. 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.

◆ MR_TriangulationHelpers_TriangulatedFanData_GetMutable_neighbors()

MRC_API MR_std_vector_MR_VertId * MR_TriangulationHelpers_TriangulatedFanData_GetMutable_neighbors ( MR_TriangulationHelpers_TriangulatedFanData * _this)

clockwise points around center point in (optimized) triangle fan, each pair of points (as well as back()-front() pair) together with the center form a fan triangle Returns a mutable pointer to a member variable of class MR::TriangulationHelpers::TriangulatedFanData named neighbors. 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.

◆ MR_TriangulationHelpers_TriangulatedFanData_OffsetMutablePtr()

MRC_API MR_TriangulationHelpers_TriangulatedFanData * MR_TriangulationHelpers_TriangulatedFanData_OffsetMutablePtr ( MR_TriangulationHelpers_TriangulatedFanData * 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.

◆ MR_TriangulationHelpers_TriangulatedFanData_OffsetPtr()

MRC_API const MR_TriangulationHelpers_TriangulatedFanData * MR_TriangulationHelpers_TriangulatedFanData_OffsetPtr ( const MR_TriangulationHelpers_TriangulatedFanData * 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.

◆ MR_TriangulationHelpers_TriangulatedFanData_Set_border()

MRC_API void MR_TriangulationHelpers_TriangulatedFanData_Set_border ( MR_TriangulationHelpers_TriangulatedFanData * _this,
MR_VertId value )

first border edge (invalid if the center point is not on the boundary) triangle associated with this point is absent Modifies a member variable of class MR::TriangulationHelpers::TriangulatedFanData named border. Parameter _this can not be null. It is a single object.

◆ MR_TriangulationHelpers_TriangulatedFanData_Set_cacheAngleOrder()

MRC_API void MR_TriangulationHelpers_TriangulatedFanData_Set_cacheAngleOrder ( MR_TriangulationHelpers_TriangulatedFanData * _this,
MR_PassBy value_pass_by,
MR_std_vector_std_pair_double_int32_t * value )

temporary reusable storage to avoid allocations for each point Modifies a member variable of class MR::TriangulationHelpers::TriangulatedFanData named cacheAngleOrder. Parameter _this can not be null. It is a single object.

◆ MR_TriangulationHelpers_TriangulatedFanData_Set_nearesetPoints()

MRC_API void MR_TriangulationHelpers_TriangulatedFanData_Set_nearesetPoints ( MR_TriangulationHelpers_TriangulatedFanData * _this,
MR_PassBy value_pass_by,
MR_FewSmallest_MR_PointsProjectionResult * value )

the storage to collect n-nearest neighbours, here to avoid allocations for each point Modifies a member variable of class MR::TriangulationHelpers::TriangulatedFanData named nearesetPoints. Parameter _this can not be null. It is a single object.

◆ MR_TriangulationHelpers_TriangulatedFanData_Set_neighbors()

MRC_API void MR_TriangulationHelpers_TriangulatedFanData_Set_neighbors ( MR_TriangulationHelpers_TriangulatedFanData * _this,
MR_PassBy value_pass_by,
MR_std_vector_MR_VertId * value )

clockwise points around center point in (optimized) triangle fan, each pair of points (as well as back()-front() pair) together with the center form a fan triangle Modifies a member variable of class MR::TriangulationHelpers::TriangulatedFanData named neighbors. Parameter _this can not be null. It is a single object.

◆ MR_TriangulationHelpers_updateNeighborsRadius()

MRC_API float MR_TriangulationHelpers_updateNeighborsRadius ( const MR_VertCoords * points,
MR_VertId v,
MR_VertId boundaryV,
const MR_std_vector_MR_VertId * fan,
float baseRadius )

Finds max radius of neighbors search, for possible better local triangulation.

Parameters
borderVfirst boundary vertex in
fan(next VertId in fan is also boundary but first is enough) Generated from function MR::TriangulationHelpers::updateNeighborsRadius. Parameter points can not be null. It is a single object. Parameter fan can not be null. It is a single object.