MeshLib C Docs
Loading...
Searching...
No Matches
MRFeatureHelpers.h
Go to the documentation of this file.
1#pragma once
2
3#include <MRCMisc/exports.h>
4
5#include <stddef.h>
6
7#ifdef __cplusplus
8extern "C" {
9#endif
10
11typedef struct MR_FeatureObject MR_FeatureObject; // Defined in `#include <MRCMesh/MRFeatureObject.h>`.
12typedef struct MR_std_optional_MR_Vector3f MR_std_optional_MR_Vector3f; // Defined in `#include <MRCMisc/std_optional_MR_Vector3f.h>`.
13typedef struct MR_std_shared_ptr_MR_VisualObject MR_std_shared_ptr_MR_VisualObject; // Defined in `#include <MRCMisc/std_shared_ptr_MR_VisualObject.h>`.
14typedef struct MR_std_string_view MR_std_string_view; // Defined in `#include <MRCMisc/std_string_view.h>`.
15typedef struct MR_std_unordered_set_std_string MR_std_unordered_set_std_string; // Defined in `#include <MRCMisc/std_unordered_set_std_string.h>`.
16
17
31
34
37
40
43
46
49
52
56
60
65
68
71
76
79
82
88
92
96
101
104
107
112
115
118
124
128
132
137
140
143
148
151
154
160
164
168
173
176
179
184
187
190
196
200
204
209
212
215
220
223
226
232
236
240
245
248
251
256
259
262
268
272
276
281
284
287
292
295
298
304
309
315MRC_API MR_std_shared_ptr_MR_VisualObject *MR_makeObjectFromClassName(const char *className, const char *className_end);
316
317// Using forEachObjectKind the template collects a list of features for which the method ...->getNormal() is available
321
322// Using forEachObjectKind the template collects a list of features for which the method ...->getDirection() is available
326
327// Try to getNormal from specific feature using forEachObjectKind template. Returns nullopt is ...->getNormal() is not available for given feature type.
331
332// Try to getDirection from specific feature using forEachObjectKind template. Returns nullopt is ...->getDirection() is not available for given feature type.
336
337#ifdef __cplusplus
338} // extern "C"
339#endif
struct MR_FeatureObject MR_FeatureObject
Definition MRAddVisualPropertiesMixin.h:16
struct MR_std_shared_ptr_MR_VisualObject MR_std_shared_ptr_MR_VisualObject
Definition MRChangeColoringActions.h:18
struct MR_std_optional_MR_Vector3f MR_std_optional_MR_Vector3f
Definition MRDistanceMap.h:26
struct MR_std_string_view MR_std_string_view
Definition MRDistanceMeasurementObject.h:25
MRC_API const MR_std_string_view * MR_ObjKindTraits_MR_FeaturesObjectKind_Cone_Get_name(void)
MRC_API MR_ObjKindTraits_MR_FeaturesObjectKind_Line * MR_ObjKindTraits_MR_FeaturesObjectKind_Line_OffsetMutablePtr(MR_ObjKindTraits_MR_FeaturesObjectKind_Line *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_ObjKindTraits_MR_FeaturesObjectKind_Line * MR_ObjKindTraits_MR_FeaturesObjectKind_Line_DefaultConstructArray(size_t num_elems)
MRC_API MR_ObjKindTraits_MR_FeaturesObjectKind_Point * MR_ObjKindTraits_MR_FeaturesObjectKind_Point_DefaultConstruct(void)
MRC_API void MR_ObjKindTraits_MR_FeaturesObjectKind_Sphere_Destroy(const MR_ObjKindTraits_MR_FeaturesObjectKind_Sphere *_this)
Destroys a heap-allocated instance of MR_ObjKindTraits_MR_FeaturesObjectKind_Sphere....
MRC_API MR_ObjKindTraits_MR_FeaturesObjectKind_Plane * MR_ObjKindTraits_MR_FeaturesObjectKind_Plane_ConstructFromAnother(const MR_ObjKindTraits_MR_FeaturesObjectKind_Plane *_other)
MRC_API MR_std_optional_MR_Vector3f * MR_getFeatureDirection(MR_FeatureObject *feature)
struct MR_ObjKindTraits_MR_FeaturesObjectKind_Point MR_ObjKindTraits_MR_FeaturesObjectKind_Point
Generated from class MR::ObjKindTraits<MR::FeaturesObjectKind::Point>.
Definition MRFeatureHelpers.h:33
MRC_API MR_ObjKindTraits_MR_FeaturesObjectKind_Circle * MR_ObjKindTraits_MR_FeaturesObjectKind_Circle_OffsetMutablePtr(MR_ObjKindTraits_MR_FeaturesObjectKind_Circle *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_ObjKindTraits_MR_FeaturesObjectKind_Plane * MR_ObjKindTraits_MR_FeaturesObjectKind_Plane_AssignFromAnother(MR_ObjKindTraits_MR_FeaturesObjectKind_Plane *_this, const MR_ObjKindTraits_MR_FeaturesObjectKind_Plane *_other)
MRC_API MR_ObjKindTraits_MR_FeaturesObjectKind_Sphere * MR_ObjKindTraits_MR_FeaturesObjectKind_Sphere_OffsetMutablePtr(MR_ObjKindTraits_MR_FeaturesObjectKind_Sphere *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_ObjKindTraits_MR_FeaturesObjectKind_Cylinder * MR_ObjKindTraits_MR_FeaturesObjectKind_Cylinder_OffsetMutablePtr(MR_ObjKindTraits_MR_FeaturesObjectKind_Cylinder *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_std_unordered_set_std_string * MR_getFeaturesTypeWithNormals(void)
MRC_API void MR_ObjKindTraits_MR_FeaturesObjectKind_Cone_Destroy(const MR_ObjKindTraits_MR_FeaturesObjectKind_Cone *_this)
Destroys a heap-allocated instance of MR_ObjKindTraits_MR_FeaturesObjectKind_Cone....
MRC_API MR_ObjKindTraits_MR_FeaturesObjectKind_Line * MR_ObjKindTraits_MR_FeaturesObjectKind_Line_ConstructFromAnother(const MR_ObjKindTraits_MR_FeaturesObjectKind_Line *_other)
MRC_API const MR_ObjKindTraits_MR_FeaturesObjectKind_Line * MR_ObjKindTraits_MR_FeaturesObjectKind_Line_OffsetPtr(const MR_ObjKindTraits_MR_FeaturesObjectKind_Line *ptr, ptrdiff_t i)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
MR_FeaturesObjectKind
Definition MRFeatureHelpers.h:21
@ MR_FeaturesObjectKind_Line
Definition MRFeatureHelpers.h:23
@ MR_FeaturesObjectKind_Point
Definition MRFeatureHelpers.h:22
@ MR_FeaturesObjectKind_Plane
Definition MRFeatureHelpers.h:24
@ MR_FeaturesObjectKind_Cylinder
Definition MRFeatureHelpers.h:27
@ MR_FeaturesObjectKind_Cone
Definition MRFeatureHelpers.h:28
@ MR_FeaturesObjectKind_Circle
Definition MRFeatureHelpers.h:25
@ MR_FeaturesObjectKind_Sphere
Definition MRFeatureHelpers.h:26
@ MR_FeaturesObjectKind__count
Definition MRFeatureHelpers.h:29
MRC_API void MR_ObjKindTraits_MR_FeaturesObjectKind_Line_Destroy(const MR_ObjKindTraits_MR_FeaturesObjectKind_Line *_this)
Destroys a heap-allocated instance of MR_ObjKindTraits_MR_FeaturesObjectKind_Line....
MRC_API const MR_ObjKindTraits_MR_FeaturesObjectKind_Circle * MR_ObjKindTraits_MR_FeaturesObjectKind_Circle_OffsetPtr(const MR_ObjKindTraits_MR_FeaturesObjectKind_Circle *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_std_unordered_set_std_string * MR_getFeaturesTypeWithDirections(void)
MRC_API MR_ObjKindTraits_MR_FeaturesObjectKind_Cone * MR_ObjKindTraits_MR_FeaturesObjectKind_Cone_OffsetMutablePtr(MR_ObjKindTraits_MR_FeaturesObjectKind_Cone *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_ObjKindTraits_MR_FeaturesObjectKind_Sphere * MR_ObjKindTraits_MR_FeaturesObjectKind_Sphere_DefaultConstruct(void)
MRC_API MR_ObjKindTraits_MR_FeaturesObjectKind_Sphere * MR_ObjKindTraits_MR_FeaturesObjectKind_Sphere_ConstructFromAnother(const MR_ObjKindTraits_MR_FeaturesObjectKind_Sphere *_other)
MRC_API MR_ObjKindTraits_MR_FeaturesObjectKind_Circle * MR_ObjKindTraits_MR_FeaturesObjectKind_Circle_DefaultConstruct(void)
MRC_API MR_ObjKindTraits_MR_FeaturesObjectKind_Cone * MR_ObjKindTraits_MR_FeaturesObjectKind_Cone_AssignFromAnother(MR_ObjKindTraits_MR_FeaturesObjectKind_Cone *_this, const MR_ObjKindTraits_MR_FeaturesObjectKind_Cone *_other)
MRC_API const MR_std_string_view * MR_ObjKindTraits_MR_FeaturesObjectKind_Cylinder_Get_name(void)
MRC_API MR_ObjKindTraits_MR_FeaturesObjectKind_Sphere * MR_ObjKindTraits_MR_FeaturesObjectKind_Sphere_AssignFromAnother(MR_ObjKindTraits_MR_FeaturesObjectKind_Sphere *_this, const MR_ObjKindTraits_MR_FeaturesObjectKind_Sphere *_other)
MRC_API void MR_ObjKindTraits_MR_FeaturesObjectKind_Point_DestroyArray(const MR_ObjKindTraits_MR_FeaturesObjectKind_Point *_this)
Destroys a heap-allocated array of MR_ObjKindTraits_MR_FeaturesObjectKind_Point. Does nothing if the ...
MRC_API void MR_ObjKindTraits_MR_FeaturesObjectKind_Plane_DestroyArray(const MR_ObjKindTraits_MR_FeaturesObjectKind_Plane *_this)
Destroys a heap-allocated array of MR_ObjKindTraits_MR_FeaturesObjectKind_Plane. Does nothing if the ...
MRC_API MR_ObjKindTraits_MR_FeaturesObjectKind_Line * MR_ObjKindTraits_MR_FeaturesObjectKind_Line_AssignFromAnother(MR_ObjKindTraits_MR_FeaturesObjectKind_Line *_this, const MR_ObjKindTraits_MR_FeaturesObjectKind_Line *_other)
MRC_API MR_ObjKindTraits_MR_FeaturesObjectKind_Cylinder * MR_ObjKindTraits_MR_FeaturesObjectKind_Cylinder_ConstructFromAnother(const MR_ObjKindTraits_MR_FeaturesObjectKind_Cylinder *_other)
MRC_API void MR_ObjKindTraits_MR_FeaturesObjectKind_Cylinder_Destroy(const MR_ObjKindTraits_MR_FeaturesObjectKind_Cylinder *_this)
Destroys a heap-allocated instance of MR_ObjKindTraits_MR_FeaturesObjectKind_Cylinder....
MRC_API void MR_ObjKindTraits_MR_FeaturesObjectKind_Plane_Destroy(const MR_ObjKindTraits_MR_FeaturesObjectKind_Plane *_this)
Destroys a heap-allocated instance of MR_ObjKindTraits_MR_FeaturesObjectKind_Plane....
MRC_API const MR_std_string_view * MR_ObjKindTraits_MR_FeaturesObjectKind_Line_Get_name(void)
MRC_API void MR_ObjKindTraits_MR_FeaturesObjectKind_Sphere_DestroyArray(const MR_ObjKindTraits_MR_FeaturesObjectKind_Sphere *_this)
Destroys a heap-allocated array of MR_ObjKindTraits_MR_FeaturesObjectKind_Sphere. Does nothing if the...
MRC_API MR_ObjKindTraits_MR_FeaturesObjectKind_Cylinder * MR_ObjKindTraits_MR_FeaturesObjectKind_Cylinder_DefaultConstructArray(size_t num_elems)
MRC_API const MR_std_string_view * MR_ObjKindTraits_MR_FeaturesObjectKind_Plane_Get_name(void)
MRC_API const MR_ObjKindTraits_MR_FeaturesObjectKind_Plane * MR_ObjKindTraits_MR_FeaturesObjectKind_Plane_OffsetPtr(const MR_ObjKindTraits_MR_FeaturesObjectKind_Plane *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_ObjKindTraits_MR_FeaturesObjectKind_Circle * MR_ObjKindTraits_MR_FeaturesObjectKind_Circle_DefaultConstructArray(size_t num_elems)
MRC_API const MR_std_string_view * MR_ObjKindTraits_MR_FeaturesObjectKind_Point_Get_name(void)
MRC_API MR_ObjKindTraits_MR_FeaturesObjectKind_Circle * MR_ObjKindTraits_MR_FeaturesObjectKind_Circle_ConstructFromAnother(const MR_ObjKindTraits_MR_FeaturesObjectKind_Circle *_other)
MRC_API MR_ObjKindTraits_MR_FeaturesObjectKind_Sphere * MR_ObjKindTraits_MR_FeaturesObjectKind_Sphere_DefaultConstructArray(size_t num_elems)
MRC_API MR_ObjKindTraits_MR_FeaturesObjectKind_Cylinder * MR_ObjKindTraits_MR_FeaturesObjectKind_Cylinder_AssignFromAnother(MR_ObjKindTraits_MR_FeaturesObjectKind_Cylinder *_this, const MR_ObjKindTraits_MR_FeaturesObjectKind_Cylinder *_other)
MRC_API MR_ObjKindTraits_MR_FeaturesObjectKind_Point * MR_ObjKindTraits_MR_FeaturesObjectKind_Point_AssignFromAnother(MR_ObjKindTraits_MR_FeaturesObjectKind_Point *_this, const MR_ObjKindTraits_MR_FeaturesObjectKind_Point *_other)
struct MR_ObjKindTraits_MR_FeaturesObjectKind_Cylinder MR_ObjKindTraits_MR_FeaturesObjectKind_Cylinder
Generated from class MR::ObjKindTraits<MR::FeaturesObjectKind::Cylinder>.
Definition MRFeatureHelpers.h:48
MRC_API MR_ObjKindTraits_MR_FeaturesObjectKind_Cone * MR_ObjKindTraits_MR_FeaturesObjectKind_Cone_DefaultConstructArray(size_t num_elems)
MRC_API MR_ObjKindTraits_MR_FeaturesObjectKind_Plane * MR_ObjKindTraits_MR_FeaturesObjectKind_Plane_OffsetMutablePtr(MR_ObjKindTraits_MR_FeaturesObjectKind_Plane *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_ObjKindTraits_MR_FeaturesObjectKind_Point * MR_ObjKindTraits_MR_FeaturesObjectKind_Point_DefaultConstructArray(size_t num_elems)
MRC_API MR_ObjKindTraits_MR_FeaturesObjectKind_Plane * MR_ObjKindTraits_MR_FeaturesObjectKind_Plane_DefaultConstruct(void)
MRC_API MR_ObjKindTraits_MR_FeaturesObjectKind_Circle * MR_ObjKindTraits_MR_FeaturesObjectKind_Circle_AssignFromAnother(MR_ObjKindTraits_MR_FeaturesObjectKind_Circle *_this, const MR_ObjKindTraits_MR_FeaturesObjectKind_Circle *_other)
struct MR_std_unordered_set_std_string MR_std_unordered_set_std_string
Definition MRFeatureHelpers.h:15
struct MR_ObjKindTraits_MR_FeaturesObjectKind_Circle MR_ObjKindTraits_MR_FeaturesObjectKind_Circle
Generated from class MR::ObjKindTraits<MR::FeaturesObjectKind::Circle>.
Definition MRFeatureHelpers.h:42
struct MR_ObjKindTraits_MR_FeaturesObjectKind_Sphere MR_ObjKindTraits_MR_FeaturesObjectKind_Sphere
Generated from class MR::ObjKindTraits<MR::FeaturesObjectKind::Sphere>.
Definition MRFeatureHelpers.h:45
MRC_API void MR_ObjKindTraits_MR_FeaturesObjectKind_Cylinder_DestroyArray(const MR_ObjKindTraits_MR_FeaturesObjectKind_Cylinder *_this)
Destroys a heap-allocated array of MR_ObjKindTraits_MR_FeaturesObjectKind_Cylinder....
MRC_API MR_ObjKindTraits_MR_FeaturesObjectKind_Point * MR_ObjKindTraits_MR_FeaturesObjectKind_Point_ConstructFromAnother(const MR_ObjKindTraits_MR_FeaturesObjectKind_Point *_other)
MRC_API MR_ObjKindTraits_MR_FeaturesObjectKind_Cylinder * MR_ObjKindTraits_MR_FeaturesObjectKind_Cylinder_DefaultConstruct(void)
MRC_API const MR_ObjKindTraits_MR_FeaturesObjectKind_Sphere * MR_ObjKindTraits_MR_FeaturesObjectKind_Sphere_OffsetPtr(const MR_ObjKindTraits_MR_FeaturesObjectKind_Sphere *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_ObjKindTraits_MR_FeaturesObjectKind_Cylinder * MR_ObjKindTraits_MR_FeaturesObjectKind_Cylinder_OffsetPtr(const MR_ObjKindTraits_MR_FeaturesObjectKind_Cylinder *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_ObjKindTraits_MR_FeaturesObjectKind_Cone_DestroyArray(const MR_ObjKindTraits_MR_FeaturesObjectKind_Cone *_this)
Destroys a heap-allocated array of MR_ObjKindTraits_MR_FeaturesObjectKind_Cone. Does nothing if the p...
MRC_API MR_ObjKindTraits_MR_FeaturesObjectKind_Cone * MR_ObjKindTraits_MR_FeaturesObjectKind_Cone_ConstructFromAnother(const MR_ObjKindTraits_MR_FeaturesObjectKind_Cone *_other)
struct MR_ObjKindTraits_MR_FeaturesObjectKind_Line MR_ObjKindTraits_MR_FeaturesObjectKind_Line
Generated from class MR::ObjKindTraits<MR::FeaturesObjectKind::Line>.
Definition MRFeatureHelpers.h:36
MRC_API MR_std_shared_ptr_MR_VisualObject * MR_makeObjectFromEnum(MR_FeaturesObjectKind kind)
MRC_API const MR_ObjKindTraits_MR_FeaturesObjectKind_Point * MR_ObjKindTraits_MR_FeaturesObjectKind_Point_OffsetPtr(const MR_ObjKindTraits_MR_FeaturesObjectKind_Point *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_std_string_view * MR_ObjKindTraits_MR_FeaturesObjectKind_Circle_Get_name(void)
MRC_API const MR_ObjKindTraits_MR_FeaturesObjectKind_Cone * MR_ObjKindTraits_MR_FeaturesObjectKind_Cone_OffsetPtr(const MR_ObjKindTraits_MR_FeaturesObjectKind_Cone *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_ObjKindTraits_MR_FeaturesObjectKind_Line_DestroyArray(const MR_ObjKindTraits_MR_FeaturesObjectKind_Line *_this)
Destroys a heap-allocated array of MR_ObjKindTraits_MR_FeaturesObjectKind_Line. Does nothing if the p...
MRC_API void MR_ObjKindTraits_MR_FeaturesObjectKind_Circle_Destroy(const MR_ObjKindTraits_MR_FeaturesObjectKind_Circle *_this)
Destroys a heap-allocated instance of MR_ObjKindTraits_MR_FeaturesObjectKind_Circle....
struct MR_ObjKindTraits_MR_FeaturesObjectKind_Plane MR_ObjKindTraits_MR_FeaturesObjectKind_Plane
Generated from class MR::ObjKindTraits<MR::FeaturesObjectKind::Plane>.
Definition MRFeatureHelpers.h:39
MRC_API const MR_std_string_view * MR_ObjKindTraits_MR_FeaturesObjectKind_Sphere_Get_name(void)
MRC_API MR_std_optional_MR_Vector3f * MR_getFeatureNormal(MR_FeatureObject *feature)
MRC_API MR_std_shared_ptr_MR_VisualObject * MR_makeObjectFromClassName(const char *className, const char *className_end)
MRC_API MR_ObjKindTraits_MR_FeaturesObjectKind_Plane * MR_ObjKindTraits_MR_FeaturesObjectKind_Plane_DefaultConstructArray(size_t num_elems)
MRC_API MR_ObjKindTraits_MR_FeaturesObjectKind_Cone * MR_ObjKindTraits_MR_FeaturesObjectKind_Cone_DefaultConstruct(void)
MRC_API void MR_ObjKindTraits_MR_FeaturesObjectKind_Point_Destroy(const MR_ObjKindTraits_MR_FeaturesObjectKind_Point *_this)
Destroys a heap-allocated instance of MR_ObjKindTraits_MR_FeaturesObjectKind_Point....
MRC_API void MR_ObjKindTraits_MR_FeaturesObjectKind_Circle_DestroyArray(const MR_ObjKindTraits_MR_FeaturesObjectKind_Circle *_this)
Destroys a heap-allocated array of MR_ObjKindTraits_MR_FeaturesObjectKind_Circle. Does nothing if the...
MRC_API MR_ObjKindTraits_MR_FeaturesObjectKind_Line * MR_ObjKindTraits_MR_FeaturesObjectKind_Line_DefaultConstruct(void)
MRC_API MR_ObjKindTraits_MR_FeaturesObjectKind_Point * MR_ObjKindTraits_MR_FeaturesObjectKind_Point_OffsetMutablePtr(MR_ObjKindTraits_MR_FeaturesObjectKind_Point *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_ObjKindTraits_MR_FeaturesObjectKind_Cone MR_ObjKindTraits_MR_FeaturesObjectKind_Cone
Generated from class MR::ObjKindTraits<MR::FeaturesObjectKind::Cone>.
Definition MRFeatureHelpers.h:51
#define MRC_API
Definition exports.h:11