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#include <stdint.h>
11
12#ifdef __cplusplus
13extern "C" {
14#endif
15
16typedef struct MR_std_array_MR_PreciseVertCoords2_3 MR_std_array_MR_PreciseVertCoords2_3; // Defined in `#include <MRCMisc/std_array_MR_PreciseVertCoords2_3.h>`.
17typedef struct MR_std_array_MR_PreciseVertCoords2_4 MR_std_array_MR_PreciseVertCoords2_4; // Defined in `#include <MRCMisc/std_array_MR_PreciseVertCoords2_4.h>`.
18typedef struct MR_std_array_MR_PreciseVertCoords2_6 MR_std_array_MR_PreciseVertCoords2_6; // Defined in `#include <MRCMisc/std_array_MR_PreciseVertCoords2_6.h>`.
19typedef 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>`.
20typedef 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>`.
21
22
25
28
31
35
41
46
52
58
63
69
73
78
82
85
88
93
96
99
105
112
118MRC_API bool MR_ccw_2(const MR_Vector2i *a, const MR_Vector2i *b);
119
126MRC_API bool MR_ccw_3(const MR_Vector2i *a, const MR_Vector2i *b, const MR_Vector2i *c);
127
133
138
144
150
155
161
165
170
174
177
180
185
188
191
197
203
206
214
223
230
235
238
244
249
255
261
266
272
276
281
285
288
291
296
299
302
306
312
319
324
328
333
338
342
347
351
356
360
363
366
370
373
376
381
389
398
407
408#ifdef __cplusplus
409} // extern "C"
410#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:16
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 MR_PreciseVertCoord * MR_PreciseVertCoord_DefaultConstructArray(size_t num_elems)
MRC_API void MR_PreciseVertCoord_Set_pt(MR_PreciseVertCoord *_this, int32_t value)
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 MR_PreciseVertCoord * MR_PreciseVertCoord_ConstructFrom(MR_VertId id, int32_t pt)
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 int32_t * MR_PreciseVertCoord_GetMutable_pt(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 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:18
struct MR_std_function_MR_Vector2f_from_const_MR_Vector2i_ref MR_std_function_MR_Vector2f_from_const_MR_Vector2i_ref
Definition MRPrecisePredicates2.h:19
struct MR_PreciseVertCoords2 MR_PreciseVertCoords2
Generated from class MR::PreciseVertCoords2.
Definition MRPrecisePredicates2.h:27
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:20
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:17
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...
MRC_API const int32_t * MR_PreciseVertCoord_Get_pt(const MR_PreciseVertCoord *_this)
struct MR_PreciseVertCoord MR_PreciseVertCoord
Generated from class MR::PreciseVertCoord.
Definition MRPrecisePredicates2.h:24
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:30
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:34
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 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)
MR_PassBy
Definition common.h:19
#define MRC_API
Definition exports.h:11
Definition MRVector2.h:44
Definition MRVector2.h:28
Definition MRId.h:56