Skip to main content

engage/generated/unity_engine/
quaternion.rs

1// @generated by il2cpp-bindgen — do not edit by hand.
2
3#[cfg(feature = "unity_engine-quaternion-types")]
4mod __types {
5    #[allow(unused_imports)] use ::unity::prelude::*;
6
7    use super::*;
8    use crate::system::{
9        object::{IObject, Object},
10        valuetype::{IValueType, ValueType},
11    };
12
13    #[doc=include_str!(concat!(env!("CARGO_MANIFEST_DIR"),"/","docs/unity_engine/quaternion/Quaternion.md"))]
14    #[repr(C)]
15    #[derive(::core::clone::Clone, ::core::marker::Copy)]
16    pub struct Quaternion {
17        pub x: f32,
18        pub y: f32,
19        pub z: f32,
20        pub w: f32,
21    }
22    impl ::unity::ClassIdentity for Quaternion {
23        const NAME: &'static str = "Quaternion";
24        const NAMESPACE: &'static str = "UnityEngine";
25
26        fn class() -> ::unity::Class {
27            static CACHE: ::std::sync::OnceLock<::unity::Class> = ::std::sync::OnceLock::new();
28            *CACHE.get_or_init(|| ::unity::Class::lookup(Self::NAMESPACE, Self::NAME))
29        }
30    }
31    impl ::unity::IlType for Quaternion {
32        fn il_type() -> &'static ::unity::il2cpp::Il2CppType {
33            &<Self as ::unity::ClassIdentity>::class().raw()._1.byval_arg
34        }
35    }
36    impl Quaternion {
37        #[inline]
38        pub fn identity_quaternion() -> crate::unity_engine::quaternion::Quaternion {
39            static OFFSET: ::std::sync::OnceLock<usize> = ::std::sync::OnceLock::new();
40            let __offset = ::unity::cached_field_offset_static::<Self>(&OFFSET, "identityQuaternion");
41            ::unity::static_field_get_value_at_offset(<Self as ::unity::ClassIdentity>::class(), __offset)
42        }
43
44        #[inline]
45        pub fn set_identity_quaternion(value: crate::unity_engine::quaternion::Quaternion) {
46            static OFFSET: ::std::sync::OnceLock<usize> = ::std::sync::OnceLock::new();
47            let __offset = ::unity::cached_field_offset_static::<Self>(&OFFSET, "identityQuaternion");
48            ::unity::static_field_set_value_at_offset(<Self as ::unity::ClassIdentity>::class(), __offset, value);
49        }
50
51        #[inline]
52        pub fn k_epsilon() -> f32 {
53            static OFFSET: ::std::sync::OnceLock<usize> = ::std::sync::OnceLock::new();
54            let __offset = ::unity::cached_field_offset_static::<Self>(&OFFSET, "kEpsilon");
55            ::unity::static_field_get_value_at_offset(<Self as ::unity::ClassIdentity>::class(), __offset)
56        }
57
58        #[inline]
59        pub fn set_k_epsilon(value: f32) {
60            static OFFSET: ::std::sync::OnceLock<usize> = ::std::sync::OnceLock::new();
61            let __offset = ::unity::cached_field_offset_static::<Self>(&OFFSET, "kEpsilon");
62            ::unity::static_field_set_value_at_offset(<Self as ::unity::ClassIdentity>::class(), __offset, value);
63        }
64    }
65}
66
67#[cfg(feature = "unity_engine-quaternion-types")]
68pub use __types::*;
69
70#[cfg(feature = "unity_engine-quaternion")]
71impl Quaternion {
72    #[doc = "`FromToRotation(crate::unity_engine::vector3::Vector3, crate::unity_engine::vector3::Vector3)` overload"]
73    pub fn from_to_rotation(
74        from_direction: impl ::core::convert::Into<crate::unity_engine::vector3::Vector3>,
75        to_direction: impl ::core::convert::Into<crate::unity_engine::vector3::Vector3>,
76    ) -> crate::unity_engine::quaternion::Quaternion {
77        unsafe {
78            ::unity::il2cpp_call!((::unity::module_base()+0x32f94c0usize)as*mut u8,crate::unity_engine::quaternion::Quaternion;
79(crate::unity_engine::vector3::Vector3)::core::convert::Into::into(from_direction),(crate::unity_engine::vector3::Vector3)::core::convert::Into::into(to_direction))
80        }
81    }
82
83    #[doc = "`Inverse(crate::unity_engine::quaternion::Quaternion)` overload"]
84    pub fn inverse(rotation: impl ::core::convert::Into<crate::unity_engine::quaternion::Quaternion>) -> crate::unity_engine::quaternion::Quaternion {
85        unsafe {
86            ::unity::il2cpp_call!((::unity::module_base()+0x32f9590usize)as*mut u8,crate::unity_engine::quaternion::Quaternion;
87(crate::unity_engine::quaternion::Quaternion)::core::convert::Into::into(rotation))
88        }
89    }
90
91    #[doc = "`Slerp(crate::unity_engine::quaternion::Quaternion, crate::unity_engine::quaternion::Quaternion, f32)` overload"]
92    pub fn slerp(
93        a: impl ::core::convert::Into<crate::unity_engine::quaternion::Quaternion>,
94        b: impl ::core::convert::Into<crate::unity_engine::quaternion::Quaternion>,
95        t: impl ::core::convert::Into<f32>,
96    ) -> crate::unity_engine::quaternion::Quaternion {
97        unsafe {
98            ::unity::il2cpp_call!((::unity::module_base()+0x32f9640usize)as*mut u8,crate::unity_engine::quaternion::Quaternion;
99(crate::unity_engine::quaternion::Quaternion)::core::convert::Into::into(a),(crate::unity_engine::quaternion::Quaternion)::core::convert::Into::into(b),(f32)::core::convert::Into::into(t))
100        }
101    }
102
103    #[doc = "`SlerpUnclamped(crate::unity_engine::quaternion::Quaternion, crate::unity_engine::quaternion::Quaternion, f32)` overload"]
104    pub fn slerp_unclamped(
105        a: impl ::core::convert::Into<crate::unity_engine::quaternion::Quaternion>,
106        b: impl ::core::convert::Into<crate::unity_engine::quaternion::Quaternion>,
107        t: impl ::core::convert::Into<f32>,
108    ) -> crate::unity_engine::quaternion::Quaternion {
109        unsafe {
110            ::unity::il2cpp_call!((::unity::module_base()+0x32f9730usize)as*mut u8,crate::unity_engine::quaternion::Quaternion;
111(crate::unity_engine::quaternion::Quaternion)::core::convert::Into::into(a),(crate::unity_engine::quaternion::Quaternion)::core::convert::Into::into(b),(f32)::core::convert::Into::into(t))
112        }
113    }
114
115    #[doc = "`Lerp(crate::unity_engine::quaternion::Quaternion, crate::unity_engine::quaternion::Quaternion, f32)` overload"]
116    pub fn lerp(
117        a: impl ::core::convert::Into<crate::unity_engine::quaternion::Quaternion>,
118        b: impl ::core::convert::Into<crate::unity_engine::quaternion::Quaternion>,
119        t: impl ::core::convert::Into<f32>,
120    ) -> crate::unity_engine::quaternion::Quaternion {
121        unsafe {
122            ::unity::il2cpp_call!((::unity::module_base()+0x32f9820usize)as*mut u8,crate::unity_engine::quaternion::Quaternion;
123(crate::unity_engine::quaternion::Quaternion)::core::convert::Into::into(a),(crate::unity_engine::quaternion::Quaternion)::core::convert::Into::into(b),(f32)::core::convert::Into::into(t))
124        }
125    }
126
127    #[doc = "`Internal_FromEulerRad(crate::unity_engine::vector3::Vector3)` overload"]
128    pub fn internal_from_euler_rad(
129        euler: impl ::core::convert::Into<crate::unity_engine::vector3::Vector3>,
130    ) -> crate::unity_engine::quaternion::Quaternion {
131        unsafe {
132            ::unity::il2cpp_call!((::unity::module_base()+0x32f9910usize)as*mut u8,crate::unity_engine::quaternion::Quaternion;
133(crate::unity_engine::vector3::Vector3)::core::convert::Into::into(euler))
134        }
135    }
136
137    #[doc = "`Internal_ToEulerRad(crate::unity_engine::quaternion::Quaternion)` overload"]
138    pub fn internal_to_euler_rad(
139        rotation: impl ::core::convert::Into<crate::unity_engine::quaternion::Quaternion>,
140    ) -> crate::unity_engine::vector3::Vector3 {
141        unsafe {
142            ::unity::il2cpp_call!((::unity::module_base()+0x32f99c0usize)as*mut u8,crate::unity_engine::vector3::Vector3;
143(crate::unity_engine::quaternion::Quaternion)::core::convert::Into::into(rotation))
144        }
145    }
146
147    #[doc = "`Internal_ToAxisAngleRad(crate::unity_engine::quaternion::Quaternion, *mutcrate::unity_engine::vector3::Vector3, *mutf32)` overload"]
148    pub fn internal_to_axis_angle_rad(
149        q: impl ::core::convert::Into<crate::unity_engine::quaternion::Quaternion>,
150    ) -> (crate::unity_engine::vector3::Vector3, f32) {
151        unsafe {
152            let mut __out_0 = ::core::mem::MaybeUninit::<crate::unity_engine::vector3::Vector3>::uninit();
153            let mut __out_1 = ::core::mem::MaybeUninit::<f32>::uninit();
154            ::unity::il2cpp_call!((::unity::module_base()+0x32f9a80usize)as*mut u8,();
155(crate::unity_engine::quaternion::Quaternion)::core::convert::Into::into(q),(*mut crate::unity_engine::vector3::Vector3)__out_0.as_mut_ptr(),(*mut f32)__out_1.as_mut_ptr());
156            (__out_0.assume_init(), __out_1.assume_init())
157        }
158    }
159
160    #[doc = "`AngleAxis(f32, crate::unity_engine::vector3::Vector3)` overload"]
161    pub fn angle_axis(
162        angle: impl ::core::convert::Into<f32>,
163        axis: impl ::core::convert::Into<crate::unity_engine::vector3::Vector3>,
164    ) -> crate::unity_engine::quaternion::Quaternion {
165        unsafe {
166            ::unity::il2cpp_call!((::unity::module_base()+0x32f9b50usize)as*mut u8,crate::unity_engine::quaternion::Quaternion;
167(f32)::core::convert::Into::into(angle),(crate::unity_engine::vector3::Vector3)::core::convert::Into::into(axis))
168        }
169    }
170
171    #[doc = "`LookRotation(crate::unity_engine::vector3::Vector3, crate::unity_engine::vector3::Vector3)` overload"]
172    pub fn look_rotation(
173        forward: impl ::core::convert::Into<crate::unity_engine::vector3::Vector3>,
174        upwards: impl ::core::convert::Into<crate::unity_engine::vector3::Vector3>,
175    ) -> crate::unity_engine::quaternion::Quaternion {
176        unsafe {
177            ::unity::il2cpp_call!((::unity::module_base()+0x32f9c20usize)as*mut u8,crate::unity_engine::quaternion::Quaternion;
178(crate::unity_engine::vector3::Vector3)::core::convert::Into::into(forward),(crate::unity_engine::vector3::Vector3)::core::convert::Into::into(upwards))
179        }
180    }
181
182    #[doc = "`LookRotation(crate::unity_engine::vector3::Vector3)` overload"]
183    pub fn look_rotation_2(
184        forward: impl ::core::convert::Into<crate::unity_engine::vector3::Vector3>,
185    ) -> crate::unity_engine::quaternion::Quaternion {
186        unsafe {
187            ::unity::il2cpp_call!((::unity::module_base()+0x32f9cf0usize)as*mut u8,crate::unity_engine::quaternion::Quaternion;
188(crate::unity_engine::vector3::Vector3)::core::convert::Into::into(forward))
189        }
190    }
191
192    #[doc = "`get_identity()` overload"]
193    pub fn get_identity() -> crate::unity_engine::quaternion::Quaternion {
194        unsafe {
195            ::unity::il2cpp_call!((::unity::module_base()+0x32f9da0usize)as*mut u8,crate::unity_engine::quaternion::Quaternion;
196            )
197        }
198    }
199
200    #[doc = "`op_Multiply(crate::unity_engine::quaternion::Quaternion, crate::unity_engine::quaternion::Quaternion)` overload"]
201    pub fn op_multiply(
202        lhs: impl ::core::convert::Into<crate::unity_engine::quaternion::Quaternion>,
203        rhs: impl ::core::convert::Into<crate::unity_engine::quaternion::Quaternion>,
204    ) -> crate::unity_engine::quaternion::Quaternion {
205        unsafe {
206            ::unity::il2cpp_call!((::unity::module_base()+0x32f9df0usize)as*mut u8,crate::unity_engine::quaternion::Quaternion;
207(crate::unity_engine::quaternion::Quaternion)::core::convert::Into::into(lhs),(crate::unity_engine::quaternion::Quaternion)::core::convert::Into::into(rhs))
208        }
209    }
210
211    #[doc = "`op_Multiply(crate::unity_engine::quaternion::Quaternion, crate::unity_engine::vector3::Vector3)` overload"]
212    pub fn op_multiply_2(
213        rotation: impl ::core::convert::Into<crate::unity_engine::quaternion::Quaternion>,
214        point: impl ::core::convert::Into<crate::unity_engine::vector3::Vector3>,
215    ) -> crate::unity_engine::vector3::Vector3 {
216        unsafe {
217            ::unity::il2cpp_call!((::unity::module_base()+0x32f9e70usize)as*mut u8,crate::unity_engine::vector3::Vector3;
218(crate::unity_engine::quaternion::Quaternion)::core::convert::Into::into(rotation),(crate::unity_engine::vector3::Vector3)::core::convert::Into::into(point))
219        }
220    }
221
222    #[doc = "`IsEqualUsingDot(f32)` overload"]
223    pub fn is_equal_using_dot(dot: impl ::core::convert::Into<f32>) -> bool {
224        unsafe {
225            ::unity::il2cpp_call!((::unity::module_base()+0x32f9f20usize)as*mut u8,bool;
226(f32)::core::convert::Into::into(dot))
227        }
228    }
229
230    #[doc = "`op_Equality(crate::unity_engine::quaternion::Quaternion, crate::unity_engine::quaternion::Quaternion)` overload"]
231    pub fn op_equality(
232        lhs: impl ::core::convert::Into<crate::unity_engine::quaternion::Quaternion>,
233        rhs: impl ::core::convert::Into<crate::unity_engine::quaternion::Quaternion>,
234    ) -> bool {
235        unsafe {
236            ::unity::il2cpp_call!((::unity::module_base()+0x32f9f40usize)as*mut u8,bool;
237(crate::unity_engine::quaternion::Quaternion)::core::convert::Into::into(lhs),(crate::unity_engine::quaternion::Quaternion)::core::convert::Into::into(rhs))
238        }
239    }
240
241    #[doc = "`op_Inequality(crate::unity_engine::quaternion::Quaternion, crate::unity_engine::quaternion::Quaternion)` overload"]
242    pub fn op_inequality(
243        lhs: impl ::core::convert::Into<crate::unity_engine::quaternion::Quaternion>,
244        rhs: impl ::core::convert::Into<crate::unity_engine::quaternion::Quaternion>,
245    ) -> bool {
246        unsafe {
247            ::unity::il2cpp_call!((::unity::module_base()+0x32f9fa0usize)as*mut u8,bool;
248(crate::unity_engine::quaternion::Quaternion)::core::convert::Into::into(lhs),(crate::unity_engine::quaternion::Quaternion)::core::convert::Into::into(rhs))
249        }
250    }
251
252    #[doc = "`Dot(crate::unity_engine::quaternion::Quaternion, crate::unity_engine::quaternion::Quaternion)` overload"]
253    pub fn dot(
254        a: impl ::core::convert::Into<crate::unity_engine::quaternion::Quaternion>,
255        b: impl ::core::convert::Into<crate::unity_engine::quaternion::Quaternion>,
256    ) -> f32 {
257        unsafe {
258            ::unity::il2cpp_call!((::unity::module_base()+0x32f9f80usize)as*mut u8,f32;
259(crate::unity_engine::quaternion::Quaternion)::core::convert::Into::into(a),(crate::unity_engine::quaternion::Quaternion)::core::convert::Into::into(b))
260        }
261    }
262
263    #[doc = "`Angle(crate::unity_engine::quaternion::Quaternion, crate::unity_engine::quaternion::Quaternion)` overload"]
264    pub fn angle(
265        a: impl ::core::convert::Into<crate::unity_engine::quaternion::Quaternion>,
266        b: impl ::core::convert::Into<crate::unity_engine::quaternion::Quaternion>,
267    ) -> f32 {
268        unsafe {
269            ::unity::il2cpp_call!((::unity::module_base()+0x32f9fe0usize)as*mut u8,f32;
270(crate::unity_engine::quaternion::Quaternion)::core::convert::Into::into(a),(crate::unity_engine::quaternion::Quaternion)::core::convert::Into::into(b))
271        }
272    }
273
274    #[doc = "`Internal_MakePositive(crate::unity_engine::vector3::Vector3)` overload"]
275    pub fn internal_make_positive(euler: impl ::core::convert::Into<crate::unity_engine::vector3::Vector3>) -> crate::unity_engine::vector3::Vector3 {
276        unsafe {
277            ::unity::il2cpp_call!((::unity::module_base()+0x32fa050usize)as*mut u8,crate::unity_engine::vector3::Vector3;
278(crate::unity_engine::vector3::Vector3)::core::convert::Into::into(euler))
279        }
280    }
281
282    #[doc = "`Euler(f32, f32, f32)` overload"]
283    pub fn euler(
284        x: impl ::core::convert::Into<f32>,
285        y: impl ::core::convert::Into<f32>,
286        z: impl ::core::convert::Into<f32>,
287    ) -> crate::unity_engine::quaternion::Quaternion {
288        unsafe {
289            ::unity::il2cpp_call!((::unity::module_base()+0x32fa250usize)as*mut u8,crate::unity_engine::quaternion::Quaternion;
290(f32)::core::convert::Into::into(x),(f32)::core::convert::Into::into(y),(f32)::core::convert::Into::into(z))
291        }
292    }
293
294    #[doc = "`Euler(crate::unity_engine::vector3::Vector3)` overload"]
295    pub fn euler_2(euler: impl ::core::convert::Into<crate::unity_engine::vector3::Vector3>) -> crate::unity_engine::quaternion::Quaternion {
296        unsafe {
297            ::unity::il2cpp_call!((::unity::module_base()+0x32fa2d0usize)as*mut u8,crate::unity_engine::quaternion::Quaternion;
298(crate::unity_engine::vector3::Vector3)::core::convert::Into::into(euler))
299        }
300    }
301
302    #[doc = "`RotateTowards(crate::unity_engine::quaternion::Quaternion, crate::unity_engine::quaternion::Quaternion, f32)` overload"]
303    pub fn rotate_towards(
304        from: impl ::core::convert::Into<crate::unity_engine::quaternion::Quaternion>,
305        to: impl ::core::convert::Into<crate::unity_engine::quaternion::Quaternion>,
306        max_degrees_delta: impl ::core::convert::Into<f32>,
307    ) -> crate::unity_engine::quaternion::Quaternion {
308        unsafe {
309            ::unity::il2cpp_call!((::unity::module_base()+0x32fa3e0usize)as*mut u8,crate::unity_engine::quaternion::Quaternion;
310(crate::unity_engine::quaternion::Quaternion)::core::convert::Into::into(from),(crate::unity_engine::quaternion::Quaternion)::core::convert::Into::into(to),(f32)::core::convert::Into::into(max_degrees_delta))
311        }
312    }
313
314    #[doc = "`Normalize(crate::unity_engine::quaternion::Quaternion)` overload"]
315    pub fn normalize(q: impl ::core::convert::Into<crate::unity_engine::quaternion::Quaternion>) -> crate::unity_engine::quaternion::Quaternion {
316        unsafe {
317            ::unity::il2cpp_call!((::unity::module_base()+0x32fa510usize)as*mut u8,crate::unity_engine::quaternion::Quaternion;
318(crate::unity_engine::quaternion::Quaternion)::core::convert::Into::into(q))
319        }
320    }
321
322    #[doc = "`.cctor()` overload"]
323    pub fn cctor() -> () {
324        unsafe {
325            ::unity::il2cpp_call!((::unity::module_base()+0x32fab90usize)as*mut u8,();
326            )
327        }
328    }
329
330    #[doc = "`FromToRotation_Injected(*mutcrate::unity_engine::vector3::Vector3, *mutcrate::unity_engine::vector3::Vector3, *mutcrate::unity_engine::quaternion::Quaternion)` overload"]
331    pub fn from_to_rotation_injected() -> (
332        crate::unity_engine::vector3::Vector3,
333        crate::unity_engine::vector3::Vector3,
334        crate::unity_engine::quaternion::Quaternion,
335    ) {
336        unsafe {
337            let mut __out_0 = ::core::mem::MaybeUninit::<crate::unity_engine::vector3::Vector3>::uninit();
338            let mut __out_1 = ::core::mem::MaybeUninit::<crate::unity_engine::vector3::Vector3>::uninit();
339            let mut __out_2 = ::core::mem::MaybeUninit::<crate::unity_engine::quaternion::Quaternion>::uninit();
340            ::unity::il2cpp_call!((::unity::module_base()+0x32f9530usize)as*mut u8,();
341(*mut crate::unity_engine::vector3::Vector3)__out_0.as_mut_ptr(),(*mut crate::unity_engine::vector3::Vector3)__out_1.as_mut_ptr(),(*mut crate::unity_engine::quaternion::Quaternion)__out_2.as_mut_ptr());
342            (__out_0.assume_init(), __out_1.assume_init(), __out_2.assume_init())
343        }
344    }
345
346    #[doc = "`Inverse_Injected(*mutcrate::unity_engine::quaternion::Quaternion, *mutcrate::unity_engine::quaternion::Quaternion)` overload"]
347    pub fn inverse_injected() -> (crate::unity_engine::quaternion::Quaternion, crate::unity_engine::quaternion::Quaternion) {
348        unsafe {
349            let mut __out_0 = ::core::mem::MaybeUninit::<crate::unity_engine::quaternion::Quaternion>::uninit();
350            let mut __out_1 = ::core::mem::MaybeUninit::<crate::unity_engine::quaternion::Quaternion>::uninit();
351            ::unity::il2cpp_call!((::unity::module_base()+0x32f95f0usize)as*mut u8,();
352(*mut crate::unity_engine::quaternion::Quaternion)__out_0.as_mut_ptr(),(*mut crate::unity_engine::quaternion::Quaternion)__out_1.as_mut_ptr());
353            (__out_0.assume_init(), __out_1.assume_init())
354        }
355    }
356
357    #[doc = "`Slerp_Injected(*mutcrate::unity_engine::quaternion::Quaternion, *mutcrate::unity_engine::quaternion::Quaternion, f32, *mutcrate::unity_engine::quaternion::Quaternion)` overload"]
358    pub fn slerp_injected(
359        t: impl ::core::convert::Into<f32>,
360    ) -> (
361        crate::unity_engine::quaternion::Quaternion,
362        crate::unity_engine::quaternion::Quaternion,
363        crate::unity_engine::quaternion::Quaternion,
364    ) {
365        unsafe {
366            let mut __out_0 = ::core::mem::MaybeUninit::<crate::unity_engine::quaternion::Quaternion>::uninit();
367            let mut __out_1 = ::core::mem::MaybeUninit::<crate::unity_engine::quaternion::Quaternion>::uninit();
368            let mut __out_2 = ::core::mem::MaybeUninit::<crate::unity_engine::quaternion::Quaternion>::uninit();
369            ::unity::il2cpp_call!((::unity::module_base()+0x32f96c0usize)as*mut u8,();
370(*mut crate::unity_engine::quaternion::Quaternion)__out_0.as_mut_ptr(),(*mut crate::unity_engine::quaternion::Quaternion)__out_1.as_mut_ptr(),(f32)::core::convert::Into::into(t),(*mut crate::unity_engine::quaternion::Quaternion)__out_2.as_mut_ptr());
371            (__out_0.assume_init(), __out_1.assume_init(), __out_2.assume_init())
372        }
373    }
374
375    #[doc = "`SlerpUnclamped_Injected(*mutcrate::unity_engine::quaternion::Quaternion, *mutcrate::unity_engine::quaternion::Quaternion, f32, *mutcrate::unity_engine::quaternion::Quaternion)` overload"]
376    pub fn slerp_unclamped_injected(
377        t: impl ::core::convert::Into<f32>,
378    ) -> (
379        crate::unity_engine::quaternion::Quaternion,
380        crate::unity_engine::quaternion::Quaternion,
381        crate::unity_engine::quaternion::Quaternion,
382    ) {
383        unsafe {
384            let mut __out_0 = ::core::mem::MaybeUninit::<crate::unity_engine::quaternion::Quaternion>::uninit();
385            let mut __out_1 = ::core::mem::MaybeUninit::<crate::unity_engine::quaternion::Quaternion>::uninit();
386            let mut __out_2 = ::core::mem::MaybeUninit::<crate::unity_engine::quaternion::Quaternion>::uninit();
387            ::unity::il2cpp_call!((::unity::module_base()+0x32f97b0usize)as*mut u8,();
388(*mut crate::unity_engine::quaternion::Quaternion)__out_0.as_mut_ptr(),(*mut crate::unity_engine::quaternion::Quaternion)__out_1.as_mut_ptr(),(f32)::core::convert::Into::into(t),(*mut crate::unity_engine::quaternion::Quaternion)__out_2.as_mut_ptr());
389            (__out_0.assume_init(), __out_1.assume_init(), __out_2.assume_init())
390        }
391    }
392
393    #[doc = "`Lerp_Injected(*mutcrate::unity_engine::quaternion::Quaternion, *mutcrate::unity_engine::quaternion::Quaternion, f32, *mutcrate::unity_engine::quaternion::Quaternion)` overload"]
394    pub fn lerp_injected(
395        t: impl ::core::convert::Into<f32>,
396    ) -> (
397        crate::unity_engine::quaternion::Quaternion,
398        crate::unity_engine::quaternion::Quaternion,
399        crate::unity_engine::quaternion::Quaternion,
400    ) {
401        unsafe {
402            let mut __out_0 = ::core::mem::MaybeUninit::<crate::unity_engine::quaternion::Quaternion>::uninit();
403            let mut __out_1 = ::core::mem::MaybeUninit::<crate::unity_engine::quaternion::Quaternion>::uninit();
404            let mut __out_2 = ::core::mem::MaybeUninit::<crate::unity_engine::quaternion::Quaternion>::uninit();
405            ::unity::il2cpp_call!((::unity::module_base()+0x32f98a0usize)as*mut u8,();
406(*mut crate::unity_engine::quaternion::Quaternion)__out_0.as_mut_ptr(),(*mut crate::unity_engine::quaternion::Quaternion)__out_1.as_mut_ptr(),(f32)::core::convert::Into::into(t),(*mut crate::unity_engine::quaternion::Quaternion)__out_2.as_mut_ptr());
407            (__out_0.assume_init(), __out_1.assume_init(), __out_2.assume_init())
408        }
409    }
410
411    #[doc = "`Internal_FromEulerRad_Injected(*mutcrate::unity_engine::vector3::Vector3, *mutcrate::unity_engine::quaternion::Quaternion)` overload"]
412    pub fn internal_from_euler_rad_injected() -> (crate::unity_engine::vector3::Vector3, crate::unity_engine::quaternion::Quaternion) {
413        unsafe {
414            let mut __out_0 = ::core::mem::MaybeUninit::<crate::unity_engine::vector3::Vector3>::uninit();
415            let mut __out_1 = ::core::mem::MaybeUninit::<crate::unity_engine::quaternion::Quaternion>::uninit();
416            ::unity::il2cpp_call!((::unity::module_base()+0x32f9970usize)as*mut u8,();
417(*mut crate::unity_engine::vector3::Vector3)__out_0.as_mut_ptr(),(*mut crate::unity_engine::quaternion::Quaternion)__out_1.as_mut_ptr());
418            (__out_0.assume_init(), __out_1.assume_init())
419        }
420    }
421
422    #[doc = "`Internal_ToEulerRad_Injected(*mutcrate::unity_engine::quaternion::Quaternion, *mutcrate::unity_engine::vector3::Vector3)` overload"]
423    pub fn internal_to_euler_rad_injected() -> (crate::unity_engine::quaternion::Quaternion, crate::unity_engine::vector3::Vector3) {
424        unsafe {
425            let mut __out_0 = ::core::mem::MaybeUninit::<crate::unity_engine::quaternion::Quaternion>::uninit();
426            let mut __out_1 = ::core::mem::MaybeUninit::<crate::unity_engine::vector3::Vector3>::uninit();
427            ::unity::il2cpp_call!((::unity::module_base()+0x32f9a30usize)as*mut u8,();
428(*mut crate::unity_engine::quaternion::Quaternion)__out_0.as_mut_ptr(),(*mut crate::unity_engine::vector3::Vector3)__out_1.as_mut_ptr());
429            (__out_0.assume_init(), __out_1.assume_init())
430        }
431    }
432
433    #[doc = "`Internal_ToAxisAngleRad_Injected(*mutcrate::unity_engine::quaternion::Quaternion, *mutcrate::unity_engine::vector3::Vector3, *mutf32)` overload"]
434    pub fn internal_to_axis_angle_rad_injected() -> (crate::unity_engine::quaternion::Quaternion, crate::unity_engine::vector3::Vector3, f32) {
435        unsafe {
436            let mut __out_0 = ::core::mem::MaybeUninit::<crate::unity_engine::quaternion::Quaternion>::uninit();
437            let mut __out_1 = ::core::mem::MaybeUninit::<crate::unity_engine::vector3::Vector3>::uninit();
438            let mut __out_2 = ::core::mem::MaybeUninit::<f32>::uninit();
439            ::unity::il2cpp_call!((::unity::module_base()+0x32f9af0usize)as*mut u8,();
440(*mut crate::unity_engine::quaternion::Quaternion)__out_0.as_mut_ptr(),(*mut crate::unity_engine::vector3::Vector3)__out_1.as_mut_ptr(),(*mut f32)__out_2.as_mut_ptr());
441            (__out_0.assume_init(), __out_1.assume_init(), __out_2.assume_init())
442        }
443    }
444
445    #[doc = "`AngleAxis_Injected(f32, *mutcrate::unity_engine::vector3::Vector3, *mutcrate::unity_engine::quaternion::Quaternion)` overload"]
446    pub fn angle_axis_injected(
447        angle: impl ::core::convert::Into<f32>,
448    ) -> (crate::unity_engine::vector3::Vector3, crate::unity_engine::quaternion::Quaternion) {
449        unsafe {
450            let mut __out_0 = ::core::mem::MaybeUninit::<crate::unity_engine::vector3::Vector3>::uninit();
451            let mut __out_1 = ::core::mem::MaybeUninit::<crate::unity_engine::quaternion::Quaternion>::uninit();
452            ::unity::il2cpp_call!((::unity::module_base()+0x32f9bc0usize)as*mut u8,();
453(f32)::core::convert::Into::into(angle),(*mut crate::unity_engine::vector3::Vector3)__out_0.as_mut_ptr(),(*mut crate::unity_engine::quaternion::Quaternion)__out_1.as_mut_ptr());
454            (__out_0.assume_init(), __out_1.assume_init())
455        }
456    }
457
458    #[doc = "`LookRotation_Injected(*mutcrate::unity_engine::vector3::Vector3, *mutcrate::unity_engine::vector3::Vector3, *mutcrate::unity_engine::quaternion::Quaternion)` overload"]
459    pub fn look_rotation_injected() -> (
460        crate::unity_engine::vector3::Vector3,
461        crate::unity_engine::vector3::Vector3,
462        crate::unity_engine::quaternion::Quaternion,
463    ) {
464        unsafe {
465            let mut __out_0 = ::core::mem::MaybeUninit::<crate::unity_engine::vector3::Vector3>::uninit();
466            let mut __out_1 = ::core::mem::MaybeUninit::<crate::unity_engine::vector3::Vector3>::uninit();
467            let mut __out_2 = ::core::mem::MaybeUninit::<crate::unity_engine::quaternion::Quaternion>::uninit();
468            ::unity::il2cpp_call!((::unity::module_base()+0x32f9c90usize)as*mut u8,();
469(*mut crate::unity_engine::vector3::Vector3)__out_0.as_mut_ptr(),(*mut crate::unity_engine::vector3::Vector3)__out_1.as_mut_ptr(),(*mut crate::unity_engine::quaternion::Quaternion)__out_2.as_mut_ptr());
470            (__out_0.assume_init(), __out_1.assume_init(), __out_2.assume_init())
471        }
472    }
473}
474
475#[cfg(feature = "unity_engine-quaternion")]
476impl Quaternion {
477    #[doc = "`.ctor(f32, f32, f32, f32)` overload"]
478    pub fn ctor(
479        &mut self,
480        x: impl ::core::convert::Into<f32>,
481        y: impl ::core::convert::Into<f32>,
482        z: impl ::core::convert::Into<f32>,
483        w: impl ::core::convert::Into<f32>,
484    ) -> () {
485        unsafe {
486            ::unity::il2cpp_call!((::unity::module_base()+0x32f9d80usize)as*mut u8,();
487(*mut Quaternion)self as*mut Quaternion,(f32)::core::convert::Into::into(x),(f32)::core::convert::Into::into(y),(f32)::core::convert::Into::into(z),(f32)::core::convert::Into::into(w))
488        }
489    }
490
491    #[doc = "`get_eulerAngles()` overload"]
492    pub fn get_euler_angles(&mut self) -> crate::unity_engine::vector3::Vector3 {
493        unsafe {
494            ::unity::il2cpp_call!((::unity::module_base()+0x32fa110usize)as*mut u8,crate::unity_engine::vector3::Vector3;
495(*mut Quaternion)self as*mut Quaternion)
496        }
497    }
498
499    #[doc = "`ToAngleAxis(*mutf32, *mutcrate::unity_engine::vector3::Vector3)` overload"]
500    pub fn to_angle_axis(&mut self) -> (f32, crate::unity_engine::vector3::Vector3) {
501        unsafe {
502            let mut __out_0 = ::core::mem::MaybeUninit::<f32>::uninit();
503            let mut __out_1 = ::core::mem::MaybeUninit::<crate::unity_engine::vector3::Vector3>::uninit();
504            ::unity::il2cpp_call!((::unity::module_base()+0x32fa350usize)as*mut u8,();
505(*mut Quaternion)self as*mut Quaternion,(*mut f32)__out_0.as_mut_ptr(),(*mut crate::unity_engine::vector3::Vector3)__out_1.as_mut_ptr());
506            (__out_0.assume_init(), __out_1.assume_init())
507        }
508    }
509
510    #[doc = "`get_normalized()` overload"]
511    pub fn get_normalized(&mut self) -> crate::unity_engine::quaternion::Quaternion {
512        unsafe {
513            ::unity::il2cpp_call!((::unity::module_base()+0x32fa610usize)as*mut u8,crate::unity_engine::quaternion::Quaternion;
514(*mut Quaternion)self as*mut Quaternion)
515        }
516    }
517
518    #[doc = "`GetHashCode()` overload"]
519    pub fn get_hash_code(&mut self) -> i32 {
520        unsafe {
521            ::unity::il2cpp_call!((::unity::module_base()+0x32fa710usize)as*mut u8,i32;
522(*mut Quaternion)self as*mut Quaternion)
523        }
524    }
525
526    #[doc = "`Equals(crate::system::object::Object)` overload"]
527    pub fn equals(&mut self, other: impl ::core::convert::Into<crate::system::object::Object>) -> bool {
528        unsafe {
529            ::unity::il2cpp_call!((::unity::module_base()+0x32fa780usize)as*mut u8,bool;
530(*mut Quaternion)self as*mut Quaternion,(crate::system::object::Object)::core::convert::Into::into(other))
531        }
532    }
533
534    #[doc = "`Equals(crate::unity_engine::quaternion::Quaternion)` overload"]
535    pub fn equals_2(&mut self, other: impl ::core::convert::Into<crate::unity_engine::quaternion::Quaternion>) -> bool {
536        unsafe {
537            ::unity::il2cpp_call!((::unity::module_base()+0x32fa870usize)as*mut u8,bool;
538(*mut Quaternion)self as*mut Quaternion,(crate::unity_engine::quaternion::Quaternion)::core::convert::Into::into(other))
539        }
540    }
541
542    #[doc = "`ToString()` overload"]
543    pub fn to_string(&mut self) -> ::unity::Il2CppString {
544        unsafe {
545            ::unity::il2cpp_call!((::unity::module_base()+0x32fa900usize)as*mut u8, ::unity::Il2CppString;
546(*mut Quaternion)self as*mut Quaternion)
547        }
548    }
549}
550
551#[cfg(feature = "unity_engine-quaternion")]
552impl Quaternion {
553    pub fn from_to_rotation_method_info() -> &'static ::unity::il2cpp::MethodInfo {
554        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[0]
555    }
556
557    pub fn inverse_method_info() -> &'static ::unity::il2cpp::MethodInfo {
558        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[1]
559    }
560
561    pub fn slerp_method_info() -> &'static ::unity::il2cpp::MethodInfo {
562        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[2]
563    }
564
565    pub fn slerp_unclamped_method_info() -> &'static ::unity::il2cpp::MethodInfo {
566        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[3]
567    }
568
569    pub fn lerp_method_info() -> &'static ::unity::il2cpp::MethodInfo {
570        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[4]
571    }
572
573    pub fn internal_from_euler_rad_method_info() -> &'static ::unity::il2cpp::MethodInfo {
574        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[5]
575    }
576
577    pub fn internal_to_euler_rad_method_info() -> &'static ::unity::il2cpp::MethodInfo {
578        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[6]
579    }
580
581    pub fn internal_to_axis_angle_rad_method_info() -> &'static ::unity::il2cpp::MethodInfo {
582        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[7]
583    }
584
585    pub fn angle_axis_method_info() -> &'static ::unity::il2cpp::MethodInfo {
586        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[8]
587    }
588
589    pub fn look_rotation_method_info() -> &'static ::unity::il2cpp::MethodInfo {
590        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[9]
591    }
592
593    pub fn look_rotation_2_method_info() -> &'static ::unity::il2cpp::MethodInfo {
594        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[10]
595    }
596
597    pub fn ctor_method_info() -> &'static ::unity::il2cpp::MethodInfo {
598        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[11]
599    }
600
601    pub fn get_identity_method_info() -> &'static ::unity::il2cpp::MethodInfo {
602        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[12]
603    }
604
605    pub fn op_multiply_method_info() -> &'static ::unity::il2cpp::MethodInfo {
606        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[13]
607    }
608
609    pub fn op_multiply_2_method_info() -> &'static ::unity::il2cpp::MethodInfo {
610        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[14]
611    }
612
613    pub fn is_equal_using_dot_method_info() -> &'static ::unity::il2cpp::MethodInfo {
614        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[15]
615    }
616
617    pub fn op_equality_method_info() -> &'static ::unity::il2cpp::MethodInfo {
618        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[16]
619    }
620
621    pub fn op_inequality_method_info() -> &'static ::unity::il2cpp::MethodInfo {
622        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[17]
623    }
624
625    pub fn dot_method_info() -> &'static ::unity::il2cpp::MethodInfo {
626        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[18]
627    }
628
629    pub fn angle_method_info() -> &'static ::unity::il2cpp::MethodInfo {
630        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[19]
631    }
632
633    pub fn internal_make_positive_method_info() -> &'static ::unity::il2cpp::MethodInfo {
634        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[20]
635    }
636
637    pub fn get_euler_angles_method_info() -> &'static ::unity::il2cpp::MethodInfo {
638        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[21]
639    }
640
641    pub fn euler_method_info() -> &'static ::unity::il2cpp::MethodInfo {
642        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[22]
643    }
644
645    pub fn euler_2_method_info() -> &'static ::unity::il2cpp::MethodInfo {
646        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[23]
647    }
648
649    pub fn to_angle_axis_method_info() -> &'static ::unity::il2cpp::MethodInfo {
650        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[24]
651    }
652
653    pub fn rotate_towards_method_info() -> &'static ::unity::il2cpp::MethodInfo {
654        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[25]
655    }
656
657    pub fn normalize_method_info() -> &'static ::unity::il2cpp::MethodInfo {
658        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[26]
659    }
660
661    pub fn get_normalized_method_info() -> &'static ::unity::il2cpp::MethodInfo {
662        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[27]
663    }
664
665    pub fn get_hash_code_method_info() -> &'static ::unity::il2cpp::MethodInfo {
666        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[28]
667    }
668
669    pub fn equals_method_info() -> &'static ::unity::il2cpp::MethodInfo {
670        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[29]
671    }
672
673    pub fn equals_2_method_info() -> &'static ::unity::il2cpp::MethodInfo {
674        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[30]
675    }
676
677    pub fn to_string_method_info() -> &'static ::unity::il2cpp::MethodInfo {
678        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[31]
679    }
680
681    pub fn cctor_method_info() -> &'static ::unity::il2cpp::MethodInfo {
682        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[33]
683    }
684
685    pub fn from_to_rotation_injected_method_info() -> &'static ::unity::il2cpp::MethodInfo {
686        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[34]
687    }
688
689    pub fn inverse_injected_method_info() -> &'static ::unity::il2cpp::MethodInfo {
690        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[35]
691    }
692
693    pub fn slerp_injected_method_info() -> &'static ::unity::il2cpp::MethodInfo {
694        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[36]
695    }
696
697    pub fn slerp_unclamped_injected_method_info() -> &'static ::unity::il2cpp::MethodInfo {
698        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[37]
699    }
700
701    pub fn lerp_injected_method_info() -> &'static ::unity::il2cpp::MethodInfo {
702        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[38]
703    }
704
705    pub fn internal_from_euler_rad_injected_method_info() -> &'static ::unity::il2cpp::MethodInfo {
706        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[39]
707    }
708
709    pub fn internal_to_euler_rad_injected_method_info() -> &'static ::unity::il2cpp::MethodInfo {
710        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[40]
711    }
712
713    pub fn internal_to_axis_angle_rad_injected_method_info() -> &'static ::unity::il2cpp::MethodInfo {
714        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[41]
715    }
716
717    pub fn angle_axis_injected_method_info() -> &'static ::unity::il2cpp::MethodInfo {
718        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[42]
719    }
720
721    pub fn look_rotation_injected_method_info() -> &'static ::unity::il2cpp::MethodInfo {
722        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[43]
723    }
724}
725
726#[cfg(feature = "unity_engine-quaternion")]
727#[doc(hidden)]
728pub mod prelude {
729    pub use super::Quaternion;
730    #[cfg(feature = "system-object")]
731    pub use crate::system::object::IObjectMethods;
732    #[cfg(feature = "system-valuetype")]
733    pub use crate::system::valuetype::IValueTypeMethods;
734    pub use crate::system::{object::IObject, valuetype::IValueType};
735}