MeshLib C Docs
Loading...
Searching...
No Matches
MRVector3.h
Go to the documentation of this file.
1#pragma once
2
3#include <MRCMisc/common.h>
4#include <MRCMisc/exports.h>
5
6#include <stdbool.h>
7#include <stddef.h>
8
9#ifdef __cplusplus
10extern "C" {
11#endif
12
13typedef struct MR_AffineXf3d MR_AffineXf3d; // Defined in `#include <MRCMesh/MRAffineXf.h>`.
14typedef struct MR_AffineXf3f MR_AffineXf3f; // Defined in `#include <MRCMesh/MRAffineXf.h>`.
15typedef struct MR_NoInit MR_NoInit; // Defined in `#include <MRCMesh/MRMeshFwd.h>`.
16typedef struct MR_std_istream MR_std_istream; // Defined in `#include <MRCMisc/iostream.h>`.
17typedef struct MR_std_ostream MR_std_ostream; // Defined in `#include <MRCMisc/iostream.h>`.
18typedef struct MR_std_pair_MR_Vector3d_MR_Vector3d MR_std_pair_MR_Vector3d_MR_Vector3d; // Defined in `#include <MRCMisc/std_pair_MR_Vector3d_MR_Vector3d.h>`.
19typedef struct MR_std_pair_MR_Vector3f_MR_Vector3f MR_std_pair_MR_Vector3f_MR_Vector3f; // Defined in `#include <MRCMisc/std_pair_MR_Vector3f_MR_Vector3f.h>`.
20
21
24typedef struct MR_Vector3b
25{
26 bool x;
27 bool y;
28 bool z;
30
39
44
46typedef struct MR_Vector3f
47{
48 float x;
49 float y;
50 float z;
52
54typedef struct MR_Vector3d
55{
56 double x;
57 double y;
58 double z;
60
62typedef struct MR_Vector3i
63{
64 int x;
65 int y;
66 int z;
68
72
75
80
85
88
91
94
97
100
104MRC_API const bool *MR_Vector3b_index(const MR_Vector3b *_this, int e);
105
110
114
118
123
128
129// NOTE: We use `std::declval()` in the operators below because libclang 18 in our binding generator is bugged and chokes on decltyping `a.x` and such. TODO fix this when we update libclang.
134
138
143
148
152
156
159
165
171
176
181
187
193
197
200
205
210
216
219
222
225
228
231
234
237
242
247
251
255
260
265
270
271// NOTE: We use `std::declval()` in the operators below because libclang 18 in our binding generator is bugged and chokes on decltyping `a.x` and such. TODO fix this when we update libclang.
276
280
285
290
294
298
301
307
313
318
323
329
335
339
345
351
357
363
369
375
381
387
393
397
402
406
410
416
422
428MRC_API MR_Vector3_unsigned_char *MR_Vector3_unsigned_char_Construct_3(unsigned char x, unsigned char y, unsigned char z);
429
432
435
443
447
451
455
459
463MRC_API const unsigned char *MR_Vector3_unsigned_char_index(const MR_Vector3_unsigned_char *_this, int e);
464
469
473
477
483
488
493
494// NOTE: We use `std::declval()` in the operators below because libclang 18 in our binding generator is bugged and chokes on decltyping `a.x` and such. TODO fix this when we update libclang.
499
503
508
513
517
521
525
531
537
542
547
553
559
565
571
577
583
589
595
601
607
613
619
625
631
637
643
648
653
658
664MRC_API float MR_mixed_float(const MR_Vector3f *a, const MR_Vector3f *b, const MR_Vector3f *c);
665
671MRC_API double MR_mixed_double(const MR_Vector3d *a, const MR_Vector3d *b, const MR_Vector3d *c);
672
678MRC_API int MR_mixed_int(const MR_Vector3i *a, const MR_Vector3i *b, const MR_Vector3i *c);
679
685
691
697
703
709
715
722
729
736
739MRC_API MR_Vector3f MR_unitVector3_float(float azimuth, float altitude);
740
743MRC_API MR_Vector3d MR_unitVector3_double(double azimuth, double altitude);
744
748
751
756
761
763MRC_API MR_Vector3f MR_Vector3f_Construct_3(float x, float y, float z);
764
765// Here `T == U` doesn't seem to cause any issues in the C++ code, but we're still disabling it because it somehow gets emitted
766// when generating the bindings, and looks out of place there.
771
772// Here `T == U` doesn't seem to cause any issues in the C++ code, but we're still disabling it because it somehow gets emitted
773// when generating the bindings, and looks out of place there.
778
781
784
787
790
793
796
799
803MRC_API const float *MR_Vector3f_index(const MR_Vector3f *_this, int e);
804
809
813
817
821
825
830
835
840
844
849
854
855// NOTE: We use `std::declval()` in the operators below because libclang 18 in our binding generator is bugged and chokes on decltyping `a.x` and such. TODO fix this when we update libclang.
860
864
869
874
878
882
885
891
897
902
907
913
919
923
926
931
936
938MRC_API MR_Vector3d MR_Vector3d_Construct_3(double x, double y, double z);
939
940// Here `T == U` doesn't seem to cause any issues in the C++ code, but we're still disabling it because it somehow gets emitted
941// when generating the bindings, and looks out of place there.
946
949
952
955
958
961
964
967
971MRC_API const double *MR_Vector3d_index(const MR_Vector3d *_this, int e);
972
977
981
985
989
993
998
1003
1008
1012
1017
1022
1023// NOTE: We use `std::declval()` in the operators below because libclang 18 in our binding generator is bugged and chokes on decltyping `a.x` and such. TODO fix this when we update libclang.
1028
1032
1037
1042
1046
1050
1053
1059
1065
1070
1075
1081
1087
1091
1094
1099
1104
1107
1108// Here `T == U` doesn't seem to cause any issues in the C++ code, but we're still disabling it because it somehow gets emitted
1109// when generating the bindings, and looks out of place there.
1114
1117
1120
1123
1126
1129
1132
1135
1139MRC_API const int *MR_Vector3i_index(const MR_Vector3i *_this, int e);
1140
1145
1149
1153
1157
1162
1167
1168// NOTE: We use `std::declval()` in the operators below because libclang 18 in our binding generator is bugged and chokes on decltyping `a.x` and such. TODO fix this when we update libclang.
1173
1177
1182
1187
1191
1195
1198
1204
1210
1215
1220
1226
1232
1233#ifdef __cplusplus
1234} // extern "C"
1235#endif
struct MR_NoInit MR_NoInit
Definition MRBox.h:15
struct MR_std_ostream MR_std_ostream
A C++ output stream.
Definition MRCtm.h:31
struct MR_std_istream MR_std_istream
A C++ input stream.
Definition MRCtm.h:28
struct MR_Vector3_unsigned_char MR_Vector3_unsigned_char
Definition MRMatrix3.h:14
MRC_API MR_Vector3d MR_Vector3d_Construct_float(const MR_Vector3f *v)
MRC_API const unsigned char * MR_Vector3_unsigned_char_index(const MR_Vector3_unsigned_char *_this, int e)
MRC_API MR_Vector3b MR_Vector3b_plusX(void)
Generated from method MR::Vector3b::plusX.
MRC_API unsigned char * MR_Vector3_unsigned_char_GetMutable_y(MR_Vector3_unsigned_char *_this)
MRC_API MR_Vector3d MR_mul_MR_Vector3d_double(const MR_Vector3d *b, double a)
MRC_API MR_Vector3i MR_sub_MR_Vector3_unsigned_char(const MR_Vector3_unsigned_char *a, const MR_Vector3_unsigned_char *b)
MRC_API bool MR_not_equal_MR_Vector3b(const MR_Vector3b *a, const MR_Vector3b *b)
MRC_API MR_Vector3f MR_Vector3f_normalized(const MR_Vector3f *_this)
MRC_API MR_Vector3i MR_mul_bool_MR_Vector3b(bool a, const MR_Vector3b *b)
MRC_API MR_Vector3f MR_Vector3f_DefaultConstruct(void)
Constructs an empty (default-constructed) instance.
MRC_API MR_Vector3f MR_Vector3f_plusY(void)
Generated from method MR::Vector3f::plusY.
MRC_API const unsigned char * MR_Vector3_unsigned_char_Get_x(const MR_Vector3_unsigned_char *_this)
MRC_API MR_Vector3d MR_add_MR_Vector3d(const MR_Vector3d *a, const MR_Vector3d *b)
MRC_API MR_Vector3d MR_Vector3d_transformed(const MR_Vector3d *_this, const MR_AffineXf3d *xf)
MRC_API MR_Vector3f * MR_div_assign_MR_Vector3f_float(MR_Vector3f *a, float b)
MRC_API MR_Vector3f MR_Vector3f_furthestBasisVector(const MR_Vector3f *_this)
MRC_API double MR_dot_double_MR_Vector3d(const MR_Vector3d *a, const MR_Vector3d *b)
MRC_API MR_Vector3f MR_Vector3f_transformed(const MR_Vector3f *_this, const MR_AffineXf3f *xf)
MRC_API MR_Vector3i MR_sub_MR_Vector3i(const MR_Vector3i *a, const MR_Vector3i *b)
MRC_API const MR_Vector3b * MR_pos_MR_Vector3b(const MR_Vector3b *a)
MRC_API double MR_Vector3_unsigned_char_length(const MR_Vector3_unsigned_char *_this)
MRC_API MR_Vector3i * MR_mul_assign_MR_Vector3i_int(MR_Vector3i *a, int b)
MRC_API bool MR_not_equal_MR_Vector3d(const MR_Vector3d *a, const MR_Vector3d *b)
MRC_API MR_Vector3d MR_cross_double_MR_Vector3d(const MR_Vector3d *a, const MR_Vector3d *b)
MRC_API const float * MR_Vector3f_index(const MR_Vector3f *_this, int e)
MRC_API MR_Vector3f MR_Vector3f_plusZ(void)
Generated from method MR::Vector3f::plusZ.
MRC_API MR_Vector3i MR_div_MR_Vector3b_bool(MR_Vector3b b, bool a)
Generated from function MR::operator/.
MRC_API void MR_Vector3_unsigned_char_DestroyArray(const MR_Vector3_unsigned_char *_this)
Destroys a heap-allocated array of MR_Vector3_unsigned_char. Does nothing if the pointer is null.
MRC_API double MR_mixed_double(const MR_Vector3d *a, const MR_Vector3d *b, const MR_Vector3d *c)
MRC_API float MR_sqr_float_MR_Vector3f(const MR_Vector3f *a)
MRC_API float * MR_Vector3f_index_mut(MR_Vector3f *_this, int e)
MRC_API int MR_Vector3i_lengthSq(const MR_Vector3i *_this)
MRC_API MR_Vector3d * MR_mul_assign_MR_Vector3d_double(MR_Vector3d *a, double b)
MRC_API MR_Vector3d MR_sub_MR_Vector3d(const MR_Vector3d *a, const MR_Vector3d *b)
MRC_API bool MR_equal_MR_Vector3i64(const MR_Vector3i64 *a, const MR_Vector3i64 *b)
MRC_API MR_Vector3i MR_div_MR_Vector3_unsigned_char_unsigned_char(const MR_Vector3_unsigned_char *b, unsigned char a)
MRC_API MR_Vector3i MR_neg_MR_Vector3b(const MR_Vector3b *a)
MRC_API MR_Vector3i64 MR_Vector3i64_Construct_3(MR_int64_t x, MR_int64_t y, MR_int64_t z)
MRC_API MR_std_ostream * MR_print_MR_Vector3b(MR_std_ostream *s, const MR_Vector3b *vec)
MRC_API MR_Vector3_unsigned_char * MR_Vector3_unsigned_char_Construct_1(const MR_NoInit *_1)
MRC_API MR_Vector3i MR_add_MR_Vector3_unsigned_char(const MR_Vector3_unsigned_char *a, const MR_Vector3_unsigned_char *b)
MRC_API MR_Vector3f MR_Vector3f_plusX(void)
Generated from method MR::Vector3f::plusX.
MRC_API MR_Vector3b * MR_add_assign_MR_Vector3b(MR_Vector3b *a, const MR_Vector3b *b)
MRC_API MR_Vector3i MR_mul_int_MR_Vector3i(int a, const MR_Vector3i *b)
MRC_API float MR_Vector3f_length(const MR_Vector3f *_this)
MRC_API MR_Vector3i64 * MR_Vector3i64_DefaultConstructArray(size_t num_elems)
MRC_API unsigned char * MR_Vector3_unsigned_char_GetMutable_z(MR_Vector3_unsigned_char *_this)
MRC_API MR_Vector3b MR_Vector3b_Construct_1(const MR_NoInit *_1)
MRC_API bool * MR_Vector3b_index_mut(MR_Vector3b *_this, int e)
MRC_API MR_Vector3d MR_Vector3d_DefaultConstruct(void)
Constructs an empty (default-constructed) instance.
MRC_API MR_Vector3d * MR_add_assign_MR_Vector3d(MR_Vector3d *a, const MR_Vector3d *b)
MRC_API MR_Vector3i MR_Vector3i_Construct_3(int x, int y, int z)
Generated from constructor MR::Vector3i::Vector3i.
MRC_API const int * MR_Vector3i64_Get_elements(void)
MRC_API MR_Vector3_unsigned_char * MR_Vector3_unsigned_char_plusZ(void)
MRC_API MR_Vector3f MR_Vector3f_minusZ(void)
Generated from method MR::Vector3f::minusZ.
MRC_API const unsigned char * MR_Vector3_unsigned_char_Get_z(const MR_Vector3_unsigned_char *_this)
MRC_API MR_Vector3i64 * MR_mul_assign_MR_Vector3i64_int64_t(MR_Vector3i64 *a, MR_int64_t b)
MRC_API const int * MR_Vector3i_index(const MR_Vector3i *_this, int e)
MRC_API int * MR_Vector3i_index_mut(MR_Vector3i *_this, int e)
MRC_API void MR_Vector3f_unsignZeroValues(MR_Vector3f *_this)
MRC_API MR_Vector3f * MR_Vector3f_DefaultConstructArray(size_t num_elems)
MRC_API MR_Vector3i MR_neg_MR_Vector3i(const MR_Vector3i *a)
MRC_API double MR_distanceSq_double_MR_Vector3d(const MR_Vector3d *a, const MR_Vector3d *b)
MRC_API MR_Vector3i64 MR_sub_MR_Vector3i64(const MR_Vector3i64 *a, const MR_Vector3i64 *b)
MRC_API MR_Vector3b * MR_mul_assign_MR_Vector3b_bool(MR_Vector3b *a, bool b)
MRC_API MR_Vector3i MR_add_MR_Vector3i(const MR_Vector3i *a, const MR_Vector3i *b)
MRC_API MR_Vector3_unsigned_char * MR_add_assign_MR_Vector3_unsigned_char(MR_Vector3_unsigned_char *a, const MR_Vector3_unsigned_char *b)
MRC_API MR_std_istream * MR_input_MR_Vector3b(MR_std_istream *s, MR_Vector3b *vec)
MRC_API MR_Vector3_unsigned_char * MR_Vector3_unsigned_char_plusY(void)
MRC_API MR_Vector3d MR_Vector3d_Construct_1(const MR_NoInit *_1)
MRC_API MR_Vector3i MR_mult_int_MR_Vector3i(const MR_Vector3i *a, const MR_Vector3i *b)
MRC_API MR_Vector3i64 MR_Vector3i64_DefaultConstruct(void)
Constructs an empty (default-constructed) instance.
MRC_API MR_Vector3i64 * MR_add_assign_MR_Vector3i64(MR_Vector3i64 *a, const MR_Vector3i64 *b)
MRC_API MR_Vector3_unsigned_char * MR_mul_assign_MR_Vector3_unsigned_char_unsigned_char(MR_Vector3_unsigned_char *a, unsigned char b)
MRC_API MR_Vector3i64 * MR_sub_assign_MR_Vector3i64(MR_Vector3i64 *a, const MR_Vector3i64 *b)
MRC_API void MR_Vector3_unsigned_char_Set_y(MR_Vector3_unsigned_char *_this, unsigned char value)
MRC_API MR_Vector3f MR_Vector3f_Construct_int(const MR_Vector3i *v)
MRC_API MR_Vector3i MR_Vector3i_DefaultConstruct(void)
Constructs an empty (default-constructed) instance.
MRC_API MR_Vector3_unsigned_char * MR_Vector3_unsigned_char_DefaultConstructArray(size_t num_elems)
MRC_API void MR_Vector3_unsigned_char_Set_x(MR_Vector3_unsigned_char *_this, unsigned char value)
MRC_API int MR_dot_bool_MR_Vector3b(const MR_Vector3b *a, const MR_Vector3b *b)
MRC_API MR_Vector3d MR_mul_double_MR_Vector3d(double a, const MR_Vector3d *b)
MRC_API bool MR_not_equal_MR_Vector3i(const MR_Vector3i *a, const MR_Vector3i *b)
MRC_API MR_Vector3i64 MR_add_MR_Vector3i64(const MR_Vector3i64 *a, const MR_Vector3i64 *b)
MRC_API const MR_Vector3d * MR_pos_MR_Vector3d(const MR_Vector3d *a)
MRC_API const int * MR_Vector3_unsigned_char_Get_elements(void)
MRC_API const int * MR_Vector3i_Get_elements(void)
MRC_API MR_Vector3i64 MR_Vector3i64_plusY(void)
Generated from method MR::Vector3i64::plusY.
MRC_API MR_std_istream * MR_input_MR_Vector3_unsigned_char(MR_std_istream *s, MR_Vector3_unsigned_char *vec)
MRC_API MR_std_ostream * MR_print_MR_Vector3d(MR_std_ostream *s, const MR_Vector3d *vec)
MRC_API const MR_Vector3i * MR_pos_MR_Vector3i(const MR_Vector3i *a)
MRC_API MR_std_pair_MR_Vector3f_MR_Vector3f * MR_Vector3f_perpendicular(const MR_Vector3f *_this)
MRC_API int MR_mixed_int(const MR_Vector3i *a, const MR_Vector3i *b, const MR_Vector3i *c)
MRC_API MR_Vector3i64 MR_Vector3i64_Construct_1(const MR_NoInit *_1)
MRC_API MR_Vector3i MR_Vector3i_Construct_1(const MR_NoInit *_1)
MRC_API MR_std_istream * MR_input_MR_Vector3f(MR_std_istream *s, MR_Vector3f *vec)
MRC_API MR_Vector3_unsigned_char * MR_Vector3_unsigned_char_OffsetMutablePtr(MR_Vector3_unsigned_char *ptr, ptrdiff_t i)
MRC_API MR_Vector3i MR_Vector3i_Construct_float(const MR_Vector3f *v)
MRC_API int MR_angle_int_MR_Vector3i(const MR_Vector3i *a, const MR_Vector3i *b)
MRC_API MR_Vector3i64 MR_div_MR_Vector3i64_int64_t(MR_Vector3i64 b, MR_int64_t a)
Generated from function MR::operator/.
MRC_API MR_Vector3b * MR_sub_assign_MR_Vector3b(MR_Vector3b *a, const MR_Vector3b *b)
MRC_API MR_Vector3d MR_Vector3d_plusY(void)
Generated from method MR::Vector3d::plusY.
MRC_API MR_Vector3i MR_cross_int_MR_Vector3i(const MR_Vector3i *a, const MR_Vector3i *b)
MRC_API float MR_distance_float_MR_Vector3f(const MR_Vector3f *a, const MR_Vector3f *b)
MRC_API double MR_Vector3i_length(const MR_Vector3i *_this)
MRC_API MR_Vector3i64 MR_Vector3i64_minusZ(void)
Generated from method MR::Vector3i64::minusZ.
MRC_API MR_Vector3i MR_sub_MR_Vector3b(const MR_Vector3b *a, const MR_Vector3b *b)
MRC_API bool MR_not_equal_MR_Vector3_unsigned_char(const MR_Vector3_unsigned_char *a, const MR_Vector3_unsigned_char *b)
MRC_API MR_Vector3i * MR_add_assign_MR_Vector3i(MR_Vector3i *a, const MR_Vector3i *b)
MRC_API bool MR_not_equal_MR_Vector3f(const MR_Vector3f *a, const MR_Vector3f *b)
struct MR_std_pair_MR_Vector3f_MR_Vector3f MR_std_pair_MR_Vector3f_MR_Vector3f
Definition MRVector3.h:19
MRC_API MR_Vector3i MR_Vector3i_plusZ(void)
Generated from method MR::Vector3i::plusZ.
MRC_API MR_Vector3f MR_mul_MR_Vector3f_float(const MR_Vector3f *b, float a)
MRC_API MR_Vector3i64 MR_mul_int64_t_MR_Vector3i64(MR_int64_t a, const MR_Vector3i64 *b)
MRC_API bool MR_equal_MR_Vector3b(const MR_Vector3b *a, const MR_Vector3b *b)
MRC_API double MR_Vector3i64_length(const MR_Vector3i64 *_this)
MRC_API MR_Vector3b MR_Vector3b_plusZ(void)
Generated from method MR::Vector3b::plusZ.
MRC_API MR_Vector3_unsigned_char * MR_Vector3_unsigned_char_DefaultConstruct(void)
MRC_API MR_Vector3f MR_Vector3f_Construct_1(const MR_NoInit *_1)
MRC_API MR_Vector3f * MR_sub_assign_MR_Vector3f(MR_Vector3f *a, const MR_Vector3f *b)
MRC_API MR_Vector3_unsigned_char * MR_Vector3_unsigned_char_diagonal(unsigned char a)
MRC_API MR_Vector3_unsigned_char * MR_Vector3_unsigned_char_ConstructFromAnother(const MR_Vector3_unsigned_char *_other)
MRC_API MR_Vector3f MR_unitVector3_float(float azimuth, float altitude)
MRC_API const MR_Vector3f * MR_pos_MR_Vector3f(const MR_Vector3f *a)
MRC_API MR_Vector3b MR_Vector3b_diagonal(bool a)
Generated from method MR::Vector3b::diagonal.
MRC_API MR_Vector3i * MR_Vector3i_DefaultConstructArray(size_t num_elems)
MRC_API MR_Vector3d MR_div_double_MR_Vector3d(const MR_Vector3d *a, const MR_Vector3d *b)
MRC_API MR_Vector3i MR_mul_MR_Vector3i_int(const MR_Vector3i *b, int a)
MRC_API MR_Vector3f MR_Vector3f_minusX(void)
Generated from method MR::Vector3f::minusX.
MRC_API MR_Vector3d MR_Vector3d_minusX(void)
Generated from method MR::Vector3d::minusX.
MRC_API MR_Vector3i MR_add_MR_Vector3b(const MR_Vector3b *a, const MR_Vector3b *b)
MRC_API unsigned char * MR_Vector3_unsigned_char_GetMutable_x(MR_Vector3_unsigned_char *_this)
MRC_API float MR_angle_float_MR_Vector3f(const MR_Vector3f *a, const MR_Vector3f *b)
MRC_API bool MR_equal_MR_Vector3f(const MR_Vector3f *a, const MR_Vector3f *b)
MRC_API MR_Vector3d MR_mult_double_MR_Vector3d(const MR_Vector3d *a, const MR_Vector3d *b)
MRC_API bool MR_Vector3d_isFinite(const MR_Vector3d *_this)
MRC_API const int * MR_Vector3d_Get_elements(void)
MRC_API MR_Vector3d MR_Vector3d_minusY(void)
Generated from method MR::Vector3d::minusY.
MRC_API MR_Vector3f MR_sub_MR_Vector3f(const MR_Vector3f *a, const MR_Vector3f *b)
MRC_API MR_std_istream * MR_input_MR_Vector3i(MR_std_istream *s, MR_Vector3i *vec)
MRC_API int MR_sqr_int_MR_Vector3i(const MR_Vector3i *a)
MRC_API MR_Vector3d MR_Vector3d_minusZ(void)
Generated from method MR::Vector3d::minusZ.
MRC_API MR_Vector3_unsigned_char * MR_sub_assign_MR_Vector3_unsigned_char(MR_Vector3_unsigned_char *a, const MR_Vector3_unsigned_char *b)
MRC_API MR_Vector3b * MR_div_assign_MR_Vector3b_bool(MR_Vector3b *a, bool b)
MRC_API MR_Vector3i64 MR_Vector3i64_minusX(void)
Generated from method MR::Vector3i64::minusX.
MRC_API unsigned char * MR_Vector3_unsigned_char_index_mut(MR_Vector3_unsigned_char *_this, int e)
MRC_API MR_Vector3i64 MR_neg_MR_Vector3i64(const MR_Vector3i64 *a)
MRC_API MR_Vector3b MR_Vector3b_Construct_3(bool x, bool y, bool z)
Generated from constructor MR::Vector3b::Vector3b.
MRC_API MR_Vector3f MR_add_MR_Vector3f(const MR_Vector3f *a, const MR_Vector3f *b)
MRC_API MR_Vector3i MR_neg_MR_Vector3_unsigned_char(const MR_Vector3_unsigned_char *a)
MRC_API MR_Vector3d * MR_div_assign_MR_Vector3d_double(MR_Vector3d *a, double b)
MRC_API MR_Vector3i MR_Vector3i_plusX(void)
Generated from method MR::Vector3i::plusX.
MRC_API MR_Vector3_unsigned_char * MR_Vector3_unsigned_char_AssignFromAnother(MR_Vector3_unsigned_char *_this, const MR_Vector3_unsigned_char *_other)
MRC_API MR_Vector3i MR_div_int_MR_Vector3i(const MR_Vector3i *a, const MR_Vector3i *b)
MRC_API MR_Vector3b MR_Vector3b_plusY(void)
Generated from method MR::Vector3b::plusY.
MRC_API MR_Vector3f MR_cross_float_MR_Vector3f(const MR_Vector3f *a, const MR_Vector3f *b)
MRC_API const MR_Vector3_unsigned_char * MR_Vector3_unsigned_char_OffsetPtr(const MR_Vector3_unsigned_char *ptr, ptrdiff_t i)
MRC_API float MR_dot_float_MR_Vector3f(const MR_Vector3f *a, const MR_Vector3f *b)
MRC_API MR_Vector3i64 MR_Vector3i64_minusY(void)
Generated from method MR::Vector3i64::minusY.
MRC_API double MR_Vector3d_lengthSq(const MR_Vector3d *_this)
MRC_API bool MR_equal_MR_Vector3d(const MR_Vector3d *a, const MR_Vector3d *b)
MRC_API MR_Vector3f MR_Vector3f_Construct_double(const MR_Vector3d *v)
MRC_API MR_Vector3i64 * MR_div_assign_MR_Vector3i64_int64_t(MR_Vector3i64 *a, MR_int64_t b)
MRC_API MR_Vector3f MR_mul_float_MR_Vector3f(float a, const MR_Vector3f *b)
MRC_API double MR_distance_double_MR_Vector3d(const MR_Vector3d *a, const MR_Vector3d *b)
MRC_API bool MR_equal_MR_Vector3i(const MR_Vector3i *a, const MR_Vector3i *b)
MRC_API MR_Vector3f MR_Vector3f_diagonal(float a)
Generated from method MR::Vector3f::diagonal.
MRC_API MR_Vector3i MR_mul_MR_Vector3_unsigned_char_unsigned_char(const MR_Vector3_unsigned_char *b, unsigned char a)
MRC_API MR_Vector3_unsigned_char * MR_Vector3_unsigned_char_plusX(void)
MRC_API const MR_Vector3i64 * MR_pos_MR_Vector3i64(const MR_Vector3i64 *a)
MRC_API MR_Vector3f MR_div_float_MR_Vector3f(const MR_Vector3f *a, const MR_Vector3f *b)
MRC_API MR_Vector3f MR_div_MR_Vector3f_float(MR_Vector3f b, float a)
Generated from function MR::operator/.
MRC_API unsigned char MR_Vector3_unsigned_char_lengthSq(const MR_Vector3_unsigned_char *_this)
MRC_API MR_int64_t MR_Vector3i64_lengthSq(const MR_Vector3i64 *_this)
MRC_API MR_Vector3i MR_Vector3i_plusY(void)
Generated from method MR::Vector3i::plusY.
MRC_API MR_Vector3i64 MR_Vector3i64_diagonal(MR_int64_t a)
Generated from method MR::Vector3i64::diagonal.
MRC_API MR_Vector3i MR_div_MR_Vector3i_int(MR_Vector3i b, int a)
Generated from function MR::operator/.
MRC_API MR_Vector3f * MR_add_assign_MR_Vector3f(MR_Vector3f *a, const MR_Vector3f *b)
MRC_API MR_Vector3i64 MR_Vector3i64_plusZ(void)
Generated from method MR::Vector3i64::plusZ.
MRC_API float MR_Vector3f_lengthSq(const MR_Vector3f *_this)
MRC_API const MR_Vector3_unsigned_char * MR_pos_MR_Vector3_unsigned_char(const MR_Vector3_unsigned_char *a)
MRC_API MR_Vector3f MR_mult_float_MR_Vector3f(const MR_Vector3f *a, const MR_Vector3f *b)
MRC_API MR_Vector3_unsigned_char * MR_Vector3_unsigned_char_Construct_3(unsigned char x, unsigned char y, unsigned char z)
MRC_API const MR_int64_t * MR_Vector3i64_index(const MR_Vector3i64 *_this, int e)
MRC_API MR_std_ostream * MR_print_MR_Vector3_unsigned_char(MR_std_ostream *s, const MR_Vector3_unsigned_char *vec)
MRC_API MR_Vector3i * MR_div_assign_MR_Vector3i_int(MR_Vector3i *a, int b)
MRC_API int MR_dot_int_MR_Vector3i(const MR_Vector3i *a, const MR_Vector3i *b)
MRC_API void MR_Vector3d_unsignZeroValues(MR_Vector3d *_this)
MRC_API MR_Vector3i MR_Vector3i_minusZ(void)
Generated from method MR::Vector3i::minusZ.
MRC_API MR_Vector3d MR_Vector3d_furthestBasisVector(const MR_Vector3d *_this)
MRC_API MR_Vector3i MR_Vector3i_furthestBasisVector(const MR_Vector3i *_this)
MRC_API MR_std_istream * MR_input_MR_Vector3d(MR_std_istream *s, MR_Vector3d *vec)
MRC_API MR_Vector3d MR_Vector3d_plusZ(void)
Generated from method MR::Vector3d::plusZ.
MRC_API MR_Vector3b * MR_Vector3b_DefaultConstructArray(size_t num_elems)
MRC_API double * MR_Vector3d_index_mut(MR_Vector3d *_this, int e)
MRC_API bool MR_Vector3b_lengthSq(const MR_Vector3b *_this)
MRC_API MR_Vector3d * MR_Vector3d_DefaultConstructArray(size_t num_elems)
MRC_API MR_int64_t * MR_Vector3i64_index_mut(MR_Vector3i64 *_this, int e)
MRC_API MR_Vector3b MR_Vector3b_DefaultConstruct(void)
Constructs an empty (default-constructed) instance.
MRC_API const double * MR_Vector3d_index(const MR_Vector3d *_this, int e)
MRC_API double MR_Vector3b_length(const MR_Vector3b *_this)
MRC_API MR_Vector3_unsigned_char * MR_Vector3_unsigned_char_furthestBasisVector(const MR_Vector3_unsigned_char *_this)
MRC_API MR_Vector3i MR_Vector3i_minusX(void)
Generated from method MR::Vector3i::minusX.
MRC_API MR_std_ostream * MR_print_MR_Vector3f(MR_std_ostream *s, const MR_Vector3f *vec)
MRC_API MR_Vector3i * MR_sub_assign_MR_Vector3i(MR_Vector3i *a, const MR_Vector3i *b)
MRC_API MR_Vector3i MR_Vector3i_diagonal(int a)
Generated from method MR::Vector3i::diagonal.
MRC_API MR_Vector3i64 MR_Vector3i64_furthestBasisVector(const MR_Vector3i64 *_this)
MRC_API MR_Vector3f * MR_mul_assign_MR_Vector3f_float(MR_Vector3f *a, float b)
MRC_API MR_std_ostream * MR_print_MR_Vector3i(MR_std_ostream *s, const MR_Vector3i *vec)
MRC_API void MR_Vector3_unsigned_char_Set_z(MR_Vector3_unsigned_char *_this, unsigned char value)
MRC_API float MR_mixed_float(const MR_Vector3f *a, const MR_Vector3f *b, const MR_Vector3f *c)
MRC_API MR_Vector3d MR_unitVector3_double(double azimuth, double altitude)
MRC_API MR_Vector3d * MR_sub_assign_MR_Vector3d(MR_Vector3d *a, const MR_Vector3d *b)
MRC_API MR_Vector3i MR_mul_MR_Vector3b_bool(const MR_Vector3b *b, bool a)
struct MR_std_pair_MR_Vector3d_MR_Vector3d MR_std_pair_MR_Vector3d_MR_Vector3d
Definition MRVector3.h:18
MRC_API MR_Vector3_unsigned_char * MR_div_assign_MR_Vector3_unsigned_char_unsigned_char(MR_Vector3_unsigned_char *a, unsigned char b)
MRC_API MR_Vector3d MR_div_MR_Vector3d_double(MR_Vector3d b, double a)
Generated from function MR::operator/.
MRC_API const int * MR_Vector3b_Get_elements(void)
MRC_API int MR_distanceSq_int_MR_Vector3i(const MR_Vector3i *a, const MR_Vector3i *b)
MRC_API MR_Vector3i64 MR_mul_MR_Vector3i64_int64_t(const MR_Vector3i64 *b, MR_int64_t a)
MRC_API void MR_Vector3_unsigned_char_Destroy(const MR_Vector3_unsigned_char *_this)
Destroys a heap-allocated instance of MR_Vector3_unsigned_char. Does nothing if the pointer is null.
MRC_API double MR_sqr_double_MR_Vector3d(const MR_Vector3d *a)
MRC_API MR_std_ostream * MR_print_MR_Vector3i64(MR_std_ostream *s, const MR_Vector3i64 *vec)
MRC_API MR_Vector3d MR_Vector3d_plusX(void)
Generated from method MR::Vector3d::plusX.
MRC_API MR_std_pair_MR_Vector3d_MR_Vector3d * MR_Vector3d_perpendicular(const MR_Vector3d *_this)
MRC_API double MR_Vector3d_length(const MR_Vector3d *_this)
MRC_API const unsigned char * MR_Vector3_unsigned_char_Get_y(const MR_Vector3_unsigned_char *_this)
MRC_API const bool * MR_Vector3b_index(const MR_Vector3b *_this, int e)
MRC_API MR_Vector3d MR_neg_MR_Vector3d(const MR_Vector3d *a)
MRC_API MR_Vector3f MR_Vector3f_Construct_3(float x, float y, float z)
Generated from constructor MR::Vector3f::Vector3f.
MRC_API MR_std_istream * MR_input_MR_Vector3i64(MR_std_istream *s, MR_Vector3i64 *vec)
MRC_API bool MR_Vector3f_isFinite(const MR_Vector3f *_this)
MRC_API MR_Vector3f MR_neg_MR_Vector3f(const MR_Vector3f *a)
MRC_API bool MR_equal_MR_Vector3_unsigned_char(const MR_Vector3_unsigned_char *a, const MR_Vector3_unsigned_char *b)
MRC_API MR_Vector3i64 MR_Vector3i64_plusX(void)
Generated from method MR::Vector3i64::plusX.
MRC_API MR_int64_t MR_dot_int64_t_MR_Vector3i64(const MR_Vector3i64 *a, const MR_Vector3i64 *b)
MRC_API const int * MR_Vector3f_Get_elements(void)
MRC_API MR_Vector3i MR_Vector3i_minusY(void)
Generated from method MR::Vector3i::minusY.
MRC_API MR_Vector3d MR_Vector3d_normalized(const MR_Vector3d *_this)
MRC_API bool MR_not_equal_MR_Vector3i64(const MR_Vector3i64 *a, const MR_Vector3i64 *b)
MRC_API double MR_angle_double_MR_Vector3d(const MR_Vector3d *a, const MR_Vector3d *b)
MRC_API MR_Vector3f MR_Vector3f_minusY(void)
Generated from method MR::Vector3f::minusY.
MRC_API float MR_distanceSq_float_MR_Vector3f(const MR_Vector3f *a, const MR_Vector3f *b)
MRC_API MR_Vector3d MR_Vector3d_Construct_3(double x, double y, double z)
Generated from constructor MR::Vector3d::Vector3d.
MRC_API MR_Vector3i MR_mul_unsigned_char_MR_Vector3_unsigned_char(unsigned char a, const MR_Vector3_unsigned_char *b)
MRC_API MR_Vector3d MR_Vector3d_diagonal(double a)
Generated from method MR::Vector3d::diagonal.
MRC_API int MR_dot_unsigned_char_MR_Vector3_unsigned_char(const MR_Vector3_unsigned_char *a, const MR_Vector3_unsigned_char *b)
int64_t MR_int64_t
Definition common.h:17
#define MRC_API
Definition include/MRCMisc/exports.h:11
Definition MRAffineXf.h:47
Definition MRAffineXf.h:39
Definition MRVector3.h:25
bool z
Definition MRVector3.h:28
bool x
Definition MRVector3.h:26
bool y
Definition MRVector3.h:27
Generated from class MR::Vector3d.
Definition MRVector3.h:55
double x
Definition MRVector3.h:56
double z
Definition MRVector3.h:58
double y
Definition MRVector3.h:57
Generated from class MR::Vector3f.
Definition MRVector3.h:47
float y
Definition MRVector3.h:49
float z
Definition MRVector3.h:50
float x
Definition MRVector3.h:48
Definition MRVector3.h:34
MR_int64_t y
Definition MRVector3.h:36
MR_int64_t z
Definition MRVector3.h:37
MR_int64_t x
Definition MRVector3.h:35
Generated from class MR::Vector3i.
Definition MRVector3.h:63
int x
Definition MRVector3.h:64
int z
Definition MRVector3.h:66
int y
Definition MRVector3.h:65