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
42
47
53
59
65
69
74
77
80
85
89
94
99
102
105
109
115
121
127
133
139
144
149
155MRC_API bool MR_EdgePoint_isBd(const MR_EdgePoint *_this, const MR_MeshTopology *topology, const MR_FaceBitSet *region);
156
161
167
173
179MRC_API bool MR_same_MR_EdgePoint(const MR_MeshTopology *topology, const MR_EdgePoint *lhs, const MR_EdgePoint *rhs);
180
185
190
195
200
205
210
214
219
222
225
230
236
239
242
248
254
260
265
271
277
283
289
295
301
307
311
316
319
322
327
332MRC_API MR_EdgeSegment *MR_EdgeSegment_Construct(MR_EdgeId e, const float *a, const float *b);
333
336
339
345
351
357
362
367
373
381MRC_API bool MR_fromSameTriangle_MR_EdgePoint_ref(const MR_MeshTopology *topology, MR_EdgePoint *a, MR_EdgePoint *b);
382
394MRC_API bool MR_fromSameTriangle_MR_EdgePoint_rvalue_ref(const MR_MeshTopology *topology, MR_EdgePoint *a, MR_EdgePoint *b);
395
396#ifdef __cplusplus
397} // extern "C"
398#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)
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: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)
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: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