MeshLib C Docs
Loading...
Searching...
No Matches
MRMeshTriPoint.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_EdgePoint MR_EdgePoint; // Defined in `#include <MRCMesh/MREdgePoint.h>`.
14typedef struct MR_FaceBitSet MR_FaceBitSet; // Defined in `#include <MRCMesh/MRBitSet.h>`.
15typedef struct MR_MeshTopology MR_MeshTopology; // Defined in `#include <MRCMesh/MRMeshTopology.h>`.
16typedef struct MR_NoInit MR_NoInit; // Defined in `#include <MRCMesh/MRMeshFwd.h>`.
17typedef struct MR_TriPointf MR_TriPointf; // Defined in `#include <MRCMesh/MRTriPoint.h>`.
18typedef struct MR_VertScalars MR_VertScalars; // Defined in `#include <MRCMesh/MRVector.h>`.
19typedef struct MR_std_array_MR_WeightedVertex_3 MR_std_array_MR_WeightedVertex_3; // Defined in `#include <MRCMisc/std_array_MR_WeightedVertex_3.h>`.
20
21
25
33typedef struct MR_MeshTriPoint MR_MeshTriPoint;
34
40
46
52
58
63
69
73
78
84
88
92
98
101
104
112
119
126
133
143
154
164
168
173
177
181
187
193
200
206
213
216
219
223
231
237
242
250
256MRC_API bool MR_MeshTriPoint_isBd(const MR_MeshTriPoint *_this, const MR_MeshTopology *topology, const MR_FaceBitSet *region);
257
263
268
275
282
289
295MRC_API float MR_MeshTriPoint_interpolate(const MR_MeshTriPoint *_this, const MR_MeshTopology *topology, const MR_VertScalars *field);
296
302
309
317
329
335
336#ifdef __cplusplus
337} // extern "C"
338#endif
struct MR_MeshTopology MR_MeshTopology
Definition MR2DContoursTriangulation.h:15
struct MR_NoInit MR_NoInit
Definition MRAABBTreeNode.h:14
struct MR_FaceBitSet MR_FaceBitSet
Definition MRAABBTree.h:17
struct MR_VertScalars MR_VertScalars
std::vector<T>-like container that requires specific indexing type,
Definition MRAggregateFlow.h:17
struct MR_MeshTriPoint MR_MeshTriPoint
Definition MRAggregateFlow.h:13
struct MR_EdgePoint MR_EdgePoint
Definition MREdgePoint.h:22
MRC_API float * MR_WeightedVertex_GetMutable_weight(MR_WeightedVertex *_this)
MRC_API bool MR_MeshTriPoint_ConvertTo_bool(const MR_MeshTriPoint *_this)
MRC_API MR_MeshTriPoint * MR_MeshTriPoint_Construct_2_MR_MeshTopology(const MR_MeshTopology *topology, MR_VertId v)
MRC_API void MR_MeshTriPoint_Destroy(const MR_MeshTriPoint *_this)
Destroys a heap-allocated instance of MR_MeshTriPoint. Does nothing if the pointer is null.
MRC_API MR_WeightedVertex * MR_WeightedVertex_OffsetMutablePtr(MR_WeightedVertex *ptr, ptrdiff_t i)
MRC_API const MR_VertId * MR_WeightedVertex_Get_v(const MR_WeightedVertex *_this)
MRC_API void MR_WeightedVertex_Set_v(MR_WeightedVertex *_this, MR_VertId value)
MRC_API const MR_EdgeId * MR_MeshTriPoint_Get_e(const MR_MeshTriPoint *_this)
MRC_API bool MR_MeshTriPoint_fromTriangle(const MR_MeshTriPoint *_this, const MR_MeshTopology *topology, MR_FaceId f)
MRC_API void MR_WeightedVertex_DestroyArray(const MR_WeightedVertex *_this)
Destroys a heap-allocated array of MR_WeightedVertex. Does nothing if the pointer is null.
MRC_API bool MR_MeshTriPoint_valid(const MR_MeshTriPoint *_this)
MRC_API void MR_MeshTriPoint_Set_e(MR_MeshTriPoint *_this, MR_EdgeId value)
MRC_API MR_EdgePoint * MR_MeshTriPoint_onEdge(const MR_MeshTriPoint *_this, const MR_MeshTopology *topology)
MRC_API MR_MeshTriPoint * MR_MeshTriPoint_OffsetMutablePtr(MR_MeshTriPoint *ptr, ptrdiff_t i)
MRC_API const MR_MeshTriPoint * MR_MeshTriPoint_OffsetPtr(const MR_MeshTriPoint *ptr, ptrdiff_t i)
MRC_API MR_WeightedVertex * MR_WeightedVertex_ConstructFrom(MR_VertId v, float weight)
MRC_API MR_VertId MR_MeshTriPoint_inVertex_1(const MR_MeshTriPoint *_this, const MR_MeshTopology *topology)
MRC_API bool MR_same_MR_MeshTriPoint(const MR_MeshTopology *topology, const MR_MeshTriPoint *lhs, const MR_MeshTriPoint *rhs)
MRC_API MR_MeshTriPoint * MR_MeshTriPoint_AssignFromAnother(MR_MeshTriPoint *_this, const MR_MeshTriPoint *_other)
MRC_API MR_WeightedVertex * MR_WeightedVertex_DefaultConstruct(void)
MRC_API MR_MeshTriPoint * MR_MeshTriPoint_canonical(const MR_MeshTriPoint *_this, const MR_MeshTopology *topology)
MRC_API const float * MR_WeightedVertex_Get_weight(const MR_WeightedVertex *_this)
MRC_API bool MR_fromSameTriangle_MR_MeshTriPoint_rvalue_ref(const MR_MeshTopology *topology, MR_MeshTriPoint *a, MR_MeshTriPoint *b)
MRC_API MR_MeshTriPoint * MR_MeshTriPoint_ConstructFromAnother(const MR_MeshTriPoint *_other)
MRC_API MR_std_array_MR_WeightedVertex_3 * MR_MeshTriPoint_getWeightedVerts(const MR_MeshTriPoint *_this, const MR_MeshTopology *topology)
MRC_API const MR_WeightedVertex * MR_WeightedVertex_OffsetPtr(const MR_WeightedVertex *ptr, ptrdiff_t i)
MRC_API MR_MeshTriPoint * MR_MeshTriPoint_Construct_1_MR_EdgePoint(const MR_EdgePoint *ep)
struct MR_WeightedVertex MR_WeightedVertex
Definition MRMeshTriPoint.h:24
MRC_API MR_VertId * MR_WeightedVertex_GetMutable_v(MR_WeightedVertex *_this)
MRC_API void MR_WeightedVertex_Set_weight(MR_WeightedVertex *_this, float value)
MRC_API MR_MeshTriPoint * MR_MeshTriPoint_DefaultConstruct(void)
MRC_API void MR_WeightedVertex_Destroy(const MR_WeightedVertex *_this)
Destroys a heap-allocated instance of MR_WeightedVertex. Does nothing if the pointer is null.
struct MR_TriPointf MR_TriPointf
encodes a point inside a triangle using barycentric coordinates
Definition MRMeshTriPoint.h:17
MRC_API bool MR_MeshTriPoint_inVertex_0(const MR_MeshTriPoint *_this)
MRC_API MR_MeshTriPoint * MR_MeshTriPoint_Construct_1_MR_NoInit(const MR_NoInit *_1)
MRC_API MR_WeightedVertex * MR_WeightedVertex_DefaultConstructArray(size_t num_elems)
MRC_API MR_EdgeId * MR_MeshTriPoint_GetMutable_e(MR_MeshTriPoint *_this)
MRC_API MR_MeshTriPoint * MR_MeshTriPoint_lnext(const MR_MeshTriPoint *_this, const MR_MeshTopology *topology)
MRC_API float MR_MeshTriPoint_interpolate(const MR_MeshTriPoint *_this, const MR_MeshTopology *topology, const MR_VertScalars *field)
MRC_API MR_MeshTriPoint * MR_getVertexAsMeshTriPoint(const MR_MeshTopology *topology, MR_EdgeId e, MR_VertId v)
MRC_API MR_MeshTriPoint * MR_MeshTriPoint_DefaultConstructArray(size_t num_elems)
MRC_API MR_TriPointf * MR_MeshTriPoint_GetMutable_bary(MR_MeshTriPoint *_this)
struct MR_std_array_MR_WeightedVertex_3 MR_std_array_MR_WeightedVertex_3
Definition MRMeshTriPoint.h:19
MRC_API void MR_MeshTriPoint_Set_bary(MR_MeshTriPoint *_this, const MR_TriPointf *value)
MRC_API MR_MeshTriPoint * MR_MeshTriPoint_Construct_2_MR_EdgeId(MR_EdgeId e, const MR_TriPointf *bary)
MRC_API MR_WeightedVertex * MR_WeightedVertex_AssignFromAnother(MR_WeightedVertex *_this, const MR_WeightedVertex *_other)
MRC_API bool MR_equal_MR_MeshTriPoint(const MR_MeshTriPoint *_this, const MR_MeshTriPoint *rhs)
MRC_API bool MR_MeshTriPoint_isBd(const MR_MeshTriPoint *_this, const MR_MeshTopology *topology, const MR_FaceBitSet *region)
MRC_API bool MR_fromSameTriangle_MR_MeshTriPoint_ref(const MR_MeshTopology *topology, MR_MeshTriPoint *a, MR_MeshTriPoint *b)
MRC_API MR_WeightedVertex * MR_WeightedVertex_ConstructFromAnother(const MR_WeightedVertex *_other)
MRC_API void MR_MeshTriPoint_DestroyArray(const MR_MeshTriPoint *_this)
Destroys a heap-allocated array of MR_MeshTriPoint. Does nothing if the pointer is null.
MRC_API const MR_TriPointf * MR_MeshTriPoint_Get_bary(const MR_MeshTriPoint *_this)
#define MRC_API
Definition include/MRCMisc/exports.h:11
Definition MRId.h:146
Definition MRId.h:31
Definition MRId.h:41