MeshLib C Docs
Loading...
Searching...
No Matches
MRMatrix4.h
Go to the documentation of this file.
1#pragma once
2
4#include <MRCMesh/MRMatrix3.h>
5#include <MRCMesh/MRVector3.h>
6#include <MRCMesh/MRVector4.h>
7#include <MRCMisc/common.h>
8#include <MRCMisc/exports.h>
9
10#include <stdbool.h>
11#include <stddef.h>
12
13#ifdef __cplusplus
14extern "C" {
15#endif
16
17typedef struct MR_Matrix3_unsigned_char MR_Matrix3_unsigned_char; // Defined in `#include <MRCMesh/MRMatrix3.h>`.
18typedef struct MR_Vector3_unsigned_char MR_Vector3_unsigned_char; // Defined in `#include <MRCMesh/MRVector3.h>`.
19typedef struct MR_Vector4_unsigned_char MR_Vector4_unsigned_char; // Defined in `#include <MRCMesh/MRVector4.h>`.
20typedef struct MR_std_istream MR_std_istream; // Defined in `#include <MRCMisc/iostream.h>`.
21typedef struct MR_std_ostream MR_std_ostream; // Defined in `#include <MRCMisc/iostream.h>`.
22
23
34
45
56
67
78
83
86
91
99
105
108
111
115
120MRC_API const bool *MR_Matrix4b_call_const(const MR_Matrix4b *_this, int row, int col);
121
125MRC_API bool *MR_Matrix4b_call(MR_Matrix4b *_this, int row, int col);
126
132
137
142
147
152
156
161
166
171
175
180
184
189
193
197
202
207
208// 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.
213
218
222
226
229
235
241
246
251
257
263
269
275
278
283
291
297
300
303
307
312MRC_API const int *MR_Matrix4i_call_const(const MR_Matrix4i *_this, int row, int col);
313
317MRC_API int *MR_Matrix4i_call(MR_Matrix4i *_this, int row, int col);
318
324
329
334
339
344
348
353
358
363
367
372
376
381
385
389
394
399
400// 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.
405
410
414
418
421
427
433
438
443
449
455
461
467
470
475
483
489
492
495
499
504MRC_API const MR_int64_t *MR_Matrix4i64_call_const(const MR_Matrix4i64 *_this, int row, int col);
505
510
516
521
526
531
536
540
545
550
555
559
564
568
573
577
581
586
591
592// 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.
597
602
606
610
613
619
625
630
635
641
647
653
659
662
667
675
681
682// Currently `AffineXf3<long long>` doesn't seem to compile, so we disable this constructor for `Matrix4<long long>`, because otherwise
683// mrbind instantiates the entire `AffineXf3<long long>` and chokes on it.
687
691
694
697
701
706MRC_API const float *MR_Matrix4f_call_const_2(const MR_Matrix4f *_this, int row, int col);
707
711MRC_API float *MR_Matrix4f_call(MR_Matrix4f *_this, int row, int col);
712
718
723
728
733
738
742
747
752
757
762
766
771
775
780
784
787MRC_API const float *MR_Matrix4f_data_const(const MR_Matrix4f *_this);
788
795
800
805
806// 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.
811
816
820
824
827
833
839
844
849
855
861
867
873
876
881
889
895
896// Currently `AffineXf3<long long>` doesn't seem to compile, so we disable this constructor for `Matrix4<long long>`, because otherwise
897// mrbind instantiates the entire `AffineXf3<long long>` and chokes on it.
901
905
908
911
915
920MRC_API const double *MR_Matrix4d_call_const_2(const MR_Matrix4d *_this, int row, int col);
921
925MRC_API double *MR_Matrix4d_call(MR_Matrix4d *_this, int row, int col);
926
932
937
942
947
952
956
961
966
971
976
980
985
989
994
998
1001MRC_API const double *MR_Matrix4d_data_const(const MR_Matrix4d *_this);
1002
1009
1014
1019
1020// 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.
1025
1030
1034
1038
1041
1047
1053
1058
1063
1069
1075
1081
1087
1093
1099
1105
1110
1115
1120
1125
1130
1135
1140
1145
1150
1154
1159
1162
1165
1170
1179
1186
1189
1192
1198
1202
1206
1211
1216MRC_API const unsigned char *MR_Matrix4_unsigned_char_call_const(const MR_Matrix4_unsigned_char *_this, int row, int col);
1217
1221MRC_API unsigned char *MR_Matrix4_unsigned_char_call(MR_Matrix4_unsigned_char *_this, int row, int col);
1222
1228
1233
1239
1244
1249
1253
1259
1264
1270
1275
1280
1285
1290
1294
1298
1303
1308
1309// 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.
1314
1319
1323
1327
1331
1337
1343
1348
1353
1359
1365
1371
1377
1378#ifdef __cplusplus
1379} // extern "C"
1380#endif
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
struct MR_Matrix3_unsigned_char MR_Matrix3_unsigned_char
Definition MRMatrix3.h:96
MRC_API bool MR_equal_MR_Matrix4b(const MR_Matrix4b *a, const MR_Matrix4b *b)
MRC_API MR_Matrix4i MR_add_MR_Matrix4_unsigned_char(const MR_Matrix4_unsigned_char *a, const MR_Matrix4_unsigned_char *b)
MRC_API MR_Matrix4_unsigned_char * MR_Matrix4_unsigned_char_identity(void)
MRC_API MR_Matrix4_unsigned_char * MR_add_assign_MR_Matrix4_unsigned_char(MR_Matrix4_unsigned_char *a, const MR_Matrix4_unsigned_char *b)
MRC_API float MR_Matrix4f_norm(const MR_Matrix4f *_this)
MRC_API MR_Vector4_unsigned_char * MR_Matrix4_unsigned_char_GetMutable_x(MR_Matrix4_unsigned_char *_this)
MRC_API MR_Matrix4i64 MR_mul_MR_Matrix4i64_int64_t(const MR_Matrix4i64 *b, MR_int64_t a)
MRC_API bool MR_equal_MR_Matrix4i64(const MR_Matrix4i64 *a, const MR_Matrix4i64 *b)
MRC_API MR_Matrix4i * MR_div_assign_MR_Matrix4i_int(MR_Matrix4i *a, int b)
MRC_API MR_Matrix4i64 MR_mul_int64_t_MR_Matrix4i64(MR_int64_t a, const MR_Matrix4i64 *b)
MRC_API MR_Matrix4i MR_mul_int_MR_Matrix4i(int a, const MR_Matrix4i *b)
MRC_API MR_Vector3f MR_Matrix4f_call_const_1(const MR_Matrix4f *_this, const MR_Vector3f *b)
MRC_API void MR_Matrix4_unsigned_char_Set_w(MR_Matrix4_unsigned_char *_this, const MR_Vector4_unsigned_char *value)
MRC_API MR_Matrix4i MR_sub_MR_Matrix4_unsigned_char(const MR_Matrix4_unsigned_char *a, const MR_Matrix4_unsigned_char *b)
MRC_API MR_Matrix4d MR_mul_MR_Matrix4d_double(const MR_Matrix4d *b, double a)
MRC_API MR_Vector4_unsigned_char * MR_Matrix4_unsigned_char_col(const MR_Matrix4_unsigned_char *_this, int i)
MRC_API void MR_Matrix4f_setTranslation(MR_Matrix4f *_this, const MR_Vector3f *t)
MRC_API MR_Matrix4i MR_Matrix4i_DefaultConstruct(void)
Constructs an empty (default-constructed) instance.
MRC_API MR_Matrix4i MR_Matrix4i_Construct_2(const MR_Matrix3i *r, const MR_Vector3i *t)
MRC_API void MR_Matrix4f_setRotation(MR_Matrix4f *_this, const MR_Matrix3f *rot)
MRC_API MR_Matrix4d * MR_add_assign_MR_Matrix4d(MR_Matrix4d *a, const MR_Matrix4d *b)
MRC_API MR_Matrix4f MR_add_MR_Matrix4f(const MR_Matrix4f *a, const MR_Matrix4f *b)
MRC_API MR_Matrix4f MR_mul_MR_Matrix4f_float(const MR_Matrix4f *b, float a)
MRC_API MR_Matrix4_unsigned_char * MR_sub_assign_MR_Matrix4_unsigned_char(MR_Matrix4_unsigned_char *a, const MR_Matrix4_unsigned_char *b)
MRC_API const MR_Vector4d * MR_Matrix4d_index_const(const MR_Matrix4d *_this, int row)
MRC_API void MR_Matrix4_unsigned_char_Set_z(MR_Matrix4_unsigned_char *_this, const MR_Vector4_unsigned_char *value)
MRC_API MR_std_ostream * MR_print_MR_Matrix4_unsigned_char(MR_std_ostream *s, const MR_Matrix4_unsigned_char *mat)
struct MR_Matrix4d MR_Matrix4d
MRC_API MR_Matrix3b MR_Matrix4b_getRotation(const MR_Matrix4b *_this)
MRC_API MR_Matrix4i MR_mul_MR_Matrix4b_bool(const MR_Matrix4b *b, bool a)
MRC_API MR_Matrix4i MR_div_MR_Matrix4b_bool(MR_Matrix4b b, bool a)
Generated from function MR::operator/.
MRC_API MR_std_ostream * MR_print_MR_Matrix4b(MR_std_ostream *s, const MR_Matrix4b *mat)
MRC_API void MR_Matrix4i_setTranslation(MR_Matrix4i *_this, const MR_Vector3i *t)
MRC_API MR_Vector4i MR_mul_MR_Matrix4_unsigned_char_MR_Vector4_unsigned_char(const MR_Matrix4_unsigned_char *a, const MR_Vector4_unsigned_char *b)
MRC_API const MR_Vector4b * MR_Matrix4b_index_const(const MR_Matrix4b *_this, int row)
MRC_API double MR_Matrix4d_normSq(const MR_Matrix4d *_this)
MRC_API void MR_Matrix4b_setRotation(MR_Matrix4b *_this, const MR_Matrix3b *rot)
MRC_API MR_Matrix4b * MR_Matrix4b_DefaultConstructArray(size_t num_elems)
MRC_API void MR_Matrix4_unsigned_char_setTranslation(MR_Matrix4_unsigned_char *_this, const MR_Vector3_unsigned_char *t)
MRC_API MR_Matrix4i * MR_Matrix4i_DefaultConstructArray(size_t num_elems)
MRC_API MR_std_ostream * MR_print_MR_Matrix4i(MR_std_ostream *s, const MR_Matrix4i *mat)
MRC_API MR_std_ostream * MR_print_MR_Matrix4f(MR_std_ostream *s, const MR_Matrix4f *mat)
MRC_API bool MR_not_equal_MR_Matrix4i(const MR_Matrix4i *a, const MR_Matrix4i *b)
MRC_API MR_Vector4i * MR_Matrix4i_index(MR_Matrix4i *_this, int row)
MRC_API MR_Matrix4d MR_mul_double_MR_Matrix4d(double a, const MR_Matrix4d *b)
MRC_API MR_std_istream * MR_input_MR_Matrix4d(MR_std_istream *s, MR_Matrix4d *mat)
MRC_API const int * MR_Matrix4i_call_const(const MR_Matrix4i *_this, int row, int col)
MRC_API int * MR_Matrix4i_data(MR_Matrix4i *_this)
MRC_API MR_Matrix3i64 MR_Matrix4i64_submatrix3(const MR_Matrix4i64 *_this, int i, int j)
MRC_API MR_Vector4i MR_mul_MR_Matrix4i_MR_Vector4i(const MR_Matrix4i *a, const MR_Vector4i *b)
MRC_API MR_Matrix4i MR_mul_bool_MR_Matrix4b(bool a, const MR_Matrix4b *b)
MRC_API MR_Vector4d MR_Matrix4d_col(const MR_Matrix4d *_this, int i)
MRC_API MR_Matrix4i MR_sub_MR_Matrix4b(const MR_Matrix4b *a, const MR_Matrix4b *b)
MRC_API MR_Matrix4_unsigned_char * MR_Matrix4_unsigned_char_Construct_4(const MR_Vector4_unsigned_char *x, const MR_Vector4_unsigned_char *y, const MR_Vector4_unsigned_char *z, const MR_Vector4_unsigned_char *w)
MRC_API MR_Matrix4d MR_Matrix4d_Construct_4(const MR_Vector4d *x, const MR_Vector4d *y, const MR_Vector4d *z, const MR_Vector4d *w)
MRC_API MR_Matrix4_unsigned_char * MR_Matrix4_unsigned_char_AssignFromAnother(MR_Matrix4_unsigned_char *_this, const MR_Matrix4_unsigned_char *_other)
MRC_API bool MR_equal_MR_Matrix4d(const MR_Matrix4d *a, const MR_Matrix4d *b)
MRC_API MR_Matrix4i64 MR_sub_MR_Matrix4i64(const MR_Matrix4i64 *a, const MR_Matrix4i64 *b)
MRC_API MR_Matrix4f MR_Matrix4f_scale(float s)
MRC_API MR_Matrix4f MR_mul_MR_Matrix4f(const MR_Matrix4f *a, const MR_Matrix4f *b)
MRC_API MR_Vector3d MR_Matrix4d_getTranslation(const MR_Matrix4d *_this)
MRC_API double MR_Matrix4d_norm(const MR_Matrix4d *_this)
MRC_API MR_Matrix4b MR_Matrix4b_Construct_4(const MR_Vector4b *x, const MR_Vector4b *y, const MR_Vector4b *z, const MR_Vector4b *w)
MRC_API const float * MR_Matrix4f_call_const_2(const MR_Matrix4f *_this, int row, int col)
MRC_API MR_Matrix3d MR_Matrix4d_submatrix3(const MR_Matrix4d *_this, int i, int j)
MRC_API MR_Matrix4_unsigned_char * MR_Matrix4_unsigned_char_transposed(const MR_Matrix4_unsigned_char *_this)
MRC_API MR_Matrix3_unsigned_char * MR_Matrix4_unsigned_char_getRotation(const MR_Matrix4_unsigned_char *_this)
MRC_API double MR_Matrix4d_det(const MR_Matrix4d *_this)
MRC_API MR_Matrix3f MR_Matrix4f_submatrix3(const MR_Matrix4f *_this, int i, int j)
MRC_API MR_Matrix4i MR_add_MR_Matrix4b(const MR_Matrix4b *a, const MR_Matrix4b *b)
MRC_API MR_Vector4_unsigned_char * MR_Matrix4_unsigned_char_GetMutable_y(MR_Matrix4_unsigned_char *_this)
MRC_API float MR_Matrix4f_normSq(const MR_Matrix4f *_this)
MRC_API unsigned char * MR_Matrix4_unsigned_char_call(MR_Matrix4_unsigned_char *_this, int row, int col)
MRC_API void MR_Matrix4i_setRotation(MR_Matrix4i *_this, const MR_Matrix3i *rot)
MRC_API MR_Matrix4b MR_Matrix4b_transposed(const MR_Matrix4b *_this)
MRC_API float * MR_Matrix4f_data(MR_Matrix4f *_this)
MRC_API MR_AffineXf3d MR_Matrix4d_ConvertTo_MR_AffineXf3d(const MR_Matrix4d *_this)
MRC_API void MR_Matrix4_unsigned_char_DestroyArray(const MR_Matrix4_unsigned_char *_this)
Destroys a heap-allocated array of MR_Matrix4_unsigned_char. Does nothing if the pointer is null.
MRC_API MR_Matrix3i MR_Matrix4i_submatrix3(const MR_Matrix4i *_this, int i, int j)
MRC_API MR_Matrix4_unsigned_char * MR_Matrix4_unsigned_char_DefaultConstruct(void)
MRC_API MR_Vector3i MR_Matrix4i_getTranslation(const MR_Matrix4i *_this)
MRC_API MR_Vector4_unsigned_char * MR_Matrix4_unsigned_char_index(MR_Matrix4_unsigned_char *_this, int row)
MRC_API MR_Matrix4i64 * MR_sub_assign_MR_Matrix4i64(MR_Matrix4i64 *a, const MR_Matrix4i64 *b)
MRC_API MR_Matrix4_unsigned_char * MR_Matrix4_unsigned_char_Construct_2(const MR_Matrix3_unsigned_char *r, const MR_Vector3_unsigned_char *t)
MRC_API MR_int64_t MR_Matrix4i64_det(const MR_Matrix4i64 *_this)
MRC_API MR_Matrix4d MR_sub_MR_Matrix4d(const MR_Matrix4d *a, const MR_Matrix4d *b)
MRC_API MR_Matrix4i MR_Matrix4i_Construct_4(const MR_Vector4i *x, const MR_Vector4i *y, const MR_Vector4i *z, const MR_Vector4i *w)
MRC_API MR_Vector4i64 MR_mul_MR_Matrix4i64_MR_Vector4i64(const MR_Matrix4i64 *a, const MR_Vector4i64 *b)
MRC_API MR_Matrix4i64 MR_Matrix4i64_Construct_2(const MR_Matrix3i64 *r, const MR_Vector3i64 *t)
MRC_API const MR_Vector4_unsigned_char * MR_Matrix4_unsigned_char_Get_z(const MR_Matrix4_unsigned_char *_this)
MRC_API MR_Matrix4b MR_Matrix4b_DefaultConstruct(void)
Constructs an empty (default-constructed) instance.
MRC_API MR_Matrix4i * MR_sub_assign_MR_Matrix4i(MR_Matrix4i *a, const MR_Matrix4i *b)
struct MR_Matrix4b MR_Matrix4b
MRC_API MR_Matrix4i64 MR_mul_MR_Matrix4i64(const MR_Matrix4i64 *a, const MR_Matrix4i64 *b)
MRC_API const MR_int64_t * MR_Matrix4i64_call_const(const MR_Matrix4i64 *_this, int row, int col)
MRC_API MR_Matrix4d * MR_sub_assign_MR_Matrix4d(MR_Matrix4d *a, const MR_Matrix4d *b)
MRC_API MR_Vector4d MR_mul_MR_Matrix4d_MR_Vector4d(const MR_Matrix4d *a, const MR_Vector4d *b)
MRC_API const MR_Vector4f * MR_Matrix4f_index_const(const MR_Matrix4f *_this, int row)
MRC_API void MR_Matrix4_unsigned_char_Set_y(MR_Matrix4_unsigned_char *_this, const MR_Vector4_unsigned_char *value)
struct MR_Matrix4f MR_Matrix4f
MRC_API MR_Vector4f MR_mul_MR_Matrix4f_MR_Vector4f(const MR_Matrix4f *a, const MR_Vector4f *b)
MRC_API int MR_Matrix4i_det(const MR_Matrix4i *_this)
MRC_API MR_std_istream * MR_input_MR_Matrix4f(MR_std_istream *s, MR_Matrix4f *mat)
MRC_API MR_Matrix4_unsigned_char * MR_Matrix4_unsigned_char_OffsetMutablePtr(MR_Matrix4_unsigned_char *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 const double * MR_Matrix4d_call_const_2(const MR_Matrix4d *_this, int row, int col)
MRC_API bool MR_equal_MR_Matrix4i(const MR_Matrix4i *a, const MR_Matrix4i *b)
MRC_API MR_std_istream * MR_input_MR_Matrix4_unsigned_char(MR_std_istream *s, MR_Matrix4_unsigned_char *mat)
MRC_API unsigned char MR_Matrix4_unsigned_char_trace(const MR_Matrix4_unsigned_char *_this)
MRC_API bool * MR_Matrix4b_call(MR_Matrix4b *_this, int row, int col)
MRC_API const MR_int64_t * MR_Matrix4i64_data_const(const MR_Matrix4i64 *_this)
MRC_API const int * MR_Matrix4i_data_const(const MR_Matrix4i *_this)
MRC_API MR_Matrix4d MR_div_MR_Matrix4d_double(MR_Matrix4d b, double a)
Generated from function MR::operator/.
MRC_API MR_Matrix4d MR_add_MR_Matrix4d(const MR_Matrix4d *a, const MR_Matrix4d *b)
MRC_API MR_Matrix3d MR_Matrix4d_getRotation(const MR_Matrix4d *_this)
MRC_API MR_Matrix4f MR_Matrix4f_Construct_float(const MR_AffineXf3f *xf)
MRC_API MR_Matrix4d MR_Matrix4d_scale(double s)
MRC_API MR_Matrix4f MR_Matrix4f_inverse(const MR_Matrix4f *_this)
MRC_API MR_Matrix4d MR_Matrix4d_DefaultConstruct(void)
Constructs an empty (default-constructed) instance.
MRC_API MR_Matrix4i MR_Matrix4i_transposed(const MR_Matrix4i *_this)
MRC_API MR_Matrix4i MR_Matrix4i_identity(void)
Generated from method MR::Matrix4i::identity.
MRC_API MR_AffineXf3f MR_Matrix4f_ConvertTo_MR_AffineXf3f(const MR_Matrix4f *_this)
MRC_API MR_Matrix4f MR_div_MR_Matrix4f_float(MR_Matrix4f b, float a)
Generated from function MR::operator/.
MRC_API unsigned char MR_Matrix4_unsigned_char_normSq(const MR_Matrix4_unsigned_char *_this)
MRC_API MR_Matrix4f * MR_sub_assign_MR_Matrix4f(MR_Matrix4f *a, const MR_Matrix4f *b)
MRC_API MR_Vector4b MR_Matrix4b_col(const MR_Matrix4b *_this, int i)
MRC_API bool MR_not_equal_MR_Matrix4d(const MR_Matrix4d *a, const MR_Matrix4d *b)
MRC_API MR_Matrix4i64 * MR_mul_assign_MR_Matrix4i64_int64_t(MR_Matrix4i64 *a, MR_int64_t b)
struct MR_Matrix4_unsigned_char MR_Matrix4_unsigned_char
Definition MRMatrix4.h:82
MRC_API MR_int64_t * MR_Matrix4i64_call(MR_Matrix4i64 *_this, int row, int col)
MRC_API MR_Matrix4i * MR_mul_assign_MR_Matrix4i_int(MR_Matrix4i *a, int b)
MRC_API double MR_Matrix4i_norm(const MR_Matrix4i *_this)
MRC_API float * MR_Matrix4f_call(MR_Matrix4f *_this, int row, int col)
MRC_API MR_Matrix4f MR_Matrix4f_zero(void)
Generated from method MR::Matrix4f::zero.
MRC_API MR_Matrix4i MR_mul_MR_Matrix4b(const MR_Matrix4b *a, const MR_Matrix4b *b)
MRC_API const MR_Vector4_unsigned_char * MR_Matrix4_unsigned_char_Get_x(const MR_Matrix4_unsigned_char *_this)
MRC_API MR_Matrix4i MR_mul_MR_Matrix4_unsigned_char_unsigned_char(const MR_Matrix4_unsigned_char *b, unsigned char a)
MRC_API MR_Matrix4b MR_Matrix4b_zero(void)
Generated from method MR::Matrix4b::zero.
MRC_API MR_Matrix4d MR_Matrix4d_Construct_double(const MR_AffineXf3d *xf)
MRC_API unsigned char * MR_Matrix4_unsigned_char_data(MR_Matrix4_unsigned_char *_this)
MRC_API MR_Matrix4i64 * MR_add_assign_MR_Matrix4i64(MR_Matrix4i64 *a, const MR_Matrix4i64 *b)
MRC_API MR_Vector4d * MR_Matrix4d_index(MR_Matrix4d *_this, int row)
MRC_API float MR_Matrix4f_det(const MR_Matrix4f *_this)
MRC_API MR_Matrix4i64 MR_div_MR_Matrix4i64_int64_t(MR_Matrix4i64 b, MR_int64_t a)
Generated from function MR::operator/.
MRC_API MR_Matrix3f MR_Matrix4f_getRotation(const MR_Matrix4f *_this)
MRC_API void MR_Matrix4d_setTranslation(MR_Matrix4d *_this, const MR_Vector3d *t)
MRC_API MR_Matrix4f MR_Matrix4f_Construct_4(const MR_Vector4f *x, const MR_Vector4f *y, const MR_Vector4f *z, const MR_Vector4f *w)
MRC_API MR_Matrix4f MR_Matrix4f_identity(void)
Generated from method MR::Matrix4f::identity.
MRC_API MR_Matrix4b MR_Matrix4b_Construct_2(const MR_Matrix3b *r, const MR_Vector3b *t)
MRC_API MR_Matrix4f * MR_add_assign_MR_Matrix4f(MR_Matrix4f *a, const MR_Matrix4f *b)
MRC_API const unsigned char * MR_Matrix4_unsigned_char_data_const(const MR_Matrix4_unsigned_char *_this)
MRC_API const MR_Vector4i64 * MR_Matrix4i64_index_const(const MR_Matrix4i64 *_this, int row)
MRC_API bool MR_not_equal_MR_Matrix4_unsigned_char(const MR_Matrix4_unsigned_char *a, const MR_Matrix4_unsigned_char *b)
MRC_API MR_Vector4i64 MR_Matrix4i64_col(const MR_Matrix4i64 *_this, int i)
MRC_API MR_Matrix4_unsigned_char * MR_mul_assign_MR_Matrix4_unsigned_char_unsigned_char(MR_Matrix4_unsigned_char *a, unsigned char b)
MRC_API MR_Matrix4f * MR_div_assign_MR_Matrix4f_float(MR_Matrix4f *a, float b)
MRC_API MR_Vector4_unsigned_char * MR_Matrix4_unsigned_char_GetMutable_w(MR_Matrix4_unsigned_char *_this)
MRC_API MR_Matrix4_unsigned_char * MR_Matrix4_unsigned_char_zero(void)
MRC_API MR_Matrix4i MR_div_MR_Matrix4_unsigned_char_unsigned_char(const MR_Matrix4_unsigned_char *b, unsigned char a)
MRC_API MR_Matrix3i MR_Matrix4i_getRotation(const MR_Matrix4i *_this)
MRC_API const MR_Vector4_unsigned_char * MR_Matrix4_unsigned_char_Get_y(const MR_Matrix4_unsigned_char *_this)
MRC_API MR_Vector3f MR_Matrix4f_getTranslation(const MR_Matrix4f *_this)
MRC_API MR_Matrix3i64 MR_Matrix4i64_getRotation(const MR_Matrix4i64 *_this)
MRC_API const MR_Vector4_unsigned_char * MR_Matrix4_unsigned_char_index_const(const MR_Matrix4_unsigned_char *_this, int row)
MRC_API int * MR_Matrix4i_call(MR_Matrix4i *_this, int row, int col)
MRC_API MR_Matrix4b * MR_add_assign_MR_Matrix4b(MR_Matrix4b *a, const MR_Matrix4b *b)
MRC_API MR_Matrix4i64 MR_Matrix4i64_transposed(const MR_Matrix4i64 *_this)
MRC_API const double * MR_Matrix4d_data_const(const MR_Matrix4d *_this)
MRC_API MR_Vector4i MR_Matrix4i_col(const MR_Matrix4i *_this, int i)
MRC_API MR_Vector4i MR_mul_MR_Matrix4b_MR_Vector4b(const MR_Matrix4b *a, const MR_Vector4b *b)
MRC_API double MR_Matrix4i64_norm(const MR_Matrix4i64 *_this)
MRC_API MR_Matrix4f MR_sub_MR_Matrix4f(const MR_Matrix4f *a, const MR_Matrix4f *b)
MRC_API MR_Matrix4_unsigned_char * MR_Matrix4_unsigned_char_DefaultConstructArray(size_t num_elems)
MRC_API void MR_Matrix4b_setTranslation(MR_Matrix4b *_this, const MR_Vector3b *t)
MRC_API MR_Matrix4d MR_Matrix4d_Construct_2(const MR_Matrix3d *r, const MR_Vector3d *t)
MRC_API MR_Vector3d MR_Matrix4d_call_const_1(const MR_Matrix4d *_this, const MR_Vector3d *b)
struct MR_Matrix4i MR_Matrix4i
MRC_API MR_Matrix4i MR_mul_unsigned_char_MR_Matrix4_unsigned_char(unsigned char a, const MR_Matrix4_unsigned_char *b)
MRC_API const bool * MR_Matrix4b_call_const(const MR_Matrix4b *_this, int row, int col)
MRC_API MR_Matrix4f * MR_mul_assign_MR_Matrix4f_float(MR_Matrix4f *a, float b)
MRC_API MR_Matrix4i MR_add_MR_Matrix4i(const MR_Matrix4i *a, const MR_Matrix4i *b)
MRC_API MR_Matrix4d * MR_Matrix4d_DefaultConstructArray(size_t num_elems)
MRC_API double MR_Matrix4d_trace(const MR_Matrix4d *_this)
MRC_API MR_Matrix4i64 MR_Matrix4i64_Construct_4(const MR_Vector4i64 *x, const MR_Vector4i64 *y, const MR_Vector4i64 *z, const MR_Vector4i64 *w)
MRC_API void MR_Matrix4i64_setTranslation(MR_Matrix4i64 *_this, const MR_Vector3i64 *t)
MRC_API MR_Vector3i64 MR_Matrix4i64_getTranslation(const MR_Matrix4i64 *_this)
MRC_API double MR_Matrix4_unsigned_char_norm(const MR_Matrix4_unsigned_char *_this)
MRC_API MR_Matrix4i MR_mul_MR_Matrix4_unsigned_char(const MR_Matrix4_unsigned_char *a, const MR_Matrix4_unsigned_char *b)
MRC_API MR_Matrix4f * MR_Matrix4f_DefaultConstructArray(size_t num_elems)
MRC_API MR_Matrix4d * MR_mul_assign_MR_Matrix4d_double(MR_Matrix4d *a, double b)
MRC_API MR_Matrix4i64 MR_add_MR_Matrix4i64(const MR_Matrix4i64 *a, const MR_Matrix4i64 *b)
MRC_API MR_Matrix4d MR_Matrix4d_transposed(const MR_Matrix4d *_this)
MRC_API MR_Matrix4i64 MR_Matrix4i64_identity(void)
Generated from method MR::Matrix4i64::identity.
MRC_API const unsigned char * MR_Matrix4_unsigned_char_call_const(const MR_Matrix4_unsigned_char *_this, int row, int col)
MRC_API MR_Vector4f MR_Matrix4f_col(const MR_Matrix4f *_this, int i)
MRC_API MR_Matrix4_unsigned_char * MR_div_assign_MR_Matrix4_unsigned_char_unsigned_char(MR_Matrix4_unsigned_char *a, unsigned char b)
MRC_API float MR_Matrix4f_trace(const MR_Matrix4f *_this)
MRC_API unsigned char MR_Matrix4_unsigned_char_det(const MR_Matrix4_unsigned_char *_this)
MRC_API MR_Matrix3b MR_Matrix4b_submatrix3(const MR_Matrix4b *_this, int i, int j)
MRC_API MR_Matrix4b MR_Matrix4b_scale(bool s)
MRC_API MR_std_ostream * MR_print_MR_Matrix4d(MR_std_ostream *s, const MR_Matrix4d *mat)
MRC_API MR_Matrix4f MR_Matrix4f_DefaultConstruct(void)
Constructs an empty (default-constructed) instance.
MRC_API MR_std_istream * MR_input_MR_Matrix4i(MR_std_istream *s, MR_Matrix4i *mat)
MRC_API MR_Matrix4_unsigned_char * MR_Matrix4_unsigned_char_ConstructFromAnother(const MR_Matrix4_unsigned_char *_other)
MRC_API int MR_Matrix4i_trace(const MR_Matrix4i *_this)
MRC_API MR_Matrix3_unsigned_char * MR_Matrix4_unsigned_char_submatrix3(const MR_Matrix4_unsigned_char *_this, int i, int j)
MRC_API MR_Vector3_unsigned_char * MR_Matrix4_unsigned_char_getTranslation(const MR_Matrix4_unsigned_char *_this)
MRC_API MR_Matrix4i64 * MR_div_assign_MR_Matrix4i64_int64_t(MR_Matrix4i64 *a, MR_int64_t b)
MRC_API const float * MR_Matrix4f_data_const(const MR_Matrix4f *_this)
MRC_API const MR_Matrix4_unsigned_char * MR_Matrix4_unsigned_char_OffsetPtr(const MR_Matrix4_unsigned_char *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_Matrix4b * MR_mul_assign_MR_Matrix4b_bool(MR_Matrix4b *a, bool b)
MRC_API MR_Matrix4d * MR_div_assign_MR_Matrix4d_double(MR_Matrix4d *a, double b)
MRC_API MR_Matrix4b * MR_div_assign_MR_Matrix4b_bool(MR_Matrix4b *a, bool b)
MRC_API MR_Matrix4i MR_sub_MR_Matrix4i(const MR_Matrix4i *a, const MR_Matrix4i *b)
MRC_API bool * MR_Matrix4b_data(MR_Matrix4b *_this)
MRC_API MR_Matrix4d MR_Matrix4d_identity(void)
Generated from method MR::Matrix4d::identity.
MRC_API const MR_Vector4i * MR_Matrix4i_index_const(const MR_Matrix4i *_this, int row)
MRC_API bool MR_not_equal_MR_Matrix4b(const MR_Matrix4b *a, const MR_Matrix4b *b)
MRC_API MR_int64_t * MR_Matrix4i64_data(MR_Matrix4i64 *_this)
MRC_API double MR_Matrix4b_norm(const MR_Matrix4b *_this)
MRC_API bool MR_Matrix4b_normSq(const MR_Matrix4b *_this)
MRC_API void MR_Matrix4i64_setRotation(MR_Matrix4i64 *_this, const MR_Matrix3i64 *rot)
MRC_API bool MR_Matrix4b_det(const MR_Matrix4b *_this)
MRC_API bool MR_Matrix4b_trace(const MR_Matrix4b *_this)
MRC_API MR_Matrix4i64 MR_Matrix4i64_zero(void)
Generated from method MR::Matrix4i64::zero.
MRC_API MR_Matrix4i MR_mul_MR_Matrix4i_int(const MR_Matrix4i *b, int a)
MRC_API bool MR_equal_MR_Matrix4_unsigned_char(const MR_Matrix4_unsigned_char *a, const MR_Matrix4_unsigned_char *b)
MRC_API MR_Matrix4i64 MR_Matrix4i64_DefaultConstruct(void)
Constructs an empty (default-constructed) instance.
MRC_API int MR_Matrix4i_normSq(const MR_Matrix4i *_this)
MRC_API MR_Matrix4d MR_mul_MR_Matrix4d(const MR_Matrix4d *a, const MR_Matrix4d *b)
MRC_API MR_Matrix4i MR_Matrix4i_zero(void)
Generated from method MR::Matrix4i::zero.
MRC_API MR_Matrix4i MR_mul_MR_Matrix4i(const MR_Matrix4i *a, const MR_Matrix4i *b)
MRC_API bool MR_not_equal_MR_Matrix4i64(const MR_Matrix4i64 *a, const MR_Matrix4i64 *b)
MRC_API MR_Vector4_unsigned_char * MR_Matrix4_unsigned_char_GetMutable_z(MR_Matrix4_unsigned_char *_this)
MRC_API MR_int64_t MR_Matrix4i64_trace(const MR_Matrix4i64 *_this)
MRC_API MR_std_istream * MR_input_MR_Matrix4i64(MR_std_istream *s, MR_Matrix4i64 *mat)
MRC_API MR_Vector4i64 * MR_Matrix4i64_index(MR_Matrix4i64 *_this, int row)
MRC_API void MR_Matrix4_unsigned_char_Set_x(MR_Matrix4_unsigned_char *_this, const MR_Vector4_unsigned_char *value)
MRC_API MR_Vector4b * MR_Matrix4b_index(MR_Matrix4b *_this, int row)
MRC_API MR_std_istream * MR_input_MR_Matrix4b(MR_std_istream *s, MR_Matrix4b *mat)
MRC_API bool MR_not_equal_MR_Matrix4f(const MR_Matrix4f *a, const MR_Matrix4f *b)
MRC_API bool MR_equal_MR_Matrix4f(const MR_Matrix4f *a, const MR_Matrix4f *b)
MRC_API MR_Matrix4b * MR_sub_assign_MR_Matrix4b(MR_Matrix4b *a, const MR_Matrix4b *b)
MRC_API MR_Matrix4_unsigned_char * MR_Matrix4_unsigned_char_scale(unsigned char s)
MRC_API MR_Matrix4d MR_Matrix4d_zero(void)
Generated from method MR::Matrix4d::zero.
MRC_API MR_Vector3b MR_Matrix4b_getTranslation(const MR_Matrix4b *_this)
MRC_API MR_Matrix4i MR_div_MR_Matrix4i_int(MR_Matrix4i b, int a)
Generated from function MR::operator/.
MRC_API void MR_Matrix4_unsigned_char_setRotation(MR_Matrix4_unsigned_char *_this, const MR_Matrix3_unsigned_char *rot)
MRC_API MR_Matrix4f MR_Matrix4f_Construct_2(const MR_Matrix3f *r, const MR_Vector3f *t)
MRC_API MR_Matrix4i64 * MR_Matrix4i64_DefaultConstructArray(size_t num_elems)
MRC_API void MR_Matrix4_unsigned_char_Destroy(const MR_Matrix4_unsigned_char *_this)
Destroys a heap-allocated instance of MR_Matrix4_unsigned_char. Does nothing if the pointer is null.
MRC_API const bool * MR_Matrix4b_data_const(const MR_Matrix4b *_this)
MRC_API double * MR_Matrix4d_call(MR_Matrix4d *_this, int row, int col)
MRC_API const MR_Vector4_unsigned_char * MR_Matrix4_unsigned_char_Get_w(const MR_Matrix4_unsigned_char *_this)
MRC_API MR_Matrix4i * MR_add_assign_MR_Matrix4i(MR_Matrix4i *a, const MR_Matrix4i *b)
MRC_API MR_std_ostream * MR_print_MR_Matrix4i64(MR_std_ostream *s, const MR_Matrix4i64 *mat)
MRC_API double * MR_Matrix4d_data(MR_Matrix4d *_this)
MRC_API MR_int64_t MR_Matrix4i64_normSq(const MR_Matrix4i64 *_this)
MRC_API void MR_Matrix4d_setRotation(MR_Matrix4d *_this, const MR_Matrix3d *rot)
MRC_API MR_Matrix4i MR_Matrix4i_scale(int s)
MRC_API MR_Matrix4d MR_Matrix4d_inverse(const MR_Matrix4d *_this)
MRC_API MR_Matrix4i64 MR_Matrix4i64_scale(MR_int64_t s)
MRC_API MR_Matrix4f MR_Matrix4f_transposed(const MR_Matrix4f *_this)
MRC_API MR_Matrix4b MR_Matrix4b_identity(void)
Generated from method MR::Matrix4b::identity.
struct MR_Matrix4i64 MR_Matrix4i64
struct MR_Vector4_unsigned_char MR_Vector4_unsigned_char
Definition MRMatrix4.h:19
MRC_API MR_Vector4f * MR_Matrix4f_index(MR_Matrix4f *_this, int row)
MRC_API MR_Matrix4f MR_mul_float_MR_Matrix4f(float a, const MR_Matrix4f *b)
int64_t MR_int64_t
Definition common.h:17
#define MRC_API
Definition exports.h:11
Definition MRAffineXf.h:47
Definition MRAffineXf.h:39
Definition MRMatrix3.h:26
Definition MRMatrix3.h:82
Definition MRMatrix3.h:68
Definition MRMatrix3.h:54
Definition MRMatrix3.h:40
Definition MRMatrix4.h:27
MR_Vector4b x
rows, identity matrix by default
Definition MRMatrix4.h:29
MR_Vector4b y
Definition MRMatrix4.h:30
MR_Vector4b w
Definition MRMatrix4.h:32
MR_Vector4b z
Definition MRMatrix4.h:31
Definition MRMatrix4.h:71
MR_Vector4d x
rows, identity matrix by default
Definition MRMatrix4.h:73
MR_Vector4d y
Definition MRMatrix4.h:74
MR_Vector4d z
Definition MRMatrix4.h:75
MR_Vector4d w
Definition MRMatrix4.h:76
Definition MRMatrix4.h:60
MR_Vector4f z
Definition MRMatrix4.h:64
MR_Vector4f y
Definition MRMatrix4.h:63
MR_Vector4f x
rows, identity matrix by default
Definition MRMatrix4.h:62
MR_Vector4f w
Definition MRMatrix4.h:65
Definition MRMatrix4.h:49
MR_Vector4i64 z
Definition MRMatrix4.h:53
MR_Vector4i64 w
Definition MRMatrix4.h:54
MR_Vector4i64 x
rows, identity matrix by default
Definition MRMatrix4.h:51
MR_Vector4i64 y
Definition MRMatrix4.h:52
Definition MRMatrix4.h:38
MR_Vector4i z
Definition MRMatrix4.h:42
MR_Vector4i x
rows, identity matrix by default
Definition MRMatrix4.h:40
MR_Vector4i y
Definition MRMatrix4.h:41
MR_Vector4i w
Definition MRMatrix4.h:43
Definition MRVector3.h:25
Definition MRVector3.h:61
Definition MRVector3.h:52
Definition MRVector3.h:43
Definition MRVector3.h:34
Definition MRVector4.h:22
Definition MRVector4.h:62
Definition MRVector4.h:52
Definition MRVector4.h:42
Definition MRVector4.h:32