MeshLib C Docs
Loading...
Searching...
No Matches
MRQuaternion.h
Go to the documentation of this file.
1#pragma once
2
4#include <MRCMesh/MRMatrix3.h>
5#include <MRCMesh/MRVector3.h>
6#include <MRCMisc/exports.h>
7
8#include <stddef.h>
9
10#ifdef __cplusplus
11extern "C" {
12#endif
13
14
19
24
29MRC_API const float *MR_Quaternionf_Get_a(const MR_Quaternionf *_this);
30
35
41
46MRC_API const float *MR_Quaternionf_Get_b(const MR_Quaternionf *_this);
47
52
58
63MRC_API const float *MR_Quaternionf_Get_c(const MR_Quaternionf *_this);
64
69
75
80MRC_API const float *MR_Quaternionf_Get_d(const MR_Quaternionf *_this);
81
86
92
96
101
104
107
112
115MRC_API MR_Quaternionf *MR_Quaternionf_Construct_4(float a, float b, float c, float d);
116
121MRC_API MR_Quaternionf *MR_Quaternionf_Construct_2_const_MR_Vector3f_ref_float(const MR_Vector3f *axis, float angle);
122
127
132
139
142
145
150
156
161
166
171
175
179
185
190
195
201
207
214
221
228
234
243
248
253
258MRC_API const double *MR_Quaterniond_Get_a(const MR_Quaterniond *_this);
259
263MRC_API void MR_Quaterniond_Set_a(MR_Quaterniond *_this, double value);
264
270
275MRC_API const double *MR_Quaterniond_Get_b(const MR_Quaterniond *_this);
276
280MRC_API void MR_Quaterniond_Set_b(MR_Quaterniond *_this, double value);
281
287
292MRC_API const double *MR_Quaterniond_Get_c(const MR_Quaterniond *_this);
293
297MRC_API void MR_Quaterniond_Set_c(MR_Quaterniond *_this, double value);
298
304
309MRC_API const double *MR_Quaterniond_Get_d(const MR_Quaterniond *_this);
310
314MRC_API void MR_Quaterniond_Set_d(MR_Quaterniond *_this, double value);
315
321
325
330
333
336
341
344MRC_API MR_Quaterniond *MR_Quaterniond_Construct_4(double a, double b, double c, double d);
345
350MRC_API MR_Quaterniond *MR_Quaterniond_Construct_2_const_MR_Vector3d_ref_double(const MR_Vector3d *axis, double angle);
351
356
361
368
371
374
379
385
390
395
400
404
408
414
419
424
430
436
443
450
457
463
472
477
482
483#ifdef __cplusplus
484} // extern "C"
485#endif
MRC_API void MR_Quaternionf_normalize(MR_Quaternionf *_this)
MRC_API const double * MR_Quaterniond_Get_b(const MR_Quaterniond *_this)
MRC_API MR_Quaterniond * MR_Quaterniond_normalized(const MR_Quaterniond *_this)
MRC_API void MR_Quaternionf_Set_b(MR_Quaternionf *_this, float value)
MRC_API const MR_Quaterniond * MR_Quaterniond_OffsetPtr(const MR_Quaterniond *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_Quaternionf * MR_Quaternionf_normalized(const MR_Quaternionf *_this)
MRC_API MR_Vector3f MR_Quaternionf_axis(const MR_Quaternionf *_this)
MRC_API void MR_Quaterniond_Set_b(MR_Quaterniond *_this, double value)
MRC_API MR_Quaternionf * MR_Quaternionf_mul_assign(MR_Quaternionf *_this, float s)
MRC_API MR_Quaternionf * MR_Quaternionf_ConstructFromAnother(const MR_Quaternionf *_other)
MRC_API MR_Quaterniond * MR_Quaterniond_conjugate(const MR_Quaterniond *_this)
MRC_API MR_Quaterniond * MR_Quaterniond_AssignFromAnother(MR_Quaterniond *_this, const MR_Quaterniond *_other)
MRC_API void MR_Quaterniond_normalize(MR_Quaterniond *_this)
MRC_API float * MR_Quaternionf_GetMutable_a(MR_Quaternionf *_this)
MRC_API void MR_Quaterniond_Destroy(const MR_Quaterniond *_this)
Destroys a heap-allocated instance of MR_Quaterniond. Does nothing if the pointer is null.
MRC_API MR_Quaternionf * MR_Quaternionf_OffsetMutablePtr(MR_Quaternionf *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_Quaterniond * MR_neg_MR_Quaterniond(const MR_Quaterniond *_this)
MRC_API MR_AffineXf3f MR_Quaternionf_slerp_4(const MR_AffineXf3f *xf0, const MR_AffineXf3f *xf1, float t, const MR_Vector3f *p)
MRC_API const MR_Quaternionf * MR_Quaternionf_OffsetPtr(const MR_Quaternionf *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_Quaterniond * MR_Quaterniond_Construct_1(const MR_Matrix3d *m)
MRC_API double * MR_Quaterniond_GetMutable_d(MR_Quaterniond *_this)
MRC_API float MR_Quaternionf_norm(const MR_Quaternionf *_this)
MRC_API const float * MR_Quaternionf_Get_a(const MR_Quaternionf *_this)
struct MR_Quaterniond MR_Quaterniond
Definition MRQuaternion.h:23
MRC_API void MR_Quaterniond_Set_c(MR_Quaterniond *_this, double value)
MRC_API MR_Quaterniond * MR_Quaterniond_Construct_2_double(double real, const MR_Vector3d *im)
MRC_API float * MR_Quaternionf_GetMutable_c(MR_Quaternionf *_this)
MRC_API MR_Quaterniond * MR_Quaterniond_mul_assign(MR_Quaterniond *_this, double s)
MRC_API void MR_Quaternionf_DestroyArray(const MR_Quaternionf *_this)
Destroys a heap-allocated array of MR_Quaternionf. Does nothing if the pointer is null.
MRC_API MR_Quaternionf * MR_Quaternionf_Construct_2_float(float real, const MR_Vector3f *im)
MRC_API MR_Quaternionf * MR_Quaternionf_DefaultConstruct(void)
MRC_API float MR_Quaternionf_normSq(const MR_Quaternionf *_this)
MRC_API MR_Quaternionf * MR_Quaternionf_Construct_1(const MR_Matrix3f *m)
MRC_API MR_Quaterniond * MR_Quaterniond_DefaultConstruct(void)
MRC_API void MR_Quaterniond_Set_d(MR_Quaterniond *_this, double value)
MRC_API MR_Matrix3f MR_Quaternionf_ConvertTo_MR_Matrix3f(const MR_Quaternionf *_this)
MRC_API MR_Quaternionf * MR_Quaternionf_DefaultConstructArray(size_t num_elems)
MRC_API MR_Quaternionf * MR_Quaternionf_Construct_2_const_MR_Vector3f_ref_MR_Vector3f(const MR_Vector3f *from, const MR_Vector3f *to)
MRC_API void MR_Quaterniond_DestroyArray(const MR_Quaterniond *_this)
Destroys a heap-allocated array of MR_Quaterniond. Does nothing if the pointer is null.
MRC_API MR_Vector3d MR_Quaterniond_call(const MR_Quaterniond *_this, const MR_Vector3d *p)
MRC_API MR_Matrix3d MR_Quaterniond_ConvertTo_MR_Matrix3d(const MR_Quaterniond *_this)
MRC_API MR_Quaternionf * MR_Quaternionf_lerp(const MR_Quaternionf *q0, const MR_Quaternionf *q1, float t)
struct MR_Quaternionf MR_Quaternionf
Definition MRQuaternion.h:18
MRC_API double MR_Quaterniond_angle(const MR_Quaterniond *_this)
MRC_API MR_Quaterniond * MR_Quaterniond_Construct_4(double a, double b, double c, double d)
MRC_API MR_Vector3f MR_Quaternionf_im(const MR_Quaternionf *_this)
MRC_API MR_Quaterniond * MR_Quaterniond_lerp(const MR_Quaterniond *q0, const MR_Quaterniond *q1, double t)
MRC_API MR_Quaternionf * MR_Quaternionf_div_assign(MR_Quaternionf *_this, float s)
MRC_API MR_Quaterniond * MR_Quaterniond_OffsetMutablePtr(MR_Quaterniond *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_Quaternionf_Destroy(const MR_Quaternionf *_this)
Destroys a heap-allocated instance of MR_Quaternionf. Does nothing if the pointer is null.
MRC_API MR_Quaterniond * MR_Quaterniond_inverse(const MR_Quaterniond *_this)
MRC_API MR_Quaternionf * MR_Quaternionf_inverse(const MR_Quaternionf *_this)
MRC_API void MR_Quaternionf_Set_d(MR_Quaternionf *_this, float value)
MRC_API float * MR_Quaternionf_GetMutable_d(MR_Quaternionf *_this)
MRC_API MR_AffineXf3d MR_Quaterniond_slerp_4(const MR_AffineXf3d *xf0, const MR_AffineXf3d *xf1, double t, const MR_Vector3d *p)
MRC_API MR_Quaterniond * MR_Quaterniond_DefaultConstructArray(size_t num_elems)
MRC_API void MR_Quaternionf_Set_c(MR_Quaternionf *_this, float value)
MRC_API void MR_Quaternionf_Set_a(MR_Quaternionf *_this, float value)
MRC_API float MR_Quaternionf_angle(const MR_Quaternionf *_this)
MRC_API double * MR_Quaterniond_GetMutable_b(MR_Quaterniond *_this)
MRC_API double MR_Quaterniond_normSq(const MR_Quaterniond *_this)
MRC_API MR_Vector3d MR_Quaterniond_im(const MR_Quaterniond *_this)
MRC_API MR_Quaterniond * MR_Quaterniond_div_assign(MR_Quaterniond *_this, double s)
MRC_API MR_Quaternionf * MR_Quaternionf_AssignFromAnother(MR_Quaternionf *_this, const MR_Quaternionf *_other)
MRC_API const double * MR_Quaterniond_Get_d(const MR_Quaterniond *_this)
MRC_API MR_Quaternionf * MR_Quaternionf_conjugate(const MR_Quaternionf *_this)
MRC_API MR_Quaterniond * MR_Quaterniond_slerp_3_MR_Quaterniond(const MR_Quaterniond *q0, const MR_Quaterniond *q1, double t)
MRC_API double * MR_Quaterniond_GetMutable_a(MR_Quaterniond *_this)
MRC_API MR_Quaterniond * MR_Quaterniond_Construct_2_const_MR_Vector3d_ref_MR_Vector3d(const MR_Vector3d *from, const MR_Vector3d *to)
MRC_API const double * MR_Quaterniond_Get_c(const MR_Quaterniond *_this)
MRC_API MR_Vector3f MR_Quaternionf_call(const MR_Quaternionf *_this, const MR_Vector3f *p)
MRC_API MR_Quaternionf * MR_Quaternionf_Construct_4(float a, float b, float c, float d)
MRC_API MR_Quaternionf * MR_neg_MR_Quaternionf(const MR_Quaternionf *_this)
MRC_API const double * MR_Quaterniond_Get_a(const MR_Quaterniond *_this)
MRC_API const float * MR_Quaternionf_Get_c(const MR_Quaternionf *_this)
MRC_API MR_Matrix3f MR_Quaternionf_slerp_3_MR_Matrix3f(const MR_Matrix3f *m0, const MR_Matrix3f *m1, float t)
MRC_API MR_Matrix3d MR_Quaterniond_slerp_3_MR_Matrix3d(const MR_Matrix3d *m0, const MR_Matrix3d *m1, double t)
MRC_API void MR_Quaterniond_Set_a(MR_Quaterniond *_this, double value)
MRC_API double MR_Quaterniond_norm(const MR_Quaterniond *_this)
MRC_API MR_Vector3d MR_Quaterniond_axis(const MR_Quaterniond *_this)
MRC_API double * MR_Quaterniond_GetMutable_c(MR_Quaterniond *_this)
MRC_API MR_Quaternionf * MR_Quaternionf_slerp_3_MR_Quaternionf(const MR_Quaternionf *q0, const MR_Quaternionf *q1, float t)
MRC_API const float * MR_Quaternionf_Get_d(const MR_Quaternionf *_this)
MRC_API const float * MR_Quaternionf_Get_b(const MR_Quaternionf *_this)
MRC_API MR_Quaterniond * MR_Quaterniond_ConstructFromAnother(const MR_Quaterniond *_other)
MRC_API float * MR_Quaternionf_GetMutable_b(MR_Quaternionf *_this)
#define MRC_API
Definition exports.h:11
Definition MRAffineXf.h:44
Definition MRAffineXf.h:36
Definition MRMatrix3.h:71
Definition MRMatrix3.h:58
Definition MRVector3.h:60
Definition MRVector3.h:51