MeshLib C Docs
Loading...
Searching...
No Matches
MRFeatures.h
Go to the documentation of this file.
1#pragma once
2
3#include <MRCMesh/MRVector3.h>
4#include <MRCMisc/common.h>
5#include <MRCMisc/exports.h>
6
7#include <stdbool.h>
8#include <stddef.h>
9
10#ifdef __cplusplus
11extern "C" {
12#endif
13
14typedef struct MR_AffineXf3f MR_AffineXf3f; // Defined in `#include <MRCMesh/MRAffineXf.h>`.
15typedef struct MR_Cone3f MR_Cone3f; // Defined in `#include <MRCMesh/MRCone3.h>`.
16typedef struct MR_Cylinder3f MR_Cylinder3f; // Defined in `#include <MRCMesh/MRCylinder3.h>`.
17typedef struct MR_Line3f MR_Line3f; // Defined in `#include <MRCMesh/MRLine.h>`.
18typedef struct MR_LineSegm3f MR_LineSegm3f; // Defined in `#include <MRCMesh/MRLineSegm.h>`.
19typedef struct MR_Object MR_Object; // Defined in `#include <MRCMesh/MRObject.h>`.
20typedef struct MR_Sphere3f MR_Sphere3f; // Defined in `#include <MRCMesh/MRSphere.h>`.
21typedef struct MR_std_optional_std_variant_MR_Sphere3f_MR_Features_Primitives_ConeSegment_MR_Features_Primitives_Plane MR_std_optional_std_variant_MR_Sphere3f_MR_Features_Primitives_ConeSegment_MR_Features_Primitives_Plane; // Defined in `#include <MRCMisc/std_optional_std_variant_MR_Sphere3f_MR_Features_Primitives_ConeSegment_MR_Features_Primitiv__9713.h>`.
22typedef struct MR_std_shared_ptr_MR_FeatureObject MR_std_shared_ptr_MR_FeatureObject; // Defined in `#include <MRCMisc/std_shared_ptr_MR_FeatureObject.h>`.
23typedef struct MR_std_string MR_std_string; // Defined in `#include <MRCMisc/std_string.h>`.
24typedef struct MR_std_string_view MR_std_string_view; // Defined in `#include <MRCMisc/std_string_view.h>`.
25typedef struct MR_std_variant_MR_Sphere3f_MR_Features_Primitives_ConeSegment_MR_Features_Primitives_Plane MR_std_variant_MR_Sphere3f_MR_Features_Primitives_ConeSegment_MR_Features_Primitives_Plane; // Defined in `#include <MRCMisc/std_variant_MR_Sphere3f_MR_Features_Primitives_ConeSegment_MR_Features_Primitives_Plane.h>`.
26typedef struct MR_std_vector_std_variant_MR_Sphere3f_MR_Features_Primitives_ConeSegment_MR_Features_Primitives_Plane MR_std_vector_std_variant_MR_Sphere3f_MR_Features_Primitives_ConeSegment_MR_Features_Primitives_Plane; // Defined in `#include <MRCMisc/std_vector_std_variant_MR_Sphere3f_MR_Features_Primitives_ConeSegment_MR_Features_Primitives__cdd2.h>`.
27
28
32
39
53
61
68
75
80
84
88
92
93// ?? <-> Sphere
97
101
105
106// ?? <-> Cone
110
114
115// ?? <-> Plane
119
124
130
135
136// This must be normalized. The sign doesn't matter.
141
142// This must be normalized. The sign doesn't matter.
148
149// This must be normalized. The sign doesn't matter.
154
158
163
170
174
178
184
187
190
198
199// Returns an infinite line, with the center in a sane location.
205
206// Intersects the plane with a line, returns a point (zero radius sphere).
207// Only `center` and `dir` are used from `line` (so if `line` is a cone/cylinder, its axis is used,
208// and the line is extended to infinity).
214
219
225
232
238
244
251
257
263
269
275
281
287
293
299
305
311
317
323
329
330// If true, the cone has no caps and no volume, and all distances (to the conical surface, that is) are positive.
335
336// If true, the cone has no caps and no volume, and all distances (to the conical surface, that is) are positive.
341
342// If true, the cone has no caps and no volume, and all distances (to the conical surface, that is) are positive.
347
351
356
362MRC_API MR_Features_Primitives_ConeSegment *MR_Features_Primitives_ConeSegment_ConstructFrom(MR_Vector3f referencePoint, MR_Vector3f dir, float positiveSideRadius, float negativeSideRadius, float positiveLength, float negativeLength, bool hollow);
363
367
371
377
380
383
391
395
399
400// Returns the length. Can be infinite.
404
405// Returns the center point (unlike `referencePoint`, which can actually be off-center).
406// For half-infinite objects, returns the finite end.
411
412// Extends the object to infinity in one direction. The radius in the extended direction becomes equal to the radius in the opposite direction.
417
418// Extends the object to infinity in both directions. This is equivalent to `.extendToInfinity(false).extendToInfinity(true)`,
419// except that calling it with `positiveSideRadius != negativeSideRadius` is illegal and triggers an assertion.
424
425// Untruncates a truncated cone. If it's not a cone at all, returns the object unchanged and triggers an assertion.
430
431// Returns a finite axis. For circles, you might want to immediately `extendToInfinity()` it.
436
437// Returns a center of one of the two base circles.
442
443// Returns one of the two base planes.
448
449// Returns one of the two base circles.
454
459
460// Those map various MR types to our primitives. Some of those are identity functions.
465
470
475
480
485
490
497
504
511
512// Returns null if the object type is unknown. This overload ignores the parent xf.
517
518// Returns null if the object type is unknown. This overload respects the parent's `worldXf()`.
523
524// Can return null on some primitive configurations.
525// `infiniteExtent` is how large we make "infinite" objects. Half-infinite objects divide this by 2.
530
531// Transform a primitive by an xf.
532// Non-uniform scaling and skewing are not supported.
538
544
550
556
557// Exact distance.
562
563// Exact distance.
570
571// Exact distance.
576
577// Some approximation of the distance.
578// For planes and lines, this expects them to be mostly parallel. For everything else, it just takes the feature center.
583
584// Some approximation of the distance.
585// For planes and lines, this expects them to be mostly parallel. For everything else, it just takes the feature center.
592
593// Some approximation of the distance.
594// For planes and lines, this expects them to be mostly parallel. For everything else, it just takes the feature center.
599
604
611
616
617// The primitives obtained from intersecting those two.
622
623// The primitives obtained from intersecting those two.
629
630// The primitives obtained from intersecting those two.
635
639
644
656
660
664
669
672
675
682
683// Modifies the object to swap A and B;
687
692
698
703
707
712
718
722
726
731
735
740
744
750
753
756
760
768
769// This is a separate field because it can be negative.
774
775// This is a separate field because it can be negative.
780
781// This is a separate field because it can be negative.
786
791
797
802
807
813
818
823
829
834
838
843
847
851
855
858
864
867
870
874
882
886
890
894
899
905
910
915
921
926
927// Normalized.
932
933// Normalized.
939
940// Normalized.
945
946// ^
951
952// ^
958
959// ^
964
970
976
982
987
992
997
1002
1008
1013
1017
1022
1026
1030
1034
1037
1043
1046
1049
1053
1061
1065
1069
1073
1077
1078// `MeasureResult::Status` enum to string.
1082
1086
1091
1095
1099
1105
1108
1111
1119
1125
1129
1134
1138
1142
1148
1151
1154
1162
1168
1172
1177
1181
1185
1191
1194
1197
1205
1211
1215
1220
1224
1228
1234
1237
1240
1248
1255
1259
1264
1268
1272
1278
1281
1284
1292
1299
1303
1308
1312
1316
1322
1325
1328
1336
1343
1347
1352
1356
1360
1366
1369
1372
1380
1387
1391
1396
1400
1404
1410
1413
1416
1424
1431
1435
1440
1444
1448
1454
1457
1460
1468
1475
1476// Same but for a variant.
1481
1482// Same, but with variants as both argument.
1488
1489#ifdef __cplusplus
1490} // extern "C"
1491#endif
struct MR_Line3f MR_Line3f
Definition MRBestFit.h:17
struct MR_Cone3f MR_Cone3f
Definition MRCone3.h:19
struct MR_std_string MR_std_string
Definition MRCtm.h:32
struct MR_Cylinder3f MR_Cylinder3f
Definition MRCylinder3.h:21
struct MR_std_string_view MR_std_string_view
Definition MRDistanceMeasurementObject.h:39
MRC_API MR_Features_Primitives_ConeSegment * MR_Features_toPrimitive_MR_Cone3f(const MR_Cone3f *cone)
MRC_API const MR_Vector3f * MR_Features_MeasureResult_Distance_Get_closestPointA(const MR_Features_MeasureResult_Distance *_this)
MRC_API MR_Features_MeasureResult * MR_Features_Traits_Binary_MR_Sphere3f_MR_Sphere3f_measure(const MR_Features_Traits_Binary_MR_Sphere3f_MR_Sphere3f *_this, const MR_Sphere3f *a, const MR_Sphere3f *b)
MRC_API MR_Features_Primitives_ConeSegment * MR_Features_primitiveCone(const MR_Vector3f *a, const MR_Vector3f *b, float rad)
MRC_API MR_Features_MeasureResult * MR_Features_MeasureResult_DefaultConstruct(void)
MRC_API MR_Features_Primitives_ConeSegment * MR_Features_Primitives_ConeSegment_DefaultConstructArray(size_t num_elems)
MRC_API const float * MR_Features_Primitives_ConeSegment_Get_positiveLength(const MR_Features_Primitives_ConeSegment *_this)
MRC_API MR_Features_Primitives_ConeSegment * MR_Features_Primitives_ConeSegment_untruncateCone(const MR_Features_Primitives_ConeSegment *_this)
struct MR_Features_Traits_Binary_MR_Features_Primitives_ConeSegment_MR_Features_Primitives_ConeSegment MR_Features_Traits_Binary_MR_Features_Primitives_ConeSegment_MR_Features_Primitives_ConeSegment
Definition MRFeatures.h:109
MRC_API MR_Features_Traits_Binary_MR_Sphere3f_MR_Sphere3f * MR_Features_Traits_Binary_MR_Sphere3f_MR_Sphere3f_DefaultConstructArray(size_t num_elems)
MRC_API const MR_Vector3f * MR_Features_MeasureResult_Angle_Get_dirA(const MR_Features_MeasureResult_Angle *_this)
MRC_API void MR_Features_MeasureResult_Set_centerDistance(MR_Features_MeasureResult *_this, const MR_Features_MeasureResult_Distance *value)
MRC_API void MR_Features_MeasureResult_Set_distance(MR_Features_MeasureResult *_this, const MR_Features_MeasureResult_Distance *value)
MRC_API const MR_Vector3f * MR_Features_MeasureResult_Angle_Get_pointA(const MR_Features_MeasureResult_Angle *_this)
MRC_API void MR_Features_Primitives_ConeSegment_DestroyArray(const MR_Features_Primitives_ConeSegment *_this)
Destroys a heap-allocated array of MR_Features_Primitives_ConeSegment. Does nothing if the pointer is...
MRC_API MR_Features_Traits_Unary_MR_Sphere3f * MR_Features_Traits_Unary_MR_Sphere3f_AssignFromAnother(MR_Features_Traits_Unary_MR_Sphere3f *_this, const MR_Features_Traits_Unary_MR_Sphere3f *_other)
MRC_API MR_Features_Primitives_ConeSegment * MR_Features_Primitives_ConeSegment_extendToInfinity_0(const MR_Features_Primitives_ConeSegment *_this)
struct MR_Features_Traits_Binary_MR_Sphere3f_MR_Sphere3f MR_Features_Traits_Binary_MR_Sphere3f_MR_Sphere3f
Definition MRFeatures.h:96
MRC_API MR_std_shared_ptr_MR_FeatureObject * MR_Features_primitiveToObject(const MR_std_variant_MR_Sphere3f_MR_Features_Primitives_ConeSegment_MR_Features_Primitives_Plane *primitive, float infiniteExtent)
MRC_API MR_Vector3f * MR_Features_Primitives_ConeSegment_GetMutable_dir(MR_Features_Primitives_ConeSegment *_this)
MRC_API MR_std_variant_MR_Sphere3f_MR_Features_Primitives_ConeSegment_MR_Features_Primitives_Plane * MR_Features_transformPrimitive_std_variant_MR_Sphere3f_MR_Features_Primitives_ConeSegment_MR_Features_Primitives_Plane(const MR_AffineXf3f *xf, const MR_std_variant_MR_Sphere3f_MR_Features_Primitives_ConeSegment_MR_Features_Primitives_Plane *primitive)
MRC_API MR_Vector3f * MR_Features_MeasureResult_Angle_GetMutable_dirB(MR_Features_MeasureResult_Angle *_this)
MRC_API const MR_Vector3f * MR_Features_Primitives_Plane_Get_center(const MR_Features_Primitives_Plane *_this)
struct MR_Features_Traits_Binary_MR_Features_Primitives_Plane_MR_Sphere3f MR_Features_Traits_Binary_MR_Features_Primitives_Plane_MR_Sphere3f
Definition MRFeatures.h:104
MRC_API MR_Features_Primitives_ConeSegment * MR_Features_Primitives_ConeSegment_OffsetMutablePtr(MR_Features_Primitives_ConeSegment *ptr, ptrdiff_t i)
MRC_API void MR_Features_Primitives_ConeSegment_Set_negativeLength(MR_Features_Primitives_ConeSegment *_this, float value)
MRC_API MR_Features_Traits_Binary_MR_Features_Primitives_Plane_MR_Sphere3f * MR_Features_Traits_Binary_MR_Features_Primitives_Plane_MR_Sphere3f_DefaultConstructArray(size_t num_elems)
MRC_API void MR_Features_MeasureResult_Angle_Set_dirB(MR_Features_MeasureResult_Angle *_this, MR_Vector3f value)
MRC_API const MR_Features_MeasureResult_Angle * MR_Features_MeasureResult_BasicPart_StaticDowncastTo_MR_Features_MeasureResult_Angle(const MR_Features_MeasureResult_BasicPart *object)
MRC_API const MR_Vector3f * MR_Features_Primitives_ConeSegment_Get_dir(const MR_Features_Primitives_ConeSegment *_this)
MRC_API float * MR_Features_Primitives_ConeSegment_GetMutable_positiveLength(MR_Features_Primitives_ConeSegment *_this)
MRC_API void MR_Features_Traits_Unary_MR_Sphere3f_DestroyArray(const MR_Features_Traits_Unary_MR_Sphere3f *_this)
Destroys a heap-allocated array of MR_Features_Traits_Unary_MR_Sphere3f. Does nothing if the pointer ...
MRC_API MR_Features_Traits_Unary_MR_Features_Primitives_Plane * MR_Features_Traits_Unary_MR_Features_Primitives_Plane_DefaultConstruct(void)
MRC_API MR_std_optional_std_variant_MR_Sphere3f_MR_Features_Primitives_ConeSegment_MR_Features_Primitives_Plane * MR_Features_primitiveFromObject(const MR_Object *object)
MRC_API MR_Features_Primitives_ConeSegment * MR_Features_primitiveCylinder(const MR_Vector3f *a, const MR_Vector3f *b, float rad)
struct MR_Features_MeasureResult_Distance MR_Features_MeasureResult_Distance
Definition MRFeatures.h:67
MRC_API MR_Features_Traits_Unary_MR_Features_Primitives_Plane * MR_Features_Traits_Unary_MR_Features_Primitives_Plane_OffsetMutablePtr(MR_Features_Traits_Unary_MR_Features_Primitives_Plane *ptr, ptrdiff_t i)
MRC_API const float * MR_Features_Primitives_ConeSegment_Get_negativeLength(const MR_Features_Primitives_ConeSegment *_this)
MRC_API MR_Features_Traits_Binary_MR_Features_Primitives_Plane_MR_Sphere3f * MR_Features_Traits_Binary_MR_Features_Primitives_Plane_MR_Sphere3f_OffsetMutablePtr(MR_Features_Traits_Binary_MR_Features_Primitives_Plane_MR_Sphere3f *ptr, ptrdiff_t i)
MRC_API MR_Features_Primitives_ConeSegment * MR_Features_Primitives_ConeSegment_DefaultConstruct(void)
MRC_API MR_Features_MeasureResult_Status * MR_Features_MeasureResult_Angle_GetMutable_status(MR_Features_MeasureResult_Angle *_this)
MRC_API bool MR_equal_MR_Features_Primitives_ConeSegment(const MR_Features_Primitives_ConeSegment *_1, const MR_Features_Primitives_ConeSegment *_2)
MRC_API MR_Features_Traits_Binary_MR_Features_Primitives_Plane_MR_Features_Primitives_Plane * MR_Features_Traits_Binary_MR_Features_Primitives_Plane_MR_Features_Primitives_Plane_OffsetMutablePtr(MR_Features_Traits_Binary_MR_Features_Primitives_Plane_MR_Features_Primitives_Plane *ptr, ptrdiff_t i)
MRC_API const MR_Features_MeasureResult_Angle * MR_Features_MeasureResult_Get_angle(const MR_Features_MeasureResult *_this)
MRC_API MR_Features_MeasureResult * MR_Features_Traits_Binary_MR_Features_Primitives_Plane_MR_Sphere3f_measure(const MR_Features_Traits_Binary_MR_Features_Primitives_Plane_MR_Sphere3f *_this, const MR_Features_Primitives_Plane *a, const MR_Sphere3f *b)
MRC_API MR_Sphere3f * MR_Features_Primitives_ConeSegment_centerPoint(const MR_Features_Primitives_ConeSegment *_this)
MRC_API float MR_Features_MeasureResult_Distance_distanceAlongAxis(const MR_Features_MeasureResult_Distance *_this, int i)
MRC_API bool MR_Features_MeasureResult_Angle_ConvertTo_bool(const MR_Features_MeasureResult_Angle *_this)
MRC_API void MR_Features_Primitives_ConeSegment_Set_positiveLength(MR_Features_Primitives_ConeSegment *_this, float value)
MRC_API MR_Vector3f MR_Features_MeasureResult_Angle_dirFor(const MR_Features_MeasureResult_Angle *_this, bool b)
MRC_API bool MR_Features_Primitives_ConeSegment_isZeroRadius(const MR_Features_Primitives_ConeSegment *_this)
MRC_API MR_std_string * MR_Features_name(const MR_std_variant_MR_Sphere3f_MR_Features_Primitives_ConeSegment_MR_Features_Primitives_Plane *var)
MRC_API MR_Features_Traits_Unary_MR_Features_Primitives_Plane * MR_Features_Traits_Unary_MR_Features_Primitives_Plane_AssignFromAnother(MR_Features_Traits_Unary_MR_Features_Primitives_Plane *_this, const MR_Features_Traits_Unary_MR_Features_Primitives_Plane *_other)
MRC_API MR_Features_Traits_Binary_MR_Features_Primitives_ConeSegment_MR_Features_Primitives_ConeSegment * MR_Features_Traits_Binary_MR_Features_Primitives_ConeSegment_MR_Features_Primitives_ConeSegment_OffsetMutablePtr(MR_Features_Traits_Binary_MR_Features_Primitives_ConeSegment_MR_Features_Primitives_ConeSegment *ptr, ptrdiff_t i)
MRC_API MR_Features_MeasureResult_Distance * MR_Features_MeasureResult_Distance_AssignFromAnother(MR_Features_MeasureResult_Distance *_this, const MR_Features_MeasureResult_Distance *_other)
MRC_API MR_Features_MeasureResult * MR_Features_Traits_Binary_MR_Features_Primitives_ConeSegment_MR_Features_Primitives_ConeSegment_measure(const MR_Features_Traits_Binary_MR_Features_Primitives_ConeSegment_MR_Features_Primitives_ConeSegment *_this, const MR_Features_Primitives_ConeSegment *a, const MR_Features_Primitives_ConeSegment *b)
struct MR_Features_MeasureResult MR_Features_MeasureResult
Definition MRFeatures.h:79
MRC_API const float * MR_Features_Primitives_ConeSegment_Get_negativeSideRadius(const MR_Features_Primitives_ConeSegment *_this)
MRC_API const float * MR_Features_MeasureResult_Distance_Get_distance(const MR_Features_MeasureResult_Distance *_this)
MRC_API MR_std_string * MR_Features_Traits_Unary_MR_Features_Primitives_Plane_name(const MR_Features_Traits_Unary_MR_Features_Primitives_Plane *_this, const MR_Features_Primitives_Plane *prim)
struct MR_std_vector_std_variant_MR_Sphere3f_MR_Features_Primitives_ConeSegment_MR_Features_Primitives_Plane MR_std_vector_std_variant_MR_Sphere3f_MR_Features_Primitives_ConeSegment_MR_Features_Primitives_Plane
Definition MRFeatures.h:26
MRC_API void MR_Features_MeasureResult_Destroy(const MR_Features_MeasureResult *_this)
Destroys a heap-allocated instance of MR_Features_MeasureResult. Does nothing if the pointer is null.
MRC_API MR_Features_Traits_Binary_MR_Features_Primitives_Plane_MR_Features_Primitives_Plane * MR_Features_Traits_Binary_MR_Features_Primitives_Plane_MR_Features_Primitives_Plane_ConstructFromAnother(const MR_Features_Traits_Binary_MR_Features_Primitives_Plane_MR_Features_Primitives_Plane *_other)
MRC_API MR_Features_MeasureResult_Distance * MR_Features_MeasureResult_BasicPart_MutableStaticDowncastTo_MR_Features_MeasureResult_Distance(MR_Features_MeasureResult_BasicPart *object)
MRC_API MR_Features_Primitives_ConeSegment * MR_Features_Primitives_Plane_intersectWithPlane(const MR_Features_Primitives_Plane *_this, const MR_Features_Primitives_Plane *other)
MRC_API MR_Features_Primitives_ConeSegment * MR_Features_Primitives_ConeSegment_AssignFromAnother(MR_Features_Primitives_ConeSegment *_this, const MR_Features_Primitives_ConeSegment *_other)
MRC_API MR_Sphere3f * MR_Features_toPrimitive_MR_Vector3f(const MR_Vector3f *point)
MRC_API MR_Features_Primitives_ConeSegment * MR_Features_toPrimitive_MR_Cylinder3f(const MR_Cylinder3f *cyl)
struct MR_LineSegm3f MR_LineSegm3f
Definition MRFeatures.h:18
struct MR_Features_Primitives_ConeSegment MR_Features_Primitives_ConeSegment
Definition MRFeatures.h:38
struct MR_Features_Traits_Unary_MR_Features_Primitives_ConeSegment MR_Features_Traits_Unary_MR_Features_Primitives_ConeSegment
Definition MRFeatures.h:87
MRC_API const MR_Features_MeasureResult_Distance * MR_Features_MeasureResult_Get_distance(const MR_Features_MeasureResult *_this)
MRC_API MR_Features_Traits_Binary_MR_Features_Primitives_ConeSegment_MR_Sphere3f * MR_Features_Traits_Binary_MR_Features_Primitives_ConeSegment_MR_Sphere3f_DefaultConstruct(void)
MRC_API MR_Features_MeasureResult * MR_Features_Traits_Binary_MR_Features_Primitives_Plane_MR_Features_Primitives_Plane_measure(const MR_Features_Traits_Binary_MR_Features_Primitives_Plane_MR_Features_Primitives_Plane *_this, const MR_Features_Primitives_Plane *a, const MR_Features_Primitives_Plane *b)
MRC_API void MR_Features_Traits_Binary_MR_Sphere3f_MR_Sphere3f_DestroyArray(const MR_Features_Traits_Binary_MR_Sphere3f_MR_Sphere3f *_this)
Destroys a heap-allocated array of MR_Features_Traits_Binary_MR_Sphere3f_MR_Sphere3f....
MRC_API MR_std_string * MR_Features_Traits_Unary_MR_Sphere3f_name(const MR_Features_Traits_Unary_MR_Sphere3f *_this, const MR_Sphere3f *prim)
MRC_API void MR_Features_Primitives_Plane_Destroy(const MR_Features_Primitives_Plane *_this)
Destroys a heap-allocated instance of MR_Features_Primitives_Plane. Does nothing if the pointer is nu...
MRC_API MR_Vector3f MR_Features_MeasureResult_Distance_closestPointFor(const MR_Features_MeasureResult_Distance *_this, bool b)
MRC_API const MR_Vector3f * MR_Features_Primitives_ConeSegment_Get_referencePoint(const MR_Features_Primitives_ConeSegment *_this)
MRC_API MR_Sphere3f * MR_Features_Primitives_Plane_intersectWithLine(const MR_Features_Primitives_Plane *_this, const MR_Features_Primitives_ConeSegment *line)
MRC_API const MR_Features_Traits_Binary_MR_Features_Primitives_ConeSegment_MR_Sphere3f * MR_Features_Traits_Binary_MR_Features_Primitives_ConeSegment_MR_Sphere3f_OffsetPtr(const MR_Features_Traits_Binary_MR_Features_Primitives_ConeSegment_MR_Sphere3f *ptr, ptrdiff_t i)
MRC_API const MR_Features_Traits_Binary_MR_Features_Primitives_Plane_MR_Features_Primitives_ConeSegment * MR_Features_Traits_Binary_MR_Features_Primitives_Plane_MR_Features_Primitives_ConeSegment_OffsetPtr(const MR_Features_Traits_Binary_MR_Features_Primitives_Plane_MR_Features_Primitives_ConeSegment *ptr, ptrdiff_t i)
MRC_API MR_Features_Traits_Binary_MR_Features_Primitives_Plane_MR_Features_Primitives_Plane * MR_Features_Traits_Binary_MR_Features_Primitives_Plane_MR_Features_Primitives_Plane_AssignFromAnother(MR_Features_Traits_Binary_MR_Features_Primitives_Plane_MR_Features_Primitives_Plane *_this, const MR_Features_Traits_Binary_MR_Features_Primitives_Plane_MR_Features_Primitives_Plane *_other)
MRC_API MR_Features_Primitives_ConeSegment * MR_Features_toPrimitive_MR_LineSegm3f(const MR_LineSegm3f *segm)
MRC_API MR_Features_Traits_Binary_MR_Features_Primitives_ConeSegment_MR_Features_Primitives_ConeSegment * MR_Features_Traits_Binary_MR_Features_Primitives_ConeSegment_MR_Features_Primitives_ConeSegment_AssignFromAnother(MR_Features_Traits_Binary_MR_Features_Primitives_ConeSegment_MR_Features_Primitives_ConeSegment *_this, const MR_Features_Traits_Binary_MR_Features_Primitives_ConeSegment_MR_Features_Primitives_ConeSegment *_other)
MRC_API const MR_Features_MeasureResult_Distance * MR_Features_MeasureResult_Distance_OffsetPtr(const MR_Features_MeasureResult_Distance *ptr, ptrdiff_t i)
MRC_API MR_Features_Traits_Binary_MR_Sphere3f_MR_Sphere3f * MR_Features_Traits_Binary_MR_Sphere3f_MR_Sphere3f_OffsetMutablePtr(MR_Features_Traits_Binary_MR_Sphere3f_MR_Sphere3f *ptr, ptrdiff_t i)
MRC_API MR_Vector3f * MR_Features_MeasureResult_Angle_GetMutable_pointA(MR_Features_MeasureResult_Angle *_this)
MRC_API void MR_Features_MeasureResult_Set_angle(MR_Features_MeasureResult *_this, const MR_Features_MeasureResult_Angle *value)
MRC_API MR_Features_MeasureResult * MR_Features_Traits_Binary_MR_Features_Primitives_Plane_MR_Features_Primitives_ConeSegment_measure(const MR_Features_Traits_Binary_MR_Features_Primitives_Plane_MR_Features_Primitives_ConeSegment *_this, const MR_Features_Primitives_Plane *a, const MR_Features_Primitives_ConeSegment *b)
MRC_API MR_Features_MeasureResult_Distance * MR_Features_MeasureResult_GetMutable_centerDistance(MR_Features_MeasureResult *_this)
MRC_API const MR_Features_MeasureResult_Distance * MR_Features_MeasureResult_Get_centerDistance(const MR_Features_MeasureResult *_this)
MRC_API MR_Features_Primitives_ConeSegment * MR_Features_toPrimitive_MR_Line3f(const MR_Line3f *line)
MRC_API MR_Features_Primitives_Plane * MR_Features_transformPrimitive_MR_Features_Primitives_Plane(const MR_AffineXf3f *xf, const MR_Features_Primitives_Plane *primitive)
MRC_API MR_Features_Traits_Binary_MR_Features_Primitives_ConeSegment_MR_Features_Primitives_ConeSegment * MR_Features_Traits_Binary_MR_Features_Primitives_ConeSegment_MR_Features_Primitives_ConeSegment_DefaultConstructArray(size_t num_elems)
MRC_API MR_Features_MeasureResult * MR_Features_MeasureResult_ConstructFromAnother(MR_PassBy _other_pass_by, MR_Features_MeasureResult *_other)
MRC_API float * MR_Features_Primitives_ConeSegment_GetMutable_positiveSideRadius(MR_Features_Primitives_ConeSegment *_this)
struct MR_Features_Traits_Binary_MR_Features_Primitives_Plane_MR_Features_Primitives_ConeSegment MR_Features_Traits_Binary_MR_Features_Primitives_Plane_MR_Features_Primitives_ConeSegment
Definition MRFeatures.h:113
MRC_API MR_Features_MeasureResult * MR_Features_MeasureResult_OffsetMutablePtr(MR_Features_MeasureResult *ptr, ptrdiff_t i)
MRC_API MR_Vector3f * MR_Features_Primitives_Plane_GetMutable_center(MR_Features_Primitives_Plane *_this)
MRC_API const MR_Features_MeasureResult_Status * MR_Features_MeasureResult_Distance_Get_status(const MR_Features_MeasureResult_Distance *_this)
MRC_API void MR_Features_MeasureResult_Angle_DestroyArray(const MR_Features_MeasureResult_Angle *_this)
Destroys a heap-allocated array of MR_Features_MeasureResult_Angle. Does nothing if the pointer is nu...
MRC_API MR_Features_MeasureResult * MR_Features_Traits_Binary_MR_Features_Primitives_ConeSegment_MR_Sphere3f_measure(const MR_Features_Traits_Binary_MR_Features_Primitives_ConeSegment_MR_Sphere3f *_this, const MR_Features_Primitives_ConeSegment *a, const MR_Sphere3f *b)
MRC_API MR_Sphere3f * MR_Features_toPrimitive_MR_Sphere3f(const MR_Sphere3f *sphere)
MRC_API void MR_Features_Traits_Binary_MR_Features_Primitives_Plane_MR_Features_Primitives_ConeSegment_Destroy(const MR_Features_Traits_Binary_MR_Features_Primitives_Plane_MR_Features_Primitives_ConeSegment *_this)
Destroys a heap-allocated instance of MR_Features_Traits_Binary_MR_Features_Primitives_Plane_MR_Featu...
MRC_API MR_Features_Traits_Binary_MR_Sphere3f_MR_Sphere3f * MR_Features_Traits_Binary_MR_Sphere3f_MR_Sphere3f_AssignFromAnother(MR_Features_Traits_Binary_MR_Sphere3f_MR_Sphere3f *_this, const MR_Features_Traits_Binary_MR_Sphere3f_MR_Sphere3f *_other)
MRC_API const MR_Vector3f * MR_Features_Primitives_Plane_Get_normal(const MR_Features_Primitives_Plane *_this)
MRC_API MR_std_vector_std_variant_MR_Sphere3f_MR_Features_Primitives_ConeSegment_MR_Features_Primitives_Plane * MR_Features_MeasureResult_GetMutable_intersections(MR_Features_MeasureResult *_this)
MRC_API void MR_Features_Primitives_ConeSegment_Set_positiveSideRadius(MR_Features_Primitives_ConeSegment *_this, float value)
MRC_API void MR_Features_MeasureResult_Distance_Set_closestPointB(MR_Features_MeasureResult_Distance *_this, MR_Vector3f value)
MRC_API void MR_Features_MeasureResult_Angle_Set_isSurfaceNormalA(MR_Features_MeasureResult_Angle *_this, bool value)
MRC_API void MR_Features_Traits_Binary_MR_Features_Primitives_Plane_MR_Sphere3f_DestroyArray(const MR_Features_Traits_Binary_MR_Features_Primitives_Plane_MR_Sphere3f *_this)
Destroys a heap-allocated array of MR_Features_Traits_Binary_MR_Features_Primitives_Plane_MR_Sphere3f...
MRC_API MR_Features_Primitives_ConeSegment * MR_Features_primitiveCircle(const MR_Vector3f *point, const MR_Vector3f *normal, float rad)
MRC_API MR_Features_MeasureResult * MR_Features_MeasureResult_ConstructFrom(const MR_Features_MeasureResult_Distance *distance, const MR_Features_MeasureResult_Distance *centerDistance, const MR_Features_MeasureResult_Angle *angle, MR_PassBy intersections_pass_by, MR_std_vector_std_variant_MR_Sphere3f_MR_Features_Primitives_ConeSegment_MR_Features_Primitives_Plane *intersections)
MRC_API MR_Features_Traits_Binary_MR_Features_Primitives_ConeSegment_MR_Features_Primitives_ConeSegment * MR_Features_Traits_Binary_MR_Features_Primitives_ConeSegment_MR_Features_Primitives_ConeSegment_ConstructFromAnother(const MR_Features_Traits_Binary_MR_Features_Primitives_ConeSegment_MR_Features_Primitives_ConeSegment *_other)
struct MR_Features_Traits_Unary_MR_Sphere3f MR_Features_Traits_Unary_MR_Sphere3f
Definition MRFeatures.h:83
MRC_API MR_Features_Traits_Binary_MR_Features_Primitives_Plane_MR_Features_Primitives_ConeSegment * MR_Features_Traits_Binary_MR_Features_Primitives_Plane_MR_Features_Primitives_ConeSegment_AssignFromAnother(MR_Features_Traits_Binary_MR_Features_Primitives_Plane_MR_Features_Primitives_ConeSegment *_this, const MR_Features_Traits_Binary_MR_Features_Primitives_Plane_MR_Features_Primitives_ConeSegment *_other)
MRC_API MR_Vector3f * MR_Features_MeasureResult_Angle_GetMutable_dirA(MR_Features_MeasureResult_Angle *_this)
MRC_API bool MR_Features_MeasureResult_BasicPart_ConvertTo_bool(const MR_Features_MeasureResult_BasicPart *_this)
MRC_API MR_Features_Primitives_ConeSegment * MR_Features_Primitives_ConeSegment_extendToInfinity_1(const MR_Features_Primitives_ConeSegment *_this, bool negative)
MR_Features_MeasureResult_Status
Definition MRFeatures.h:41
@ MR_Features_MeasureResult_Status_notFinite
The result was not finite. This is set automatically if you return non-finite values,...
Definition MRFeatures.h:51
@ MR_Features_MeasureResult_Status_badRelativeLocation
Can't be computed because of how the objects are located relative to each other.
Definition MRFeatures.h:49
@ MR_Features_MeasureResult_Status_notImplemented
Algorithms set this if this when something isn't yet implemented.
Definition MRFeatures.h:44
@ MR_Features_MeasureResult_Status_badFeaturePair
Definition MRFeatures.h:47
@ MR_Features_MeasureResult_Status_ok
Definition MRFeatures.h:42
MRC_API const MR_Features_MeasureResult_Status * MR_Features_MeasureResult_Angle_Get_status(const MR_Features_MeasureResult_Angle *_this)
MRC_API const MR_std_vector_std_variant_MR_Sphere3f_MR_Features_Primitives_ConeSegment_MR_Features_Primitives_Plane * MR_Features_MeasureResult_Get_intersections(const MR_Features_MeasureResult *_this)
MRC_API const MR_Features_Traits_Unary_MR_Sphere3f * MR_Features_Traits_Unary_MR_Sphere3f_OffsetPtr(const MR_Features_Traits_Unary_MR_Sphere3f *ptr, ptrdiff_t i)
struct MR_std_optional_std_variant_MR_Sphere3f_MR_Features_Primitives_ConeSegment_MR_Features_Primitives_Plane MR_std_optional_std_variant_MR_Sphere3f_MR_Features_Primitives_ConeSegment_MR_Features_Primitives_Plane
Definition MRFeatures.h:21
MRC_API void MR_Features_MeasureResult_BasicPart_DestroyArray(const MR_Features_MeasureResult_BasicPart *_this)
Destroys a heap-allocated array of MR_Features_MeasureResult_BasicPart. Does nothing if the pointer i...
MRC_API void MR_Features_Primitives_Plane_DestroyArray(const MR_Features_Primitives_Plane *_this)
Destroys a heap-allocated array of MR_Features_Primitives_Plane. Does nothing if the pointer is null.
MRC_API MR_Features_MeasureResult_BasicPart * MR_Features_MeasureResult_Distance_MutableUpcastTo_MR_Features_MeasureResult_BasicPart(MR_Features_MeasureResult_Distance *object)
Upcasts an instance of MR::Features::MeasureResult::Distance to its base class MR::Features::MeasureR...
MRC_API MR_Features_MeasureResult_BasicPart * MR_Features_MeasureResult_Angle_MutableUpcastTo_MR_Features_MeasureResult_BasicPart(MR_Features_MeasureResult_Angle *object)
Upcasts an instance of MR::Features::MeasureResult::Angle to its base class MR::Features::MeasureResu...
MRC_API MR_Features_Traits_Binary_MR_Features_Primitives_Plane_MR_Features_Primitives_Plane * MR_Features_Traits_Binary_MR_Features_Primitives_Plane_MR_Features_Primitives_Plane_DefaultConstructArray(size_t num_elems)
MRC_API void MR_Features_Traits_Unary_MR_Features_Primitives_ConeSegment_DestroyArray(const MR_Features_Traits_Unary_MR_Features_Primitives_ConeSegment *_this)
Destroys a heap-allocated array of MR_Features_Traits_Unary_MR_Features_Primitives_ConeSegment....
MRC_API MR_Features_Traits_Binary_MR_Features_Primitives_ConeSegment_MR_Sphere3f * MR_Features_Traits_Binary_MR_Features_Primitives_ConeSegment_MR_Sphere3f_AssignFromAnother(MR_Features_Traits_Binary_MR_Features_Primitives_ConeSegment_MR_Sphere3f *_this, const MR_Features_Traits_Binary_MR_Features_Primitives_ConeSegment_MR_Sphere3f *_other)
MRC_API MR_Features_MeasureResult_Angle * MR_Features_MeasureResult_BasicPart_MutableStaticDowncastTo_MR_Features_MeasureResult_Angle(MR_Features_MeasureResult_BasicPart *object)
MRC_API MR_Vector3f * MR_Features_MeasureResult_Angle_GetMutable_pointB(MR_Features_MeasureResult_Angle *_this)
MRC_API MR_Features_Primitives_ConeSegment * MR_Features_Primitives_ConeSegment_ConstructFrom(MR_Vector3f referencePoint, MR_Vector3f dir, float positiveSideRadius, float negativeSideRadius, float positiveLength, float negativeLength, bool hollow)
MRC_API MR_Features_Primitives_ConeSegment * MR_Features_transformPrimitive_MR_Features_Primitives_ConeSegment(const MR_AffineXf3f *xf, const MR_Features_Primitives_ConeSegment *primitive)
MRC_API void MR_Features_MeasureResult_Distance_Destroy(const MR_Features_MeasureResult_Distance *_this)
Destroys a heap-allocated instance of MR_Features_MeasureResult_Distance. Does nothing if the pointer...
MRC_API void MR_Features_MeasureResult_Angle_Destroy(const MR_Features_MeasureResult_Angle *_this)
Destroys a heap-allocated instance of MR_Features_MeasureResult_Angle. Does nothing if the pointer is...
MRC_API float MR_Features_MeasureResult_Distance_distanceAlongAxisAbs(const MR_Features_MeasureResult_Distance *_this, int i)
MRC_API bool MR_Features_MeasureResult_Angle_isSurfaceNormalFor(const MR_Features_MeasureResult_Angle *_this, bool b)
MRC_API float MR_Features_MeasureResult_Angle_computeAngleInRadians(const MR_Features_MeasureResult_Angle *_this)
MRC_API MR_Features_Traits_Binary_MR_Features_Primitives_Plane_MR_Sphere3f * MR_Features_Traits_Binary_MR_Features_Primitives_Plane_MR_Sphere3f_DefaultConstruct(void)
MRC_API MR_Features_Traits_Binary_MR_Features_Primitives_Plane_MR_Features_Primitives_ConeSegment * MR_Features_Traits_Binary_MR_Features_Primitives_Plane_MR_Features_Primitives_ConeSegment_OffsetMutablePtr(MR_Features_Traits_Binary_MR_Features_Primitives_Plane_MR_Features_Primitives_ConeSegment *ptr, ptrdiff_t i)
MRC_API const MR_Features_Traits_Binary_MR_Features_Primitives_Plane_MR_Features_Primitives_Plane * MR_Features_Traits_Binary_MR_Features_Primitives_Plane_MR_Features_Primitives_Plane_OffsetPtr(const MR_Features_Traits_Binary_MR_Features_Primitives_Plane_MR_Features_Primitives_Plane *ptr, ptrdiff_t i)
MRC_API MR_Features_MeasureResult_Angle * MR_Features_MeasureResult_Angle_ConstructFromAnother(const MR_Features_MeasureResult_Angle *_other)
MRC_API float * MR_Features_Primitives_ConeSegment_GetMutable_negativeSideRadius(MR_Features_Primitives_ConeSegment *_this)
MRC_API MR_Features_MeasureResult_Angle * MR_Features_MeasureResult_Angle_OffsetMutablePtr(MR_Features_MeasureResult_Angle *ptr, ptrdiff_t i)
MRC_API MR_Features_MeasureResult_BasicPart * MR_Features_MeasureResult_BasicPart_ConstructFromAnother(const MR_Features_MeasureResult_BasicPart *_other)
MRC_API bool MR_Features_Primitives_ConeSegment_isCircle(const MR_Features_Primitives_ConeSegment *_this)
MRC_API MR_Features_Traits_Binary_MR_Sphere3f_MR_Sphere3f * MR_Features_Traits_Binary_MR_Sphere3f_MR_Sphere3f_ConstructFromAnother(const MR_Features_Traits_Binary_MR_Sphere3f_MR_Sphere3f *_other)
MRC_API MR_Features_MeasureResult_Angle * MR_Features_MeasureResult_Angle_DefaultConstruct(void)
struct MR_Features_MeasureResult_BasicPart MR_Features_MeasureResult_BasicPart
Definition MRFeatures.h:60
MRC_API const MR_Features_MeasureResult_BasicPart * MR_Features_MeasureResult_BasicPart_OffsetPtr(const MR_Features_MeasureResult_BasicPart *ptr, ptrdiff_t i)
MRC_API MR_Features_MeasureResult_Angle * MR_Features_MeasureResult_Angle_AssignFromAnother(MR_Features_MeasureResult_Angle *_this, const MR_Features_MeasureResult_Angle *_other)
MRC_API const MR_Features_MeasureResult_BasicPart * MR_Features_MeasureResult_Distance_UpcastTo_MR_Features_MeasureResult_BasicPart(const MR_Features_MeasureResult_Distance *object)
MRC_API MR_Vector3f * MR_Features_Primitives_Plane_GetMutable_normal(MR_Features_Primitives_Plane *_this)
MRC_API MR_Features_MeasureResult_Distance * MR_Features_MeasureResult_Distance_DefaultConstructArray(size_t num_elems)
MRC_API void MR_Features_MeasureResult_Angle_Set_status(MR_Features_MeasureResult_Angle *_this, MR_Features_MeasureResult_Status value)
struct MR_Features_Traits_Binary_MR_Features_Primitives_Plane_MR_Features_Primitives_Plane MR_Features_Traits_Binary_MR_Features_Primitives_Plane_MR_Features_Primitives_Plane
Definition MRFeatures.h:118
MRC_API void MR_Features_Traits_Binary_MR_Features_Primitives_ConeSegment_MR_Sphere3f_Destroy(const MR_Features_Traits_Binary_MR_Features_Primitives_ConeSegment_MR_Sphere3f *_this)
Destroys a heap-allocated instance of MR_Features_Traits_Binary_MR_Features_Primitives_ConeSegment_MR...
MRC_API MR_Features_MeasureResult_Distance * MR_Features_MeasureResult_Distance_OffsetMutablePtr(MR_Features_MeasureResult_Distance *ptr, ptrdiff_t i)
MRC_API MR_Features_MeasureResult * MR_Features_MeasureResult_DefaultConstructArray(size_t num_elems)
MRC_API MR_Features_Traits_Unary_MR_Features_Primitives_ConeSegment * MR_Features_Traits_Unary_MR_Features_Primitives_ConeSegment_DefaultConstruct(void)
MRC_API MR_Features_MeasureResult_BasicPart * MR_Features_MeasureResult_BasicPart_OffsetMutablePtr(MR_Features_MeasureResult_BasicPart *ptr, ptrdiff_t i)
struct MR_std_variant_MR_Sphere3f_MR_Features_Primitives_ConeSegment_MR_Features_Primitives_Plane MR_std_variant_MR_Sphere3f_MR_Features_Primitives_ConeSegment_MR_Features_Primitives_Plane
Definition MRFeatures.h:25
MRC_API MR_Features_MeasureResult_Distance * MR_Features_MeasureResult_Distance_ConstructFromAnother(const MR_Features_MeasureResult_Distance *_other)
MRC_API MR_Features_MeasureResult_Angle * MR_Features_MeasureResult_GetMutable_angle(MR_Features_MeasureResult *_this)
MRC_API MR_Features_Traits_Unary_MR_Sphere3f * MR_Features_Traits_Unary_MR_Sphere3f_OffsetMutablePtr(MR_Features_Traits_Unary_MR_Sphere3f *ptr, ptrdiff_t i)
MRC_API const MR_Features_MeasureResult_Distance * MR_Features_MeasureResult_BasicPart_StaticDowncastTo_MR_Features_MeasureResult_Distance(const MR_Features_MeasureResult_BasicPart *object)
MRC_API void MR_Features_MeasureResult_Distance_Set_status(MR_Features_MeasureResult_Distance *_this, MR_Features_MeasureResult_Status value)
MRC_API MR_Features_MeasureResult * MR_Features_measure(const MR_std_variant_MR_Sphere3f_MR_Features_Primitives_ConeSegment_MR_Features_Primitives_Plane *a, const MR_std_variant_MR_Sphere3f_MR_Features_Primitives_ConeSegment_MR_Features_Primitives_Plane *b)
MRC_API MR_Features_Traits_Binary_MR_Features_Primitives_Plane_MR_Features_Primitives_ConeSegment * MR_Features_Traits_Binary_MR_Features_Primitives_Plane_MR_Features_Primitives_ConeSegment_ConstructFromAnother(const MR_Features_Traits_Binary_MR_Features_Primitives_Plane_MR_Features_Primitives_ConeSegment *_other)
MRC_API const MR_Features_MeasureResult_Angle * MR_Features_MeasureResult_Angle_OffsetPtr(const MR_Features_MeasureResult_Angle *ptr, ptrdiff_t i)
MRC_API void MR_Features_Primitives_Plane_Set_center(MR_Features_Primitives_Plane *_this, MR_Vector3f value)
MRC_API void MR_Features_MeasureResult_Distance_DestroyArray(const MR_Features_MeasureResult_Distance *_this)
Destroys a heap-allocated array of MR_Features_MeasureResult_Distance. Does nothing if the pointer is...
MRC_API MR_Features_MeasureResult_Status * MR_Features_MeasureResult_BasicPart_GetMutable_status(MR_Features_MeasureResult_BasicPart *_this)
MRC_API float MR_Features_Primitives_ConeSegment_length(const MR_Features_Primitives_ConeSegment *_this)
MRC_API void MR_Features_Traits_Unary_MR_Sphere3f_Destroy(const MR_Features_Traits_Unary_MR_Sphere3f *_this)
Destroys a heap-allocated instance of MR_Features_Traits_Unary_MR_Sphere3f. Does nothing if the point...
MRC_API void MR_Features_MeasureResult_swapObjects(MR_Features_MeasureResult *_this)
MRC_API void MR_Features_Primitives_ConeSegment_Set_negativeSideRadius(MR_Features_Primitives_ConeSegment *_this, float value)
struct MR_Sphere3f MR_Sphere3f
Definition MRFeatures.h:20
MRC_API MR_Vector3f * MR_Features_MeasureResult_Distance_GetMutable_closestPointA(MR_Features_MeasureResult_Distance *_this)
MRC_API bool MR_Features_MeasureResult_Distance_ConvertTo_bool(const MR_Features_MeasureResult_Distance *_this)
MRC_API void MR_Features_MeasureResult_Set_intersections(MR_Features_MeasureResult *_this, MR_PassBy value_pass_by, MR_std_vector_std_variant_MR_Sphere3f_MR_Features_Primitives_ConeSegment_MR_Features_Primitives_Plane *value)
MRC_API MR_Features_Primitives_Plane * MR_Features_Primitives_ConeSegment_basePlane(const MR_Features_Primitives_ConeSegment *_this, bool negative)
MRC_API MR_Features_Primitives_Plane * MR_Features_Primitives_Plane_ConstructFrom(MR_Vector3f center, MR_Vector3f normal)
MRC_API const MR_Features_Traits_Binary_MR_Features_Primitives_Plane_MR_Sphere3f * MR_Features_Traits_Binary_MR_Features_Primitives_Plane_MR_Sphere3f_OffsetPtr(const MR_Features_Traits_Binary_MR_Features_Primitives_Plane_MR_Sphere3f *ptr, ptrdiff_t i)
MRC_API bool * MR_Features_Primitives_ConeSegment_GetMutable_hollow(MR_Features_Primitives_ConeSegment *_this)
MRC_API MR_Features_Traits_Unary_MR_Features_Primitives_Plane * MR_Features_Traits_Unary_MR_Features_Primitives_Plane_ConstructFromAnother(const MR_Features_Traits_Unary_MR_Features_Primitives_Plane *_other)
MRC_API MR_Features_Traits_Binary_MR_Features_Primitives_ConeSegment_MR_Features_Primitives_ConeSegment * MR_Features_Traits_Binary_MR_Features_Primitives_ConeSegment_MR_Features_Primitives_ConeSegment_DefaultConstruct(void)
MRC_API MR_Features_Traits_Binary_MR_Features_Primitives_ConeSegment_MR_Sphere3f * MR_Features_Traits_Binary_MR_Features_Primitives_ConeSegment_MR_Sphere3f_OffsetMutablePtr(MR_Features_Traits_Binary_MR_Features_Primitives_ConeSegment_MR_Sphere3f *ptr, ptrdiff_t i)
MRC_API MR_Features_Traits_Binary_MR_Features_Primitives_Plane_MR_Sphere3f * MR_Features_Traits_Binary_MR_Features_Primitives_Plane_MR_Sphere3f_ConstructFromAnother(const MR_Features_Traits_Binary_MR_Features_Primitives_Plane_MR_Sphere3f *_other)
MRC_API MR_Features_MeasureResult_Distance * MR_Features_MeasureResult_GetMutable_distance(MR_Features_MeasureResult *_this)
MRC_API const bool * MR_Features_Primitives_ConeSegment_Get_hollow(const MR_Features_Primitives_ConeSegment *_this)
MRC_API const MR_Vector3f * MR_Features_MeasureResult_Distance_Get_closestPointB(const MR_Features_MeasureResult_Distance *_this)
MRC_API void MR_Features_Primitives_Plane_Set_normal(MR_Features_Primitives_Plane *_this, MR_Vector3f value)
MRC_API const MR_Features_MeasureResult_Status * MR_Features_MeasureResult_BasicPart_Get_status(const MR_Features_MeasureResult_BasicPart *_this)
MRC_API MR_Features_Traits_Binary_MR_Features_Primitives_ConeSegment_MR_Sphere3f * MR_Features_Traits_Binary_MR_Features_Primitives_ConeSegment_MR_Sphere3f_DefaultConstructArray(size_t num_elems)
MRC_API MR_Features_Traits_Unary_MR_Features_Primitives_ConeSegment * MR_Features_Traits_Unary_MR_Features_Primitives_ConeSegment_DefaultConstructArray(size_t num_elems)
MRC_API const bool * MR_Features_MeasureResult_Angle_Get_isSurfaceNormalB(const MR_Features_MeasureResult_Angle *_this)
struct MR_std_shared_ptr_MR_FeatureObject MR_std_shared_ptr_MR_FeatureObject
Definition MRFeatures.h:22
MRC_API float * MR_Features_MeasureResult_Distance_GetMutable_distance(MR_Features_MeasureResult_Distance *_this)
MRC_API MR_Features_Primitives_Plane * MR_Features_Primitives_Plane_DefaultConstruct(void)
MRC_API MR_Features_MeasureResult * MR_Features_MeasureResult_AssignFromAnother(MR_Features_MeasureResult *_this, MR_PassBy _other_pass_by, MR_Features_MeasureResult *_other)
MRC_API bool * MR_Features_MeasureResult_Angle_GetMutable_isSurfaceNormalA(MR_Features_MeasureResult_Angle *_this)
MRC_API void MR_Features_Primitives_ConeSegment_Set_dir(MR_Features_Primitives_ConeSegment *_this, MR_Vector3f value)
MRC_API MR_Features_Traits_Binary_MR_Sphere3f_MR_Sphere3f * MR_Features_Traits_Binary_MR_Sphere3f_MR_Sphere3f_DefaultConstruct(void)
MRC_API MR_Features_Traits_Unary_MR_Sphere3f * MR_Features_Traits_Unary_MR_Sphere3f_DefaultConstructArray(size_t num_elems)
MRC_API MR_Features_MeasureResult_Status * MR_Features_MeasureResult_Distance_GetMutable_status(MR_Features_MeasureResult_Distance *_this)
MRC_API void MR_Features_Traits_Binary_MR_Features_Primitives_Plane_MR_Features_Primitives_Plane_Destroy(const MR_Features_Traits_Binary_MR_Features_Primitives_Plane_MR_Features_Primitives_Plane *_this)
Destroys a heap-allocated instance of MR_Features_Traits_Binary_MR_Features_Primitives_Plane_MR_Featu...
MRC_API MR_Features_Primitives_Plane * MR_Features_Primitives_Plane_OffsetMutablePtr(MR_Features_Primitives_Plane *ptr, ptrdiff_t i)
MRC_API void MR_Features_Traits_Binary_MR_Features_Primitives_Plane_MR_Features_Primitives_Plane_DestroyArray(const MR_Features_Traits_Binary_MR_Features_Primitives_Plane_MR_Features_Primitives_Plane *_this)
Destroys a heap-allocated array of MR_Features_Traits_Binary_MR_Features_Primitives_Plane_MR_Features...
MRC_API MR_Sphere3f * MR_Features_transformPrimitive_MR_Sphere3f(const MR_AffineXf3f *xf, const MR_Sphere3f *primitive)
MRC_API MR_Features_MeasureResult_BasicPart * MR_Features_MeasureResult_BasicPart_ConstructFrom(MR_Features_MeasureResult_Status status)
MRC_API void MR_Features_MeasureResult_DestroyArray(const MR_Features_MeasureResult *_this)
Destroys a heap-allocated array of MR_Features_MeasureResult. Does nothing if the pointer is null.
MRC_API void MR_Features_Primitives_ConeSegment_Set_hollow(MR_Features_Primitives_ConeSegment *_this, bool value)
MRC_API void MR_Features_Traits_Binary_MR_Features_Primitives_Plane_MR_Features_Primitives_ConeSegment_DestroyArray(const MR_Features_Traits_Binary_MR_Features_Primitives_Plane_MR_Features_Primitives_ConeSegment *_this)
Destroys a heap-allocated array of MR_Features_Traits_Binary_MR_Features_Primitives_Plane_MR_Features...
MRC_API void MR_Features_MeasureResult_Angle_Set_isSurfaceNormalB(MR_Features_MeasureResult_Angle *_this, bool value)
MRC_API float * MR_Features_Primitives_ConeSegment_GetMutable_negativeLength(MR_Features_Primitives_ConeSegment *_this)
MRC_API MR_Features_Traits_Binary_MR_Features_Primitives_ConeSegment_MR_Sphere3f * MR_Features_Traits_Binary_MR_Features_Primitives_ConeSegment_MR_Sphere3f_ConstructFromAnother(const MR_Features_Traits_Binary_MR_Features_Primitives_ConeSegment_MR_Sphere3f *_other)
MRC_API const MR_Features_Traits_Unary_MR_Features_Primitives_Plane * MR_Features_Traits_Unary_MR_Features_Primitives_Plane_OffsetPtr(const MR_Features_Traits_Unary_MR_Features_Primitives_Plane *ptr, ptrdiff_t i)
MRC_API void MR_Features_Primitives_ConeSegment_Set_referencePoint(MR_Features_Primitives_ConeSegment *_this, MR_Vector3f value)
MRC_API bool MR_equal_MR_Features_Primitives_Plane(const MR_Features_Primitives_Plane *_1, const MR_Features_Primitives_Plane *_2)
MRC_API const MR_Vector3f * MR_Features_MeasureResult_Angle_Get_pointB(const MR_Features_MeasureResult_Angle *_this)
MRC_API const float * MR_Features_Primitives_ConeSegment_Get_positiveSideRadius(const MR_Features_Primitives_ConeSegment *_this)
MRC_API MR_Vector3f MR_Features_MeasureResult_Angle_pointFor(const MR_Features_MeasureResult_Angle *_this, bool b)
MRC_API void MR_Features_Traits_Binary_MR_Sphere3f_MR_Sphere3f_Destroy(const MR_Features_Traits_Binary_MR_Sphere3f_MR_Sphere3f *_this)
Destroys a heap-allocated instance of MR_Features_Traits_Binary_MR_Sphere3f_MR_Sphere3f....
MRC_API const MR_Features_MeasureResult_BasicPart * MR_Features_MeasureResult_Angle_UpcastTo_MR_Features_MeasureResult_BasicPart(const MR_Features_MeasureResult_Angle *object)
MRC_API void MR_Features_MeasureResult_Angle_Set_pointA(MR_Features_MeasureResult_Angle *_this, MR_Vector3f value)
MRC_API MR_Features_MeasureResult_Angle * MR_Features_MeasureResult_Angle_DefaultConstructArray(size_t num_elems)
MRC_API MR_Features_Primitives_ConeSegment * MR_Features_Primitives_ConeSegment_axis(const MR_Features_Primitives_ConeSegment *_this)
MRC_API void MR_Features_Traits_Unary_MR_Features_Primitives_ConeSegment_Destroy(const MR_Features_Traits_Unary_MR_Features_Primitives_ConeSegment *_this)
Destroys a heap-allocated instance of MR_Features_Traits_Unary_MR_Features_Primitives_ConeSegment....
MRC_API void MR_Features_Traits_Binary_MR_Features_Primitives_Plane_MR_Sphere3f_Destroy(const MR_Features_Traits_Binary_MR_Features_Primitives_Plane_MR_Sphere3f *_this)
Destroys a heap-allocated instance of MR_Features_Traits_Binary_MR_Features_Primitives_Plane_MR_Spher...
MRC_API void MR_Features_MeasureResult_Angle_Set_dirA(MR_Features_MeasureResult_Angle *_this, MR_Vector3f value)
MRC_API void MR_Features_Traits_Unary_MR_Features_Primitives_Plane_Destroy(const MR_Features_Traits_Unary_MR_Features_Primitives_Plane *_this)
Destroys a heap-allocated instance of MR_Features_Traits_Unary_MR_Features_Primitives_Plane....
MRC_API const MR_Features_Primitives_Plane * MR_Features_Primitives_Plane_OffsetPtr(const MR_Features_Primitives_Plane *ptr, ptrdiff_t i)
MRC_API MR_Features_Primitives_Plane * MR_Features_Primitives_Plane_AssignFromAnother(MR_Features_Primitives_Plane *_this, const MR_Features_Primitives_Plane *_other)
MRC_API void MR_Features_MeasureResult_Distance_Set_closestPointA(MR_Features_MeasureResult_Distance *_this, MR_Vector3f value)
MRC_API MR_Features_Traits_Unary_MR_Sphere3f * MR_Features_Traits_Unary_MR_Sphere3f_ConstructFromAnother(const MR_Features_Traits_Unary_MR_Sphere3f *_other)
struct MR_Features_MeasureResult_Angle MR_Features_MeasureResult_Angle
Definition MRFeatures.h:74
MRC_API void MR_Features_MeasureResult_BasicPart_Destroy(const MR_Features_MeasureResult_BasicPart *_this)
Destroys a heap-allocated instance of MR_Features_MeasureResult_BasicPart. Does nothing if the pointe...
MRC_API MR_std_string_view * MR_Features_toString(MR_Features_MeasureResult_Status status)
MRC_API const MR_Features_Traits_Unary_MR_Features_Primitives_ConeSegment * MR_Features_Traits_Unary_MR_Features_Primitives_ConeSegment_OffsetPtr(const MR_Features_Traits_Unary_MR_Features_Primitives_ConeSegment *ptr, ptrdiff_t i)
MRC_API MR_Features_Primitives_Plane * MR_Features_Primitives_Plane_DefaultConstructArray(size_t num_elems)
MRC_API MR_Features_Traits_Unary_MR_Sphere3f * MR_Features_Traits_Unary_MR_Sphere3f_DefaultConstruct(void)
MRC_API MR_Features_Traits_Unary_MR_Features_Primitives_ConeSegment * MR_Features_Traits_Unary_MR_Features_Primitives_ConeSegment_AssignFromAnother(MR_Features_Traits_Unary_MR_Features_Primitives_ConeSegment *_this, const MR_Features_Traits_Unary_MR_Features_Primitives_ConeSegment *_other)
MRC_API const MR_Features_Traits_Binary_MR_Sphere3f_MR_Sphere3f * MR_Features_Traits_Binary_MR_Sphere3f_MR_Sphere3f_OffsetPtr(const MR_Features_Traits_Binary_MR_Sphere3f_MR_Sphere3f *ptr, ptrdiff_t i)
struct MR_Features_Traits_Binary_MR_Features_Primitives_ConeSegment_MR_Sphere3f MR_Features_Traits_Binary_MR_Features_Primitives_ConeSegment_MR_Sphere3f
Definition MRFeatures.h:100
MRC_API void MR_Features_Traits_Binary_MR_Features_Primitives_ConeSegment_MR_Features_Primitives_ConeSegment_Destroy(const MR_Features_Traits_Binary_MR_Features_Primitives_ConeSegment_MR_Features_Primitives_ConeSegment *_this)
Destroys a heap-allocated instance of MR_Features_Traits_Binary_MR_Features_Primitives_ConeSegment_MR...
MRC_API MR_Features_Traits_Binary_MR_Features_Primitives_Plane_MR_Features_Primitives_ConeSegment * MR_Features_Traits_Binary_MR_Features_Primitives_Plane_MR_Features_Primitives_ConeSegment_DefaultConstruct(void)
MRC_API MR_Sphere3f * MR_Features_Primitives_ConeSegment_basePoint(const MR_Features_Primitives_ConeSegment *_this, bool negative)
MRC_API void MR_Features_MeasureResult_Distance_Set_distance(MR_Features_MeasureResult_Distance *_this, float value)
MRC_API MR_std_string * MR_Features_Traits_Unary_MR_Features_Primitives_ConeSegment_name(const MR_Features_Traits_Unary_MR_Features_Primitives_ConeSegment *_this, const MR_Features_Primitives_ConeSegment *prim)
struct MR_Features_Primitives_Plane MR_Features_Primitives_Plane
Definition MRFeatures.h:31
MRC_API MR_Features_MeasureResult_BasicPart * MR_Features_MeasureResult_BasicPart_DefaultConstruct(void)
MRC_API MR_Features_MeasureResult_BasicPart * MR_Features_MeasureResult_BasicPart_DefaultConstructArray(size_t num_elems)
MRC_API MR_Features_Primitives_ConeSegment * MR_Features_Primitives_ConeSegment_ConstructFromAnother(const MR_Features_Primitives_ConeSegment *_other)
MRC_API const MR_Features_MeasureResult * MR_Features_MeasureResult_OffsetPtr(const MR_Features_MeasureResult *ptr, ptrdiff_t i)
MRC_API void MR_Features_Traits_Unary_MR_Features_Primitives_Plane_DestroyArray(const MR_Features_Traits_Unary_MR_Features_Primitives_Plane *_this)
Destroys a heap-allocated array of MR_Features_Traits_Unary_MR_Features_Primitives_Plane....
MRC_API MR_Features_Traits_Binary_MR_Features_Primitives_Plane_MR_Sphere3f * MR_Features_Traits_Binary_MR_Features_Primitives_Plane_MR_Sphere3f_AssignFromAnother(MR_Features_Traits_Binary_MR_Features_Primitives_Plane_MR_Sphere3f *_this, const MR_Features_Traits_Binary_MR_Features_Primitives_Plane_MR_Sphere3f *_other)
MRC_API MR_Features_MeasureResult_Distance * MR_Features_MeasureResult_Distance_DefaultConstruct(void)
MRC_API void MR_Features_Primitives_ConeSegment_Destroy(const MR_Features_Primitives_ConeSegment *_this)
Destroys a heap-allocated instance of MR_Features_Primitives_ConeSegment. Does nothing if the pointer...
MRC_API const bool * MR_Features_MeasureResult_Angle_Get_isSurfaceNormalA(const MR_Features_MeasureResult_Angle *_this)
MRC_API void MR_Features_MeasureResult_Angle_Set_pointB(MR_Features_MeasureResult_Angle *_this, MR_Vector3f value)
MRC_API void MR_Features_Traits_Binary_MR_Features_Primitives_ConeSegment_MR_Features_Primitives_ConeSegment_DestroyArray(const MR_Features_Traits_Binary_MR_Features_Primitives_ConeSegment_MR_Features_Primitives_ConeSegment *_this)
Destroys a heap-allocated array of MR_Features_Traits_Binary_MR_Features_Primitives_ConeSegment_MR_Fe...
MRC_API MR_Features_Traits_Unary_MR_Features_Primitives_Plane * MR_Features_Traits_Unary_MR_Features_Primitives_Plane_DefaultConstructArray(size_t num_elems)
MRC_API const MR_Features_Traits_Binary_MR_Features_Primitives_ConeSegment_MR_Features_Primitives_ConeSegment * MR_Features_Traits_Binary_MR_Features_Primitives_ConeSegment_MR_Features_Primitives_ConeSegment_OffsetPtr(const MR_Features_Traits_Binary_MR_Features_Primitives_ConeSegment_MR_Features_Primitives_ConeSegment *ptr, ptrdiff_t i)
MRC_API MR_Features_Primitives_Plane * MR_Features_Primitives_Plane_ConstructFromAnother(const MR_Features_Primitives_Plane *_other)
MRC_API bool * MR_Features_MeasureResult_Angle_GetMutable_isSurfaceNormalB(MR_Features_MeasureResult_Angle *_this)
MRC_API MR_Features_Traits_Unary_MR_Features_Primitives_ConeSegment * MR_Features_Traits_Unary_MR_Features_Primitives_ConeSegment_ConstructFromAnother(const MR_Features_Traits_Unary_MR_Features_Primitives_ConeSegment *_other)
MRC_API MR_Features_Traits_Binary_MR_Features_Primitives_Plane_MR_Features_Primitives_Plane * MR_Features_Traits_Binary_MR_Features_Primitives_Plane_MR_Features_Primitives_Plane_DefaultConstruct(void)
struct MR_Features_Traits_Unary_MR_Features_Primitives_Plane MR_Features_Traits_Unary_MR_Features_Primitives_Plane
Definition MRFeatures.h:91
MRC_API MR_Features_MeasureResult_BasicPart * MR_Features_MeasureResult_BasicPart_AssignFromAnother(MR_Features_MeasureResult_BasicPart *_this, const MR_Features_MeasureResult_BasicPart *_other)
MRC_API const MR_Features_Primitives_ConeSegment * MR_Features_Primitives_ConeSegment_OffsetPtr(const MR_Features_Primitives_ConeSegment *ptr, ptrdiff_t i)
MRC_API MR_std_optional_std_variant_MR_Sphere3f_MR_Features_Primitives_ConeSegment_MR_Features_Primitives_Plane * MR_Features_primitiveFromObjectWithWorldXf(const MR_Object *object)
MRC_API MR_Features_Traits_Binary_MR_Features_Primitives_Plane_MR_Features_Primitives_ConeSegment * MR_Features_Traits_Binary_MR_Features_Primitives_Plane_MR_Features_Primitives_ConeSegment_DefaultConstructArray(size_t num_elems)
MRC_API MR_Vector3f * MR_Features_Primitives_ConeSegment_GetMutable_referencePoint(MR_Features_Primitives_ConeSegment *_this)
MRC_API MR_Vector3f * MR_Features_MeasureResult_Distance_GetMutable_closestPointB(MR_Features_MeasureResult_Distance *_this)
MRC_API void MR_Features_Traits_Binary_MR_Features_Primitives_ConeSegment_MR_Sphere3f_DestroyArray(const MR_Features_Traits_Binary_MR_Features_Primitives_ConeSegment_MR_Sphere3f *_this)
Destroys a heap-allocated array of MR_Features_Traits_Binary_MR_Features_Primitives_ConeSegment_MR_Sp...
MRC_API const MR_Vector3f * MR_Features_MeasureResult_Angle_Get_dirB(const MR_Features_MeasureResult_Angle *_this)
MRC_API MR_Features_Primitives_ConeSegment * MR_Features_Primitives_ConeSegment_baseCircle(const MR_Features_Primitives_ConeSegment *_this, bool negative)
MRC_API MR_Features_Traits_Unary_MR_Features_Primitives_ConeSegment * MR_Features_Traits_Unary_MR_Features_Primitives_ConeSegment_OffsetMutablePtr(MR_Features_Traits_Unary_MR_Features_Primitives_ConeSegment *ptr, ptrdiff_t i)
MRC_API void MR_Features_MeasureResult_BasicPart_Set_status(MR_Features_MeasureResult_BasicPart *_this, MR_Features_MeasureResult_Status value)
struct MR_Object MR_Object
Definition MRGltf.h:10
MR_PassBy
Definition common.h:23
#define MRC_API
Definition exports.h:11
Definition MRAffineXf.h:39
Definition MRVector3.h:52