MeshLib C Docs
Loading...
Searching...
No Matches
MRPrecisePredicates2.h
Go to the documentation of this file.
1#pragma once
2
3#include <MRCMesh/MRId.h>
4#include <MRCMesh/MRVector2.h>
5#include <MRCMisc/common.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_std_array_MR_PreciseVertCoords2_3 MR_std_array_MR_PreciseVertCoords2_3; // Defined in `#include <MRCMisc/std_array_MR_PreciseVertCoords2_3.h>`.
16typedef struct MR_std_array_MR_PreciseVertCoords2_4 MR_std_array_MR_PreciseVertCoords2_4; // Defined in `#include <MRCMisc/std_array_MR_PreciseVertCoords2_4.h>`.
17typedef struct MR_std_array_MR_PreciseVertCoords2_6 MR_std_array_MR_PreciseVertCoords2_6; // Defined in `#include <MRCMisc/std_array_MR_PreciseVertCoords2_6.h>`.
18typedef struct MR_std_function_MR_Vector2f_from_const_MR_Vector2i_ref MR_std_function_MR_Vector2f_from_const_MR_Vector2i_ref; // Defined in `#include <MRCMisc/std_function_MR_Vector2f_from_const_MR_Vector2i_ref.h>`.
19typedef struct MR_std_function_MR_Vector2i_from_const_MR_Vector2f_ref MR_std_function_MR_Vector2i_from_const_MR_Vector2f_ref; // Defined in `#include <MRCMisc/std_function_MR_Vector2i_from_const_MR_Vector2f_ref.h>`.
20
21
24
27
30
34
40
45
51
57
62
68
72
77
81
84
87
92
95
98
104
111
117MRC_API bool MR_ccw_2(const MR_Vector2i *a, const MR_Vector2i *b);
118
125MRC_API bool MR_ccw_3(const MR_Vector2i *a, const MR_Vector2i *b, const MR_Vector2i *c);
126
132
137
143
149
154
160
164
169
173
176
179
184
187
190
196
202
205
213
222
229
234
237
243
248
254
260
265
271
275
280
284
287
290
295
298
301
305
311
318
323
327
332
337
341
346
350
355
359
362
365
369
372
375
380
388
397
406
407#ifdef __cplusplus
408} // extern "C"
409#endif
MRC_API MR_PreciseVertCoords2 * MR_PreciseVertCoords2_DefaultConstruct(void)
MRC_API MR_Vector2f MR_findSegmentSegmentIntersectionPrecise_5(const MR_Vector2f *a, const MR_Vector2f *b, const MR_Vector2f *c, const MR_Vector2f *d, MR_PassBy converters_pass_by, MR_CoordinateConverters2 *converters)
MRC_API MR_PreciseVertCoords2 * MR_PreciseVertCoords2_OffsetMutablePtr(MR_PreciseVertCoords2 *ptr, ptrdiff_t i)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
struct MR_std_array_MR_PreciseVertCoords2_3 MR_std_array_MR_PreciseVertCoords2_3
Definition MRPrecisePredicates2.h:15
MRC_API bool MR_smaller(const MR_PreciseVertCoord *l, const MR_PreciseVertCoord *r)
MRC_API bool MR_orientParaboloid3d_3(const MR_Vector2i *a, const MR_Vector2i *b, const MR_Vector2i *c)
MRC_API void MR_PreciseVertCoord_Set_pt(MR_PreciseVertCoord *_this, int value)
MRC_API MR_PreciseVertCoord * MR_PreciseVertCoord_DefaultConstructArray(size_t num_elems)
MRC_API MR_CoordinateConverters2 * MR_CoordinateConverters2_OffsetMutablePtr(MR_CoordinateConverters2 *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_PreciseVertCoord * MR_PreciseVertCoord_OffsetPtr(const MR_PreciseVertCoord *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_std_function_MR_Vector2f_from_const_MR_Vector2i_ref * MR_CoordinateConverters2_GetMutable_toFloat(MR_CoordinateConverters2 *_this)
MRC_API void MR_CoordinateConverters2_Destroy(const MR_CoordinateConverters2 *_this)
Destroys a heap-allocated instance of MR_CoordinateConverters2. Does nothing if the pointer is null.
MRC_API bool MR_ccw_2(const MR_Vector2i *a, const MR_Vector2i *b)
MRC_API void MR_PreciseVertCoord_DestroyArray(const MR_PreciseVertCoord *_this)
Destroys a heap-allocated array of MR_PreciseVertCoord. Does nothing if the pointer is null.
MRC_API void MR_PreciseVertCoords2_Set_pt(MR_PreciseVertCoords2 *_this, MR_Vector2i value)
MRC_API MR_CoordinateConverters2 * MR_CoordinateConverters2_AssignFromAnother(MR_CoordinateConverters2 *_this, MR_PassBy _other_pass_by, MR_CoordinateConverters2 *_other)
MRC_API void MR_SegmentSegmentIntersectResult_DestroyArray(const MR_SegmentSegmentIntersectResult *_this)
Destroys a heap-allocated array of MR_SegmentSegmentIntersectResult. Does nothing if the pointer is n...
MRC_API bool MR_segmentIntersectionOrder_std_array_MR_PreciseVertCoords2_6(const MR_std_array_MR_PreciseVertCoords2_6 *vs)
MRC_API bool MR_SegmentSegmentIntersectResult_ConvertTo_bool(const MR_SegmentSegmentIntersectResult *_this)
MRC_API void MR_PreciseVertCoord_Destroy(const MR_PreciseVertCoord *_this)
Destroys a heap-allocated instance of MR_PreciseVertCoord. Does nothing if the pointer is null.
MRC_API const MR_std_function_MR_Vector2i_from_const_MR_Vector2f_ref * MR_CoordinateConverters2_Get_toInt(const MR_CoordinateConverters2 *_this)
MRC_API MR_VertId * MR_PreciseVertCoord_GetMutable_id(MR_PreciseVertCoord *_this)
MRC_API void MR_CoordinateConverters2_Set_toInt(MR_CoordinateConverters2 *_this, MR_PassBy value_pass_by, MR_std_function_MR_Vector2i_from_const_MR_Vector2f_ref *value)
MRC_API int * MR_PreciseVertCoord_GetMutable_pt(MR_PreciseVertCoord *_this)
MRC_API bool MR_inCircle_std_array_MR_PreciseVertCoords2_4(const MR_std_array_MR_PreciseVertCoords2_4 *vs)
MRC_API void MR_PreciseVertCoords2_Set_id(MR_PreciseVertCoords2 *_this, MR_VertId value)
MRC_API const MR_std_function_MR_Vector2f_from_const_MR_Vector2i_ref * MR_CoordinateConverters2_Get_toFloat(const MR_CoordinateConverters2 *_this)
MRC_API MR_CoordinateConverters2 * MR_CoordinateConverters2_DefaultConstructArray(size_t num_elems)
MRC_API bool MR_ccw_1_std_array_MR_PreciseVertCoords2_3(const MR_std_array_MR_PreciseVertCoords2_3 *vs)
MRC_API MR_SegmentSegmentIntersectResult * MR_SegmentSegmentIntersectResult_AssignFromAnother(MR_SegmentSegmentIntersectResult *_this, const MR_SegmentSegmentIntersectResult *_other)
MRC_API MR_Vector2i * MR_PreciseVertCoords2_GetMutable_pt(MR_PreciseVertCoords2 *_this)
MRC_API MR_SegmentSegmentIntersectResult * MR_SegmentSegmentIntersectResult_DefaultConstructArray(size_t num_elems)
MRC_API bool MR_orientParaboloid3d_4(const MR_Vector2i *a, const MR_Vector2i *b, const MR_Vector2i *c, const MR_Vector2i *d)
MRC_API bool * MR_SegmentSegmentIntersectResult_GetMutable_cIsLeftFromAB(MR_SegmentSegmentIntersectResult *_this)
struct MR_std_array_MR_PreciseVertCoords2_6 MR_std_array_MR_PreciseVertCoords2_6
Definition MRPrecisePredicates2.h:17
struct MR_std_function_MR_Vector2f_from_const_MR_Vector2i_ref MR_std_function_MR_Vector2f_from_const_MR_Vector2i_ref
Definition MRPrecisePredicates2.h:18
struct MR_PreciseVertCoords2 MR_PreciseVertCoords2
Generated from class MR::PreciseVertCoords2.
Definition MRPrecisePredicates2.h:26
MRC_API MR_std_function_MR_Vector2i_from_const_MR_Vector2f_ref * MR_CoordinateConverters2_GetMutable_toInt(MR_CoordinateConverters2 *_this)
MRC_API void MR_CoordinateConverters2_DestroyArray(const MR_CoordinateConverters2 *_this)
Destroys a heap-allocated array of MR_CoordinateConverters2. Does nothing if the pointer is null.
MRC_API const MR_VertId * MR_PreciseVertCoord_Get_id(const MR_PreciseVertCoord *_this)
MRC_API const MR_VertId * MR_PreciseVertCoords2_Get_id(const MR_PreciseVertCoords2 *_this)
MRC_API MR_CoordinateConverters2 * MR_CoordinateConverters2_DefaultConstruct(void)
MRC_API MR_VertId * MR_PreciseVertCoords2_GetMutable_id(MR_PreciseVertCoords2 *_this)
struct MR_std_function_MR_Vector2i_from_const_MR_Vector2f_ref MR_std_function_MR_Vector2i_from_const_MR_Vector2f_ref
Definition MRPrecisePredicates2.h:19
MRC_API bool MR_smaller2(const MR_std_array_MR_PreciseVertCoords2_4 *vs)
MRC_API MR_PreciseVertCoord * MR_PreciseVertCoord_ConstructFromAnother(const MR_PreciseVertCoord *_other)
MRC_API MR_SegmentSegmentIntersectResult * MR_SegmentSegmentIntersectResult_OffsetMutablePtr(MR_SegmentSegmentIntersectResult *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_PreciseVertCoord * MR_PreciseVertCoord_AssignFromAnother(MR_PreciseVertCoord *_this, const MR_PreciseVertCoord *_other)
struct MR_std_array_MR_PreciseVertCoords2_4 MR_std_array_MR_PreciseVertCoords2_4
Definition MRPrecisePredicates2.h:16
MRC_API MR_SegmentSegmentIntersectResult * MR_doSegmentSegmentIntersect(const MR_std_array_MR_PreciseVertCoords2_4 *vs)
MRC_API const MR_PreciseVertCoords2 * MR_PreciseVertCoords2_OffsetPtr(const MR_PreciseVertCoords2 *ptr, ptrdiff_t i)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
struct MR_PreciseVertCoord MR_PreciseVertCoord
Generated from class MR::PreciseVertCoord.
Definition MRPrecisePredicates2.h:23
MRC_API MR_SegmentSegmentIntersectResult * MR_SegmentSegmentIntersectResult_ConstructFromAnother(const MR_SegmentSegmentIntersectResult *_other)
MRC_API const MR_SegmentSegmentIntersectResult * MR_SegmentSegmentIntersectResult_OffsetPtr(const MR_SegmentSegmentIntersectResult *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_PreciseVertCoords2_DestroyArray(const MR_PreciseVertCoords2 *_this)
Destroys a heap-allocated array of MR_PreciseVertCoords2. Does nothing if the pointer is null.
MRC_API void MR_CoordinateConverters2_Set_toFloat(MR_CoordinateConverters2 *_this, MR_PassBy value_pass_by, MR_std_function_MR_Vector2f_from_const_MR_Vector2i_ref *value)
struct MR_SegmentSegmentIntersectResult MR_SegmentSegmentIntersectResult
Generated from class MR::SegmentSegmentIntersectResult.
Definition MRPrecisePredicates2.h:29
MRC_API const MR_Vector2i * MR_PreciseVertCoords2_Get_pt(const MR_PreciseVertCoords2 *_this)
MRC_API MR_PreciseVertCoords2 * MR_PreciseVertCoords2_AssignFromAnother(MR_PreciseVertCoords2 *_this, const MR_PreciseVertCoords2 *_other)
MRC_API MR_CoordinateConverters2 * MR_CoordinateConverters2_ConstructFromAnother(MR_PassBy _other_pass_by, MR_CoordinateConverters2 *_other)
MRC_API MR_PreciseVertCoord * MR_PreciseVertCoord_DefaultConstruct(void)
MRC_API void MR_PreciseVertCoord_Set_id(MR_PreciseVertCoord *_this, MR_VertId value)
MRC_API bool MR_ccw_1_const_MR_PreciseVertCoords2_ptr(const MR_PreciseVertCoords2 *vs)
Generated from function MR::ccw.
MRC_API bool MR_ccw_3(const MR_Vector2i *a, const MR_Vector2i *b, const MR_Vector2i *c)
MRC_API MR_PreciseVertCoords2 * MR_PreciseVertCoords2_ConstructFromAnother(const MR_PreciseVertCoords2 *_other)
struct MR_CoordinateConverters2 MR_CoordinateConverters2
Definition MRPrecisePredicates2.h:33
MRC_API void MR_SegmentSegmentIntersectResult_Set_cIsLeftFromAB(MR_SegmentSegmentIntersectResult *_this, bool value)
MRC_API MR_CoordinateConverters2 * MR_CoordinateConverters2_ConstructFrom(MR_PassBy toInt_pass_by, MR_std_function_MR_Vector2i_from_const_MR_Vector2f_ref *toInt, MR_PassBy toFloat_pass_by, MR_std_function_MR_Vector2f_from_const_MR_Vector2i_ref *toFloat)
MRC_API void MR_SegmentSegmentIntersectResult_Destroy(const MR_SegmentSegmentIntersectResult *_this)
Destroys a heap-allocated instance of MR_SegmentSegmentIntersectResult. Does nothing if the pointer i...
MRC_API const bool * MR_SegmentSegmentIntersectResult_Get_doIntersect(const MR_SegmentSegmentIntersectResult *_this)
MRC_API const bool * MR_SegmentSegmentIntersectResult_Get_cIsLeftFromAB(const MR_SegmentSegmentIntersectResult *_this)
MRC_API const MR_CoordinateConverters2 * MR_CoordinateConverters2_OffsetPtr(const MR_CoordinateConverters2 *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_inCircle_const_MR_PreciseVertCoords2_ptr(const MR_PreciseVertCoords2 *vs)
Generated from function MR::inCircle.
MRC_API MR_PreciseVertCoords2 * MR_PreciseVertCoords2_DefaultConstructArray(size_t num_elems)
MRC_API MR_SegmentSegmentIntersectResult * MR_SegmentSegmentIntersectResult_DefaultConstruct(void)
MRC_API MR_PreciseVertCoords2 * MR_PreciseVertCoords2_ConstructFrom(MR_VertId id, MR_Vector2i pt)
MRC_API bool * MR_SegmentSegmentIntersectResult_GetMutable_doIntersect(MR_SegmentSegmentIntersectResult *_this)
MRC_API void MR_SegmentSegmentIntersectResult_Set_doIntersect(MR_SegmentSegmentIntersectResult *_this, bool value)
MRC_API const int * MR_PreciseVertCoord_Get_pt(const MR_PreciseVertCoord *_this)
MRC_API void MR_PreciseVertCoords2_Destroy(const MR_PreciseVertCoords2 *_this)
Destroys a heap-allocated instance of MR_PreciseVertCoords2. Does nothing if the pointer is null.
MRC_API MR_PreciseVertCoord * MR_PreciseVertCoord_OffsetMutablePtr(MR_PreciseVertCoord *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_Vector2i MR_findSegmentSegmentIntersectionPrecise_4(const MR_Vector2i *a, const MR_Vector2i *b, const MR_Vector2i *c, const MR_Vector2i *d)
MRC_API MR_SegmentSegmentIntersectResult * MR_SegmentSegmentIntersectResult_ConstructFrom(bool doIntersect, bool cIsLeftFromAB)
MRC_API MR_PreciseVertCoord * MR_PreciseVertCoord_ConstructFrom(MR_VertId id, int pt)
MR_PassBy
Definition common.h:19
#define MRC_API
Definition exports.h:11
Definition MRVector2.h:43
Definition MRVector2.h:27
Definition MRId.h:55