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#include <stdint.h>
10
11#ifdef __cplusplus
12extern "C" {
13#endif
14
15typedef struct MR_AffineXf3f MR_AffineXf3f; // Defined in `#include <MRCMesh/MRAffineXf.h>`.
16typedef struct MR_Cone3f MR_Cone3f; // Defined in `#include <MRCMesh/MRCone3.h>`.
17typedef struct MR_Cylinder3f MR_Cylinder3f; // Defined in `#include <MRCMesh/MRCylinder3.h>`.
18typedef struct MR_Line3f MR_Line3f; // Defined in `#include <MRCMesh/MRLine.h>`.
19typedef struct MR_LineSegm3f MR_LineSegm3f; // Defined in `#include <MRCMesh/MRLineSegm.h>`.
20typedef struct MR_Object MR_Object; // Defined in `#include <MRCMesh/MRObject.h>`.
21typedef struct MR_Sphere3f MR_Sphere3f; // Defined in `#include <MRCMesh/MRSphere.h>`.
22typedef 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>`.
23typedef struct MR_std_shared_ptr_MR_FeatureObject MR_std_shared_ptr_MR_FeatureObject; // Defined in `#include <MRCMisc/std_shared_ptr_MR_FeatureObject.h>`.
24typedef struct MR_std_string MR_std_string; // Defined in `#include <MRCMisc/std_string.h>`.
25typedef struct MR_std_string_view MR_std_string_view; // Defined in `#include <MRCMisc/std_string_view.h>`.
26typedef 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>`.
27typedef 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>`.
28
29
32
38
42
44enum // MR_Features_MeasureResult_Status
45{
56};
57
64
70
76
79
82
85
86// ?? <-> Sphere
89
92
95
96// ?? <-> Cone
99
102
103// ?? <-> Plane
106
111
115
120
121// This must be normalized. The sign doesn't matter.
126
127// This must be normalized. The sign doesn't matter.
131
132// This must be normalized. The sign doesn't matter.
137
141
146
150
153
156
161
164
167
173
174// Returns an infinite line, with the center in a sane location.
180
181// Intersects the plane with a line, returns a point (zero radius sphere).
182// Only `center` and `dir` are used from `line` (so if `line` is a cone/cylinder, its axis is used,
183// and the line is extended to infinity).
189
194
200
205
211
217
222
228
234
239
245
251
256
262
268
273
279
285
290
296
297// If true, the cone has no caps and no volume, and all distances (to the conical surface, that is) are positive.
302
303// If true, the cone has no caps and no volume, and all distances (to the conical surface, that is) are positive.
307
308// If true, the cone has no caps and no volume, and all distances (to the conical surface, that is) are positive.
313
317
322
325MRC_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);
326
329
332
337
340
343
349
353
357
358// Returns the length. Can be infinite.
362
363// Returns the center point (unlike `referencePoint`, which can actually be off-center).
364// For half-infinite objects, returns the finite end.
369
370// Extends the object to infinity in one direction. The radius in the extended direction becomes equal to the radius in the opposite direction.
375
376// Extends the object to infinity in both directions. This is equivalent to `.extendToInfinity(false).extendToInfinity(true)`,
377// except that calling it with `positiveSideRadius != negativeSideRadius` is illegal and triggers an assertion.
382
383// Untruncates a truncated cone. If it's not a cone at all, returns the object unchanged and triggers an assertion.
388
389// Returns a finite axis. For circles, you might want to immediately `extendToInfinity()` it.
394
395// Returns a center of one of the two base circles.
400
401// Returns one of the two base planes.
406
407// Returns one of the two base circles.
412
417
418// Those map various MR types to our primitives. Some of those are identity functions.
423
428
433
438
443
448
455
462
469
470// Returns null if the object type is unknown. This overload ignores the parent xf.
475
476// Returns null if the object type is unknown. This overload respects the parent's `worldXf()`.
481
482// Can return null on some primitive configurations.
483// `infiniteExtent` is how large we make "infinite" objects. Half-infinite objects divide this by 2.
488
489// Transform a primitive by an xf.
490// Non-uniform scaling and skewing are not supported.
496
502
508
514
515// Exact distance.
520
521// Exact distance.
526
527// Exact distance.
532
533// Some approximation of the distance.
534// For planes and lines, this expects them to be mostly parallel. For everything else, it just takes the feature center.
539
540// Some approximation of the distance.
541// For planes and lines, this expects them to be mostly parallel. For everything else, it just takes the feature center.
546
547// Some approximation of the distance.
548// For planes and lines, this expects them to be mostly parallel. For everything else, it just takes the feature center.
553
558
563
568
569// The primitives obtained from intersecting those two.
574
575// The primitives obtained from intersecting those two.
579
580// The primitives obtained from intersecting those two.
585
589
594
601
604
607
611
614
617
622
623// Modifies the object to swap A and B;
627
632
636
641
645
650
654
657
660
665
669
674
678
683
686
689
693
699
700// This is a separate field because it can be negative.
705
706// This is a separate field because it can be negative.
710
711// This is a separate field because it can be negative.
716
721
725
730
735
739
744
748
753
756
759
763
766
771
774
777
783
787
792
796
801
806
810
815
816// Normalized.
821
822// Normalized.
826
827// Normalized.
832
833// ^
838
839// ^
843
844// ^
849
855
860
866
871
875
880
884
889
892
895
899
902
907
910
913
919
923
927
931
935
936// `MeasureResult::Status` enum to string.
940
944
949
952
955
960
963
966
972
978
982
987
990
993
998
1001
1004
1010
1016
1020
1025
1028
1031
1036
1039
1042
1048
1054
1058
1063
1066
1069
1074
1077
1080
1086
1093
1097
1102
1105
1108
1113
1116
1119
1125
1132
1136
1141
1144
1147
1152
1155
1158
1164
1171
1175
1180
1183
1186
1191
1194
1197
1203
1210
1214
1219
1222
1225
1230
1233
1236
1242
1249
1253
1258
1261
1264
1269
1272
1275
1281
1288
1289// Same but for a variant.
1294
1295// Same, but with variants as both argument.
1301
1302#ifdef __cplusplus
1303} // extern "C"
1304#endif
struct MR_Line3f MR_Line3f
Definition MRBestFit.h:18
struct MR_Cone3f MR_Cone3f
Generated from class MR::Cone3f.
Definition MRCone3.h:18
struct MR_Cylinder3f MR_Cylinder3f
Generated from class MR::Cylinder3f.
Definition MRCylinder3.h:20
struct MR_std_string MR_std_string
Definition MRE57.h:22
struct MR_std_string_view MR_std_string_view
Definition MRFeatureHelpers.h:15
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
Generated from class MR::Features::Traits::Binary<MR::Features::Primitives::ConeSegment,...
Definition MRFeatures.h:98
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
Generated from class MR::Features::Traits::Binary<MR::Sphere3f, MR::Sphere3f>.
Definition MRFeatures.h:88
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
Generated from class MR::Features::Traits::Binary<MR::Features::Primitives::Plane,...
Definition MRFeatures.h:94
MRC_API MR_Features_Primitives_ConeSegment * MR_Features_Primitives_ConeSegment_OffsetMutablePtr(MR_Features_Primitives_ConeSegment *ptr, ptrdiff_t i)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
int32_t MR_Features_MeasureResult_Status
Definition MRFeatures.h:43
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:69
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)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
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)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
MRC_API MR_Features_Primitives_ConeSegment * MR_Features_Primitives_ConeSegment_DefaultConstruct(void)
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)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
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 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)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
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:41
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:27
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:19
struct MR_Features_Primitives_ConeSegment MR_Features_Primitives_ConeSegment
Definition MRFeatures.h:37
struct MR_Features_Traits_Unary_MR_Features_Primitives_ConeSegment MR_Features_Traits_Unary_MR_Features_Primitives_ConeSegment
Generated from class MR::Features::Traits::Unary<MR::Features::Primitives::ConeSegment>.
Definition MRFeatures.h:81
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)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
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)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
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)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
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)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
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
Generated from class MR::Features::Traits::Binary<MR::Features::Primitives::Plane,...
Definition MRFeatures.h:101
MRC_API MR_Features_MeasureResult * MR_Features_MeasureResult_OffsetMutablePtr(MR_Features_MeasureResult *ptr, ptrdiff_t i)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
MRC_API MR_Vector3f * MR_Features_Primitives_Plane_GetMutable_center(MR_Features_Primitives_Plane *_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)
@ MR_Features_MeasureResult_Status_notFinite
The result was not finite. This is set automatically if you return non-finite values,...
Definition MRFeatures.h:55
@ MR_Features_MeasureResult_Status_badRelativeLocation
Can't be computed because of how the objects are located relative to each other.
Definition MRFeatures.h:53
@ MR_Features_MeasureResult_Status_notImplemented
Algorithms set this if this when something isn't yet implemented.
Definition MRFeatures.h:48
@ MR_Features_MeasureResult_Status_badFeaturePair
Definition MRFeatures.h:51
@ MR_Features_MeasureResult_Status_ok
Definition MRFeatures.h:46
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
Generated from class MR::Features::Traits::Unary<MR::Sphere3f>.
Definition MRFeatures.h:78
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)
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)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
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:22
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 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)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
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)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
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)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
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:63
MRC_API const MR_Features_MeasureResult_BasicPart * MR_Features_MeasureResult_BasicPart_OffsetPtr(const MR_Features_MeasureResult_BasicPart *ptr, ptrdiff_t i)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
MRC_API MR_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)
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
Generated from class MR::Features::Traits::Binary<MR::Features::Primitives::Plane,...
Definition MRFeatures.h:105
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)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
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)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
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:26
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)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
MRC_API const MR_Features_MeasureResult_Distance * MR_Features_MeasureResult_BasicPart_StaticDowncastTo_MR_Features_MeasureResult_Distance(const MR_Features_MeasureResult_BasicPart *object)
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)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
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:21
MRC_API MR_Vector3f * MR_Features_MeasureResult_Distance_GetMutable_closestPointA(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)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
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)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
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:23
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 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)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
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)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
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)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
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:75
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)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
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)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
struct MR_Features_Traits_Binary_MR_Features_Primitives_ConeSegment_MR_Sphere3f MR_Features_Traits_Binary_MR_Features_Primitives_ConeSegment_MR_Sphere3f
Generated from class MR::Features::Traits::Binary<MR::Features::Primitives::ConeSegment,...
Definition MRFeatures.h:91
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
Generated from class 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)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
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)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
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
Generated from class MR::Features::Traits::Unary<MR::Features::Primitives::Plane>.
Definition MRFeatures.h:84
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)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
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)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
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:19
#define MRC_API
Definition exports.h:11
Definition MRAffineXf.h:36
Definition MRVector3.h:51