MeshLib C Docs
Loading...
Searching...
No Matches
MRLocalTriangulations.h
Go to the documentation of this file.
1#pragma once
2
3#include <MRCMesh/MRId.h>
4#include <MRCMesh/MRVector3.h>
5#include <MRCMisc/common.h>
6#include <MRCMisc/exports.h>
8
9#include <stdbool.h>
10#include <stddef.h>
11
12#ifdef __cplusplus
13extern "C" {
14#endif
15
16typedef struct MR_Buffer_MR_VertId MR_Buffer_MR_VertId; // Defined in `#include <MRCMesh/MRBuffer.h>`.
17typedef struct MR_NoInit MR_NoInit; // Defined in `#include <MRCMesh/MRMeshFwd.h>`.
18typedef struct MR_PointCloud MR_PointCloud; // Defined in `#include <MRCMesh/MRPointCloud.h>`.
19typedef struct MR_Triangulation MR_Triangulation; // Defined in `#include <MRCMesh/MRVector.h>`.
20typedef struct MR_Vector_MR_FanRecord_MR_VertId MR_Vector_MR_FanRecord_MR_VertId; // Defined in `#include <MRCMesh/MRVector.h>`.
21typedef struct MR_VertBitSet MR_VertBitSet; // Defined in `#include <MRCMesh/MRBitSet.h>`.
22typedef struct MR_VertCoords MR_VertCoords; // Defined in `#include <MRCMesh/MRVector.h>`.
23typedef struct MR_std_function_MR_Vector3f_from_MR_VertId MR_std_function_MR_Vector3f_from_MR_VertId; // Defined in `#include <MRCMisc/std_function_MR_Vector3f_from_MR_VertId.h>`.
24typedef struct MR_std_function_bool_from_float MR_std_function_bool_from_float; // Defined in `#include <MRCMisc/std_function_bool_from_float.h>`.
25typedef struct MR_std_optional_MR_AllLocalTriangulations MR_std_optional_MR_AllLocalTriangulations; // Defined in `#include <MRCMisc/std_optional_MR_AllLocalTriangulations.h>`.
26typedef struct MR_std_vector_MR_FanRecordWithCenter MR_std_vector_MR_FanRecordWithCenter; // Defined in `#include <MRCMisc/std_vector_MR_FanRecordWithCenter.h>`.
27typedef struct MR_std_vector_MR_SomeLocalTriangulations MR_std_vector_MR_SomeLocalTriangulations; // Defined in `#include <MRCMisc/std_vector_MR_SomeLocalTriangulations.h>`.
28typedef struct MR_std_vector_MR_UnorientedTriangle MR_std_vector_MR_UnorientedTriangle; // Defined in `#include <MRCMisc/std_vector_MR_UnorientedTriangle.h>`.
29typedef struct MR_std_vector_MR_VertId MR_std_vector_MR_VertId; // Defined in `#include <MRCMisc/std_vector_MR_VertId.h>`.
30
31
39
47
52
57
65
73
81
87MRC_API const unsigned int *MR_FanRecord_Get_firstNei(const MR_FanRecord *_this);
88
94MRC_API void MR_FanRecord_Set_firstNei(MR_FanRecord *_this, unsigned int value);
95
102
109MRC_API MR_FanRecord *MR_FanRecord_Construct_2(const MR_VertId *b, const unsigned int *fn);
110
115
119
123
129
135
138
141
149
156
163
170
178
186
194
201
208
215
225
230
234
238
243
247
253
258
264
270
273
276
284
290
296
302
308
314
320
321//in fanRecords
327
328//in fanRecords
334
335//in fanRecords
341
345
350
358
362
366
371
374
377
384
390
396
402
408
414
420
424
429
436
440
444
449
452
455
462
471
477
485
492
502
507
513
519
525
526#ifdef __cplusplus
527} // extern "C"
528#endif
struct MR_std_function_bool_from_float MR_std_function_bool_from_float
Definition MR3mf.h:10
struct MR_VertCoords MR_VertCoords
std::vector<T>-like container that requires specific indexing type,
Definition MRAABBTreePoints.h:21
struct MR_VertBitSet MR_VertBitSet
Definition MRAABBTree.h:22
struct MR_NoInit MR_NoInit
Definition MRBox.h:15
struct MR_Buffer_MR_VertId MR_Buffer_MR_VertId
std::vector<V>-like container that is 1) resized without initialization of its elements,...
Definition MRBuffer.h:88
struct MR_PointCloud MR_PointCloud
Definition MRCtm.h:19
struct MR_std_vector_MR_VertId MR_std_vector_MR_VertId
Definition MREdgePaths.h:29
struct MR_Triangulation MR_Triangulation
std::vector<T>-like container that requires specific indexing type,
Definition MRIdentifyVertices.h:13
struct MR_std_vector_MR_FanRecordWithCenter MR_std_vector_MR_FanRecordWithCenter
Definition MRLocalTriangulations.h:26
MRC_API MR_std_optional_MR_AllLocalTriangulations * MR_uniteLocalTriangulations(const MR_std_vector_MR_SomeLocalTriangulations *in, const MR_std_function_bool_from_float *progress)
MRC_API MR_AllLocalTriangulations * MR_AllLocalTriangulations_ConstructFrom(MR_PassBy neighbors_pass_by, MR_Buffer_MR_VertId *neighbors, MR_PassBy fanRecords_pass_by, MR_Vector_MR_FanRecord_MR_VertId *fanRecords)
struct MR_std_optional_MR_AllLocalTriangulations MR_std_optional_MR_AllLocalTriangulations
Definition MRLocalTriangulations.h:25
MRC_API MR_VertId * MR_FanRecord_GetMutable_border(MR_FanRecord *_this)
MRC_API MR_std_vector_MR_FanRecordWithCenter * MR_SomeLocalTriangulations_GetMutable_fanRecords(MR_SomeLocalTriangulations *_this)
MRC_API const MR_FanRecordWithCenter * MR_FanRecordWithCenter_OffsetPtr(const MR_FanRecordWithCenter *ptr, ptrdiff_t i)
MRC_API const MR_AllLocalTriangulations * MR_AllLocalTriangulations_OffsetPtr(const MR_AllLocalTriangulations *ptr, ptrdiff_t i)
MRC_API MR_FanRecord * MR_FanRecordWithCenter_MutableUpcastTo_MR_FanRecord(MR_FanRecordWithCenter *object)
MRC_API void MR_FanRecord_Set_firstNei(MR_FanRecord *_this, unsigned int value)
MRC_API const unsigned int * MR_FanRecordWithCenter_Get_firstNei(const MR_FanRecordWithCenter *_this)
MRC_API const unsigned int * MR_FanRecord_Get_firstNei(const MR_FanRecord *_this)
MRC_API const MR_VertId * MR_FanRecordWithCenter_Get_border(const MR_FanRecordWithCenter *_this)
MRC_API const MR_SomeLocalTriangulations * MR_SomeLocalTriangulations_OffsetPtr(const MR_SomeLocalTriangulations *ptr, ptrdiff_t i)
MRC_API MR_AllLocalTriangulations * MR_AllLocalTriangulations_DefaultConstructArray(size_t num_elems)
MRC_API const MR_FanRecordWithCenter * MR_FanRecordWithCenter_StaticDowncastFrom_MR_FanRecord(const MR_FanRecord *object)
MRC_API const MR_VertId * MR_SomeLocalTriangulations_Get_maxCenterId(const MR_SomeLocalTriangulations *_this)
MRC_API unsigned int * MR_FanRecordWithCenter_GetMutable_firstNei(MR_FanRecordWithCenter *_this)
MRC_API MR_FanRecordWithCenter * MR_FanRecordWithCenter_OffsetMutablePtr(MR_FanRecordWithCenter *ptr, ptrdiff_t i)
MRC_API void MR_FanRecordWithCenter_Set_center(MR_FanRecordWithCenter *_this, MR_VertId value)
MRC_API MR_Vector_MR_FanRecord_MR_VertId * MR_AllLocalTriangulations_GetMutable_fanRecords(MR_AllLocalTriangulations *_this)
MRC_API void MR_SomeLocalTriangulations_Set_fanRecords(MR_SomeLocalTriangulations *_this, MR_PassBy value_pass_by, MR_std_vector_MR_FanRecordWithCenter *value)
MRC_API void MR_FanRecord_DestroyArray(const MR_FanRecord *_this)
Destroys a heap-allocated array of MR_FanRecord. Does nothing if the pointer is null.
MRC_API const MR_VertId * MR_FanRecordWithCenter_Get_center(const MR_FanRecordWithCenter *_this)
struct MR_std_vector_MR_SomeLocalTriangulations MR_std_vector_MR_SomeLocalTriangulations
Definition MRLocalTriangulations.h:27
MRC_API const MR_FanRecord * MR_FanRecord_OffsetPtr(const MR_FanRecord *ptr, ptrdiff_t i)
MRC_API MR_VertId * MR_FanRecordWithCenter_GetMutable_center(MR_FanRecordWithCenter *_this)
MRC_API unsigned int * MR_FanRecord_GetMutable_firstNei(MR_FanRecord *_this)
MRC_API const MR_std_vector_MR_VertId * MR_SomeLocalTriangulations_Get_neighbors(const MR_SomeLocalTriangulations *_this)
MRC_API MR_FanRecord * MR_FanRecord_AssignFromAnother(MR_FanRecord *_this, const MR_FanRecord *_other)
MRC_API MR_FanRecordWithCenter * MR_FanRecordWithCenter_Construct_1(const MR_NoInit *_1)
MRC_API MR_std_array_int_4 MR_computeTrianglesRepetitions(const MR_AllLocalTriangulations *triangs)
MRC_API MR_VertId * MR_FanRecordWithCenter_GetMutable_border(MR_FanRecordWithCenter *_this)
struct MR_FanRecordWithCenter MR_FanRecordWithCenter
Definition MRLocalTriangulations.h:46
MRC_API const MR_Buffer_MR_VertId * MR_AllLocalTriangulations_Get_neighbors(const MR_AllLocalTriangulations *_this)
MRC_API void MR_AllLocalTriangulations_Destroy(const MR_AllLocalTriangulations *_this)
Destroys a heap-allocated instance of MR_AllLocalTriangulations. Does nothing if the pointer is null.
MRC_API MR_FanRecordWithCenter * MR_FanRecordWithCenter_DefaultConstructArray(size_t num_elems)
MRC_API void MR_SomeLocalTriangulations_Destroy(const MR_SomeLocalTriangulations *_this)
Destroys a heap-allocated instance of MR_SomeLocalTriangulations. Does nothing if the pointer is null...
MRC_API MR_FanRecord * MR_FanRecord_OffsetMutablePtr(MR_FanRecord *ptr, ptrdiff_t i)
MRC_API void MR_FanRecordWithCenter_DestroyArray(const MR_FanRecordWithCenter *_this)
Destroys a heap-allocated array of MR_FanRecordWithCenter. Does nothing if the pointer is null.
struct MR_std_vector_MR_UnorientedTriangle MR_std_vector_MR_UnorientedTriangle
Definition MRLocalTriangulations.h:28
MRC_API MR_SomeLocalTriangulations * MR_SomeLocalTriangulations_DefaultConstruct(void)
MRC_API MR_FanRecordWithCenter * MR_FanRecordWithCenter_AssignFromAnother(MR_FanRecordWithCenter *_this, const MR_FanRecordWithCenter *_other)
MRC_API void MR_FanRecordWithCenter_Destroy(const MR_FanRecordWithCenter *_this)
Destroys a heap-allocated instance of MR_FanRecordWithCenter. Does nothing if the pointer is null.
MRC_API void MR_AllLocalTriangulations_Set_fanRecords(MR_AllLocalTriangulations *_this, MR_PassBy value_pass_by, MR_Vector_MR_FanRecord_MR_VertId *value)
MRC_API MR_VertId * MR_SomeLocalTriangulations_GetMutable_maxCenterId(MR_SomeLocalTriangulations *_this)
MRC_API MR_SomeLocalTriangulations * MR_SomeLocalTriangulations_OffsetMutablePtr(MR_SomeLocalTriangulations *ptr, ptrdiff_t i)
struct MR_Vector_MR_FanRecord_MR_VertId MR_Vector_MR_FanRecord_MR_VertId
std::vector<T>-like container that requires specific indexing type,
Definition MRLocalTriangulations.h:20
MRC_API MR_FanRecord * MR_FanRecord_Construct_2(const MR_VertId *b, const unsigned int *fn)
MRC_API MR_FanRecordWithCenter * MR_FanRecordWithCenter_ConstructFromAnother(const MR_FanRecordWithCenter *_other)
MRC_API void MR_AllLocalTriangulations_DestroyArray(const MR_AllLocalTriangulations *_this)
Destroys a heap-allocated array of MR_AllLocalTriangulations. Does nothing if the pointer is null.
MRC_API MR_AllLocalTriangulations * MR_AllLocalTriangulations_ConstructFromAnother(MR_PassBy _other_pass_by, MR_AllLocalTriangulations *_other)
MRC_API bool MR_autoOrientLocalTriangulations(const MR_PointCloud *pointCloud, MR_AllLocalTriangulations *triangs, const MR_VertBitSet *region, MR_PassBy progress_pass_by, MR_std_function_bool_from_float *progress, MR_Triangulation *outRep3, MR_Triangulation *outRep2)
MRC_API MR_std_vector_MR_UnorientedTriangle * MR_findRepeatedUnorientedTriangles(const MR_AllLocalTriangulations *triangs, int repetitions)
MRC_API MR_FanRecord * MR_FanRecord_ConstructFromAnother(const MR_FanRecord *_other)
MRC_API MR_AllLocalTriangulations * MR_AllLocalTriangulations_AssignFromAnother(MR_AllLocalTriangulations *_this, MR_PassBy _other_pass_by, MR_AllLocalTriangulations *_other)
MRC_API MR_Buffer_MR_VertId * MR_AllLocalTriangulations_GetMutable_neighbors(MR_AllLocalTriangulations *_this)
MRC_API void MR_SomeLocalTriangulations_DestroyArray(const MR_SomeLocalTriangulations *_this)
Destroys a heap-allocated array of MR_SomeLocalTriangulations. Does nothing if the pointer is null.
MRC_API void MR_findRepeatedOrientedTriangles_3(const MR_AllLocalTriangulations *triangs, MR_Triangulation *outRep3, MR_Triangulation *outRep2)
MRC_API void MR_FanRecord_Destroy(const MR_FanRecord *_this)
Destroys a heap-allocated instance of MR_FanRecord. Does nothing if the pointer is null.
MRC_API MR_AllLocalTriangulations * MR_AllLocalTriangulations_DefaultConstruct(void)
MRC_API const MR_std_vector_MR_FanRecordWithCenter * MR_SomeLocalTriangulations_Get_fanRecords(const MR_SomeLocalTriangulations *_this)
struct MR_std_function_MR_Vector3f_from_MR_VertId MR_std_function_MR_Vector3f_from_MR_VertId
Definition MRLocalTriangulations.h:23
MRC_API MR_FanRecord * MR_FanRecord_DefaultConstructArray(size_t num_elems)
MRC_API void MR_FanRecordWithCenter_Set_border(MR_FanRecordWithCenter *_this, MR_VertId value)
MRC_API void MR_SomeLocalTriangulations_Set_maxCenterId(MR_SomeLocalTriangulations *_this, MR_VertId value)
MRC_API MR_FanRecordWithCenter * MR_FanRecordWithCenter_Construct_3(const MR_VertId *c, const MR_VertId *b, const unsigned int *fn)
MRC_API void MR_FanRecord_Set_border(MR_FanRecord *_this, MR_VertId value)
MRC_API MR_std_vector_MR_VertId * MR_SomeLocalTriangulations_GetMutable_neighbors(MR_SomeLocalTriangulations *_this)
MRC_API void MR_orientLocalTriangulations_std_function_MR_Vector3f_func_from_MR_VertId(MR_AllLocalTriangulations *triangs, const MR_VertCoords *coords, const MR_VertBitSet *region, const MR_std_function_MR_Vector3f_from_MR_VertId *targetDir)
MRC_API MR_FanRecord * MR_FanRecord_Construct_1(const MR_NoInit *_1)
MRC_API void MR_orientLocalTriangulations_MR_VertCoords(MR_AllLocalTriangulations *triangs, const MR_VertCoords *coords, const MR_VertBitSet *region, const MR_VertCoords *targetDir)
MRC_API MR_AllLocalTriangulations * MR_AllLocalTriangulations_OffsetMutablePtr(MR_AllLocalTriangulations *ptr, ptrdiff_t i)
MRC_API void MR_FanRecordWithCenter_Set_firstNei(MR_FanRecordWithCenter *_this, unsigned int value)
MRC_API MR_Vector3f MR_computeNormal(const MR_AllLocalTriangulations *triangs, const MR_VertCoords *points, MR_VertId v)
MRC_API const MR_FanRecord * MR_FanRecordWithCenter_UpcastTo_MR_FanRecord(const MR_FanRecordWithCenter *object)
MRC_API const MR_VertId * MR_FanRecord_Get_border(const MR_FanRecord *_this)
MRC_API MR_SomeLocalTriangulations * MR_SomeLocalTriangulations_AssignFromAnother(MR_SomeLocalTriangulations *_this, MR_PassBy _other_pass_by, MR_SomeLocalTriangulations *_other)
MRC_API MR_SomeLocalTriangulations * MR_SomeLocalTriangulations_ConstructFromAnother(MR_PassBy _other_pass_by, MR_SomeLocalTriangulations *_other)
MRC_API MR_SomeLocalTriangulations * MR_SomeLocalTriangulations_ConstructFrom(MR_PassBy neighbors_pass_by, MR_std_vector_MR_VertId *neighbors, MR_PassBy fanRecords_pass_by, MR_std_vector_MR_FanRecordWithCenter *fanRecords, MR_VertId maxCenterId)
MRC_API void MR_AllLocalTriangulations_Set_neighbors(MR_AllLocalTriangulations *_this, MR_PassBy value_pass_by, MR_Buffer_MR_VertId *value)
MRC_API MR_Triangulation * MR_findRepeatedOrientedTriangles_2(const MR_AllLocalTriangulations *triangs, int repetitions)
MRC_API MR_FanRecordWithCenter * MR_FanRecordWithCenter_MutableStaticDowncastFrom_MR_FanRecord(MR_FanRecord *object)
MRC_API const MR_Vector_MR_FanRecord_MR_VertId * MR_AllLocalTriangulations_Get_fanRecords(const MR_AllLocalTriangulations *_this)
MRC_API void MR_SomeLocalTriangulations_Set_neighbors(MR_SomeLocalTriangulations *_this, MR_PassBy value_pass_by, MR_std_vector_MR_VertId *value)
struct MR_FanRecord MR_FanRecord
Definition MRLocalTriangulations.h:38
struct MR_AllLocalTriangulations MR_AllLocalTriangulations
Definition MRLocalTriangulations.h:56
struct MR_SomeLocalTriangulations MR_SomeLocalTriangulations
Definition MRLocalTriangulations.h:51
MRC_API MR_SomeLocalTriangulations * MR_SomeLocalTriangulations_DefaultConstructArray(size_t num_elems)
MR_PassBy
Definition common.h:23
#define MRC_API
Definition include/MRCMisc/exports.h:11
Generated from class MR::Vector3f.
Definition MRVector3.h:47
Definition MRId.h:42
A fixed-size array of int of size 4.
Definition std_array_int_4.h:10