MeshLib C Docs
Loading...
Searching...
No Matches
MRDistanceMap.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
10#ifdef __cplusplus
11extern "C" {
12#endif
13
14typedef struct MR_AffineXf3f MR_AffineXf3f; // Defined in `#include <MRCMesh/MRAffineXf.h>`.
15typedef struct MR_ContourToDistanceMapParams MR_ContourToDistanceMapParams; // Defined in `#include <MRCMesh/MRDistanceMapParams.h>`.
16typedef struct MR_Image MR_Image; // Defined in `#include <MRCMesh/MRImage.h>`.
17typedef struct MR_Matrix_float MR_Matrix_float; // Defined in `#include <MRCMesh/MRMatrix.h>`.
18typedef struct MR_MeshPart MR_MeshPart; // Defined in `#include <MRCMesh/MRMeshPart.h>`.
19typedef struct MR_MeshToDistanceMapParams MR_MeshToDistanceMapParams; // Defined in `#include <MRCMesh/MRDistanceMapParams.h>`.
20typedef struct MR_PixelBitSet MR_PixelBitSet; // Defined in `#include <MRCMesh/MRBitSet.h>`.
21typedef struct MR_Polyline2 MR_Polyline2; // Defined in `#include <MRCMesh/MRPolyline.h>`.
22typedef struct MR_RectIndexer MR_RectIndexer; // Defined in `#include <MRCMesh/MRRectIndexer.h>`.
23typedef struct MR_UndirectedEdgeScalars MR_UndirectedEdgeScalars; // Defined in `#include <MRCMesh/MRVector.h>`.
24typedef struct MR_Vector2i MR_Vector2i; // Defined in `#include <MRCMesh/MRVector2.h>`.
25typedef struct MR_expected_MR_DistanceMap_std_string MR_expected_MR_DistanceMap_std_string; // Defined in `#include <MRCMisc/expected_MR_DistanceMap_std_string.h>`.
26typedef struct MR_expected_MR_Mesh_std_string MR_expected_MR_Mesh_std_string; // Defined in `#include <MRCMisc/expected_MR_Mesh_std_string.h>`.
27typedef struct MR_std_function_bool_from_float MR_std_function_bool_from_float; // Defined in `#include <MRCMisc/std_function_bool_from_float.h>`.
28typedef struct MR_std_optional_MR_Vector3f MR_std_optional_MR_Vector3f; // Defined in `#include <MRCMisc/std_optional_MR_Vector3f.h>`.
29typedef struct MR_std_optional_float MR_std_optional_float; // Defined in `#include <MRCMisc/std_optional_float.h>`.
30typedef struct MR_std_pair_MR_DistanceMap_MR_DistanceMap MR_std_pair_MR_DistanceMap_MR_DistanceMap; // Defined in `#include <MRCMisc/std_pair_MR_DistanceMap_MR_DistanceMap.h>`.
31typedef struct MR_std_pair_MR_Polyline2_MR_AffineXf3f MR_std_pair_MR_Polyline2_MR_AffineXf3f; // Defined in `#include <MRCMisc/std_pair_MR_Polyline2_MR_AffineXf3f.h>`.
32typedef struct MR_std_pair_float_float MR_std_pair_float_float; // Defined in `#include <MRCMisc/std_pair_float_float.h>`.
33typedef struct MR_std_pair_uint64_t_uint64_t MR_std_pair_uint64_t_uint64_t; // Defined in `#include <MRCMisc/std_pair_uint64_t_uint64_t.h>`.
34typedef struct MR_std_vector_MR_MeshTriPoint MR_std_vector_MR_MeshTriPoint; // Defined in `#include <MRCMisc/std_vector_MR_MeshTriPoint.h>`.
35typedef struct MR_std_vector_MR_UndirectedEdgeId MR_std_vector_MR_UndirectedEdgeId; // Defined in `#include <MRCMisc/std_vector_MR_UndirectedEdgeId.h>`.
36typedef struct MR_std_vector_MR_Vector3f MR_std_vector_MR_Vector3f; // Defined in `#include <MRCMisc/std_vector_MR_Vector3f.h>`.
37typedef struct MR_std_vector_float MR_std_vector_float; // Defined in `#include <MRCMisc/std_vector_float.h>`.
38typedef struct MR_std_vector_std_pair_uint64_t_uint64_t MR_std_vector_std_pair_uint64_t_uint64_t; // Defined in `#include <MRCMisc/std_vector_std_pair_uint64_t_uint64_t.h>`.
39
40
49
57
62
74
78
82MRC_API const float *MR_DistanceMap_Get_NOT_VALID_VALUE(void);
83
87
92
95MRC_API const MR_DistanceMap *MR_DistanceMap_OffsetPtr(const MR_DistanceMap *ptr, ptrdiff_t i);
96
100
105
109
113MRC_API MR_DistanceMap *MR_DistanceMap_ConstructFromAnother(MR_PassBy _other_pass_by, MR_DistanceMap *_other);
114
121MRC_API MR_DistanceMap *MR_DistanceMap_Construct_2(MR_uint64_t resX, MR_uint64_t resY);
122
129
131MRC_API void MR_DistanceMap_Destroy(const MR_DistanceMap *_this);
132
135
141MRC_API MR_DistanceMap *MR_DistanceMap_AssignFromAnother(MR_DistanceMap *_this, MR_PassBy _other_pass_by, MR_DistanceMap *_other);
142
146MRC_API bool MR_DistanceMap_isValid_2(const MR_DistanceMap *_this, MR_uint64_t x, MR_uint64_t y);
147
151MRC_API bool MR_DistanceMap_isValid_1(const MR_DistanceMap *_this, MR_uint64_t i);
152
156MRC_API bool MR_DistanceMap_isInBounds_2(const MR_DistanceMap *_this, MR_uint64_t x, MR_uint64_t y);
157
161MRC_API bool MR_DistanceMap_isInBounds_1(const MR_DistanceMap *_this, MR_uint64_t i);
162
167MRC_API MR_std_optional_float *MR_DistanceMap_get_2(const MR_DistanceMap *_this, MR_uint64_t x, MR_uint64_t y);
168
173MRC_API MR_std_optional_float *MR_DistanceMap_get_1(const MR_DistanceMap *_this, MR_uint64_t i);
174
180MRC_API float *MR_DistanceMap_getValue_mut_2(MR_DistanceMap *_this, MR_uint64_t x, MR_uint64_t y);
181
184MRC_API float MR_DistanceMap_getValue_2(const MR_DistanceMap *_this, MR_uint64_t x, MR_uint64_t y);
185
189MRC_API float *MR_DistanceMap_getValue_mut_1(MR_DistanceMap *_this, MR_uint64_t i);
190
193MRC_API float MR_DistanceMap_getValue_1(const MR_DistanceMap *_this, MR_uint64_t i);
194
198
201MRC_API const float *MR_DistanceMap_data(const MR_DistanceMap *_this);
202
216
224MRC_API MR_std_optional_MR_Vector3f *MR_DistanceMap_unproject(const MR_DistanceMap *_this, MR_uint64_t x, MR_uint64_t y, const MR_AffineXf3f *toWorld);
225
239
244
252
259
266
273
280
287
291MRC_API void MR_DistanceMap_set_3(MR_DistanceMap *_this, MR_uint64_t x, MR_uint64_t y, float val);
292
296MRC_API void MR_DistanceMap_set_2(MR_DistanceMap *_this, MR_uint64_t i, float val);
297
301MRC_API void MR_DistanceMap_set_1(MR_DistanceMap *_this, MR_PassBy data_pass_by, MR_std_vector_float *data);
302
306MRC_API void MR_DistanceMap_unset_2(MR_DistanceMap *_this, MR_uint64_t x, MR_uint64_t y);
307
311MRC_API void MR_DistanceMap_unset_1(MR_DistanceMap *_this, MR_uint64_t i);
312
317
322
328
334
340
344MRC_API MR_uint64_t MR_DistanceMap_resX(const MR_DistanceMap *_this);
345
349MRC_API MR_uint64_t MR_DistanceMap_resY(const MR_DistanceMap *_this);
350
354MRC_API MR_uint64_t MR_DistanceMap_numPoints(const MR_DistanceMap *_this);
355
362
369
376
380MRC_API MR_uint64_t MR_DistanceMap_heapBytes(const MR_DistanceMap *_this);
381
385MRC_API void MR_DistanceMap_resize(MR_DistanceMap *_this, const MR_Vector2i *dims);
386
390MRC_API const MR_Vector2i *MR_DistanceMap_dims(const MR_DistanceMap *_this);
391
394MRC_API MR_uint64_t MR_DistanceMap_size(const MR_DistanceMap *_this);
395
400
404MRC_API MR_uint64_t MR_DistanceMap_toIndex(const MR_DistanceMap *_this, const MR_Vector2i *pos);
405
409MRC_API MR_DistanceMap *MR_combineXYderivativeMaps(MR_PassBy XYderivativeMaps_pass_by, MR_std_pair_MR_DistanceMap_MR_DistanceMap *XYderivativeMaps);
410
420
430
437
443
449
455
461
469
473
477
480
483
489
495
501
508
515
522
529
536
543
550
557
564
571
577
584
591
597
604
608
613
622
626
630
636
639
642
650
662
675
682MRC_API MR_std_vector_MR_Vector3f *MR_edgePointsFromContours(const MR_Polyline2 *polyline, float pixelSize, float threshold);
683
689MRC_API MR_Polyline2 *MR_distanceMapTo2DIsoPolyline_2(const MR_DistanceMap *distMap, float isoValue);
690
697
706MRC_API MR_std_pair_MR_Polyline2_MR_AffineXf3f *MR_distanceMapTo2DIsoPolyline_4(const MR_DistanceMap *distMap, const MR_AffineXf3f *xf, float isoValue, const bool *useDepth);
707
711MRC_API MR_Polyline2 *MR_distanceMapTo2DIsoPolyline_3_float(const MR_DistanceMap *distMap, float pixelSize, float isoValue);
712
717MRC_API MR_Polyline2 *MR_polylineOffset(const MR_Polyline2 *polyline, float pixelSize, float offset);
718
732MRC_API MR_Polyline2 *MR_contourUnion(const MR_Polyline2 *contoursA, const MR_Polyline2 *contoursB, const MR_ContourToDistanceMapParams *params, const float *offsetInside);
733
747MRC_API MR_Polyline2 *MR_contourIntersection(const MR_Polyline2 *contoursA, const MR_Polyline2 *contoursB, const MR_ContourToDistanceMapParams *params, const float *offsetInside);
748
762MRC_API MR_Polyline2 *MR_contourSubtract(const MR_Polyline2 *contoursA, const MR_Polyline2 *contoursB, const MR_ContourToDistanceMapParams *params, const float *offsetInside);
763
771
778MRC_API MR_Image *MR_convertDistanceMapToImage(const MR_DistanceMap *distMap, const float *threshold);
779
788MRC_API MR_expected_MR_DistanceMap_std_string *MR_convertImageToDistanceMap(const MR_Image *image, const float *threshold, const bool *invert);
789
790#ifdef __cplusplus
791} // extern "C"
792#endif
struct MR_std_function_bool_from_float MR_std_function_bool_from_float
Definition MR3mf.h:10
struct MR_Polyline2 MR_Polyline2
Definition MRAABBTreePolyline.h:20
struct MR_MeshPart MR_MeshPart
Definition MRAABBTree.h:19
struct MR_std_optional_MR_Vector3f MR_std_optional_MR_Vector3f
Definition MRAddVisualPropertiesMixin.h:37
struct MR_std_vector_MR_MeshTriPoint MR_std_vector_MR_MeshTriPoint
Definition MRAggregateFlow.h:23
struct MR_UndirectedEdgeScalars MR_UndirectedEdgeScalars
Definition MRAggregateFlow.h:16
struct MR_std_optional_float MR_std_optional_float
Definition MRBestFitPolynomial.h:14
struct MR_std_vector_MR_Vector3f MR_std_vector_MR_Vector3f
Definition MRBestFit.h:25
struct MR_PixelBitSet MR_PixelBitSet
Definition MRBitSet.h:102
struct MR_expected_MR_Mesh_std_string MR_expected_MR_Mesh_std_string
Definition MRCtm.h:24
MRC_API MR_Polyline2 * MR_polylineOffset(const MR_Polyline2 *polyline, float pixelSize, float offset)
MRC_API MR_expected_MR_DistanceMap_std_string * MR_convertImageToDistanceMap(const MR_Image *image, const float *threshold, const bool *invert)
struct MR_std_pair_uint64_t_uint64_t MR_std_pair_uint64_t_uint64_t
Definition MRDistanceMap.h:33
MRC_API MR_uint64_t MR_DistanceMap_heapBytes(const MR_DistanceMap *_this)
MRC_API float * MR_ContoursDistanceMapOptions_GetMutable_minDist(MR_ContoursDistanceMapOptions *_this)
MRC_API const float * MR_DistanceMap_Get_NOT_VALID_VALUE(void)
MRC_API float * MR_ContoursDistanceMapOptions_GetMutable_maxDist(MR_ContoursDistanceMapOptions *_this)
MRC_API void MR_DistanceMap_set_2(MR_DistanceMap *_this, MR_uint64_t i, float val)
MRC_API MR_ContoursDistanceMapOptions_SignedDetectionMethod * MR_ContoursDistanceMapOptions_GetMutable_signMethod(MR_ContoursDistanceMapOptions *_this)
MRC_API void MR_DistanceMap_unset_2(MR_DistanceMap *_this, MR_uint64_t x, MR_uint64_t y)
MRC_API MR_DistanceMap * MR_combineXYderivativeMaps(MR_PassBy XYderivativeMaps_pass_by, MR_std_pair_MR_DistanceMap_MR_DistanceMap *XYderivativeMaps)
MRC_API MR_std_vector_MR_UndirectedEdgeId ** MR_ContoursDistanceMapOptions_GetMutable_outClosestEdges(MR_ContoursDistanceMapOptions *_this)
MRC_API void MR_ContoursDistanceMapOptions_Set_offsetParameters(MR_ContoursDistanceMapOptions *_this, const MR_ContoursDistanceMapOffset *value)
struct MR_RectIndexer MR_RectIndexer
Definition MRDistanceMap.h:22
MRC_API MR_Image * MR_convertDistanceMapToImage(const MR_DistanceMap *distMap, const float *threshold)
MRC_API float MR_DistanceMap_getValue_1(const MR_DistanceMap *_this, MR_uint64_t i)
MRC_API bool MR_DistanceMap_isInBounds_2(const MR_DistanceMap *_this, MR_uint64_t x, MR_uint64_t y)
struct MR_MeshToDistanceMapParams MR_MeshToDistanceMapParams
Definition MRDistanceMap.h:19
MRC_API const float * MR_ContoursDistanceMapOptions_Get_maxDist(const MR_ContoursDistanceMapOptions *_this)
MRC_API void MR_ContoursDistanceMapOptions_Set_minDist(MR_ContoursDistanceMapOptions *_this, float value)
MRC_API const MR_RectIndexer * MR_DistanceMap_UpcastTo_MR_RectIndexer(const MR_DistanceMap *object)
struct MR_std_pair_MR_Polyline2_MR_AffineXf3f MR_std_pair_MR_Polyline2_MR_AffineXf3f
Definition MRDistanceMap.h:31
MRC_API float MR_DistanceMap_getValue_2(const MR_DistanceMap *_this, MR_uint64_t x, MR_uint64_t y)
MRC_API void MR_DistanceMap_resize(MR_DistanceMap *_this, const MR_Vector2i *dims)
MRC_API const MR_DistanceMap * MR_DistanceMap_sub_assign(MR_DistanceMap *_this, const MR_DistanceMap *rhs)
struct MR_std_pair_MR_DistanceMap_MR_DistanceMap MR_std_pair_MR_DistanceMap_MR_DistanceMap
Definition MRDistanceMap.h:30
MRC_API const MR_UndirectedEdgeScalars * MR_ContoursDistanceMapOffset_Get_perEdgeOffset(const MR_ContoursDistanceMapOffset *_this)
struct MR_std_vector_MR_UndirectedEdgeId MR_std_vector_MR_UndirectedEdgeId
Definition MRDistanceMap.h:35
MRC_API void MR_DistanceMap_invalidateAll(MR_DistanceMap *_this)
MRC_API MR_std_pair_uint64_t_uint64_t * MR_DistanceMap_getMinIndex(const MR_DistanceMap *_this)
MRC_API MR_std_optional_float * MR_DistanceMap_get_2(const MR_DistanceMap *_this, MR_uint64_t x, MR_uint64_t y)
MRC_API float * MR_DistanceMap_getValue_mut_2(MR_DistanceMap *_this, MR_uint64_t x, MR_uint64_t y)
MRC_API const MR_DistanceMap * MR_DistanceMap_mergeMax(MR_DistanceMap *_this, const MR_DistanceMap *rhs)
MRC_API MR_DistanceMap * MR_DistanceMap_ConstructFromAnother(MR_PassBy _other_pass_by, MR_DistanceMap *_other)
MRC_API MR_uint64_t MR_DistanceMap_size(const MR_DistanceMap *_this)
MRC_API MR_DistanceMap * MR_DistanceMap_DefaultConstructArray(size_t num_elems)
MRC_API void MR_DistanceMap_DestroyArray(const MR_DistanceMap *_this)
Destroys a heap-allocated array of MR_DistanceMap. Does nothing if the pointer is null.
MRC_API MR_Polyline2 * MR_contourIntersection(const MR_Polyline2 *contoursA, const MR_Polyline2 *contoursB, const MR_ContourToDistanceMapParams *params, const float *offsetInside)
computes the intersection of the shapes bounded by input 2d contours
struct MR_std_vector_std_pair_uint64_t_uint64_t MR_std_vector_std_pair_uint64_t_uint64_t
Definition MRDistanceMap.h:38
MRC_API void MR_DistanceMap_set_3(MR_DistanceMap *_this, MR_uint64_t x, MR_uint64_t y, float val)
MRC_API MR_DistanceMap * MR_DistanceMap_DefaultConstruct(void)
MRC_API MR_DistanceMap * MR_computeDistanceMap(const MR_MeshPart *mp, const MR_MeshToDistanceMapParams *params, MR_PassBy cb_pass_by, MR_std_function_bool_from_float *cb, MR_std_vector_MR_MeshTriPoint *outSamples)
struct MR_expected_MR_DistanceMap_std_string MR_expected_MR_DistanceMap_std_string
Definition MRDistanceMap.h:25
MRC_API MR_uint64_t MR_DistanceMap_resX(const MR_DistanceMap *_this)
MRC_API MR_ContoursDistanceMapOptions * MR_ContoursDistanceMapOptions_OffsetMutablePtr(MR_ContoursDistanceMapOptions *ptr, ptrdiff_t i)
MRC_API const MR_ContoursDistanceMapOptions * MR_ContoursDistanceMapOptions_OffsetPtr(const MR_ContoursDistanceMapOptions *ptr, ptrdiff_t i)
MRC_API void MR_DistanceMap_Destroy(const MR_DistanceMap *_this)
Destroys a heap-allocated instance of MR_DistanceMap. Does nothing if the pointer is null.
MRC_API MR_uint64_t MR_DistanceMap_resY(const MR_DistanceMap *_this)
MRC_API void MR_ContoursDistanceMapOptions_Set_region(MR_ContoursDistanceMapOptions *_this, const MR_PixelBitSet *value)
MRC_API MR_DistanceMap * MR_DistanceMap_Construct_1(const MR_Matrix_float *m)
MRC_API MR_uint64_t MR_DistanceMap_toIndex(const MR_DistanceMap *_this, const MR_Vector2i *pos)
MRC_API MR_std_pair_MR_Polyline2_MR_AffineXf3f * MR_distanceMapTo2DIsoPolyline_4(const MR_DistanceMap *distMap, const MR_AffineXf3f *xf, float isoValue, const bool *useDepth)
MRC_API const MR_PixelBitSet ** MR_ContoursDistanceMapOptions_GetMutable_region(MR_ContoursDistanceMapOptions *_this)
MRC_API void MR_ContoursDistanceMapOptions_Set_maxDist(MR_ContoursDistanceMapOptions *_this, float value)
MRC_API void MR_ContoursDistanceMapOptions_DestroyArray(const MR_ContoursDistanceMapOptions *_this)
Destroys a heap-allocated array of MR_ContoursDistanceMapOptions. Does nothing if the pointer is null...
MRC_API const MR_PixelBitSet *const * MR_ContoursDistanceMapOptions_Get_region(const MR_ContoursDistanceMapOptions *_this)
MRC_API MR_Polyline2 * MR_contourSubtract(const MR_Polyline2 *contoursA, const MR_Polyline2 *contoursB, const MR_ContourToDistanceMapParams *params, const float *offsetInside)
computes the difference between the shapes bounded by contoursA and the shapes bounded by contoursB
MRC_API void MR_DistanceMap_clear(MR_DistanceMap *_this)
MRC_API MR_std_optional_float * MR_DistanceMap_get_1(const MR_DistanceMap *_this, MR_uint64_t i)
MRC_API MR_uint64_t MR_DistanceMap_numPoints(const MR_DistanceMap *_this)
MRC_API bool MR_DistanceMap_isValid_1(const MR_DistanceMap *_this, MR_uint64_t i)
MRC_API MR_DistanceMap * MR_DistanceMap_min(const MR_DistanceMap *_this, const MR_DistanceMap *rhs)
MRC_API MR_expected_MR_Mesh_std_string * MR_distanceMapToMesh(const MR_DistanceMap *distMap, const MR_AffineXf3f *toWorld, MR_PassBy cb_pass_by, MR_std_function_bool_from_float *cb)
MRC_API const MR_Vector2i * MR_DistanceMap_dims(const MR_DistanceMap *_this)
struct MR_Matrix_float MR_Matrix_float
Definition MRDistanceMap.h:17
MR_ContoursDistanceMapOffset_OffsetType
Definition MRDistanceMap.h:51
@ MR_ContoursDistanceMapOffset_OffsetType_Shell
Definition MRDistanceMap.h:55
@ MR_ContoursDistanceMapOffset_OffsetType_Normal
distance map from given polyline with values offset
Definition MRDistanceMap.h:53
MRC_API MR_Polyline2 * MR_distanceMapTo2DIsoPolyline_2(const MR_DistanceMap *distMap, float isoValue)
MRC_API void MR_ContoursDistanceMapOffset_Set_type(MR_ContoursDistanceMapOffset *_this, MR_ContoursDistanceMapOffset_OffsetType value)
MRC_API MR_DistanceMap * MR_DistanceMap_OffsetMutablePtr(MR_DistanceMap *ptr, ptrdiff_t i)
MRC_API const float * MR_DistanceMap_data(const MR_DistanceMap *_this)
MRC_API MR_std_vector_MR_UndirectedEdgeId *const * MR_ContoursDistanceMapOptions_Get_outClosestEdges(const MR_ContoursDistanceMapOptions *_this)
MRC_API const MR_DistanceMap * MR_DistanceMap_mergeMin(MR_DistanceMap *_this, const MR_DistanceMap *rhs)
MRC_API MR_Polyline2 * MR_distanceMapTo2DIsoPolyline_3_float(const MR_DistanceMap *distMap, float pixelSize, float isoValue)
MRC_API MR_ContoursDistanceMapOffset * MR_ContoursDistanceMapOffset_OffsetMutablePtr(MR_ContoursDistanceMapOffset *ptr, ptrdiff_t i)
MRC_API MR_RectIndexer * MR_DistanceMap_MutableUpcastTo_MR_RectIndexer(MR_DistanceMap *object)
MRC_API const MR_DistanceMap * MR_DistanceMap_OffsetPtr(const MR_DistanceMap *ptr, ptrdiff_t i)
MRC_API MR_std_optional_MR_Vector3f * MR_DistanceMap_unproject(const MR_DistanceMap *_this, MR_uint64_t x, MR_uint64_t y, const MR_AffineXf3f *toWorld)
MRC_API bool MR_DistanceMap_isInBounds_1(const MR_DistanceMap *_this, MR_uint64_t i)
MRC_API void MR_ContoursDistanceMapOptions_Destroy(const MR_ContoursDistanceMapOptions *_this)
Destroys a heap-allocated instance of MR_ContoursDistanceMapOptions. Does nothing if the pointer is n...
MRC_API MR_ContoursDistanceMapOffset_OffsetType * MR_ContoursDistanceMapOffset_GetMutable_type(MR_ContoursDistanceMapOffset *_this)
MRC_API MR_std_optional_MR_Vector3f * MR_DistanceMap_unprojectInterpolated(const MR_DistanceMap *_this, float x, float y, const MR_AffineXf3f *toWorld)
finds 3d coordinates of the Point on the model surface for the (x,y) interpolated value
MRC_API MR_std_vector_MR_Vector3f * MR_edgePointsFromContours(const MR_Polyline2 *polyline, float pixelSize, float threshold)
MRC_API MR_std_vector_std_pair_uint64_t_uint64_t * MR_DistanceMap_getLocalMaximums(const MR_DistanceMap *_this)
struct MR_std_pair_float_float MR_std_pair_float_float
Definition MRDistanceMap.h:32
MRC_API MR_ContoursDistanceMapOptions * MR_ContoursDistanceMapOptions_ConstructFrom(MR_ContoursDistanceMapOptions_SignedDetectionMethod signMethod, const MR_ContoursDistanceMapOffset *offsetParameters, const MR_PixelBitSet *region, MR_std_vector_MR_UndirectedEdgeId *outClosestEdges, float minDist, float maxDist)
MRC_API const MR_ContoursDistanceMapOffset ** MR_ContoursDistanceMapOptions_GetMutable_offsetParameters(MR_ContoursDistanceMapOptions *_this)
MRC_API MR_ContoursDistanceMapOptions * MR_ContoursDistanceMapOptions_DefaultConstruct(void)
MRC_API void MR_distanceMapFromContours_4(MR_DistanceMap *distMap, const MR_Polyline2 *polyline, const MR_ContourToDistanceMapParams *params, const MR_ContoursDistanceMapOptions *options)
Computes distance of 2d contours according ContourToDistanceMapParams.
MRC_API MR_std_optional_float * MR_DistanceMap_getInterpolated(const MR_DistanceMap *_this, float x, float y)
finds interpolated value.
MRC_API float * MR_DistanceMap_data_mut(MR_DistanceMap *_this)
MRC_API const float * MR_ContoursDistanceMapOptions_Get_minDist(const MR_ContoursDistanceMapOptions *_this)
MRC_API MR_std_pair_MR_DistanceMap_MR_DistanceMap * MR_DistanceMap_getXYDerivativeMaps(const MR_DistanceMap *_this)
MRC_API MR_ContoursDistanceMapOptions * MR_ContoursDistanceMapOptions_ConstructFromAnother(const MR_ContoursDistanceMapOptions *_other)
MRC_API void MR_DistanceMap_unset_1(MR_DistanceMap *_this, MR_uint64_t i)
MRC_API MR_ContoursDistanceMapOffset * MR_ContoursDistanceMapOffset_ConstructFrom(const MR_UndirectedEdgeScalars *perEdgeOffset, MR_ContoursDistanceMapOffset_OffsetType type)
MR_ContoursDistanceMapOptions_SignedDetectionMethod
method to calculate sign
Definition MRDistanceMap.h:65
@ MR_ContoursDistanceMapOptions_SignedDetectionMethod_WindingRule
Definition MRDistanceMap.h:72
@ MR_ContoursDistanceMapOptions_SignedDetectionMethod_ContourOrientation
Definition MRDistanceMap.h:69
MRC_API MR_ContoursDistanceMapOptions * MR_ContoursDistanceMapOptions_AssignFromAnother(MR_ContoursDistanceMapOptions *_this, const MR_ContoursDistanceMapOptions *_other)
MRC_API void MR_ContoursDistanceMapOptions_Set_signMethod(MR_ContoursDistanceMapOptions *_this, MR_ContoursDistanceMapOptions_SignedDetectionMethod value)
MRC_API MR_ContoursDistanceMapOffset * MR_ContoursDistanceMapOffset_ConstructFromAnother(const MR_ContoursDistanceMapOffset *_other)
MRC_API void MR_DistanceMap_negate(MR_DistanceMap *_this)
MRC_API float * MR_DistanceMap_getValue_mut_1(MR_DistanceMap *_this, MR_uint64_t i)
MRC_API MR_DistanceMap * MR_DistanceMap_AssignFromAnother(MR_DistanceMap *_this, MR_PassBy _other_pass_by, MR_DistanceMap *_other)
MRC_API MR_std_pair_float_float * MR_DistanceMap_getMinMaxValues(const MR_DistanceMap *_this)
struct MR_ContourToDistanceMapParams MR_ContourToDistanceMapParams
Definition MRDistanceMap.h:15
MRC_API MR_DistanceMap * MR_distanceMapFromContours_3(const MR_Polyline2 *contours, const MR_ContourToDistanceMapParams *params, const MR_ContoursDistanceMapOptions *options)
Computes distance of 2d contours according ContourToDistanceMapParams.
MRC_API const MR_ContoursDistanceMapOffset * MR_ContoursDistanceMapOffset_OffsetPtr(const MR_ContoursDistanceMapOffset *ptr, ptrdiff_t i)
MRC_API MR_PixelId MR_DistanceMap_toPixelId(const MR_DistanceMap *_this, const MR_Vector2i *pos)
MRC_API void MR_ContoursDistanceMapOffset_Destroy(const MR_ContoursDistanceMapOffset *_this)
Destroys a heap-allocated instance of MR_ContoursDistanceMapOffset. Does nothing if the pointer is nu...
struct MR_ContoursDistanceMapOffset MR_ContoursDistanceMapOffset
Definition MRDistanceMap.h:61
MRC_API const MR_ContoursDistanceMapOffset *const * MR_ContoursDistanceMapOptions_Get_offsetParameters(const MR_ContoursDistanceMapOptions *_this)
MRC_API const MR_ContoursDistanceMapOffset_OffsetType * MR_ContoursDistanceMapOffset_Get_type(const MR_ContoursDistanceMapOffset *_this)
MRC_API MR_Polyline2 * MR_contourUnion(const MR_Polyline2 *contoursA, const MR_Polyline2 *contoursB, const MR_ContourToDistanceMapParams *params, const float *offsetInside)
computes the union of the shapes bounded by input 2d contours
MRC_API MR_DistanceMap * MR_DistanceMap_max(const MR_DistanceMap *_this, const MR_DistanceMap *rhs)
MRC_API MR_std_pair_uint64_t_uint64_t * MR_DistanceMap_getMaxIndex(const MR_DistanceMap *_this)
MRC_API MR_DistanceMap * MR_sub_MR_DistanceMap(const MR_DistanceMap *_this, const MR_DistanceMap *rhs)
MRC_API MR_DistanceMap * MR_DistanceMap_Construct_2(MR_uint64_t resX, MR_uint64_t resY)
MRC_API MR_ContoursDistanceMapOptions * MR_ContoursDistanceMapOptions_DefaultConstructArray(size_t num_elems)
MRC_API MR_Polyline2 * MR_distanceMapTo2DIsoPolyline_3_MR_ContourToDistanceMapParams(const MR_DistanceMap *distMap, const MR_ContourToDistanceMapParams *params, float isoValue)
MRC_API MR_DistanceMap * MR_DistanceMap_getDerivativeMap(const MR_DistanceMap *_this)
MRC_API void MR_DistanceMap_set_1(MR_DistanceMap *_this, MR_PassBy data_pass_by, MR_std_vector_float *data)
MRC_API void MR_ContoursDistanceMapOffset_DestroyArray(const MR_ContoursDistanceMapOffset *_this)
Destroys a heap-allocated array of MR_ContoursDistanceMapOffset. Does nothing if the pointer is null.
MRC_API void MR_ContoursDistanceMapOptions_Set_outClosestEdges(MR_ContoursDistanceMapOptions *_this, MR_std_vector_MR_UndirectedEdgeId *value)
struct MR_ContoursDistanceMapOptions MR_ContoursDistanceMapOptions
Definition MRDistanceMap.h:77
MRC_API const MR_ContoursDistanceMapOptions_SignedDetectionMethod * MR_ContoursDistanceMapOptions_Get_signMethod(const MR_ContoursDistanceMapOptions *_this)
MRC_API bool MR_DistanceMap_isValid_2(const MR_DistanceMap *_this, MR_uint64_t x, MR_uint64_t y)
MRC_API MR_DistanceMap * MR_computeDistanceMapD(const MR_MeshPart *mp, const MR_MeshToDistanceMapParams *params, MR_PassBy cb_pass_by, MR_std_function_bool_from_float *cb, MR_std_vector_MR_MeshTriPoint *outSamples)
struct MR_Image MR_Image
Definition MRJpeg.h:12
struct MR_std_vector_float MR_std_vector_float
Definition MRPdf.h:27
struct MR_DistanceMap MR_DistanceMap
Definition MRTiff.h:9
Definition MRAffineXf.h:39
Definition MRId.h:65
Generated from class MR::Vector2i.
Definition MRVector2.h:50