MeshLib C Docs
Loading...
Searching...
No Matches
MRBox.h
Go to the documentation of this file.
1#pragma once
2
3#include <MRCMesh/MRVector2.h>
4#include <MRCMesh/MRVector3.h>
5#include <MRCMisc/common.h>
6#include <MRCMisc/exports.h>
7
8#include <stdbool.h>
9#include <stddef.h>
10
11#ifdef __cplusplus
12extern "C" {
13#endif
14
15typedef struct MR_NoInit MR_NoInit; // Defined in `#include <MRCMesh/MRMeshFwd.h>`.
16typedef struct MR_SimpleVolumeMinMax MR_SimpleVolumeMinMax; // Defined in `#include <MRCVoxels/MRVoxelsVolume.h>`.
17typedef struct MR_SimpleVolumeMinMaxU16 MR_SimpleVolumeMinMaxU16; // Defined in `#include <MRCVoxels/MRVoxelsVolume.h>`.
18typedef struct MR_VdbVolume MR_VdbVolume; // Defined in `#include <MRCVoxels/MRVoxelsVolume.h>`.
19typedef struct MR_std_istream MR_std_istream; // Defined in `#include <MRCMisc/iostream.h>`.
20typedef struct MR_std_ostream MR_std_ostream; // Defined in `#include <MRCMisc/iostream.h>`.
21
22
25typedef struct MR_Box1i
26{
27 int min;
28 int max;
30
33typedef struct MR_Box1i64
34{
35 MR_int64_t min;
36 MR_int64_t max;
38
45typedef struct MR_Box1f
46{
47 float min;
48 float max;
50
53typedef struct MR_Box1d
54{
55 double min;
56 double max;
58
66
74
82
90
98
106
114
122
130
133MRC_API const int *MR_Box1i_Get_elements(void);
134
137
141MRC_API MR_Box1i *MR_Box1i_DefaultConstructArray(size_t num_elems);
142
148MRC_API MR_Box1i MR_Box1i_Construct_2(const int *min, const int *max);
149
154
159MRC_API const int *MR_Box1i_index(const MR_Box1i *_this, int e);
160
164MRC_API int *MR_Box1i_index_mut(MR_Box1i *_this, int e);
165
169MRC_API MR_Box1i MR_Box1i_fromMinAndSize(const int *min, const int *size);
170
174MRC_API bool MR_Box1i_valid(const MR_Box1i *_this);
175
179MRC_API int MR_Box1i_center(const MR_Box1i *_this);
180
187MRC_API int MR_Box1i_corner(const MR_Box1i *_this, const bool *c);
188
193MRC_API bool MR_Box1i_getMinBoxCorner(const int *n);
194
199MRC_API bool MR_Box1i_getMaxBoxCorner(const int *n);
200
204MRC_API int MR_Box1i_size(const MR_Box1i *_this);
205
209MRC_API int MR_Box1i_diagonal(const MR_Box1i *_this);
210
214MRC_API int MR_Box1i_volume(const MR_Box1i *_this);
215
220MRC_API void MR_Box1i_include_int(MR_Box1i *_this, const int *pt);
221
226MRC_API void MR_Box1i_include_MR_Box1i(MR_Box1i *_this, const MR_Box1i *b);
227
232MRC_API bool MR_Box1i_contains_int(const MR_Box1i *_this, const int *pt);
233
238MRC_API bool MR_Box1i_contains_MR_Box1i(const MR_Box1i *_this, const MR_Box1i *otherbox);
239
244MRC_API int MR_Box1i_getBoxClosestPointTo(const MR_Box1i *_this, const int *pt);
245
250MRC_API bool MR_Box1i_intersects(const MR_Box1i *_this, const MR_Box1i *b);
251
256MRC_API MR_Box1i MR_Box1i_intersection(const MR_Box1i *_this, const MR_Box1i *b);
257
262MRC_API MR_Box1i *MR_Box1i_intersect(MR_Box1i *_this, const MR_Box1i *b);
263
269MRC_API int MR_Box1i_getDistanceSq_MR_Box1i(const MR_Box1i *_this, const MR_Box1i *b);
270
276MRC_API int MR_Box1i_getDistanceSq_int(const MR_Box1i *_this, const int *pt);
277
283MRC_API int MR_Box1i_getProjection(const MR_Box1i *_this, const int *pt);
284
289MRC_API MR_Box1i MR_Box1i_expanded(const MR_Box1i *_this, const int *expansion);
290
295
299MRC_API bool MR_equal_MR_Box1i(const MR_Box1i *_this, const MR_Box1i *a);
300
304MRC_API bool MR_not_equal_MR_Box1i(const MR_Box1i *_this, const MR_Box1i *a);
305
311
317
320MRC_API const int *MR_Box1i64_Get_elements(void);
321
324
329
335MRC_API MR_Box1i64 MR_Box1i64_Construct_2(const MR_int64_t *min, const MR_int64_t *max);
336
341
346MRC_API const MR_int64_t *MR_Box1i64_index(const MR_Box1i64 *_this, int e);
347
351MRC_API MR_int64_t *MR_Box1i64_index_mut(MR_Box1i64 *_this, int e);
352
356MRC_API MR_Box1i64 MR_Box1i64_fromMinAndSize(const MR_int64_t *min, const MR_int64_t *size);
357
361MRC_API bool MR_Box1i64_valid(const MR_Box1i64 *_this);
362
366MRC_API MR_int64_t MR_Box1i64_center(const MR_Box1i64 *_this);
367
374MRC_API MR_int64_t MR_Box1i64_corner(const MR_Box1i64 *_this, const bool *c);
375
380MRC_API bool MR_Box1i64_getMinBoxCorner(const MR_int64_t *n);
381
386MRC_API bool MR_Box1i64_getMaxBoxCorner(const MR_int64_t *n);
387
391MRC_API MR_int64_t MR_Box1i64_size(const MR_Box1i64 *_this);
392
396MRC_API MR_int64_t MR_Box1i64_diagonal(const MR_Box1i64 *_this);
397
401MRC_API MR_int64_t MR_Box1i64_volume(const MR_Box1i64 *_this);
402
407MRC_API void MR_Box1i64_include_int64_t(MR_Box1i64 *_this, const MR_int64_t *pt);
408
414
419MRC_API bool MR_Box1i64_contains_int64_t(const MR_Box1i64 *_this, const MR_int64_t *pt);
420
425MRC_API bool MR_Box1i64_contains_MR_Box1i64(const MR_Box1i64 *_this, const MR_Box1i64 *otherbox);
426
431MRC_API MR_int64_t MR_Box1i64_getBoxClosestPointTo(const MR_Box1i64 *_this, const MR_int64_t *pt);
432
437MRC_API bool MR_Box1i64_intersects(const MR_Box1i64 *_this, const MR_Box1i64 *b);
438
444
450
456MRC_API MR_int64_t MR_Box1i64_getDistanceSq_MR_Box1i64(const MR_Box1i64 *_this, const MR_Box1i64 *b);
457
463MRC_API MR_int64_t MR_Box1i64_getDistanceSq_int64_t(const MR_Box1i64 *_this, const MR_int64_t *pt);
464
470MRC_API MR_int64_t MR_Box1i64_getProjection(const MR_Box1i64 *_this, const MR_int64_t *pt);
471
476MRC_API MR_Box1i64 MR_Box1i64_expanded(const MR_Box1i64 *_this, const MR_int64_t *expansion);
477
482
486MRC_API bool MR_equal_MR_Box1i64(const MR_Box1i64 *_this, const MR_Box1i64 *a);
487
491MRC_API bool MR_not_equal_MR_Box1i64(const MR_Box1i64 *_this, const MR_Box1i64 *a);
492
498
504
507MRC_API const int *MR_Box1f_Get_elements(void);
508
511
515MRC_API MR_Box1f *MR_Box1f_DefaultConstructArray(size_t num_elems);
516
522
527
533
538
544MRC_API MR_Box1f MR_Box1f_Construct_2(const float *min, const float *max);
545
550
555MRC_API const float *MR_Box1f_index(const MR_Box1f *_this, int e);
556
560MRC_API float *MR_Box1f_index_mut(MR_Box1f *_this, int e);
561
565MRC_API MR_Box1f MR_Box1f_fromMinAndSize(const float *min, const float *size);
566
570MRC_API bool MR_Box1f_valid(const MR_Box1f *_this);
571
575MRC_API float MR_Box1f_center(const MR_Box1f *_this);
576
583MRC_API float MR_Box1f_corner(const MR_Box1f *_this, const bool *c);
584
589MRC_API bool MR_Box1f_getMinBoxCorner(const float *n);
590
595MRC_API bool MR_Box1f_getMaxBoxCorner(const float *n);
596
600MRC_API float MR_Box1f_size(const MR_Box1f *_this);
601
605MRC_API float MR_Box1f_diagonal(const MR_Box1f *_this);
606
610MRC_API float MR_Box1f_volume(const MR_Box1f *_this);
611
616MRC_API void MR_Box1f_include_float(MR_Box1f *_this, const float *pt);
617
622MRC_API void MR_Box1f_include_MR_Box1f(MR_Box1f *_this, const MR_Box1f *b);
623
628MRC_API bool MR_Box1f_contains_float(const MR_Box1f *_this, const float *pt);
629
634MRC_API bool MR_Box1f_contains_MR_Box1f(const MR_Box1f *_this, const MR_Box1f *otherbox);
635
640MRC_API float MR_Box1f_getBoxClosestPointTo(const MR_Box1f *_this, const float *pt);
641
646MRC_API bool MR_Box1f_intersects(const MR_Box1f *_this, const MR_Box1f *b);
647
652MRC_API MR_Box1f MR_Box1f_intersection(const MR_Box1f *_this, const MR_Box1f *b);
653
658MRC_API MR_Box1f *MR_Box1f_intersect(MR_Box1f *_this, const MR_Box1f *b);
659
665MRC_API float MR_Box1f_getDistanceSq_MR_Box1f(const MR_Box1f *_this, const MR_Box1f *b);
666
672MRC_API float MR_Box1f_getDistanceSq_float(const MR_Box1f *_this, const float *pt);
673
679MRC_API float MR_Box1f_getProjection(const MR_Box1f *_this, const float *pt);
680
685MRC_API MR_Box1f MR_Box1f_expanded(const MR_Box1f *_this, const float *expansion);
686
691
695MRC_API bool MR_equal_MR_Box1f(const MR_Box1f *_this, const MR_Box1f *a);
696
700MRC_API bool MR_not_equal_MR_Box1f(const MR_Box1f *_this, const MR_Box1f *a);
701
707
713
716MRC_API const int *MR_Box1d_Get_elements(void);
717
720
724MRC_API MR_Box1d *MR_Box1d_DefaultConstructArray(size_t num_elems);
725
731MRC_API MR_Box1d MR_Box1d_Construct_2(const double *min, const double *max);
732
737
742MRC_API const double *MR_Box1d_index(const MR_Box1d *_this, int e);
743
747MRC_API double *MR_Box1d_index_mut(MR_Box1d *_this, int e);
748
752MRC_API MR_Box1d MR_Box1d_fromMinAndSize(const double *min, const double *size);
753
757MRC_API bool MR_Box1d_valid(const MR_Box1d *_this);
758
762MRC_API double MR_Box1d_center(const MR_Box1d *_this);
763
770MRC_API double MR_Box1d_corner(const MR_Box1d *_this, const bool *c);
771
776MRC_API bool MR_Box1d_getMinBoxCorner(const double *n);
777
782MRC_API bool MR_Box1d_getMaxBoxCorner(const double *n);
783
787MRC_API double MR_Box1d_size(const MR_Box1d *_this);
788
792MRC_API double MR_Box1d_diagonal(const MR_Box1d *_this);
793
797MRC_API double MR_Box1d_volume(const MR_Box1d *_this);
798
803MRC_API void MR_Box1d_include_double(MR_Box1d *_this, const double *pt);
804
809MRC_API void MR_Box1d_include_MR_Box1d(MR_Box1d *_this, const MR_Box1d *b);
810
815MRC_API bool MR_Box1d_contains_double(const MR_Box1d *_this, const double *pt);
816
821MRC_API bool MR_Box1d_contains_MR_Box1d(const MR_Box1d *_this, const MR_Box1d *otherbox);
822
827MRC_API double MR_Box1d_getBoxClosestPointTo(const MR_Box1d *_this, const double *pt);
828
833MRC_API bool MR_Box1d_intersects(const MR_Box1d *_this, const MR_Box1d *b);
834
839MRC_API MR_Box1d MR_Box1d_intersection(const MR_Box1d *_this, const MR_Box1d *b);
840
845MRC_API MR_Box1d *MR_Box1d_intersect(MR_Box1d *_this, const MR_Box1d *b);
846
852MRC_API double MR_Box1d_getDistanceSq_MR_Box1d(const MR_Box1d *_this, const MR_Box1d *b);
853
859MRC_API double MR_Box1d_getDistanceSq_double(const MR_Box1d *_this, const double *pt);
860
866MRC_API double MR_Box1d_getProjection(const MR_Box1d *_this, const double *pt);
867
872MRC_API MR_Box1d MR_Box1d_expanded(const MR_Box1d *_this, const double *expansion);
873
878
882MRC_API bool MR_equal_MR_Box1d(const MR_Box1d *_this, const MR_Box1d *a);
883
887MRC_API bool MR_not_equal_MR_Box1d(const MR_Box1d *_this, const MR_Box1d *a);
888
894
900
903MRC_API const int *MR_Box2i_Get_elements(void);
904
907
911MRC_API MR_Box2i *MR_Box2i_DefaultConstructArray(size_t num_elems);
912
918MRC_API MR_Box2i MR_Box2i_Construct_2(const MR_Vector2i *min, const MR_Vector2i *max);
919
920// If the compiler supports `requires`, use that instead of `std::enable_if` here.
921// Not (only) because it looks cooler, but because of a bug in our binding generator that makes it choke on it: https://github.com/MeshInspector/mrbind/issues/19
926
931MRC_API const MR_Vector2i *MR_Box2i_index(const MR_Box2i *_this, int e);
932
937
942
946MRC_API bool MR_Box2i_valid(const MR_Box2i *_this);
947
952
959MRC_API MR_Vector2i MR_Box2i_corner(const MR_Box2i *_this, const MR_Vector2b *c);
960
966
972
976MRC_API MR_Vector2i MR_Box2i_size(const MR_Box2i *_this);
977
981MRC_API int MR_Box2i_diagonal(const MR_Box2i *_this);
982
986MRC_API int MR_Box2i_volume(const MR_Box2i *_this);
987
992MRC_API void MR_Box2i_include_MR_Vector2i(MR_Box2i *_this, const MR_Vector2i *pt);
993
998MRC_API void MR_Box2i_include_MR_Box2i(MR_Box2i *_this, const MR_Box2i *b);
999
1004MRC_API bool MR_Box2i_contains_MR_Vector2i(const MR_Box2i *_this, const MR_Vector2i *pt);
1005
1010MRC_API bool MR_Box2i_contains_MR_Box2i(const MR_Box2i *_this, const MR_Box2i *otherbox);
1011
1017
1022MRC_API bool MR_Box2i_intersects(const MR_Box2i *_this, const MR_Box2i *b);
1023
1028MRC_API MR_Box2i MR_Box2i_intersection(const MR_Box2i *_this, const MR_Box2i *b);
1029
1035
1041MRC_API int MR_Box2i_getDistanceSq_MR_Box2i(const MR_Box2i *_this, const MR_Box2i *b);
1042
1048MRC_API int MR_Box2i_getDistanceSq_MR_Vector2i(const MR_Box2i *_this, const MR_Vector2i *pt);
1049
1056
1061MRC_API MR_Box2i MR_Box2i_expanded(const MR_Box2i *_this, const MR_Vector2i *expansion);
1062
1067
1071MRC_API bool MR_equal_MR_Box2i(const MR_Box2i *_this, const MR_Box2i *a);
1072
1076MRC_API bool MR_not_equal_MR_Box2i(const MR_Box2i *_this, const MR_Box2i *a);
1077
1083
1089
1092MRC_API const int *MR_Box2i64_Get_elements(void);
1093
1096
1101
1108
1109// If the compiler supports `requires`, use that instead of `std::enable_if` here.
1110// Not (only) because it looks cooler, but because of a bug in our binding generator that makes it choke on it: https://github.com/MeshInspector/mrbind/issues/19
1115
1120MRC_API const MR_Vector2i64 *MR_Box2i64_index(const MR_Box2i64 *_this, int e);
1121
1126
1131
1135MRC_API bool MR_Box2i64_valid(const MR_Box2i64 *_this);
1136
1141
1149
1155
1161
1166
1170MRC_API MR_int64_t MR_Box2i64_diagonal(const MR_Box2i64 *_this);
1171
1175MRC_API MR_int64_t MR_Box2i64_volume(const MR_Box2i64 *_this);
1176
1182
1188
1193MRC_API bool MR_Box2i64_contains_MR_Vector2i64(const MR_Box2i64 *_this, const MR_Vector2i64 *pt);
1194
1199MRC_API bool MR_Box2i64_contains_MR_Box2i64(const MR_Box2i64 *_this, const MR_Box2i64 *otherbox);
1200
1206
1211MRC_API bool MR_Box2i64_intersects(const MR_Box2i64 *_this, const MR_Box2i64 *b);
1212
1218
1224
1230MRC_API MR_int64_t MR_Box2i64_getDistanceSq_MR_Box2i64(const MR_Box2i64 *_this, const MR_Box2i64 *b);
1231
1237MRC_API MR_int64_t MR_Box2i64_getDistanceSq_MR_Vector2i64(const MR_Box2i64 *_this, const MR_Vector2i64 *pt);
1238
1245
1250MRC_API MR_Box2i64 MR_Box2i64_expanded(const MR_Box2i64 *_this, const MR_Vector2i64 *expansion);
1251
1256
1260MRC_API bool MR_equal_MR_Box2i64(const MR_Box2i64 *_this, const MR_Box2i64 *a);
1261
1265MRC_API bool MR_not_equal_MR_Box2i64(const MR_Box2i64 *_this, const MR_Box2i64 *a);
1266
1272
1278
1281MRC_API const int *MR_Box2f_Get_elements(void);
1282
1285
1289MRC_API MR_Box2f *MR_Box2f_DefaultConstructArray(size_t num_elems);
1290
1297
1298// If the compiler supports `requires`, use that instead of `std::enable_if` here.
1299// Not (only) because it looks cooler, but because of a bug in our binding generator that makes it choke on it: https://github.com/MeshInspector/mrbind/issues/19
1304
1309MRC_API const MR_Vector2f *MR_Box2f_index(const MR_Box2f *_this, int e);
1310
1315
1320
1324MRC_API bool MR_Box2f_valid(const MR_Box2f *_this);
1325
1330
1337MRC_API MR_Vector2f MR_Box2f_corner(const MR_Box2f *_this, const MR_Vector2b *c);
1338
1344
1350
1354MRC_API MR_Vector2f MR_Box2f_size(const MR_Box2f *_this);
1355
1359MRC_API float MR_Box2f_diagonal(const MR_Box2f *_this);
1360
1364MRC_API float MR_Box2f_volume(const MR_Box2f *_this);
1365
1370MRC_API void MR_Box2f_include_MR_Vector2f(MR_Box2f *_this, const MR_Vector2f *pt);
1371
1376MRC_API void MR_Box2f_include_MR_Box2f(MR_Box2f *_this, const MR_Box2f *b);
1377
1382MRC_API bool MR_Box2f_contains_MR_Vector2f(const MR_Box2f *_this, const MR_Vector2f *pt);
1383
1388MRC_API bool MR_Box2f_contains_MR_Box2f(const MR_Box2f *_this, const MR_Box2f *otherbox);
1389
1395
1400MRC_API bool MR_Box2f_intersects(const MR_Box2f *_this, const MR_Box2f *b);
1401
1406MRC_API MR_Box2f MR_Box2f_intersection(const MR_Box2f *_this, const MR_Box2f *b);
1407
1413
1419MRC_API float MR_Box2f_getDistanceSq_MR_Box2f(const MR_Box2f *_this, const MR_Box2f *b);
1420
1426MRC_API float MR_Box2f_getDistanceSq_MR_Vector2f(const MR_Box2f *_this, const MR_Vector2f *pt);
1427
1434
1439MRC_API MR_Box2f MR_Box2f_expanded(const MR_Box2f *_this, const MR_Vector2f *expansion);
1440
1445
1449MRC_API bool MR_equal_MR_Box2f(const MR_Box2f *_this, const MR_Box2f *a);
1450
1454MRC_API bool MR_not_equal_MR_Box2f(const MR_Box2f *_this, const MR_Box2f *a);
1455
1461
1467
1470MRC_API const int *MR_Box2d_Get_elements(void);
1471
1474
1478MRC_API MR_Box2d *MR_Box2d_DefaultConstructArray(size_t num_elems);
1479
1486
1487// If the compiler supports `requires`, use that instead of `std::enable_if` here.
1488// Not (only) because it looks cooler, but because of a bug in our binding generator that makes it choke on it: https://github.com/MeshInspector/mrbind/issues/19
1493
1498MRC_API const MR_Vector2d *MR_Box2d_index(const MR_Box2d *_this, int e);
1499
1504
1509
1513MRC_API bool MR_Box2d_valid(const MR_Box2d *_this);
1514
1519
1526MRC_API MR_Vector2d MR_Box2d_corner(const MR_Box2d *_this, const MR_Vector2b *c);
1527
1533
1539
1543MRC_API MR_Vector2d MR_Box2d_size(const MR_Box2d *_this);
1544
1548MRC_API double MR_Box2d_diagonal(const MR_Box2d *_this);
1549
1553MRC_API double MR_Box2d_volume(const MR_Box2d *_this);
1554
1559MRC_API void MR_Box2d_include_MR_Vector2d(MR_Box2d *_this, const MR_Vector2d *pt);
1560
1565MRC_API void MR_Box2d_include_MR_Box2d(MR_Box2d *_this, const MR_Box2d *b);
1566
1571MRC_API bool MR_Box2d_contains_MR_Vector2d(const MR_Box2d *_this, const MR_Vector2d *pt);
1572
1577MRC_API bool MR_Box2d_contains_MR_Box2d(const MR_Box2d *_this, const MR_Box2d *otherbox);
1578
1584
1589MRC_API bool MR_Box2d_intersects(const MR_Box2d *_this, const MR_Box2d *b);
1590
1595MRC_API MR_Box2d MR_Box2d_intersection(const MR_Box2d *_this, const MR_Box2d *b);
1596
1602
1608MRC_API double MR_Box2d_getDistanceSq_MR_Box2d(const MR_Box2d *_this, const MR_Box2d *b);
1609
1615MRC_API double MR_Box2d_getDistanceSq_MR_Vector2d(const MR_Box2d *_this, const MR_Vector2d *pt);
1616
1623
1628MRC_API MR_Box2d MR_Box2d_expanded(const MR_Box2d *_this, const MR_Vector2d *expansion);
1629
1634
1638MRC_API bool MR_equal_MR_Box2d(const MR_Box2d *_this, const MR_Box2d *a);
1639
1643MRC_API bool MR_not_equal_MR_Box2d(const MR_Box2d *_this, const MR_Box2d *a);
1644
1650
1656
1659MRC_API const int *MR_Box3i_Get_elements(void);
1660
1663
1667MRC_API MR_Box3i *MR_Box3i_DefaultConstructArray(size_t num_elems);
1668
1675
1676// If the compiler supports `requires`, use that instead of `std::enable_if` here.
1677// Not (only) because it looks cooler, but because of a bug in our binding generator that makes it choke on it: https://github.com/MeshInspector/mrbind/issues/19
1682
1687MRC_API const MR_Vector3i *MR_Box3i_index(const MR_Box3i *_this, int e);
1688
1693
1698
1702MRC_API bool MR_Box3i_valid(const MR_Box3i *_this);
1703
1708
1715MRC_API MR_Vector3i MR_Box3i_corner(const MR_Box3i *_this, const MR_Vector3b *c);
1716
1722
1728
1732MRC_API MR_Vector3i MR_Box3i_size(const MR_Box3i *_this);
1733
1737MRC_API int MR_Box3i_diagonal(const MR_Box3i *_this);
1738
1742MRC_API int MR_Box3i_volume(const MR_Box3i *_this);
1743
1748MRC_API void MR_Box3i_include_MR_Vector3i(MR_Box3i *_this, const MR_Vector3i *pt);
1749
1754MRC_API void MR_Box3i_include_MR_Box3i(MR_Box3i *_this, const MR_Box3i *b);
1755
1760MRC_API bool MR_Box3i_contains_MR_Vector3i(const MR_Box3i *_this, const MR_Vector3i *pt);
1761
1766MRC_API bool MR_Box3i_contains_MR_Box3i(const MR_Box3i *_this, const MR_Box3i *otherbox);
1767
1773
1778MRC_API bool MR_Box3i_intersects(const MR_Box3i *_this, const MR_Box3i *b);
1779
1784MRC_API MR_Box3i MR_Box3i_intersection(const MR_Box3i *_this, const MR_Box3i *b);
1785
1791
1797MRC_API int MR_Box3i_getDistanceSq_MR_Box3i(const MR_Box3i *_this, const MR_Box3i *b);
1798
1804MRC_API int MR_Box3i_getDistanceSq_MR_Vector3i(const MR_Box3i *_this, const MR_Vector3i *pt);
1805
1812
1817MRC_API MR_Box3i MR_Box3i_expanded(const MR_Box3i *_this, const MR_Vector3i *expansion);
1818
1823
1827MRC_API bool MR_equal_MR_Box3i(const MR_Box3i *_this, const MR_Box3i *a);
1828
1832MRC_API bool MR_not_equal_MR_Box3i(const MR_Box3i *_this, const MR_Box3i *a);
1833
1839
1845
1848MRC_API const int *MR_Box3i64_Get_elements(void);
1849
1852
1857
1864
1865// If the compiler supports `requires`, use that instead of `std::enable_if` here.
1866// Not (only) because it looks cooler, but because of a bug in our binding generator that makes it choke on it: https://github.com/MeshInspector/mrbind/issues/19
1871
1876MRC_API const MR_Vector3i64 *MR_Box3i64_index(const MR_Box3i64 *_this, int e);
1877
1882
1887
1891MRC_API bool MR_Box3i64_valid(const MR_Box3i64 *_this);
1892
1897
1905
1911
1917
1922
1926MRC_API MR_int64_t MR_Box3i64_diagonal(const MR_Box3i64 *_this);
1927
1931MRC_API MR_int64_t MR_Box3i64_volume(const MR_Box3i64 *_this);
1932
1938
1944
1949MRC_API bool MR_Box3i64_contains_MR_Vector3i64(const MR_Box3i64 *_this, const MR_Vector3i64 *pt);
1950
1955MRC_API bool MR_Box3i64_contains_MR_Box3i64(const MR_Box3i64 *_this, const MR_Box3i64 *otherbox);
1956
1962
1967MRC_API bool MR_Box3i64_intersects(const MR_Box3i64 *_this, const MR_Box3i64 *b);
1968
1974
1980
1986MRC_API MR_int64_t MR_Box3i64_getDistanceSq_MR_Box3i64(const MR_Box3i64 *_this, const MR_Box3i64 *b);
1987
1993MRC_API MR_int64_t MR_Box3i64_getDistanceSq_MR_Vector3i64(const MR_Box3i64 *_this, const MR_Vector3i64 *pt);
1994
2001
2006MRC_API MR_Box3i64 MR_Box3i64_expanded(const MR_Box3i64 *_this, const MR_Vector3i64 *expansion);
2007
2012
2016MRC_API bool MR_equal_MR_Box3i64(const MR_Box3i64 *_this, const MR_Box3i64 *a);
2017
2021MRC_API bool MR_not_equal_MR_Box3i64(const MR_Box3i64 *_this, const MR_Box3i64 *a);
2022
2028
2034
2037MRC_API const int *MR_Box3f_Get_elements(void);
2038
2041
2045MRC_API MR_Box3f *MR_Box3f_DefaultConstructArray(size_t num_elems);
2046
2053
2054// If the compiler supports `requires`, use that instead of `std::enable_if` here.
2055// Not (only) because it looks cooler, but because of a bug in our binding generator that makes it choke on it: https://github.com/MeshInspector/mrbind/issues/19
2060
2065MRC_API const MR_Vector3f *MR_Box3f_index(const MR_Box3f *_this, int e);
2066
2071
2076
2080MRC_API bool MR_Box3f_valid(const MR_Box3f *_this);
2081
2086
2093MRC_API MR_Vector3f MR_Box3f_corner(const MR_Box3f *_this, const MR_Vector3b *c);
2094
2100
2106
2110MRC_API MR_Vector3f MR_Box3f_size(const MR_Box3f *_this);
2111
2115MRC_API float MR_Box3f_diagonal(const MR_Box3f *_this);
2116
2120MRC_API float MR_Box3f_volume(const MR_Box3f *_this);
2121
2126MRC_API void MR_Box3f_include_MR_Vector3f(MR_Box3f *_this, const MR_Vector3f *pt);
2127
2132MRC_API void MR_Box3f_include_MR_Box3f(MR_Box3f *_this, const MR_Box3f *b);
2133
2138MRC_API bool MR_Box3f_contains_MR_Vector3f(const MR_Box3f *_this, const MR_Vector3f *pt);
2139
2144MRC_API bool MR_Box3f_contains_MR_Box3f(const MR_Box3f *_this, const MR_Box3f *otherbox);
2145
2151
2156MRC_API bool MR_Box3f_intersects(const MR_Box3f *_this, const MR_Box3f *b);
2157
2162MRC_API MR_Box3f MR_Box3f_intersection(const MR_Box3f *_this, const MR_Box3f *b);
2163
2169
2175MRC_API float MR_Box3f_getDistanceSq_MR_Box3f(const MR_Box3f *_this, const MR_Box3f *b);
2176
2182MRC_API float MR_Box3f_getDistanceSq_MR_Vector3f(const MR_Box3f *_this, const MR_Vector3f *pt);
2183
2190
2195MRC_API MR_Box3f MR_Box3f_expanded(const MR_Box3f *_this, const MR_Vector3f *expansion);
2196
2201
2205MRC_API bool MR_equal_MR_Box3f(const MR_Box3f *_this, const MR_Box3f *a);
2206
2210MRC_API bool MR_not_equal_MR_Box3f(const MR_Box3f *_this, const MR_Box3f *a);
2211
2217
2223
2226MRC_API const int *MR_Box3d_Get_elements(void);
2227
2230
2234MRC_API MR_Box3d *MR_Box3d_DefaultConstructArray(size_t num_elems);
2235
2242
2243// If the compiler supports `requires`, use that instead of `std::enable_if` here.
2244// Not (only) because it looks cooler, but because of a bug in our binding generator that makes it choke on it: https://github.com/MeshInspector/mrbind/issues/19
2249
2254MRC_API const MR_Vector3d *MR_Box3d_index(const MR_Box3d *_this, int e);
2255
2260
2265
2269MRC_API bool MR_Box3d_valid(const MR_Box3d *_this);
2270
2275
2282MRC_API MR_Vector3d MR_Box3d_corner(const MR_Box3d *_this, const MR_Vector3b *c);
2283
2289
2295
2299MRC_API MR_Vector3d MR_Box3d_size(const MR_Box3d *_this);
2300
2304MRC_API double MR_Box3d_diagonal(const MR_Box3d *_this);
2305
2309MRC_API double MR_Box3d_volume(const MR_Box3d *_this);
2310
2315MRC_API void MR_Box3d_include_MR_Vector3d(MR_Box3d *_this, const MR_Vector3d *pt);
2316
2321MRC_API void MR_Box3d_include_MR_Box3d(MR_Box3d *_this, const MR_Box3d *b);
2322
2327MRC_API bool MR_Box3d_contains_MR_Vector3d(const MR_Box3d *_this, const MR_Vector3d *pt);
2328
2333MRC_API bool MR_Box3d_contains_MR_Box3d(const MR_Box3d *_this, const MR_Box3d *otherbox);
2334
2340
2345MRC_API bool MR_Box3d_intersects(const MR_Box3d *_this, const MR_Box3d *b);
2346
2351MRC_API MR_Box3d MR_Box3d_intersection(const MR_Box3d *_this, const MR_Box3d *b);
2352
2358
2364MRC_API double MR_Box3d_getDistanceSq_MR_Box3d(const MR_Box3d *_this, const MR_Box3d *b);
2365
2371MRC_API double MR_Box3d_getDistanceSq_MR_Vector3d(const MR_Box3d *_this, const MR_Vector3d *pt);
2372
2379
2384MRC_API MR_Box3d MR_Box3d_expanded(const MR_Box3d *_this, const MR_Vector3d *expansion);
2385
2390
2394MRC_API bool MR_equal_MR_Box3d(const MR_Box3d *_this, const MR_Box3d *a);
2395
2399MRC_API bool MR_not_equal_MR_Box3d(const MR_Box3d *_this, const MR_Box3d *a);
2400
2406
2412
2415MRC_API const int *MR_Box_unsigned_short_Get_elements(void);
2416
2421MRC_API const unsigned short *MR_Box_unsigned_short_Get_min(const MR_Box_unsigned_short *_this);
2422
2427MRC_API void MR_Box_unsigned_short_Set_min(MR_Box_unsigned_short *_this, unsigned short value);
2428
2434
2439MRC_API const unsigned short *MR_Box_unsigned_short_Get_max(const MR_Box_unsigned_short *_this);
2440
2445MRC_API void MR_Box_unsigned_short_Set_max(MR_Box_unsigned_short *_this, unsigned short value);
2446
2452
2456
2461
2465
2469
2475
2480
2486
2493MRC_API MR_Box_unsigned_short *MR_Box_unsigned_short_Construct_2(const unsigned short *min, const unsigned short *max);
2494
2500
2503
2506
2514
2519MRC_API const unsigned short *MR_Box_unsigned_short_index(const MR_Box_unsigned_short *_this, int e);
2520
2524MRC_API unsigned short *MR_Box_unsigned_short_index_mut(MR_Box_unsigned_short *_this, int e);
2525
2530MRC_API MR_Box_unsigned_short *MR_Box_unsigned_short_fromMinAndSize(const unsigned short *min, const unsigned short *size);
2531
2536
2540MRC_API unsigned short MR_Box_unsigned_short_center(const MR_Box_unsigned_short *_this);
2541
2548MRC_API unsigned short MR_Box_unsigned_short_corner(const MR_Box_unsigned_short *_this, const bool *c);
2549
2554MRC_API bool MR_Box_unsigned_short_getMinBoxCorner(const unsigned short *n);
2555
2560MRC_API bool MR_Box_unsigned_short_getMaxBoxCorner(const unsigned short *n);
2561
2565MRC_API unsigned short MR_Box_unsigned_short_size(const MR_Box_unsigned_short *_this);
2566
2570MRC_API unsigned short MR_Box_unsigned_short_diagonal(const MR_Box_unsigned_short *_this);
2571
2575MRC_API unsigned short MR_Box_unsigned_short_volume(const MR_Box_unsigned_short *_this);
2576
2581MRC_API void MR_Box_unsigned_short_include_unsigned_short(MR_Box_unsigned_short *_this, const unsigned short *pt);
2582
2588
2593MRC_API bool MR_Box_unsigned_short_contains_unsigned_short(const MR_Box_unsigned_short *_this, const unsigned short *pt);
2594
2600
2605MRC_API unsigned short MR_Box_unsigned_short_getBoxClosestPointTo(const MR_Box_unsigned_short *_this, const unsigned short *pt);
2606
2612
2619
2625
2632
2638MRC_API unsigned short MR_Box_unsigned_short_getDistanceSq_unsigned_short(const MR_Box_unsigned_short *_this, const unsigned short *pt);
2639
2645MRC_API unsigned short MR_Box_unsigned_short_getProjection(const MR_Box_unsigned_short *_this, const unsigned short *pt);
2646
2652MRC_API MR_Box_unsigned_short *MR_Box_unsigned_short_expanded(const MR_Box_unsigned_short *_this, const unsigned short *expansion);
2653
2659
2664
2669
2675
2681
2682#ifdef __cplusplus
2683} // extern "C"
2684#endif
MRC_API bool MR_Box3d_contains_MR_Vector3d(const MR_Box3d *_this, const MR_Vector3d *pt)
MRC_API bool MR_Box2i64_contains_MR_Box2i64(const MR_Box2i64 *_this, const MR_Box2i64 *otherbox)
MRC_API MR_Box1f MR_Box1f_Construct_1(const MR_NoInit *_1)
MRC_API MR_Box_unsigned_short * MR_Box_unsigned_short_expanded(const MR_Box_unsigned_short *_this, const unsigned short *expansion)
MRC_API MR_Vector3f MR_Box3f_size(const MR_Box3f *_this)
MRC_API const int * MR_Box3d_Get_elements(void)
MRC_API bool MR_not_equal_MR_Box2i(const MR_Box2i *_this, const MR_Box2i *a)
MRC_API MR_Vector2i64 MR_Box2i64_getBoxClosestPointTo(const MR_Box2i64 *_this, const MR_Vector2i64 *pt)
MRC_API float MR_Box1f_getDistanceSq_float(const MR_Box1f *_this, const float *pt)
MRC_API void MR_Box_unsigned_short_DestroyArray(const MR_Box_unsigned_short *_this)
Destroys a heap-allocated array of MR_Box_unsigned_short. Does nothing if the pointer is null.
MRC_API unsigned short MR_Box_unsigned_short_getProjection(const MR_Box_unsigned_short *_this, const unsigned short *pt)
MRC_API void MR_Box1f_include_float(MR_Box1f *_this, const float *pt)
struct MR_Box2f MR_Box2f
MRC_API MR_int64_t MR_Box2i64_getDistanceSq_MR_Box2i64(const MR_Box2i64 *_this, const MR_Box2i64 *b)
MRC_API float MR_Box2f_getDistanceSq_MR_Vector2f(const MR_Box2f *_this, const MR_Vector2f *pt)
MRC_API bool MR_equal_MR_Box1d(const MR_Box1d *_this, const MR_Box1d *a)
MRC_API int MR_Box3i_volume(const MR_Box3i *_this)
MRC_API const int * MR_Box_unsigned_short_Get_elements(void)
MRC_API float MR_Box3f_diagonal(const MR_Box3f *_this)
MRC_API MR_std_istream * MR_input_MR_Box_unsigned_short(MR_std_istream *s, MR_Box_unsigned_short *box)
MRC_API MR_Box3i64 MR_Box3i64_intersection(const MR_Box3i64 *_this, const MR_Box3i64 *b)
MRC_API bool MR_not_equal_MR_Box2f(const MR_Box2f *_this, const MR_Box2f *a)
MRC_API int MR_Box1i_volume(const MR_Box1i *_this)
MRC_API MR_int64_t MR_Box1i64_getProjection(const MR_Box1i64 *_this, const MR_int64_t *pt)
MRC_API MR_Vector2d * MR_Box2d_index_mut(MR_Box2d *_this, int e)
MRC_API void MR_Box3i_include_MR_Vector3i(MR_Box3i *_this, const MR_Vector3i *pt)
MRC_API MR_Box3i MR_Box3i_intersection(const MR_Box3i *_this, const MR_Box3i *b)
MRC_API MR_Vector2f MR_Box2f_getBoxClosestPointTo(const MR_Box2f *_this, const MR_Vector2f *pt)
MRC_API MR_Box3i * MR_Box3i_DefaultConstructArray(size_t num_elems)
MRC_API MR_SimpleVolumeMinMaxU16 * MR_Box_unsigned_short_MutableStaticDowncastTo_MR_SimpleVolumeMinMaxU16(MR_Box_unsigned_short *object)
MRC_API bool MR_equal_MR_Box2f(const MR_Box2f *_this, const MR_Box2f *a)
MRC_API float MR_Box2f_diagonal(const MR_Box2f *_this)
MRC_API MR_Box1i MR_Box1i_intersection(const MR_Box1i *_this, const MR_Box1i *b)
MRC_API MR_std_ostream * MR_print_MR_Box2d(MR_std_ostream *s, const MR_Box2d *box)
MRC_API MR_std_ostream * MR_print_MR_Box3f(MR_std_ostream *s, const MR_Box3f *box)
MRC_API MR_Box3d MR_Box3d_insignificantlyExpanded(const MR_Box3d *_this)
MRC_API void MR_Box3f_include_MR_Box3f(MR_Box3f *_this, const MR_Box3f *b)
MRC_API bool MR_Box1f_contains_float(const MR_Box1f *_this, const float *pt)
MRC_API const int * MR_Box3i64_Get_elements(void)
MRC_API MR_Box1d * MR_Box1d_intersect(MR_Box1d *_this, const MR_Box1d *b)
MRC_API unsigned short * MR_Box_unsigned_short_index_mut(MR_Box_unsigned_short *_this, int e)
MRC_API MR_Box2i MR_Box2i_fromMinAndSize(const MR_Vector2i *min, const MR_Vector2i *size)
struct MR_NoInit MR_NoInit
Definition MRBox.h:15
MRC_API MR_int64_t * MR_Box1i64_index_mut(MR_Box1i64 *_this, int e)
MRC_API bool MR_Box1i_contains_int(const MR_Box1i *_this, const int *pt)
MRC_API unsigned short MR_Box_unsigned_short_corner(const MR_Box_unsigned_short *_this, const bool *c)
MRC_API MR_Box3f MR_Box3f_DefaultConstruct(void)
Constructs an empty (default-constructed) instance.
MRC_API MR_Vector3f * MR_Box3f_index_mut(MR_Box3f *_this, int e)
MRC_API MR_Vector3d MR_Box3d_size(const MR_Box3d *_this)
MRC_API MR_Vector3d * MR_Box3d_index_mut(MR_Box3d *_this, int e)
MRC_API bool MR_Box2i_contains_MR_Box2i(const MR_Box2i *_this, const MR_Box2i *otherbox)
MRC_API MR_Box3f * MR_Box3f_DefaultConstructArray(size_t num_elems)
MRC_API int MR_Box1i_getDistanceSq_int(const MR_Box1i *_this, const int *pt)
MRC_API MR_std_ostream * MR_print_MR_Box1i64(MR_std_ostream *s, const MR_Box1i64 *box)
MRC_API MR_std_istream * MR_input_MR_Box1i64(MR_std_istream *s, MR_Box1i64 *box)
MRC_API double MR_Box1d_getDistanceSq_MR_Box1d(const MR_Box1d *_this, const MR_Box1d *b)
MRC_API bool MR_Box1i_getMinBoxCorner(const int *n)
MRC_API MR_Vector3i MR_Box3i_size(const MR_Box3i *_this)
MRC_API bool MR_Box3f_valid(const MR_Box3f *_this)
MRC_API bool MR_Box1i64_getMinBoxCorner(const MR_int64_t *n)
MRC_API MR_Box1f * MR_Box1f_intersect(MR_Box1f *_this, const MR_Box1f *b)
MRC_API double MR_Box1d_getProjection(const MR_Box1d *_this, const double *pt)
MRC_API MR_std_ostream * MR_print_MR_Box3i(MR_std_ostream *s, const MR_Box3i *box)
struct MR_Box1i64 MR_Box1i64
MRC_API bool MR_equal_MR_Box2i(const MR_Box2i *_this, const MR_Box2i *a)
MRC_API MR_int64_t MR_Box2i64_volume(const MR_Box2i64 *_this)
MRC_API bool MR_Box3i64_valid(const MR_Box3i64 *_this)
MRC_API bool MR_not_equal_MR_Box2d(const MR_Box2d *_this, const MR_Box2d *a)
MRC_API MR_Vector2b MR_Box2i_getMinBoxCorner(const MR_Vector2i *n)
MRC_API MR_int64_t MR_Box2i64_diagonal(const MR_Box2i64 *_this)
MRC_API MR_std_ostream * MR_print_MR_Box2f(MR_std_ostream *s, const MR_Box2f *box)
MRC_API bool MR_equal_MR_Box1i64(const MR_Box1i64 *_this, const MR_Box1i64 *a)
MRC_API int MR_Box3i_getDistanceSq_MR_Box3i(const MR_Box3i *_this, const MR_Box3i *b)
MRC_API MR_std_istream * MR_input_MR_Box3i(MR_std_istream *s, MR_Box3i *box)
MRC_API bool MR_Box3i64_contains_MR_Vector3i64(const MR_Box3i64 *_this, const MR_Vector3i64 *pt)
MRC_API float MR_Box1f_getDistanceSq_MR_Box1f(const MR_Box1f *_this, const MR_Box1f *b)
MRC_API bool MR_Box2d_contains_MR_Box2d(const MR_Box2d *_this, const MR_Box2d *otherbox)
MRC_API MR_Box3d MR_Box3d_intersection(const MR_Box3d *_this, const MR_Box3d *b)
MRC_API MR_std_ostream * MR_print_MR_Box1d(MR_std_ostream *s, const MR_Box1d *box)
MRC_API MR_Box2d * MR_Box2d_DefaultConstructArray(size_t num_elems)
MRC_API void MR_Box_unsigned_short_include_unsigned_short(MR_Box_unsigned_short *_this, const unsigned short *pt)
MRC_API bool MR_Box1d_intersects(const MR_Box1d *_this, const MR_Box1d *b)
MRC_API void MR_Box2d_include_MR_Box2d(MR_Box2d *_this, const MR_Box2d *b)
MRC_API bool MR_Box2f_valid(const MR_Box2f *_this)
MRC_API bool MR_Box3i64_intersects(const MR_Box3i64 *_this, const MR_Box3i64 *b)
MRC_API MR_Box2f MR_Box2f_expanded(const MR_Box2f *_this, const MR_Vector2f *expansion)
MRC_API MR_Vector3i * MR_Box3i_index_mut(MR_Box3i *_this, int e)
MRC_API MR_Box3i * MR_Box3i_intersect(MR_Box3i *_this, const MR_Box3i *b)
MRC_API void MR_Box3i64_include_MR_Vector3i64(MR_Box3i64 *_this, const MR_Vector3i64 *pt)
MRC_API MR_Box2i64 MR_Box2i64_insignificantlyExpanded(const MR_Box2i64 *_this)
MRC_API MR_Box2d MR_Box2d_insignificantlyExpanded(const MR_Box2d *_this)
MRC_API bool MR_Box3f_contains_MR_Box3f(const MR_Box3f *_this, const MR_Box3f *otherbox)
MRC_API const MR_SimpleVolumeMinMaxU16 * MR_Box_unsigned_short_StaticDowncastTo_MR_SimpleVolumeMinMaxU16(const MR_Box_unsigned_short *object)
MRC_API float MR_Box1f_getBoxClosestPointTo(const MR_Box1f *_this, const float *pt)
MRC_API MR_std_istream * MR_input_MR_Box1f(MR_std_istream *s, MR_Box1f *box)
MRC_API const int * MR_Box3i_Get_elements(void)
MRC_API MR_Vector2b MR_Box2i64_getMinBoxCorner(const MR_Vector2i64 *n)
MRC_API MR_Box3i64 MR_Box3i64_DefaultConstruct(void)
Constructs an empty (default-constructed) instance.
MRC_API MR_std_ostream * MR_print_MR_Box2i(MR_std_ostream *s, const MR_Box2i *box)
MRC_API bool MR_Box3i_contains_MR_Vector3i(const MR_Box3i *_this, const MR_Vector3i *pt)
MRC_API MR_Box2i64 MR_Box2i64_intersection(const MR_Box2i64 *_this, const MR_Box2i64 *b)
MRC_API MR_Vector3i64 MR_Box3i64_getBoxClosestPointTo(const MR_Box3i64 *_this, const MR_Vector3i64 *pt)
MRC_API bool MR_equal_MR_Box1f(const MR_Box1f *_this, const MR_Box1f *a)
MRC_API bool MR_Box3i64_contains_MR_Box3i64(const MR_Box3i64 *_this, const MR_Box3i64 *otherbox)
MRC_API MR_int64_t MR_Box1i64_volume(const MR_Box1i64 *_this)
MRC_API MR_Vector2i64 MR_Box2i64_size(const MR_Box2i64 *_this)
MRC_API float MR_Box1f_volume(const MR_Box1f *_this)
MRC_API MR_Box1d MR_Box1d_Construct_2(const double *min, const double *max)
struct MR_Box2i64 MR_Box2i64
MRC_API bool MR_Box1f_valid(const MR_Box1f *_this)
MRC_API bool MR_Box3i_contains_MR_Box3i(const MR_Box3i *_this, const MR_Box3i *otherbox)
MRC_API MR_Vector2i64 MR_Box2i64_center(const MR_Box2i64 *_this)
MRC_API MR_Box3i64 * MR_Box3i64_DefaultConstructArray(size_t num_elems)
MRC_API bool MR_Box1i_contains_MR_Box1i(const MR_Box1i *_this, const MR_Box1i *otherbox)
MRC_API MR_int64_t MR_Box3i64_getDistanceSq_MR_Box3i64(const MR_Box3i64 *_this, const MR_Box3i64 *b)
MRC_API void MR_Box1d_include_MR_Box1d(MR_Box1d *_this, const MR_Box1d *b)
MRC_API MR_Box1i64 MR_Box1i64_expanded(const MR_Box1i64 *_this, const MR_int64_t *expansion)
MRC_API MR_Vector2b MR_Box2f_getMinBoxCorner(const MR_Vector2f *n)
MRC_API const MR_VdbVolume * MR_Box1f_StaticDowncastTo_MR_VdbVolume(const MR_Box1f *object)
MRC_API float MR_Box1f_center(const MR_Box1f *_this)
MRC_API MR_Vector3i MR_Box3i_corner(const MR_Box3i *_this, const MR_Vector3b *c)
struct MR_Box3f MR_Box3f
MRC_API bool MR_equal_MR_Box3f(const MR_Box3f *_this, const MR_Box3f *a)
MRC_API MR_Box3i64 * MR_Box3i64_intersect(MR_Box3i64 *_this, const MR_Box3i64 *b)
MRC_API MR_Box3i64 MR_Box3i64_Construct_2(const MR_Vector3i64 *min, const MR_Vector3i64 *max)
MRC_API MR_Box1f MR_Box1f_DefaultConstruct(void)
Constructs an empty (default-constructed) instance.
MRC_API bool MR_Box2d_intersects(const MR_Box2d *_this, const MR_Box2d *b)
MRC_API MR_Box3i MR_Box3i_expanded(const MR_Box3i *_this, const MR_Vector3i *expansion)
MRC_API bool MR_Box2f_contains_MR_Box2f(const MR_Box2f *_this, const MR_Box2f *otherbox)
MRC_API bool MR_not_equal_MR_Box3f(const MR_Box3f *_this, const MR_Box3f *a)
MRC_API MR_Box2i MR_Box2i_DefaultConstruct(void)
Constructs an empty (default-constructed) instance.
MRC_API const MR_int64_t * MR_Box1i64_index(const MR_Box1i64 *_this, int e)
MRC_API unsigned short MR_Box_unsigned_short_getDistanceSq_MR_Box_unsigned_short(const MR_Box_unsigned_short *_this, const MR_Box_unsigned_short *b)
MRC_API MR_Vector2b MR_Box2d_getMinBoxCorner(const MR_Vector2d *n)
MRC_API void MR_Box3d_include_MR_Box3d(MR_Box3d *_this, const MR_Box3d *b)
struct MR_VdbVolume MR_VdbVolume
Definition MRBox.h:18
MRC_API const int * MR_Box2i_Get_elements(void)
MRC_API MR_Vector3b MR_Box3i_getMaxBoxCorner(const MR_Vector3i *n)
MRC_API MR_Box1f MR_Box1f_Construct_2(const float *min, const float *max)
MRC_API bool MR_Box1i64_intersects(const MR_Box1i64 *_this, const MR_Box1i64 *b)
MRC_API void MR_Box2f_include_MR_Vector2f(MR_Box2f *_this, const MR_Vector2f *pt)
MRC_API unsigned short MR_Box_unsigned_short_getDistanceSq_unsigned_short(const MR_Box_unsigned_short *_this, const unsigned short *pt)
MRC_API MR_Vector3b MR_Box3f_getMaxBoxCorner(const MR_Vector3f *n)
MRC_API MR_Box_unsigned_short * MR_Box_unsigned_short_DefaultConstructArray(size_t num_elems)
MRC_API MR_Box1d MR_Box1d_insignificantlyExpanded(const MR_Box1d *_this)
MRC_API double MR_Box1d_getBoxClosestPointTo(const MR_Box1d *_this, const double *pt)
MRC_API MR_Box1f MR_Box1f_expanded(const MR_Box1f *_this, const float *expansion)
MRC_API MR_std_ostream * MR_print_MR_Box_unsigned_short(MR_std_ostream *s, const MR_Box_unsigned_short *box)
struct MR_Box1d MR_Box1d
MRC_API bool MR_Box3i_valid(const MR_Box3i *_this)
MRC_API MR_Box2d MR_Box2d_Construct_2(const MR_Vector2d *min, const MR_Vector2d *max)
MRC_API MR_Vector2b MR_Box2i64_getMaxBoxCorner(const MR_Vector2i64 *n)
MRC_API MR_Box1i64 MR_Box1i64_intersection(const MR_Box1i64 *_this, const MR_Box1i64 *b)
MRC_API bool MR_Box1d_contains_MR_Box1d(const MR_Box1d *_this, const MR_Box1d *otherbox)
MRC_API void MR_Box3i_include_MR_Box3i(MR_Box3i *_this, const MR_Box3i *b)
MRC_API MR_Box1i64 MR_Box1i64_insignificantlyExpanded(const MR_Box1i64 *_this)
MRC_API bool MR_not_equal_MR_Box1i64(const MR_Box1i64 *_this, const MR_Box1i64 *a)
MRC_API const MR_Vector2d * MR_Box2d_index(const MR_Box2d *_this, int e)
MRC_API bool MR_not_equal_MR_Box1i(const MR_Box1i *_this, const MR_Box1i *a)
MRC_API MR_Box2f MR_Box2f_intersection(const MR_Box2f *_this, const MR_Box2f *b)
MRC_API MR_Box_unsigned_short * MR_Box_unsigned_short_intersection(const MR_Box_unsigned_short *_this, const MR_Box_unsigned_short *b)
MRC_API MR_Vector2d MR_Box2d_getProjection(const MR_Box2d *_this, const MR_Vector2d *pt)
MRC_API MR_Vector2b MR_Box2f_getMaxBoxCorner(const MR_Vector2f *n)
MRC_API int MR_Box2i_diagonal(const MR_Box2i *_this)
MRC_API MR_Vector3f MR_Box3f_getBoxClosestPointTo(const MR_Box3f *_this, const MR_Vector3f *pt)
MRC_API bool MR_Box1d_contains_double(const MR_Box1d *_this, const double *pt)
MRC_API MR_Box1d MR_Box1d_fromMinAndSize(const double *min, const double *size)
MRC_API MR_Box3d * MR_Box3d_DefaultConstructArray(size_t num_elems)
MRC_API const MR_Vector2i * MR_Box2i_index(const MR_Box2i *_this, int e)
MRC_API MR_std_ostream * MR_print_MR_Box2i64(MR_std_ostream *s, const MR_Box2i64 *box)
MRC_API bool MR_Box1i_intersects(const MR_Box1i *_this, const MR_Box1i *b)
MRC_API MR_Box1f * MR_Box1f_DefaultConstructArray(size_t num_elems)
MRC_API const int * MR_Box1i64_Get_elements(void)
MRC_API MR_Box2i MR_Box2i_Construct_1(const MR_NoInit *_1)
MRC_API int MR_Box1i_getBoxClosestPointTo(const MR_Box1i *_this, const int *pt)
MRC_API MR_Vector2i64 MR_Box2i64_getProjection(const MR_Box2i64 *_this, const MR_Vector2i64 *pt)
MRC_API float MR_Box1f_corner(const MR_Box1f *_this, const bool *c)
MRC_API MR_int64_t MR_Box1i64_center(const MR_Box1i64 *_this)
MRC_API MR_std_ostream * MR_print_MR_Box1f(MR_std_ostream *s, const MR_Box1f *box)
MRC_API double MR_Box3d_getDistanceSq_MR_Box3d(const MR_Box3d *_this, const MR_Box3d *b)
MRC_API bool MR_equal_MR_Box1i(const MR_Box1i *_this, const MR_Box1i *a)
MRC_API MR_Box_unsigned_short * MR_Box_unsigned_short_DefaultConstruct(void)
MRC_API int MR_Box1i_size(const MR_Box1i *_this)
MRC_API bool MR_Box3f_intersects(const MR_Box3f *_this, const MR_Box3f *b)
MRC_API bool MR_Box3f_contains_MR_Vector3f(const MR_Box3f *_this, const MR_Vector3f *pt)
MRC_API bool MR_Box2i_intersects(const MR_Box2i *_this, const MR_Box2i *b)
MRC_API MR_Box2f MR_Box2f_DefaultConstruct(void)
Constructs an empty (default-constructed) instance.
MRC_API MR_Box1i64 MR_Box1i64_fromMinAndSize(const MR_int64_t *min, const MR_int64_t *size)
MRC_API MR_Box2d MR_Box2d_Construct_1(const MR_NoInit *_1)
MRC_API MR_Vector3i64 * MR_Box3i64_index_mut(MR_Box3i64 *_this, int e)
MRC_API void MR_Box2f_include_MR_Box2f(MR_Box2f *_this, const MR_Box2f *b)
MRC_API bool MR_equal_MR_Box2d(const MR_Box2d *_this, const MR_Box2d *a)
MRC_API MR_Box3i64 MR_Box3i64_insignificantlyExpanded(const MR_Box3i64 *_this)
MRC_API bool MR_Box_unsigned_short_contains_unsigned_short(const MR_Box_unsigned_short *_this, const unsigned short *pt)
MRC_API bool MR_equal_MR_Box3d(const MR_Box3d *_this, const MR_Box3d *a)
MRC_API bool MR_Box1f_getMinBoxCorner(const float *n)
MRC_API MR_Box2i MR_Box2i_expanded(const MR_Box2i *_this, const MR_Vector2i *expansion)
MRC_API MR_Vector2d MR_Box2d_corner(const MR_Box2d *_this, const MR_Vector2b *c)
MRC_API bool MR_Box_unsigned_short_getMaxBoxCorner(const unsigned short *n)
MRC_API MR_Vector3b MR_Box3f_getMinBoxCorner(const MR_Vector3f *n)
MRC_API MR_Vector3b MR_Box3d_getMaxBoxCorner(const MR_Vector3d *n)
MRC_API bool MR_Box1d_getMaxBoxCorner(const double *n)
MRC_API MR_Box2d * MR_Box2d_intersect(MR_Box2d *_this, const MR_Box2d *b)
MRC_API bool MR_Box1i64_contains_MR_Box1i64(const MR_Box1i64 *_this, const MR_Box1i64 *otherbox)
MRC_API void MR_Box2d_include_MR_Vector2d(MR_Box2d *_this, const MR_Vector2d *pt)
MRC_API MR_Box_unsigned_short * MR_Box_unsigned_short_OffsetMutablePtr(MR_Box_unsigned_short *ptr, ptrdiff_t i)
MRC_API bool MR_not_equal_MR_Box2i64(const MR_Box2i64 *_this, const MR_Box2i64 *a)
MRC_API MR_Box1i64 * MR_Box1i64_intersect(MR_Box1i64 *_this, const MR_Box1i64 *b)
MRC_API int MR_Box3i_getDistanceSq_MR_Vector3i(const MR_Box3i *_this, const MR_Vector3i *pt)
MRC_API void MR_Box3f_include_MR_Vector3f(MR_Box3f *_this, const MR_Vector3f *pt)
MRC_API bool MR_not_equal_MR_Box3i64(const MR_Box3i64 *_this, const MR_Box3i64 *a)
MRC_API MR_Box1f MR_Box1f_fromMinAndSize(const float *min, const float *size)
MRC_API MR_Vector2f MR_Box2f_center(const MR_Box2f *_this)
MRC_API MR_Box3i MR_Box3i_Construct_1(const MR_NoInit *_1)
MRC_API void MR_Box_unsigned_short_include_MR_Box_unsigned_short(MR_Box_unsigned_short *_this, const MR_Box_unsigned_short *b)
MRC_API MR_Vector2d MR_Box2d_getBoxClosestPointTo(const MR_Box2d *_this, const MR_Vector2d *pt)
MRC_API bool MR_Box3i_intersects(const MR_Box3i *_this, const MR_Box3i *b)
MRC_API MR_Vector3f MR_Box3f_center(const MR_Box3f *_this)
MRC_API double MR_Box2d_getDistanceSq_MR_Box2d(const MR_Box2d *_this, const MR_Box2d *b)
MRC_API MR_Vector3d MR_Box3d_corner(const MR_Box3d *_this, const MR_Vector3b *c)
struct MR_Box3d MR_Box3d
MRC_API int MR_Box3i_diagonal(const MR_Box3i *_this)
MRC_API const int * MR_Box1d_Get_elements(void)
MRC_API MR_std_istream * MR_input_MR_Box2f(MR_std_istream *s, MR_Box2f *box)
MRC_API MR_Vector2b MR_Box2d_getMaxBoxCorner(const MR_Vector2d *n)
MRC_API MR_Vector2b MR_Box2i_getMaxBoxCorner(const MR_Vector2i *n)
MRC_API float MR_Box1f_size(const MR_Box1f *_this)
MRC_API float MR_Box1f_diagonal(const MR_Box1f *_this)
MRC_API bool MR_Box2i64_valid(const MR_Box2i64 *_this)
MRC_API float MR_Box3f_getDistanceSq_MR_Vector3f(const MR_Box3f *_this, const MR_Vector3f *pt)
MRC_API MR_Box2d MR_Box2d_DefaultConstruct(void)
Constructs an empty (default-constructed) instance.
MRC_API MR_Vector2f MR_Box2f_getProjection(const MR_Box2f *_this, const MR_Vector2f *pt)
MRC_API unsigned short MR_Box_unsigned_short_center(const MR_Box_unsigned_short *_this)
MRC_API double MR_Box1d_size(const MR_Box1d *_this)
MRC_API MR_Box2d MR_Box2d_fromMinAndSize(const MR_Vector2d *min, const MR_Vector2d *size)
MRC_API MR_Box_unsigned_short * MR_Box_unsigned_short_insignificantlyExpanded(const MR_Box_unsigned_short *_this)
MRC_API void MR_Box1i64_include_int64_t(MR_Box1i64 *_this, const MR_int64_t *pt)
MRC_API MR_Box2i MR_Box2i_Construct_2(const MR_Vector2i *min, const MR_Vector2i *max)
MRC_API MR_Vector2d MR_Box2d_center(const MR_Box2d *_this)
MRC_API MR_int64_t MR_Box1i64_getBoxClosestPointTo(const MR_Box1i64 *_this, const MR_int64_t *pt)
MRC_API float * MR_Box1f_index_mut(MR_Box1f *_this, int e)
MRC_API bool MR_Box3d_contains_MR_Box3d(const MR_Box3d *_this, const MR_Box3d *otherbox)
MRC_API MR_Box3i MR_Box3i_DefaultConstruct(void)
Constructs an empty (default-constructed) instance.
MRC_API bool MR_Box2d_valid(const MR_Box2d *_this)
MRC_API MR_std_ostream * MR_print_MR_Box1i(MR_std_ostream *s, const MR_Box1i *box)
MRC_API MR_Box3f MR_Box3f_expanded(const MR_Box3f *_this, const MR_Vector3f *expansion)
MRC_API unsigned short MR_Box_unsigned_short_size(const MR_Box_unsigned_short *_this)
MRC_API MR_Vector2i64 * MR_Box2i64_index_mut(MR_Box2i64 *_this, int e)
MRC_API MR_Box2f MR_Box2f_insignificantlyExpanded(const MR_Box2f *_this)
MRC_API bool MR_Box1i_valid(const MR_Box1i *_this)
MRC_API MR_Box3f MR_Box3f_insignificantlyExpanded(const MR_Box3f *_this)
MRC_API MR_Box1i MR_Box1i_DefaultConstruct(void)
Constructs an empty (default-constructed) instance.
MRC_API MR_Box1i64 MR_Box1i64_DefaultConstruct(void)
Constructs an empty (default-constructed) instance.
MRC_API void MR_Box1i64_include_MR_Box1i64(MR_Box1i64 *_this, const MR_Box1i64 *b)
MRC_API const unsigned short * MR_Box_unsigned_short_index(const MR_Box_unsigned_short *_this, int e)
struct MR_SimpleVolumeMinMax MR_SimpleVolumeMinMax
Definition MRBox.h:16
MRC_API bool MR_Box2i_contains_MR_Vector2i(const MR_Box2i *_this, const MR_Vector2i *pt)
MRC_API MR_Box1i64 MR_Box1i64_Construct_1(const MR_NoInit *_1)
MRC_API MR_Vector3i MR_Box3i_getBoxClosestPointTo(const MR_Box3i *_this, const MR_Vector3i *pt)
MRC_API void MR_Box2i64_include_MR_Vector2i64(MR_Box2i64 *_this, const MR_Vector2i64 *pt)
MRC_API bool MR_equal_MR_Box3i64(const MR_Box3i64 *_this, const MR_Box3i64 *a)
MRC_API MR_Box1d MR_Box1d_DefaultConstruct(void)
Constructs an empty (default-constructed) instance.
MRC_API int * MR_Box1i_index_mut(MR_Box1i *_this, int e)
MRC_API MR_Box2i64 MR_Box2i64_expanded(const MR_Box2i64 *_this, const MR_Vector2i64 *expansion)
MRC_API MR_Vector2i MR_Box2i_size(const MR_Box2i *_this)
MRC_API MR_Box3i MR_Box3i_Construct_2(const MR_Vector3i *min, const MR_Vector3i *max)
MRC_API float MR_Box3f_volume(const MR_Box3f *_this)
MRC_API bool MR_Box1i64_valid(const MR_Box1i64 *_this)
MRC_API bool MR_Box2i64_intersects(const MR_Box2i64 *_this, const MR_Box2i64 *b)
MRC_API float MR_Box1f_getProjection(const MR_Box1f *_this, const float *pt)
MRC_API MR_Box3i64 MR_Box3i64_Construct_1(const MR_NoInit *_1)
MRC_API MR_std_istream * MR_input_MR_Box1i(MR_std_istream *s, MR_Box1i *box)
MRC_API MR_Vector2f * MR_Box2f_index_mut(MR_Box2f *_this, int e)
MRC_API MR_std_istream * MR_input_MR_Box1d(MR_std_istream *s, MR_Box1d *box)
MRC_API const MR_Vector3d * MR_Box3d_index(const MR_Box3d *_this, int e)
MRC_API MR_Box3f MR_Box3f_fromMinAndSize(const MR_Vector3f *min, const MR_Vector3f *size)
MRC_API MR_Box1i MR_Box1i_Construct_2(const int *min, const int *max)
MRC_API MR_Box2i64 MR_Box2i64_DefaultConstruct(void)
Constructs an empty (default-constructed) instance.
MRC_API MR_Vector3i64 MR_Box3i64_center(const MR_Box3i64 *_this)
MRC_API const int * MR_Box3f_Get_elements(void)
MRC_API MR_Box1i MR_Box1i_insignificantlyExpanded(const MR_Box1i *_this)
MRC_API const MR_SimpleVolumeMinMax * MR_Box1f_StaticDowncastTo_MR_SimpleVolumeMinMax(const MR_Box1f *object)
MRC_API bool MR_Box_unsigned_short_contains_MR_Box_unsigned_short(const MR_Box_unsigned_short *_this, const MR_Box_unsigned_short *otherbox)
MRC_API const MR_Box_unsigned_short * MR_Box_unsigned_short_OffsetPtr(const MR_Box_unsigned_short *ptr, ptrdiff_t i)
MRC_API MR_Box3d MR_Box3d_Construct_1(const MR_NoInit *_1)
MRC_API MR_Box3d MR_Box3d_expanded(const MR_Box3d *_this, const MR_Vector3d *expansion)
MRC_API MR_Box3f MR_Box3f_Construct_1(const MR_NoInit *_1)
MRC_API MR_Box1i MR_Box1i_fromMinAndSize(const int *min, const int *size)
MRC_API const int * MR_Box1i_index(const MR_Box1i *_this, int e)
MRC_API const int * MR_Box2f_Get_elements(void)
MRC_API bool MR_Box2f_contains_MR_Vector2f(const MR_Box2f *_this, const MR_Vector2f *pt)
MRC_API MR_Vector3i64 MR_Box3i64_corner(const MR_Box3i64 *_this, const MR_Vector3b *c)
MRC_API MR_Box3d MR_Box3d_fromMinAndSize(const MR_Vector3d *min, const MR_Vector3d *size)
MRC_API const int * MR_Box2d_Get_elements(void)
MRC_API MR_std_ostream * MR_print_MR_Box3d(MR_std_ostream *s, const MR_Box3d *box)
MRC_API MR_Vector2i * MR_Box2i_index_mut(MR_Box2i *_this, int e)
MRC_API void MR_Box_unsigned_short_Set_max(MR_Box_unsigned_short *_this, unsigned short value)
MRC_API MR_Box2i64 MR_Box2i64_Construct_2(const MR_Vector2i64 *min, const MR_Vector2i64 *max)
MRC_API MR_int64_t MR_Box1i64_size(const MR_Box1i64 *_this)
MRC_API MR_Vector3f MR_Box3f_getProjection(const MR_Box3f *_this, const MR_Vector3f *pt)
MRC_API MR_Vector2i MR_Box2i_center(const MR_Box2i *_this)
MRC_API MR_Box1i MR_Box1i_Construct_1(const MR_NoInit *_1)
MRC_API bool MR_Box2f_intersects(const MR_Box2f *_this, const MR_Box2f *b)
MRC_API bool MR_Box1i_getMaxBoxCorner(const int *n)
MRC_API MR_Box_unsigned_short * MR_Box_unsigned_short_fromMinAndSize(const unsigned short *min, const unsigned short *size)
MRC_API MR_Vector3d MR_Box3d_getBoxClosestPointTo(const MR_Box3d *_this, const MR_Vector3d *pt)
MRC_API MR_Box_unsigned_short * MR_Box_unsigned_short_ConstructFromAnother(const MR_Box_unsigned_short *_other)
struct MR_Box1i MR_Box1i
MRC_API bool MR_Box_unsigned_short_valid(const MR_Box_unsigned_short *_this)
MRC_API float MR_Box2f_getDistanceSq_MR_Box2f(const MR_Box2f *_this, const MR_Box2f *b)
MRC_API bool MR_Box3d_intersects(const MR_Box3d *_this, const MR_Box3d *b)
MRC_API MR_Vector3b MR_Box3i64_getMinBoxCorner(const MR_Vector3i64 *n)
MRC_API MR_Box1i * MR_Box1i_intersect(MR_Box1i *_this, const MR_Box1i *b)
MRC_API double * MR_Box1d_index_mut(MR_Box1d *_this, int e)
MRC_API MR_Box1i MR_Box1i_expanded(const MR_Box1i *_this, const int *expansion)
MRC_API double MR_Box3d_diagonal(const MR_Box3d *_this)
MRC_API unsigned short MR_Box_unsigned_short_volume(const MR_Box_unsigned_short *_this)
MRC_API void MR_Box_unsigned_short_Destroy(const MR_Box_unsigned_short *_this)
Destroys a heap-allocated instance of MR_Box_unsigned_short. Does nothing if the pointer is null.
MRC_API MR_Box_unsigned_short * MR_Box_unsigned_short_AssignFromAnother(MR_Box_unsigned_short *_this, const MR_Box_unsigned_short *_other)
MRC_API MR_Box2f MR_Box2f_Construct_1(const MR_NoInit *_1)
MRC_API MR_Box2f * MR_Box2f_intersect(MR_Box2f *_this, const MR_Box2f *b)
MRC_API void MR_Box_unsigned_short_Set_min(MR_Box_unsigned_short *_this, unsigned short value)
MRC_API MR_Box2i * MR_Box2i_intersect(MR_Box2i *_this, const MR_Box2i *b)
MRC_API int MR_Box2i_getDistanceSq_MR_Box2i(const MR_Box2i *_this, const MR_Box2i *b)
MRC_API bool MR_Box_unsigned_short_intersects(const MR_Box_unsigned_short *_this, const MR_Box_unsigned_short *b)
struct MR_SimpleVolumeMinMaxU16 MR_SimpleVolumeMinMaxU16
Definition MRBox.h:17
MRC_API MR_Vector3i64 MR_Box3i64_size(const MR_Box3i64 *_this)
MRC_API MR_Box1f MR_Box1f_insignificantlyExpanded(const MR_Box1f *_this)
MRC_API bool MR_Box2i64_contains_MR_Vector2i64(const MR_Box2i64 *_this, const MR_Vector2i64 *pt)
MRC_API const int * MR_Box1f_Get_elements(void)
MRC_API double MR_Box1d_corner(const MR_Box1d *_this, const bool *c)
MRC_API MR_Box2i64 * MR_Box2i64_DefaultConstructArray(size_t num_elems)
MRC_API int MR_Box2i_getDistanceSq_MR_Vector2i(const MR_Box2i *_this, const MR_Vector2i *pt)
MRC_API MR_Box3i64 MR_Box3i64_fromMinAndSize(const MR_Vector3i64 *min, const MR_Vector3i64 *size)
struct MR_Box2d MR_Box2d
MRC_API MR_Box1i * MR_Box1i_DefaultConstructArray(size_t num_elems)
MRC_API MR_std_istream * MR_input_MR_Box3f(MR_std_istream *s, MR_Box3f *box)
MRC_API void MR_Box2i_include_MR_Vector2i(MR_Box2i *_this, const MR_Vector2i *pt)
MRC_API int MR_Box1i_corner(const MR_Box1i *_this, const bool *c)
MRC_API int MR_Box2i_volume(const MR_Box2i *_this)
MRC_API MR_int64_t MR_Box1i64_corner(const MR_Box1i64 *_this, const bool *c)
MRC_API void MR_Box1i_include_MR_Box1i(MR_Box1i *_this, const MR_Box1i *b)
MRC_API bool MR_equal_MR_Box2i64(const MR_Box2i64 *_this, const MR_Box2i64 *a)
MRC_API bool MR_not_equal_MR_Box3i(const MR_Box3i *_this, const MR_Box3i *a)
MRC_API unsigned short MR_Box_unsigned_short_diagonal(const MR_Box_unsigned_short *_this)
struct MR_Box2i MR_Box2i
struct MR_Box_unsigned_short MR_Box_unsigned_short
Definition MRBox.h:129
MRC_API bool MR_not_equal_MR_Box_unsigned_short(const MR_Box_unsigned_short *_this, const MR_Box_unsigned_short *a)
MRC_API MR_Vector3d MR_Box3d_getProjection(const MR_Box3d *_this, const MR_Vector3d *pt)
MRC_API double MR_Box2d_getDistanceSq_MR_Vector2d(const MR_Box2d *_this, const MR_Vector2d *pt)
MRC_API MR_Box2d MR_Box2d_intersection(const MR_Box2d *_this, const MR_Box2d *b)
MRC_API MR_int64_t MR_Box1i64_getDistanceSq_MR_Box1i64(const MR_Box1i64 *_this, const MR_Box1i64 *b)
MRC_API int MR_Box1i_center(const MR_Box1i *_this)
MRC_API bool MR_Box1f_contains_MR_Box1f(const MR_Box1f *_this, const MR_Box1f *otherbox)
MRC_API bool MR_Box2d_contains_MR_Vector2d(const MR_Box2d *_this, const MR_Vector2d *pt)
MRC_API MR_Box3i MR_Box3i_fromMinAndSize(const MR_Vector3i *min, const MR_Vector3i *size)
MRC_API void MR_Box3d_include_MR_Vector3d(MR_Box3d *_this, const MR_Vector3d *pt)
MRC_API unsigned short * MR_Box_unsigned_short_GetMutable_min(MR_Box_unsigned_short *_this)
MRC_API MR_int64_t MR_Box1i64_getDistanceSq_int64_t(const MR_Box1i64 *_this, const MR_int64_t *pt)
MRC_API MR_Vector3i MR_Box3i_getProjection(const MR_Box3i *_this, const MR_Vector3i *pt)
MRC_API bool MR_Box_unsigned_short_getMinBoxCorner(const unsigned short *n)
MRC_API MR_std_istream * MR_input_MR_Box3i64(MR_std_istream *s, MR_Box3i64 *box)
MRC_API void MR_Box2i64_include_MR_Box2i64(MR_Box2i64 *_this, const MR_Box2i64 *b)
MRC_API MR_Vector3f MR_Box3f_corner(const MR_Box3f *_this, const MR_Vector3b *c)
MRC_API void MR_Box2i_include_MR_Box2i(MR_Box2i *_this, const MR_Box2i *b)
MRC_API float MR_Box3f_getDistanceSq_MR_Box3f(const MR_Box3f *_this, const MR_Box3f *b)
MRC_API MR_Box1d MR_Box1d_expanded(const MR_Box1d *_this, const double *expansion)
struct MR_Box1f MR_Box1f
MRC_API MR_std_istream * MR_input_MR_Box3d(MR_std_istream *s, MR_Box3d *box)
MRC_API MR_int64_t MR_Box3i64_diagonal(const MR_Box3i64 *_this)
MRC_API MR_Box2i MR_Box2i_insignificantlyExpanded(const MR_Box2i *_this)
MRC_API MR_Vector3b MR_Box3i_getMinBoxCorner(const MR_Vector3i *n)
MRC_API MR_Box1i64 * MR_Box1i64_DefaultConstructArray(size_t num_elems)
MRC_API MR_Vector2i MR_Box2i_corner(const MR_Box2i *_this, const MR_Vector2b *c)
MRC_API MR_int64_t MR_Box3i64_getDistanceSq_MR_Vector3i64(const MR_Box3i64 *_this, const MR_Vector3i64 *pt)
MRC_API double MR_Box3d_volume(const MR_Box3d *_this)
MRC_API MR_Box2i * MR_Box2i_DefaultConstructArray(size_t num_elems)
MRC_API MR_Box3i MR_Box3i_insignificantlyExpanded(const MR_Box3i *_this)
MRC_API MR_Vector3d MR_Box3d_center(const MR_Box3d *_this)
MRC_API bool MR_Box2i_valid(const MR_Box2i *_this)
MRC_API MR_Vector2i MR_Box2i_getBoxClosestPointTo(const MR_Box2i *_this, const MR_Vector2i *pt)
MRC_API MR_Box2f MR_Box2f_Construct_2(const MR_Vector2f *min, const MR_Vector2f *max)
MRC_API const double * MR_Box1d_index(const MR_Box1d *_this, int e)
MRC_API MR_int64_t MR_Box3i64_volume(const MR_Box3i64 *_this)
MRC_API bool MR_Box3d_valid(const MR_Box3d *_this)
MRC_API double MR_Box1d_diagonal(const MR_Box1d *_this)
MRC_API MR_int64_t MR_Box1i64_diagonal(const MR_Box1i64 *_this)
MRC_API MR_Box2d MR_Box2d_expanded(const MR_Box2d *_this, const MR_Vector2d *expansion)
MRC_API MR_Box3f * MR_Box3f_intersect(MR_Box3f *_this, const MR_Box3f *b)
MRC_API double MR_Box1d_getDistanceSq_double(const MR_Box1d *_this, const double *pt)
MRC_API MR_std_istream * MR_input_MR_Box2i(MR_std_istream *s, MR_Box2i *box)
MRC_API void MR_Box1i_include_int(MR_Box1i *_this, const int *pt)
MRC_API bool MR_not_equal_MR_Box1f(const MR_Box1f *_this, const MR_Box1f *a)
MRC_API MR_Box2i MR_Box2i_intersection(const MR_Box2i *_this, const MR_Box2i *b)
MRC_API MR_VdbVolume * MR_Box1f_MutableStaticDowncastTo_MR_VdbVolume(MR_Box1f *object)
MRC_API bool MR_Box1i64_getMaxBoxCorner(const MR_int64_t *n)
MRC_API unsigned short * MR_Box_unsigned_short_GetMutable_max(MR_Box_unsigned_short *_this)
MRC_API MR_Box1i64 MR_Box1i64_Construct_2(const MR_int64_t *min, const MR_int64_t *max)
MRC_API const MR_Vector3i64 * MR_Box3i64_index(const MR_Box3i64 *_this, int e)
MRC_API const MR_Vector2f * MR_Box2f_index(const MR_Box2f *_this, int e)
MRC_API MR_Vector2f MR_Box2f_corner(const MR_Box2f *_this, const MR_Vector2b *c)
MRC_API bool MR_equal_MR_Box3i(const MR_Box3i *_this, const MR_Box3i *a)
MRC_API MR_Box3i64 MR_Box3i64_expanded(const MR_Box3i64 *_this, const MR_Vector3i64 *expansion)
MRC_API double MR_Box1d_center(const MR_Box1d *_this)
MRC_API MR_Box3d MR_Box3d_Construct_2(const MR_Vector3d *min, const MR_Vector3d *max)
MRC_API void MR_Box3i64_include_MR_Box3i64(MR_Box3i64 *_this, const MR_Box3i64 *b)
MRC_API bool MR_not_equal_MR_Box1d(const MR_Box1d *_this, const MR_Box1d *a)
MRC_API MR_Box2i64 MR_Box2i64_Construct_1(const MR_NoInit *_1)
MRC_API MR_Box2i64 MR_Box2i64_fromMinAndSize(const MR_Vector2i64 *min, const MR_Vector2i64 *size)
MRC_API const MR_Vector2i64 * MR_Box2i64_index(const MR_Box2i64 *_this, int e)
MRC_API MR_Box2f MR_Box2f_fromMinAndSize(const MR_Vector2f *min, const MR_Vector2f *size)
MRC_API MR_Box_unsigned_short * MR_Box_unsigned_short_intersect(MR_Box_unsigned_short *_this, const MR_Box_unsigned_short *b)
struct MR_Box3i64 MR_Box3i64
MRC_API MR_int64_t MR_Box2i64_getDistanceSq_MR_Vector2i64(const MR_Box2i64 *_this, const MR_Vector2i64 *pt)
MRC_API const int * MR_Box1i_Get_elements(void)
MRC_API MR_Box1d MR_Box1d_intersection(const MR_Box1d *_this, const MR_Box1d *b)
MRC_API double MR_Box2d_diagonal(const MR_Box2d *_this)
MRC_API MR_Vector3i MR_Box3i_center(const MR_Box3i *_this)
MRC_API bool MR_equal_MR_Box_unsigned_short(const MR_Box_unsigned_short *_this, const MR_Box_unsigned_short *a)
MRC_API MR_Vector3b MR_Box3i64_getMaxBoxCorner(const MR_Vector3i64 *n)
MRC_API MR_Box2i64 * MR_Box2i64_intersect(MR_Box2i64 *_this, const MR_Box2i64 *b)
MRC_API double MR_Box3d_getDistanceSq_MR_Vector3d(const MR_Box3d *_this, const MR_Vector3d *pt)
MRC_API MR_std_istream * MR_input_MR_Box2d(MR_std_istream *s, MR_Box2d *box)
MRC_API const MR_Vector3i * MR_Box3i_index(const MR_Box3i *_this, int e)
MRC_API int MR_Box1i_getProjection(const MR_Box1i *_this, const int *pt)
MRC_API MR_Box2f * MR_Box2f_DefaultConstructArray(size_t num_elems)
MRC_API void MR_Box1f_include_MR_Box1f(MR_Box1f *_this, const MR_Box1f *b)
MRC_API MR_Box1f MR_Box1f_intersection(const MR_Box1f *_this, const MR_Box1f *b)
MRC_API MR_SimpleVolumeMinMax * MR_Box1f_MutableStaticDowncastTo_MR_SimpleVolumeMinMax(MR_Box1f *object)
MRC_API MR_Box1d MR_Box1d_Construct_1(const MR_NoInit *_1)
MRC_API MR_Box1d * MR_Box1d_DefaultConstructArray(size_t num_elems)
MRC_API MR_Vector2d MR_Box2d_size(const MR_Box2d *_this)
MRC_API bool MR_Box1f_getMaxBoxCorner(const float *n)
struct MR_Box3i MR_Box3i
MRC_API bool MR_Box1f_intersects(const MR_Box1f *_this, const MR_Box1f *b)
MRC_API MR_std_ostream * MR_print_MR_Box3i64(MR_std_ostream *s, const MR_Box3i64 *box)
MRC_API MR_Box_unsigned_short * MR_Box_unsigned_short_Construct_2(const unsigned short *min, const unsigned short *max)
MRC_API MR_Box3f MR_Box3f_Construct_2(const MR_Vector3f *min, const MR_Vector3f *max)
MRC_API MR_Vector3i64 MR_Box3i64_getProjection(const MR_Box3i64 *_this, const MR_Vector3i64 *pt)
MRC_API const MR_Vector3f * MR_Box3f_index(const MR_Box3f *_this, int e)
MRC_API int MR_Box1i_getDistanceSq_MR_Box1i(const MR_Box1i *_this, const MR_Box1i *b)
MRC_API bool MR_Box1i64_contains_int64_t(const MR_Box1i64 *_this, const MR_int64_t *pt)
MRC_API const unsigned short * MR_Box_unsigned_short_Get_max(const MR_Box_unsigned_short *_this)
MRC_API bool MR_Box1d_valid(const MR_Box1d *_this)
MRC_API const unsigned short * MR_Box_unsigned_short_Get_min(const MR_Box_unsigned_short *_this)
MRC_API double MR_Box2d_volume(const MR_Box2d *_this)
MRC_API MR_Box3d * MR_Box3d_intersect(MR_Box3d *_this, const MR_Box3d *b)
MRC_API unsigned short MR_Box_unsigned_short_getBoxClosestPointTo(const MR_Box_unsigned_short *_this, const unsigned short *pt)
MRC_API MR_Box_unsigned_short * MR_Box_unsigned_short_Construct_1(const MR_NoInit *_1)
MRC_API bool MR_not_equal_MR_Box3d(const MR_Box3d *_this, const MR_Box3d *a)
MRC_API MR_Vector3b MR_Box3d_getMinBoxCorner(const MR_Vector3d *n)
MRC_API MR_Vector2f MR_Box2f_size(const MR_Box2f *_this)
MRC_API bool MR_Box1d_getMinBoxCorner(const double *n)
MRC_API double MR_Box1d_volume(const MR_Box1d *_this)
MRC_API MR_Vector2i MR_Box2i_getProjection(const MR_Box2i *_this, const MR_Vector2i *pt)
MRC_API void MR_Box1d_include_double(MR_Box1d *_this, const double *pt)
MRC_API MR_Vector2i64 MR_Box2i64_corner(const MR_Box2i64 *_this, const MR_Vector2b *c)
MRC_API MR_Box3f MR_Box3f_intersection(const MR_Box3f *_this, const MR_Box3f *b)
MRC_API const int * MR_Box2i64_Get_elements(void)
MRC_API MR_std_istream * MR_input_MR_Box2i64(MR_std_istream *s, MR_Box2i64 *box)
MRC_API float MR_Box2f_volume(const MR_Box2f *_this)
MRC_API MR_Box3d MR_Box3d_DefaultConstruct(void)
Constructs an empty (default-constructed) instance.
MRC_API const float * MR_Box1f_index(const MR_Box1f *_this, int e)
MRC_API int MR_Box1i_diagonal(const MR_Box1i *_this)
struct MR_std_ostream MR_std_ostream
Definition MRCtm.h:31
struct MR_std_istream MR_std_istream
Definition MRCtm.h:28
Definition MRBox.h:54
double min
Definition MRBox.h:55
double max
Definition MRBox.h:56
Definition MRBox.h:46
float min
Definition MRBox.h:47
float max
Definition MRBox.h:48
Definition MRBox.h:34
MR_int64_t min
Definition MRBox.h:35
MR_int64_t max
Definition MRBox.h:36
Definition MRBox.h:26
int min
Definition MRBox.h:27
int max
Definition MRBox.h:28
Definition MRBox.h:86
MR_Vector2d min
Definition MRBox.h:87
MR_Vector2d max
Definition MRBox.h:88
Definition MRBox.h:78
MR_Vector2f max
Definition MRBox.h:80
MR_Vector2f min
Definition MRBox.h:79
Definition MRBox.h:70
MR_Vector2i64 min
Definition MRBox.h:71
MR_Vector2i64 max
Definition MRBox.h:72
Definition MRBox.h:62
MR_Vector2i min
Definition MRBox.h:63
MR_Vector2i max
Definition MRBox.h:64
Definition MRBox.h:118
MR_Vector3d min
Definition MRBox.h:119
MR_Vector3d max
Definition MRBox.h:120
Definition MRBox.h:110
MR_Vector3f min
Definition MRBox.h:111
MR_Vector3f max
Definition MRBox.h:112
Definition MRBox.h:102
MR_Vector3i64 max
Definition MRBox.h:104
MR_Vector3i64 min
Definition MRBox.h:103
Definition MRBox.h:94
MR_Vector3i min
Definition MRBox.h:95
MR_Vector3i max
Definition MRBox.h:96
Definition MRVector2.h:21
Generated from class MR::Vector2d.
Definition MRVector2.h:43
Generated from class MR::Vector2f.
Definition MRVector2.h:36
Definition MRVector2.h:29
Generated from class MR::Vector2i.
Definition MRVector2.h:50
Definition MRVector3.h:25
Generated from class MR::Vector3d.
Definition MRVector3.h:55
Generated from class MR::Vector3f.
Definition MRVector3.h:47
Definition MRVector3.h:34
Generated from class MR::Vector3i.
Definition MRVector3.h:63