MeshLib C Docs
Loading...
Searching...
No Matches
MRVector2.h
Go to the documentation of this file.
1#pragma once
2
3#include <MRCMisc/common.h>
4#include <MRCMisc/exports.h>
5
6#include <stdbool.h>
7#include <stddef.h>
8
9#ifdef __cplusplus
10extern "C" {
11#endif
12
13typedef struct MR_NoInit MR_NoInit; // Defined in `#include <MRCMesh/MRMeshFwd.h>`.
14typedef struct MR_std_istream MR_std_istream; // Defined in `#include <MRCMisc/iostream.h>`.
15typedef struct MR_std_ostream MR_std_ostream; // Defined in `#include <MRCMisc/iostream.h>`.
16
17
20typedef struct MR_Vector2b
21{
22 bool x;
23 bool y;
25
28typedef struct MR_Vector2i64
29{
30 MR_int64_t x;
31 MR_int64_t y;
33
35typedef struct MR_Vector2f
36{
37 float x;
38 float y;
40
42typedef struct MR_Vector2d
43{
44 double x;
45 double y;
47
49typedef struct MR_Vector2i
50{
51 int x;
52 int y;
54
57MRC_API const int *MR_Vector2b_Get_elements(void);
58
61
66
71
73MRC_API MR_Vector2b MR_Vector2b_Construct_2(bool x, bool y);
74
77
80
83
87MRC_API const bool *MR_Vector2b_index(const MR_Vector2b *_this, int e);
88
92MRC_API bool *MR_Vector2b_index_mut(MR_Vector2b *_this, int e);
93
96MRC_API bool MR_Vector2b_lengthSq(const MR_Vector2b *_this);
97
100MRC_API double MR_Vector2b_length(const MR_Vector2b *_this);
101
105MRC_API bool MR_equal_MR_Vector2b(const MR_Vector2b *a, const MR_Vector2b *b);
106
110MRC_API bool MR_not_equal_MR_Vector2b(const MR_Vector2b *a, const MR_Vector2b *b);
111
112// 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.
117
121
126
131
135
139
142
148
154
159
164
170
176
179MRC_API const int *MR_Vector2i64_Get_elements(void);
180
183
188
193
197MRC_API MR_Vector2i64 MR_Vector2i64_Construct_2(MR_int64_t x, MR_int64_t y);
198
201
204
207
210
213
217MRC_API const MR_int64_t *MR_Vector2i64_index(const MR_Vector2i64 *_this, int e);
218
222MRC_API MR_int64_t *MR_Vector2i64_index_mut(MR_Vector2i64 *_this, int e);
223
226MRC_API MR_int64_t MR_Vector2i64_lengthSq(const MR_Vector2i64 *_this);
227
230MRC_API double MR_Vector2i64_length(const MR_Vector2i64 *_this);
231
236
241
245MRC_API bool MR_equal_MR_Vector2i64(const MR_Vector2i64 *a, const MR_Vector2i64 *b);
246
251
252// 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.
257
261
266
271
275
279
282
288
294
299
304
310
316
322
328
334
339MRC_API float MR_distance_float_MR_Vector2f(const MR_Vector2f *a, const MR_Vector2f *b);
340
345MRC_API double MR_distance_double_MR_Vector2d(const MR_Vector2d *a, const MR_Vector2d *b);
346
351MRC_API float MR_cross_float_MR_Vector2f(const MR_Vector2f *a, const MR_Vector2f *b);
352
357MRC_API double MR_cross_double_MR_Vector2d(const MR_Vector2d *a, const MR_Vector2d *b);
358
363MRC_API int MR_cross_int_MR_Vector2i(const MR_Vector2i *a, const MR_Vector2i *b);
364
369MRC_API float MR_dot_float_MR_Vector2f(const MR_Vector2f *a, const MR_Vector2f *b);
370
375MRC_API double MR_dot_double_MR_Vector2d(const MR_Vector2d *a, const MR_Vector2d *b);
376
381MRC_API int MR_dot_int_MR_Vector2i(const MR_Vector2i *a, const MR_Vector2i *b);
382
387MRC_API int MR_dot_bool_MR_Vector2b(const MR_Vector2b *a, const MR_Vector2b *b);
388
393MRC_API MR_int64_t MR_dot_int64_t_MR_Vector2i64(const MR_Vector2i64 *a, const MR_Vector2i64 *b);
394
398MRC_API float MR_sqr_float_MR_Vector2f(const MR_Vector2f *a);
399
403MRC_API double MR_sqr_double_MR_Vector2d(const MR_Vector2d *a);
404
409
415
421
427
433
439
445
450MRC_API float MR_angle_float_MR_Vector2f(const MR_Vector2f *a, const MR_Vector2f *b);
451
456MRC_API double MR_angle_double_MR_Vector2d(const MR_Vector2d *a, const MR_Vector2d *b);
457
462MRC_API int MR_angle_int_MR_Vector2i(const MR_Vector2i *a, const MR_Vector2i *b);
463
466MRC_API const int *MR_Vector2f_Get_elements(void);
467
470
475
480
482MRC_API MR_Vector2f MR_Vector2f_Construct_2(float x, float y);
483
486
489
492
495
498
502MRC_API const float *MR_Vector2f_index(const MR_Vector2f *_this, int e);
503
507MRC_API float *MR_Vector2f_index_mut(MR_Vector2f *_this, int e);
508
511MRC_API float MR_Vector2f_lengthSq(const MR_Vector2f *_this);
512
515MRC_API float MR_Vector2f_length(const MR_Vector2f *_this);
516
520
524
529
532MRC_API bool MR_Vector2f_isFinite(const MR_Vector2f *_this);
533
537MRC_API bool MR_equal_MR_Vector2f(const MR_Vector2f *a, const MR_Vector2f *b);
538
542MRC_API bool MR_not_equal_MR_Vector2f(const MR_Vector2f *a, const MR_Vector2f *b);
543
544// 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.
549
553
558
563
567
571
574
580
586
591
596
602
608
611MRC_API const int *MR_Vector2d_Get_elements(void);
612
615
620
625
627MRC_API MR_Vector2d MR_Vector2d_Construct_2(double x, double y);
628
631
634
637
640
643
647MRC_API const double *MR_Vector2d_index(const MR_Vector2d *_this, int e);
648
652MRC_API double *MR_Vector2d_index_mut(MR_Vector2d *_this, int e);
653
656MRC_API double MR_Vector2d_lengthSq(const MR_Vector2d *_this);
657
660MRC_API double MR_Vector2d_length(const MR_Vector2d *_this);
661
665
669
674
677MRC_API bool MR_Vector2d_isFinite(const MR_Vector2d *_this);
678
682MRC_API bool MR_equal_MR_Vector2d(const MR_Vector2d *a, const MR_Vector2d *b);
683
687MRC_API bool MR_not_equal_MR_Vector2d(const MR_Vector2d *a, const MR_Vector2d *b);
688
689// 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.
694
698
703
708
712
716
719
725
731
736
741
747
753
756MRC_API const int *MR_Vector2i_Get_elements(void);
757
760
765
770
773
776
779
782
785
788
792MRC_API const int *MR_Vector2i_index(const MR_Vector2i *_this, int e);
793
797MRC_API int *MR_Vector2i_index_mut(MR_Vector2i *_this, int e);
798
801MRC_API int MR_Vector2i_lengthSq(const MR_Vector2i *_this);
802
805MRC_API double MR_Vector2i_length(const MR_Vector2i *_this);
806
810
815
819MRC_API bool MR_equal_MR_Vector2i(const MR_Vector2i *a, const MR_Vector2i *b);
820
824MRC_API bool MR_not_equal_MR_Vector2i(const MR_Vector2i *a, const MR_Vector2i *b);
825
826// 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.
831
835
840
845
849
853
856
862
868
873
878
884
890
891#ifdef __cplusplus
892} // extern "C"
893#endif
struct MR_NoInit MR_NoInit
Definition MRBox.h:15
struct MR_std_ostream MR_std_ostream
Definition MRCtm.h:31
struct MR_std_istream MR_std_istream
Definition MRCtm.h:28
MRC_API const int * MR_Vector2i_index(const MR_Vector2i *_this, int e)
MRC_API bool MR_not_equal_MR_Vector2f(const MR_Vector2f *a, const MR_Vector2f *b)
MRC_API MR_Vector2i MR_Vector2i_Construct_1(const MR_NoInit *_1)
MRC_API MR_Vector2d * MR_mul_assign_MR_Vector2d_double(MR_Vector2d *a, double b)
MRC_API MR_Vector2f MR_Vector2f_plusX(void)
Generated from method MR::Vector2f::plusX.
MRC_API MR_Vector2i MR_Vector2i_plusX(void)
Generated from method MR::Vector2i::plusX.
MRC_API float MR_Vector2f_lengthSq(const MR_Vector2f *_this)
MRC_API bool MR_Vector2f_isFinite(const MR_Vector2f *_this)
MRC_API MR_Vector2f MR_neg_MR_Vector2f(const MR_Vector2f *a)
MRC_API MR_std_istream * MR_input_MR_Vector2f(MR_std_istream *s, MR_Vector2f *vec)
MRC_API MR_Vector2i * MR_div_assign_MR_Vector2i_int(MR_Vector2i *a, int b)
MRC_API MR_Vector2i * MR_mul_assign_MR_Vector2i_int(MR_Vector2i *a, int b)
MRC_API MR_Vector2i MR_Vector2i_Construct_2(int x, int y)
Generated from constructor MR::Vector2i::Vector2i.
MRC_API int MR_sqr_int_MR_Vector2i(const MR_Vector2i *a)
MRC_API const MR_Vector2d * MR_pos_MR_Vector2d(const MR_Vector2d *a)
MRC_API MR_Vector2f MR_Vector2f_diagonal(float a)
Generated from method MR::Vector2f::diagonal.
MRC_API MR_Vector2i MR_Vector2i_furthestBasisVector(const MR_Vector2i *_this)
MRC_API double MR_distanceSq_double_MR_Vector2d(const MR_Vector2d *a, const MR_Vector2d *b)
MRC_API MR_Vector2f MR_Vector2f_furthestBasisVector(const MR_Vector2f *_this)
MRC_API MR_Vector2i64 * MR_sub_assign_MR_Vector2i64(MR_Vector2i64 *a, const MR_Vector2i64 *b)
MRC_API MR_Vector2i64 MR_Vector2i64_perpendicular(const MR_Vector2i64 *_this)
MRC_API MR_Vector2b MR_Vector2b_Construct_2(bool x, bool y)
Generated from constructor MR::Vector2b::Vector2b.
MRC_API MR_Vector2i MR_add_MR_Vector2b(const MR_Vector2b *a, const MR_Vector2b *b)
MRC_API MR_Vector2d MR_Vector2d_plusY(void)
Generated from method MR::Vector2d::plusY.
MRC_API MR_Vector2d MR_mul_MR_Vector2d_double(const MR_Vector2d *b, double a)
MRC_API MR_Vector2f MR_mul_float_MR_Vector2f(float a, const MR_Vector2f *b)
MRC_API MR_Vector2d MR_Vector2d_DefaultConstruct(void)
Constructs an empty (default-constructed) instance.
MRC_API MR_Vector2i * MR_Vector2i_DefaultConstructArray(size_t num_elems)
MRC_API MR_Vector2f * MR_mul_assign_MR_Vector2f_float(MR_Vector2f *a, float b)
MRC_API bool MR_equal_MR_Vector2i64(const MR_Vector2i64 *a, const MR_Vector2i64 *b)
MRC_API MR_Vector2i64 * MR_mul_assign_MR_Vector2i64_int64_t(MR_Vector2i64 *a, MR_int64_t b)
MRC_API MR_Vector2b * MR_add_assign_MR_Vector2b(MR_Vector2b *a, const MR_Vector2b *b)
MRC_API MR_Vector2d * MR_sub_assign_MR_Vector2d(MR_Vector2d *a, const MR_Vector2d *b)
MRC_API MR_Vector2i64 MR_Vector2i64_minusX(void)
Generated from method MR::Vector2i64::minusX.
MRC_API MR_Vector2i MR_sub_MR_Vector2b(const MR_Vector2b *a, const MR_Vector2b *b)
MRC_API MR_Vector2d MR_mul_double_MR_Vector2d(double a, const MR_Vector2d *b)
MRC_API bool MR_not_equal_MR_Vector2i64(const MR_Vector2i64 *a, const MR_Vector2i64 *b)
MRC_API MR_std_istream * MR_input_MR_Vector2i(MR_std_istream *s, MR_Vector2i *vec)
MRC_API int * MR_Vector2i_index_mut(MR_Vector2i *_this, int e)
MRC_API double * MR_Vector2d_index_mut(MR_Vector2d *_this, int e)
MRC_API MR_Vector2f MR_Vector2f_minusY(void)
Generated from method MR::Vector2f::minusY.
MRC_API bool MR_not_equal_MR_Vector2b(const MR_Vector2b *a, const MR_Vector2b *b)
MRC_API MR_Vector2d MR_div_MR_Vector2d_double(MR_Vector2d b, double a)
Generated from function MR::operator/.
MRC_API MR_Vector2f MR_mul_MR_Vector2f_float(const MR_Vector2f *b, float a)
MRC_API MR_Vector2d MR_Vector2d_Construct_2(double x, double y)
Generated from constructor MR::Vector2d::Vector2d.
MRC_API MR_Vector2i64 MR_Vector2i64_Construct_2(MR_int64_t x, MR_int64_t y)
MRC_API MR_Vector2i MR_Vector2i_plusY(void)
Generated from method MR::Vector2i::plusY.
MRC_API bool MR_equal_MR_Vector2i(const MR_Vector2i *a, const MR_Vector2i *b)
MRC_API const MR_Vector2f * MR_pos_MR_Vector2f(const MR_Vector2f *a)
struct MR_Vector2i64 MR_Vector2i64
MRC_API MR_Vector2d MR_Vector2d_diagonal(double a)
Generated from method MR::Vector2d::diagonal.
MRC_API MR_Vector2i MR_mul_bool_MR_Vector2b(bool a, const MR_Vector2b *b)
MRC_API MR_Vector2d MR_Vector2d_minusX(void)
Generated from method MR::Vector2d::minusX.
MRC_API float MR_Vector2f_length(const MR_Vector2f *_this)
MRC_API MR_int64_t MR_dot_int64_t_MR_Vector2i64(const MR_Vector2i64 *a, const MR_Vector2i64 *b)
MRC_API const MR_int64_t * MR_Vector2i64_index(const MR_Vector2i64 *_this, int e)
MRC_API MR_Vector2d * MR_div_assign_MR_Vector2d_double(MR_Vector2d *a, double b)
MRC_API MR_Vector2f MR_Vector2f_normalized(const MR_Vector2f *_this)
MRC_API float MR_angle_float_MR_Vector2f(const MR_Vector2f *a, const MR_Vector2f *b)
MRC_API bool MR_equal_MR_Vector2b(const MR_Vector2b *a, const MR_Vector2b *b)
MRC_API MR_Vector2i64 * MR_div_assign_MR_Vector2i64_int64_t(MR_Vector2i64 *a, MR_int64_t b)
MRC_API MR_int64_t MR_Vector2i64_lengthSq(const MR_Vector2i64 *_this)
MRC_API MR_Vector2b * MR_Vector2b_DefaultConstructArray(size_t num_elems)
MRC_API double MR_Vector2d_lengthSq(const MR_Vector2d *_this)
MRC_API MR_Vector2f MR_sub_MR_Vector2f(const MR_Vector2f *a, const MR_Vector2f *b)
MRC_API MR_Vector2i64 MR_mul_int64_t_MR_Vector2i64(MR_int64_t a, const MR_Vector2i64 *b)
MRC_API MR_Vector2f * MR_sub_assign_MR_Vector2f(MR_Vector2f *a, const MR_Vector2f *b)
MRC_API bool MR_not_equal_MR_Vector2d(const MR_Vector2d *a, const MR_Vector2d *b)
MRC_API int MR_dot_int_MR_Vector2i(const MR_Vector2i *a, const MR_Vector2i *b)
MRC_API const int * MR_Vector2i_Get_elements(void)
MRC_API const MR_Vector2i64 * MR_pos_MR_Vector2i64(const MR_Vector2i64 *a)
MRC_API int MR_distanceSq_int_MR_Vector2i(const MR_Vector2i *a, const MR_Vector2i *b)
MRC_API MR_Vector2b MR_Vector2b_diagonal(bool a)
Generated from method MR::Vector2b::diagonal.
MRC_API float MR_distanceSq_float_MR_Vector2f(const MR_Vector2f *a, const MR_Vector2f *b)
MRC_API MR_Vector2f * MR_div_assign_MR_Vector2f_float(MR_Vector2f *a, float b)
MRC_API MR_Vector2i64 MR_mul_MR_Vector2i64_int64_t(const MR_Vector2i64 *b, MR_int64_t a)
MRC_API bool * MR_Vector2b_index_mut(MR_Vector2b *_this, int e)
MRC_API MR_Vector2i * MR_add_assign_MR_Vector2i(MR_Vector2i *a, const MR_Vector2i *b)
MRC_API MR_Vector2f MR_Vector2f_perpendicular(const MR_Vector2f *_this)
MRC_API bool MR_not_equal_MR_Vector2i(const MR_Vector2i *a, const MR_Vector2i *b)
MRC_API MR_Vector2d MR_Vector2d_minusY(void)
Generated from method MR::Vector2d::minusY.
MRC_API MR_Vector2i MR_Vector2i_perpendicular(const MR_Vector2i *_this)
MRC_API MR_Vector2d MR_sub_MR_Vector2d(const MR_Vector2d *a, const MR_Vector2d *b)
MRC_API float MR_dot_float_MR_Vector2f(const MR_Vector2f *a, const MR_Vector2f *b)
MRC_API MR_std_ostream * MR_print_MR_Vector2i64(MR_std_ostream *s, const MR_Vector2i64 *vec)
MRC_API MR_Vector2i MR_div_MR_Vector2i_int(MR_Vector2i b, int a)
Generated from function MR::operator/.
MRC_API MR_Vector2i64 MR_sub_MR_Vector2i64(const MR_Vector2i64 *a, const MR_Vector2i64 *b)
MRC_API const int * MR_Vector2f_Get_elements(void)
struct MR_Vector2f MR_Vector2f
Generated from class MR::Vector2f.
MRC_API MR_Vector2i MR_mul_MR_Vector2b_bool(const MR_Vector2b *b, bool a)
MRC_API int MR_Vector2i_lengthSq(const MR_Vector2i *_this)
MRC_API MR_Vector2f MR_div_MR_Vector2f_float(MR_Vector2f b, float a)
Generated from function MR::operator/.
MRC_API MR_Vector2f MR_Vector2f_plusY(void)
Generated from method MR::Vector2f::plusY.
MRC_API MR_Vector2f * MR_Vector2f_DefaultConstructArray(size_t num_elems)
MRC_API MR_Vector2f MR_Vector2f_Construct_1(const MR_NoInit *_1)
MRC_API MR_Vector2i64 MR_div_MR_Vector2i64_int64_t(MR_Vector2i64 b, MR_int64_t a)
Generated from function MR::operator/.
MRC_API MR_Vector2d MR_div_double_MR_Vector2d(const MR_Vector2d *a, const MR_Vector2d *b)
MRC_API MR_Vector2i MR_Vector2i_DefaultConstruct(void)
Constructs an empty (default-constructed) instance.
MRC_API MR_Vector2i64 MR_Vector2i64_plusY(void)
Generated from method MR::Vector2i64::plusY.
MRC_API MR_Vector2d MR_Vector2d_Construct_1(const MR_NoInit *_1)
MRC_API const int * MR_Vector2i64_Get_elements(void)
MRC_API MR_Vector2b MR_Vector2b_plusY(void)
Generated from method MR::Vector2b::plusY.
MRC_API MR_std_ostream * MR_print_MR_Vector2b(MR_std_ostream *s, const MR_Vector2b *vec)
MRC_API MR_Vector2i MR_mul_int_MR_Vector2i(int a, const MR_Vector2i *b)
MRC_API MR_std_istream * MR_input_MR_Vector2d(MR_std_istream *s, MR_Vector2d *vec)
MRC_API MR_Vector2f MR_Vector2f_Construct_2(float x, float y)
Generated from constructor MR::Vector2f::Vector2f.
MRC_API MR_Vector2i64 MR_Vector2i64_Construct_1(const MR_NoInit *_1)
struct MR_Vector2d MR_Vector2d
Generated from class MR::Vector2d.
MRC_API MR_Vector2i MR_div_int_MR_Vector2i(const MR_Vector2i *a, const MR_Vector2i *b)
MRC_API const bool * MR_Vector2b_index(const MR_Vector2b *_this, int e)
MRC_API double MR_sqr_double_MR_Vector2d(const MR_Vector2d *a)
MRC_API MR_std_ostream * MR_print_MR_Vector2i(MR_std_ostream *s, const MR_Vector2i *vec)
MRC_API bool MR_Vector2b_lengthSq(const MR_Vector2b *_this)
MRC_API MR_Vector2d MR_neg_MR_Vector2d(const MR_Vector2d *a)
MRC_API int MR_angle_int_MR_Vector2i(const MR_Vector2i *a, const MR_Vector2i *b)
MRC_API MR_Vector2f MR_Vector2f_DefaultConstruct(void)
Constructs an empty (default-constructed) instance.
MRC_API const double * MR_Vector2d_index(const MR_Vector2d *_this, int e)
MRC_API float MR_distance_float_MR_Vector2f(const MR_Vector2f *a, const MR_Vector2f *b)
MRC_API MR_Vector2i64 MR_Vector2i64_furthestBasisVector(const MR_Vector2i64 *_this)
MRC_API int MR_cross_int_MR_Vector2i(const MR_Vector2i *a, const MR_Vector2i *b)
MRC_API MR_Vector2b * MR_sub_assign_MR_Vector2b(MR_Vector2b *a, const MR_Vector2b *b)
MRC_API MR_Vector2b MR_Vector2b_Construct_1(const MR_NoInit *_1)
MRC_API MR_Vector2d MR_Vector2d_plusX(void)
Generated from method MR::Vector2d::plusX.
MRC_API MR_Vector2f MR_div_float_MR_Vector2f(const MR_Vector2f *a, const MR_Vector2f *b)
MRC_API double MR_dot_double_MR_Vector2d(const MR_Vector2d *a, const MR_Vector2d *b)
MRC_API MR_std_istream * MR_input_MR_Vector2i64(MR_std_istream *s, MR_Vector2i64 *vec)
MRC_API const float * MR_Vector2f_index(const MR_Vector2f *_this, int e)
MRC_API MR_Vector2i64 * MR_add_assign_MR_Vector2i64(MR_Vector2i64 *a, const MR_Vector2i64 *b)
MRC_API MR_Vector2f * MR_add_assign_MR_Vector2f(MR_Vector2f *a, const MR_Vector2f *b)
MRC_API double MR_cross_double_MR_Vector2d(const MR_Vector2d *a, const MR_Vector2d *b)
MRC_API const MR_Vector2b * MR_pos_MR_Vector2b(const MR_Vector2b *a)
MRC_API bool MR_equal_MR_Vector2f(const MR_Vector2f *a, const MR_Vector2f *b)
MRC_API MR_Vector2i MR_add_MR_Vector2i(const MR_Vector2i *a, const MR_Vector2i *b)
MRC_API MR_Vector2b * MR_div_assign_MR_Vector2b_bool(MR_Vector2b *a, bool b)
MRC_API MR_int64_t * MR_Vector2i64_index_mut(MR_Vector2i64 *_this, int e)
MRC_API MR_Vector2i64 MR_Vector2i64_plusX(void)
Generated from method MR::Vector2i64::plusX.
MRC_API MR_std_ostream * MR_print_MR_Vector2f(MR_std_ostream *s, const MR_Vector2f *vec)
MRC_API MR_std_istream * MR_input_MR_Vector2b(MR_std_istream *s, MR_Vector2b *vec)
MRC_API MR_Vector2i64 MR_Vector2i64_DefaultConstruct(void)
Constructs an empty (default-constructed) instance.
MRC_API MR_Vector2f MR_add_MR_Vector2f(const MR_Vector2f *a, const MR_Vector2f *b)
MRC_API MR_Vector2i MR_mul_MR_Vector2i_int(const MR_Vector2i *b, int a)
MRC_API MR_Vector2i MR_mult_int_MR_Vector2i(const MR_Vector2i *a, const MR_Vector2i *b)
MRC_API MR_Vector2d MR_add_MR_Vector2d(const MR_Vector2d *a, const MR_Vector2d *b)
MRC_API MR_Vector2d MR_Vector2d_normalized(const MR_Vector2d *_this)
MRC_API MR_Vector2i64 MR_neg_MR_Vector2i64(const MR_Vector2i64 *a)
MRC_API MR_Vector2i MR_Vector2i_diagonal(int a)
Generated from method MR::Vector2i::diagonal.
MRC_API MR_Vector2i64 MR_Vector2i64_diagonal(MR_int64_t a)
Generated from method MR::Vector2i64::diagonal.
MRC_API MR_Vector2d * MR_Vector2d_DefaultConstructArray(size_t num_elems)
MRC_API MR_Vector2i MR_sub_MR_Vector2i(const MR_Vector2i *a, const MR_Vector2i *b)
MRC_API MR_Vector2d MR_mult_double_MR_Vector2d(const MR_Vector2d *a, const MR_Vector2d *b)
MRC_API MR_Vector2i MR_div_MR_Vector2b_bool(MR_Vector2b b, bool a)
Generated from function MR::operator/.
MRC_API MR_std_ostream * MR_print_MR_Vector2d(MR_std_ostream *s, const MR_Vector2d *vec)
struct MR_Vector2i MR_Vector2i
Generated from class MR::Vector2i.
MRC_API MR_Vector2d MR_Vector2d_furthestBasisVector(const MR_Vector2d *_this)
MRC_API MR_Vector2i * MR_sub_assign_MR_Vector2i(MR_Vector2i *a, const MR_Vector2i *b)
MRC_API MR_Vector2b MR_Vector2b_plusX(void)
Generated from method MR::Vector2b::plusX.
MRC_API float MR_cross_float_MR_Vector2f(const MR_Vector2f *a, const MR_Vector2f *b)
MRC_API MR_Vector2d * MR_add_assign_MR_Vector2d(MR_Vector2d *a, const MR_Vector2d *b)
MRC_API float * MR_Vector2f_index_mut(MR_Vector2f *_this, int e)
MRC_API MR_Vector2i MR_Vector2i_minusX(void)
Generated from method MR::Vector2i::minusX.
MRC_API MR_Vector2i MR_Vector2i_minusY(void)
Generated from method MR::Vector2i::minusY.
MRC_API MR_Vector2i MR_neg_MR_Vector2b(const MR_Vector2b *a)
MRC_API MR_Vector2b * MR_mul_assign_MR_Vector2b_bool(MR_Vector2b *a, bool b)
MRC_API const int * MR_Vector2b_Get_elements(void)
MRC_API MR_Vector2f MR_mult_float_MR_Vector2f(const MR_Vector2f *a, const MR_Vector2f *b)
MRC_API bool MR_equal_MR_Vector2d(const MR_Vector2d *a, const MR_Vector2d *b)
MRC_API double MR_distance_double_MR_Vector2d(const MR_Vector2d *a, const MR_Vector2d *b)
MRC_API double MR_angle_double_MR_Vector2d(const MR_Vector2d *a, const MR_Vector2d *b)
MRC_API bool MR_Vector2d_isFinite(const MR_Vector2d *_this)
MRC_API MR_Vector2i MR_neg_MR_Vector2i(const MR_Vector2i *a)
MRC_API double MR_Vector2d_length(const MR_Vector2d *_this)
MRC_API MR_Vector2i64 * MR_Vector2i64_DefaultConstructArray(size_t num_elems)
MRC_API double MR_Vector2i_length(const MR_Vector2i *_this)
MRC_API MR_Vector2i64 MR_Vector2i64_minusY(void)
Generated from method MR::Vector2i64::minusY.
MRC_API MR_Vector2b MR_Vector2b_DefaultConstruct(void)
Constructs an empty (default-constructed) instance.
MRC_API const MR_Vector2i * MR_pos_MR_Vector2i(const MR_Vector2i *a)
MRC_API float MR_sqr_float_MR_Vector2f(const MR_Vector2f *a)
MRC_API int MR_dot_bool_MR_Vector2b(const MR_Vector2b *a, const MR_Vector2b *b)
MRC_API double MR_Vector2i64_length(const MR_Vector2i64 *_this)
MRC_API MR_Vector2i64 MR_add_MR_Vector2i64(const MR_Vector2i64 *a, const MR_Vector2i64 *b)
struct MR_Vector2b MR_Vector2b
MRC_API MR_Vector2f MR_Vector2f_minusX(void)
Generated from method MR::Vector2f::minusX.
MRC_API MR_Vector2d MR_Vector2d_perpendicular(const MR_Vector2d *_this)
MRC_API double MR_Vector2b_length(const MR_Vector2b *_this)
MRC_API const int * MR_Vector2d_Get_elements(void)
Definition MRVector2.h:21
bool y
Definition MRVector2.h:23
bool x
Definition MRVector2.h:22
Generated from class MR::Vector2d.
Definition MRVector2.h:43
double y
Definition MRVector2.h:45
double x
Definition MRVector2.h:44
Generated from class MR::Vector2f.
Definition MRVector2.h:36
float x
Definition MRVector2.h:37
float y
Definition MRVector2.h:38
Definition MRVector2.h:29
MR_int64_t x
Definition MRVector2.h:30
MR_int64_t y
Definition MRVector2.h:31
Generated from class MR::Vector2i.
Definition MRVector2.h:50
int y
Definition MRVector2.h:52
int x
Definition MRVector2.h:51