1#[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}