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
20
26
32MRC_API const float *MR_Quaternionf_Get_a(const MR_Quaternionf *_this);
33
38MRC_API void MR_Quaternionf_Set_a(MR_Quaternionf *_this, float value);
39
46
52MRC_API const float *MR_Quaternionf_Get_b(const MR_Quaternionf *_this);
53
58MRC_API void MR_Quaternionf_Set_b(MR_Quaternionf *_this, float value);
59
66
72MRC_API const float *MR_Quaternionf_Get_c(const MR_Quaternionf *_this);
73
78MRC_API void MR_Quaternionf_Set_c(MR_Quaternionf *_this, float value);
79
86
92MRC_API const float *MR_Quaternionf_Get_d(const MR_Quaternionf *_this);
93
98MRC_API void MR_Quaternionf_Set_d(MR_Quaternionf *_this, float value);
99
106
110
115
118MRC_API const MR_Quaternionf *MR_Quaternionf_OffsetPtr(const MR_Quaternionf *ptr, ptrdiff_t i);
119
123
129
132MRC_API MR_Quaternionf *MR_Quaternionf_Construct_4(float a, float b, float c, float d);
133
139MRC_API MR_Quaternionf *MR_Quaternionf_Construct_2_const_MR_Vector3f_ref_float(const MR_Vector3f *axis, float angle);
140
146
152
161
163MRC_API void MR_Quaternionf_Destroy(const MR_Quaternionf *_this);
164
167
172
180
185
189MRC_API float MR_Quaternionf_angle(const MR_Quaternionf *_this);
190
195
198MRC_API float MR_Quaternionf_normSq(const MR_Quaternionf *_this);
199
202MRC_API float MR_Quaternionf_norm(const MR_Quaternionf *_this);
203
209
214
219
225
231
238
244MRC_API MR_Quaternionf *MR_Quaternionf_lerp(const MR_Quaternionf *q0, const MR_Quaternionf *q1, float t);
245
252
258
266MRC_API MR_AffineXf3f MR_Quaternionf_slerp_4(const MR_AffineXf3f *xf0, const MR_AffineXf3f *xf1, float t, const MR_Vector3f *p);
267
273
279
285MRC_API const double *MR_Quaterniond_Get_a(const MR_Quaterniond *_this);
286
291MRC_API void MR_Quaterniond_Set_a(MR_Quaterniond *_this, double value);
292
299
305MRC_API const double *MR_Quaterniond_Get_b(const MR_Quaterniond *_this);
306
311MRC_API void MR_Quaterniond_Set_b(MR_Quaterniond *_this, double value);
312
319
325MRC_API const double *MR_Quaterniond_Get_c(const MR_Quaterniond *_this);
326
331MRC_API void MR_Quaterniond_Set_c(MR_Quaterniond *_this, double value);
332
339
345MRC_API const double *MR_Quaterniond_Get_d(const MR_Quaterniond *_this);
346
351MRC_API void MR_Quaterniond_Set_d(MR_Quaterniond *_this, double value);
352
359
363
368
371MRC_API const MR_Quaterniond *MR_Quaterniond_OffsetPtr(const MR_Quaterniond *ptr, ptrdiff_t i);
372
376
382
385MRC_API MR_Quaterniond *MR_Quaterniond_Construct_4(double a, double b, double c, double d);
386
392MRC_API MR_Quaterniond *MR_Quaterniond_Construct_2_const_MR_Vector3d_ref_double(const MR_Vector3d *axis, double angle);
393
399
405
414
416MRC_API void MR_Quaterniond_Destroy(const MR_Quaterniond *_this);
417
420
425
433
438
442MRC_API double MR_Quaterniond_angle(const MR_Quaterniond *_this);
443
448
451MRC_API double MR_Quaterniond_normSq(const MR_Quaterniond *_this);
452
455MRC_API double MR_Quaterniond_norm(const MR_Quaterniond *_this);
456
462
467
472
478
484
491
497MRC_API MR_Quaterniond *MR_Quaterniond_lerp(const MR_Quaterniond *q0, const MR_Quaterniond *q1, double t);
498
505
511
519MRC_API MR_AffineXf3d MR_Quaterniond_slerp_4(const MR_AffineXf3d *xf0, const MR_AffineXf3d *xf1, double t, const MR_Vector3d *p);
520
526
532
533#ifdef __cplusplus
534} // extern "C"
535#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)
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)
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)
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:25
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:19
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)
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)
Definition MRAffineXf.h:47
Definition MRAffineXf.h:39
Definition MRMatrix3.h:82
Definition MRMatrix3.h:68
Generated from class MR::Vector3d.
Definition MRVector3.h:55
Generated from class MR::Vector3f.
Definition MRVector3.h:47