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 MR_Matrix4b *_this, int row, int col);
127
131MRC_API bool *MR_Matrix4b_call_mut(MR_Matrix4b *_this, int row, int col);
132
137MRC_API const MR_Vector4b *MR_Matrix4b_index(const MR_Matrix4b *_this, int row);
138
143
147MRC_API MR_Vector4b MR_Matrix4b_col(const MR_Matrix4b *_this, int i);
148
152MRC_API bool MR_Matrix4b_trace(const MR_Matrix4b *_this);
153
157MRC_API bool MR_Matrix4b_normSq(const MR_Matrix4b *_this);
158
161MRC_API double MR_Matrix4b_norm(const MR_Matrix4b *_this);
162
166MRC_API MR_Matrix3b MR_Matrix4b_submatrix3(const MR_Matrix4b *_this, int i, int j);
167
171MRC_API bool MR_Matrix4b_det(const MR_Matrix4b *_this);
172
177
181
185MRC_API void MR_Matrix4b_setRotation(MR_Matrix4b *_this, const MR_Matrix3b *rot);
186
190
195
198MRC_API bool *MR_Matrix4b_data_mut(MR_Matrix4b *_this);
199
202MRC_API const bool *MR_Matrix4b_data(const MR_Matrix4b *_this);
203
207MRC_API bool MR_equal_MR_Matrix4b(const MR_Matrix4b *a, const MR_Matrix4b *b);
208
212MRC_API bool MR_not_equal_MR_Matrix4b(const MR_Matrix4b *a, const MR_Matrix4b *b);
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 MR_Matrix4i *_this, int row, int col);
325
329MRC_API int *MR_Matrix4i_call_mut(MR_Matrix4i *_this, int row, int col);
330
335MRC_API const MR_Vector4i *MR_Matrix4i_index(const MR_Matrix4i *_this, int row);
336
341
345MRC_API MR_Vector4i MR_Matrix4i_col(const MR_Matrix4i *_this, int i);
346
350MRC_API int MR_Matrix4i_trace(const MR_Matrix4i *_this);
351
355MRC_API int MR_Matrix4i_normSq(const MR_Matrix4i *_this);
356
359MRC_API double MR_Matrix4i_norm(const MR_Matrix4i *_this);
360
364MRC_API MR_Matrix3i MR_Matrix4i_submatrix3(const MR_Matrix4i *_this, int i, int j);
365
369MRC_API int MR_Matrix4i_det(const MR_Matrix4i *_this);
370
375
379
383MRC_API void MR_Matrix4i_setRotation(MR_Matrix4i *_this, const MR_Matrix3i *rot);
384
388
393
397
400MRC_API const int *MR_Matrix4i_data(const MR_Matrix4i *_this);
401
405MRC_API bool MR_equal_MR_Matrix4i(const MR_Matrix4i *a, const MR_Matrix4i *b);
406
410MRC_API bool MR_not_equal_MR_Matrix4i(const MR_Matrix4i *a, const MR_Matrix4i *b);
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
516MRC_API MR_Matrix4i64 MR_Matrix4i64_scale(MR_int64_t s);
517
522MRC_API const MR_int64_t *MR_Matrix4i64_call(const MR_Matrix4i64 *_this, int row, int col);
523
527MRC_API MR_int64_t *MR_Matrix4i64_call_mut(MR_Matrix4i64 *_this, int row, int col);
528
533MRC_API const MR_Vector4i64 *MR_Matrix4i64_index(const MR_Matrix4i64 *_this, int row);
534
539
543MRC_API MR_Vector4i64 MR_Matrix4i64_col(const MR_Matrix4i64 *_this, int i);
544
548MRC_API MR_int64_t MR_Matrix4i64_trace(const MR_Matrix4i64 *_this);
549
553MRC_API MR_int64_t MR_Matrix4i64_normSq(const MR_Matrix4i64 *_this);
554
557MRC_API double MR_Matrix4i64_norm(const MR_Matrix4i64 *_this);
558
562MRC_API MR_Matrix3i64 MR_Matrix4i64_submatrix3(const MR_Matrix4i64 *_this, int i, int j);
563
567MRC_API MR_int64_t MR_Matrix4i64_det(const MR_Matrix4i64 *_this);
568
573
577
582
586
591
594MRC_API MR_int64_t *MR_Matrix4i64_data_mut(MR_Matrix4i64 *_this);
595
598MRC_API const MR_int64_t *MR_Matrix4i64_data(const MR_Matrix4i64 *_this);
599
603MRC_API bool MR_equal_MR_Matrix4i64(const MR_Matrix4i64 *a, const MR_Matrix4i64 *b);
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_2(const MR_Matrix4f *_this, int row, int col);
732
736MRC_API float *MR_Matrix4f_call_mut(MR_Matrix4f *_this, int row, int col);
737
742MRC_API const MR_Vector4f *MR_Matrix4f_index(const MR_Matrix4f *_this, int row);
743
748
752MRC_API MR_Vector4f MR_Matrix4f_col(const MR_Matrix4f *_this, int i);
753
757MRC_API float MR_Matrix4f_trace(const MR_Matrix4f *_this);
758
762MRC_API float MR_Matrix4f_normSq(const MR_Matrix4f *_this);
763
766MRC_API float MR_Matrix4f_norm(const MR_Matrix4f *_this);
767
771MRC_API MR_Matrix3f MR_Matrix4f_submatrix3(const MR_Matrix4f *_this, int i, int j);
772
776MRC_API float MR_Matrix4f_det(const MR_Matrix4f *_this);
777
782
787
791
795MRC_API void MR_Matrix4f_setRotation(MR_Matrix4f *_this, const MR_Matrix3f *rot);
796
800
805
808MRC_API float *MR_Matrix4f_data_mut(MR_Matrix4f *_this);
809
812MRC_API const float *MR_Matrix4f_data(const MR_Matrix4f *_this);
813
820
824MRC_API bool MR_equal_MR_Matrix4f(const MR_Matrix4f *a, const MR_Matrix4f *b);
825
829MRC_API bool MR_not_equal_MR_Matrix4f(const MR_Matrix4f *a, const MR_Matrix4f *b);
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_2(const MR_Matrix4d *_this, int row, int col);
953
957MRC_API double *MR_Matrix4d_call_mut(MR_Matrix4d *_this, int row, int col);
958
963MRC_API const MR_Vector4d *MR_Matrix4d_index(const MR_Matrix4d *_this, int row);
964
969
973MRC_API MR_Vector4d MR_Matrix4d_col(const MR_Matrix4d *_this, int i);
974
978MRC_API double MR_Matrix4d_trace(const MR_Matrix4d *_this);
979
983MRC_API double MR_Matrix4d_normSq(const MR_Matrix4d *_this);
984
987MRC_API double MR_Matrix4d_norm(const MR_Matrix4d *_this);
988
992MRC_API MR_Matrix3d MR_Matrix4d_submatrix3(const MR_Matrix4d *_this, int i, int j);
993
997MRC_API double MR_Matrix4d_det(const MR_Matrix4d *_this);
998
1003
1008
1012
1016MRC_API void MR_Matrix4d_setRotation(MR_Matrix4d *_this, const MR_Matrix3d *rot);
1017
1021
1026
1029MRC_API double *MR_Matrix4d_data_mut(MR_Matrix4d *_this);
1030
1033MRC_API const double *MR_Matrix4d_data(const MR_Matrix4d *_this);
1034
1041
1045MRC_API bool MR_equal_MR_Matrix4d(const MR_Matrix4d *a, const MR_Matrix4d *b);
1046
1050MRC_API bool MR_not_equal_MR_Matrix4d(const MR_Matrix4d *a, const MR_Matrix4d *b);
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
1126
1134
1141
1147
1154
1160
1166
1173
1179
1185
1192
1198
1202
1207
1211
1215
1221
1234
1243
1246
1249
1257
1261
1265
1270
1275MRC_API const unsigned char *MR_Matrix4_unsigned_char_call(const MR_Matrix4_unsigned_char *_this, int row, int col);
1276
1280MRC_API unsigned char *MR_Matrix4_unsigned_char_call_mut(MR_Matrix4_unsigned_char *_this, int row, int col);
1281
1287
1292
1298
1303
1308
1312
1318
1322MRC_API unsigned char MR_Matrix4_unsigned_char_det(const MR_Matrix4_unsigned_char *_this);
1323
1329
1334
1339
1344
1349
1353
1356MRC_API const unsigned char *MR_Matrix4_unsigned_char_data(const MR_Matrix4_unsigned_char *_this);
1357
1362
1367
1368// 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.
1373
1378
1382
1386
1390
1396
1402
1407
1412
1418
1424
1430
1436
1437#ifdef __cplusplus
1438} // extern "C"
1439#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 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 int * MR_Matrix4i_data_mut(MR_Matrix4i *_this)
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_Vector4b * MR_Matrix4b_index_mut(MR_Matrix4b *_this, int row)
MRC_API const MR_Vector4i64 * MR_Matrix4i64_index(const MR_Matrix4i64 *_this, int row)
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 unsigned char * MR_Matrix4_unsigned_char_call_mut(MR_Matrix4_unsigned_char *_this, int row, int col)
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 const MR_Vector4f * MR_Matrix4f_index(const MR_Matrix4f *_this, int row)
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 void MR_Matrix4_unsigned_char_Set_z(MR_Matrix4_unsigned_char *_this, const MR_Vector4_unsigned_char *value)
MRC_API unsigned char * MR_Matrix4_unsigned_char_data_mut(MR_Matrix4_unsigned_char *_this)
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 const bool * MR_Matrix4b_data(const MR_Matrix4b *_this)
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 double MR_Matrix4d_normSq(const MR_Matrix4d *_this)
MRC_API MR_Vector4_unsigned_char * MR_Matrix4_unsigned_char_index_mut(MR_Matrix4_unsigned_char *_this, int row)
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_Vector4i * MR_Matrix4i_index_mut(MR_Matrix4i *_this, int row)
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_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 MR_Vector3f MR_Matrix4f_call_1(const MR_Matrix4f *_this, const MR_Vector3f *b)
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 const MR_Vector4d * MR_Matrix4d_index(const MR_Matrix4d *_this, int row)
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 const int * MR_Matrix4i_call(const MR_Matrix4i *_this, int row, int col)
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 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 void MR_Matrix4i_setRotation(MR_Matrix4i *_this, const MR_Matrix3i *rot)
MRC_API const double * MR_Matrix4d_call_2(const MR_Matrix4d *_this, int row, int col)
MRC_API MR_Matrix4b MR_Matrix4b_transposed(const MR_Matrix4b *_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 const bool * MR_Matrix4b_call(const MR_Matrix4b *_this, int row, int col)
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 const float * MR_Matrix4f_data(const MR_Matrix4f *_this)
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 const MR_int64_t * MR_Matrix4i64_data(const MR_Matrix4i64 *_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 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 void MR_Matrix4_unsigned_char_Set_y(MR_Matrix4_unsigned_char *_this, const MR_Vector4_unsigned_char *value)
MRC_API MR_Vector4d * MR_Matrix4d_index_mut(MR_Matrix4d *_this, int row)
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 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_data_mut(MR_Matrix4b *_this)
MRC_API MR_Vector4f * MR_Matrix4f_index_mut(MR_Matrix4f *_this, int row)
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 float * MR_Matrix4f_call_mut(MR_Matrix4f *_this, int row, int col)
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 const MR_Vector4_unsigned_char * MR_Matrix4_unsigned_char_index(const MR_Matrix4_unsigned_char *_this, int row)
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_Matrix4i * MR_mul_assign_MR_Matrix4i_int(MR_Matrix4i *a, int b)
MRC_API double MR_Matrix4i_norm(const MR_Matrix4i *_this)
MRC_API const MR_Vector4i * MR_Matrix4i_index(const MR_Matrix4i *_this, int row)
MRC_API MR_int64_t * MR_Matrix4i64_call_mut(MR_Matrix4i64 *_this, int row, int col)
MRC_API const float * MR_Matrix4f_call_2(const 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 MR_Matrix4i64 * MR_add_assign_MR_Matrix4i64(MR_Matrix4i64 *a, const MR_Matrix4i64 *b)
MRC_API MR_int64_t * MR_Matrix4i64_data_mut(MR_Matrix4i64 *_this)
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 const int * MR_Matrix4i_data(const MR_Matrix4i *_this)
MRC_API MR_Matrix4f MR_Matrix4f_identity(void)
Generated from method MR::Matrix4f::identity.
MRC_API const double * MR_Matrix4d_data(const MR_Matrix4d *_this)
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 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 float * MR_Matrix4f_data_mut(MR_Matrix4f *_this)
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 double * MR_Matrix4d_call_mut(MR_Matrix4d *_this, int row, int col)
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 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 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)
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 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 bool * MR_Matrix4b_call_mut(MR_Matrix4b *_this, int row, int col)
MRC_API double * MR_Matrix4d_data_mut(MR_Matrix4d *_this)
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 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 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 MR_Matrix4d MR_Matrix4d_identity(void)
Generated from method MR::Matrix4d::identity.
MRC_API bool MR_not_equal_MR_Matrix4b(const MR_Matrix4b *a, const MR_Matrix4b *b)
MRC_API MR_Vector4i64 * MR_Matrix4i64_index_mut(MR_Matrix4i64 *_this, int row)
MRC_API MR_Vector3d MR_Matrix4d_call_1(const MR_Matrix4d *_this, const MR_Vector3d *b)
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 const MR_int64_t * MR_Matrix4i64_call(const MR_Matrix4i64 *_this, int row, int col)
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 int * MR_Matrix4i_call_mut(MR_Matrix4i *_this, int row, int col)
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 const unsigned char * MR_Matrix4_unsigned_char_call(const MR_Matrix4_unsigned_char *_this, int row, int col)
MRC_API void MR_Matrix4_unsigned_char_Set_x(MR_Matrix4_unsigned_char *_this, const MR_Vector4_unsigned_char *value)
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 const unsigned char * MR_Matrix4_unsigned_char_data(const MR_Matrix4_unsigned_char *_this)
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 const MR_Vector4b * MR_Matrix4b_index(const MR_Matrix4b *_this, int row)
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 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 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_Matrix4f MR_mul_float_MR_Matrix4f(float a, const MR_Matrix4f *b)
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
Generated from class MR::Vector3d.
Definition MRVector3.h:55
Generated from class MR::Vector3f.
Definition MRVector3.h:47
Definition MRVector3.h:34
Generated from class MR::Vector3i.
Definition MRVector3.h:63
Definition MRVector4.h:22
Definition MRVector4.h:62
Definition MRVector4.h:52
Definition MRVector4.h:42
Definition MRVector4.h:32