Skip to main content

engage/generated/root_motion/final_ik/
iksolvertrigonometric.rs

1// @generated by il2cpp-bindgen — do not edit by hand.
2
3#[cfg(feature = "root_motion-final_ik-iksolvertrigonometric-types")]
4mod __types {
5    #[allow(unused_imports)] use ::unity::prelude::*;
6
7    use super::*;
8    use crate::{
9        root_motion::final_ik::iksolver::{IIKSolver, IIKSolver_Bone, IIKSolver_Point, IKSolver, IKSolver_Bone, IKSolver_Point},
10        system::object::{IObject, Object},
11    };
12
13    #[doc=include_str!(concat!(env!("CARGO_MANIFEST_DIR"),"/","docs/root_motion/final_ik/iksolvertrigonometric/IKSolverTrigonometric_TrigonometricBone.md"))]
14    #[::unity::class(namespace = "RootMotion.FinalIK", name = "IKSolverTrigonometric.TrigonometricBone")]
15    #[parent(crate::root_motion::final_ik::iksolver::IKSolver_Bone)]
16    pub struct IKSolverTrigonometric_TrigonometricBone {
17        #[offset(116)]
18        #[rename(name = "targetToLocalSpace")]
19        pub target_to_local_space: crate::unity_engine::quaternion::Quaternion,
20        #[offset(132)]
21        #[rename(name = "defaultLocalBendNormal")]
22        pub default_local_bend_normal: crate::unity_engine::vector3::Vector3,
23    }
24
25    #[doc=include_str!(concat!(env!("CARGO_MANIFEST_DIR"),"/","docs/root_motion/final_ik/iksolvertrigonometric/IKSolverTrigonometric.md"))]
26    #[::unity::class(namespace = "RootMotion.FinalIK", name = "IKSolverTrigonometric")]
27    #[parent(crate::root_motion::final_ik::iksolver::IKSolver)]
28    pub struct IKSolverTrigonometric {
29        #[offset(88)]
30        #[rename(name = "target")]
31        pub target: crate::unity_engine::transform::Transform,
32        #[offset(96)]
33        #[rename(name = "IKRotationWeight")]
34        pub ik_rotation_weight_field: f32,
35        #[offset(100)]
36        #[rename(name = "IKRotation")]
37        pub ik_rotation_field: crate::unity_engine::quaternion::Quaternion,
38        #[offset(116)]
39        #[rename(name = "bendNormal")]
40        pub bend_normal: crate::unity_engine::vector3::Vector3,
41        #[offset(128)]
42        #[rename(name = "bone1")]
43        pub bone1: crate::root_motion::final_ik::iksolvertrigonometric::IKSolverTrigonometric_TrigonometricBone,
44        #[offset(136)]
45        #[rename(name = "bone2")]
46        pub bone2: crate::root_motion::final_ik::iksolvertrigonometric::IKSolverTrigonometric_TrigonometricBone,
47        #[offset(144)]
48        #[rename(name = "bone3")]
49        pub bone3: crate::root_motion::final_ik::iksolvertrigonometric::IKSolverTrigonometric_TrigonometricBone,
50        #[offset(152)]
51        #[rename(name = "weightIKPosition")]
52        pub weight_ik_position: crate::unity_engine::vector3::Vector3,
53        #[offset(164)]
54        #[rename(name = "directHierarchy")]
55        pub direct_hierarchy: bool,
56    }
57}
58
59#[cfg(feature = "root_motion-final_ik-iksolvertrigonometric-types")]
60pub use __types::*;
61
62#[cfg(feature = "root_motion-final_ik-iksolvertrigonometric")]
63pub trait IIKSolverTrigonometric_TrigonometricBoneMethods: IIKSolverTrigonometric_TrigonometricBone {
64    #[doc = "`Initiate(crate::unity_engine::vector3::Vector3, crate::unity_engine::vector3::Vector3)` overload"]
65    fn initiate(
66        self,
67        child_position: impl ::core::convert::Into<crate::unity_engine::vector3::Vector3>,
68        bend_normal: impl ::core::convert::Into<crate::unity_engine::vector3::Vector3>,
69    ) -> () {
70        unsafe {
71            let __receiver = <IKSolverTrigonometric_TrigonometricBone as ::unity::FromIlInstance>::from_il_instance(
72                <Self as ::unity::SystemObject>::as_instance(self),
73            );
74            ::unity::il2cpp_call!((::unity::module_base()+0x2af2440usize)as*mut u8,();
75(IKSolverTrigonometric_TrigonometricBone)__receiver,(crate::unity_engine::vector3::Vector3)::core::convert::Into::into(child_position),(crate::unity_engine::vector3::Vector3)::core::convert::Into::into(bend_normal))
76        }
77    }
78    #[doc = "`GetRotation(crate::unity_engine::vector3::Vector3, crate::unity_engine::vector3::Vector3)` overload"]
79    fn get_rotation(
80        self,
81        direction: impl ::core::convert::Into<crate::unity_engine::vector3::Vector3>,
82        bend_normal: impl ::core::convert::Into<crate::unity_engine::vector3::Vector3>,
83    ) -> crate::unity_engine::quaternion::Quaternion {
84        unsafe {
85            let __receiver = <IKSolverTrigonometric_TrigonometricBone as ::unity::FromIlInstance>::from_il_instance(
86                <Self as ::unity::SystemObject>::as_instance(self),
87            );
88            ::unity::il2cpp_call!((::unity::module_base()+0x2af2540usize)as*mut u8,crate::unity_engine::quaternion::Quaternion;
89(IKSolverTrigonometric_TrigonometricBone)__receiver,(crate::unity_engine::vector3::Vector3)::core::convert::Into::into(direction),(crate::unity_engine::vector3::Vector3)::core::convert::Into::into(bend_normal))
90        }
91    }
92    #[doc = "`GetBendNormalFromCurrentRotation()` overload"]
93    fn get_bend_normal_from_current_rotation(self) -> crate::unity_engine::vector3::Vector3 {
94        unsafe {
95            let __receiver = <IKSolverTrigonometric_TrigonometricBone as ::unity::FromIlInstance>::from_il_instance(
96                <Self as ::unity::SystemObject>::as_instance(self),
97            );
98            ::unity::il2cpp_call!((::unity::module_base()+0x2af2570usize)as*mut u8,crate::unity_engine::vector3::Vector3;
99(IKSolverTrigonometric_TrigonometricBone)__receiver)
100        }
101    }
102    #[doc = "`.ctor()` overload"]
103    fn ctor(self) -> () {
104        unsafe {
105            let __receiver = <IKSolverTrigonometric_TrigonometricBone as ::unity::FromIlInstance>::from_il_instance(
106                <Self as ::unity::SystemObject>::as_instance(self),
107            );
108            ::unity::il2cpp_call!((::unity::module_base()+0x2af25b0usize)as*mut u8,();
109(IKSolverTrigonometric_TrigonometricBone)__receiver)
110        }
111    }
112}
113
114#[cfg(feature = "root_motion-final_ik-iksolvertrigonometric")]
115impl<__T: IIKSolverTrigonometric_TrigonometricBone> IIKSolverTrigonometric_TrigonometricBoneMethods for __T {}
116
117#[cfg(feature = "root_motion-final_ik-iksolvertrigonometric")]
118impl IKSolverTrigonometric_TrigonometricBone {
119    pub fn initiate_method_info() -> &'static ::unity::il2cpp::MethodInfo {
120        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[0]
121    }
122
123    pub fn get_rotation_method_info() -> &'static ::unity::il2cpp::MethodInfo {
124        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[1]
125    }
126
127    pub fn get_bend_normal_from_current_rotation_method_info() -> &'static ::unity::il2cpp::MethodInfo {
128        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[2]
129    }
130
131    pub fn ctor_method_info() -> &'static ::unity::il2cpp::MethodInfo {
132        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[3]
133    }
134}
135
136#[cfg(feature = "root_motion-final_ik-iksolvertrigonometric")]
137impl IKSolverTrigonometric_TrigonometricBone {
138    #[doc = "`.ctor()` — no args"]
139    pub fn new() -> Self {
140        let this = <Self as ::unity::FromIlInstance>::instantiate().unwrap_or_else(|| {
141            panic!(
142                "{}
143::{}
144 failed to instantiate",
145                ::core::stringify!(IKSolverTrigonometric_TrigonometricBone),
146                ::core::stringify!(new),
147            )
148        });
149        <Self as IIKSolverTrigonometric_TrigonometricBoneMethods>::ctor(this);
150        this
151    }
152}
153
154#[cfg(feature = "root_motion-final_ik-iksolvertrigonometric")]
155impl IKSolverTrigonometric {
156    #[doc = "`Solve(crate::unity_engine::transform::Transform, crate::unity_engine::transform::Transform, crate::unity_engine::transform::Transform, crate::unity_engine::vector3::Vector3, crate::unity_engine::vector3::Vector3, f32)` overload"]
157    pub fn solve(
158        bone1: impl ::core::convert::Into<crate::unity_engine::transform::Transform>,
159        bone2: impl ::core::convert::Into<crate::unity_engine::transform::Transform>,
160        bone3: impl ::core::convert::Into<crate::unity_engine::transform::Transform>,
161        target_position: impl ::core::convert::Into<crate::unity_engine::vector3::Vector3>,
162        bend_normal: impl ::core::convert::Into<crate::unity_engine::vector3::Vector3>,
163        weight: impl ::core::convert::Into<f32>,
164    ) -> () {
165        unsafe {
166            ::unity::il2cpp_call!((::unity::module_base()+0x3c36900usize)as*mut u8,();
167(crate::unity_engine::transform::Transform)::core::convert::Into::into(bone1),(crate::unity_engine::transform::Transform)::core::convert::Into::into(bone2),(crate::unity_engine::transform::Transform)::core::convert::Into::into(bone3),(crate::unity_engine::vector3::Vector3)::core::convert::Into::into(target_position),(crate::unity_engine::vector3::Vector3)::core::convert::Into::into(bend_normal),(f32)::core::convert::Into::into(weight))
168        }
169    }
170
171    #[doc = "`GetDirectionToBendPoint(crate::unity_engine::vector3::Vector3, f32, crate::unity_engine::vector3::Vector3, f32, f32)` overload"]
172    pub fn get_direction_to_bend_point(
173        direction: impl ::core::convert::Into<crate::unity_engine::vector3::Vector3>,
174        direction_mag: impl ::core::convert::Into<f32>,
175        bend_direction: impl ::core::convert::Into<crate::unity_engine::vector3::Vector3>,
176        sqr_mag1: impl ::core::convert::Into<f32>,
177        sqr_mag2: impl ::core::convert::Into<f32>,
178    ) -> crate::unity_engine::vector3::Vector3 {
179        unsafe {
180            ::unity::il2cpp_call!((::unity::module_base()+0x3c36cb0usize)as*mut u8,crate::unity_engine::vector3::Vector3;
181(crate::unity_engine::vector3::Vector3)::core::convert::Into::into(direction),(f32)::core::convert::Into::into(direction_mag),(crate::unity_engine::vector3::Vector3)::core::convert::Into::into(bend_direction),(f32)::core::convert::Into::into(sqr_mag1),(f32)::core::convert::Into::into(sqr_mag2))
182        }
183    }
184}
185
186#[cfg(feature = "root_motion-final_ik-iksolvertrigonometric")]
187pub trait IIKSolverTrigonometricMethods: IIKSolverTrigonometric {
188    #[doc = "`SetBendGoalPosition(crate::unity_engine::vector3::Vector3, f32)` overload"]
189    fn set_bend_goal_position(
190        self,
191        goal_position: impl ::core::convert::Into<crate::unity_engine::vector3::Vector3>,
192        weight: impl ::core::convert::Into<f32>,
193    ) -> () {
194        unsafe {
195            let __receiver = <IKSolverTrigonometric as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
196            ::unity::il2cpp_call!((::unity::module_base()+0x3c35f40usize)as*mut u8,();
197(IKSolverTrigonometric)__receiver,(crate::unity_engine::vector3::Vector3)::core::convert::Into::into(goal_position),(f32)::core::convert::Into::into(weight))
198        }
199    }
200    #[doc = "`SetBendPlaneToCurrent()` overload"]
201    fn set_bend_plane_to_current(self) -> () {
202        unsafe {
203            let __receiver = <IKSolverTrigonometric as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
204            ::unity::il2cpp_call!((::unity::module_base()+0x3c36090usize)as*mut u8,();
205(IKSolverTrigonometric)__receiver)
206        }
207    }
208    #[doc = "`SetIKRotation(crate::unity_engine::quaternion::Quaternion)` overload"]
209    fn set_ik_rotation(self, rotation: impl ::core::convert::Into<crate::unity_engine::quaternion::Quaternion>) -> () {
210        unsafe {
211            let __receiver = <IKSolverTrigonometric as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
212            ::unity::il2cpp_call!((::unity::module_base()+0x3c361a0usize)as*mut u8,();
213(IKSolverTrigonometric)__receiver,(crate::unity_engine::quaternion::Quaternion)::core::convert::Into::into(rotation))
214        }
215    }
216    #[doc = "`SetIKRotationWeight(f32)` overload"]
217    fn set_ik_rotation_weight(self, weight: impl ::core::convert::Into<f32>) -> () {
218        unsafe {
219            let __receiver = <IKSolverTrigonometric as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
220            ::unity::il2cpp_call!((::unity::module_base()+0x3c361c0usize)as*mut u8,();
221(IKSolverTrigonometric)__receiver,(f32)::core::convert::Into::into(weight))
222        }
223    }
224    #[doc = "`GetIKRotation()` overload"]
225    fn get_ik_rotation(self) -> crate::unity_engine::quaternion::Quaternion {
226        unsafe {
227            let __receiver = <IKSolverTrigonometric as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
228            ::unity::il2cpp_call!((::unity::module_base()+0x3c361f0usize)as*mut u8,crate::unity_engine::quaternion::Quaternion;
229(IKSolverTrigonometric)__receiver)
230        }
231    }
232    #[doc = "`GetIKRotationWeight()` overload"]
233    fn get_ik_rotation_weight(self) -> f32 {
234        unsafe {
235            let __receiver = <IKSolverTrigonometric as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
236            ::unity::il2cpp_call!((::unity::module_base()+0x3c36200usize)as*mut u8,f32;
237(IKSolverTrigonometric)__receiver)
238        }
239    }
240    #[doc = "`GetPoints()` overload"]
241    fn get_points(self) -> ::unity::Array<crate::root_motion::final_ik::iksolver::IKSolver_Point> {
242        unsafe {
243            let __receiver = <IKSolverTrigonometric as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
244            {
245                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
246                let __vi = *__vt.get(6usize).unwrap_or_else(|| {
247                    panic!(
248                        "unity: virtual slot {}
249 out of range (vtable len {}
250) on the runtime class behind {}
251 (method `{}
252`)",
253                        6usize,
254                        __vt.len(),
255                        <IKSolverTrigonometric as ::unity::ClassIdentity>::NAME,
256                        "GetPoints",
257                    )
258                });
259                let __inner: extern "C" fn(
260                    IKSolverTrigonometric,
261                    ::unity::OptionalMethod,
262                ) -> ::unity::Array<crate::root_motion::final_ik::iksolver::IKSolver_Point> = ::core::mem::transmute(__vi.method_ptr);
263                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
264                __inner(__receiver, __mi)
265            }
266        }
267    }
268    #[doc = "`GetPoint(crate::unity_engine::transform::Transform)` overload"]
269    fn get_point(
270        self,
271        transform: impl ::core::convert::Into<crate::unity_engine::transform::Transform>,
272    ) -> crate::root_motion::final_ik::iksolver::IKSolver_Point {
273        unsafe {
274            let __receiver = <IKSolverTrigonometric as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
275            {
276                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
277                let __vi = *__vt.get(7usize).unwrap_or_else(|| {
278                    panic!(
279                        "unity: virtual slot {}
280 out of range (vtable len {}
281) on the runtime class behind {}
282 (method `{}
283`)",
284                        7usize,
285                        __vt.len(),
286                        <IKSolverTrigonometric as ::unity::ClassIdentity>::NAME,
287                        "GetPoint",
288                    )
289                });
290                let __inner: extern "C" fn(
291                    IKSolverTrigonometric,
292                    crate::unity_engine::transform::Transform,
293                    ::unity::OptionalMethod,
294                ) -> crate::root_motion::final_ik::iksolver::IKSolver_Point = ::core::mem::transmute(__vi.method_ptr);
295                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
296                __inner(__receiver, ::core::convert::Into::into(transform), __mi)
297            }
298        }
299    }
300    #[doc = "`StoreDefaultLocalState()` overload"]
301    fn store_default_local_state(self) -> () {
302        unsafe {
303            let __receiver = <IKSolverTrigonometric as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
304            {
305                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
306                let __vi = *__vt.get(9usize).unwrap_or_else(|| {
307                    panic!(
308                        "unity: virtual slot {}
309 out of range (vtable len {}
310) on the runtime class behind {}
311 (method `{}
312`)",
313                        9usize,
314                        __vt.len(),
315                        <IKSolverTrigonometric as ::unity::ClassIdentity>::NAME,
316                        "StoreDefaultLocalState",
317                    )
318                });
319                let __inner: extern "C" fn(IKSolverTrigonometric, ::unity::OptionalMethod) -> () = ::core::mem::transmute(__vi.method_ptr);
320                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
321                __inner(__receiver, __mi)
322            }
323        }
324    }
325    #[doc = "`FixTransforms()` overload"]
326    fn fix_transforms(self) -> () {
327        unsafe {
328            let __receiver = <IKSolverTrigonometric as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
329            {
330                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
331                let __vi = *__vt.get(8usize).unwrap_or_else(|| {
332                    panic!(
333                        "unity: virtual slot {}
334 out of range (vtable len {}
335) on the runtime class behind {}
336 (method `{}
337`)",
338                        8usize,
339                        __vt.len(),
340                        <IKSolverTrigonometric as ::unity::ClassIdentity>::NAME,
341                        "FixTransforms",
342                    )
343                });
344                let __inner: extern "C" fn(IKSolverTrigonometric, ::unity::OptionalMethod) -> () = ::core::mem::transmute(__vi.method_ptr);
345                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
346                __inner(__receiver, __mi)
347            }
348        }
349    }
350    #[doc = "`IsValid(*mut::unity::Il2CppString)` overload"]
351    fn is_valid(self) -> (bool, ::unity::Il2CppString) {
352        unsafe {
353            let __receiver = <IKSolverTrigonometric as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
354            let mut __out_0 = ::core::mem::MaybeUninit::<::unity::Il2CppString>::uninit();
355            let __ret = {
356                {
357                    let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
358                    let __vi = *__vt.get(4usize).unwrap_or_else(|| {
359                        panic!(
360                            "unity: virtual slot {}
361 out of range (vtable len {}
362) on the runtime class behind {}
363 (method `{}
364`)",
365                            4usize,
366                            __vt.len(),
367                            <IKSolverTrigonometric as ::unity::ClassIdentity>::NAME,
368                            "IsValid",
369                        )
370                    });
371                    let __inner: extern "C" fn(IKSolverTrigonometric, *mut ::unity::Il2CppString, ::unity::OptionalMethod) -> bool =
372                        ::core::mem::transmute(__vi.method_ptr);
373                    let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
374                    __inner(__receiver, __out_0.as_mut_ptr(), __mi)
375                }
376            };
377            (__ret, __out_0.assume_init())
378        }
379    }
380    #[doc = "`SetChain(crate::unity_engine::transform::Transform, crate::unity_engine::transform::Transform, crate::unity_engine::transform::Transform, crate::unity_engine::transform::Transform)` overload"]
381    fn set_chain(
382        self,
383        bone1: impl ::core::convert::Into<crate::unity_engine::transform::Transform>,
384        bone2: impl ::core::convert::Into<crate::unity_engine::transform::Transform>,
385        bone3: impl ::core::convert::Into<crate::unity_engine::transform::Transform>,
386        root: impl ::core::convert::Into<crate::unity_engine::transform::Transform>,
387    ) -> bool {
388        unsafe {
389            let __receiver = <IKSolverTrigonometric as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
390            ::unity::il2cpp_call!((::unity::module_base()+0x3c36890usize)as*mut u8,bool;
391(IKSolverTrigonometric)__receiver,(crate::unity_engine::transform::Transform)::core::convert::Into::into(bone1),(crate::unity_engine::transform::Transform)::core::convert::Into::into(bone2),(crate::unity_engine::transform::Transform)::core::convert::Into::into(bone3),(crate::unity_engine::transform::Transform)::core::convert::Into::into(root))
392        }
393    }
394    #[doc = "`OnInitiate()` overload"]
395    fn on_initiate(self) -> () {
396        unsafe {
397            let __receiver = <IKSolverTrigonometric as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
398            {
399                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
400                let __vi = *__vt.get(10usize).unwrap_or_else(|| {
401                    panic!(
402                        "unity: virtual slot {}
403 out of range (vtable len {}
404) on the runtime class behind {}
405 (method `{}
406`)",
407                        10usize,
408                        __vt.len(),
409                        <IKSolverTrigonometric as ::unity::ClassIdentity>::NAME,
410                        "OnInitiate",
411                    )
412                });
413                let __inner: extern "C" fn(IKSolverTrigonometric, ::unity::OptionalMethod) -> () = ::core::mem::transmute(__vi.method_ptr);
414                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
415                __inner(__receiver, __mi)
416            }
417        }
418    }
419    #[doc = "`IsDirectHierarchy()` overload"]
420    fn is_direct_hierarchy(self) -> bool {
421        unsafe {
422            let __receiver = <IKSolverTrigonometric as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
423            ::unity::il2cpp_call!((::unity::module_base()+0x3c36fb0usize)as*mut u8,bool;
424(IKSolverTrigonometric)__receiver)
425        }
426    }
427    #[doc = "`InitiateBones()` overload"]
428    fn initiate_bones(self) -> () {
429        unsafe {
430            let __receiver = <IKSolverTrigonometric as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
431            ::unity::il2cpp_call!((::unity::module_base()+0x3c36f40usize)as*mut u8,();
432(IKSolverTrigonometric)__receiver)
433        }
434    }
435    #[doc = "`OnUpdate()` overload"]
436    fn on_update(self) -> () {
437        unsafe {
438            let __receiver = <IKSolverTrigonometric as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
439            {
440                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
441                let __vi = *__vt.get(11usize).unwrap_or_else(|| {
442                    panic!(
443                        "unity: virtual slot {}
444 out of range (vtable len {}
445) on the runtime class behind {}
446 (method `{}
447`)",
448                        11usize,
449                        __vt.len(),
450                        <IKSolverTrigonometric as ::unity::ClassIdentity>::NAME,
451                        "OnUpdate",
452                    )
453                });
454                let __inner: extern "C" fn(IKSolverTrigonometric, ::unity::OptionalMethod) -> () = ::core::mem::transmute(__vi.method_ptr);
455                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
456                __inner(__receiver, __mi)
457            }
458        }
459    }
460    #[doc = "`OnInitiateVirtual()` overload"]
461    fn on_initiate_virtual(self) -> () {
462        unsafe {
463            let __receiver = <IKSolverTrigonometric as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
464            {
465                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
466                let __vi = *__vt.get(12usize).unwrap_or_else(|| {
467                    panic!(
468                        "unity: virtual slot {}
469 out of range (vtable len {}
470) on the runtime class behind {}
471 (method `{}
472`)",
473                        12usize,
474                        __vt.len(),
475                        <IKSolverTrigonometric as ::unity::ClassIdentity>::NAME,
476                        "OnInitiateVirtual",
477                    )
478                });
479                let __inner: extern "C" fn(IKSolverTrigonometric, ::unity::OptionalMethod) -> () = ::core::mem::transmute(__vi.method_ptr);
480                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
481                __inner(__receiver, __mi)
482            }
483        }
484    }
485    #[doc = "`OnUpdateVirtual()` overload"]
486    fn on_update_virtual(self) -> () {
487        unsafe {
488            let __receiver = <IKSolverTrigonometric as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
489            {
490                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
491                let __vi = *__vt.get(13usize).unwrap_or_else(|| {
492                    panic!(
493                        "unity: virtual slot {}
494 out of range (vtable len {}
495) on the runtime class behind {}
496 (method `{}
497`)",
498                        13usize,
499                        __vt.len(),
500                        <IKSolverTrigonometric as ::unity::ClassIdentity>::NAME,
501                        "OnUpdateVirtual",
502                    )
503                });
504                let __inner: extern "C" fn(IKSolverTrigonometric, ::unity::OptionalMethod) -> () = ::core::mem::transmute(__vi.method_ptr);
505                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
506                __inner(__receiver, __mi)
507            }
508        }
509    }
510    #[doc = "`OnPostSolveVirtual()` overload"]
511    fn on_post_solve_virtual(self) -> () {
512        unsafe {
513            let __receiver = <IKSolverTrigonometric as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
514            {
515                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
516                let __vi = *__vt.get(14usize).unwrap_or_else(|| {
517                    panic!(
518                        "unity: virtual slot {}
519 out of range (vtable len {}
520) on the runtime class behind {}
521 (method `{}
522`)",
523                        14usize,
524                        __vt.len(),
525                        <IKSolverTrigonometric as ::unity::ClassIdentity>::NAME,
526                        "OnPostSolveVirtual",
527                    )
528                });
529                let __inner: extern "C" fn(IKSolverTrigonometric, ::unity::OptionalMethod) -> () = ::core::mem::transmute(__vi.method_ptr);
530                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
531                __inner(__receiver, __mi)
532            }
533        }
534    }
535    #[doc = "`GetBendDirection(crate::unity_engine::vector3::Vector3, crate::unity_engine::vector3::Vector3)` overload"]
536    fn get_bend_direction(
537        self,
538        ik_position: impl ::core::convert::Into<crate::unity_engine::vector3::Vector3>,
539        bend_normal: impl ::core::convert::Into<crate::unity_engine::vector3::Vector3>,
540    ) -> crate::unity_engine::vector3::Vector3 {
541        unsafe {
542            let __receiver = <IKSolverTrigonometric as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
543            ::unity::il2cpp_call!((::unity::module_base()+0x3c375f0usize)as*mut u8,crate::unity_engine::vector3::Vector3;
544(IKSolverTrigonometric)__receiver,(crate::unity_engine::vector3::Vector3)::core::convert::Into::into(ik_position),(crate::unity_engine::vector3::Vector3)::core::convert::Into::into(bend_normal))
545        }
546    }
547    #[doc = "`.ctor()` overload"]
548    fn ctor(self) -> () {
549        unsafe {
550            let __receiver = <IKSolverTrigonometric as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
551            ::unity::il2cpp_call!((::unity::module_base()+0x3c33c50usize)as*mut u8,();
552(IKSolverTrigonometric)__receiver)
553        }
554    }
555}
556
557#[cfg(feature = "root_motion-final_ik-iksolvertrigonometric")]
558impl<__T: IIKSolverTrigonometric> IIKSolverTrigonometricMethods for __T {}
559
560#[cfg(feature = "root_motion-final_ik-iksolvertrigonometric")]
561impl IKSolverTrigonometric {
562    pub fn set_bend_goal_position_method_info() -> &'static ::unity::il2cpp::MethodInfo {
563        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[0]
564    }
565
566    pub fn set_bend_plane_to_current_method_info() -> &'static ::unity::il2cpp::MethodInfo {
567        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[1]
568    }
569
570    pub fn set_ik_rotation_method_info() -> &'static ::unity::il2cpp::MethodInfo {
571        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[2]
572    }
573
574    pub fn set_ik_rotation_weight_method_info() -> &'static ::unity::il2cpp::MethodInfo {
575        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[3]
576    }
577
578    pub fn get_ik_rotation_method_info() -> &'static ::unity::il2cpp::MethodInfo {
579        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[4]
580    }
581
582    pub fn get_ik_rotation_weight_method_info() -> &'static ::unity::il2cpp::MethodInfo {
583        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[5]
584    }
585
586    pub fn get_points_method_info() -> &'static ::unity::il2cpp::MethodInfo {
587        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[6]
588    }
589
590    pub fn get_point_method_info() -> &'static ::unity::il2cpp::MethodInfo {
591        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[7]
592    }
593
594    pub fn store_default_local_state_method_info() -> &'static ::unity::il2cpp::MethodInfo {
595        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[8]
596    }
597
598    pub fn fix_transforms_method_info() -> &'static ::unity::il2cpp::MethodInfo {
599        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[9]
600    }
601
602    pub fn is_valid_method_info() -> &'static ::unity::il2cpp::MethodInfo {
603        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[10]
604    }
605
606    pub fn set_chain_method_info() -> &'static ::unity::il2cpp::MethodInfo {
607        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[11]
608    }
609
610    pub fn solve_method_info() -> &'static ::unity::il2cpp::MethodInfo {
611        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[12]
612    }
613
614    pub fn get_direction_to_bend_point_method_info() -> &'static ::unity::il2cpp::MethodInfo {
615        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[13]
616    }
617
618    pub fn on_initiate_method_info() -> &'static ::unity::il2cpp::MethodInfo {
619        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[14]
620    }
621
622    pub fn is_direct_hierarchy_method_info() -> &'static ::unity::il2cpp::MethodInfo {
623        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[15]
624    }
625
626    pub fn initiate_bones_method_info() -> &'static ::unity::il2cpp::MethodInfo {
627        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[16]
628    }
629
630    pub fn on_update_method_info() -> &'static ::unity::il2cpp::MethodInfo {
631        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[17]
632    }
633
634    pub fn on_initiate_virtual_method_info() -> &'static ::unity::il2cpp::MethodInfo {
635        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[18]
636    }
637
638    pub fn on_update_virtual_method_info() -> &'static ::unity::il2cpp::MethodInfo {
639        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[19]
640    }
641
642    pub fn on_post_solve_virtual_method_info() -> &'static ::unity::il2cpp::MethodInfo {
643        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[20]
644    }
645
646    pub fn get_bend_direction_method_info() -> &'static ::unity::il2cpp::MethodInfo {
647        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[21]
648    }
649
650    pub fn ctor_method_info() -> &'static ::unity::il2cpp::MethodInfo {
651        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[22]
652    }
653}
654
655#[cfg(feature = "root_motion-final_ik-iksolvertrigonometric")]
656impl IKSolverTrigonometric {
657    #[doc = "Direct (non-virtual) call to `IKSolverTrigonometric`'s own `GetPoints`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
658    pub unsafe fn get_points(
659        this: impl ::core::convert::Into<::unity::IlInstance>,
660    ) -> ::unity::Array<crate::root_motion::final_ik::iksolver::IKSolver_Point> {
661        let __mi = Self::get_points_method_info();
662        let __inner: extern "C" fn(
663            ::unity::IlInstance,
664            ::unity::OptionalMethod,
665        ) -> ::unity::Array<crate::root_motion::final_ik::iksolver::IKSolver_Point> = ::core::mem::transmute(__mi.method_ptr);
666        __inner(this.into(), ::core::option::Option::None)
667    }
668
669    #[doc = "Direct (non-virtual) call to `IKSolverTrigonometric`'s own `GetPoint`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
670    pub unsafe fn get_point(
671        this: impl ::core::convert::Into<::unity::IlInstance>,
672        transform: crate::unity_engine::transform::Transform,
673    ) -> crate::root_motion::final_ik::iksolver::IKSolver_Point {
674        let __mi = Self::get_point_method_info();
675        let __inner: extern "C" fn(
676            ::unity::IlInstance,
677            crate::unity_engine::transform::Transform,
678            ::unity::OptionalMethod,
679        ) -> crate::root_motion::final_ik::iksolver::IKSolver_Point = ::core::mem::transmute(__mi.method_ptr);
680        __inner(this.into(), transform, ::core::option::Option::None)
681    }
682
683    #[doc = "Direct (non-virtual) call to `IKSolverTrigonometric`'s own `StoreDefaultLocalState`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
684    pub unsafe fn store_default_local_state(this: impl ::core::convert::Into<::unity::IlInstance>) -> () {
685        let __mi = Self::store_default_local_state_method_info();
686        let __inner: extern "C" fn(::unity::IlInstance, ::unity::OptionalMethod) -> () = ::core::mem::transmute(__mi.method_ptr);
687        __inner(this.into(), ::core::option::Option::None)
688    }
689
690    #[doc = "Direct (non-virtual) call to `IKSolverTrigonometric`'s own `FixTransforms`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
691    pub unsafe fn fix_transforms(this: impl ::core::convert::Into<::unity::IlInstance>) -> () {
692        let __mi = Self::fix_transforms_method_info();
693        let __inner: extern "C" fn(::unity::IlInstance, ::unity::OptionalMethod) -> () = ::core::mem::transmute(__mi.method_ptr);
694        __inner(this.into(), ::core::option::Option::None)
695    }
696
697    #[doc = "Direct (non-virtual) call to `IKSolverTrigonometric`'s own `IsValid`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
698    pub unsafe fn is_valid(this: impl ::core::convert::Into<::unity::IlInstance>, message: *mut ::unity::Il2CppString) -> bool {
699        let __mi = Self::is_valid_method_info();
700        let __inner: extern "C" fn(::unity::IlInstance, *mut ::unity::Il2CppString, ::unity::OptionalMethod) -> bool =
701            ::core::mem::transmute(__mi.method_ptr);
702        __inner(this.into(), message, ::core::option::Option::None)
703    }
704
705    #[doc = "Direct (non-virtual) call to `IKSolverTrigonometric`'s own `OnInitiate`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
706    pub unsafe fn on_initiate(this: impl ::core::convert::Into<::unity::IlInstance>) -> () {
707        let __mi = Self::on_initiate_method_info();
708        let __inner: extern "C" fn(::unity::IlInstance, ::unity::OptionalMethod) -> () = ::core::mem::transmute(__mi.method_ptr);
709        __inner(this.into(), ::core::option::Option::None)
710    }
711
712    #[doc = "Direct (non-virtual) call to `IKSolverTrigonometric`'s own `OnUpdate`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
713    pub unsafe fn on_update(this: impl ::core::convert::Into<::unity::IlInstance>) -> () {
714        let __mi = Self::on_update_method_info();
715        let __inner: extern "C" fn(::unity::IlInstance, ::unity::OptionalMethod) -> () = ::core::mem::transmute(__mi.method_ptr);
716        __inner(this.into(), ::core::option::Option::None)
717    }
718
719    #[doc = "Direct (non-virtual) call to `IKSolverTrigonometric`'s own `OnInitiateVirtual`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
720    pub unsafe fn on_initiate_virtual(this: impl ::core::convert::Into<::unity::IlInstance>) -> () {
721        let __mi = Self::on_initiate_virtual_method_info();
722        let __inner: extern "C" fn(::unity::IlInstance, ::unity::OptionalMethod) -> () = ::core::mem::transmute(__mi.method_ptr);
723        __inner(this.into(), ::core::option::Option::None)
724    }
725
726    #[doc = "Direct (non-virtual) call to `IKSolverTrigonometric`'s own `OnUpdateVirtual`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
727    pub unsafe fn on_update_virtual(this: impl ::core::convert::Into<::unity::IlInstance>) -> () {
728        let __mi = Self::on_update_virtual_method_info();
729        let __inner: extern "C" fn(::unity::IlInstance, ::unity::OptionalMethod) -> () = ::core::mem::transmute(__mi.method_ptr);
730        __inner(this.into(), ::core::option::Option::None)
731    }
732
733    #[doc = "Direct (non-virtual) call to `IKSolverTrigonometric`'s own `OnPostSolveVirtual`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
734    pub unsafe fn on_post_solve_virtual(this: impl ::core::convert::Into<::unity::IlInstance>) -> () {
735        let __mi = Self::on_post_solve_virtual_method_info();
736        let __inner: extern "C" fn(::unity::IlInstance, ::unity::OptionalMethod) -> () = ::core::mem::transmute(__mi.method_ptr);
737        __inner(this.into(), ::core::option::Option::None)
738    }
739}
740
741#[cfg(feature = "root_motion-final_ik-iksolvertrigonometric")]
742impl IKSolverTrigonometric {
743    #[doc = "`.ctor()` — no args"]
744    pub fn new() -> Self {
745        let this = <Self as ::unity::FromIlInstance>::instantiate().unwrap_or_else(|| {
746            panic!(
747                "{}
748::{}
749 failed to instantiate",
750                ::core::stringify!(IKSolverTrigonometric),
751                ::core::stringify!(new),
752            )
753        });
754        <Self as IIKSolverTrigonometricMethods>::ctor(this);
755        this
756    }
757}
758
759#[cfg(feature = "root_motion-final_ik-iksolvertrigonometric")]
760#[doc(hidden)]
761pub mod prelude {
762    pub use super::{
763        IIKSolverTrigonometric, IIKSolverTrigonometricMethods, IIKSolverTrigonometric_TrigonometricBone,
764        IIKSolverTrigonometric_TrigonometricBoneMethods, IKSolverTrigonometric, IKSolverTrigonometric_TrigonometricBone,
765    };
766    #[cfg(feature = "root_motion-final_ik-iksolver")]
767    pub use crate::root_motion::final_ik::iksolver::IIKSolverMethods;
768    #[cfg(feature = "root_motion-final_ik-iksolver")]
769    pub use crate::root_motion::final_ik::iksolver::IIKSolver_BoneMethods;
770    #[cfg(feature = "root_motion-final_ik-iksolver")]
771    pub use crate::root_motion::final_ik::iksolver::IIKSolver_PointMethods;
772    #[cfg(feature = "system-object")]
773    pub use crate::system::object::IObjectMethods;
774    pub use crate::{
775        root_motion::final_ik::iksolver::{IIKSolver, IIKSolver_Bone, IIKSolver_Point, IKSolver, IKSolver_Bone, IKSolver_Point},
776        system::object::IObject,
777    };
778}