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#include <stdint.h>
11
12#ifdef __cplusplus
13extern "C" {
14#endif
15
16typedef struct MR_NoInit MR_NoInit; // Defined in `#include <MRCMesh/MRMeshFwd.h>`.
17typedef struct MR_SimpleVolumeMinMax MR_SimpleVolumeMinMax; // Defined in `#include <MRCVoxels/MRVoxelsVolume.h>`.
18typedef struct MR_SimpleVolumeMinMaxU16 MR_SimpleVolumeMinMaxU16; // Defined in `#include <MRCVoxels/MRVoxelsVolume.h>`.
19typedef struct MR_VdbVolume MR_VdbVolume; // Defined in `#include <MRCVoxels/MRVoxelsVolume.h>`.
20
21
24typedef struct MR_Box1i
25{
26 int32_t min;
27 int32_t max;
29
37
44typedef struct MR_Box1f
45{
46 float min;
47 float max;
49
52typedef struct MR_Box1d
53{
54 double min;
55 double max;
57
65
73
81
89
97
105
113
121
128
131MRC_API const int32_t *MR_Box1i_Get_elements(void);
132
135
140
144MRC_API MR_Box1i MR_Box1i_Construct_2(const int32_t *min, const int32_t *max);
145
149
154MRC_API const int32_t *MR_Box1i_index_const(const MR_Box1i *_this, int32_t e);
155
159MRC_API int32_t *MR_Box1i_index(MR_Box1i *_this, int32_t e);
160
164MRC_API MR_Box1i MR_Box1i_fromMinAndSize(const int32_t *min, const int32_t *size);
165
169MRC_API bool MR_Box1i_valid(const MR_Box1i *_this);
170
174MRC_API int32_t MR_Box1i_center(const MR_Box1i *_this);
175
182MRC_API int32_t MR_Box1i_corner(const MR_Box1i *_this, const bool *c);
183
188MRC_API bool MR_Box1i_getMinBoxCorner(const int32_t *n);
189
194MRC_API bool MR_Box1i_getMaxBoxCorner(const int32_t *n);
195
199MRC_API int32_t MR_Box1i_size(const MR_Box1i *_this);
200
204MRC_API int32_t MR_Box1i_diagonal(const MR_Box1i *_this);
205
209MRC_API int32_t MR_Box1i_volume(const MR_Box1i *_this);
210
215MRC_API void MR_Box1i_include_int32_t(MR_Box1i *_this, const int32_t *pt);
216
222
227MRC_API bool MR_Box1i_contains_int32_t(const MR_Box1i *_this, const int32_t *pt);
228
233MRC_API bool MR_Box1i_contains_MR_Box1i(const MR_Box1i *_this, const MR_Box1i *otherbox);
234
239MRC_API int32_t MR_Box1i_getBoxClosestPointTo(const MR_Box1i *_this, const int32_t *pt);
240
245MRC_API bool MR_Box1i_intersects(const MR_Box1i *_this, const MR_Box1i *b);
246
252
258
265
271MRC_API int32_t MR_Box1i_getDistanceSq_int32_t(const MR_Box1i *_this, const int32_t *pt);
272
278MRC_API int32_t MR_Box1i_getProjection(const MR_Box1i *_this, const int32_t *pt);
279
284MRC_API MR_Box1i MR_Box1i_expanded(const MR_Box1i *_this, const int32_t *expansion);
285
290
294MRC_API bool MR_equal_MR_Box1i(const MR_Box1i *_this, const MR_Box1i *a);
295
299MRC_API bool MR_not_equal_MR_Box1i(const MR_Box1i *_this, const MR_Box1i *a);
300
303MRC_API const int32_t *MR_Box1i64_Get_elements(void);
304
307
312
317
321
326MRC_API const MR_int64_t *MR_Box1i64_index_const(const MR_Box1i64 *_this, int32_t e);
327
332
337
342
347
354MRC_API MR_int64_t MR_Box1i64_corner(const MR_Box1i64 *_this, const bool *c);
355
361
367
372
377
382
388
394
400
406
412
418
424
430
437
444
451
457
462
467
472
475MRC_API const int32_t *MR_Box1f_Get_elements(void);
476
479
484
489
493
498
502
506MRC_API MR_Box1f MR_Box1f_Construct_2(const float *min, const float *max);
507
511
515
520MRC_API const float *MR_Box1f_index_const(const MR_Box1f *_this, int32_t e);
521
525MRC_API float *MR_Box1f_index(MR_Box1f *_this, int32_t e);
526
530MRC_API MR_Box1f MR_Box1f_fromMinAndSize(const float *min, const float *size);
531
535MRC_API bool MR_Box1f_valid(const MR_Box1f *_this);
536
540MRC_API float MR_Box1f_center(const MR_Box1f *_this);
541
548MRC_API float MR_Box1f_corner(const MR_Box1f *_this, const bool *c);
549
555
561
565MRC_API float MR_Box1f_size(const MR_Box1f *_this);
566
571
575MRC_API float MR_Box1f_volume(const MR_Box1f *_this);
576
581MRC_API void MR_Box1f_include_float(MR_Box1f *_this, const float *pt);
582
588
593MRC_API bool MR_Box1f_contains_float(const MR_Box1f *_this, const float *pt);
594
599MRC_API bool MR_Box1f_contains_MR_Box1f(const MR_Box1f *_this, const MR_Box1f *otherbox);
600
605MRC_API float MR_Box1f_getBoxClosestPointTo(const MR_Box1f *_this, const float *pt);
606
611MRC_API bool MR_Box1f_intersects(const MR_Box1f *_this, const MR_Box1f *b);
612
618
624
631
637MRC_API float MR_Box1f_getDistanceSq_float(const MR_Box1f *_this, const float *pt);
638
644MRC_API float MR_Box1f_getProjection(const MR_Box1f *_this, const float *pt);
645
650MRC_API MR_Box1f MR_Box1f_expanded(const MR_Box1f *_this, const float *expansion);
651
656
660MRC_API bool MR_equal_MR_Box1f(const MR_Box1f *_this, const MR_Box1f *a);
661
665MRC_API bool MR_not_equal_MR_Box1f(const MR_Box1f *_this, const MR_Box1f *a);
666
669MRC_API const int32_t *MR_Box1d_Get_elements(void);
670
673
678
682MRC_API MR_Box1d MR_Box1d_Construct_2(const double *min, const double *max);
683
687
692MRC_API const double *MR_Box1d_index_const(const MR_Box1d *_this, int32_t e);
693
697MRC_API double *MR_Box1d_index(MR_Box1d *_this, int32_t e);
698
702MRC_API MR_Box1d MR_Box1d_fromMinAndSize(const double *min, const double *size);
703
707MRC_API bool MR_Box1d_valid(const MR_Box1d *_this);
708
712MRC_API double MR_Box1d_center(const MR_Box1d *_this);
713
720MRC_API double MR_Box1d_corner(const MR_Box1d *_this, const bool *c);
721
726MRC_API bool MR_Box1d_getMinBoxCorner(const double *n);
727
732MRC_API bool MR_Box1d_getMaxBoxCorner(const double *n);
733
737MRC_API double MR_Box1d_size(const MR_Box1d *_this);
738
742MRC_API double MR_Box1d_diagonal(const MR_Box1d *_this);
743
747MRC_API double MR_Box1d_volume(const MR_Box1d *_this);
748
753MRC_API void MR_Box1d_include_double(MR_Box1d *_this, const double *pt);
754
760
765MRC_API bool MR_Box1d_contains_double(const MR_Box1d *_this, const double *pt);
766
771MRC_API bool MR_Box1d_contains_MR_Box1d(const MR_Box1d *_this, const MR_Box1d *otherbox);
772
777MRC_API double MR_Box1d_getBoxClosestPointTo(const MR_Box1d *_this, const double *pt);
778
783MRC_API bool MR_Box1d_intersects(const MR_Box1d *_this, const MR_Box1d *b);
784
790
796
803
809MRC_API double MR_Box1d_getDistanceSq_double(const MR_Box1d *_this, const double *pt);
810
816MRC_API double MR_Box1d_getProjection(const MR_Box1d *_this, const double *pt);
817
822MRC_API MR_Box1d MR_Box1d_expanded(const MR_Box1d *_this, const double *expansion);
823
828
832MRC_API bool MR_equal_MR_Box1d(const MR_Box1d *_this, const MR_Box1d *a);
833
837MRC_API bool MR_not_equal_MR_Box1d(const MR_Box1d *_this, const MR_Box1d *a);
838
841MRC_API const int32_t *MR_Box2i_Get_elements(void);
842
845
850
855
856// If the compiler supports `requires`, use that instead of `std::enable_if` here.
857// 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
861
866MRC_API const MR_Vector2i *MR_Box2i_index_const(const MR_Box2i *_this, int32_t e);
867
872
877
881MRC_API bool MR_Box2i_valid(const MR_Box2i *_this);
882
887
895
901
907
912
916MRC_API int32_t MR_Box2i_diagonal(const MR_Box2i *_this);
917
921MRC_API int32_t MR_Box2i_volume(const MR_Box2i *_this);
922
928
934
940
945MRC_API bool MR_Box2i_contains_MR_Box2i(const MR_Box2i *_this, const MR_Box2i *otherbox);
946
952
957MRC_API bool MR_Box2i_intersects(const MR_Box2i *_this, const MR_Box2i *b);
958
964
970
977
984
991
996MRC_API MR_Box2i MR_Box2i_expanded(const MR_Box2i *_this, const MR_Vector2i *expansion);
997
1002
1006MRC_API bool MR_equal_MR_Box2i(const MR_Box2i *_this, const MR_Box2i *a);
1007
1011MRC_API bool MR_not_equal_MR_Box2i(const MR_Box2i *_this, const MR_Box2i *a);
1012
1016
1019
1024
1029
1030// If the compiler supports `requires`, use that instead of `std::enable_if` here.
1031// 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
1035
1041
1046
1051
1056
1061
1069
1075
1081
1086
1091
1096
1102
1108
1114
1120
1126
1132
1138
1144
1151
1158
1165
1171
1176
1181
1186
1189MRC_API const int32_t *MR_Box2f_Get_elements(void);
1190
1193
1198
1203
1204// If the compiler supports `requires`, use that instead of `std::enable_if` here.
1205// 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
1209
1213
1218MRC_API const MR_Vector2f *MR_Box2f_index_const(const MR_Box2f *_this, int32_t e);
1219
1224
1229
1234
1239
1247
1253
1259
1264
1269
1274
1280
1286
1292
1297MRC_API bool MR_Box2f_contains_MR_Box2f(const MR_Box2f *_this, const MR_Box2f *otherbox);
1298
1304
1309MRC_API bool MR_Box2f_intersects(const MR_Box2f *_this, const MR_Box2f *b);
1310
1316
1322
1329
1336
1343
1349
1354
1358MRC_API bool MR_equal_MR_Box2f(const MR_Box2f *_this, const MR_Box2f *a);
1359
1363MRC_API bool MR_not_equal_MR_Box2f(const MR_Box2f *_this, const MR_Box2f *a);
1364
1367MRC_API const int32_t *MR_Box2d_Get_elements(void);
1368
1371
1376
1381
1382// If the compiler supports `requires`, use that instead of `std::enable_if` here.
1383// 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
1387
1392MRC_API const MR_Vector2d *MR_Box2d_index_const(const MR_Box2d *_this, int32_t e);
1393
1398
1403
1408
1413
1421
1427
1433
1438
1443
1447MRC_API double MR_Box2d_volume(const MR_Box2d *_this);
1448
1454
1460
1466
1471MRC_API bool MR_Box2d_contains_MR_Box2d(const MR_Box2d *_this, const MR_Box2d *otherbox);
1472
1478
1483MRC_API bool MR_Box2d_intersects(const MR_Box2d *_this, const MR_Box2d *b);
1484
1490
1496
1503
1510
1517
1523
1528
1532MRC_API bool MR_equal_MR_Box2d(const MR_Box2d *_this, const MR_Box2d *a);
1533
1537MRC_API bool MR_not_equal_MR_Box2d(const MR_Box2d *_this, const MR_Box2d *a);
1538
1541MRC_API const int32_t *MR_Box3i_Get_elements(void);
1542
1545
1550
1555
1556// If the compiler supports `requires`, use that instead of `std::enable_if` here.
1557// 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
1561
1565
1570MRC_API const MR_Vector3i *MR_Box3i_index_const(const MR_Box3i *_this, int32_t e);
1571
1576
1581
1586
1591
1599
1605
1611
1616
1620MRC_API int32_t MR_Box3i_diagonal(const MR_Box3i *_this);
1621
1625MRC_API int32_t MR_Box3i_volume(const MR_Box3i *_this);
1626
1632
1638
1644
1649MRC_API bool MR_Box3i_contains_MR_Box3i(const MR_Box3i *_this, const MR_Box3i *otherbox);
1650
1656
1661MRC_API bool MR_Box3i_intersects(const MR_Box3i *_this, const MR_Box3i *b);
1662
1668
1674
1681
1688
1695
1701
1706
1710MRC_API bool MR_equal_MR_Box3i(const MR_Box3i *_this, const MR_Box3i *a);
1711
1715MRC_API bool MR_not_equal_MR_Box3i(const MR_Box3i *_this, const MR_Box3i *a);
1716
1720
1723
1728
1733
1734// If the compiler supports `requires`, use that instead of `std::enable_if` here.
1735// 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
1739
1745
1750
1755
1760
1765
1773
1779
1785
1790
1795
1800
1806
1812
1818
1824
1830
1836
1842
1848
1855
1862
1869
1875
1880
1885
1890
1893MRC_API const int32_t *MR_Box3f_Get_elements(void);
1894
1897
1902
1907
1908// If the compiler supports `requires`, use that instead of `std::enable_if` here.
1909// 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
1913
1917
1922MRC_API const MR_Vector3f *MR_Box3f_index_const(const MR_Box3f *_this, int32_t e);
1923
1928
1933
1938
1943
1951
1957
1963
1968
1973
1978
1984
1990
1996
2001MRC_API bool MR_Box3f_contains_MR_Box3f(const MR_Box3f *_this, const MR_Box3f *otherbox);
2002
2008
2013MRC_API bool MR_Box3f_intersects(const MR_Box3f *_this, const MR_Box3f *b);
2014
2020
2026
2033
2040
2047
2053
2058
2062MRC_API bool MR_equal_MR_Box3f(const MR_Box3f *_this, const MR_Box3f *a);
2063
2067MRC_API bool MR_not_equal_MR_Box3f(const MR_Box3f *_this, const MR_Box3f *a);
2068
2071MRC_API const int32_t *MR_Box3d_Get_elements(void);
2072
2075
2080
2085
2086// If the compiler supports `requires`, use that instead of `std::enable_if` here.
2087// 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
2091
2095
2100MRC_API const MR_Vector3d *MR_Box3d_index_const(const MR_Box3d *_this, int32_t e);
2101
2106
2111
2116
2121
2129
2135
2141
2146
2151
2155MRC_API double MR_Box3d_volume(const MR_Box3d *_this);
2156
2162
2168
2174
2179MRC_API bool MR_Box3d_contains_MR_Box3d(const MR_Box3d *_this, const MR_Box3d *otherbox);
2180
2186
2191MRC_API bool MR_Box3d_intersects(const MR_Box3d *_this, const MR_Box3d *b);
2192
2198
2204
2211
2218
2225
2231
2236
2240MRC_API bool MR_equal_MR_Box3d(const MR_Box3d *_this, const MR_Box3d *a);
2241
2245MRC_API bool MR_not_equal_MR_Box3d(const MR_Box3d *_this, const MR_Box3d *a);
2246
2250
2255
2259
2264
2269
2273
2278
2282
2287
2290
2293
2298
2302
2307
2312MRC_API MR_Box_uint16_t *MR_Box_uint16_t_Construct_2(const uint16_t *min, const uint16_t *max);
2313
2318
2321
2324
2330
2335MRC_API const uint16_t *MR_Box_uint16_t_index_const(const MR_Box_uint16_t *_this, int32_t e);
2336
2340MRC_API uint16_t *MR_Box_uint16_t_index(MR_Box_uint16_t *_this, int32_t e);
2341
2346MRC_API MR_Box_uint16_t *MR_Box_uint16_t_fromMinAndSize(const uint16_t *min, const uint16_t *size);
2347
2352
2357
2364MRC_API uint16_t MR_Box_uint16_t_corner(const MR_Box_uint16_t *_this, const bool *c);
2365
2371
2377
2382
2387
2392
2398
2404
2409MRC_API bool MR_Box_uint16_t_contains_uint16_t(const MR_Box_uint16_t *_this, const uint16_t *pt);
2410
2416
2421MRC_API uint16_t MR_Box_uint16_t_getBoxClosestPointTo(const MR_Box_uint16_t *_this, const uint16_t *pt);
2422
2428
2435
2441
2448
2454MRC_API uint16_t MR_Box_uint16_t_getDistanceSq_uint16_t(const MR_Box_uint16_t *_this, const uint16_t *pt);
2455
2461MRC_API uint16_t MR_Box_uint16_t_getProjection(const MR_Box_uint16_t *_this, const uint16_t *pt);
2462
2468MRC_API MR_Box_uint16_t *MR_Box_uint16_t_expanded(const MR_Box_uint16_t *_this, const uint16_t *expansion);
2469
2475
2480
2485
2486#ifdef __cplusplus
2487} // extern "C"
2488#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 float * MR_Box1f_index(MR_Box1f *_this, int32_t e)
MRC_API MR_Box1f MR_Box1f_Construct_1(const MR_NoInit *_1)
MRC_API MR_Vector3f MR_Box3f_size(const MR_Box3f *_this)
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_Box1f_include_float(MR_Box1f *_this, const float *pt)
MRC_API void MR_Box_uint16_t_include_MR_Box_uint16_t(MR_Box_uint16_t *_this, const MR_Box_uint16_t *b)
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 uint16_t MR_Box_uint16_t_getBoxClosestPointTo(const MR_Box_uint16_t *_this, const uint16_t *pt)
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 const uint16_t * MR_Box_uint16_t_Get_min(const MR_Box_uint16_t *_this)
MRC_API const int32_t * MR_Box2f_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 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 bool MR_equal_MR_Box2f(const MR_Box2f *_this, const MR_Box2f *a)
MRC_API const int32_t * MR_Box3i_Get_elements(void)
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_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 uint16_t MR_Box_uint16_t_center(const MR_Box_uint16_t *_this)
MRC_API bool MR_Box1f_contains_float(const MR_Box1f *_this, const float *pt)
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:16
MRC_API uint16_t * MR_Box_uint16_t_GetMutable_min(MR_Box_uint16_t *_this)
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 double MR_Box1d_getDistanceSq_MR_Box1d(const MR_Box1d *_this, const MR_Box1d *b)
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_Vector2i64 * MR_Box2i64_index(MR_Box2i64 *_this, int32_t e)
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_Vector3d * MR_Box3d_index(MR_Box3d *_this, int32_t e)
struct MR_Box1i64 MR_Box1i64
MRC_API bool MR_equal_MR_Box2i(const MR_Box2i *_this, const MR_Box2i *a)
MRC_API MR_Box_uint16_t * MR_Box_uint16_t_intersection(const MR_Box_uint16_t *_this, const MR_Box_uint16_t *b)
MRC_API MR_int64_t MR_Box2i64_volume(const MR_Box2i64 *_this)
MRC_API const int32_t * MR_Box1d_Get_elements(void)
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_Vector3f * MR_Box3f_index(MR_Box3f *_this, int32_t e)
MRC_API bool MR_equal_MR_Box1i64(const MR_Box1i64 *_this, const MR_Box1i64 *a)
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 const MR_Vector3i * MR_Box3i_index_const(const MR_Box3i *_this, int32_t e)
MRC_API MR_Box_uint16_t * MR_Box_uint16_t_ConstructFromAnother(const MR_Box_uint16_t *_other)
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 const uint16_t * MR_Box_uint16_t_Get_max(const MR_Box_uint16_t *_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 int32_t * MR_Box3f_Get_elements(void)
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 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 const int32_t * MR_Box1i_index_const(const MR_Box1i *_this, int32_t e)
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 const double * MR_Box1d_index_const(const MR_Box1d *_this, int32_t e)
MRC_API void MR_Box_uint16_t_include_uint16_t(MR_Box_uint16_t *_this, const uint16_t *pt)
MRC_API bool MR_Box3i64_contains_MR_Box3i64(const MR_Box3i64 *_this, const MR_Box3i64 *otherbox)
MRC_API MR_int64_t MR_Box1i64_volume(const MR_Box1i64 *_this)
MRC_API MR_Vector2i64 MR_Box2i64_size(const MR_Box2i64 *_this)
MRC_API float MR_Box1f_volume(const MR_Box1f *_this)
MRC_API MR_Box1d MR_Box1d_Construct_2(const double *min, const double *max)
struct MR_Box2i64 MR_Box2i64
MRC_API bool MR_Box1f_valid(const MR_Box1f *_this)
MRC_API bool MR_Box3i_contains_MR_Box3i(const MR_Box3i *_this, const MR_Box3i *otherbox)
MRC_API MR_Vector2i64 MR_Box2i64_center(const MR_Box2i64 *_this)
MRC_API MR_Box3i64 * MR_Box3i64_DefaultConstructArray(size_t num_elems)
MRC_API bool MR_Box1i_contains_MR_Box1i(const MR_Box1i *_this, const MR_Box1i *otherbox)
MRC_API MR_int64_t MR_Box3i64_getDistanceSq_MR_Box3i64(const MR_Box3i64 *_this, const MR_Box3i64 *b)
MRC_API void MR_Box1d_include_MR_Box1d(MR_Box1d *_this, const MR_Box1d *b)
MRC_API MR_Box1i64 MR_Box1i64_expanded(const MR_Box1i64 *_this, const MR_int64_t *expansion)
MRC_API MR_Vector2b MR_Box2f_getMinBoxCorner(const MR_Vector2f *n)
MRC_API int32_t * MR_Box1i_index(MR_Box1i *_this, int32_t e)
MRC_API const MR_VdbVolume * MR_Box1f_StaticDowncastTo_MR_VdbVolume(const MR_Box1f *object)
MRC_API float MR_Box1f_center(const MR_Box1f *_this)
MRC_API MR_Vector3i MR_Box3i_corner(const MR_Box3i *_this, const MR_Vector3b *c)
struct MR_Box3f MR_Box3f
MRC_API bool MR_equal_MR_Box3f(const MR_Box3f *_this, const MR_Box3f *a)
MRC_API MR_Box3i64 * MR_Box3i64_intersect(MR_Box3i64 *_this, const MR_Box3i64 *b)
MRC_API MR_Box3i64 MR_Box3i64_Construct_2(const MR_Vector3i64 *min, const MR_Vector3i64 *max)
MRC_API MR_Box1f MR_Box1f_DefaultConstruct(void)
Constructs an empty (default-constructed) instance.
MRC_API bool MR_Box2d_intersects(const MR_Box2d *_this, const MR_Box2d *b)
MRC_API MR_Box3i MR_Box3i_expanded(const MR_Box3i *_this, const MR_Vector3i *expansion)
MRC_API bool MR_Box2f_contains_MR_Box2f(const MR_Box2f *_this, const MR_Box2f *otherbox)
MRC_API bool MR_not_equal_MR_Box3f(const MR_Box3f *_this, const MR_Box3f *a)
MRC_API int32_t MR_Box1i_volume(const MR_Box1i *_this)
MRC_API MR_Box2i MR_Box2i_DefaultConstruct(void)
Constructs an empty (default-constructed) instance.
MRC_API const MR_Box_uint16_t * MR_Box_uint16_t_OffsetPtr(const MR_Box_uint16_t *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_Vector2b MR_Box2d_getMinBoxCorner(const MR_Vector2d *n)
MRC_API void MR_Box3d_include_MR_Box3d(MR_Box3d *_this, const MR_Box3d *b)
MRC_API const int32_t * MR_Box3d_Get_elements(void)
struct MR_VdbVolume MR_VdbVolume
Definition MRBox.h:19
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 MR_Vector3b MR_Box3f_getMaxBoxCorner(const MR_Vector3f *n)
MRC_API MR_Vector3i64 * MR_Box3i64_index(MR_Box3i64 *_this, int32_t e)
MRC_API int32_t MR_Box2i_diagonal(const MR_Box2i *_this)
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 const float * MR_Box1f_index_const(const MR_Box1f *_this, int32_t e)
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 int32_t MR_Box3i_diagonal(const MR_Box3i *_this)
MRC_API const MR_Vector3f * MR_Box3f_index_const(const MR_Box3f *_this, int32_t e)
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 const int32_t * MR_Box_uint16_t_Get_elements(void)
MRC_API MR_Vector3f MR_Box3f_getBoxClosestPointTo(const MR_Box3f *_this, const MR_Vector3f *pt)
MRC_API int32_t MR_Box1i_getProjection(const MR_Box1i *_this, const int32_t *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 bool MR_Box_uint16_t_valid(const MR_Box_uint16_t *_this)
MRC_API MR_Box3d * MR_Box3d_DefaultConstructArray(size_t num_elems)
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 MR_Box_uint16_t * MR_Box_uint16_t_fromMinAndSize(const uint16_t *min, const uint16_t *size)
MRC_API MR_Box2i MR_Box2i_Construct_1(const MR_NoInit *_1)
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_SimpleVolumeMinMaxU16 * MR_Box_uint16_t_MutableStaticDowncastTo_MR_SimpleVolumeMinMaxU16(MR_Box_uint16_t *object)
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_Box1i MR_Box1i_Construct_2(const int32_t *min, const int32_t *max)
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_Vector3i * MR_Box3i_index(MR_Box3i *_this, int32_t 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_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 MR_Vector3b MR_Box3f_getMinBoxCorner(const MR_Vector3f *n)
MRC_API MR_Vector3b MR_Box3d_getMaxBoxCorner(const MR_Vector3d *n)
MRC_API bool MR_Box1d_getMaxBoxCorner(const double *n)
MRC_API MR_Box2d * MR_Box2d_intersect(MR_Box2d *_this, const MR_Box2d *b)
MRC_API bool MR_Box1i64_contains_MR_Box1i64(const MR_Box1i64 *_this, const MR_Box1i64 *otherbox)
MRC_API void MR_Box2d_include_MR_Vector2d(MR_Box2d *_this, const MR_Vector2d *pt)
MRC_API bool MR_Box_uint16_t_contains_uint16_t(const MR_Box_uint16_t *_this, const uint16_t *pt)
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 int32_t MR_Box2i_getDistanceSq_MR_Vector2i(const MR_Box2i *_this, const MR_Vector2i *pt)
struct MR_Box_uint16_t MR_Box_uint16_t
Definition MRBox.h:127
MRC_API MR_Box_uint16_t * MR_Box_uint16_t_DefaultConstructArray(size_t num_elems)
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 int32_t MR_Box1i_getDistanceSq_MR_Box1i(const MR_Box1i *_this, const MR_Box1i *b)
MRC_API MR_Box1i MR_Box1i_fromMinAndSize(const int32_t *min, const int32_t *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 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 MR_int64_t * MR_Box1i64_index(MR_Box1i64 *_this, int32_t e)
MRC_API int32_t MR_Box1i_corner(const MR_Box1i *_this, const bool *c)
MRC_API const MR_Vector2i64 * MR_Box2i64_index_const(const MR_Box2i64 *_this, int32_t e)
MRC_API MR_Vector2b MR_Box2d_getMaxBoxCorner(const MR_Vector2d *n)
MRC_API MR_Box_uint16_t * MR_Box_uint16_t_Construct_1(const MR_NoInit *_1)
MRC_API MR_Vector2b MR_Box2i_getMaxBoxCorner(const MR_Vector2i *n)
MRC_API float MR_Box1f_size(const MR_Box1f *_this)
MRC_API double * MR_Box1d_index(MR_Box1d *_this, int32_t e)
MRC_API float MR_Box1f_diagonal(const MR_Box1f *_this)
MRC_API bool MR_Box2i64_valid(const MR_Box2i64 *_this)
MRC_API float MR_Box3f_getDistanceSq_MR_Vector3f(const MR_Box3f *_this, const MR_Vector3f *pt)
MRC_API MR_Box2d MR_Box2d_DefaultConstruct(void)
Constructs an empty (default-constructed) instance.
MRC_API MR_Vector2f MR_Box2f_getProjection(const MR_Box2f *_this, const MR_Vector2f *pt)
MRC_API int32_t MR_Box1i_diagonal(const MR_Box1i *_this)
MRC_API uint16_t * MR_Box_uint16_t_index(MR_Box_uint16_t *_this, int32_t e)
MRC_API int32_t MR_Box3i_getDistanceSq_MR_Box3i(const MR_Box3i *_this, const MR_Box3i *b)
MRC_API double MR_Box1d_size(const MR_Box1d *_this)
MRC_API MR_Box_uint16_t * MR_Box_uint16_t_Construct_2(const uint16_t *min, const uint16_t *max)
MRC_API MR_Box2d MR_Box2d_fromMinAndSize(const MR_Vector2d *min, const MR_Vector2d *size)
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 const MR_Vector3i64 * MR_Box3i64_index_const(const MR_Box3i64 *_this, int32_t e)
MRC_API int32_t MR_Box1i_size(const MR_Box1i *_this)
MRC_API uint16_t MR_Box_uint16_t_volume(const MR_Box_uint16_t *_this)
MRC_API void MR_Box_uint16_t_DestroyArray(const MR_Box_uint16_t *_this)
Destroys a heap-allocated array of MR_Box_uint16_t. Does nothing if the pointer is null.
MRC_API MR_int64_t MR_Box1i64_getBoxClosestPointTo(const MR_Box1i64 *_this, const MR_int64_t *pt)
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 const int32_t * MR_Box2d_Get_elements(void)
MRC_API MR_Box3f MR_Box3f_expanded(const MR_Box3f *_this, const MR_Vector3f *expansion)
MRC_API const MR_SimpleVolumeMinMaxU16 * MR_Box_uint16_t_StaticDowncastTo_MR_SimpleVolumeMinMaxU16(const MR_Box_uint16_t *object)
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 const int32_t * MR_Box2i_Get_elements(void)
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:17
MRC_API bool MR_Box2i_contains_MR_Vector2i(const MR_Box2i *_this, const MR_Vector2i *pt)
MRC_API int32_t MR_Box2i_volume(const MR_Box2i *_this)
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 const int32_t * MR_Box3i64_Get_elements(void)
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 void MR_Box_uint16_t_Set_min(MR_Box_uint16_t *_this, uint16_t value)
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 bool MR_Box_uint16_t_contains_MR_Box_uint16_t(const MR_Box_uint16_t *_this, const MR_Box_uint16_t *otherbox)
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 const uint16_t * MR_Box_uint16_t_index_const(const MR_Box_uint16_t *_this, int32_t e)
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 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 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 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 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 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 int32_t MR_Box1i_getBoxClosestPointTo(const MR_Box1i *_this, const int32_t *pt)
MRC_API MR_Vector3d MR_Box3d_getBoxClosestPointTo(const MR_Box3d *_this, const MR_Vector3d *pt)
MRC_API uint16_t MR_Box_uint16_t_getDistanceSq_uint16_t(const MR_Box_uint16_t *_this, const uint16_t *pt)
struct MR_Box1i MR_Box1i
MRC_API bool MR_Box1i_getMinBoxCorner(const int32_t *n)
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 bool MR_Box_uint16_t_intersects(const MR_Box_uint16_t *_this, const MR_Box_uint16_t *b)
MRC_API double MR_Box3d_diagonal(const MR_Box3d *_this)
MRC_API const MR_Vector2d * MR_Box2d_index_const(const MR_Box2d *_this, int32_t e)
MRC_API void MR_Box_uint16_t_Set_max(MR_Box_uint16_t *_this, uint16_t value)
MRC_API MR_Box2f MR_Box2f_Construct_MR_Vector2f(const MR_Box2f *a)
MRC_API void MR_Box1i_include_int32_t(MR_Box1i *_this, const int32_t *pt)
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 int32_t MR_Box1i_getDistanceSq_int32_t(const MR_Box1i *_this, const int32_t *pt)
MRC_API MR_Box2i * MR_Box2i_intersect(MR_Box2i *_this, const MR_Box2i *b)
struct MR_SimpleVolumeMinMaxU16 MR_SimpleVolumeMinMaxU16
Definition MRBox.h:18
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 double MR_Box1d_corner(const MR_Box1d *_this, const bool *c)
MRC_API void MR_Box_uint16_t_Destroy(const MR_Box_uint16_t *_this)
Destroys a heap-allocated instance of MR_Box_uint16_t. Does nothing if the pointer is null.
MRC_API MR_Box2i64 * MR_Box2i64_DefaultConstructArray(size_t num_elems)
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 uint16_t MR_Box_uint16_t_corner(const MR_Box_uint16_t *_this, const bool *c)
MRC_API const MR_Vector3d * MR_Box3d_index_const(const MR_Box3d *_this, int32_t e)
MRC_API void MR_Box2i_include_MR_Vector2i(MR_Box2i *_this, const MR_Vector2i *pt)
MRC_API const int32_t * MR_Box1f_Get_elements(void)
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 MR_Box_uint16_t * MR_Box_uint16_t_DefaultConstruct(void)
MRC_API bool MR_not_equal_MR_Box3i(const MR_Box3i *_this, const MR_Box3i *a)
MRC_API const int32_t * MR_Box1i64_Get_elements(void)
struct MR_Box2i MR_Box2i
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 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 MR_Box_uint16_t * MR_Box_uint16_t_insignificantlyExpanded(const MR_Box_uint16_t *_this)
MRC_API uint16_t MR_Box_uint16_t_getProjection(const MR_Box_uint16_t *_this, const uint16_t *pt)
MRC_API void MR_Box3d_include_MR_Vector3d(MR_Box3d *_this, const MR_Vector3d *pt)
MRC_API bool MR_Box1i_contains_int32_t(const MR_Box1i *_this, const int32_t *pt)
MRC_API MR_Vector2d * MR_Box2d_index(MR_Box2d *_this, int32_t e)
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 const int32_t * MR_Box1i_Get_elements(void)
MRC_API uint16_t MR_Box_uint16_t_size(const MR_Box_uint16_t *_this)
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 int32_t MR_Box1i_center(const MR_Box1i *_this)
MRC_API MR_Vector2f * MR_Box2f_index(MR_Box2f *_this, int32_t e)
MRC_API MR_Box_uint16_t * MR_Box_uint16_t_expanded(const MR_Box_uint16_t *_this, const uint16_t *expansion)
MRC_API MR_Box1d MR_Box1d_expanded(const MR_Box1d *_this, const double *expansion)
struct MR_Box1f MR_Box1f
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 uint16_t MR_Box_uint16_t_getDistanceSq_MR_Box_uint16_t(const MR_Box_uint16_t *_this, const MR_Box_uint16_t *b)
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 int32_t MR_Box3i_getDistanceSq_MR_Vector3i(const MR_Box3i *_this, const MR_Vector3i *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 bool MR_Box_uint16_t_getMaxBoxCorner(const uint16_t *n)
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 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 uint16_t * MR_Box_uint16_t_GetMutable_max(MR_Box_uint16_t *_this)
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 MR_Box1i64 MR_Box1i64_Construct_2(const MR_int64_t *min, const MR_int64_t *max)
MRC_API int32_t MR_Box2i_getDistanceSq_MR_Box2i(const MR_Box2i *_this, const MR_Box2i *b)
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 bool MR_Box1i_getMaxBoxCorner(const int32_t *n)
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 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 uint16_t MR_Box_uint16_t_diagonal(const MR_Box_uint16_t *_this)
MRC_API bool MR_Box_uint16_t_getMinBoxCorner(const uint16_t *n)
MRC_API const MR_Vector2f * MR_Box2f_index_const(const MR_Box2f *_this, int32_t e)
MRC_API MR_Vector3i MR_Box3i_center(const MR_Box3i *_this)
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_Box_uint16_t * MR_Box_uint16_t_AssignFromAnother(MR_Box_uint16_t *_this, const MR_Box_uint16_t *_other)
MRC_API bool MR_not_equal_MR_Box_uint16_t(const MR_Box_uint16_t *_this, const MR_Box_uint16_t *a)
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 const int32_t * MR_Box2i64_Get_elements(void)
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 const MR_Vector2i * MR_Box2i_index_const(const MR_Box2i *_this, int32_t e)
MRC_API bool MR_Box1f_intersects(const MR_Box1f *_this, const MR_Box1f *b)
MRC_API MR_Box3f MR_Box3f_Construct_2(const MR_Vector3f *min, const MR_Vector3f *max)
MRC_API MR_Box_uint16_t * MR_Box_uint16_t_OffsetMutablePtr(MR_Box_uint16_t *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_Vector3i64 MR_Box3i64_getProjection(const MR_Box3i64 *_this, const MR_Vector3i64 *pt)
MRC_API bool MR_Box1i64_contains_int64_t(const MR_Box1i64 *_this, const MR_int64_t *pt)
MRC_API bool MR_Box1d_valid(const MR_Box1d *_this)
MRC_API bool MR_equal_MR_Box_uint16_t(const MR_Box_uint16_t *_this, const MR_Box_uint16_t *a)
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 MR_Box1i MR_Box1i_expanded(const MR_Box1i *_this, const int32_t *expansion)
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_Vector2i * MR_Box2i_index(MR_Box2i *_this, int32_t e)
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_Box_uint16_t * MR_Box_uint16_t_intersect(MR_Box_uint16_t *_this, const MR_Box_uint16_t *b)
MRC_API const MR_int64_t * MR_Box1i64_index_const(const MR_Box1i64 *_this, int32_t e)
MRC_API int32_t MR_Box3i_volume(const MR_Box3i *_this)
MRC_API MR_Box3f MR_Box3f_intersection(const MR_Box3f *_this, const MR_Box3f *b)
MRC_API float MR_Box2f_volume(const MR_Box2f *_this)
MRC_API MR_Box3d MR_Box3d_DefaultConstruct(void)
Constructs an empty (default-constructed) instance.
int64_t MR_int64_t
Definition common.h:13
#define MRC_API
Definition exports.h:11
size_t size() const
Definition MRBox.h:53
double min
Definition MRBox.h:54
double max
Definition MRBox.h:55
Definition MRBox.h:45
float min
Definition MRBox.h:46
float max
Definition MRBox.h:47
Definition MRBox.h:33
MR_int64_t min
Definition MRBox.h:34
MR_int64_t max
Definition MRBox.h:35
Definition MRBox.h:25
int32_t max
Definition MRBox.h:27
int32_t min
Definition MRBox.h:26
Definition MRBox.h:85
MR_Vector2d min
Definition MRBox.h:86
MR_Vector2d max
Definition MRBox.h:87
Definition MRBox.h:77
MR_Vector2f max
Definition MRBox.h:79
MR_Vector2f min
Definition MRBox.h:78
Definition MRBox.h:69
MR_Vector2i64 min
Definition MRBox.h:70
MR_Vector2i64 max
Definition MRBox.h:71
Definition MRBox.h:61
MR_Vector2i min
Definition MRBox.h:62
MR_Vector2i max
Definition MRBox.h:63
Definition MRBox.h:117
MR_Vector3d min
Definition MRBox.h:118
MR_Vector3d max
Definition MRBox.h:119
Definition MRBox.h:109
MR_Vector3f min
Definition MRBox.h:110
MR_Vector3f max
Definition MRBox.h:111
Definition MRBox.h:101
MR_Vector3i64 max
Definition MRBox.h:103
MR_Vector3i64 min
Definition MRBox.h:102
Definition MRBox.h:93
MR_Vector3i min
Definition MRBox.h:94
MR_Vector3i max
Definition MRBox.h:95
Definition MRVector2.h:20
Definition MRVector2.h:52
Definition MRVector2.h:44
Definition MRVector2.h:36
Definition MRVector2.h:28
Definition MRVector3.h:24
Definition MRVector3.h:60
Definition MRVector3.h:51
Definition MRVector3.h:42
Definition MRVector3.h:33