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
103
111
114
117
121
126MRC_API const bool *MR_Matrix4b_call_const(const MR_Matrix4b *_this, int row, int col);
127
131MRC_API bool *MR_Matrix4b_call(MR_Matrix4b *_this, int row, int col);
132
138
143
148
153
158
162
167
172
177
181
186
190
195
199
203
208
213
214// 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.
219
224
228
232
235
241
247
252
257
263
269
275
281
284
289
301
309
312
315
319
324MRC_API const int *MR_Matrix4i_call_const(const MR_Matrix4i *_this, int row, int col);
325
329MRC_API int *MR_Matrix4i_call(MR_Matrix4i *_this, int row, int col);
330
336
341
346
351
356
360
365
370
375
379
384
388
393
397
401
406
411
412// 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.
417
422
426
430
433
439
445
450
455
461
467
473
479
482
487
499
507
510
513
517
522MRC_API const MR_int64_t *MR_Matrix4i64_call_const(const MR_Matrix4i64 *_this, int row, int col);
523
528
534
539
544
549
554
558
563
568
573
577
582
586
591
595
599
604
609
610// 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.
615
620
624
628
631
637
643
648
653
659
665
671
677
680
685
697
705
706// Currently `AffineXf3<long long>` doesn't seem to compile, so we disable this constructor for `Matrix4<long long>`, because otherwise
707// mrbind instantiates the entire `AffineXf3<long long>` and chokes on it.
712
716
719
722
726
731MRC_API const float *MR_Matrix4f_call_const_2(const MR_Matrix4f *_this, int row, int col);
732
736MRC_API float *MR_Matrix4f_call(MR_Matrix4f *_this, int row, int col);
737
743
748
753
758
763
767
772
777
782
787
791
796
800
805
809
812MRC_API const float *MR_Matrix4f_data_const(const MR_Matrix4f *_this);
813
820
825
830
831// 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.
836
841
845
849
852
858
864
869
874
880
886
892
898
901
906
918
926
927// Currently `AffineXf3<long long>` doesn't seem to compile, so we disable this constructor for `Matrix4<long long>`, because otherwise
928// mrbind instantiates the entire `AffineXf3<long long>` and chokes on it.
933
937
940
943
947
952MRC_API const double *MR_Matrix4d_call_const_2(const MR_Matrix4d *_this, int row, int col);
953
957MRC_API double *MR_Matrix4d_call(MR_Matrix4d *_this, int row, int col);
958
964
969
974
979
984
988
993
998
1003
1008
1012
1017
1021
1026
1030
1033MRC_API const double *MR_Matrix4d_data_const(const MR_Matrix4d *_this);
1034
1041
1046
1051
1052// 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.
1057
1062
1066
1070
1073
1079
1085
1090
1095
1101
1107
1113
1119
1125
1133
1139
1144
1151
1156
1161
1168
1173
1178
1185
1190
1194
1199
1203
1207
1213
1226
1235
1238
1241
1249
1253
1257
1262
1267MRC_API const unsigned char *MR_Matrix4_unsigned_char_call_const(const MR_Matrix4_unsigned_char *_this, int row, int col);
1268
1272MRC_API unsigned char *MR_Matrix4_unsigned_char_call(MR_Matrix4_unsigned_char *_this, int row, int col);
1273
1279
1284
1290
1295
1300
1304
1310
1315
1321
1326
1331
1336
1341
1345
1349
1354
1359
1360// 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.
1365
1370
1374
1378
1382
1388
1394
1399
1404
1410
1416
1422
1428
1429#ifdef __cplusplus
1430} // extern "C"
1431#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)
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)
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