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
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
134
137
142
146MRC_API MR_Box1i MR_Box1i_Construct_2(const int *min, const int *max);
147
151
156MRC_API const int *MR_Box1i_index_const(const MR_Box1i *_this, int e);
157
161MRC_API int *MR_Box1i_index(MR_Box1i *_this, int e);
162
166MRC_API MR_Box1i MR_Box1i_fromMinAndSize(const int *min, const int *size);
167
171MRC_API bool MR_Box1i_valid(const MR_Box1i *_this);
172
177
184MRC_API int MR_Box1i_corner(const MR_Box1i *_this, const bool *c);
185
191
197
202
207
212
217MRC_API void MR_Box1i_include_int(MR_Box1i *_this, const int *pt);
218
224
229MRC_API bool MR_Box1i_contains_int(const MR_Box1i *_this, const int *pt);
230
235MRC_API bool MR_Box1i_contains_MR_Box1i(const MR_Box1i *_this, const MR_Box1i *otherbox);
236
241MRC_API int MR_Box1i_getBoxClosestPointTo(const MR_Box1i *_this, const int *pt);
242
247MRC_API bool MR_Box1i_intersects(const MR_Box1i *_this, const MR_Box1i *b);
248
254
260
267
273MRC_API int MR_Box1i_getDistanceSq_int(const MR_Box1i *_this, const int *pt);
274
280MRC_API int MR_Box1i_getProjection(const MR_Box1i *_this, const int *pt);
281
286MRC_API MR_Box1i MR_Box1i_expanded(const MR_Box1i *_this, const int *expansion);
287
292
296MRC_API bool MR_equal_MR_Box1i(const MR_Box1i *_this, const MR_Box1i *a);
297
301MRC_API bool MR_not_equal_MR_Box1i(const MR_Box1i *_this, const MR_Box1i *a);
302
308
314
318
321
326
331
335
341
346
351
356
361
368MRC_API MR_int64_t MR_Box1i64_corner(const MR_Box1i64 *_this, const bool *c);
369
375
381
386
391
396
402
408
414
420
426
432
438
444
451
458
465
471
476
481
486
492
498
502
505
510
515
519
524
528
532MRC_API MR_Box1f MR_Box1f_Construct_2(const float *min, const float *max);
533
537
542MRC_API const float *MR_Box1f_index_const(const MR_Box1f *_this, int e);
543
547MRC_API float *MR_Box1f_index(MR_Box1f *_this, int e);
548
552MRC_API MR_Box1f MR_Box1f_fromMinAndSize(const float *min, const float *size);
553
557MRC_API bool MR_Box1f_valid(const MR_Box1f *_this);
558
562MRC_API float MR_Box1f_center(const MR_Box1f *_this);
563
570MRC_API float MR_Box1f_corner(const MR_Box1f *_this, const bool *c);
571
577
583
587MRC_API float MR_Box1f_size(const MR_Box1f *_this);
588
593
597MRC_API float MR_Box1f_volume(const MR_Box1f *_this);
598
603MRC_API void MR_Box1f_include_float(MR_Box1f *_this, const float *pt);
604
610
615MRC_API bool MR_Box1f_contains_float(const MR_Box1f *_this, const float *pt);
616
621MRC_API bool MR_Box1f_contains_MR_Box1f(const MR_Box1f *_this, const MR_Box1f *otherbox);
622
627MRC_API float MR_Box1f_getBoxClosestPointTo(const MR_Box1f *_this, const float *pt);
628
633MRC_API bool MR_Box1f_intersects(const MR_Box1f *_this, const MR_Box1f *b);
634
640
646
653
659MRC_API float MR_Box1f_getDistanceSq_float(const MR_Box1f *_this, const float *pt);
660
666MRC_API float MR_Box1f_getProjection(const MR_Box1f *_this, const float *pt);
667
672MRC_API MR_Box1f MR_Box1f_expanded(const MR_Box1f *_this, const float *expansion);
673
678
682MRC_API bool MR_equal_MR_Box1f(const MR_Box1f *_this, const MR_Box1f *a);
683
687MRC_API bool MR_not_equal_MR_Box1f(const MR_Box1f *_this, const MR_Box1f *a);
688
694
700
704
707
712
716MRC_API MR_Box1d MR_Box1d_Construct_2(const double *min, const double *max);
717
721
726MRC_API const double *MR_Box1d_index_const(const MR_Box1d *_this, int e);
727
731MRC_API double *MR_Box1d_index(MR_Box1d *_this, int e);
732
736MRC_API MR_Box1d MR_Box1d_fromMinAndSize(const double *min, const double *size);
737
741MRC_API bool MR_Box1d_valid(const MR_Box1d *_this);
742
746MRC_API double MR_Box1d_center(const MR_Box1d *_this);
747
754MRC_API double MR_Box1d_corner(const MR_Box1d *_this, const bool *c);
755
760MRC_API bool MR_Box1d_getMinBoxCorner(const double *n);
761
766MRC_API bool MR_Box1d_getMaxBoxCorner(const double *n);
767
771MRC_API double MR_Box1d_size(const MR_Box1d *_this);
772
776MRC_API double MR_Box1d_diagonal(const MR_Box1d *_this);
777
781MRC_API double MR_Box1d_volume(const MR_Box1d *_this);
782
787MRC_API void MR_Box1d_include_double(MR_Box1d *_this, const double *pt);
788
794
799MRC_API bool MR_Box1d_contains_double(const MR_Box1d *_this, const double *pt);
800
805MRC_API bool MR_Box1d_contains_MR_Box1d(const MR_Box1d *_this, const MR_Box1d *otherbox);
806
811MRC_API double MR_Box1d_getBoxClosestPointTo(const MR_Box1d *_this, const double *pt);
812
817MRC_API bool MR_Box1d_intersects(const MR_Box1d *_this, const MR_Box1d *b);
818
824
830
837
843MRC_API double MR_Box1d_getDistanceSq_double(const MR_Box1d *_this, const double *pt);
844
850MRC_API double MR_Box1d_getProjection(const MR_Box1d *_this, const double *pt);
851
856MRC_API MR_Box1d MR_Box1d_expanded(const MR_Box1d *_this, const double *expansion);
857
862
866MRC_API bool MR_equal_MR_Box1d(const MR_Box1d *_this, const MR_Box1d *a);
867
871MRC_API bool MR_not_equal_MR_Box1d(const MR_Box1d *_this, const MR_Box1d *a);
872
878
884
888
891
896
901
902// If the compiler supports `requires`, use that instead of `std::enable_if` here.
903// 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
907
913
918
923
927MRC_API bool MR_Box2i_valid(const MR_Box2i *_this);
928
933
941
947
953
958
963
968
974
980
986
991MRC_API bool MR_Box2i_contains_MR_Box2i(const MR_Box2i *_this, const MR_Box2i *otherbox);
992
998
1003MRC_API bool MR_Box2i_intersects(const MR_Box2i *_this, const MR_Box2i *b);
1004
1010
1016
1023
1030
1037
1043
1048
1052MRC_API bool MR_equal_MR_Box2i(const MR_Box2i *_this, const MR_Box2i *a);
1053
1057MRC_API bool MR_not_equal_MR_Box2i(const MR_Box2i *_this, const MR_Box2i *a);
1058
1064
1070
1074
1077
1082
1087
1088// If the compiler supports `requires`, use that instead of `std::enable_if` here.
1089// 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
1093
1099
1104
1109
1114
1119
1127
1133
1139
1144
1149
1154
1160
1166
1172
1178
1184
1190
1196
1202
1209
1216
1223
1229
1234
1239
1244
1250
1256
1260
1263
1268
1273
1274// If the compiler supports `requires`, use that instead of `std::enable_if` here.
1275// 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
1279
1285
1290
1295
1300
1305
1313
1319
1325
1330
1335
1340
1346
1352
1358
1363MRC_API bool MR_Box2f_contains_MR_Box2f(const MR_Box2f *_this, const MR_Box2f *otherbox);
1364
1370
1375MRC_API bool MR_Box2f_intersects(const MR_Box2f *_this, const MR_Box2f *b);
1376
1382
1388
1395
1402
1409
1415
1420
1424MRC_API bool MR_equal_MR_Box2f(const MR_Box2f *_this, const MR_Box2f *a);
1425
1429MRC_API bool MR_not_equal_MR_Box2f(const MR_Box2f *_this, const MR_Box2f *a);
1430
1436
1442
1446
1449
1454
1459
1460// If the compiler supports `requires`, use that instead of `std::enable_if` here.
1461// 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
1465
1471
1476
1481
1486
1491
1499
1505
1511
1516
1521
1525MRC_API double MR_Box2d_volume(const MR_Box2d *_this);
1526
1532
1538
1544
1549MRC_API bool MR_Box2d_contains_MR_Box2d(const MR_Box2d *_this, const MR_Box2d *otherbox);
1550
1556
1561MRC_API bool MR_Box2d_intersects(const MR_Box2d *_this, const MR_Box2d *b);
1562
1568
1574
1581
1588
1595
1601
1606
1610MRC_API bool MR_equal_MR_Box2d(const MR_Box2d *_this, const MR_Box2d *a);
1611
1615MRC_API bool MR_not_equal_MR_Box2d(const MR_Box2d *_this, const MR_Box2d *a);
1616
1622
1628
1632
1635
1640
1645
1646// If the compiler supports `requires`, use that instead of `std::enable_if` here.
1647// 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
1651
1657
1662
1667
1672
1677
1685
1691
1697
1702
1707
1712
1718
1724
1730
1735MRC_API bool MR_Box3i_contains_MR_Box3i(const MR_Box3i *_this, const MR_Box3i *otherbox);
1736
1742
1747MRC_API bool MR_Box3i_intersects(const MR_Box3i *_this, const MR_Box3i *b);
1748
1754
1760
1767
1774
1781
1787
1792
1796MRC_API bool MR_equal_MR_Box3i(const MR_Box3i *_this, const MR_Box3i *a);
1797
1801MRC_API bool MR_not_equal_MR_Box3i(const MR_Box3i *_this, const MR_Box3i *a);
1802
1808
1814
1818
1821
1826
1831
1832// If the compiler supports `requires`, use that instead of `std::enable_if` here.
1833// 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
1837
1843
1848
1853
1858
1863
1871
1877
1883
1888
1893
1898
1904
1910
1916
1922
1928
1934
1940
1946
1953
1960
1967
1973
1978
1983
1988
1994
2000
2004
2007
2012
2017
2018// If the compiler supports `requires`, use that instead of `std::enable_if` here.
2019// 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
2023
2029
2034
2039
2044
2049
2057
2063
2069
2074
2079
2084
2090
2096
2102
2107MRC_API bool MR_Box3f_contains_MR_Box3f(const MR_Box3f *_this, const MR_Box3f *otherbox);
2108
2114
2119MRC_API bool MR_Box3f_intersects(const MR_Box3f *_this, const MR_Box3f *b);
2120
2126
2132
2139
2146
2153
2159
2164
2168MRC_API bool MR_equal_MR_Box3f(const MR_Box3f *_this, const MR_Box3f *a);
2169
2173MRC_API bool MR_not_equal_MR_Box3f(const MR_Box3f *_this, const MR_Box3f *a);
2174
2180
2186
2190
2193
2198
2203
2204// If the compiler supports `requires`, use that instead of `std::enable_if` here.
2205// 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
2209
2215
2220
2225
2230
2235
2243
2249
2255
2260
2265
2269MRC_API double MR_Box3d_volume(const MR_Box3d *_this);
2270
2276
2282
2288
2293MRC_API bool MR_Box3d_contains_MR_Box3d(const MR_Box3d *_this, const MR_Box3d *otherbox);
2294
2300
2305MRC_API bool MR_Box3d_intersects(const MR_Box3d *_this, const MR_Box3d *b);
2306
2312
2318
2325
2332
2339
2345
2350
2354MRC_API bool MR_equal_MR_Box3d(const MR_Box3d *_this, const MR_Box3d *a);
2355
2359MRC_API bool MR_not_equal_MR_Box3d(const MR_Box3d *_this, const MR_Box3d *a);
2360
2366
2372
2376
2381
2385
2390
2395
2399
2404
2408
2413
2416
2419
2424
2428
2433
2438MRC_API MR_Box_unsigned_short *MR_Box_unsigned_short_Construct_2(const unsigned short *min, const unsigned short *max);
2439
2444
2447
2450
2456
2461MRC_API const unsigned short *MR_Box_unsigned_short_index_const(const MR_Box_unsigned_short *_this, int e);
2462
2467
2472MRC_API MR_Box_unsigned_short *MR_Box_unsigned_short_fromMinAndSize(const unsigned short *min, const unsigned short *size);
2473
2478
2483
2490MRC_API unsigned short MR_Box_unsigned_short_corner(const MR_Box_unsigned_short *_this, const bool *c);
2491
2497
2503
2508
2513
2518
2524
2530
2536
2542
2547MRC_API unsigned short MR_Box_unsigned_short_getBoxClosestPointTo(const MR_Box_unsigned_short *_this, const unsigned short *pt);
2548
2554
2561
2567
2574
2580MRC_API unsigned short MR_Box_unsigned_short_getDistanceSq_unsigned_short(const MR_Box_unsigned_short *_this, const unsigned short *pt);
2581
2587MRC_API unsigned short MR_Box_unsigned_short_getProjection(const MR_Box_unsigned_short *_this, const unsigned short *pt);
2588
2595
2601
2606
2611
2617
2623
2624#ifdef __cplusplus
2625} // extern "C"
2626#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 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 const MR_Vector3i64 * MR_Box3i64_index_const(const MR_Box3i64 *_this, int e)
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 float * MR_Box1f_index(MR_Box1f *_this, int e)
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 MR_Box2i MR_Box2i_fromMinAndSize(const MR_Vector2i *min, const MR_Vector2i *size)
struct MR_NoInit MR_NoInit
Definition MRBox.h:15
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_Vector3d MR_Box3d_size(const MR_Box3d *_this)
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 const float * MR_Box1f_index_const(const MR_Box1f *_this, int e)
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 const MR_int64_t * MR_Box1i64_index_const(const MR_Box1i64 *_this, int e)
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 const double * MR_Box1d_index_const(const MR_Box1d *_this, int e)
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_Vector3d * MR_Box3d_index(MR_Box3d *_this, int e)
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_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 const unsigned short * MR_Box_unsigned_short_index_const(const MR_Box_unsigned_short *_this, int e)
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_Vector2i64 * MR_Box2i64_index(MR_Box2i64 *_this, int e)
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 unsigned short * MR_Box_unsigned_short_index(MR_Box_unsigned_short *_this, int e)
MRC_API MR_Box2i MR_Box2i_DefaultConstruct(void)
Constructs an empty (default-constructed) instance.
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 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 MR_std_ostream * MR_print_MR_Box2i64(MR_std_ostream *s, const MR_Box2i64 *box)
MRC_API const MR_Vector2f * MR_Box2f_index_const(const MR_Box2f *_this, int e)
MRC_API MR_Vector3f * MR_Box3f_index(MR_Box3f *_this, int e)
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_Box1i_index_const(const MR_Box1i *_this, int e)
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_Vector2d * MR_Box2d_index(MR_Box2d *_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 int * MR_Box1i_index(MR_Box1i *_this, int e)
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_Vector2i * MR_Box2i_index(MR_Box2i *_this, int e)
MRC_API MR_Box_unsigned_short * MR_Box_unsigned_short_OffsetMutablePtr(MR_Box_unsigned_short *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_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 MR_Vector3i * MR_Box3i_index(MR_Box3i *_this, int e)
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 const MR_Vector3i * MR_Box3i_index_const(const MR_Box3i *_this, int e)
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 const MR_Vector2i * MR_Box2i_index_const(const MR_Box2i *_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_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)
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 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_std_istream * MR_input_MR_Box1d(MR_std_istream *s, MR_Box1d *box)
MRC_API MR_Box3f MR_Box3f_fromMinAndSize(const MR_Vector3f *min, const MR_Vector3f *size)
MRC_API const MR_Vector3d * MR_Box3d_index_const(const MR_Box3d *_this, int e)
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)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
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_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 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 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 const MR_Vector2d * MR_Box2d_index_const(const MR_Box2d *_this, int e)
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 const MR_Vector3f * MR_Box3f_index_const(const MR_Box3f *_this, int e)
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 MR_Vector2f * MR_Box2f_index(MR_Box2f *_this, int e)
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_Vector3i64 * MR_Box3i64_index(MR_Box3i64 *_this, int e)
MRC_API double * MR_Box1d_index(MR_Box1d *_this, int e)
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 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 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 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 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 int MR_Box1i_getDistanceSq_MR_Box1i(const MR_Box1i *_this, const MR_Box1i *b)
MRC_API const MR_Vector2i64 * MR_Box2i64_index_const(const MR_Box2i64 *_this, int e)
MRC_API bool MR_Box1i64_contains_int64_t(const MR_Box1i64 *_this, const MR_int64_t *pt)
MRC_API MR_int64_t * MR_Box1i64_index(MR_Box1i64 *_this, int e)
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 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
int64_t MR_int64_t
Definition common.h:17
#define MRC_API
Definition exports.h:11
size_t size() const
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
Definition MRVector2.h:53
Definition MRVector2.h:45
Definition MRVector2.h:37
Definition MRVector2.h:29
Definition MRVector3.h:25
Definition MRVector3.h:61
Definition MRVector3.h:52
Definition MRVector3.h:43
Definition MRVector3.h:34