MeshLib C Docs
Loading...
Searching...
No Matches
MRVector3.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_AffineXf3d MR_AffineXf3d; // Defined in `#include <MRCMesh/MRAffineXf.h>`.
14typedef struct MR_AffineXf3f MR_AffineXf3f; // Defined in `#include <MRCMesh/MRAffineXf.h>`.
15typedef struct MR_NoInit MR_NoInit; // Defined in `#include <MRCMesh/MRMeshFwd.h>`.
16typedef struct MR_std_istream MR_std_istream; // Defined in `#include <MRCMisc/iostream.h>`.
17typedef struct MR_std_ostream MR_std_ostream; // Defined in `#include <MRCMisc/iostream.h>`.
18typedef struct MR_std_pair_MR_Vector3d_MR_Vector3d MR_std_pair_MR_Vector3d_MR_Vector3d; // Defined in `#include <MRCMisc/std_pair_MR_Vector3d_MR_Vector3d.h>`.
19typedef struct MR_std_pair_MR_Vector3f_MR_Vector3f MR_std_pair_MR_Vector3f_MR_Vector3f; // Defined in `#include <MRCMisc/std_pair_MR_Vector3f_MR_Vector3f.h>`.
20
21
24typedef struct MR_Vector3b
25{
26 bool x;
27 bool y;
28 bool z;
30
33typedef struct MR_Vector3i
34{
35 int x;
36 int y;
37 int z;
39
48
51typedef struct MR_Vector3f
52{
53 float x;
54 float y;
55 float z;
57
60typedef struct MR_Vector3d
61{
62 double x;
63 double y;
64 double z;
66
71
75
78
83
87
90
93
96
99
102
106MRC_API const bool *MR_Vector3b_index_const(const MR_Vector3b *_this, int e);
107
112
116
120
125
130
131// 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.
136
140
145
150
154
158
161
167
173
178
183
189
195
199
202
207
211
214
215// Here `T == U` doesn't seem to cause any issues in the C++ code, but we're still disabling it because it somehow gets emitted
216// when generating the bindings, and looks out of place there.
220
223
226
229
232
235
238
241
245MRC_API const int *MR_Vector3i_index_const(const MR_Vector3i *_this, int e);
246
251
255
259
264
269
274
275// 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.
280
284
289
294
298
302
305
311
317
322
327
333
339
343
346
351
355
358
361
364
367
370
373
376
379
384
389
393
397
402
407
412
413// 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.
418
422
427
432
436
440
443
449
455
460
465
471
477
481
484
489
493
495MRC_API MR_Vector3f MR_Vector3f_Construct_3(float x, float y, float z);
496
497// Here `T == U` doesn't seem to cause any issues in the C++ code, but we're still disabling it because it somehow gets emitted
498// when generating the bindings, and looks out of place there.
502
503// Here `T == U` doesn't seem to cause any issues in the C++ code, but we're still disabling it because it somehow gets emitted
504// when generating the bindings, and looks out of place there.
508
511
514
517
520
523
526
529
533MRC_API const float *MR_Vector3f_index_const(const MR_Vector3f *_this, int e);
534
539
543
547
551
556
563
568
573
577
582
587
588// 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.
593
597
602
607
611
615
618
624
630
635
640
646
652
656
659
664
668
670MRC_API MR_Vector3d MR_Vector3d_Construct_3(double x, double y, double z);
671
672// Here `T == U` doesn't seem to cause any issues in the C++ code, but we're still disabling it because it somehow gets emitted
673// when generating the bindings, and looks out of place there.
677
680
683
686
689
692
695
698
702MRC_API const double *MR_Vector3d_index_const(const MR_Vector3d *_this, int e);
703
707MRC_API double *MR_Vector3d_index(MR_Vector3d *_this, int e);
708
712
716
720
725
732
737
742
746
751
756
757// 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.
762
766
771
776
780
784
787
793
799
804
809
815
821
825
830
834
839
844
848
853
858
862
867
871
876
879
882
887
892
895MRC_API MR_Vector3_unsigned_char *MR_Vector3_unsigned_char_Construct_3(unsigned char x, unsigned char y, unsigned char z);
896
899
902
908
912
916
920
924
929
934
938
942
948
953
958
959// 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.
964
968
973
978
982
986
990
996
1002
1007
1012
1018
1024
1030
1036
1042
1048
1054
1060
1061#ifdef __cplusplus
1062} // extern "C"
1063#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
struct MR_Vector3_unsigned_char MR_Vector3_unsigned_char
Definition MRMatrix3.h:14
MRC_API MR_Vector3d MR_Vector3d_Construct_float(const MR_Vector3f *v)
MRC_API MR_Vector3b MR_Vector3b_plusX(void)
Generated from method MR::Vector3b::plusX.
MRC_API unsigned char * MR_Vector3_unsigned_char_GetMutable_y(MR_Vector3_unsigned_char *_this)
MRC_API unsigned char * MR_Vector3_unsigned_char_index(MR_Vector3_unsigned_char *_this, int e)
MRC_API MR_Vector3d MR_mul_MR_Vector3d_double(const MR_Vector3d *b, double a)
MRC_API MR_Vector3i MR_sub_MR_Vector3_unsigned_char(const MR_Vector3_unsigned_char *a, const MR_Vector3_unsigned_char *b)
MRC_API bool MR_not_equal_MR_Vector3b(const MR_Vector3b *a, const MR_Vector3b *b)
MRC_API MR_Vector3f MR_Vector3f_normalized(const MR_Vector3f *_this)
MRC_API MR_Vector3i MR_mul_bool_MR_Vector3b(bool a, const MR_Vector3b *b)
MRC_API MR_Vector3f MR_Vector3f_DefaultConstruct(void)
Constructs an empty (default-constructed) instance.
MRC_API MR_Vector3f MR_Vector3f_plusY(void)
Generated from method MR::Vector3f::plusY.
MRC_API const unsigned char * MR_Vector3_unsigned_char_Get_x(const MR_Vector3_unsigned_char *_this)
MRC_API MR_Vector3d MR_add_MR_Vector3d(const MR_Vector3d *a, const MR_Vector3d *b)
MRC_API MR_Vector3d MR_Vector3d_transformed(const MR_Vector3d *_this, const MR_AffineXf3d *xf)
MRC_API MR_Vector3f * MR_div_assign_MR_Vector3f_float(MR_Vector3f *a, float b)
MRC_API MR_Vector3f MR_Vector3f_furthestBasisVector(const MR_Vector3f *_this)
MRC_API const bool * MR_Vector3b_index_const(const MR_Vector3b *_this, int e)
MRC_API double MR_dot_double_MR_Vector3d(const MR_Vector3d *a, const MR_Vector3d *b)
MRC_API MR_Vector3f MR_Vector3f_transformed(const MR_Vector3f *_this, const MR_AffineXf3f *xf)
MRC_API MR_Vector3i MR_sub_MR_Vector3i(const MR_Vector3i *a, const MR_Vector3i *b)
MRC_API const MR_Vector3b * MR_pos_MR_Vector3b(const MR_Vector3b *a)
MRC_API double MR_Vector3_unsigned_char_length(const MR_Vector3_unsigned_char *_this)
MRC_API MR_Vector3i * MR_mul_assign_MR_Vector3i_int(MR_Vector3i *a, int b)
MRC_API bool MR_not_equal_MR_Vector3d(const MR_Vector3d *a, const MR_Vector3d *b)
MRC_API MR_Vector3f MR_Vector3f_plusZ(void)
Generated from method MR::Vector3f::plusZ.
MRC_API MR_Vector3i MR_div_MR_Vector3b_bool(MR_Vector3b b, bool a)
Generated from function MR::operator/.
MRC_API void MR_Vector3_unsigned_char_DestroyArray(const MR_Vector3_unsigned_char *_this)
Destroys a heap-allocated array of MR_Vector3_unsigned_char. Does nothing if the pointer is null.
MRC_API float * MR_Vector3f_index(MR_Vector3f *_this, int e)
MRC_API int MR_Vector3i_lengthSq(const MR_Vector3i *_this)
MRC_API MR_Vector3d * MR_mul_assign_MR_Vector3d_double(MR_Vector3d *a, double b)
MRC_API MR_Vector3d MR_sub_MR_Vector3d(const MR_Vector3d *a, const MR_Vector3d *b)
MRC_API bool MR_equal_MR_Vector3i64(const MR_Vector3i64 *a, const MR_Vector3i64 *b)
MRC_API MR_Vector3i MR_div_MR_Vector3_unsigned_char_unsigned_char(const MR_Vector3_unsigned_char *b, unsigned char a)
MRC_API MR_Vector3i MR_neg_MR_Vector3b(const MR_Vector3b *a)
MRC_API MR_Vector3i64 MR_Vector3i64_Construct_3(MR_int64_t x, MR_int64_t y, MR_int64_t z)
Generated from constructor MR::Vector3i64::Vector3i64.
MRC_API double * MR_Vector3d_index(MR_Vector3d *_this, int e)
MRC_API MR_std_ostream * MR_print_MR_Vector3b(MR_std_ostream *s, const MR_Vector3b *vec)
MRC_API MR_Vector3_unsigned_char * MR_Vector3_unsigned_char_Construct_1(const MR_NoInit *_1)
MRC_API MR_Vector3i MR_add_MR_Vector3_unsigned_char(const MR_Vector3_unsigned_char *a, const MR_Vector3_unsigned_char *b)
MRC_API const float * MR_Vector3f_index_const(const MR_Vector3f *_this, int e)
MRC_API MR_Vector3f MR_Vector3f_plusX(void)
Generated from method MR::Vector3f::plusX.
MRC_API MR_Vector3b * MR_add_assign_MR_Vector3b(MR_Vector3b *a, const MR_Vector3b *b)
MRC_API MR_Vector3i MR_mul_int_MR_Vector3i(int a, const MR_Vector3i *b)
MRC_API float MR_Vector3f_length(const MR_Vector3f *_this)
MRC_API MR_Vector3i64 * MR_Vector3i64_DefaultConstructArray(size_t num_elems)
MRC_API unsigned char * MR_Vector3_unsigned_char_GetMutable_z(MR_Vector3_unsigned_char *_this)
MRC_API MR_Vector3b MR_Vector3b_Construct_1(const MR_NoInit *_1)
MRC_API MR_Vector3d MR_Vector3d_DefaultConstruct(void)
Constructs an empty (default-constructed) instance.
MRC_API MR_Vector3d * MR_add_assign_MR_Vector3d(MR_Vector3d *a, const MR_Vector3d *b)
MRC_API MR_Vector3i MR_Vector3i_Construct_3(int x, int y, int z)
Generated from constructor MR::Vector3i::Vector3i.
MRC_API const int * MR_Vector3i64_Get_elements(void)
MRC_API MR_Vector3_unsigned_char * MR_Vector3_unsigned_char_plusZ(void)
MRC_API MR_Vector3f MR_Vector3f_minusZ(void)
Generated from method MR::Vector3f::minusZ.
MRC_API const unsigned char * MR_Vector3_unsigned_char_Get_z(const MR_Vector3_unsigned_char *_this)
MRC_API MR_Vector3i64 * MR_mul_assign_MR_Vector3i64_int64_t(MR_Vector3i64 *a, MR_int64_t b)
struct MR_Vector3i64 MR_Vector3i64
MRC_API void MR_Vector3f_unsignZeroValues(MR_Vector3f *_this)
MRC_API MR_Vector3f * MR_Vector3f_DefaultConstructArray(size_t num_elems)
MRC_API MR_Vector3i MR_neg_MR_Vector3i(const MR_Vector3i *a)
MRC_API const unsigned char * MR_Vector3_unsigned_char_index_const(const MR_Vector3_unsigned_char *_this, int e)
MRC_API MR_Vector3i64 MR_sub_MR_Vector3i64(const MR_Vector3i64 *a, const MR_Vector3i64 *b)
MRC_API MR_Vector3b * MR_mul_assign_MR_Vector3b_bool(MR_Vector3b *a, bool b)
MRC_API MR_Vector3i MR_add_MR_Vector3i(const MR_Vector3i *a, const MR_Vector3i *b)
MRC_API MR_Vector3_unsigned_char * MR_add_assign_MR_Vector3_unsigned_char(MR_Vector3_unsigned_char *a, const MR_Vector3_unsigned_char *b)
MRC_API MR_std_istream * MR_input_MR_Vector3b(MR_std_istream *s, MR_Vector3b *vec)
MRC_API MR_Vector3_unsigned_char * MR_Vector3_unsigned_char_plusY(void)
MRC_API MR_Vector3d MR_Vector3d_Construct_1(const MR_NoInit *_1)
MRC_API const int * MR_Vector3i_index_const(const MR_Vector3i *_this, int e)
MRC_API MR_Vector3i64 MR_Vector3i64_DefaultConstruct(void)
Constructs an empty (default-constructed) instance.
MRC_API MR_Vector3i64 * MR_add_assign_MR_Vector3i64(MR_Vector3i64 *a, const MR_Vector3i64 *b)
MRC_API MR_Vector3_unsigned_char * MR_mul_assign_MR_Vector3_unsigned_char_unsigned_char(MR_Vector3_unsigned_char *a, unsigned char b)
MRC_API MR_Vector3i64 * MR_sub_assign_MR_Vector3i64(MR_Vector3i64 *a, const MR_Vector3i64 *b)
MRC_API void MR_Vector3_unsigned_char_Set_y(MR_Vector3_unsigned_char *_this, unsigned char value)
MRC_API MR_Vector3f MR_Vector3f_Construct_int(const MR_Vector3i *v)
MRC_API MR_Vector3i MR_Vector3i_DefaultConstruct(void)
Constructs an empty (default-constructed) instance.
MRC_API MR_Vector3_unsigned_char * MR_Vector3_unsigned_char_DefaultConstructArray(size_t num_elems)
MRC_API void MR_Vector3_unsigned_char_Set_x(MR_Vector3_unsigned_char *_this, unsigned char value)
MRC_API int MR_dot_bool_MR_Vector3b(const MR_Vector3b *a, const MR_Vector3b *b)
MRC_API MR_Vector3d MR_mul_double_MR_Vector3d(double a, const MR_Vector3d *b)
MRC_API bool MR_not_equal_MR_Vector3i(const MR_Vector3i *a, const MR_Vector3i *b)
MRC_API const MR_int64_t * MR_Vector3i64_index_const(const MR_Vector3i64 *_this, int e)
MRC_API MR_Vector3i64 MR_add_MR_Vector3i64(const MR_Vector3i64 *a, const MR_Vector3i64 *b)
MRC_API MR_int64_t * MR_Vector3i64_index(MR_Vector3i64 *_this, int e)
MRC_API const MR_Vector3d * MR_pos_MR_Vector3d(const MR_Vector3d *a)
MRC_API const int * MR_Vector3_unsigned_char_Get_elements(void)
MRC_API const int * MR_Vector3i_Get_elements(void)
MRC_API MR_Vector3i64 MR_Vector3i64_plusY(void)
Generated from method MR::Vector3i64::plusY.
MRC_API MR_std_istream * MR_input_MR_Vector3_unsigned_char(MR_std_istream *s, MR_Vector3_unsigned_char *vec)
MRC_API int * MR_Vector3i_index(MR_Vector3i *_this, int e)
MRC_API MR_std_ostream * MR_print_MR_Vector3d(MR_std_ostream *s, const MR_Vector3d *vec)
MRC_API const MR_Vector3i * MR_pos_MR_Vector3i(const MR_Vector3i *a)
struct MR_Vector3f MR_Vector3f
MRC_API MR_std_pair_MR_Vector3f_MR_Vector3f * MR_Vector3f_perpendicular(const MR_Vector3f *_this)
MRC_API MR_Vector3i64 MR_Vector3i64_Construct_1(const MR_NoInit *_1)
MRC_API MR_Vector3i MR_Vector3i_Construct_1(const MR_NoInit *_1)
MRC_API MR_std_istream * MR_input_MR_Vector3f(MR_std_istream *s, MR_Vector3f *vec)
MRC_API MR_Vector3_unsigned_char * MR_Vector3_unsigned_char_OffsetMutablePtr(MR_Vector3_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_Vector3i MR_Vector3i_Construct_float(const MR_Vector3f *v)
MRC_API MR_Vector3i64 MR_div_MR_Vector3i64_int64_t(MR_Vector3i64 b, MR_int64_t a)
Generated from function MR::operator/.
MRC_API bool * MR_Vector3b_index(MR_Vector3b *_this, int e)
MRC_API MR_Vector3b * MR_sub_assign_MR_Vector3b(MR_Vector3b *a, const MR_Vector3b *b)
MRC_API MR_Vector3d MR_Vector3d_plusY(void)
Generated from method MR::Vector3d::plusY.
MRC_API double MR_Vector3i_length(const MR_Vector3i *_this)
MRC_API MR_Vector3i64 MR_Vector3i64_minusZ(void)
Generated from method MR::Vector3i64::minusZ.
MRC_API MR_Vector3i MR_sub_MR_Vector3b(const MR_Vector3b *a, const MR_Vector3b *b)
MRC_API bool MR_not_equal_MR_Vector3_unsigned_char(const MR_Vector3_unsigned_char *a, const MR_Vector3_unsigned_char *b)
MRC_API MR_Vector3i * MR_add_assign_MR_Vector3i(MR_Vector3i *a, const MR_Vector3i *b)
MRC_API bool MR_not_equal_MR_Vector3f(const MR_Vector3f *a, const MR_Vector3f *b)
struct MR_std_pair_MR_Vector3f_MR_Vector3f MR_std_pair_MR_Vector3f_MR_Vector3f
Definition MRVector3.h:19
MRC_API MR_Vector3i MR_Vector3i_plusZ(void)
Generated from method MR::Vector3i::plusZ.
MRC_API MR_Vector3f MR_mul_MR_Vector3f_float(const MR_Vector3f *b, float a)
MRC_API MR_Vector3i64 MR_mul_int64_t_MR_Vector3i64(MR_int64_t a, const MR_Vector3i64 *b)
MRC_API bool MR_equal_MR_Vector3b(const MR_Vector3b *a, const MR_Vector3b *b)
MRC_API double MR_Vector3i64_length(const MR_Vector3i64 *_this)
MRC_API MR_Vector3b MR_Vector3b_plusZ(void)
Generated from method MR::Vector3b::plusZ.
MRC_API MR_Vector3_unsigned_char * MR_Vector3_unsigned_char_DefaultConstruct(void)
MRC_API MR_Vector3f MR_Vector3f_Construct_1(const MR_NoInit *_1)
MRC_API MR_Vector3f * MR_sub_assign_MR_Vector3f(MR_Vector3f *a, const MR_Vector3f *b)
MRC_API MR_Vector3_unsigned_char * MR_Vector3_unsigned_char_diagonal(unsigned char a)
MRC_API MR_Vector3_unsigned_char * MR_Vector3_unsigned_char_ConstructFromAnother(const MR_Vector3_unsigned_char *_other)
MRC_API const MR_Vector3f * MR_pos_MR_Vector3f(const MR_Vector3f *a)
MRC_API MR_Vector3b MR_Vector3b_diagonal(bool a)
Generated from method MR::Vector3b::diagonal.
MRC_API MR_Vector3i * MR_Vector3i_DefaultConstructArray(size_t num_elems)
MRC_API MR_Vector3i MR_mul_MR_Vector3i_int(const MR_Vector3i *b, int a)
MRC_API MR_Vector3f MR_Vector3f_minusX(void)
Generated from method MR::Vector3f::minusX.
MRC_API MR_Vector3d MR_Vector3d_minusX(void)
Generated from method MR::Vector3d::minusX.
MRC_API MR_Vector3i MR_add_MR_Vector3b(const MR_Vector3b *a, const MR_Vector3b *b)
MRC_API unsigned char * MR_Vector3_unsigned_char_GetMutable_x(MR_Vector3_unsigned_char *_this)
MRC_API bool MR_equal_MR_Vector3f(const MR_Vector3f *a, const MR_Vector3f *b)
MRC_API bool MR_Vector3d_isFinite(const MR_Vector3d *_this)
MRC_API const int * MR_Vector3d_Get_elements(void)
MRC_API MR_Vector3d MR_Vector3d_minusY(void)
Generated from method MR::Vector3d::minusY.
MRC_API MR_Vector3f MR_sub_MR_Vector3f(const MR_Vector3f *a, const MR_Vector3f *b)
MRC_API MR_std_istream * MR_input_MR_Vector3i(MR_std_istream *s, MR_Vector3i *vec)
MRC_API MR_Vector3d MR_Vector3d_minusZ(void)
Generated from method MR::Vector3d::minusZ.
MRC_API MR_Vector3_unsigned_char * MR_sub_assign_MR_Vector3_unsigned_char(MR_Vector3_unsigned_char *a, const MR_Vector3_unsigned_char *b)
MRC_API MR_Vector3b * MR_div_assign_MR_Vector3b_bool(MR_Vector3b *a, bool b)
MRC_API const double * MR_Vector3d_index_const(const MR_Vector3d *_this, int e)
MRC_API MR_Vector3i64 MR_Vector3i64_minusX(void)
Generated from method MR::Vector3i64::minusX.
MRC_API MR_Vector3i64 MR_neg_MR_Vector3i64(const MR_Vector3i64 *a)
MRC_API MR_Vector3b MR_Vector3b_Construct_3(bool x, bool y, bool z)
Generated from constructor MR::Vector3b::Vector3b.
MRC_API MR_Vector3f MR_add_MR_Vector3f(const MR_Vector3f *a, const MR_Vector3f *b)
MRC_API MR_Vector3i MR_neg_MR_Vector3_unsigned_char(const MR_Vector3_unsigned_char *a)
MRC_API MR_Vector3d * MR_div_assign_MR_Vector3d_double(MR_Vector3d *a, double b)
MRC_API MR_Vector3i MR_Vector3i_plusX(void)
Generated from method MR::Vector3i::plusX.
MRC_API MR_Vector3_unsigned_char * MR_Vector3_unsigned_char_AssignFromAnother(MR_Vector3_unsigned_char *_this, const MR_Vector3_unsigned_char *_other)
MRC_API MR_Vector3b MR_Vector3b_plusY(void)
Generated from method MR::Vector3b::plusY.
MRC_API const MR_Vector3_unsigned_char * MR_Vector3_unsigned_char_OffsetPtr(const MR_Vector3_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...
struct MR_Vector3d MR_Vector3d
MRC_API float MR_dot_float_MR_Vector3f(const MR_Vector3f *a, const MR_Vector3f *b)
MRC_API MR_Vector3i64 MR_Vector3i64_minusY(void)
Generated from method MR::Vector3i64::minusY.
MRC_API double MR_Vector3d_lengthSq(const MR_Vector3d *_this)
MRC_API bool MR_equal_MR_Vector3d(const MR_Vector3d *a, const MR_Vector3d *b)
MRC_API MR_Vector3f MR_Vector3f_Construct_double(const MR_Vector3d *v)
MRC_API MR_Vector3i64 * MR_div_assign_MR_Vector3i64_int64_t(MR_Vector3i64 *a, MR_int64_t b)
MRC_API MR_Vector3f MR_mul_float_MR_Vector3f(float a, const MR_Vector3f *b)
MRC_API bool MR_equal_MR_Vector3i(const MR_Vector3i *a, const MR_Vector3i *b)
MRC_API MR_Vector3f MR_Vector3f_diagonal(float a)
Generated from method MR::Vector3f::diagonal.
MRC_API MR_Vector3i MR_mul_MR_Vector3_unsigned_char_unsigned_char(const MR_Vector3_unsigned_char *b, unsigned char a)
MRC_API MR_Vector3_unsigned_char * MR_Vector3_unsigned_char_plusX(void)
MRC_API const MR_Vector3i64 * MR_pos_MR_Vector3i64(const MR_Vector3i64 *a)
MRC_API MR_Vector3f MR_div_MR_Vector3f_float(MR_Vector3f b, float a)
Generated from function MR::operator/.
MRC_API unsigned char MR_Vector3_unsigned_char_lengthSq(const MR_Vector3_unsigned_char *_this)
MRC_API MR_int64_t MR_Vector3i64_lengthSq(const MR_Vector3i64 *_this)
MRC_API MR_Vector3i MR_Vector3i_plusY(void)
Generated from method MR::Vector3i::plusY.
MRC_API MR_Vector3i64 MR_Vector3i64_diagonal(MR_int64_t a)
Generated from method MR::Vector3i64::diagonal.
MRC_API MR_Vector3i MR_div_MR_Vector3i_int(MR_Vector3i b, int a)
Generated from function MR::operator/.
MRC_API MR_Vector3f * MR_add_assign_MR_Vector3f(MR_Vector3f *a, const MR_Vector3f *b)
MRC_API MR_Vector3i64 MR_Vector3i64_plusZ(void)
Generated from method MR::Vector3i64::plusZ.
MRC_API float MR_Vector3f_lengthSq(const MR_Vector3f *_this)
MRC_API const MR_Vector3_unsigned_char * MR_pos_MR_Vector3_unsigned_char(const MR_Vector3_unsigned_char *a)
MRC_API MR_Vector3_unsigned_char * MR_Vector3_unsigned_char_Construct_3(unsigned char x, unsigned char y, unsigned char z)
MRC_API MR_std_ostream * MR_print_MR_Vector3_unsigned_char(MR_std_ostream *s, const MR_Vector3_unsigned_char *vec)
MRC_API MR_Vector3i * MR_div_assign_MR_Vector3i_int(MR_Vector3i *a, int b)
MRC_API int MR_dot_int_MR_Vector3i(const MR_Vector3i *a, const MR_Vector3i *b)
MRC_API void MR_Vector3d_unsignZeroValues(MR_Vector3d *_this)
MRC_API MR_Vector3i MR_Vector3i_minusZ(void)
Generated from method MR::Vector3i::minusZ.
MRC_API MR_Vector3d MR_Vector3d_furthestBasisVector(const MR_Vector3d *_this)
MRC_API MR_Vector3i MR_Vector3i_furthestBasisVector(const MR_Vector3i *_this)
MRC_API MR_std_istream * MR_input_MR_Vector3d(MR_std_istream *s, MR_Vector3d *vec)
MRC_API MR_Vector3d MR_Vector3d_plusZ(void)
Generated from method MR::Vector3d::plusZ.
MRC_API MR_Vector3b * MR_Vector3b_DefaultConstructArray(size_t num_elems)
MRC_API bool MR_Vector3b_lengthSq(const MR_Vector3b *_this)
MRC_API MR_Vector3d * MR_Vector3d_DefaultConstructArray(size_t num_elems)
MRC_API MR_Vector3b MR_Vector3b_DefaultConstruct(void)
Constructs an empty (default-constructed) instance.
MRC_API double MR_Vector3b_length(const MR_Vector3b *_this)
MRC_API MR_Vector3_unsigned_char * MR_Vector3_unsigned_char_furthestBasisVector(const MR_Vector3_unsigned_char *_this)
MRC_API MR_Vector3i MR_Vector3i_minusX(void)
Generated from method MR::Vector3i::minusX.
struct MR_Vector3i MR_Vector3i
MRC_API MR_std_ostream * MR_print_MR_Vector3f(MR_std_ostream *s, const MR_Vector3f *vec)
struct MR_Vector3b MR_Vector3b
MRC_API MR_Vector3i * MR_sub_assign_MR_Vector3i(MR_Vector3i *a, const MR_Vector3i *b)
MRC_API MR_Vector3i MR_Vector3i_diagonal(int a)
Generated from method MR::Vector3i::diagonal.
MRC_API MR_Vector3i64 MR_Vector3i64_furthestBasisVector(const MR_Vector3i64 *_this)
MRC_API MR_Vector3f * MR_mul_assign_MR_Vector3f_float(MR_Vector3f *a, float b)
MRC_API MR_std_ostream * MR_print_MR_Vector3i(MR_std_ostream *s, const MR_Vector3i *vec)
MRC_API void MR_Vector3_unsigned_char_Set_z(MR_Vector3_unsigned_char *_this, unsigned char value)
MRC_API MR_Vector3d * MR_sub_assign_MR_Vector3d(MR_Vector3d *a, const MR_Vector3d *b)
MRC_API MR_Vector3i MR_mul_MR_Vector3b_bool(const MR_Vector3b *b, bool a)
struct MR_std_pair_MR_Vector3d_MR_Vector3d MR_std_pair_MR_Vector3d_MR_Vector3d
Definition MRVector3.h:18
MRC_API MR_Vector3_unsigned_char * MR_div_assign_MR_Vector3_unsigned_char_unsigned_char(MR_Vector3_unsigned_char *a, unsigned char b)
MRC_API MR_Vector3d MR_div_MR_Vector3d_double(MR_Vector3d b, double a)
Generated from function MR::operator/.
MRC_API const int * MR_Vector3b_Get_elements(void)
MRC_API MR_Vector3i64 MR_mul_MR_Vector3i64_int64_t(const MR_Vector3i64 *b, MR_int64_t a)
MRC_API void MR_Vector3_unsigned_char_Destroy(const MR_Vector3_unsigned_char *_this)
Destroys a heap-allocated instance of MR_Vector3_unsigned_char. Does nothing if the pointer is null.
MRC_API MR_std_ostream * MR_print_MR_Vector3i64(MR_std_ostream *s, const MR_Vector3i64 *vec)
MRC_API MR_Vector3d MR_Vector3d_plusX(void)
Generated from method MR::Vector3d::plusX.
MRC_API MR_std_pair_MR_Vector3d_MR_Vector3d * MR_Vector3d_perpendicular(const MR_Vector3d *_this)
MRC_API double MR_Vector3d_length(const MR_Vector3d *_this)
MRC_API const unsigned char * MR_Vector3_unsigned_char_Get_y(const MR_Vector3_unsigned_char *_this)
MRC_API MR_Vector3d MR_neg_MR_Vector3d(const MR_Vector3d *a)
MRC_API MR_Vector3f MR_Vector3f_Construct_3(float x, float y, float z)
Generated from constructor MR::Vector3f::Vector3f.
MRC_API MR_std_istream * MR_input_MR_Vector3i64(MR_std_istream *s, MR_Vector3i64 *vec)
MRC_API bool MR_Vector3f_isFinite(const MR_Vector3f *_this)
MRC_API MR_Vector3f MR_neg_MR_Vector3f(const MR_Vector3f *a)
MRC_API bool MR_equal_MR_Vector3_unsigned_char(const MR_Vector3_unsigned_char *a, const MR_Vector3_unsigned_char *b)
MRC_API MR_Vector3i64 MR_Vector3i64_plusX(void)
Generated from method MR::Vector3i64::plusX.
MRC_API MR_int64_t MR_dot_int64_t_MR_Vector3i64(const MR_Vector3i64 *a, const MR_Vector3i64 *b)
MRC_API const int * MR_Vector3f_Get_elements(void)
MRC_API MR_Vector3i MR_Vector3i_minusY(void)
Generated from method MR::Vector3i::minusY.
MRC_API MR_Vector3d MR_Vector3d_normalized(const MR_Vector3d *_this)
MRC_API bool MR_not_equal_MR_Vector3i64(const MR_Vector3i64 *a, const MR_Vector3i64 *b)
MRC_API MR_Vector3f MR_Vector3f_minusY(void)
Generated from method MR::Vector3f::minusY.
MRC_API MR_Vector3d MR_Vector3d_Construct_3(double x, double y, double z)
Generated from constructor MR::Vector3d::Vector3d.
MRC_API MR_Vector3i MR_mul_unsigned_char_MR_Vector3_unsigned_char(unsigned char a, const MR_Vector3_unsigned_char *b)
MRC_API MR_Vector3d MR_Vector3d_diagonal(double a)
Generated from method MR::Vector3d::diagonal.
MRC_API int MR_dot_unsigned_char_MR_Vector3_unsigned_char(const MR_Vector3_unsigned_char *a, const MR_Vector3_unsigned_char *b)
int64_t MR_int64_t
Definition common.h:17
#define MRC_API
Definition exports.h:11
Definition MRAffineXf.h:47
Definition MRAffineXf.h:39
Definition MRVector3.h:25
bool z
Definition MRVector3.h:28
bool x
Definition MRVector3.h:26
bool y
Definition MRVector3.h:27
Definition MRVector3.h:61
double x
Definition MRVector3.h:62
double z
Definition MRVector3.h:64
double y
Definition MRVector3.h:63
Definition MRVector3.h:52
float y
Definition MRVector3.h:54
float z
Definition MRVector3.h:55
float x
Definition MRVector3.h:53
Definition MRVector3.h:43
MR_int64_t y
Definition MRVector3.h:45
MR_int64_t z
Definition MRVector3.h:46
MR_int64_t x
Definition MRVector3.h:44
Definition MRVector3.h:34
int x
Definition MRVector3.h:35
int z
Definition MRVector3.h:37
int y
Definition MRVector3.h:36