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>`.
19
20
23typedef struct MR_Box1i
24{
25 int min;
26 int max;
28
36
43typedef struct MR_Box1f
44{
45 float min;
46 float max;
48
51typedef struct MR_Box1d
52{
53 double min;
54 double max;
56
64
72
80
88
96
104
112
120
127
131
134
139
143MRC_API MR_Box1i MR_Box1i_Construct_2(const int *min, const int *max);
144
148
153MRC_API const int *MR_Box1i_index_const(const MR_Box1i *_this, int e);
154
158MRC_API int *MR_Box1i_index(MR_Box1i *_this, int e);
159
163MRC_API MR_Box1i MR_Box1i_fromMinAndSize(const int *min, const int *size);
164
168MRC_API bool MR_Box1i_valid(const MR_Box1i *_this);
169
174
181MRC_API int MR_Box1i_corner(const MR_Box1i *_this, const bool *c);
182
188
194
199
204
209
214MRC_API void MR_Box1i_include_int(MR_Box1i *_this, const int *pt);
215
221
226MRC_API bool MR_Box1i_contains_int(const MR_Box1i *_this, const int *pt);
227
232MRC_API bool MR_Box1i_contains_MR_Box1i(const MR_Box1i *_this, const MR_Box1i *otherbox);
233
238MRC_API int MR_Box1i_getBoxClosestPointTo(const MR_Box1i *_this, const int *pt);
239
244MRC_API bool MR_Box1i_intersects(const MR_Box1i *_this, const MR_Box1i *b);
245
251
257
264
270MRC_API int MR_Box1i_getDistanceSq_int(const MR_Box1i *_this, const int *pt);
271
277MRC_API int MR_Box1i_getProjection(const MR_Box1i *_this, const int *pt);
278
283MRC_API MR_Box1i MR_Box1i_expanded(const MR_Box1i *_this, const int *expansion);
284
289
293MRC_API bool MR_equal_MR_Box1i(const MR_Box1i *_this, const MR_Box1i *a);
294
298MRC_API bool MR_not_equal_MR_Box1i(const MR_Box1i *_this, const MR_Box1i *a);
299
303
306
311
316
320
326
331
336
341
346
353MRC_API MR_int64_t MR_Box1i64_corner(const MR_Box1i64 *_this, const bool *c);
354
360
366
371
376
381
387
393
399
405
411
417
423
429
436
443
450
456
461
466
471
475
478
483
488
492
497
501
505MRC_API MR_Box1f MR_Box1f_Construct_2(const float *min, const float *max);
506
510
514
519MRC_API const float *MR_Box1f_index_const(const MR_Box1f *_this, int e);
520
524MRC_API float *MR_Box1f_index(MR_Box1f *_this, int e);
525
529MRC_API MR_Box1f MR_Box1f_fromMinAndSize(const float *min, const float *size);
530
534MRC_API bool MR_Box1f_valid(const MR_Box1f *_this);
535
539MRC_API float MR_Box1f_center(const MR_Box1f *_this);
540
547MRC_API float MR_Box1f_corner(const MR_Box1f *_this, const bool *c);
548
554
560
564MRC_API float MR_Box1f_size(const MR_Box1f *_this);
565
570
574MRC_API float MR_Box1f_volume(const MR_Box1f *_this);
575
580MRC_API void MR_Box1f_include_float(MR_Box1f *_this, const float *pt);
581
587
592MRC_API bool MR_Box1f_contains_float(const MR_Box1f *_this, const float *pt);
593
598MRC_API bool MR_Box1f_contains_MR_Box1f(const MR_Box1f *_this, const MR_Box1f *otherbox);
599
604MRC_API float MR_Box1f_getBoxClosestPointTo(const MR_Box1f *_this, const float *pt);
605
610MRC_API bool MR_Box1f_intersects(const MR_Box1f *_this, const MR_Box1f *b);
611
617
623
630
636MRC_API float MR_Box1f_getDistanceSq_float(const MR_Box1f *_this, const float *pt);
637
643MRC_API float MR_Box1f_getProjection(const MR_Box1f *_this, const float *pt);
644
649MRC_API MR_Box1f MR_Box1f_expanded(const MR_Box1f *_this, const float *expansion);
650
655
659MRC_API bool MR_equal_MR_Box1f(const MR_Box1f *_this, const MR_Box1f *a);
660
664MRC_API bool MR_not_equal_MR_Box1f(const MR_Box1f *_this, const MR_Box1f *a);
665
669
672
677
681MRC_API MR_Box1d MR_Box1d_Construct_2(const double *min, const double *max);
682
686
691MRC_API const double *MR_Box1d_index_const(const MR_Box1d *_this, int e);
692
696MRC_API double *MR_Box1d_index(MR_Box1d *_this, int e);
697
701MRC_API MR_Box1d MR_Box1d_fromMinAndSize(const double *min, const double *size);
702
706MRC_API bool MR_Box1d_valid(const MR_Box1d *_this);
707
711MRC_API double MR_Box1d_center(const MR_Box1d *_this);
712
719MRC_API double MR_Box1d_corner(const MR_Box1d *_this, const bool *c);
720
725MRC_API bool MR_Box1d_getMinBoxCorner(const double *n);
726
731MRC_API bool MR_Box1d_getMaxBoxCorner(const double *n);
732
736MRC_API double MR_Box1d_size(const MR_Box1d *_this);
737
741MRC_API double MR_Box1d_diagonal(const MR_Box1d *_this);
742
746MRC_API double MR_Box1d_volume(const MR_Box1d *_this);
747
752MRC_API void MR_Box1d_include_double(MR_Box1d *_this, const double *pt);
753
759
764MRC_API bool MR_Box1d_contains_double(const MR_Box1d *_this, const double *pt);
765
770MRC_API bool MR_Box1d_contains_MR_Box1d(const MR_Box1d *_this, const MR_Box1d *otherbox);
771
776MRC_API double MR_Box1d_getBoxClosestPointTo(const MR_Box1d *_this, const double *pt);
777
782MRC_API bool MR_Box1d_intersects(const MR_Box1d *_this, const MR_Box1d *b);
783
789
795
802
808MRC_API double MR_Box1d_getDistanceSq_double(const MR_Box1d *_this, const double *pt);
809
815MRC_API double MR_Box1d_getProjection(const MR_Box1d *_this, const double *pt);
816
821MRC_API MR_Box1d MR_Box1d_expanded(const MR_Box1d *_this, const double *expansion);
822
827
831MRC_API bool MR_equal_MR_Box1d(const MR_Box1d *_this, const MR_Box1d *a);
832
836MRC_API bool MR_not_equal_MR_Box1d(const MR_Box1d *_this, const MR_Box1d *a);
837
841
844
849
854
855// If the compiler supports `requires`, use that instead of `std::enable_if` here.
856// 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
860
866
871
876
880MRC_API bool MR_Box2i_valid(const MR_Box2i *_this);
881
886
894
900
906
911
916
921
927
933
939
944MRC_API bool MR_Box2i_contains_MR_Box2i(const MR_Box2i *_this, const MR_Box2i *otherbox);
945
951
956MRC_API bool MR_Box2i_intersects(const MR_Box2i *_this, const MR_Box2i *b);
957
963
969
976
983
990
995MRC_API MR_Box2i MR_Box2i_expanded(const MR_Box2i *_this, const MR_Vector2i *expansion);
996
1001
1005MRC_API bool MR_equal_MR_Box2i(const MR_Box2i *_this, const MR_Box2i *a);
1006
1010MRC_API bool MR_not_equal_MR_Box2i(const MR_Box2i *_this, const MR_Box2i *a);
1011
1015
1018
1023
1028
1029// If the compiler supports `requires`, use that instead of `std::enable_if` here.
1030// 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
1034
1040
1045
1050
1055
1060
1068
1074
1080
1085
1090
1095
1101
1107
1113
1119
1125
1131
1137
1143
1150
1157
1164
1170
1175
1180
1185
1189
1192
1197
1202
1203// If the compiler supports `requires`, use that instead of `std::enable_if` here.
1204// 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
1208
1212
1218
1223
1228
1233
1238
1246
1252
1258
1263
1268
1273
1279
1285
1291
1296MRC_API bool MR_Box2f_contains_MR_Box2f(const MR_Box2f *_this, const MR_Box2f *otherbox);
1297
1303
1308MRC_API bool MR_Box2f_intersects(const MR_Box2f *_this, const MR_Box2f *b);
1309
1315
1321
1328
1335
1342
1348
1353
1357MRC_API bool MR_equal_MR_Box2f(const MR_Box2f *_this, const MR_Box2f *a);
1358
1362MRC_API bool MR_not_equal_MR_Box2f(const MR_Box2f *_this, const MR_Box2f *a);
1363
1367
1370
1375
1380
1381// If the compiler supports `requires`, use that instead of `std::enable_if` here.
1382// 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
1386
1392
1397
1402
1407
1412
1420
1426
1432
1437
1442
1446MRC_API double MR_Box2d_volume(const MR_Box2d *_this);
1447
1453
1459
1465
1470MRC_API bool MR_Box2d_contains_MR_Box2d(const MR_Box2d *_this, const MR_Box2d *otherbox);
1471
1477
1482MRC_API bool MR_Box2d_intersects(const MR_Box2d *_this, const MR_Box2d *b);
1483
1489
1495
1502
1509
1516
1522
1527
1531MRC_API bool MR_equal_MR_Box2d(const MR_Box2d *_this, const MR_Box2d *a);
1532
1536MRC_API bool MR_not_equal_MR_Box2d(const MR_Box2d *_this, const MR_Box2d *a);
1537
1541
1544
1549
1554
1555// If the compiler supports `requires`, use that instead of `std::enable_if` here.
1556// 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
1560
1564
1570
1575
1580
1585
1590
1598
1604
1610
1615
1620
1625
1631
1637
1643
1648MRC_API bool MR_Box3i_contains_MR_Box3i(const MR_Box3i *_this, const MR_Box3i *otherbox);
1649
1655
1660MRC_API bool MR_Box3i_intersects(const MR_Box3i *_this, const MR_Box3i *b);
1661
1667
1673
1680
1687
1694
1700
1705
1709MRC_API bool MR_equal_MR_Box3i(const MR_Box3i *_this, const MR_Box3i *a);
1710
1714MRC_API bool MR_not_equal_MR_Box3i(const MR_Box3i *_this, const MR_Box3i *a);
1715
1719
1722
1727
1732
1733// If the compiler supports `requires`, use that instead of `std::enable_if` here.
1734// 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
1738
1744
1749
1754
1759
1764
1772
1778
1784
1789
1794
1799
1805
1811
1817
1823
1829
1835
1841
1847
1854
1861
1868
1874
1879
1884
1889
1893
1896
1901
1906
1907// If the compiler supports `requires`, use that instead of `std::enable_if` here.
1908// 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
1912
1916
1922
1927
1932
1937
1942
1950
1956
1962
1967
1972
1977
1983
1989
1995
2000MRC_API bool MR_Box3f_contains_MR_Box3f(const MR_Box3f *_this, const MR_Box3f *otherbox);
2001
2007
2012MRC_API bool MR_Box3f_intersects(const MR_Box3f *_this, const MR_Box3f *b);
2013
2019
2025
2032
2039
2046
2052
2057
2061MRC_API bool MR_equal_MR_Box3f(const MR_Box3f *_this, const MR_Box3f *a);
2062
2066MRC_API bool MR_not_equal_MR_Box3f(const MR_Box3f *_this, const MR_Box3f *a);
2067
2071
2074
2079
2084
2085// If the compiler supports `requires`, use that instead of `std::enable_if` here.
2086// 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
2090
2094
2100
2105
2110
2115
2120
2128
2134
2140
2145
2150
2154MRC_API double MR_Box3d_volume(const MR_Box3d *_this);
2155
2161
2167
2173
2178MRC_API bool MR_Box3d_contains_MR_Box3d(const MR_Box3d *_this, const MR_Box3d *otherbox);
2179
2185
2190MRC_API bool MR_Box3d_intersects(const MR_Box3d *_this, const MR_Box3d *b);
2191
2197
2203
2210
2217
2224
2230
2235
2239MRC_API bool MR_equal_MR_Box3d(const MR_Box3d *_this, const MR_Box3d *a);
2240
2244MRC_API bool MR_not_equal_MR_Box3d(const MR_Box3d *_this, const MR_Box3d *a);
2245
2249
2254
2258
2263
2268
2272
2277
2281
2286
2289
2292
2297
2301
2306
2311MRC_API MR_Box_unsigned_short *MR_Box_unsigned_short_Construct_2(const unsigned short *min, const unsigned short *max);
2312
2317
2320
2323
2329
2334MRC_API const unsigned short *MR_Box_unsigned_short_index_const(const MR_Box_unsigned_short *_this, int e);
2335
2340
2345MRC_API MR_Box_unsigned_short *MR_Box_unsigned_short_fromMinAndSize(const unsigned short *min, const unsigned short *size);
2346
2351
2356
2363MRC_API unsigned short MR_Box_unsigned_short_corner(const MR_Box_unsigned_short *_this, const bool *c);
2364
2370
2376
2381
2386
2391
2397
2403
2409
2415
2420MRC_API unsigned short MR_Box_unsigned_short_getBoxClosestPointTo(const MR_Box_unsigned_short *_this, const unsigned short *pt);
2421
2427
2434
2440
2447
2453MRC_API unsigned short MR_Box_unsigned_short_getDistanceSq_unsigned_short(const MR_Box_unsigned_short *_this, const unsigned short *pt);
2454
2460MRC_API unsigned short MR_Box_unsigned_short_getProjection(const MR_Box_unsigned_short *_this, const unsigned short *pt);
2461
2468
2474
2479
2484
2485#ifdef __cplusplus
2486} // extern "C"
2487#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_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 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_Box1f MR_Box1f_Construct_float(const MR_Box1f *a)
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 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)
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 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 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_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_Box3i MR_Box3i_Construct_MR_Vector3i(const MR_Box3i *a)
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 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)
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 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 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_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_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_Box3f MR_Box3f_Construct_MR_Vector3f(const MR_Box3f *a)
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_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 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 MR_Box2f MR_Box2f_Construct_MR_Vector2f(const MR_Box2f *a)
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 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:126
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 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_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 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 MR_Box3d MR_Box3d_Construct_MR_Vector3d(const MR_Box3d *a)
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 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_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 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)
int64_t MR_int64_t
Definition common.h:13
#define MRC_API
Definition exports.h:11
size_t size() const
Definition MRBox.h:52
double min
Definition MRBox.h:53
double max
Definition MRBox.h:54
Definition MRBox.h:44
float min
Definition MRBox.h:45
float max
Definition MRBox.h:46
Definition MRBox.h:32
MR_int64_t min
Definition MRBox.h:33
MR_int64_t max
Definition MRBox.h:34
Definition MRBox.h:24
int min
Definition MRBox.h:25
int max
Definition MRBox.h:26
Definition MRBox.h:84
MR_Vector2d min
Definition MRBox.h:85
MR_Vector2d max
Definition MRBox.h:86
Definition MRBox.h:76
MR_Vector2f max
Definition MRBox.h:78
MR_Vector2f min
Definition MRBox.h:77
Definition MRBox.h:68
MR_Vector2i64 min
Definition MRBox.h:69
MR_Vector2i64 max
Definition MRBox.h:70
Definition MRBox.h:60
MR_Vector2i min
Definition MRBox.h:61
MR_Vector2i max
Definition MRBox.h:62
Definition MRBox.h:116
MR_Vector3d min
Definition MRBox.h:117
MR_Vector3d max
Definition MRBox.h:118
Definition MRBox.h:108
MR_Vector3f min
Definition MRBox.h:109
MR_Vector3f max
Definition MRBox.h:110
Definition MRBox.h:100
MR_Vector3i64 max
Definition MRBox.h:102
MR_Vector3i64 min
Definition MRBox.h:101
Definition MRBox.h:92
MR_Vector3i min
Definition MRBox.h:93
MR_Vector3i max
Definition MRBox.h:94
Definition MRVector2.h:19
Definition MRVector2.h:51
Definition MRVector2.h:43
Definition MRVector2.h:35
Definition MRVector2.h:27
Definition MRVector3.h:23
Definition MRVector3.h:59
Definition MRVector3.h:50
Definition MRVector3.h:41
Definition MRVector3.h:32