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
33typedef struct MR_Vector3i64
34{
35 MR_int64_t x;
36 MR_int64_t y;
37 MR_int64_t z;
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
71MRC_API const int *MR_Vector3b_Get_elements(void);
72
75
80
85
87MRC_API MR_Vector3b MR_Vector3b_Construct_3(bool x, bool y, bool z);
88
91
94
97
100
104MRC_API const bool *MR_Vector3b_index(const MR_Vector3b *_this, int e);
105
109MRC_API bool *MR_Vector3b_index_mut(MR_Vector3b *_this, int e);
110
113MRC_API bool MR_Vector3b_lengthSq(const MR_Vector3b *_this);
114
117MRC_API double MR_Vector3b_length(const MR_Vector3b *_this);
118
122MRC_API bool MR_equal_MR_Vector3b(const MR_Vector3b *a, const MR_Vector3b *b);
123
127MRC_API bool MR_not_equal_MR_Vector3b(const MR_Vector3b *a, const MR_Vector3b *b);
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
196MRC_API const int *MR_Vector3i64_Get_elements(void);
197
200
205
210
215MRC_API MR_Vector3i64 MR_Vector3i64_Construct_3(MR_int64_t x, MR_int64_t y, MR_int64_t z);
216
219
222
225
228
231
234
237
241MRC_API const MR_int64_t *MR_Vector3i64_index(const MR_Vector3i64 *_this, int e);
242
246MRC_API MR_int64_t *MR_Vector3i64_index_mut(MR_Vector3i64 *_this, int e);
247
250MRC_API MR_int64_t MR_Vector3i64_lengthSq(const MR_Vector3i64 *_this);
251
254MRC_API double MR_Vector3i64_length(const MR_Vector3i64 *_this);
255
260
264MRC_API bool MR_equal_MR_Vector3i64(const MR_Vector3i64 *a, const MR_Vector3i64 *b);
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
344MRC_API const unsigned char *MR_Vector3_unsigned_char_Get_x(const MR_Vector3_unsigned_char *_this);
345
350MRC_API void MR_Vector3_unsigned_char_Set_x(MR_Vector3_unsigned_char *_this, unsigned char value);
351
357
362MRC_API const unsigned char *MR_Vector3_unsigned_char_Get_y(const MR_Vector3_unsigned_char *_this);
363
368MRC_API void MR_Vector3_unsigned_char_Set_y(MR_Vector3_unsigned_char *_this, unsigned char value);
369
375
380MRC_API const unsigned char *MR_Vector3_unsigned_char_Get_z(const MR_Vector3_unsigned_char *_this);
381
386MRC_API void MR_Vector3_unsigned_char_Set_z(MR_Vector3_unsigned_char *_this, unsigned char value);
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
582MRC_API float MR_distance_float_MR_Vector3f(const MR_Vector3f *a, const MR_Vector3f *b);
583
588MRC_API double MR_distance_double_MR_Vector3d(const MR_Vector3d *a, const MR_Vector3d *b);
589
595
601
607
612MRC_API float MR_dot_float_MR_Vector3f(const MR_Vector3f *a, const MR_Vector3f *b);
613
618MRC_API double MR_dot_double_MR_Vector3d(const MR_Vector3d *a, const MR_Vector3d *b);
619
624MRC_API int MR_dot_int_MR_Vector3i(const MR_Vector3i *a, const MR_Vector3i *b);
625
630MRC_API int MR_dot_bool_MR_Vector3b(const MR_Vector3b *a, const MR_Vector3b *b);
631
636MRC_API MR_int64_t MR_dot_int64_t_MR_Vector3i64(const MR_Vector3i64 *a, const MR_Vector3i64 *b);
637
643
647MRC_API float MR_sqr_float_MR_Vector3f(const MR_Vector3f *a);
648
652MRC_API double MR_sqr_double_MR_Vector3d(const MR_Vector3d *a);
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
721MRC_API float MR_angle_float_MR_Vector3f(const MR_Vector3f *a, const MR_Vector3f *b);
722
728MRC_API double MR_angle_double_MR_Vector3d(const MR_Vector3d *a, const MR_Vector3d *b);
729
735MRC_API int MR_angle_int_MR_Vector3i(const MR_Vector3i *a, const MR_Vector3i *b);
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
747MRC_API const int *MR_Vector3f_Get_elements(void);
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
808MRC_API float *MR_Vector3f_index_mut(MR_Vector3f *_this, int e);
809
812MRC_API float MR_Vector3f_lengthSq(const MR_Vector3f *_this);
813
816MRC_API float MR_Vector3f_length(const MR_Vector3f *_this);
817
821
825
830
835
840
843MRC_API bool MR_Vector3f_isFinite(const MR_Vector3f *_this);
844
848MRC_API bool MR_equal_MR_Vector3f(const MR_Vector3f *a, const MR_Vector3f *b);
849
853MRC_API bool MR_not_equal_MR_Vector3f(const MR_Vector3f *a, const MR_Vector3f *b);
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
922MRC_API const int *MR_Vector3d_Get_elements(void);
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
976MRC_API double *MR_Vector3d_index_mut(MR_Vector3d *_this, int e);
977
980MRC_API double MR_Vector3d_lengthSq(const MR_Vector3d *_this);
981
984MRC_API double MR_Vector3d_length(const MR_Vector3d *_this);
985
989
993
998
1003
1008
1011MRC_API bool MR_Vector3d_isFinite(const MR_Vector3d *_this);
1012
1016MRC_API bool MR_equal_MR_Vector3d(const MR_Vector3d *a, const MR_Vector3d *b);
1017
1021MRC_API bool MR_not_equal_MR_Vector3d(const MR_Vector3d *a, const MR_Vector3d *b);
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
1090MRC_API const int *MR_Vector3i_Get_elements(void);
1091
1094
1099
1104
1106MRC_API MR_Vector3i MR_Vector3i_Construct_3(int x, int y, int z);
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
1144MRC_API int *MR_Vector3i_index_mut(MR_Vector3i *_this, int e);
1145
1148MRC_API int MR_Vector3i_lengthSq(const MR_Vector3i *_this);
1149
1152MRC_API double MR_Vector3i_length(const MR_Vector3i *_this);
1153
1157
1161MRC_API bool MR_equal_MR_Vector3i(const MR_Vector3i *a, const MR_Vector3i *b);
1162
1166MRC_API bool MR_not_equal_MR_Vector3i(const MR_Vector3i *a, const MR_Vector3i *b);
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
Definition MRCtm.h:31
struct MR_std_istream MR_std_istream
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)
struct MR_Vector3i64 MR_Vector3i64
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)
struct MR_Vector3f MR_Vector3f
Generated from class MR::Vector3f.
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)
struct MR_Vector3d MR_Vector3d
Generated from class MR::Vector3d.
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.
struct MR_Vector3i MR_Vector3i
Generated from class MR::Vector3i.
MRC_API MR_std_ostream * MR_print_MR_Vector3f(MR_std_ostream *s, const MR_Vector3f *vec)
struct MR_Vector3b MR_Vector3b
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)
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