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
22
26
30
35
39
44
50
56
62
66
71
74
77
82
86
91
96
99
102
106
112
118
124
130
136
141
146
152MRC_API bool MR_EdgePoint_isBd(const MR_EdgePoint *_this, const MR_MeshTopology *topology, const MR_FaceBitSet *region);
153
158
164
170
176MRC_API bool MR_same_MR_EdgePoint(const MR_MeshTopology *topology, const MR_EdgePoint *lhs, const MR_EdgePoint *rhs);
177
182
187
192
197
202
207
211
216
219
222
227
233
236
239
245
251
257
262
268
274
280
286
292
298
304
308
313
316
319
324
329MRC_API MR_EdgeSegment *MR_EdgeSegment_Construct(MR_EdgeId e, const float *a, const float *b);
330
333
336
342
348
354
359
364
370
378MRC_API bool MR_fromSameTriangle_MR_EdgePoint_ref(const MR_MeshTopology *topology, MR_EdgePoint *a, MR_EdgePoint *b);
379
391MRC_API bool MR_fromSameTriangle_MR_EdgePoint_rvalue_ref(const MR_MeshTopology *topology, MR_EdgePoint *a, MR_EdgePoint *b);
392
393#ifdef __cplusplus
394} // extern "C"
395#endif
struct MR_MeshTopology MR_MeshTopology
Definition MR2DContoursTriangulation.h:16
struct MR_FaceBitSet MR_FaceBitSet
Definition MRAABBTreeBase.h:25
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:29
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)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
MRC_API const MR_EdgePoint * MR_EdgePoint_OffsetPtr(const MR_EdgePoint *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_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)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
MRC_API MR_EdgePoint * MR_EdgePointPair_GetMutable_b(MR_EdgePointPair *_this)
struct MR_EdgePoint MR_EdgePoint
Definition MREdgePoint.h:21
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)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
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)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
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)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
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:25
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:152
Definition MRId.h:56