MeshLib C Docs
Loading...
Searching...
No Matches
MRSymMatrix2.h
Go to the documentation of this file.
1#pragma once
2
3#include <MRCMesh/MRVector2.h>
4#include <MRCMisc/common.h>
5#include <MRCMisc/exports.h>
6
7#include <stdbool.h>
8#include <stddef.h>
9
10#ifdef __cplusplus
11extern "C" {
12#endif
13
14typedef struct MR_Matrix2d MR_Matrix2d; // Defined in `#include <MRCMesh/MRMatrix2.h>`.
15typedef struct MR_Matrix2f MR_Matrix2f; // Defined in `#include <MRCMesh/MRMatrix2.h>`.
16
17
22
27
32
36typedef struct MR_SymMatrix2f MR_SymMatrix2f;
37
41typedef struct MR_SymMatrix2d MR_SymMatrix2d;
42
49
55
62
69
75
82
89
95
102
106
111
115
119
125
128
131
139
143
147
152
157
162
168
174
181
188
194
200
207
213
220
227
233
240
247
253
260
264
269
273
277
283
286
289
297
301
305
310
315
320
326
332
339
346
352
358
365
372
379
386
393
400
407
414
421
425
430
434
438
444
447
450
458
462
466
471
476
481
487
493
500
507
513
519
526
532
539
546
552
559
566
572
579
583
588
592
596
602
605
608
616
620
624
629
634
639
645
651
658
665
671
677
685
690
695
707MRC_API MR_SymMatrix2f *MR_SymMatrix2f_pseudoinverse(const MR_SymMatrix2f *_this, const float *tol, int *rank, MR_Vector2f *space);
708
714MRC_API const double *MR_SymMatrix2d_Get_xx(const MR_SymMatrix2d *_this);
715
721
728
734MRC_API const double *MR_SymMatrix2d_Get_xy(const MR_SymMatrix2d *_this);
735
741
748
754MRC_API const double *MR_SymMatrix2d_Get_yy(const MR_SymMatrix2d *_this);
755
761
768
772
777
781
785
791
794
797
805
809
813
818
823
828
834
840
847
854
860
866
874
879
884
896MRC_API MR_SymMatrix2d *MR_SymMatrix2d_pseudoinverse(const MR_SymMatrix2d *_this, const double *tol, int *rank, MR_Vector2d *space);
897
898#ifdef __cplusplus
899} // extern "C"
900#endif
struct MR_SymMatrix2f MR_SymMatrix2f
Definition MRQuadraticForm.h:12
struct MR_SymMatrix2d MR_SymMatrix2d
Definition MRQuadraticForm.h:11
MRC_API MR_SymMatrix2i64 * MR_SymMatrix2i64_DefaultConstructArray(size_t num_elems)
MRC_API float * MR_SymMatrix2f_GetMutable_xy(MR_SymMatrix2f *_this)
MRC_API MR_SymMatrix2b * MR_SymMatrix2b_div_assign(MR_SymMatrix2b *_this, bool b)
MRC_API MR_SymMatrix2i64 * MR_SymMatrix2i64_inverse_1(const MR_SymMatrix2i64 *_this, MR_int64_t det)
MRC_API int * MR_SymMatrix2i_GetMutable_xx(MR_SymMatrix2i *_this)
MRC_API MR_SymMatrix2d * MR_SymMatrix2d_sub_assign(MR_SymMatrix2d *_this, const MR_SymMatrix2d *b)
MRC_API MR_SymMatrix2b * MR_SymMatrix2b_inverse_1(const MR_SymMatrix2b *_this, bool det)
MRC_API const MR_int64_t * MR_SymMatrix2i64_Get_xy(const MR_SymMatrix2i64 *_this)
MRC_API MR_SymMatrix2i * MR_SymMatrix2i_DefaultConstruct(void)
MRC_API const int * MR_SymMatrix2i_Get_yy(const MR_SymMatrix2i *_this)
MRC_API MR_SymMatrix2f * MR_SymMatrix2f_sub_assign(MR_SymMatrix2f *_this, const MR_SymMatrix2f *b)
MRC_API int MR_SymMatrix2i_normSq(const MR_SymMatrix2i *_this)
MRC_API void MR_SymMatrix2d_Set_yy(MR_SymMatrix2d *_this, double value)
MRC_API MR_SymMatrix2d * MR_SymMatrix2d_OffsetMutablePtr(MR_SymMatrix2d *ptr, ptrdiff_t i)
MRC_API void MR_SymMatrix2f_Set_xy(MR_SymMatrix2f *_this, float value)
MRC_API const bool * MR_SymMatrix2b_Get_xy(const MR_SymMatrix2b *_this)
MRC_API MR_int64_t MR_SymMatrix2i64_normSq(const MR_SymMatrix2i64 *_this)
MRC_API bool * MR_SymMatrix2b_GetMutable_xx(MR_SymMatrix2b *_this)
MRC_API void MR_SymMatrix2i64_DestroyArray(const MR_SymMatrix2i64 *_this)
Destroys a heap-allocated array of MR_SymMatrix2i64. Does nothing if the pointer is null.
MRC_API MR_SymMatrix2i64 * MR_SymMatrix2i64_OffsetMutablePtr(MR_SymMatrix2i64 *ptr, ptrdiff_t i)
MRC_API MR_SymMatrix2i * MR_SymMatrix2i_sub_assign(MR_SymMatrix2i *_this, const MR_SymMatrix2i *b)
MRC_API MR_int64_t MR_SymMatrix2i64_trace(const MR_SymMatrix2i64 *_this)
MRC_API MR_int64_t * MR_SymMatrix2i64_GetMutable_xx(MR_SymMatrix2i64 *_this)
MRC_API MR_SymMatrix2f * MR_SymMatrix2f_inverse_0(const MR_SymMatrix2f *_this)
MRC_API const MR_SymMatrix2f * MR_SymMatrix2f_OffsetPtr(const MR_SymMatrix2f *ptr, ptrdiff_t i)
MRC_API void MR_SymMatrix2i_Set_yy(MR_SymMatrix2i *_this, int value)
MRC_API const bool * MR_SymMatrix2b_Get_yy(const MR_SymMatrix2b *_this)
MRC_API MR_SymMatrix2d * MR_SymMatrix2d_DefaultConstructArray(size_t num_elems)
MRC_API void MR_SymMatrix2d_Set_xy(MR_SymMatrix2d *_this, double value)
MRC_API MR_SymMatrix2f * MR_SymMatrix2f_DefaultConstruct(void)
MRC_API const double * MR_SymMatrix2d_Get_yy(const MR_SymMatrix2d *_this)
MRC_API MR_SymMatrix2i * MR_SymMatrix2i_identity(void)
MRC_API MR_SymMatrix2f * MR_SymMatrix2f_diagonal(float diagVal)
MRC_API MR_SymMatrix2b * MR_SymMatrix2b_DefaultConstruct(void)
MRC_API void MR_SymMatrix2f_DestroyArray(const MR_SymMatrix2f *_this)
Destroys a heap-allocated array of MR_SymMatrix2f. Does nothing if the pointer is null.
MRC_API MR_SymMatrix2d * MR_SymMatrix2d_DefaultConstruct(void)
MRC_API float MR_SymMatrix2f_normSq(const MR_SymMatrix2f *_this)
MRC_API MR_SymMatrix2f * MR_SymMatrix2f_ConstructFromAnother(const MR_SymMatrix2f *_other)
MRC_API const MR_int64_t * MR_SymMatrix2i64_Get_xx(const MR_SymMatrix2i64 *_this)
MRC_API MR_SymMatrix2i64 * MR_SymMatrix2i64_AssignFromAnother(MR_SymMatrix2i64 *_this, const MR_SymMatrix2i64 *_other)
MRC_API MR_SymMatrix2b * MR_SymMatrix2b_DefaultConstructArray(size_t num_elems)
MRC_API double * MR_SymMatrix2d_GetMutable_xy(MR_SymMatrix2d *_this)
MRC_API void MR_SymMatrix2d_Destroy(const MR_SymMatrix2d *_this)
Destroys a heap-allocated instance of MR_SymMatrix2d. Does nothing if the pointer is null.
MRC_API MR_SymMatrix2f * MR_SymMatrix2f_add_assign(MR_SymMatrix2f *_this, const MR_SymMatrix2f *b)
MRC_API void MR_SymMatrix2i_Set_xx(MR_SymMatrix2i *_this, int value)
MRC_API const int * MR_SymMatrix2i_Get_xy(const MR_SymMatrix2i *_this)
MRC_API MR_SymMatrix2d * MR_SymMatrix2d_inverse_0(const MR_SymMatrix2d *_this)
MRC_API MR_SymMatrix2d * MR_SymMatrix2d_diagonal(double diagVal)
MRC_API MR_SymMatrix2i64 * MR_SymMatrix2i64_div_assign(MR_SymMatrix2i64 *_this, MR_int64_t b)
MRC_API void MR_SymMatrix2i_Destroy(const MR_SymMatrix2i *_this)
Destroys a heap-allocated instance of MR_SymMatrix2i. Does nothing if the pointer is null.
MRC_API MR_int64_t * MR_SymMatrix2i64_GetMutable_yy(MR_SymMatrix2i64 *_this)
MRC_API const MR_SymMatrix2d * MR_SymMatrix2d_OffsetPtr(const MR_SymMatrix2d *ptr, ptrdiff_t i)
MRC_API void MR_SymMatrix2b_Set_yy(MR_SymMatrix2b *_this, bool value)
MRC_API MR_SymMatrix2i64 * MR_SymMatrix2i64_add_assign(MR_SymMatrix2i64 *_this, const MR_SymMatrix2i64 *b)
MRC_API MR_SymMatrix2i64 * MR_SymMatrix2i64_identity(void)
MRC_API int * MR_SymMatrix2i_GetMutable_xy(MR_SymMatrix2i *_this)
MRC_API MR_SymMatrix2i * MR_SymMatrix2i_add_assign(MR_SymMatrix2i *_this, const MR_SymMatrix2i *b)
MRC_API bool * MR_SymMatrix2b_GetMutable_xy(MR_SymMatrix2b *_this)
MRC_API MR_SymMatrix2b * MR_SymMatrix2b_identity(void)
struct MR_SymMatrix2i MR_SymMatrix2i
Definition MRSymMatrix2.h:26
MRC_API MR_SymMatrix2i64 * MR_SymMatrix2i64_sub_assign(MR_SymMatrix2i64 *_this, const MR_SymMatrix2i64 *b)
MRC_API MR_SymMatrix2i * MR_SymMatrix2i_mul_assign(MR_SymMatrix2i *_this, int b)
MRC_API const MR_int64_t * MR_SymMatrix2i64_Get_yy(const MR_SymMatrix2i64 *_this)
MRC_API MR_SymMatrix2d * MR_SymMatrix2d_AssignFromAnother(MR_SymMatrix2d *_this, const MR_SymMatrix2d *_other)
MRC_API bool MR_SymMatrix2b_det(const MR_SymMatrix2b *_this)
MRC_API MR_SymMatrix2f * MR_SymMatrix2f_identity(void)
MRC_API const double * MR_SymMatrix2d_Get_xy(const MR_SymMatrix2d *_this)
MRC_API MR_SymMatrix2b * MR_SymMatrix2b_ConstructFromAnother(const MR_SymMatrix2b *_other)
MRC_API const MR_SymMatrix2b * MR_SymMatrix2b_OffsetPtr(const MR_SymMatrix2b *ptr, ptrdiff_t i)
MRC_API MR_SymMatrix2i64 * MR_SymMatrix2i64_mul_assign(MR_SymMatrix2i64 *_this, MR_int64_t b)
struct MR_SymMatrix2i64 MR_SymMatrix2i64
Definition MRSymMatrix2.h:31
MRC_API void MR_SymMatrix2b_Destroy(const MR_SymMatrix2b *_this)
Destroys a heap-allocated instance of MR_SymMatrix2b. Does nothing if the pointer is null.
MRC_API MR_SymMatrix2b * MR_SymMatrix2b_mul_assign(MR_SymMatrix2b *_this, bool b)
MRC_API void MR_SymMatrix2b_Set_xx(MR_SymMatrix2b *_this, bool value)
MRC_API void MR_SymMatrix2f_Set_yy(MR_SymMatrix2f *_this, float value)
MRC_API MR_Vector2d MR_SymMatrix2d_maxEigenvector(const MR_SymMatrix2d *_this)
MRC_API void MR_SymMatrix2i64_Destroy(const MR_SymMatrix2i64 *_this)
Destroys a heap-allocated instance of MR_SymMatrix2i64. Does nothing if the pointer is null.
MRC_API MR_SymMatrix2d * MR_SymMatrix2d_div_assign(MR_SymMatrix2d *_this, double b)
MRC_API void MR_SymMatrix2i64_Set_xx(MR_SymMatrix2i64 *_this, MR_int64_t value)
MRC_API float * MR_SymMatrix2f_GetMutable_xx(MR_SymMatrix2f *_this)
MRC_API void MR_SymMatrix2d_DestroyArray(const MR_SymMatrix2d *_this)
Destroys a heap-allocated array of MR_SymMatrix2d. Does nothing if the pointer is null.
MRC_API MR_SymMatrix2i64 * MR_SymMatrix2i64_DefaultConstruct(void)
MRC_API void MR_SymMatrix2i64_Set_yy(MR_SymMatrix2i64 *_this, MR_int64_t value)
MRC_API void MR_SymMatrix2i_DestroyArray(const MR_SymMatrix2i *_this)
Destroys a heap-allocated array of MR_SymMatrix2i. Does nothing if the pointer is null.
MRC_API MR_SymMatrix2f * MR_SymMatrix2f_mul_assign(MR_SymMatrix2f *_this, float b)
MRC_API bool MR_SymMatrix2b_normSq(const MR_SymMatrix2b *_this)
MRC_API void MR_SymMatrix2d_Set_xx(MR_SymMatrix2d *_this, double value)
MRC_API MR_SymMatrix2i * MR_SymMatrix2i_div_assign(MR_SymMatrix2i *_this, int b)
MRC_API MR_SymMatrix2b * MR_SymMatrix2b_sub_assign(MR_SymMatrix2b *_this, const MR_SymMatrix2b *b)
MRC_API MR_int64_t * MR_SymMatrix2i64_GetMutable_xy(MR_SymMatrix2i64 *_this)
MRC_API const float * MR_SymMatrix2f_Get_xy(const MR_SymMatrix2f *_this)
MRC_API MR_SymMatrix2f * MR_SymMatrix2f_AssignFromAnother(MR_SymMatrix2f *_this, const MR_SymMatrix2f *_other)
MRC_API MR_Vector2f MR_SymMatrix2f_eigens(const MR_SymMatrix2f *_this, MR_Matrix2f *eigenvectors)
MRC_API const float * MR_SymMatrix2f_Get_xx(const MR_SymMatrix2f *_this)
MRC_API MR_SymMatrix2f * MR_SymMatrix2f_DefaultConstructArray(size_t num_elems)
MRC_API void MR_SymMatrix2b_DestroyArray(const MR_SymMatrix2b *_this)
Destroys a heap-allocated array of MR_SymMatrix2b. Does nothing if the pointer is null.
MRC_API const float * MR_SymMatrix2f_Get_yy(const MR_SymMatrix2f *_this)
MRC_API MR_SymMatrix2b * MR_SymMatrix2b_inverse_0(const MR_SymMatrix2b *_this)
MRC_API MR_SymMatrix2d * MR_SymMatrix2d_ConstructFromAnother(const MR_SymMatrix2d *_other)
MRC_API MR_SymMatrix2i * MR_SymMatrix2i_inverse_0(const MR_SymMatrix2i *_this)
MRC_API int MR_SymMatrix2i_trace(const MR_SymMatrix2i *_this)
MRC_API MR_SymMatrix2f * MR_SymMatrix2f_pseudoinverse(const MR_SymMatrix2f *_this, const float *tol, int *rank, MR_Vector2f *space)
MRC_API MR_SymMatrix2d * MR_SymMatrix2d_mul_assign(MR_SymMatrix2d *_this, double b)
MRC_API MR_SymMatrix2i * MR_SymMatrix2i_AssignFromAnother(MR_SymMatrix2i *_this, const MR_SymMatrix2i *_other)
MRC_API MR_Vector2d MR_SymMatrix2d_eigens(const MR_SymMatrix2d *_this, MR_Matrix2d *eigenvectors)
MRC_API MR_int64_t MR_SymMatrix2i64_det(const MR_SymMatrix2i64 *_this)
MRC_API MR_SymMatrix2d * MR_SymMatrix2d_pseudoinverse(const MR_SymMatrix2d *_this, const double *tol, int *rank, MR_Vector2d *space)
MRC_API bool MR_SymMatrix2b_trace(const MR_SymMatrix2b *_this)
MRC_API bool * MR_SymMatrix2b_GetMutable_yy(MR_SymMatrix2b *_this)
MRC_API double MR_SymMatrix2d_trace(const MR_SymMatrix2d *_this)
MRC_API const MR_SymMatrix2i * MR_SymMatrix2i_OffsetPtr(const MR_SymMatrix2i *ptr, ptrdiff_t i)
MRC_API float * MR_SymMatrix2f_GetMutable_yy(MR_SymMatrix2f *_this)
MRC_API float MR_SymMatrix2f_det(const MR_SymMatrix2f *_this)
MRC_API MR_SymMatrix2b * MR_SymMatrix2b_OffsetMutablePtr(MR_SymMatrix2b *ptr, ptrdiff_t i)
MRC_API MR_SymMatrix2i64 * MR_SymMatrix2i64_diagonal(MR_int64_t diagVal)
MRC_API int * MR_SymMatrix2i_GetMutable_yy(MR_SymMatrix2i *_this)
MRC_API double MR_SymMatrix2d_det(const MR_SymMatrix2d *_this)
MRC_API float MR_SymMatrix2f_trace(const MR_SymMatrix2f *_this)
MRC_API MR_SymMatrix2d * MR_SymMatrix2d_identity(void)
MRC_API MR_SymMatrix2d * MR_SymMatrix2d_add_assign(MR_SymMatrix2d *_this, const MR_SymMatrix2d *b)
MRC_API MR_Vector2f MR_SymMatrix2f_eigenvector(const MR_SymMatrix2f *_this, float eigenvalue)
MRC_API double MR_SymMatrix2d_normSq(const MR_SymMatrix2d *_this)
MRC_API MR_SymMatrix2b * MR_SymMatrix2b_diagonal(bool diagVal)
MRC_API int MR_SymMatrix2i_det(const MR_SymMatrix2i *_this)
MRC_API void MR_SymMatrix2f_Destroy(const MR_SymMatrix2f *_this)
Destroys a heap-allocated instance of MR_SymMatrix2f. Does nothing if the pointer is null.
MRC_API const int * MR_SymMatrix2i_Get_xx(const MR_SymMatrix2i *_this)
MRC_API MR_SymMatrix2i * MR_SymMatrix2i_inverse_1(const MR_SymMatrix2i *_this, int det)
MRC_API MR_SymMatrix2i64 * MR_SymMatrix2i64_ConstructFromAnother(const MR_SymMatrix2i64 *_other)
MRC_API MR_SymMatrix2f * MR_SymMatrix2f_div_assign(MR_SymMatrix2f *_this, float b)
MRC_API const double * MR_SymMatrix2d_Get_xx(const MR_SymMatrix2d *_this)
MRC_API MR_SymMatrix2f * MR_SymMatrix2f_OffsetMutablePtr(MR_SymMatrix2f *ptr, ptrdiff_t i)
MRC_API void MR_SymMatrix2f_Set_xx(MR_SymMatrix2f *_this, float value)
MRC_API MR_Vector2f MR_SymMatrix2f_maxEigenvector(const MR_SymMatrix2f *_this)
MRC_API MR_SymMatrix2i64 * MR_SymMatrix2i64_inverse_0(const MR_SymMatrix2i64 *_this)
MRC_API MR_Vector2d MR_SymMatrix2d_eigenvector(const MR_SymMatrix2d *_this, double eigenvalue)
MRC_API MR_SymMatrix2d * MR_SymMatrix2d_inverse_1(const MR_SymMatrix2d *_this, double det)
MRC_API const bool * MR_SymMatrix2b_Get_xx(const MR_SymMatrix2b *_this)
MRC_API void MR_SymMatrix2b_Set_xy(MR_SymMatrix2b *_this, bool value)
MRC_API double * MR_SymMatrix2d_GetMutable_xx(MR_SymMatrix2d *_this)
MRC_API MR_SymMatrix2b * MR_SymMatrix2b_AssignFromAnother(MR_SymMatrix2b *_this, const MR_SymMatrix2b *_other)
MRC_API MR_SymMatrix2i * MR_SymMatrix2i_OffsetMutablePtr(MR_SymMatrix2i *ptr, ptrdiff_t i)
MRC_API MR_SymMatrix2i * MR_SymMatrix2i_ConstructFromAnother(const MR_SymMatrix2i *_other)
MRC_API void MR_SymMatrix2i_Set_xy(MR_SymMatrix2i *_this, int value)
struct MR_SymMatrix2b MR_SymMatrix2b
Definition MRSymMatrix2.h:21
MRC_API MR_SymMatrix2b * MR_SymMatrix2b_add_assign(MR_SymMatrix2b *_this, const MR_SymMatrix2b *b)
MRC_API void MR_SymMatrix2i64_Set_xy(MR_SymMatrix2i64 *_this, MR_int64_t value)
MRC_API const MR_SymMatrix2i64 * MR_SymMatrix2i64_OffsetPtr(const MR_SymMatrix2i64 *ptr, ptrdiff_t i)
MRC_API MR_SymMatrix2i * MR_SymMatrix2i_DefaultConstructArray(size_t num_elems)
MRC_API MR_SymMatrix2i * MR_SymMatrix2i_diagonal(int diagVal)
MRC_API MR_SymMatrix2f * MR_SymMatrix2f_inverse_1(const MR_SymMatrix2f *_this, float det)
MRC_API double * MR_SymMatrix2d_GetMutable_yy(MR_SymMatrix2d *_this)
int64_t MR_int64_t
Definition common.h:17
#define MRC_API
Definition include/MRCMisc/exports.h:11
Definition MRMatrix2.h:57
Definition MRMatrix2.h:48
Generated from class MR::Vector2d.
Definition MRVector2.h:43
Generated from class MR::Vector2f.
Definition MRVector2.h:36