MeshLib C Docs
Loading...
Searching...
No Matches
MREdgePoint.h
Go to the documentation of this file.
1#pragma once
2
3#include <MRCMesh/MRId.h>
4#include <MRCMisc/exports.h>
5
6#include <stdbool.h>
7#include <stddef.h>
8
9#ifdef __cplusplus
10extern "C" {
11#endif
12
13typedef struct MR_FaceBitSet MR_FaceBitSet; // Defined in `#include <MRCMesh/MRBitSet.h>`.
14typedef struct MR_MeshTopology MR_MeshTopology; // Defined in `#include <MRCMesh/MRMeshTopology.h>`.
15typedef struct MR_PolylineTopology MR_PolylineTopology; // Defined in `#include <MRCMesh/MRPolylineTopology.h>`.
16typedef struct MR_SegmPointf MR_SegmPointf; // Defined in `#include <MRCMesh/MRSegmPoint.h>`.
17
18
23
28
33
38
44
49
55
63
69
73
78
82
86
92
97
104
111
114
117
121
129
135
141
147
153
158
163
169MRC_API bool MR_EdgePoint_isBd(const MR_EdgePoint *_this, const MR_MeshTopology *topology, const MR_FaceBitSet *region);
170
175
181
187
193MRC_API bool MR_same_MR_EdgePoint(const MR_MeshTopology *topology, const MR_EdgePoint *lhs, const MR_EdgePoint *rhs);
194
199
206
211
216
223
228
232
237
241
245
251
259
262
265
273
279
285
292
298
304
312
318
324
332
338
342
347
351
355
361
367MRC_API MR_EdgeSegment *MR_EdgeSegment_Construct(MR_EdgeId e, const float *a, const float *b);
368
371
374
382
388
394
399
404
410
418MRC_API bool MR_fromSameTriangle_MR_EdgePoint_ref(const MR_MeshTopology *topology, MR_EdgePoint *a, MR_EdgePoint *b);
419
431MRC_API bool MR_fromSameTriangle_MR_EdgePoint_rvalue_ref(const MR_MeshTopology *topology, MR_EdgePoint *a, MR_EdgePoint *b);
432
433#ifdef __cplusplus
434} // extern "C"
435#endif
struct MR_MeshTopology MR_MeshTopology
Definition MR2DContoursTriangulation.h:15
struct MR_FaceBitSet MR_FaceBitSet
Definition MRAABBTree.h:17
MRC_API MR_EdgePoint * MR_EdgeSegment_edgePointB(const MR_EdgeSegment *_this)
struct MR_PolylineTopology MR_PolylineTopology
Definition MREdgePoint.h:15
MRC_API void MR_EdgeSegment_Set_b(MR_EdgeSegment *_this, const MR_SegmPointf *value)
MRC_API MR_EdgePointPair * MR_EdgePointPair_Construct(const MR_EdgePoint *ia, const MR_EdgePoint *ib)
struct MR_EdgeSegment MR_EdgeSegment
Definition MREdgePoint.h:32
MRC_API MR_EdgePoint * MR_EdgePoint_DefaultConstruct(void)
MRC_API const MR_EdgePoint * MR_EdgePointPair_Get_b(const MR_EdgePointPair *_this)
MRC_API MR_EdgeId * MR_EdgePoint_GetMutable_e(MR_EdgePoint *_this)
MRC_API MR_EdgePointPair * MR_EdgePointPair_DefaultConstructArray(size_t num_elems)
MRC_API const MR_SegmPointf * MR_EdgeSegment_Get_a(const MR_EdgeSegment *_this)
MRC_API MR_VertId MR_EdgePoint_inVertex_1_MR_PolylineTopology(const MR_EdgePoint *_this, const MR_PolylineTopology *topology)
MRC_API MR_EdgePoint * MR_EdgePoint_sym(const MR_EdgePoint *_this)
MRC_API MR_EdgePoint * MR_EdgeSegment_edgePointA(const MR_EdgeSegment *_this)
MRC_API const MR_SegmPointf * MR_EdgeSegment_Get_b(const MR_EdgeSegment *_this)
MRC_API MR_EdgePoint * MR_EdgePoint_DefaultConstructArray(size_t num_elems)
MRC_API const MR_EdgePointPair * MR_EdgePointPair_OffsetPtr(const MR_EdgePointPair *ptr, ptrdiff_t i)
MRC_API const MR_EdgePoint * MR_EdgePoint_OffsetPtr(const MR_EdgePoint *ptr, ptrdiff_t i)
MRC_API MR_EdgePoint * MR_EdgePoint_ConstructFromAnother(const MR_EdgePoint *_other)
MRC_API MR_SegmPointf * MR_EdgeSegment_GetMutable_b(MR_EdgeSegment *_this)
MRC_API bool MR_same_MR_EdgePoint(const MR_MeshTopology *topology, const MR_EdgePoint *lhs, const MR_EdgePoint *rhs)
MRC_API MR_VertId MR_EdgePoint_inVertex_1_MR_MeshTopology(const MR_EdgePoint *_this, const MR_MeshTopology *topology)
MRC_API MR_EdgePointPair * MR_EdgePointPair_ConstructFromAnother(const MR_EdgePointPair *_other)
MRC_API MR_EdgeSegment * MR_EdgeSegment_OffsetMutablePtr(MR_EdgeSegment *ptr, ptrdiff_t i)
MRC_API MR_EdgePoint * MR_EdgePointPair_GetMutable_b(MR_EdgePointPair *_this)
struct MR_EdgePoint MR_EdgePoint
Definition MREdgePoint.h:22
MRC_API const MR_EdgePoint * MR_EdgePointPair_Get_a(const MR_EdgePointPair *_this)
MRC_API bool MR_EdgeSegment_valid(const MR_EdgeSegment *_this)
MRC_API MR_VertId MR_EdgePoint_getClosestVertex_MR_PolylineTopology(const MR_EdgePoint *_this, const MR_PolylineTopology *topology)
MRC_API bool MR_equal_MR_EdgeSegment(const MR_EdgeSegment *_this, const MR_EdgeSegment *rhs)
MRC_API void MR_EdgePointPair_Set_b(MR_EdgePointPair *_this, const MR_EdgePoint *value)
MRC_API const MR_EdgeSegment * MR_EdgeSegment_OffsetPtr(const MR_EdgeSegment *ptr, ptrdiff_t i)
MRC_API void MR_EdgePoint_DestroyArray(const MR_EdgePoint *_this)
Destroys a heap-allocated array of MR_EdgePoint. Does nothing if the pointer is null.
MRC_API bool MR_equal_MR_EdgePoint(const MR_EdgePoint *_this, const MR_EdgePoint *rhs)
MRC_API MR_EdgeSegment * MR_EdgeSegment_Construct(MR_EdgeId e, const float *a, const float *b)
MRC_API MR_EdgePoint * MR_EdgePoint_OffsetMutablePtr(MR_EdgePoint *ptr, ptrdiff_t i)
MRC_API bool MR_EdgePoint_isBd(const MR_EdgePoint *_this, const MR_MeshTopology *topology, const MR_FaceBitSet *region)
MRC_API MR_EdgeId * MR_EdgeSegment_GetMutable_e(MR_EdgeSegment *_this)
MRC_API void MR_EdgePointPair_Set_a(MR_EdgePointPair *_this, const MR_EdgePoint *value)
MRC_API const MR_SegmPointf * MR_EdgePoint_Get_a(const MR_EdgePoint *_this)
MRC_API void MR_EdgePoint_Set_a(MR_EdgePoint *_this, const MR_SegmPointf *value)
MRC_API void MR_EdgePoint_Destroy(const MR_EdgePoint *_this)
Destroys a heap-allocated instance of MR_EdgePoint. Does nothing if the pointer is null.
MRC_API MR_EdgeSegment * MR_EdgeSegment_sym(const MR_EdgeSegment *_this)
struct MR_SegmPointf MR_SegmPointf
Definition MREdgePoint.h:16
MRC_API MR_EdgePointPair * MR_EdgePointPair_OffsetMutablePtr(MR_EdgePointPair *ptr, ptrdiff_t i)
MRC_API void MR_EdgeSegment_Set_e(MR_EdgeSegment *_this, MR_EdgeId value)
MRC_API void MR_EdgeSegment_DestroyArray(const MR_EdgeSegment *_this)
Destroys a heap-allocated array of MR_EdgeSegment. Does nothing if the pointer is null.
struct MR_EdgePointPair MR_EdgePointPair
Definition MREdgePoint.h:27
MRC_API bool MR_EdgePoint_valid(const MR_EdgePoint *_this)
MRC_API MR_EdgePoint * MR_EdgePoint_Construct_MR_PolylineTopology(const MR_PolylineTopology *topology, MR_VertId v)
MRC_API const MR_EdgeId * MR_EdgePoint_Get_e(const MR_EdgePoint *_this)
MRC_API MR_EdgePoint * MR_EdgePointPair_GetMutable_a(MR_EdgePointPair *_this)
MRC_API MR_EdgePoint * MR_EdgePoint_Construct_MR_MeshTopology(const MR_MeshTopology *topology, MR_VertId v)
MRC_API const MR_EdgeId * MR_EdgeSegment_Get_e(const MR_EdgeSegment *_this)
MRC_API void MR_EdgeSegment_Destroy(const MR_EdgeSegment *_this)
Destroys a heap-allocated instance of MR_EdgeSegment. Does nothing if the pointer is null.
MRC_API MR_EdgePoint * MR_EdgePoint_AssignFromAnother(MR_EdgePoint *_this, const MR_EdgePoint *_other)
MRC_API MR_EdgeSegment * MR_EdgeSegment_DefaultConstructArray(size_t num_elems)
MRC_API MR_EdgeSegment * MR_EdgeSegment_DefaultConstruct(void)
MRC_API void MR_EdgeSegment_Set_a(MR_EdgeSegment *_this, const MR_SegmPointf *value)
MRC_API MR_SegmPointf * MR_EdgePoint_GetMutable_a(MR_EdgePoint *_this)
MRC_API void MR_EdgePoint_moveToClosestVertex(MR_EdgePoint *_this)
MRC_API void MR_EdgePointPair_Destroy(const MR_EdgePointPair *_this)
Destroys a heap-allocated instance of MR_EdgePointPair. Does nothing if the pointer is null.
MRC_API MR_SegmPointf * MR_EdgeSegment_GetMutable_a(MR_EdgeSegment *_this)
MRC_API bool MR_EdgePoint_ConvertTo_bool(const MR_EdgePoint *_this)
MRC_API void MR_EdgePointPair_DestroyArray(const MR_EdgePointPair *_this)
Destroys a heap-allocated array of MR_EdgePointPair. Does nothing if the pointer is null.
MRC_API MR_EdgeSegment * MR_EdgeSegment_AssignFromAnother(MR_EdgeSegment *_this, const MR_EdgeSegment *_other)
MRC_API MR_EdgePoint * MR_EdgePoint_Construct_MR_EdgeId(MR_EdgeId e, float a)
MRC_API MR_VertId MR_EdgePoint_getClosestVertex_MR_MeshTopology(const MR_EdgePoint *_this, const MR_MeshTopology *topology)
MRC_API void MR_EdgePoint_Set_e(MR_EdgePoint *_this, MR_EdgeId value)
MRC_API MR_EdgePointPair * MR_EdgePointPair_DefaultConstruct(void)
MRC_API bool MR_EdgePoint_inVertex_0(const MR_EdgePoint *_this)
MRC_API MR_EdgeSegment * MR_EdgeSegment_ConstructFromAnother(const MR_EdgeSegment *_other)
MRC_API MR_EdgePointPair * MR_EdgePointPair_AssignFromAnother(MR_EdgePointPair *_this, const MR_EdgePointPair *_other)
MRC_API bool MR_equal_MR_EdgePointPair(const MR_EdgePointPair *_this, const MR_EdgePointPair *rhs)
#define MRC_API
Definition exports.h:11
Definition MRId.h:153
Definition MRId.h:55