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
39
45
51
58
66
73
77
82
86
90
96
101
108
115
118
121
125
133
139
145
151
157
162
167
173MRC_API bool MR_EdgePoint_isBd(const MR_EdgePoint *_this, const MR_MeshTopology *topology, const MR_FaceBitSet *region);
174
179
185
191
197MRC_API bool MR_same_MR_EdgePoint(const MR_MeshTopology *topology, const MR_EdgePoint *lhs, const MR_EdgePoint *rhs);
198
204
211
217
223
230
236
240
245
249
253
259
267
270
273
281
287
294
301
308
315
323
330
337
345
352
356
361
365
369
375
381MRC_API MR_EdgeSegment *MR_EdgeSegment_Construct(MR_EdgeId e, const float *a, const float *b);
382
385
388
396
402
408
413
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
encodes a point inside a line segment using relative distance in [0,1] Generated from class MR::SegmP...
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 include/MRCMisc/exports.h:11
Definition MRId.h:140
Definition MRId.h:42