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
31
37
41
55
62
68
74
77
80
83
84// ?? <-> Sphere
87
90
93
94// ?? <-> Cone
97
100
101// ?? <-> Plane
104
109
113
118
119// This must be normalized. The sign doesn't matter.
124
125// This must be normalized. The sign doesn't matter.
129
130// This must be normalized. The sign doesn't matter.
135
139
144
148
151
154
159
162
165
171
172// Returns an infinite line, with the center in a sane location.
178
179// Intersects the plane with a line, returns a point (zero radius sphere).
180// Only `center` and `dir` are used from `line` (so if `line` is a cone/cylinder, its axis is used,
181// and the line is extended to infinity).
187
192
198
203
209
215
220
226
232
237
243
249
254
260
266
271
277
283
288
294
295// If true, the cone has no caps and no volume, and all distances (to the conical surface, that is) are positive.
300
301// If true, the cone has no caps and no volume, and all distances (to the conical surface, that is) are positive.
305
306// If true, the cone has no caps and no volume, and all distances (to the conical surface, that is) are positive.
311
315
320
323MRC_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);
324
327
330
335
338
341
347
351
355
356// Returns the length. Can be infinite.
360
361// Returns the center point (unlike `referencePoint`, which can actually be off-center).
362// For half-infinite objects, returns the finite end.
367
368// Extends the object to infinity in one direction. The radius in the extended direction becomes equal to the radius in the opposite direction.
373
374// Extends the object to infinity in both directions. This is equivalent to `.extendToInfinity(false).extendToInfinity(true)`,
375// except that calling it with `positiveSideRadius != negativeSideRadius` is illegal and triggers an assertion.
380
381// Untruncates a truncated cone. If it's not a cone at all, returns the object unchanged and triggers an assertion.
386
387// Returns a finite axis. For circles, you might want to immediately `extendToInfinity()` it.
392
393// Returns a center of one of the two base circles.
398
399// Returns one of the two base planes.
404
405// Returns one of the two base circles.
410
415
416// Those map various MR types to our primitives. Some of those are identity functions.
421
426
431
436
441
446
453
460
467
468// Returns null if the object type is unknown. This overload ignores the parent xf.
473
474// Returns null if the object type is unknown. This overload respects the parent's `worldXf()`.
479
480// Can return null on some primitive configurations.
481// `infiniteExtent` is how large we make "infinite" objects. Half-infinite objects divide this by 2.
486
487// Transform a primitive by an xf.
488// Non-uniform scaling and skewing are not supported.
494
500
506
512
513// Exact distance.
518
519// Exact distance.
524
525// Exact distance.
530
531// Some approximation of the distance.
532// For planes and lines, this expects them to be mostly parallel. For everything else, it just takes the feature center.
537
538// Some approximation of the distance.
539// For planes and lines, this expects them to be mostly parallel. For everything else, it just takes the feature center.
544
545// Some approximation of the distance.
546// For planes and lines, this expects them to be mostly parallel. For everything else, it just takes the feature center.
551
556
561
566
567// The primitives obtained from intersecting those two.
572
573// The primitives obtained from intersecting those two.
577
578// The primitives obtained from intersecting those two.
583
587
592
599
602
605
609
612
615
620
621// Modifies the object to swap A and B;
625
630
634
639
643
648
652
655
658
663
667
672
676
681
684
687
691
697
698// This is a separate field because it can be negative.
703
704// This is a separate field because it can be negative.
708
709// This is a separate field because it can be negative.
714
719
723
728
733
737
742
746
751
754
757
761
764
769
772
775
781
785
789
793
798
802
807
812
816
821
822// Normalized.
827
828// Normalized.
832
833// Normalized.
838
839// ^
844
845// ^
849
850// ^
855
861
866
872
877
881
886
890
895
898
901
905
908
913
916
919
925
929
933
937
941
942// `MeasureResult::Status` enum to string.
946
950
955
958
961
966
969
972
978
984
988
993
996
999
1004
1007
1010
1016
1022
1026
1031
1034
1037
1042
1045
1048
1054
1060
1064
1069
1072
1075
1080
1083
1086
1092
1099
1103
1108
1111
1114
1119
1122
1125
1131
1138
1142
1147
1150
1153
1158
1161
1164
1170
1177
1181
1186
1189
1192
1197
1200
1203
1209
1216
1220
1225
1228
1231
1236
1239
1242
1248
1255
1259
1264
1267
1270
1275
1278
1281
1287
1294
1295// Same but for a variant.
1300
1301// Same, but with variants as both argument.
1307
1308#ifdef __cplusplus
1309} // extern "C"
1310#endif
struct MR_Line3f MR_Line3f
Definition MRBestFit.h:17
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_view MR_std_string_view
Definition MRDistanceMeasurementObject.h:25
struct MR_std_string MR_std_string
Definition MRE57.h:22
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:96
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:86
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:92
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...
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)
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 float MR_Features_MeasureResult_Distance_distanceAlongAxis(const MR_Features_MeasureResult_Distance *_this, int i)
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:40
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:36
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:79
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:99
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)
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:76
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:43
@ MR_Features_MeasureResult_Status_notFinite
The result was not finite. This is set automatically if you return non-finite values,...
Definition MRFeatures.h:53
@ MR_Features_MeasureResult_Status_badRelativeLocation
Can't be computed because of how the objects are located relative to each other.
Definition MRFeatures.h:51
@ MR_Features_MeasureResult_Status_notImplemented
Algorithms set this if this when something isn't yet implemented.
Definition MRFeatures.h:46
@ MR_Features_MeasureResult_Status_badFeaturePair
Definition MRFeatures.h:49
@ MR_Features_MeasureResult_Status_ok
Definition MRFeatures.h:44
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:21
MRC_API void MR_Features_MeasureResult_BasicPart_DestroyArray(const MR_Features_MeasureResult_BasicPart *_this)
Destroys a heap-allocated array of MR_Features_MeasureResult_BasicPart. Does nothing if the pointer i...
MRC_API void MR_Features_Primitives_Plane_DestroyArray(const MR_Features_Primitives_Plane *_this)
Destroys a heap-allocated array of MR_Features_Primitives_Plane. Does nothing if the pointer is null.
MRC_API MR_Features_MeasureResult_BasicPart * MR_Features_MeasureResult_Distance_MutableUpcastTo_MR_Features_MeasureResult_BasicPart(MR_Features_MeasureResult_Distance *object)
Upcasts an instance of MR::Features::MeasureResult::Distance to its base class MR::Features::MeasureR...
MRC_API MR_Features_MeasureResult_BasicPart * MR_Features_MeasureResult_Angle_MutableUpcastTo_MR_Features_MeasureResult_BasicPart(MR_Features_MeasureResult_Angle *object)
Upcasts an instance of MR::Features::MeasureResult::Angle to its base class MR::Features::MeasureResu...
MRC_API MR_Features_Traits_Binary_MR_Features_Primitives_Plane_MR_Features_Primitives_Plane * MR_Features_Traits_Binary_MR_Features_Primitives_Plane_MR_Features_Primitives_Plane_DefaultConstructArray(size_t num_elems)
MRC_API void MR_Features_Traits_Unary_MR_Features_Primitives_ConeSegment_DestroyArray(const MR_Features_Traits_Unary_MR_Features_Primitives_ConeSegment *_this)
Destroys a heap-allocated array of MR_Features_Traits_Unary_MR_Features_Primitives_ConeSegment....
MRC_API MR_Features_Traits_Binary_MR_Features_Primitives_ConeSegment_MR_Sphere3f * MR_Features_Traits_Binary_MR_Features_Primitives_ConeSegment_MR_Sphere3f_AssignFromAnother(MR_Features_Traits_Binary_MR_Features_Primitives_ConeSegment_MR_Sphere3f *_this, const MR_Features_Traits_Binary_MR_Features_Primitives_ConeSegment_MR_Sphere3f *_other)
MRC_API MR_Features_MeasureResult_Angle * MR_Features_MeasureResult_BasicPart_MutableStaticDowncastTo_MR_Features_MeasureResult_Angle(MR_Features_MeasureResult_BasicPart *object)
MRC_API MR_Vector3f * MR_Features_MeasureResult_Angle_GetMutable_pointB(MR_Features_MeasureResult_Angle *_this)
MRC_API MR_Features_Primitives_ConeSegment * MR_Features_Primitives_ConeSegment_ConstructFrom(MR_Vector3f referencePoint, MR_Vector3f dir, float positiveSideRadius, float negativeSideRadius, float positiveLength, float negativeLength, bool hollow)
MRC_API MR_Features_Primitives_ConeSegment * MR_Features_transformPrimitive_MR_Features_Primitives_ConeSegment(const MR_AffineXf3f *xf, const MR_Features_Primitives_ConeSegment *primitive)
MRC_API void MR_Features_MeasureResult_Distance_Destroy(const MR_Features_MeasureResult_Distance *_this)
Destroys a heap-allocated instance of MR_Features_MeasureResult_Distance. Does nothing if the pointer...
MRC_API void MR_Features_MeasureResult_Angle_Destroy(const MR_Features_MeasureResult_Angle *_this)
Destroys a heap-allocated instance of MR_Features_MeasureResult_Angle. Does nothing if the pointer is...
MRC_API float MR_Features_MeasureResult_Distance_distanceAlongAxisAbs(const MR_Features_MeasureResult_Distance *_this, int i)
MRC_API bool MR_Features_MeasureResult_Angle_isSurfaceNormalFor(const MR_Features_MeasureResult_Angle *_this, bool b)
MRC_API float MR_Features_MeasureResult_Angle_computeAngleInRadians(const MR_Features_MeasureResult_Angle *_this)
MRC_API MR_Features_Traits_Binary_MR_Features_Primitives_Plane_MR_Sphere3f * MR_Features_Traits_Binary_MR_Features_Primitives_Plane_MR_Sphere3f_DefaultConstruct(void)
MRC_API MR_Features_Traits_Binary_MR_Features_Primitives_Plane_MR_Features_Primitives_ConeSegment * MR_Features_Traits_Binary_MR_Features_Primitives_Plane_MR_Features_Primitives_ConeSegment_OffsetMutablePtr(MR_Features_Traits_Binary_MR_Features_Primitives_Plane_MR_Features_Primitives_ConeSegment *ptr, ptrdiff_t i)
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:61
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:103
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: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)
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:20
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: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 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:73
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:89
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:30
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:82
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:50