objc2_gl_kit/generated/
GLKQuaternion.rs

1//! This file has been automatically generated by `objc2`'s `header-translator`.
2//! DO NOT EDIT
3use core::ffi::*;
4use core::ptr::NonNull;
5
6use crate::*;
7
8extern "C" {
9    /// [Apple's documentation](https://developer.apple.com/documentation/glkit/glkquaternionidentity?language=objc)
10    #[cfg(feature = "GLKMathTypes")]
11    pub static GLKQuaternionIdentity: GLKQuaternion;
12}
13
14// TODO: pub fn GLKQuaternionMake(x: c_float,y: c_float,z: c_float,w: c_float,) -> GLKQuaternion;
15
16// TODO: pub fn GLKQuaternionMakeWithVector3(vector: GLKVector3,scalar: c_float,) -> GLKQuaternion;
17
18// TODO: pub fn GLKQuaternionMakeWithArray(values: ArrayUnknownABI<[c_float; 4]>,) -> GLKQuaternion;
19
20// TODO: pub fn GLKQuaternionMakeWithAngleAndAxis(radians: c_float,x: c_float,y: c_float,z: c_float,) -> GLKQuaternion;
21
22// TODO: pub fn GLKQuaternionMakeWithAngleAndVector3Axis(radians: c_float,axis_vector: GLKVector3,) -> GLKQuaternion;
23
24extern "C-unwind" {
25    #[cfg(feature = "GLKMathTypes")]
26    pub fn GLKQuaternionMakeWithMatrix3(matrix: GLKMatrix3) -> GLKQuaternion;
27}
28
29extern "C-unwind" {
30    #[cfg(feature = "GLKMathTypes")]
31    pub fn GLKQuaternionMakeWithMatrix4(matrix: GLKMatrix4) -> GLKQuaternion;
32}
33
34extern "C-unwind" {
35    #[cfg(feature = "GLKMathTypes")]
36    pub fn GLKQuaternionAngle(quaternion: GLKQuaternion) -> c_float;
37}
38
39extern "C-unwind" {
40    #[cfg(feature = "GLKMathTypes")]
41    pub fn GLKQuaternionAxis(quaternion: GLKQuaternion) -> GLKVector3;
42}
43
44// TODO: pub fn GLKQuaternionAdd(quaternion_left: GLKQuaternion,quaternion_right: GLKQuaternion,) -> GLKQuaternion;
45
46// TODO: pub fn GLKQuaternionSubtract(quaternion_left: GLKQuaternion,quaternion_right: GLKQuaternion,) -> GLKQuaternion;
47
48// TODO: pub fn GLKQuaternionMultiply(quaternion_left: GLKQuaternion,quaternion_right: GLKQuaternion,) -> GLKQuaternion;
49
50extern "C-unwind" {
51    #[cfg(feature = "GLKMathTypes")]
52    pub fn GLKQuaternionSlerp(
53        quaternion_start: GLKQuaternion,
54        quaternion_end: GLKQuaternion,
55        t: c_float,
56    ) -> GLKQuaternion;
57}
58
59// TODO: pub fn GLKQuaternionLength(quaternion: GLKQuaternion,) -> c_float;
60
61// TODO: pub fn GLKQuaternionConjugate(quaternion: GLKQuaternion,) -> GLKQuaternion;
62
63// TODO: pub fn GLKQuaternionInvert(quaternion: GLKQuaternion,) -> GLKQuaternion;
64
65// TODO: pub fn GLKQuaternionNormalize(quaternion: GLKQuaternion,) -> GLKQuaternion;
66
67// TODO: pub fn GLKQuaternionRotateVector3(quaternion: GLKQuaternion,vector: GLKVector3,) -> GLKVector3;
68
69extern "C-unwind" {
70    /// # Safety
71    ///
72    /// `vectors` must be a valid pointer.
73    #[cfg(feature = "GLKMathTypes")]
74    pub fn GLKQuaternionRotateVector3Array(
75        quaternion: GLKQuaternion,
76        vectors: NonNull<GLKVector3>,
77        vector_count: usize,
78    );
79}
80
81// TODO: pub fn GLKQuaternionRotateVector4(quaternion: GLKQuaternion,vector: GLKVector4,) -> GLKVector4;
82
83extern "C-unwind" {
84    /// # Safety
85    ///
86    /// `vectors` must be a valid pointer.
87    #[cfg(feature = "GLKMathTypes")]
88    pub fn GLKQuaternionRotateVector4Array(
89        quaternion: GLKQuaternion,
90        vectors: NonNull<GLKVector4>,
91        vector_count: usize,
92    );
93}
94
95// TODO: pub fn GLKQuaternionMake(x: c_float,y: c_float,z: c_float,w: c_float,) -> GLKQuaternion;
96
97// TODO: pub fn GLKQuaternionMakeWithVector3(vector: GLKVector3,scalar: c_float,) -> GLKQuaternion;
98
99// TODO: pub fn GLKQuaternionMakeWithArray(values: ArrayUnknownABI<[c_float; 4]>,) -> GLKQuaternion;
100
101// TODO: pub fn GLKQuaternionMakeWithAngleAndAxis(radians: c_float,x: c_float,y: c_float,z: c_float,) -> GLKQuaternion;
102
103// TODO: pub fn GLKQuaternionMakeWithAngleAndVector3Axis(radians: c_float,axis_vector: GLKVector3,) -> GLKQuaternion;
104
105// TODO: pub fn GLKQuaternionAdd(quaternion_left: GLKQuaternion,quaternion_right: GLKQuaternion,) -> GLKQuaternion;
106
107// TODO: pub fn GLKQuaternionSubtract(quaternion_left: GLKQuaternion,quaternion_right: GLKQuaternion,) -> GLKQuaternion;
108
109// TODO: pub fn GLKQuaternionMultiply(quaternion_left: GLKQuaternion,quaternion_right: GLKQuaternion,) -> GLKQuaternion;
110
111// TODO: pub fn GLKQuaternionLength(quaternion: GLKQuaternion,) -> c_float;
112
113// TODO: pub fn GLKQuaternionConjugate(quaternion: GLKQuaternion,) -> GLKQuaternion;
114
115// TODO: pub fn GLKQuaternionInvert(quaternion: GLKQuaternion,) -> GLKQuaternion;
116
117// TODO: pub fn GLKQuaternionNormalize(quaternion: GLKQuaternion,) -> GLKQuaternion;
118
119// TODO: pub fn GLKQuaternionRotateVector3(quaternion: GLKQuaternion,vector: GLKVector3,) -> GLKVector3;
120
121// TODO: pub fn GLKQuaternionRotateVector4(quaternion: GLKQuaternion,vector: GLKVector4,) -> GLKVector4;