MeshLib C Docs
Loading...
Searching...
No Matches
MRMatrix3.h
Go to the documentation of this file.
1#pragma once
2
3#include <MRCMesh/MRVector3.h>
4#include <MRCMisc/common.h>
5#include <MRCMisc/exports.h>
6
7#include <stdbool.h>
8#include <stddef.h>
9#include <stdint.h>
10
11#ifdef __cplusplus
12extern "C" {
13#endif
14
15
25
28
38
41
51
54
64
67
77
80
83
88
95
98
101
105
108MRC_API MR_Matrix3b MR_Matrix3b_scale_3(bool sx, bool sy, bool sz);
109
113
120
128
133MRC_API const MR_Vector3b *MR_Matrix3b_index_const(const MR_Matrix3b *_this, int32_t row);
134
139
144
149
154
158
163
168
173
177
182
187
191
196
200
205
209
212
215
220
223
226
232
237
242
243// 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.
248
253
257
261
264
270
276
281
286
292
298
301
306
313
316
319
323
326MRC_API MR_Matrix3i MR_Matrix3i_scale_3(int32_t sx, int32_t sy, int32_t sz);
327
331
338
346
351MRC_API const MR_Vector3i *MR_Matrix3i_index_const(const MR_Matrix3i *_this, int32_t row);
352
357
362
367
372
376
380MRC_API int32_t MR_Matrix3i_det(const MR_Matrix3i *_this);
381
386
391
395
400
405
409
414
418
423
427
430
433
438
441
444
450
455
460
461// 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.
466
471
475
479
482
488
494
499
504
510
516
519
524
531
534
537
541
545
549
556
564
570
575
580
585
590
594
599
604
609
613
618
623
627
632
636
641
645
648
651
656
659
662
668
673
678
679// 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.
684
689
693
697
700
706
712
717
722
728
734
737
742
749
753
757
760
763
767
770MRC_API MR_Matrix3f MR_Matrix3f_scale_3(float sx, float sy, float sz);
771
775
780
786
792
797
804
812
817MRC_API const MR_Vector3f *MR_Matrix3f_index_const(const MR_Matrix3f *_this, int32_t row);
818
823
828
833
838
842
847
852
857
862
868
873
877
882
887
891
896
900
905
909
912
915
920
923
926
932
937
942
943// 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.
948
953
957
961
964
970
976
981
986
992
998
1001
1006
1013
1017
1020
1023
1027
1030MRC_API MR_Matrix3d MR_Matrix3d_scale_3(double sx, double sy, double sz);
1031
1035
1040
1046
1052
1057
1064
1072
1077MRC_API const MR_Vector3d *MR_Matrix3d_index_const(const MR_Matrix3d *_this, int32_t row);
1078
1083
1088
1093
1098
1102
1107
1112
1117
1122
1128
1133
1137
1142
1147
1151
1156
1160
1165
1169
1172
1175
1180
1183
1186
1192
1197
1202
1203// 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.
1208
1213
1217
1221
1224
1230
1236
1241
1246
1252
1258
1259#ifdef __cplusplus
1260} // extern "C"
1261#endif
MRC_API MR_Matrix3i MR_Matrix3i_transposed(const MR_Matrix3i *_this)
MRC_API MR_Matrix3d MR_mul_MR_Matrix3d(const MR_Matrix3d *a, const MR_Matrix3d *b)
MRC_API MR_Matrix3b MR_Matrix3b_scale_1_MR_Vector3b(const MR_Vector3b *s)
MRC_API MR_Matrix3i MR_sub_MR_Matrix3i(const MR_Matrix3i *a, const MR_Matrix3i *b)
MRC_API float MR_Matrix3f_trace(const MR_Matrix3f *_this)
MRC_API MR_Matrix3f MR_add_MR_Matrix3f(const MR_Matrix3f *a, const MR_Matrix3f *b)
MRC_API MR_Matrix3i64 * MR_Matrix3_int64_t_QR_GetMutable_r(MR_Matrix3_int64_t_QR *_this)
MRC_API MR_Matrix3f * MR_sub_assign_MR_Matrix3f(MR_Matrix3f *a, const MR_Matrix3f *b)
MRC_API const MR_Matrix3_float_QR * MR_Matrix3_float_QR_OffsetPtr(const MR_Matrix3_float_QR *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 MR_Matrix3d * MR_Matrix3_double_QR_Get_r(const MR_Matrix3_double_QR *_this)
MRC_API MR_Matrix3i MR_Matrix3i_scale_3(int32_t sx, int32_t sy, int32_t sz)
MRC_API MR_Vector3i64 * MR_Matrix3i64_index(MR_Matrix3i64 *_this, int32_t row)
MRC_API MR_Matrix3d MR_Matrix3d_rotation_MR_Vector3d(const MR_Vector3d *from, const MR_Vector3d *to)
MRC_API MR_Matrix3_bool_QR * MR_Matrix3_bool_QR_DefaultConstruct(void)
MRC_API MR_Matrix3i64 MR_add_MR_Matrix3i64(const MR_Matrix3i64 *a, const MR_Matrix3i64 *b)
MRC_API MR_Matrix3_int64_t_QR * MR_Matrix3_int64_t_QR_ConstructFromAnother(const MR_Matrix3_int64_t_QR *_other)
MRC_API MR_Matrix3i64 MR_Matrix3i64_fromColumns(const MR_Vector3i64 *x, const MR_Vector3i64 *y, const MR_Vector3i64 *z)
MRC_API MR_Matrix3i * MR_Matrix3_int32_t_QR_GetMutable_r(MR_Matrix3_int32_t_QR *_this)
MRC_API MR_Matrix3i64 MR_mul_MR_Matrix3i64_int64_t(const MR_Matrix3i64 *b, MR_int64_t a)
MRC_API MR_Matrix3f * MR_mul_assign_MR_Matrix3f_float(MR_Matrix3f *a, float b)
MRC_API MR_Matrix3i MR_Matrix3i_zero(void)
Generated from a method of class MR::Matrix3i named zero.
MRC_API MR_Vector3b MR_Matrix3b_col(const MR_Matrix3b *_this, int32_t i)
MRC_API MR_Matrix3i MR_Matrix3i_scale_1_int32_t(int32_t s)
MRC_API MR_Matrix3_int32_t_QR * MR_Matrix3_int32_t_QR_ConstructFrom(MR_Matrix3i q, MR_Matrix3i r)
MRC_API MR_Matrix3f MR_Matrix3f_approximateLinearRotationMatrixFromEuler(const MR_Vector3f *eulerAngles)
MRC_API MR_Matrix3d MR_mul_MR_Matrix3d_double(const MR_Matrix3d *b, double a)
MRC_API void MR_Matrix3_double_QR_Set_q(MR_Matrix3_double_QR *_this, MR_Matrix3d value)
MRC_API MR_Matrix3_bool_QR * MR_Matrix3_bool_QR_ConstructFrom(MR_Matrix3b q, MR_Matrix3b r)
MRC_API MR_Vector3f * MR_Matrix3f_index(MR_Matrix3f *_this, int32_t row)
MRC_API MR_Vector3i MR_Matrix3i_col(const MR_Matrix3i *_this, int32_t i)
MRC_API MR_Matrix3_double_QR * MR_Matrix3_double_QR_DefaultConstruct(void)
MRC_API MR_Vector3i64 MR_mul_MR_Matrix3i64_MR_Vector3i64(const MR_Matrix3i64 *a, const MR_Vector3i64 *b)
MRC_API const MR_Matrix3i * MR_Matrix3_int32_t_QR_Get_r(const MR_Matrix3_int32_t_QR *_this)
MRC_API const MR_Matrix3i64 * MR_Matrix3_int64_t_QR_Get_r(const MR_Matrix3_int64_t_QR *_this)
MRC_API MR_Vector3i * MR_Matrix3i_index(MR_Matrix3i *_this, int32_t row)
MRC_API MR_Matrix3i MR_div_MR_Matrix3b_bool(MR_Matrix3b b, bool a)
Generated from function MR::operator/.
MRC_API const MR_Matrix3f * MR_Matrix3_float_QR_Get_r(const MR_Matrix3_float_QR *_this)
MRC_API MR_Matrix3i64 MR_Matrix3i64_scale_1_MR_Vector3i64(const MR_Vector3i64 *s)
MRC_API void MR_Matrix3_bool_QR_Set_r(MR_Matrix3_bool_QR *_this, MR_Matrix3b value)
MRC_API MR_Vector3d MR_Matrix3d_col(const MR_Matrix3d *_this, int32_t i)
MRC_API void MR_Matrix3_bool_QR_Destroy(const MR_Matrix3_bool_QR *_this)
Destroys a heap-allocated instance of MR_Matrix3_bool_QR. Does nothing if the pointer is null.
MRC_API const MR_Matrix3f * MR_Matrix3_float_QR_Get_q(const MR_Matrix3_float_QR *_this)
MRC_API MR_Matrix3i MR_Matrix3i_Construct(const MR_Vector3i *x, const MR_Vector3i *y, const MR_Vector3i *z)
MRC_API const MR_Matrix3_int64_t_QR * MR_Matrix3_int64_t_QR_OffsetPtr(const MR_Matrix3_int64_t_QR *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 double MR_Matrix3i64_norm(const MR_Matrix3i64 *_this)
MRC_API bool MR_Matrix3b_trace(const MR_Matrix3b *_this)
MRC_API MR_Matrix3i MR_Matrix3i_scale_1_MR_Vector3i(const MR_Vector3i *s)
struct MR_Matrix3_double_QR MR_Matrix3_double_QR
Generated from class MR::Matrix3<double>::QR.
Definition MRMatrix3.h:79
MRC_API MR_Vector3i MR_mul_MR_Matrix3b_MR_Vector3b(const MR_Matrix3b *a, const MR_Vector3b *b)
MRC_API MR_Matrix3f MR_Matrix3f_identity(void)
Generated from a method of class MR::Matrix3f named identity.
MRC_API void MR_Matrix3_double_QR_Set_r(MR_Matrix3_double_QR *_this, MR_Matrix3d value)
MRC_API bool MR_not_equal_MR_Matrix3d(const MR_Matrix3d *a, const MR_Matrix3d *b)
MRC_API MR_Matrix3f MR_Matrix3f_DefaultConstruct(void)
Constructs an empty (default-constructed) instance.
MRC_API MR_Matrix3_bool_QR * MR_Matrix3_bool_QR_ConstructFromAnother(const MR_Matrix3_bool_QR *_other)
MRC_API MR_Matrix3_float_QR * MR_Matrix3_float_QR_ConstructFrom(MR_Matrix3f q, MR_Matrix3f r)
MRC_API MR_Matrix3d MR_add_MR_Matrix3d(const MR_Matrix3d *a, const MR_Matrix3d *b)
MRC_API MR_Matrix3_double_QR * MR_Matrix3_double_QR_AssignFromAnother(MR_Matrix3_double_QR *_this, const MR_Matrix3_double_QR *_other)
MRC_API bool MR_not_equal_MR_Matrix3i64(const MR_Matrix3i64 *a, const MR_Matrix3i64 *b)
MRC_API bool MR_not_equal_MR_Matrix3i(const MR_Matrix3i *a, const MR_Matrix3i *b)
MRC_API MR_Matrix3_int64_t_QR * MR_Matrix3_int64_t_QR_DefaultConstruct(void)
MRC_API MR_int64_t MR_Matrix3i64_normSq(const MR_Matrix3i64 *_this)
MRC_API MR_Vector3i64 MR_Matrix3i64_col(const MR_Matrix3i64 *_this, int32_t i)
MRC_API const MR_Matrix3b * MR_Matrix3_bool_QR_Get_q(const MR_Matrix3_bool_QR *_this)
MRC_API bool MR_equal_MR_Matrix3d(const MR_Matrix3d *a, const MR_Matrix3d *b)
struct MR_Matrix3b MR_Matrix3b
MRC_API MR_Matrix3d * MR_add_assign_MR_Matrix3d(MR_Matrix3d *a, const MR_Matrix3d *b)
MRC_API void MR_Matrix3_bool_QR_DestroyArray(const MR_Matrix3_bool_QR *_this)
Destroys a heap-allocated array of MR_Matrix3_bool_QR. Does nothing if the pointer is null.
struct MR_Matrix3_int64_t_QR MR_Matrix3_int64_t_QR
Generated from class MR::Matrix3<MR_int64_t>::QR.
Definition MRMatrix3.h:53
MRC_API MR_Matrix3i64 * MR_Matrix3_int64_t_QR_GetMutable_q(MR_Matrix3_int64_t_QR *_this)
MRC_API MR_Matrix3i64 MR_Matrix3i64_fromRows(const MR_Vector3i64 *x, const MR_Vector3i64 *y, const MR_Vector3i64 *z)
MRC_API MR_Matrix3_float_QR * MR_Matrix3_float_QR_OffsetMutablePtr(MR_Matrix3_float_QR *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 MR_Matrix3i64 * MR_Matrix3_int64_t_QR_Get_q(const MR_Matrix3_int64_t_QR *_this)
MRC_API MR_Matrix3_float_QR * MR_Matrix3_float_QR_DefaultConstruct(void)
MRC_API void MR_Matrix3_double_QR_Destroy(const MR_Matrix3_double_QR *_this)
Destroys a heap-allocated instance of MR_Matrix3_double_QR. Does nothing if the pointer is null.
MRC_API MR_Vector3f MR_Matrix3f_col(const MR_Matrix3f *_this, int32_t i)
MRC_API MR_Matrix3f MR_div_MR_Matrix3f_float(MR_Matrix3f b, float a)
Generated from function MR::operator/.
MRC_API MR_Matrix3b * MR_Matrix3_bool_QR_GetMutable_q(MR_Matrix3_bool_QR *_this)
MRC_API MR_Vector3f MR_mul_MR_Matrix3f_MR_Vector3f(const MR_Matrix3f *a, const MR_Vector3f *b)
MRC_API MR_Matrix3f * MR_Matrix3_float_QR_GetMutable_r(MR_Matrix3_float_QR *_this)
MRC_API MR_Matrix3f MR_Matrix3f_transposed(const MR_Matrix3f *_this)
MRC_API const MR_Matrix3b * MR_Matrix3_bool_QR_Get_r(const MR_Matrix3_bool_QR *_this)
MRC_API MR_Matrix3i64 MR_mul_MR_Matrix3i64(const MR_Matrix3i64 *a, const MR_Matrix3i64 *b)
struct MR_Matrix3_int32_t_QR MR_Matrix3_int32_t_QR
Generated from class MR::Matrix3<int32_t>::QR.
Definition MRMatrix3.h:40
MRC_API MR_Matrix3f MR_mul_float_MR_Matrix3f(float a, const MR_Matrix3f *b)
MRC_API MR_Matrix3f MR_Matrix3f_scale_1_MR_Vector3f(const MR_Vector3f *s)
MRC_API const MR_Matrix3d * MR_Matrix3_double_QR_Get_q(const MR_Matrix3_double_QR *_this)
MRC_API MR_Matrix3d * MR_Matrix3_double_QR_GetMutable_q(MR_Matrix3_double_QR *_this)
MRC_API MR_Matrix3_int64_t_QR * MR_Matrix3_int64_t_QR_AssignFromAnother(MR_Matrix3_int64_t_QR *_this, const MR_Matrix3_int64_t_QR *_other)
MRC_API void MR_Matrix3_int64_t_QR_Destroy(const MR_Matrix3_int64_t_QR *_this)
Destroys a heap-allocated instance of MR_Matrix3_int64_t_QR. Does nothing if the pointer is null.
MRC_API double MR_Matrix3d_trace(const MR_Matrix3d *_this)
MRC_API MR_Matrix3f MR_Matrix3f_inverse(const MR_Matrix3f *_this)
MRC_API MR_Matrix3f MR_Matrix3f_fromRows(const MR_Vector3f *x, const MR_Vector3f *y, const MR_Vector3f *z)
MRC_API MR_Matrix3i64 * MR_mul_assign_MR_Matrix3i64_int64_t(MR_Matrix3i64 *a, MR_int64_t b)
MRC_API MR_Matrix3d MR_Matrix3d_DefaultConstruct(void)
Constructs an empty (default-constructed) instance.
MRC_API MR_Matrix3f MR_sub_MR_Matrix3f(const MR_Matrix3f *a, const MR_Matrix3f *b)
MRC_API float MR_Matrix3f_normSq(const MR_Matrix3f *_this)
MRC_API MR_Matrix3d * MR_mul_assign_MR_Matrix3d_double(MR_Matrix3d *a, double b)
MRC_API const MR_Vector3b * MR_Matrix3b_index_const(const MR_Matrix3b *_this, int32_t row)
MRC_API MR_Matrix3i * MR_div_assign_MR_Matrix3i_int32_t(MR_Matrix3i *a, int32_t b)
struct MR_Matrix3_bool_QR MR_Matrix3_bool_QR
Generated from class MR::Matrix3<bool>::QR.
Definition MRMatrix3.h:27
MRC_API bool MR_equal_MR_Matrix3b(const MR_Matrix3b *a, const MR_Matrix3b *b)
MRC_API MR_Matrix3_double_QR * MR_Matrix3_double_QR_DefaultConstructArray(size_t num_elems)
MRC_API void MR_Matrix3_int32_t_QR_Set_r(MR_Matrix3_int32_t_QR *_this, MR_Matrix3i value)
MRC_API MR_Matrix3i64 * MR_Matrix3i64_DefaultConstructArray(size_t num_elems)
MRC_API float MR_Matrix3f_norm(const MR_Matrix3f *_this)
MRC_API MR_Matrix3b * MR_mul_assign_MR_Matrix3b_bool(MR_Matrix3b *a, bool b)
MRC_API MR_Matrix3b MR_Matrix3b_Construct(const MR_Vector3b *x, const MR_Vector3b *y, const MR_Vector3b *z)
MRC_API MR_Matrix3f MR_Matrix3f_rotation_float(const MR_Vector3f *axis, float angle)
MRC_API void MR_Matrix3_int64_t_QR_Set_r(MR_Matrix3_int64_t_QR *_this, MR_Matrix3i64 value)
MRC_API MR_Matrix3i MR_add_MR_Matrix3b(const MR_Matrix3b *a, const MR_Matrix3b *b)
MRC_API MR_Vector3b * MR_Matrix3b_index(MR_Matrix3b *_this, int32_t row)
MRC_API MR_Matrix3i MR_mul_bool_MR_Matrix3b(bool a, const MR_Matrix3b *b)
MRC_API MR_Matrix3_int32_t_QR * MR_Matrix3_int32_t_QR_AssignFromAnother(MR_Matrix3_int32_t_QR *_this, const MR_Matrix3_int32_t_QR *_other)
MRC_API MR_Matrix3d MR_Matrix3d_Construct(const MR_Vector3d *x, const MR_Vector3d *y, const MR_Vector3d *z)
MRC_API MR_Vector3i MR_mul_MR_Matrix3i_MR_Vector3i(const MR_Matrix3i *a, const MR_Vector3i *b)
MRC_API MR_Matrix3i MR_Matrix3i_DefaultConstruct(void)
Constructs an empty (default-constructed) instance.
MRC_API const MR_Matrix3_bool_QR * MR_Matrix3_bool_QR_OffsetPtr(const MR_Matrix3_bool_QR *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_Matrix3i MR_div_MR_Matrix3i_int32_t(MR_Matrix3i b, int32_t a)
Generated from function MR::operator/.
MRC_API MR_Matrix3f MR_Matrix3f_rotation_MR_Vector3f(const MR_Vector3f *from, const MR_Vector3f *to)
MRC_API MR_Matrix3i MR_Matrix3i_fromRows(const MR_Vector3i *x, const MR_Vector3i *y, const MR_Vector3i *z)
MRC_API void MR_Matrix3_int32_t_QR_Destroy(const MR_Matrix3_int32_t_QR *_this)
Destroys a heap-allocated instance of MR_Matrix3_int32_t_QR. Does nothing if the pointer is null.
struct MR_Matrix3i MR_Matrix3i
MRC_API MR_Matrix3f MR_Matrix3f_Construct_double(const MR_Matrix3d *m)
MRC_API MR_Matrix3i MR_mul_MR_Matrix3i_int32_t(const MR_Matrix3i *b, int32_t a)
MRC_API MR_Matrix3b MR_Matrix3b_DefaultConstruct(void)
Constructs an empty (default-constructed) instance.
MRC_API MR_Matrix3i MR_mul_MR_Matrix3b(const MR_Matrix3b *a, const MR_Matrix3b *b)
MRC_API MR_Matrix3i MR_Matrix3i_fromColumns(const MR_Vector3i *x, const MR_Vector3i *y, const MR_Vector3i *z)
MRC_API MR_Matrix3_double_QR * MR_Matrix3_double_QR_ConstructFrom(MR_Matrix3d q, MR_Matrix3d r)
MRC_API float MR_Matrix3f_det(const MR_Matrix3f *_this)
MRC_API double MR_Matrix3i_norm(const MR_Matrix3i *_this)
MRC_API MR_Matrix3d MR_Matrix3d_scale_1_MR_Vector3d(const MR_Vector3d *s)
struct MR_Matrix3f MR_Matrix3f
MRC_API MR_Matrix3b MR_Matrix3b_transposed(const MR_Matrix3b *_this)
MRC_API MR_Matrix3_float_QR * MR_Matrix3_float_QR_AssignFromAnother(MR_Matrix3_float_QR *_this, const MR_Matrix3_float_QR *_other)
MRC_API MR_Matrix3d MR_Matrix3d_rotation_double(const MR_Vector3d *axis, double angle)
MRC_API MR_Matrix3d MR_Matrix3d_Construct_double(const MR_Matrix3d *m)
MRC_API MR_Matrix3_int32_t_QR * MR_Matrix3_int32_t_QR_DefaultConstructArray(size_t num_elems)
MRC_API MR_Matrix3_int64_t_QR * MR_Matrix3_int64_t_QR_OffsetMutablePtr(MR_Matrix3_int64_t_QR *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 void MR_Matrix3_int32_t_QR_Set_q(MR_Matrix3_int32_t_QR *_this, MR_Matrix3i value)
MRC_API void MR_Matrix3_int64_t_QR_Set_q(MR_Matrix3_int64_t_QR *_this, MR_Matrix3i64 value)
MRC_API MR_int64_t MR_Matrix3i64_det(const MR_Matrix3i64 *_this)
MRC_API MR_Matrix3d * MR_sub_assign_MR_Matrix3d(MR_Matrix3d *a, const MR_Matrix3d *b)
MRC_API MR_Matrix3b * MR_Matrix3b_DefaultConstructArray(size_t num_elems)
MRC_API MR_Matrix3i * MR_Matrix3_int32_t_QR_GetMutable_q(MR_Matrix3_int32_t_QR *_this)
MRC_API MR_Matrix3i64 MR_Matrix3i64_scale_3(MR_int64_t sx, MR_int64_t sy, MR_int64_t sz)
MRC_API MR_Matrix3_bool_QR * MR_Matrix3_bool_QR_OffsetMutablePtr(MR_Matrix3_bool_QR *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 void MR_Matrix3_float_QR_Destroy(const MR_Matrix3_float_QR *_this)
Destroys a heap-allocated instance of MR_Matrix3_float_QR. Does nothing if the pointer is null.
MRC_API MR_Matrix3f MR_mul_MR_Matrix3f_float(const MR_Matrix3f *b, float a)
MRC_API bool MR_equal_MR_Matrix3i64(const MR_Matrix3i64 *a, const MR_Matrix3i64 *b)
MRC_API MR_Matrix3b MR_Matrix3b_fromRows(const MR_Vector3b *x, const MR_Vector3b *y, const MR_Vector3b *z)
MRC_API MR_Matrix3f MR_Matrix3f_fromColumns(const MR_Vector3f *x, const MR_Vector3f *y, const MR_Vector3f *z)
MRC_API MR_Matrix3d MR_Matrix3d_identity(void)
Generated from a method of class MR::Matrix3d named identity.
MRC_API MR_Matrix3_bool_QR * MR_Matrix3_bool_QR_DefaultConstructArray(size_t num_elems)
MRC_API MR_Matrix3b MR_Matrix3b_zero(void)
Generated from a method of class MR::Matrix3b named zero.
MRC_API bool MR_not_equal_MR_Matrix3b(const MR_Matrix3b *a, const MR_Matrix3b *b)
MRC_API MR_Matrix3d MR_Matrix3d_inverse(const MR_Matrix3d *_this)
MRC_API MR_Matrix3b MR_Matrix3b_identity(void)
Generated from a method of class MR::Matrix3b named identity.
MRC_API MR_Matrix3i64 MR_div_MR_Matrix3i64_int64_t(MR_Matrix3i64 b, MR_int64_t a)
Generated from function MR::operator/.
MRC_API MR_Matrix3b * MR_sub_assign_MR_Matrix3b(MR_Matrix3b *a, const MR_Matrix3b *b)
MRC_API MR_Matrix3_bool_QR * MR_Matrix3_bool_QR_AssignFromAnother(MR_Matrix3_bool_QR *_this, const MR_Matrix3_bool_QR *_other)
MRC_API MR_Matrix3_float_QR * MR_Matrix3f_qr(const MR_Matrix3f *_this)
MRC_API bool MR_not_equal_MR_Matrix3f(const MR_Matrix3f *a, const MR_Matrix3f *b)
MRC_API MR_Matrix3i MR_sub_MR_Matrix3b(const MR_Matrix3b *a, const MR_Matrix3b *b)
MRC_API MR_Matrix3i64 * MR_sub_assign_MR_Matrix3i64(MR_Matrix3i64 *a, const MR_Matrix3i64 *b)
MRC_API MR_Matrix3i MR_mul_MR_Matrix3i(const MR_Matrix3i *a, const MR_Matrix3i *b)
MRC_API MR_Matrix3d * MR_div_assign_MR_Matrix3d_double(MR_Matrix3d *a, double b)
MRC_API const MR_Matrix3_int32_t_QR * MR_Matrix3_int32_t_QR_OffsetPtr(const MR_Matrix3_int32_t_QR *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_Matrix3b MR_Matrix3b_fromColumns(const MR_Vector3b *x, const MR_Vector3b *y, const MR_Vector3b *z)
MRC_API MR_Matrix3_float_QR * MR_Matrix3_float_QR_DefaultConstructArray(size_t num_elems)
MRC_API MR_Matrix3b * MR_Matrix3_bool_QR_GetMutable_r(MR_Matrix3_bool_QR *_this)
MRC_API bool MR_equal_MR_Matrix3i(const MR_Matrix3i *a, const MR_Matrix3i *b)
MRC_API MR_Matrix3d MR_sub_MR_Matrix3d(const MR_Matrix3d *a, const MR_Matrix3d *b)
MRC_API MR_Matrix3_double_QR * MR_Matrix3_double_QR_OffsetMutablePtr(MR_Matrix3_double_QR *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 bool MR_equal_MR_Matrix3f(const MR_Matrix3f *a, const MR_Matrix3f *b)
MRC_API MR_Matrix3d MR_Matrix3d_approximateLinearRotationMatrixFromEuler(const MR_Vector3d *eulerAngles)
MRC_API MR_Matrix3b MR_Matrix3b_scale_1_bool(bool s)
MRC_API int32_t MR_Matrix3i_det(const MR_Matrix3i *_this)
struct MR_Matrix3_float_QR MR_Matrix3_float_QR
Generated from class MR::Matrix3<float>::QR.
Definition MRMatrix3.h:66
MRC_API MR_Matrix3b MR_Matrix3b_scale_3(bool sx, bool sy, bool sz)
MRC_API MR_Matrix3_float_QR * MR_Matrix3_float_QR_ConstructFromAnother(const MR_Matrix3_float_QR *_other)
MRC_API MR_Matrix3i MR_Matrix3i_identity(void)
Generated from a method of class MR::Matrix3i named identity.
MRC_API MR_Matrix3i MR_mul_MR_Matrix3b_bool(const MR_Matrix3b *b, bool a)
MRC_API void MR_Matrix3_bool_QR_Set_q(MR_Matrix3_bool_QR *_this, MR_Matrix3b value)
MRC_API MR_Matrix3f MR_Matrix3f_scale_3(float sx, float sy, float sz)
MRC_API MR_Matrix3i * MR_Matrix3i_DefaultConstructArray(size_t num_elems)
MRC_API MR_Matrix3d MR_Matrix3d_scale_3(double sx, double sy, double sz)
MRC_API void MR_Matrix3_float_QR_Set_r(MR_Matrix3_float_QR *_this, MR_Matrix3f value)
MRC_API MR_Matrix3i64 * MR_add_assign_MR_Matrix3i64(MR_Matrix3i64 *a, const MR_Matrix3i64 *b)
MRC_API const MR_Vector3i64 * MR_Matrix3i64_index_const(const MR_Matrix3i64 *_this, int32_t row)
MRC_API MR_Vector3d MR_mul_MR_Matrix3d_MR_Vector3d(const MR_Matrix3d *a, const MR_Vector3d *b)
MRC_API MR_Matrix3d MR_Matrix3d_fromRows(const MR_Vector3d *x, const MR_Vector3d *y, const MR_Vector3d *z)
MRC_API MR_Matrix3i64 MR_Matrix3i64_scale_1_int64_t(MR_int64_t s)
MRC_API MR_Matrix3i MR_add_MR_Matrix3i(const MR_Matrix3i *a, const MR_Matrix3i *b)
MRC_API void MR_Matrix3_double_QR_DestroyArray(const MR_Matrix3_double_QR *_this)
Destroys a heap-allocated array of MR_Matrix3_double_QR. Does nothing if the pointer is null.
MRC_API int32_t MR_Matrix3i_normSq(const MR_Matrix3i *_this)
MRC_API void MR_Matrix3_float_QR_DestroyArray(const MR_Matrix3_float_QR *_this)
Destroys a heap-allocated array of MR_Matrix3_float_QR. Does nothing if the pointer is null.
MRC_API MR_Matrix3f * MR_Matrix3f_DefaultConstructArray(size_t num_elems)
MRC_API const MR_Vector3d * MR_Matrix3d_index_const(const MR_Matrix3d *_this, int32_t row)
MRC_API MR_Matrix3f MR_Matrix3f_Construct(const MR_Vector3f *x, const MR_Vector3f *y, const MR_Vector3f *z)
MRC_API MR_Vector3f MR_Matrix3f_toEulerAngles(const MR_Matrix3f *_this)
MRC_API MR_Matrix3d * MR_Matrix3_double_QR_GetMutable_r(MR_Matrix3_double_QR *_this)
struct MR_Matrix3i64 MR_Matrix3i64
MRC_API int32_t MR_Matrix3i_trace(const MR_Matrix3i *_this)
MRC_API MR_Matrix3_int64_t_QR * MR_Matrix3_int64_t_QR_ConstructFrom(MR_Matrix3i64 q, MR_Matrix3i64 r)
MRC_API MR_Matrix3d * MR_Matrix3d_DefaultConstructArray(size_t num_elems)
MRC_API MR_Matrix3f MR_Matrix3f_scale_1_float(float s)
MRC_API MR_Matrix3i64 MR_Matrix3i64_transposed(const MR_Matrix3i64 *_this)
MRC_API MR_Matrix3d MR_Matrix3d_scale_1_double(double s)
MRC_API MR_Vector3d * MR_Matrix3d_index(MR_Matrix3d *_this, int32_t row)
MRC_API MR_Matrix3i64 MR_Matrix3i64_identity(void)
Generated from a method of class MR::Matrix3i64 named identity.
MRC_API bool MR_Matrix3b_normSq(const MR_Matrix3b *_this)
MRC_API double MR_Matrix3d_normSq(const MR_Matrix3d *_this)
MRC_API void MR_Matrix3_int64_t_QR_DestroyArray(const MR_Matrix3_int64_t_QR *_this)
Destroys a heap-allocated array of MR_Matrix3_int64_t_QR. Does nothing if the pointer is null.
MRC_API MR_Matrix3_int32_t_QR * MR_Matrix3_int32_t_QR_ConstructFromAnother(const MR_Matrix3_int32_t_QR *_other)
MRC_API MR_Matrix3d MR_div_MR_Matrix3d_double(MR_Matrix3d b, double a)
Generated from function MR::operator/.
MRC_API MR_Matrix3f * MR_add_assign_MR_Matrix3f(MR_Matrix3f *a, const MR_Matrix3f *b)
MRC_API MR_Matrix3d MR_Matrix3d_fromColumns(const MR_Vector3d *x, const MR_Vector3d *y, const MR_Vector3d *z)
MRC_API MR_int64_t MR_Matrix3i64_trace(const MR_Matrix3i64 *_this)
MRC_API const MR_Vector3f * MR_Matrix3f_index_const(const MR_Matrix3f *_this, int32_t row)
MRC_API MR_Matrix3d MR_mul_double_MR_Matrix3d(double a, const MR_Matrix3d *b)
MRC_API MR_Matrix3_int64_t_QR * MR_Matrix3_int64_t_QR_DefaultConstructArray(size_t num_elems)
MRC_API MR_Matrix3i64 MR_mul_int64_t_MR_Matrix3i64(MR_int64_t a, const MR_Matrix3i64 *b)
MRC_API MR_Matrix3f MR_mul_MR_Matrix3f(const MR_Matrix3f *a, const MR_Matrix3f *b)
MRC_API const MR_Vector3i * MR_Matrix3i_index_const(const MR_Matrix3i *_this, int32_t row)
MRC_API double MR_Matrix3d_det(const MR_Matrix3d *_this)
MRC_API MR_Matrix3d MR_Matrix3d_transposed(const MR_Matrix3d *_this)
MRC_API MR_Vector3d MR_Matrix3d_toEulerAngles(const MR_Matrix3d *_this)
MRC_API MR_Matrix3_int32_t_QR * MR_Matrix3_int32_t_QR_DefaultConstruct(void)
MRC_API MR_Matrix3_double_QR * MR_Matrix3_double_QR_ConstructFromAnother(const MR_Matrix3_double_QR *_other)
MRC_API const MR_Matrix3_double_QR * MR_Matrix3_double_QR_OffsetPtr(const MR_Matrix3_double_QR *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 double MR_Matrix3d_norm(const MR_Matrix3d *_this)
MRC_API MR_Matrix3_double_QR * MR_Matrix3d_qr(const MR_Matrix3d *_this)
MRC_API bool MR_Matrix3b_det(const MR_Matrix3b *_this)
MRC_API MR_Matrix3b * MR_add_assign_MR_Matrix3b(MR_Matrix3b *a, const MR_Matrix3b *b)
MRC_API MR_Matrix3d MR_Matrix3d_zero(void)
Generated from a method of class MR::Matrix3d named zero.
MRC_API MR_Matrix3d MR_Matrix3d_rotationFromEuler(const MR_Vector3d *eulerAngles)
MRC_API MR_Matrix3f MR_Matrix3f_zero(void)
Generated from a method of class MR::Matrix3f named zero.
MRC_API MR_Matrix3i * MR_add_assign_MR_Matrix3i(MR_Matrix3i *a, const MR_Matrix3i *b)
MRC_API MR_Matrix3f MR_Matrix3f_rotationFromEuler(const MR_Vector3f *eulerAngles)
MRC_API MR_Matrix3i * MR_mul_assign_MR_Matrix3i_int32_t(MR_Matrix3i *a, int32_t b)
MRC_API MR_Matrix3i * MR_sub_assign_MR_Matrix3i(MR_Matrix3i *a, const MR_Matrix3i *b)
MRC_API MR_Matrix3i64 MR_Matrix3i64_Construct(const MR_Vector3i64 *x, const MR_Vector3i64 *y, const MR_Vector3i64 *z)
MRC_API MR_Matrix3i MR_mul_int32_t_MR_Matrix3i(int32_t a, const MR_Matrix3i *b)
MRC_API MR_Matrix3f MR_Matrix3f_Construct_float(const MR_Matrix3f *m)
MRC_API MR_Matrix3i64 * MR_div_assign_MR_Matrix3i64_int64_t(MR_Matrix3i64 *a, MR_int64_t b)
struct MR_Matrix3d MR_Matrix3d
MRC_API void MR_Matrix3_float_QR_Set_q(MR_Matrix3_float_QR *_this, MR_Matrix3f value)
MRC_API MR_Matrix3b * MR_div_assign_MR_Matrix3b_bool(MR_Matrix3b *a, bool b)
MRC_API const MR_Matrix3i * MR_Matrix3_int32_t_QR_Get_q(const MR_Matrix3_int32_t_QR *_this)
MRC_API MR_Matrix3f * MR_div_assign_MR_Matrix3f_float(MR_Matrix3f *a, float b)
MRC_API MR_Matrix3f * MR_Matrix3_float_QR_GetMutable_q(MR_Matrix3_float_QR *_this)
MRC_API MR_Matrix3_int32_t_QR * MR_Matrix3_int32_t_QR_OffsetMutablePtr(MR_Matrix3_int32_t_QR *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 void MR_Matrix3_int32_t_QR_DestroyArray(const MR_Matrix3_int32_t_QR *_this)
Destroys a heap-allocated array of MR_Matrix3_int32_t_QR. Does nothing if the pointer is null.
MRC_API MR_Matrix3i64 MR_sub_MR_Matrix3i64(const MR_Matrix3i64 *a, const MR_Matrix3i64 *b)
MRC_API double MR_Matrix3b_norm(const MR_Matrix3b *_this)
MRC_API MR_Matrix3i64 MR_Matrix3i64_zero(void)
Generated from a method of class MR::Matrix3i64 named zero.
MRC_API MR_Matrix3i64 MR_Matrix3i64_DefaultConstruct(void)
Constructs an empty (default-constructed) instance.
int64_t MR_int64_t
Definition common.h:13
#define MRC_API
Definition exports.h:11
Definition MRMatrix3.h:19
MR_Vector3b x
rows, identity matrix by default
Definition MRMatrix3.h:21
MR_Vector3b z
Definition MRMatrix3.h:23
MR_Vector3b y
Definition MRMatrix3.h:22
Definition MRMatrix3.h:71
MR_Vector3d x
rows, identity matrix by default
Definition MRMatrix3.h:73
MR_Vector3d y
Definition MRMatrix3.h:74
MR_Vector3d z
Definition MRMatrix3.h:75
Definition MRMatrix3.h:58
MR_Vector3f z
Definition MRMatrix3.h:62
MR_Vector3f x
rows, identity matrix by default
Definition MRMatrix3.h:60
MR_Vector3f y
Definition MRMatrix3.h:61
Definition MRMatrix3.h:45
MR_Vector3i64 x
rows, identity matrix by default
Definition MRMatrix3.h:47
MR_Vector3i64 y
Definition MRMatrix3.h:48
MR_Vector3i64 z
Definition MRMatrix3.h:49
Definition MRMatrix3.h:32
MR_Vector3i x
rows, identity matrix by default
Definition MRMatrix3.h:34
MR_Vector3i y
Definition MRMatrix3.h:35
MR_Vector3i z
Definition MRMatrix3.h:36
Definition MRVector3.h:24
Definition MRVector3.h:60
Definition MRVector3.h:51
Definition MRVector3.h:42
Definition MRVector3.h:33