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>`.
20
21
32
43
54
65
76
80
83
88
96
102
105
108
112
117MRC_API const bool *MR_Matrix4b_call_const(const MR_Matrix4b *_this, int row, int col);
118
122MRC_API bool *MR_Matrix4b_call(MR_Matrix4b *_this, int row, int col);
123
129
134
139
144
149
153
158
163
168
172
177
181
186
190
194
199
204
205// 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.
210
215
219
223
226
232
238
243
248
254
260
263
268
276
282
285
288
292
297MRC_API const int *MR_Matrix4i_call_const(const MR_Matrix4i *_this, int row, int col);
298
302MRC_API int *MR_Matrix4i_call(MR_Matrix4i *_this, int row, int col);
303
309
314
319
324
329
333
338
343
348
352
357
361
366
370
374
379
384
385// 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.
390
395
399
403
406
412
418
423
428
434
440
443
448
456
462
465
468
472
477MRC_API const MR_int64_t *MR_Matrix4i64_call_const(const MR_Matrix4i64 *_this, int row, int col);
478
483
489
494
499
504
509
513
518
523
528
532
537
541
546
550
554
559
564
565// 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.
570
575
579
583
586
592
598
603
608
614
620
623
628
636
642
643// Currently `AffineXf3<long long>` doesn't seem to compile, so we disable this constructor for `Matrix4<long long>`, because otherwise
644// mrbind instantiates the entire `AffineXf3<long long>` and chokes on it.
648
652
655
658
662
667MRC_API const float *MR_Matrix4f_call_const_2(const MR_Matrix4f *_this, int row, int col);
668
672MRC_API float *MR_Matrix4f_call(MR_Matrix4f *_this, int row, int col);
673
679
684
689
694
699
703
708
713
718
723
727
732
736
741
745
748MRC_API const float *MR_Matrix4f_data_const(const MR_Matrix4f *_this);
749
756
761
766
767// 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.
772
777
781
785
788
794
800
805
810
816
822
825
830
838
844
845// Currently `AffineXf3<long long>` doesn't seem to compile, so we disable this constructor for `Matrix4<long long>`, because otherwise
846// mrbind instantiates the entire `AffineXf3<long long>` and chokes on it.
850
854
857
860
864
869MRC_API const double *MR_Matrix4d_call_const_2(const MR_Matrix4d *_this, int row, int col);
870
874MRC_API double *MR_Matrix4d_call(MR_Matrix4d *_this, int row, int col);
875
881
886
891
896
901
905
910
915
920
925
929
934
938
943
947
950MRC_API const double *MR_Matrix4d_data_const(const MR_Matrix4d *_this);
951
958
963
968
969// 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.
974
979
983
987
990
996
1002
1007
1012
1018
1024
1030
1036
1042
1047
1052
1057
1062
1067
1072
1077
1082
1087
1091
1096
1099
1102
1107
1116
1123
1126
1129
1135
1139
1143
1148
1153MRC_API const unsigned char *MR_Matrix4_unsigned_char_call_const(const MR_Matrix4_unsigned_char *_this, int row, int col);
1154
1158MRC_API unsigned char *MR_Matrix4_unsigned_char_call(MR_Matrix4_unsigned_char *_this, int row, int col);
1159
1165
1170
1176
1181
1186
1190
1196
1201
1207
1212
1217
1222
1227
1231
1235
1240
1245
1246// 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.
1251
1256
1260
1264
1268
1274
1280
1285
1290
1296
1302
1303#ifdef __cplusplus
1304} // extern "C"
1305#endif
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:84
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)
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 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 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 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_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 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 a method of class MR::Matrix4i named 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:79
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 a method of class MR::Matrix4f named 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 a method of class MR::Matrix4b named 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 a method of class MR::Matrix4f named 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 a method of class MR::Matrix4i64 named 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_Matrix4f MR_Matrix4f_DefaultConstruct(void)
Constructs an empty (default-constructed) instance.
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 a method of class MR::Matrix4d named 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 a method of class MR::Matrix4i64 named 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 a method of class MR::Matrix4i named 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_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 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 a method of class MR::Matrix4d named 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 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 a method of class MR::Matrix4b named 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:13
#define MRC_API
Definition exports.h:11
Definition MRAffineXf.h:44
Definition MRAffineXf.h:36
Definition MRMatrix3.h:20
Definition MRMatrix3.h:72
Definition MRMatrix3.h:59
Definition MRMatrix3.h:46
Definition MRMatrix3.h:33
Definition MRMatrix4.h:25
MR_Vector4b x
rows, identity matrix by default
Definition MRMatrix4.h:27
MR_Vector4b y
Definition MRMatrix4.h:28
MR_Vector4b w
Definition MRMatrix4.h:30
MR_Vector4b z
Definition MRMatrix4.h:29
Definition MRMatrix4.h:69
MR_Vector4d x
rows, identity matrix by default
Definition MRMatrix4.h:71
MR_Vector4d y
Definition MRMatrix4.h:72
MR_Vector4d z
Definition MRMatrix4.h:73
MR_Vector4d w
Definition MRMatrix4.h:74
Definition MRMatrix4.h:58
MR_Vector4f z
Definition MRMatrix4.h:62
MR_Vector4f y
Definition MRMatrix4.h:61
MR_Vector4f x
rows, identity matrix by default
Definition MRMatrix4.h:60
MR_Vector4f w
Definition MRMatrix4.h:63
Definition MRMatrix4.h:47
MR_Vector4i64 z
Definition MRMatrix4.h:51
MR_Vector4i64 w
Definition MRMatrix4.h:52
MR_Vector4i64 x
rows, identity matrix by default
Definition MRMatrix4.h:49
MR_Vector4i64 y
Definition MRMatrix4.h:50
Definition MRMatrix4.h:36
MR_Vector4i z
Definition MRMatrix4.h:40
MR_Vector4i x
rows, identity matrix by default
Definition MRMatrix4.h:38
MR_Vector4i y
Definition MRMatrix4.h:39
MR_Vector4i w
Definition MRMatrix4.h:41
Definition MRVector3.h:23
Definition MRVector3.h:59
Definition MRVector3.h:50
Definition MRVector3.h:41
Definition MRVector3.h:32
Definition MRVector4.h:20
Definition MRVector4.h:60
Definition MRVector4.h:50
Definition MRVector4.h:40
Definition MRVector4.h:30