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
125
131
137
138// This must be normalized. The sign doesn't matter.
144
145// This must be normalized. The sign doesn't matter.
151
152// This must be normalized. The sign doesn't matter.
158
162
167
174
178
182
188
191
194
202
203// Returns an infinite line, with the center in a sane location.
209
210// Intersects the plane with a line, returns a point (zero radius sphere).
211// Only `center` and `dir` are used from `line` (so if `line` is a cone/cylinder, its axis is used,
212// and the line is extended to infinity).
218
223
230
237
244
251
258
265
272
278
285
292
298
305
312
318
325
332
338
345
346// If true, the cone has no caps and no volume, and all distances (to the conical surface, that is) are positive.
352
353// If true, the cone has no caps and no volume, and all distances (to the conical surface, that is) are positive.
358
359// If true, the cone has no caps and no volume, and all distances (to the conical surface, that is) are positive.
365
369
374
380MRC_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);
381
385
389
395
398
401
409
413
417
418// Returns the length. Can be infinite.
422
423// Returns the center point (unlike `referencePoint`, which can actually be off-center).
424// For half-infinite objects, returns the finite end.
429
430// Extends the object to infinity in one direction. The radius in the extended direction becomes equal to the radius in the opposite direction.
435
436// Extends the object to infinity in both directions. This is equivalent to `.extendToInfinity(false).extendToInfinity(true)`,
437// except that calling it with `positiveSideRadius != negativeSideRadius` is illegal and triggers an assertion.
442
443// Untruncates a truncated cone. If it's not a cone at all, returns the object unchanged and triggers an assertion.
448
449// Returns a finite axis. For circles, you might want to immediately `extendToInfinity()` it.
454
455// Returns a center of one of the two base circles.
460
461// Returns one of the two base planes.
466
467// Returns one of the two base circles.
472
477
478// Those map various MR types to our primitives. Some of those are identity functions.
483
488
493
498
503
508
515
522
529
530// Returns null if the object type is unknown. This overload ignores the parent xf.
535
536// Returns null if the object type is unknown. This overload respects the parent's `worldXf()`.
541
542// Can return null on some primitive configurations.
543// `infiniteExtent` is how large we make "infinite" objects. Half-infinite objects divide this by 2.
548
549// Transform a primitive by an xf.
550// Non-uniform scaling and skewing are not supported.
556
562
568
574
575// Exact distance.
581
582// Exact distance.
589
590// Exact distance.
596
597// Some approximation of the distance.
598// For planes and lines, this expects them to be mostly parallel. For everything else, it just takes the feature center.
604
605// Some approximation of the distance.
606// For planes and lines, this expects them to be mostly parallel. For everything else, it just takes the feature center.
613
614// Some approximation of the distance.
615// For planes and lines, this expects them to be mostly parallel. For everything else, it just takes the feature center.
621
627
634
640
641// The primitives obtained from intersecting those two.
647
648// The primitives obtained from intersecting those two.
654
655// The primitives obtained from intersecting those two.
661
665
670
682
686
690
695
698
701
708
709// Modifies the object to swap A and B;
713
719
725
731
735
740
746
750
754
760
765
771
776
782
785
788
792
800
801// This is a separate field because it can be negative.
807
808// This is a separate field because it can be negative.
813
814// This is a separate field because it can be negative.
820
826
832
838
844
850
856
862
868
874
878
883
887
891
896
900
906
909
912
916
924
928
932
936
942
948
954
960
966
972
973// Normalized.
979
980// Normalized.
986
987// Normalized.
993
994// ^
1000
1001// ^
1007
1008// ^
1014
1021
1027
1034
1040
1045
1051
1057
1063
1069
1073
1078
1082
1086
1091
1095
1101
1104
1107
1111
1119
1123
1127
1131
1135
1136// `MeasureResult::Status` enum to string.
1140
1144
1149
1153
1157
1163
1166
1169
1177
1183
1187
1192
1196
1200
1206
1209
1212
1220
1226
1230
1235
1239
1243
1249
1252
1255
1263
1269
1273
1278
1282
1286
1292
1295
1298
1306
1313
1317
1322
1326
1330
1336
1339
1342
1350
1357
1361
1366
1370
1374
1380
1383
1386
1394
1401
1405
1410
1414
1418
1424
1427
1430
1438
1445
1449
1454
1458
1462
1468
1471
1474
1482
1489
1493
1498
1502
1506
1512
1515
1518
1526
1533
1534// Same but for a variant.
1539
1540// Same, but with variants as both argument.
1546
1547#ifdef __cplusplus
1548} // extern "C"
1549#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)
MRC_API MR_Features_MeasureResult_BasicPart * MR_Features_MeasureResult_Angle_MutableUpcastTo_MR_Features_MeasureResult_BasicPart(MR_Features_MeasureResult_Angle *object)
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
Definition MRAffineXf.h:39
Generated from class MR::Vector3f.
Definition MRVector3.h:47