MeshLib C Docs
Loading...
Searching...
No Matches
MRPolylineProject.h
Go to the documentation of this file.
1#pragma once
2
3#include <MRCMesh/MRId.h>
4#include <MRCMesh/MRVector2.h>
5#include <MRCMesh/MRVector3.h>
6#include <MRCMisc/exports.h>
7
8#include <stdbool.h>
9#include <stddef.h>
10
11#ifdef __cplusplus
12extern "C" {
13#endif
14
15typedef struct MR_AABBTreePolyline3 MR_AABBTreePolyline3; // Defined in `#include <MRCMesh/MRAABBTreePolyline.h>`.
16typedef struct MR_AffineXf2f MR_AffineXf2f; // Defined in `#include <MRCMesh/MRAffineXf.h>`.
17typedef struct MR_AffineXf3f MR_AffineXf3f; // Defined in `#include <MRCMesh/MRAffineXf.h>`.
18typedef struct MR_Line3f MR_Line3f; // Defined in `#include <MRCMesh/MRLine.h>`.
19typedef struct MR_Mesh MR_Mesh; // Defined in `#include <MRCMesh/MRMesh.h>`.
20typedef struct MR_Polyline2 MR_Polyline2; // Defined in `#include <MRCMesh/MRPolyline.h>`.
21typedef struct MR_Polyline3 MR_Polyline3; // Defined in `#include <MRCMesh/MRPolyline.h>`.
22typedef struct MR_UndirectedEdgeScalars MR_UndirectedEdgeScalars; // Defined in `#include <MRCMesh/MRVector.h>`.
23typedef struct MR_VertBitSet MR_VertBitSet; // Defined in `#include <MRCMesh/MRBitSet.h>`.
24typedef struct MR_VertCoords MR_VertCoords; // Defined in `#include <MRCMesh/MRVector.h>`.
25typedef struct MR_std_function_void_from_MR_UndirectedEdgeId_const_MR_Vector2f_ref_float MR_std_function_void_from_MR_UndirectedEdgeId_const_MR_Vector2f_ref_float; // Defined in `#include <MRCMisc/std_function_void_from_MR_UndirectedEdgeId_const_MR_Vector2f_ref_float.h>`.
26typedef struct MR_std_function_void_from_MR_UndirectedEdgeId_const_MR_Vector3f_ref_float MR_std_function_void_from_MR_UndirectedEdgeId_const_MR_Vector3f_ref_float; // Defined in `#include <MRCMisc/std_function_void_from_MR_UndirectedEdgeId_const_MR_Vector3f_ref_float.h>`.
27
28
31
37
40
43
49
55
60
66
72
77
83
89
94
100
104
109
113
116
119
124
127
130
134
140
145
151
156
162
168
173
179
185
190
196
200
205
209
212
215
220
224
229
232
235
239
245
250
256
261
267
273
278
284
290
295
301
305
310
314
317
320
325
328
331
337
343
348
354
360
365
371
377
382
388
392
397
401
404
407
412
415
418
424
438MRC_API MR_PolylineProjectionResult2 *MR_findProjectionOnPolyline2(const MR_Vector2f *pt, const MR_Polyline2 *polyline, const float *upDistLimitSq, MR_AffineXf2f *xf, const float *loDistLimitSq);
439
453MRC_API MR_PolylineProjectionResult3 *MR_findProjectionOnPolyline_MR_Vector3f(const MR_Vector3f *pt, const MR_Polyline3 *polyline, const float *upDistLimitSq, MR_AffineXf3f *xf, const float *loDistLimitSq);
454
455// id of source point from which closest point was searched
460
461// id of source point from which closest point was searched
465
466// id of source point from which closest point was searched
471
475
480
483
486
490
493
498
501
504
510
523MRC_API MR_PolylineProjectionResult3Arg *MR_findMaxProjectionOnPolyline(const MR_VertCoords *points, const MR_Polyline3 *polyline, const MR_VertBitSet *pointsRegion, MR_AffineXf3f *xf, const float *loDistLimitSq);
524
538MRC_API MR_PolylineProjectionResult3 *MR_findProjectionOnPolyline_MR_Line3f(const MR_Line3f *ln, const MR_Polyline3 *polyline, const float *upDistLimitSq, MR_AffineXf3f *xf, const float *loDistLimitSq);
539
555MRC_API MR_Polyline2ProjectionWithOffsetResult *MR_findProjectionOnPolyline2WithOffset(const MR_Vector2f *pt, const MR_Polyline2 *polyline, const MR_UndirectedEdgeScalars *offsetPerEdge, const float *upDistLimit, MR_AffineXf2f *xf, const float *loDistLimit);
556
572MRC_API MR_PolylineProjectionWithOffsetResult3 *MR_findProjectionOnPolylineWithOffset(const MR_Vector3f *pt, const MR_Polyline3 *polyline, const MR_UndirectedEdgeScalars *offsetPerEdge, const float *upDistLimit, MR_AffineXf3f *xf, const float *loDistLimit);
573
581
589
598
613MRC_API MR_PolylineProjectionResult3 *MR_findProjectionOnMeshEdges_MR_Vector3f(const MR_Vector3f *pt, const MR_Mesh *mesh, const MR_AABBTreePolyline3 *tree, const float *upDistLimitSq, MR_AffineXf3f *xf, const float *loDistLimitSq);
614
629MRC_API MR_PolylineProjectionResult3 *MR_findProjectionOnMeshEdges_MR_Line3f(const MR_Line3f *ln, const MR_Mesh *mesh, const MR_AABBTreePolyline3 *tree, const float *upDistLimitSq, MR_AffineXf3f *xf, const float *loDistLimitSq);
630
631#ifdef __cplusplus
632} // extern "C"
633#endif
struct MR_AABBTreePolyline3 MR_AABBTreePolyline3
Definition MRAABBTreeBase.h:22
struct MR_VertCoords MR_VertCoords
Definition MRAABBTreePoints.h:22
struct MR_Polyline3 MR_Polyline3
Definition MRAABBTreePolyline.h:16
struct MR_Polyline2 MR_Polyline2
Definition MRAABBTreePolyline.h:15
struct MR_VertBitSet MR_VertBitSet
Definition MRAABBTree.h:15
struct MR_UndirectedEdgeScalars MR_UndirectedEdgeScalars
Definition MRAggregateFlow.h:16
struct MR_Line3f MR_Line3f
Definition MRBestFit.h:18
struct MR_Mesh MR_Mesh
Definition MRCtm.h:13
MRC_API void MR_Polyline2ProjectionWithOffsetResult_Set_dist(MR_Polyline2ProjectionWithOffsetResult *_this, float value)
MRC_API MR_PolylineProjectionWithOffsetResult3 * MR_PolylineProjectionWithOffsetResult3_AssignFromAnother(MR_PolylineProjectionWithOffsetResult3 *_this, const MR_PolylineProjectionWithOffsetResult3 *_other)
MRC_API MR_Polyline2ProjectionWithOffsetResult * MR_Polyline2ProjectionWithOffsetResult_AssignFromAnother(MR_Polyline2ProjectionWithOffsetResult *_this, const MR_Polyline2ProjectionWithOffsetResult *_other)
MRC_API void MR_PolylineProjectionResult3_Destroy(const MR_PolylineProjectionResult3 *_this)
Destroys a heap-allocated instance of MR_PolylineProjectionResult3. Does nothing if the pointer is nu...
MRC_API float * MR_PolylineProjectionWithOffsetResult3_GetMutable_dist(MR_PolylineProjectionWithOffsetResult3 *_this)
MRC_API MR_PolylineProjectionWithOffsetResult3 * MR_PolylineProjectionWithOffsetResult3_DefaultConstruct(void)
MRC_API bool MR_PolylineProjectionResult2_valid(const MR_PolylineProjectionResult2 *_this)
MRC_API MR_Vector2f * MR_PolylineProjectionResult2_GetMutable_point(MR_PolylineProjectionResult2 *_this)
MRC_API const MR_UndirectedEdgeId * MR_PolylineProjectionResult3_Get_line(const MR_PolylineProjectionResult3 *_this)
MRC_API void MR_findEdgesInBall_MR_Polyline3(const MR_Polyline3 *polyline, const MR_Vector3f *center, float radius, const MR_std_function_void_from_MR_UndirectedEdgeId_const_MR_Vector3f_ref_float *foundCallback, MR_AffineXf3f *xf)
MRC_API void MR_PolylineProjectionResult3Arg_Set_pointId(MR_PolylineProjectionResult3Arg *_this, MR_VertId value)
struct MR_std_function_void_from_MR_UndirectedEdgeId_const_MR_Vector2f_ref_float MR_std_function_void_from_MR_UndirectedEdgeId_const_MR_Vector2f_ref_float
Definition MRPolylineProject.h:25
MRC_API MR_VertId * MR_PolylineProjectionResult3Arg_GetMutable_pointId(MR_PolylineProjectionResult3Arg *_this)
MRC_API MR_UndirectedEdgeId * MR_PolylineProjectionWithOffsetResult3_GetMutable_line(MR_PolylineProjectionWithOffsetResult3 *_this)
MRC_API const MR_UndirectedEdgeId * MR_PolylineProjectionResult2_Get_line(const MR_PolylineProjectionResult2 *_this)
MRC_API void MR_PolylineProjectionResult2_DestroyArray(const MR_PolylineProjectionResult2 *_this)
Destroys a heap-allocated array of MR_PolylineProjectionResult2. Does nothing if the pointer is null.
MRC_API const MR_PolylineProjectionResult3Arg * MR_PolylineProjectionResult3_StaticDowncastTo_MR_PolylineProjectionResult3Arg(const MR_PolylineProjectionResult3 *object)
MRC_API void MR_PolylineProjectionResult3_DestroyArray(const MR_PolylineProjectionResult3 *_this)
Destroys a heap-allocated array of MR_PolylineProjectionResult3. Does nothing if the pointer is null.
MRC_API MR_Polyline2ProjectionWithOffsetResult * MR_Polyline2ProjectionWithOffsetResult_OffsetMutablePtr(MR_Polyline2ProjectionWithOffsetResult *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_Polyline2ProjectionWithOffsetResult * MR_findProjectionOnPolyline2WithOffset(const MR_Vector2f *pt, const MR_Polyline2 *polyline, const MR_UndirectedEdgeScalars *offsetPerEdge, const float *upDistLimit, MR_AffineXf2f *xf, const float *loDistLimit)
computes the closest point on polyline to given point, respecting each edge offset
MRC_API MR_PolylineProjectionResult2 * MR_PolylineProjectionResult2_ConstructFrom(MR_UndirectedEdgeId line, MR_Vector2f point, float distSq)
MRC_API MR_PolylineProjectionResult2 * MR_PolylineProjectionResult2_OffsetMutablePtr(MR_PolylineProjectionResult2 *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_PolylineProjectionWithOffsetResult3_Set_dist(MR_PolylineProjectionWithOffsetResult3 *_this, float value)
MRC_API const MR_UndirectedEdgeId * MR_Polyline2ProjectionWithOffsetResult_Get_line(const MR_Polyline2ProjectionWithOffsetResult *_this)
MRC_API const MR_Vector3f * MR_PolylineProjectionWithOffsetResult3_Get_point(const MR_PolylineProjectionWithOffsetResult3 *_this)
MRC_API const MR_UndirectedEdgeId * MR_PolylineProjectionWithOffsetResult3_Get_line(const MR_PolylineProjectionWithOffsetResult3 *_this)
MRC_API void MR_findEdgesInBall_MR_Polyline2(const MR_Polyline2 *polyline, const MR_Vector2f *center, float radius, const MR_std_function_void_from_MR_UndirectedEdgeId_const_MR_Vector2f_ref_float *foundCallback, MR_AffineXf2f *xf)
struct MR_PolylineProjectionWithOffsetResult3 MR_PolylineProjectionWithOffsetResult3
Generated from class MR::PolylineProjectionWithOffsetResult3.
Definition MRPolylineProject.h:42
MRC_API void MR_Polyline2ProjectionWithOffsetResult_DestroyArray(const MR_Polyline2ProjectionWithOffsetResult *_this)
Destroys a heap-allocated array of MR_Polyline2ProjectionWithOffsetResult. Does nothing if the pointe...
MRC_API MR_PolylineProjectionResult3 * MR_PolylineProjectionResult3_ConstructFrom(MR_UndirectedEdgeId line, MR_Vector3f point, float distSq)
MRC_API MR_UndirectedEdgeId * MR_PolylineProjectionResult2_GetMutable_line(MR_PolylineProjectionResult2 *_this)
MRC_API MR_PolylineProjectionResult2 * MR_findProjectionOnPolyline2(const MR_Vector2f *pt, const MR_Polyline2 *polyline, const float *upDistLimitSq, MR_AffineXf2f *xf, const float *loDistLimitSq)
computes the closest point on polyline to given point
MRC_API MR_PolylineProjectionResult3 * MR_findProjectionOnPolyline_MR_Vector3f(const MR_Vector3f *pt, const MR_Polyline3 *polyline, const float *upDistLimitSq, MR_AffineXf3f *xf, const float *loDistLimitSq)
computes the closest point on polyline to given point
MRC_API float * MR_PolylineProjectionResult2_GetMutable_distSq(MR_PolylineProjectionResult2 *_this)
MRC_API MR_Polyline2ProjectionWithOffsetResult * MR_Polyline2ProjectionWithOffsetResult_DefaultConstructArray(size_t num_elems)
MRC_API MR_PolylineProjectionResult2 * MR_PolylineProjectionResult2_ConstructFromAnother(const MR_PolylineProjectionResult2 *_other)
MRC_API MR_PolylineProjectionWithOffsetResult3 * MR_PolylineProjectionWithOffsetResult3_DefaultConstructArray(size_t num_elems)
MRC_API MR_PolylineProjectionResult3Arg * MR_PolylineProjectionResult3_MutableStaticDowncastTo_MR_PolylineProjectionResult3Arg(MR_PolylineProjectionResult3 *object)
MRC_API MR_PolylineProjectionResult3Arg * MR_PolylineProjectionResult3Arg_DefaultConstruct(void)
MRC_API const MR_PolylineProjectionResult3Arg * MR_PolylineProjectionResult3Arg_OffsetPtr(const MR_PolylineProjectionResult3Arg *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_PolylineProjectionResult3_ConvertTo_bool(const MR_PolylineProjectionResult3 *_this)
MRC_API MR_UndirectedEdgeId * MR_PolylineProjectionResult3_GetMutable_line(MR_PolylineProjectionResult3 *_this)
MRC_API MR_PolylineProjectionResult3 * MR_findProjectionOnMeshEdges_MR_Line3f(const MR_Line3f *ln, const MR_Mesh *mesh, const MR_AABBTreePolyline3 *tree, const float *upDistLimitSq, MR_AffineXf3f *xf, const float *loDistLimitSq)
computes the closest point on the mesh edges (specified by the tree) to given straight line
MRC_API void MR_PolylineProjectionWithOffsetResult3_Destroy(const MR_PolylineProjectionWithOffsetResult3 *_this)
Destroys a heap-allocated instance of MR_PolylineProjectionWithOffsetResult3. Does nothing if the poi...
struct MR_PolylineProjectionResult2 MR_PolylineProjectionResult2
Generated from class MR::PolylineProjectionResult2.
Definition MRPolylineProject.h:30
MRC_API MR_PolylineProjectionWithOffsetResult3 * MR_PolylineProjectionWithOffsetResult3_OffsetMutablePtr(MR_PolylineProjectionWithOffsetResult3 *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 float * MR_Polyline2ProjectionWithOffsetResult_Get_dist(const MR_Polyline2ProjectionWithOffsetResult *_this)
MRC_API MR_PolylineProjectionResult2 * MR_PolylineProjectionResult2_DefaultConstructArray(size_t num_elems)
MRC_API MR_PolylineProjectionWithOffsetResult3 * MR_findProjectionOnPolylineWithOffset(const MR_Vector3f *pt, const MR_Polyline3 *polyline, const MR_UndirectedEdgeScalars *offsetPerEdge, const float *upDistLimit, MR_AffineXf3f *xf, const float *loDistLimit)
computes the closest point on polyline to given point, respecting each edge offset
MRC_API MR_PolylineProjectionResult3Arg * MR_PolylineProjectionResult3Arg_AssignFromAnother(MR_PolylineProjectionResult3Arg *_this, const MR_PolylineProjectionResult3Arg *_other)
MRC_API MR_PolylineProjectionWithOffsetResult3 * MR_PolylineProjectionWithOffsetResult3_ConstructFrom(MR_UndirectedEdgeId line, MR_Vector3f point, float dist)
MRC_API void MR_PolylineProjectionResult3_Set_line(MR_PolylineProjectionResult3 *_this, MR_UndirectedEdgeId value)
MRC_API MR_Polyline2ProjectionWithOffsetResult * MR_Polyline2ProjectionWithOffsetResult_ConstructFrom(MR_UndirectedEdgeId line, MR_Vector2f point, float dist)
MRC_API MR_Vector2f * MR_Polyline2ProjectionWithOffsetResult_GetMutable_point(MR_Polyline2ProjectionWithOffsetResult *_this)
MRC_API bool MR_PolylineProjectionResult3_valid(const MR_PolylineProjectionResult3 *_this)
MRC_API MR_Vector3f * MR_PolylineProjectionWithOffsetResult3_GetMutable_point(MR_PolylineProjectionWithOffsetResult3 *_this)
MRC_API void MR_PolylineProjectionResult2_Set_distSq(MR_PolylineProjectionResult2 *_this, float value)
struct MR_PolylineProjectionResult3 MR_PolylineProjectionResult3
Definition MRPolylineProject.h:36
MRC_API const MR_PolylineProjectionResult3 * MR_PolylineProjectionResult3_OffsetPtr(const MR_PolylineProjectionResult3 *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_PolylineProjectionResult3Arg * MR_PolylineProjectionResult3Arg_DefaultConstructArray(size_t num_elems)
MRC_API const MR_Vector3f * MR_PolylineProjectionResult3_Get_point(const MR_PolylineProjectionResult3 *_this)
MRC_API const MR_Vector2f * MR_Polyline2ProjectionWithOffsetResult_Get_point(const MR_Polyline2ProjectionWithOffsetResult *_this)
MRC_API MR_PolylineProjectionResult2 * MR_PolylineProjectionResult2_AssignFromAnother(MR_PolylineProjectionResult2 *_this, const MR_PolylineProjectionResult2 *_other)
MRC_API const float * MR_PolylineProjectionWithOffsetResult3_Get_dist(const MR_PolylineProjectionWithOffsetResult3 *_this)
MRC_API MR_Polyline2ProjectionWithOffsetResult * MR_Polyline2ProjectionWithOffsetResult_ConstructFromAnother(const MR_Polyline2ProjectionWithOffsetResult *_other)
MRC_API void MR_Polyline2ProjectionWithOffsetResult_Destroy(const MR_Polyline2ProjectionWithOffsetResult *_this)
Destroys a heap-allocated instance of MR_Polyline2ProjectionWithOffsetResult. Does nothing if the poi...
MRC_API MR_UndirectedEdgeId * MR_Polyline2ProjectionWithOffsetResult_GetMutable_line(MR_Polyline2ProjectionWithOffsetResult *_this)
MRC_API float * MR_PolylineProjectionResult3_GetMutable_distSq(MR_PolylineProjectionResult3 *_this)
struct MR_PolylineProjectionResult3Arg MR_PolylineProjectionResult3Arg
Definition MRPolylineProject.h:48
MRC_API MR_PolylineProjectionResult3 * MR_PolylineProjectionResult3_AssignFromAnother(MR_PolylineProjectionResult3 *_this, const MR_PolylineProjectionResult3 *_other)
MRC_API void MR_PolylineProjectionResult3Arg_DestroyArray(const MR_PolylineProjectionResult3Arg *_this)
Destroys a heap-allocated array of MR_PolylineProjectionResult3Arg. Does nothing if the pointer is nu...
MRC_API void MR_Polyline2ProjectionWithOffsetResult_Set_line(MR_Polyline2ProjectionWithOffsetResult *_this, MR_UndirectedEdgeId value)
MRC_API void MR_PolylineProjectionResult3Arg_Destroy(const MR_PolylineProjectionResult3Arg *_this)
Destroys a heap-allocated instance of MR_PolylineProjectionResult3Arg. Does nothing if the pointer is...
MRC_API void MR_PolylineProjectionWithOffsetResult3_Set_line(MR_PolylineProjectionWithOffsetResult3 *_this, MR_UndirectedEdgeId value)
MRC_API MR_PolylineProjectionResult3 * MR_PolylineProjectionResult3_DefaultConstructArray(size_t num_elems)
MRC_API void MR_PolylineProjectionResult2_Set_point(MR_PolylineProjectionResult2 *_this, MR_Vector2f value)
MRC_API void MR_findMeshEdgesInBall(const MR_Mesh *mesh, const MR_AABBTreePolyline3 *tree, const MR_Vector3f *center, float radius, const MR_std_function_void_from_MR_UndirectedEdgeId_const_MR_Vector3f_ref_float *foundCallback, MR_AffineXf3f *xf)
MRC_API MR_PolylineProjectionResult3 * MR_PolylineProjectionResult3_DefaultConstruct(void)
MRC_API void MR_PolylineProjectionResult2_Destroy(const MR_PolylineProjectionResult2 *_this)
Destroys a heap-allocated instance of MR_PolylineProjectionResult2. Does nothing if the pointer is nu...
MRC_API float * MR_Polyline2ProjectionWithOffsetResult_GetMutable_dist(MR_Polyline2ProjectionWithOffsetResult *_this)
MRC_API const MR_Vector2f * MR_PolylineProjectionResult2_Get_point(const MR_PolylineProjectionResult2 *_this)
MRC_API const MR_Polyline2ProjectionWithOffsetResult * MR_Polyline2ProjectionWithOffsetResult_OffsetPtr(const MR_Polyline2ProjectionWithOffsetResult *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_PolylineProjectionResult2_ConvertTo_bool(const MR_PolylineProjectionResult2 *_this)
MRC_API MR_PolylineProjectionResult3 * MR_findProjectionOnMeshEdges_MR_Vector3f(const MR_Vector3f *pt, const MR_Mesh *mesh, const MR_AABBTreePolyline3 *tree, const float *upDistLimitSq, MR_AffineXf3f *xf, const float *loDistLimitSq)
computes the closest point on the mesh edges (specified by the tree) to given point
MRC_API MR_PolylineProjectionResult3 * MR_PolylineProjectionResult3_ConstructFromAnother(const MR_PolylineProjectionResult3 *_other)
MRC_API MR_Vector3f * MR_PolylineProjectionResult3_GetMutable_point(MR_PolylineProjectionResult3 *_this)
MRC_API MR_PolylineProjectionWithOffsetResult3 * MR_PolylineProjectionWithOffsetResult3_ConstructFromAnother(const MR_PolylineProjectionWithOffsetResult3 *_other)
MRC_API const MR_PolylineProjectionResult3 * MR_PolylineProjectionResult3Arg_UpcastTo_MR_PolylineProjectionResult3(const MR_PolylineProjectionResult3Arg *object)
MRC_API const MR_PolylineProjectionWithOffsetResult3 * MR_PolylineProjectionWithOffsetResult3_OffsetPtr(const MR_PolylineProjectionWithOffsetResult3 *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_PolylineProjectionResult2_Set_line(MR_PolylineProjectionResult2 *_this, MR_UndirectedEdgeId value)
MRC_API MR_PolylineProjectionResult2 * MR_PolylineProjectionResult2_DefaultConstruct(void)
struct MR_std_function_void_from_MR_UndirectedEdgeId_const_MR_Vector3f_ref_float MR_std_function_void_from_MR_UndirectedEdgeId_const_MR_Vector3f_ref_float
Definition MRPolylineProject.h:26
MRC_API MR_PolylineProjectionResult3Arg * MR_findMaxProjectionOnPolyline(const MR_VertCoords *points, const MR_Polyline3 *polyline, const MR_VertBitSet *pointsRegion, MR_AffineXf3f *xf, const float *loDistLimitSq)
for each of points (pointsRegion) computes the closest point on polyline and returns the point for wh...
MRC_API void MR_PolylineProjectionWithOffsetResult3_DestroyArray(const MR_PolylineProjectionWithOffsetResult3 *_this)
Destroys a heap-allocated array of MR_PolylineProjectionWithOffsetResult3. Does nothing if the pointe...
MRC_API const float * MR_PolylineProjectionResult2_Get_distSq(const MR_PolylineProjectionResult2 *_this)
struct MR_Polyline2ProjectionWithOffsetResult MR_Polyline2ProjectionWithOffsetResult
Generated from class MR::Polyline2ProjectionWithOffsetResult.
Definition MRPolylineProject.h:39
MRC_API MR_Polyline2ProjectionWithOffsetResult * MR_Polyline2ProjectionWithOffsetResult_DefaultConstruct(void)
MRC_API void MR_PolylineProjectionResult3_Set_point(MR_PolylineProjectionResult3 *_this, MR_Vector3f value)
MRC_API const MR_VertId * MR_PolylineProjectionResult3Arg_Get_pointId(const MR_PolylineProjectionResult3Arg *_this)
MRC_API const float * MR_PolylineProjectionResult3_Get_distSq(const MR_PolylineProjectionResult3 *_this)
MRC_API MR_PolylineProjectionResult3Arg * MR_PolylineProjectionResult3Arg_OffsetMutablePtr(MR_PolylineProjectionResult3Arg *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_PolylineProjectionResult3 * MR_PolylineProjectionResult3_OffsetMutablePtr(MR_PolylineProjectionResult3 *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_PolylineProjectionResult3Arg * MR_PolylineProjectionResult3Arg_ConstructFromAnother(const MR_PolylineProjectionResult3Arg *_other)
MRC_API const MR_PolylineProjectionResult2 * MR_PolylineProjectionResult2_OffsetPtr(const MR_PolylineProjectionResult2 *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_PolylineProjectionResult3 * MR_findProjectionOnPolyline_MR_Line3f(const MR_Line3f *ln, const MR_Polyline3 *polyline, const float *upDistLimitSq, MR_AffineXf3f *xf, const float *loDistLimitSq)
computes the closest point on polyline to given straight line
MRC_API MR_PolylineProjectionResult3 * MR_PolylineProjectionResult3Arg_MutableUpcastTo_MR_PolylineProjectionResult3(MR_PolylineProjectionResult3Arg *object)
Upcasts an instance of MR::PolylineProjectionResult3Arg to its base class MR::PolylineProjectionResul...
MRC_API void MR_PolylineProjectionWithOffsetResult3_Set_point(MR_PolylineProjectionWithOffsetResult3 *_this, MR_Vector3f value)
MRC_API void MR_Polyline2ProjectionWithOffsetResult_Set_point(MR_Polyline2ProjectionWithOffsetResult *_this, MR_Vector2f value)
MRC_API void MR_PolylineProjectionResult3_Set_distSq(MR_PolylineProjectionResult3 *_this, float value)
#define MRC_API
Definition exports.h:11
Definition MRAffineXf.h:20
Definition MRAffineXf.h:36
Definition MRId.h:36
Definition MRVector2.h:44
Definition MRVector3.h:51
Definition MRId.h:56