MeshLib C Docs
Loading...
Searching...
No Matches
MRPolylineTrimWithPlane.h
Go to the documentation of this file.
1#pragma once
2
3#include <MRCMisc/common.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_EdgeBitSet MR_EdgeBitSet; // Defined in `#include <MRCMesh/MRBitSet.h>`.
14typedef struct MR_EdgeMap MR_EdgeMap; // Defined in `#include <MRCMesh/MRVector.h>`.
15typedef struct MR_Plane3f MR_Plane3f; // Defined in `#include <MRCMesh/MRPlane3.h>`.
16typedef struct MR_Polyline3 MR_Polyline3; // Defined in `#include <MRCMesh/MRPolyline.h>`.
17typedef struct MR_UndirectedEdgeBitSet MR_UndirectedEdgeBitSet; // Defined in `#include <MRCMesh/MRBitSet.h>`.
18typedef struct MR_VertMap MR_VertMap; // Defined in `#include <MRCMesh/MRVector.h>`.
19typedef struct MR_std_function_void_from_MR_EdgeId_MR_EdgeId_float MR_std_function_void_from_MR_EdgeId_MR_EdgeId_float; // Defined in `#include <MRCMisc/std_function_void_from_MR_EdgeId_MR_EdgeId_float.h>`.
20typedef struct MR_std_vector_MR_EdgeSegment MR_std_vector_MR_EdgeSegment; // Defined in `#include <MRCMisc/std_vector_MR_EdgeSegment.h>`.
21
22
25
38MRC_API MR_UndirectedEdgeBitSet *MR_subdivideWithPlane_4(MR_Polyline3 *polyline, const MR_Plane3f *plane, MR_EdgeBitSet *newPositiveEdges, MR_PassBy onEdgeSplitCallback_pass_by, MR_std_function_void_from_MR_EdgeId_MR_EdgeId_float *onEdgeSplitCallback);
39
45
50
56
63
69
76
82
87
93
99
104
110
116
121
127
133
138
144
150
155
161
165
170
173MRC_API MR_DividePolylineParameters *MR_DividePolylineParameters_ConstructFrom(MR_PassBy onEdgeSplitCallback_pass_by, MR_std_function_void_from_MR_EdgeId_MR_EdgeId_float *onEdgeSplitCallback, bool closeLineAfterCut, MR_VertMap *outVmap, MR_EdgeMap *outEmap, MR_Polyline3 *otherPart, MR_VertMap *otherOutVmap, MR_EdgeMap *otherOutEmap);
174
177
180
184
187
190
195
206
220
221#ifdef __cplusplus
222} // extern "C"
223#endif
struct MR_UndirectedEdgeBitSet MR_UndirectedEdgeBitSet
Definition MRAABBTreeBase.h:29
struct MR_Polyline3 MR_Polyline3
Definition MRAABBTreePolyline.h:16
struct MR_Plane3f MR_Plane3f
Definition MRBestFit.h:23
struct MR_EdgeBitSet MR_EdgeBitSet
Definition MRBitSet.h:79
struct MR_VertMap MR_VertMap
Definition MRBitSet.h:41
struct MR_EdgeMap MR_EdgeMap
Definition MRBitSet.h:25
struct MR_std_function_void_from_MR_EdgeId_MR_EdgeId_float MR_std_function_void_from_MR_EdgeId_MR_EdgeId_float
Definition MRMeshTrimWithPlane.h:17
MRC_API MR_Polyline3 *const * MR_DividePolylineParameters_Get_otherPart(const MR_DividePolylineParameters *_this)
MRC_API MR_std_function_void_from_MR_EdgeId_MR_EdgeId_float * MR_DividePolylineParameters_GetMutable_onEdgeSplitCallback(MR_DividePolylineParameters *_this)
MRC_API void MR_DividePolylineParameters_Set_otherPart(MR_DividePolylineParameters *_this, MR_Polyline3 *value)
struct MR_DividePolylineParameters MR_DividePolylineParameters
Generated from class MR::DividePolylineParameters.
Definition MRPolylineTrimWithPlane.h:24
MRC_API MR_EdgeMap ** MR_DividePolylineParameters_GetMutable_outEmap(MR_DividePolylineParameters *_this)
MRC_API MR_DividePolylineParameters * MR_DividePolylineParameters_OffsetMutablePtr(MR_DividePolylineParameters *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_VertMap *const * MR_DividePolylineParameters_Get_otherOutVmap(const MR_DividePolylineParameters *_this)
MRC_API MR_DividePolylineParameters * MR_DividePolylineParameters_ConstructFrom(MR_PassBy onEdgeSplitCallback_pass_by, MR_std_function_void_from_MR_EdgeId_MR_EdgeId_float *onEdgeSplitCallback, bool closeLineAfterCut, MR_VertMap *outVmap, MR_EdgeMap *outEmap, MR_Polyline3 *otherPart, MR_VertMap *otherOutVmap, MR_EdgeMap *otherOutEmap)
MRC_API MR_DividePolylineParameters * MR_DividePolylineParameters_ConstructFromAnother(MR_PassBy _other_pass_by, MR_DividePolylineParameters *_other)
MRC_API MR_Polyline3 ** MR_DividePolylineParameters_GetMutable_otherPart(MR_DividePolylineParameters *_this)
MRC_API MR_DividePolylineParameters * MR_DividePolylineParameters_DefaultConstruct(void)
MRC_API MR_std_vector_MR_EdgeSegment * MR_extractSectionsFromPolyline(const MR_Polyline3 *polyline, const MR_Plane3f *plane, float eps, MR_UndirectedEdgeBitSet *positiveEdges)
MRC_API void MR_DividePolylineParameters_Set_onEdgeSplitCallback(MR_DividePolylineParameters *_this, MR_PassBy value_pass_by, MR_std_function_void_from_MR_EdgeId_MR_EdgeId_float *value)
MRC_API void MR_DividePolylineParameters_DestroyArray(const MR_DividePolylineParameters *_this)
Destroys a heap-allocated array of MR_DividePolylineParameters. Does nothing if the pointer is null.
MRC_API MR_VertMap ** MR_DividePolylineParameters_GetMutable_outVmap(MR_DividePolylineParameters *_this)
MRC_API void MR_DividePolylineParameters_Set_closeLineAfterCut(MR_DividePolylineParameters *_this, bool value)
MRC_API MR_EdgeMap ** MR_DividePolylineParameters_GetMutable_otherOutEmap(MR_DividePolylineParameters *_this)
MRC_API void MR_DividePolylineParameters_Set_otherOutVmap(MR_DividePolylineParameters *_this, MR_VertMap *value)
MRC_API const MR_std_function_void_from_MR_EdgeId_MR_EdgeId_float * MR_DividePolylineParameters_Get_onEdgeSplitCallback(const MR_DividePolylineParameters *_this)
MRC_API void MR_DividePolylineParameters_Destroy(const MR_DividePolylineParameters *_this)
Destroys a heap-allocated instance of MR_DividePolylineParameters. Does nothing if the pointer is nul...
MRC_API bool * MR_DividePolylineParameters_GetMutable_closeLineAfterCut(MR_DividePolylineParameters *_this)
MRC_API MR_EdgeMap *const * MR_DividePolylineParameters_Get_otherOutEmap(const MR_DividePolylineParameters *_this)
MRC_API MR_VertMap ** MR_DividePolylineParameters_GetMutable_otherOutVmap(MR_DividePolylineParameters *_this)
MRC_API void MR_DividePolylineParameters_Set_otherOutEmap(MR_DividePolylineParameters *_this, MR_EdgeMap *value)
MRC_API MR_EdgeMap *const * MR_DividePolylineParameters_Get_outEmap(const MR_DividePolylineParameters *_this)
MRC_API const bool * MR_DividePolylineParameters_Get_closeLineAfterCut(const MR_DividePolylineParameters *_this)
MRC_API MR_DividePolylineParameters * MR_DividePolylineParameters_AssignFromAnother(MR_DividePolylineParameters *_this, MR_PassBy _other_pass_by, MR_DividePolylineParameters *_other)
MRC_API MR_UndirectedEdgeBitSet * MR_subdivideWithPlane_4(MR_Polyline3 *polyline, const MR_Plane3f *plane, MR_EdgeBitSet *newPositiveEdges, MR_PassBy onEdgeSplitCallback_pass_by, MR_std_function_void_from_MR_EdgeId_MR_EdgeId_float *onEdgeSplitCallback)
MRC_API MR_DividePolylineParameters * MR_DividePolylineParameters_DefaultConstructArray(size_t num_elems)
MRC_API MR_VertMap *const * MR_DividePolylineParameters_Get_outVmap(const MR_DividePolylineParameters *_this)
MRC_API void MR_trimWithPlane_MR_Polyline3(MR_Polyline3 *polyline, const MR_Plane3f *plane, const MR_DividePolylineParameters *params)
MRC_API void MR_DividePolylineParameters_Set_outEmap(MR_DividePolylineParameters *_this, MR_EdgeMap *value)
MRC_API void MR_DividePolylineParameters_Set_outVmap(MR_DividePolylineParameters *_this, MR_VertMap *value)
MRC_API const MR_DividePolylineParameters * MR_DividePolylineParameters_OffsetPtr(const MR_DividePolylineParameters *ptr, ptrdiff_t i)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
struct MR_std_vector_MR_EdgeSegment MR_std_vector_MR_EdgeSegment
Definition MRPolylineTrimWithPlane.h:20
MR_PassBy
Definition common.h:19
#define MRC_API
Definition exports.h:11