MeshLib C Docs
Loading...
Searching...
No Matches
MRPointCloudTriangulationHelpers.h
Go to the documentation of this file.
1#pragma once
2
3#include <MRCMesh/MRId.h>
4#include <MRCMisc/common.h>
5#include <MRCMisc/exports.h>
6
7#include <stdbool.h>
8#include <stddef.h>
9#include <stdint.h>
10
11#ifdef __cplusplus
12extern "C" {
13#endif
14
15typedef struct MR_FewSmallest_MR_PointsProjectionResult MR_FewSmallest_MR_PointsProjectionResult; // Defined in `#include <MRCMesh/MRFewSmallest.h>`.
16typedef struct MR_PointCloud MR_PointCloud; // Defined in `#include <MRCMesh/MRPointCloud.h>`.
17typedef struct MR_VertCoords MR_VertCoords; // Defined in `#include <MRCMesh/MRVector.h>`.
18typedef struct MR_std_function_bool_from_float MR_std_function_bool_from_float; // Defined in `#include <MRCMisc/std_function_bool_from_float.h>`.
19typedef struct MR_std_optional_MR_AllLocalTriangulations MR_std_optional_MR_AllLocalTriangulations; // Defined in `#include <MRCMisc/std_optional_MR_AllLocalTriangulations.h>`.
20typedef struct MR_std_optional_MR_VertBitSet MR_std_optional_MR_VertBitSet; // Defined in `#include <MRCMisc/std_optional_MR_VertBitSet.h>`.
21typedef struct MR_std_optional_std_vector_MR_SomeLocalTriangulations MR_std_optional_std_vector_MR_SomeLocalTriangulations; // Defined in `#include <MRCMisc/std_optional_std_vector_MR_SomeLocalTriangulations.h>`.
22typedef struct MR_std_vector_MR_VertId MR_std_vector_MR_VertId; // Defined in `#include <MRCMisc/std_vector_MR_VertId.h>`.
23typedef struct MR_std_vector_std_pair_double_int32_t MR_std_vector_std_pair_double_int32_t; // Defined in `#include <MRCMisc/std_vector_std_pair_double_int32_t.h>`.
24
25
28
35
38
48
57
70MRC_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);
71
80
81// profit of flipping this edge
86
87// profit of flipping this edge
91
92// profit of flipping this edge
97
98// index
103
104// index
108
109// index
114
115// id of prev neighbor
120
121// id of prev neighbor
125
126// id of prev neighbor
131
132// id of next neighbor
137
138// id of next neighbor
142
143// id of next neighbor
148
149// if this flag is true, edge cannot be flipped
154
155// if this flag is true, edge cannot be flipped
159
160// if this flag is true, edge cannot be flipped
165
169
174
178
181
184
189
192
195
201
206
211
216
223
229
236
242
247
253
260
266
273
279
284
290
294
299
302
305
309
312
315
320
327
333
340
347
353
360
366
371
377
383
388
394
400
405
411
417
422
428
434
439
445
451
456
462
468
473
479
485
490
496
500
505
508MRC_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);
509
512
515
520
523
526
532
539
549
558
573
581
582#ifdef __cplusplus
583} // extern "C"
584#endif
struct MR_std_function_bool_from_float MR_std_function_bool_from_float
Definition MR3mf.h:10
struct MR_VertCoords MR_VertCoords
Definition MRAABBTreePoints.h:22
struct MR_std_optional_MR_VertBitSet MR_std_optional_MR_VertBitSet
Definition MRCloseVertices.h:19
struct MR_PointCloud MR_PointCloud
Definition MRCtm.h:15
struct MR_std_vector_MR_VertId MR_std_vector_MR_VertId
Definition MREdgePaths.h:30
struct MR_FewSmallest_MR_PointsProjectionResult MR_FewSmallest_MR_PointsProjectionResult
Definition MRFewSmallest.h:19
struct MR_std_optional_MR_AllLocalTriangulations MR_std_optional_MR_AllLocalTriangulations
Definition MRLocalTriangulations.h:26
MRC_API int32_t * MR_TriangulationHelpers_FanOptimizerQueueElement_GetMutable_prevId(MR_TriangulationHelpers_FanOptimizerQueueElement *_this)
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 n...
MRC_API int32_t * MR_TriangulationHelpers_Settings_GetMutable_maxRemoves(MR_TriangulationHelpers_Settings *_this)
MRC_API MR_TriangulationHelpers_TriangulatedFanData * MR_TriangulationHelpers_TriangulatedFanData_ConstructFromAnother(MR_PassBy _other_pass_by, MR_TriangulationHelpers_TriangulatedFanData *_other)
MRC_API const float * MR_TriangulationHelpers_FanOptimizerQueueElement_Get_weight(const MR_TriangulationHelpers_FanOptimizerQueueElement *_this)
MRC_API const MR_PointCloud ** MR_TriangulationHelpers_Settings_GetMutable_searchNeighbors(MR_TriangulationHelpers_Settings *_this)
MRC_API void MR_TriangulationHelpers_FanOptimizerQueueElement_Set_prevId(MR_TriangulationHelpers_FanOptimizerQueueElement *_this, int32_t value)
MRC_API MR_TriangulationHelpers_FanOptimizerQueueElement * MR_TriangulationHelpers_FanOptimizerQueueElement_ConstructFromAnother(const MR_TriangulationHelpers_FanOptimizerQueueElement *_other)
struct MR_std_optional_std_vector_MR_SomeLocalTriangulations MR_std_optional_std_vector_MR_SomeLocalTriangulations
Definition MRPointCloudTriangulationHelpers.h:21
MRC_API void MR_TriangulationHelpers_buildLocalTriangulation(const MR_PointCloud *cloud, MR_VertId v, const MR_TriangulationHelpers_Settings *settings, MR_TriangulationHelpers_TriangulatedFanData *fanData)
MRC_API float * MR_TriangulationHelpers_Settings_GetMutable_boundaryAngle(MR_TriangulationHelpers_Settings *_this)
MRC_API const MR_std_vector_std_pair_double_int32_t * MR_TriangulationHelpers_TriangulatedFanData_Get_cacheAngleOrder(const MR_TriangulationHelpers_TriangulatedFanData *_this)
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 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 ...
MRC_API const bool * MR_TriangulationHelpers_Settings_Get_automaticRadiusIncrease(const MR_TriangulationHelpers_Settings *_this)
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 const int32_t * MR_TriangulationHelpers_FanOptimizerQueueElement_Get_prevId(const MR_TriangulationHelpers_FanOptimizerQueueElement *_this)
MRC_API void MR_TriangulationHelpers_Settings_Set_boundaryAngle(MR_TriangulationHelpers_Settings *_this, float value)
MRC_API MR_TriangulationHelpers_Settings * MR_TriangulationHelpers_Settings_AssignFromAnother(MR_TriangulationHelpers_Settings *_this, const MR_TriangulationHelpers_Settings *_other)
MRC_API bool MR_equal_MR_TriangulationHelpers_FanOptimizerQueueElement(const MR_TriangulationHelpers_FanOptimizerQueueElement *_this, const MR_TriangulationHelpers_FanOptimizerQueueElement *other)
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...
MRC_API void MR_TriangulationHelpers_FanOptimizerQueueElement_Set_id(MR_TriangulationHelpers_FanOptimizerQueueElement *_this, int32_t value)
MRC_API const MR_VertCoords ** MR_TriangulationHelpers_Settings_GetMutable_trustedNormals(MR_TriangulationHelpers_Settings *_this)
MRC_API const MR_PointCloud *const * MR_TriangulationHelpers_Settings_Get_searchNeighbors(const MR_TriangulationHelpers_Settings *_this)
MRC_API const bool * MR_TriangulationHelpers_FanOptimizerQueueElement_Get_stable(const MR_TriangulationHelpers_FanOptimizerQueueElement *_this)
MRC_API MR_TriangulationHelpers_TriangulatedFanData * MR_TriangulationHelpers_TriangulatedFanData_DefaultConstruct(void)
MRC_API bool * MR_TriangulationHelpers_Settings_GetMutable_automaticRadiusIncrease(MR_TriangulationHelpers_Settings *_this)
MRC_API MR_TriangulationHelpers_Settings * MR_TriangulationHelpers_Settings_DefaultConstruct(void)
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 p...
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...
MRC_API bool MR_less_MR_TriangulationHelpers_FanOptimizerQueueElement(const MR_TriangulationHelpers_FanOptimizerQueueElement *_this, const MR_TriangulationHelpers_FanOptimizerQueueElement *other)
MRC_API void MR_TriangulationHelpers_Settings_Set_critAngle(MR_TriangulationHelpers_Settings *_this, float value)
MRC_API void MR_TriangulationHelpers_Settings_Set_numNeis(MR_TriangulationHelpers_Settings *_this, int32_t value)
MRC_API void MR_TriangulationHelpers_Settings_Set_automaticRadiusIncrease(MR_TriangulationHelpers_Settings *_this, bool value)
MRC_API int32_t * MR_TriangulationHelpers_FanOptimizerQueueElement_GetMutable_id(MR_TriangulationHelpers_FanOptimizerQueueElement *_this)
MRC_API const MR_VertCoords *const * MR_TriangulationHelpers_Settings_Get_trustedNormals(const MR_TriangulationHelpers_Settings *_this)
MRC_API void MR_TriangulationHelpers_FanOptimizerQueueElement_DestroyArray(const MR_TriangulationHelpers_FanOptimizerQueueElement *_this)
Destroys a heap-allocated array of MR_TriangulationHelpers_FanOptimizerQueueElement....
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 MR_TriangulationHelpers_FanOptimizerQueueElement * MR_TriangulationHelpers_FanOptimizerQueueElement_DefaultConstruct(void)
MRC_API void MR_TriangulationHelpers_TriangulatedFanData_Set_border(MR_TriangulationHelpers_TriangulatedFanData *_this, MR_VertId value)
MRC_API void MR_TriangulationHelpers_FanOptimizerQueueElement_Set_weight(MR_TriangulationHelpers_FanOptimizerQueueElement *_this, float value)
MRC_API void MR_TriangulationHelpers_FanOptimizerQueueElement_Set_stable(MR_TriangulationHelpers_FanOptimizerQueueElement *_this, bool value)
MRC_API MR_TriangulationHelpers_FanOptimizerQueueElement * MR_TriangulationHelpers_FanOptimizerQueueElement_ConstructFrom(float weight, int32_t id, int32_t prevId, int32_t nextId, bool stable)
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 MR_TriangulationHelpers_Settings * MR_TriangulationHelpers_Settings_DefaultConstructArray(size_t num_elems)
MRC_API int32_t * MR_TriangulationHelpers_FanOptimizerQueueElement_GetMutable_nextId(MR_TriangulationHelpers_FanOptimizerQueueElement *_this)
MRC_API MR_TriangulationHelpers_TriangulatedFanData * MR_TriangulationHelpers_TriangulatedFanData_DefaultConstructArray(size_t num_elems)
MRC_API void MR_TriangulationHelpers_TriangulatedFanData_Destroy(const MR_TriangulationHelpers_TriangulatedFanData *_this)
Destroys a heap-allocated instance of MR_TriangulationHelpers_TriangulatedFanData....
MRC_API int32_t * MR_TriangulationHelpers_Settings_GetMutable_numNeis(MR_TriangulationHelpers_Settings *_this)
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)
MRC_API void MR_TriangulationHelpers_FanOptimizerQueueElement_Destroy(const MR_TriangulationHelpers_FanOptimizerQueueElement *_this)
Destroys a heap-allocated instance of MR_TriangulationHelpers_FanOptimizerQueueElement....
MRC_API float ** MR_TriangulationHelpers_Settings_GetMutable_actualRadius(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_Destroy(const MR_TriangulationHelpers_Settings *_this)
Destroys a heap-allocated instance of MR_TriangulationHelpers_Settings. Does nothing if the pointer i...
MRC_API const float * MR_TriangulationHelpers_Settings_Get_critAngle(const MR_TriangulationHelpers_Settings *_this)
MRC_API float *const * MR_TriangulationHelpers_Settings_Get_actualRadius(const MR_TriangulationHelpers_Settings *_this)
struct MR_TriangulationHelpers_TriangulatedFanData MR_TriangulationHelpers_TriangulatedFanData
Data with caches for optimizing fan triangulation.
Definition MRPointCloudTriangulationHelpers.h:34
MRC_API MR_FewSmallest_MR_PointsProjectionResult * MR_TriangulationHelpers_TriangulatedFanData_GetMutable_nearesetPoints(MR_TriangulationHelpers_TriangulatedFanData *_this)
MRC_API const MR_FewSmallest_MR_PointsProjectionResult * MR_TriangulationHelpers_TriangulatedFanData_Get_nearesetPoints(const MR_TriangulationHelpers_TriangulatedFanData *_this)
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)
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...
MRC_API float * MR_TriangulationHelpers_Settings_GetMutable_radius(MR_TriangulationHelpers_Settings *_this)
MRC_API void MR_TriangulationHelpers_Settings_Set_radius(MR_TriangulationHelpers_Settings *_this, float value)
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...
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 const float * MR_TriangulationHelpers_Settings_Get_radius(const MR_TriangulationHelpers_Settings *_this)
MRC_API const int32_t * MR_TriangulationHelpers_FanOptimizerQueueElement_Get_nextId(const MR_TriangulationHelpers_FanOptimizerQueueElement *_this)
MRC_API MR_TriangulationHelpers_Settings * MR_TriangulationHelpers_Settings_ConstructFromAnother(const MR_TriangulationHelpers_Settings *_other)
MRC_API void MR_TriangulationHelpers_Settings_Set_allNeighbors(MR_TriangulationHelpers_Settings *_this, MR_std_vector_MR_VertId *value)
MRC_API MR_TriangulationHelpers_FanOptimizerQueueElement * MR_TriangulationHelpers_FanOptimizerQueueElement_AssignFromAnother(MR_TriangulationHelpers_FanOptimizerQueueElement *_this, const MR_TriangulationHelpers_FanOptimizerQueueElement *_other)
MRC_API const int32_t * MR_TriangulationHelpers_FanOptimizerQueueElement_Get_id(const MR_TriangulationHelpers_FanOptimizerQueueElement *_this)
MRC_API MR_TriangulationHelpers_FanOptimizerQueueElement * MR_TriangulationHelpers_FanOptimizerQueueElement_DefaultConstructArray(size_t num_elems)
struct MR_std_vector_std_pair_double_int32_t MR_std_vector_std_pair_double_int32_t
Definition MRPointCloudTriangulationHelpers.h:23
MRC_API void MR_TriangulationHelpers_FanOptimizerQueueElement_Set_nextId(MR_TriangulationHelpers_FanOptimizerQueueElement *_this, int32_t value)
MRC_API bool * MR_TriangulationHelpers_FanOptimizerQueueElement_GetMutable_stable(MR_TriangulationHelpers_FanOptimizerQueueElement *_this)
MRC_API void MR_TriangulationHelpers_Settings_Set_maxRemoves(MR_TriangulationHelpers_Settings *_this, int32_t value)
MRC_API float * MR_TriangulationHelpers_FanOptimizerQueueElement_GetMutable_weight(MR_TriangulationHelpers_FanOptimizerQueueElement *_this)
MRC_API MR_std_vector_std_pair_double_int32_t * MR_TriangulationHelpers_TriangulatedFanData_GetMutable_cacheAngleOrder(MR_TriangulationHelpers_TriangulatedFanData *_this)
MRC_API MR_std_vector_MR_VertId *const * MR_TriangulationHelpers_Settings_Get_allNeighbors(const MR_TriangulationHelpers_Settings *_this)
struct MR_TriangulationHelpers_FanOptimizerQueueElement MR_TriangulationHelpers_FanOptimizerQueueElement
Generated from class MR::TriangulationHelpers::FanOptimizerQueueElement.
Definition MRPointCloudTriangulationHelpers.h:27
MRC_API const MR_VertId * MR_TriangulationHelpers_TriangulatedFanData_Get_border(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_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)
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...
MRC_API const MR_std_vector_MR_VertId * MR_TriangulationHelpers_TriangulatedFanData_Get_neighbors(const MR_TriangulationHelpers_TriangulatedFanData *_this)
MRC_API void MR_TriangulationHelpers_Settings_Set_actualRadius(MR_TriangulationHelpers_Settings *_this, float *value)
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_std_vector_MR_VertId ** MR_TriangulationHelpers_Settings_GetMutable_allNeighbors(MR_TriangulationHelpers_Settings *_this)
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 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...
MRC_API MR_TriangulationHelpers_TriangulatedFanData * MR_TriangulationHelpers_TriangulatedFanData_AssignFromAnother(MR_TriangulationHelpers_TriangulatedFanData *_this, MR_PassBy _other_pass_by, MR_TriangulationHelpers_TriangulatedFanData *_other)
MRC_API const int32_t * MR_TriangulationHelpers_Settings_Get_maxRemoves(const MR_TriangulationHelpers_Settings *_this)
MRC_API MR_VertId * MR_TriangulationHelpers_TriangulatedFanData_GetMutable_border(MR_TriangulationHelpers_TriangulatedFanData *_this)
struct MR_TriangulationHelpers_Settings MR_TriangulationHelpers_Settings
Generated from class MR::TriangulationHelpers::Settings.
Definition MRPointCloudTriangulationHelpers.h:37
MRC_API void MR_TriangulationHelpers_Settings_Set_trustedNormals(MR_TriangulationHelpers_Settings *_this, const MR_VertCoords *value)
MRC_API bool MR_TriangulationHelpers_FanOptimizerQueueElement_isOutdated(const MR_TriangulationHelpers_FanOptimizerQueueElement *_this, const MR_std_vector_MR_VertId *neighbors)
MRC_API void MR_TriangulationHelpers_Settings_Set_searchNeighbors(MR_TriangulationHelpers_Settings *_this, const MR_PointCloud *value)
MRC_API MR_std_vector_MR_VertId * MR_TriangulationHelpers_TriangulatedFanData_GetMutable_neighbors(MR_TriangulationHelpers_TriangulatedFanData *_this)
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)
MR_PassBy
Definition common.h:19
#define MRC_API
Definition exports.h:11
Definition MRId.h:56