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
38MRC_API const MR_EdgeId *MR_EdgePoint_Get_e(const MR_EdgePoint *_this);
39
44MRC_API void MR_EdgePoint_Set_e(MR_EdgePoint *_this, MR_EdgeId value);
45
51
57MRC_API const MR_SegmPointf *MR_EdgePoint_Get_a(const MR_EdgePoint *_this);
58
65MRC_API void MR_EdgePoint_Set_a(MR_EdgePoint *_this, const MR_SegmPointf *value);
66
73
77
82
85MRC_API const MR_EdgePoint *MR_EdgePoint_OffsetPtr(const MR_EdgePoint *ptr, ptrdiff_t i);
86
90
96
101
108
115
117MRC_API void MR_EdgePoint_Destroy(const MR_EdgePoint *_this);
118
120MRC_API void MR_EdgePoint_DestroyArray(const MR_EdgePoint *_this);
121
124MRC_API bool MR_EdgePoint_ConvertTo_bool(const MR_EdgePoint *_this);
125
133
139
145
151
157
161MRC_API bool MR_EdgePoint_inVertex_0(const MR_EdgePoint *_this);
162
167
173MRC_API bool MR_EdgePoint_isBd(const MR_EdgePoint *_this, const MR_MeshTopology *topology, const MR_FaceBitSet *region);
174
178MRC_API bool MR_EdgePoint_valid(const MR_EdgePoint *_this);
179
185
190MRC_API bool MR_equal_MR_EdgePoint(const MR_EdgePoint *_this, const MR_EdgePoint *rhs);
191
197MRC_API bool MR_same_MR_EdgePoint(const MR_MeshTopology *topology, const MR_EdgePoint *lhs, const MR_EdgePoint *rhs);
198
204
210MRC_API void MR_EdgePointPair_Set_a(MR_EdgePointPair *_this, const MR_EdgePoint *value);
211
217
223
229MRC_API void MR_EdgePointPair_Set_b(MR_EdgePointPair *_this, const MR_EdgePoint *value);
230
236
240
245
248MRC_API const MR_EdgePointPair *MR_EdgePointPair_OffsetPtr(const MR_EdgePointPair *ptr, ptrdiff_t i);
249
253
259
267
270
273
281
286MRC_API bool MR_equal_MR_EdgePointPair(const MR_EdgePointPair *_this, const MR_EdgePointPair *rhs);
287
293MRC_API const MR_EdgeId *MR_EdgeSegment_Get_e(const MR_EdgeSegment *_this);
294
301
308
315
322MRC_API void MR_EdgeSegment_Set_a(MR_EdgeSegment *_this, const MR_SegmPointf *value);
323
330
337
344MRC_API void MR_EdgeSegment_Set_b(MR_EdgeSegment *_this, const MR_SegmPointf *value);
345
352
356
361
364MRC_API const MR_EdgeSegment *MR_EdgeSegment_OffsetPtr(const MR_EdgeSegment *ptr, ptrdiff_t i);
365
369
375
381MRC_API MR_EdgeSegment *MR_EdgeSegment_Construct(MR_EdgeId e, const float *a, const float *b);
382
384MRC_API void MR_EdgeSegment_Destroy(const MR_EdgeSegment *_this);
385
388
396
402
408
412MRC_API bool MR_EdgeSegment_valid(const MR_EdgeSegment *_this);
413
417MRC_API bool MR_equal_MR_EdgeSegment(const MR_EdgeSegment *_this, const MR_EdgeSegment *rhs);
418
424
432MRC_API bool MR_fromSameTriangle_MR_EdgePoint_ref(const MR_MeshTopology *topology, MR_EdgePoint *a, MR_EdgePoint *b);
433
445MRC_API bool MR_fromSameTriangle_MR_EdgePoint_rvalue_ref(const MR_MeshTopology *topology, MR_EdgePoint *a, MR_EdgePoint *b);
446
447#ifdef __cplusplus
448} // extern "C"
449#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)
Definition MRId.h:153
Definition MRId.h:55