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;