Skip to main content

engage/generated/root_motion/final_ik/
rotationlimitpolygonal.rs

1// @generated by il2cpp-bindgen — do not edit by hand.
2
3#[cfg(feature = "root_motion-final_ik-rotationlimitpolygonal-types")]
4mod __types {
5    #[allow(unused_imports)] use ::unity::prelude::*;
6
7    use super::*;
8    use crate::{
9        root_motion::final_ik::rotationlimit::{IRotationLimit, RotationLimit},
10        system::object::{IObject, Object},
11        unity_engine::{
12            behaviour::{Behaviour, IBehaviour},
13            component::{Component, IComponent},
14            monobehaviour::{IMonoBehaviour, MonoBehaviour},
15            object_2::{IObject_2, Object_2},
16        },
17    };
18
19    #[doc=include_str!(concat!(env!("CARGO_MANIFEST_DIR"),"/","docs/root_motion/final_ik/rotationlimitpolygonal/RotationLimitPolygonal_ReachCone.md"))]
20    #[::unity::class(namespace = "RootMotion.FinalIK", name = "RotationLimitPolygonal.ReachCone")]
21    #[parent(crate::system::object::Object)]
22    pub struct RotationLimitPolygonal_ReachCone {
23        #[offset(16)]
24        #[rename(name = "tetrahedron")]
25        pub tetrahedron: ::unity::Array<crate::unity_engine::vector3::Vector3>,
26        #[offset(24)]
27        #[rename(name = "volume")]
28        pub volume: f32,
29        #[offset(28)]
30        #[rename(name = "S")]
31        pub s: crate::unity_engine::vector3::Vector3,
32        #[offset(40)]
33        #[rename(name = "B")]
34        pub b: crate::unity_engine::vector3::Vector3,
35    }
36
37    #[doc=include_str!(concat!(env!("CARGO_MANIFEST_DIR"),"/","docs/root_motion/final_ik/rotationlimitpolygonal/RotationLimitPolygonal_LimitPoint.md"))]
38    #[::unity::class(namespace = "RootMotion.FinalIK", name = "RotationLimitPolygonal.LimitPoint")]
39    #[parent(crate::system::object::Object)]
40    pub struct RotationLimitPolygonal_LimitPoint {
41        #[offset(16)]
42        #[rename(name = "point")]
43        pub point: crate::unity_engine::vector3::Vector3,
44        #[offset(28)]
45        #[rename(name = "tangentWeight")]
46        pub tangent_weight: f32,
47    }
48
49    #[doc=include_str!(concat!(env!("CARGO_MANIFEST_DIR"),"/","docs/root_motion/final_ik/rotationlimitpolygonal/RotationLimitPolygonal.md"))]
50    #[::unity::class(namespace = "RootMotion.FinalIK", name = "RotationLimitPolygonal")]
51    #[parent(crate::root_motion::final_ik::rotationlimit::RotationLimit)]
52    pub struct RotationLimitPolygonal {
53        #[offset(56)]
54        #[rename(name = "twistLimit")]
55        pub twist_limit: f32,
56        #[offset(60)]
57        #[rename(name = "smoothIterations")]
58        pub smooth_iterations: i32,
59        #[offset(64)]
60        #[rename(name = "points")]
61        pub points: ::unity::Array<crate::root_motion::final_ik::rotationlimitpolygonal::RotationLimitPolygonal_LimitPoint>,
62        #[offset(72)]
63        #[rename(name = "P")]
64        pub p: ::unity::Array<crate::unity_engine::vector3::Vector3>,
65        #[offset(80)]
66        #[rename(name = "reachCones")]
67        pub reach_cones: ::unity::Array<crate::root_motion::final_ik::rotationlimitpolygonal::RotationLimitPolygonal_ReachCone>,
68    }
69}
70
71#[cfg(feature = "root_motion-final_ik-rotationlimitpolygonal-types")]
72pub use __types::*;
73
74#[cfg(feature = "root_motion-final_ik-rotationlimitpolygonal")]
75pub trait IRotationLimitPolygonal_ReachConeMethods: IRotationLimitPolygonal_ReachCone {
76    #[doc = "`get_o()` overload"]
77    fn get_o(self) -> crate::unity_engine::vector3::Vector3 {
78        unsafe {
79            let __receiver =
80                <RotationLimitPolygonal_ReachCone as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
81            ::unity::il2cpp_call!((::unity::module_base()+0x1d629c0usize)as*mut u8,crate::unity_engine::vector3::Vector3;
82(RotationLimitPolygonal_ReachCone)__receiver)
83        }
84    }
85    #[doc = "`get_a()` overload"]
86    fn get_a(self) -> crate::unity_engine::vector3::Vector3 {
87        unsafe {
88            let __receiver =
89                <RotationLimitPolygonal_ReachCone as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
90            ::unity::il2cpp_call!((::unity::module_base()+0x1d629f0usize)as*mut u8,crate::unity_engine::vector3::Vector3;
91(RotationLimitPolygonal_ReachCone)__receiver)
92        }
93    }
94    #[doc = "`get_b()` overload"]
95    fn get_b(self) -> crate::unity_engine::vector3::Vector3 {
96        unsafe {
97            let __receiver =
98                <RotationLimitPolygonal_ReachCone as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
99            ::unity::il2cpp_call!((::unity::module_base()+0x1d62a30usize)as*mut u8,crate::unity_engine::vector3::Vector3;
100(RotationLimitPolygonal_ReachCone)__receiver)
101        }
102    }
103    #[doc = "`get_c()` overload"]
104    fn get_c(self) -> crate::unity_engine::vector3::Vector3 {
105        unsafe {
106            let __receiver =
107                <RotationLimitPolygonal_ReachCone as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
108            ::unity::il2cpp_call!((::unity::module_base()+0x1d62a70usize)as*mut u8,crate::unity_engine::vector3::Vector3;
109(RotationLimitPolygonal_ReachCone)__receiver)
110        }
111    }
112    #[doc = "`.ctor(crate::unity_engine::vector3::Vector3, crate::unity_engine::vector3::Vector3, crate::unity_engine::vector3::Vector3, crate::unity_engine::vector3::Vector3)` overload"]
113    fn ctor(
114        self,
115        o: impl ::core::convert::Into<crate::unity_engine::vector3::Vector3>,
116        a: impl ::core::convert::Into<crate::unity_engine::vector3::Vector3>,
117        b: impl ::core::convert::Into<crate::unity_engine::vector3::Vector3>,
118        c: impl ::core::convert::Into<crate::unity_engine::vector3::Vector3>,
119    ) -> () {
120        unsafe {
121            let __receiver =
122                <RotationLimitPolygonal_ReachCone as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
123            ::unity::il2cpp_call!((::unity::module_base()+0x1d62ab0usize)as*mut u8,();
124(RotationLimitPolygonal_ReachCone)__receiver,(crate::unity_engine::vector3::Vector3)::core::convert::Into::into(o),(crate::unity_engine::vector3::Vector3)::core::convert::Into::into(a),(crate::unity_engine::vector3::Vector3)::core::convert::Into::into(b),(crate::unity_engine::vector3::Vector3)::core::convert::Into::into(c))
125        }
126    }
127    #[doc = "`get_isValid()` overload"]
128    fn get_is_valid(self) -> bool {
129        unsafe {
130            let __receiver =
131                <RotationLimitPolygonal_ReachCone as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
132            ::unity::il2cpp_call!((::unity::module_base()+0x1d62c10usize)as*mut u8,bool;
133(RotationLimitPolygonal_ReachCone)__receiver)
134        }
135    }
136    #[doc = "`Calculate()` overload"]
137    fn calculate(self) -> () {
138        unsafe {
139            let __receiver =
140                <RotationLimitPolygonal_ReachCone as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
141            ::unity::il2cpp_call!((::unity::module_base()+0x1d62c20usize)as*mut u8,();
142(RotationLimitPolygonal_ReachCone)__receiver)
143        }
144    }
145}
146
147#[cfg(feature = "root_motion-final_ik-rotationlimitpolygonal")]
148impl<__T: IRotationLimitPolygonal_ReachCone> IRotationLimitPolygonal_ReachConeMethods for __T {}
149
150#[cfg(feature = "root_motion-final_ik-rotationlimitpolygonal")]
151impl RotationLimitPolygonal_ReachCone {
152    pub fn get_o_method_info() -> &'static ::unity::il2cpp::MethodInfo {
153        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[0]
154    }
155
156    pub fn get_a_method_info() -> &'static ::unity::il2cpp::MethodInfo {
157        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[1]
158    }
159
160    pub fn get_b_method_info() -> &'static ::unity::il2cpp::MethodInfo {
161        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[2]
162    }
163
164    pub fn get_c_method_info() -> &'static ::unity::il2cpp::MethodInfo {
165        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[3]
166    }
167
168    pub fn ctor_method_info() -> &'static ::unity::il2cpp::MethodInfo {
169        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[4]
170    }
171
172    pub fn get_is_valid_method_info() -> &'static ::unity::il2cpp::MethodInfo {
173        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[5]
174    }
175
176    pub fn calculate_method_info() -> &'static ::unity::il2cpp::MethodInfo {
177        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[6]
178    }
179}
180
181#[cfg(feature = "root_motion-final_ik-rotationlimitpolygonal")]
182impl RotationLimitPolygonal_ReachCone {
183    #[doc = "`.ctor(crate::unity_engine::vector3::Vector3, crate::unity_engine::vector3::Vector3, crate::unity_engine::vector3::Vector3, crate::unity_engine::vector3::Vector3)` — overload selector"]
184    pub fn new(
185        o: crate::unity_engine::vector3::Vector3,
186        a: crate::unity_engine::vector3::Vector3,
187        b: crate::unity_engine::vector3::Vector3,
188        c: crate::unity_engine::vector3::Vector3,
189    ) -> Self {
190        let this = <Self as ::unity::FromIlInstance>::instantiate().unwrap_or_else(|| {
191            panic!(
192                "{}
193::{}
194 failed to instantiate",
195                ::core::stringify!(RotationLimitPolygonal_ReachCone),
196                ::core::stringify!(new),
197            )
198        });
199        <Self as IRotationLimitPolygonal_ReachConeMethods>::ctor(this, o, a, b, c);
200        this
201    }
202}
203
204#[cfg(feature = "root_motion-final_ik-rotationlimitpolygonal")]
205pub trait IRotationLimitPolygonal_LimitPointMethods: IRotationLimitPolygonal_LimitPoint {
206    #[doc = "`.ctor()` overload"]
207    fn ctor(self) -> () {
208        unsafe {
209            let __receiver =
210                <RotationLimitPolygonal_LimitPoint as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
211            ::unity::il2cpp_call!((::unity::module_base()+0x1d62980usize)as*mut u8,();
212(RotationLimitPolygonal_LimitPoint)__receiver)
213        }
214    }
215}
216
217#[cfg(feature = "root_motion-final_ik-rotationlimitpolygonal")]
218impl<__T: IRotationLimitPolygonal_LimitPoint> IRotationLimitPolygonal_LimitPointMethods for __T {}
219
220#[cfg(feature = "root_motion-final_ik-rotationlimitpolygonal")]
221impl RotationLimitPolygonal_LimitPoint {
222    pub fn ctor_method_info() -> &'static ::unity::il2cpp::MethodInfo {
223        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[0]
224    }
225}
226
227#[cfg(feature = "root_motion-final_ik-rotationlimitpolygonal")]
228impl RotationLimitPolygonal_LimitPoint {
229    #[doc = "`.ctor()` — no args"]
230    pub fn new() -> Self {
231        let this = <Self as ::unity::FromIlInstance>::instantiate().unwrap_or_else(|| {
232            panic!(
233                "{}
234::{}
235 failed to instantiate",
236                ::core::stringify!(RotationLimitPolygonal_LimitPoint),
237                ::core::stringify!(new),
238            )
239        });
240        <Self as IRotationLimitPolygonal_LimitPointMethods>::ctor(this);
241        this
242    }
243}
244
245#[cfg(feature = "root_motion-final_ik-rotationlimitpolygonal")]
246pub trait IRotationLimitPolygonalMethods: IRotationLimitPolygonal {
247    #[doc = "`OpenUserManual()` overload"]
248    fn open_user_manual(self) -> () {
249        unsafe {
250            let __receiver =
251                <RotationLimitPolygonal as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
252            ::unity::il2cpp_call!((::unity::module_base()+0x1ec14d0usize)as*mut u8,();
253(RotationLimitPolygonal)__receiver)
254        }
255    }
256    #[doc = "`OpenScriptReference()` overload"]
257    fn open_script_reference(self) -> () {
258        unsafe {
259            let __receiver =
260                <RotationLimitPolygonal as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
261            ::unity::il2cpp_call!((::unity::module_base()+0x1ec1520usize)as*mut u8,();
262(RotationLimitPolygonal)__receiver)
263        }
264    }
265    #[doc = "`SupportGroup()` overload"]
266    fn support_group(self) -> () {
267        unsafe {
268            let __receiver =
269                <RotationLimitPolygonal as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
270            ::unity::il2cpp_call!((::unity::module_base()+0x1ec1570usize)as*mut u8,();
271(RotationLimitPolygonal)__receiver)
272        }
273    }
274    #[doc = "`ASThread()` overload"]
275    fn as_thread(self) -> () {
276        unsafe {
277            let __receiver =
278                <RotationLimitPolygonal as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
279            ::unity::il2cpp_call!((::unity::module_base()+0x1ec15c0usize)as*mut u8,();
280(RotationLimitPolygonal)__receiver)
281        }
282    }
283    #[doc = "`SetLimitPoints(::unity::Array<crate::root_motion::final_ik::rotationlimitpolygonal::RotationLimitPolygonal_LimitPoint>)` overload"]
284    fn set_limit_points(
285        self,
286        points: impl ::core::convert::Into<::unity::Array<crate::root_motion::final_ik::rotationlimitpolygonal::RotationLimitPolygonal_LimitPoint>>,
287    ) -> () {
288        unsafe {
289            let __receiver =
290                <RotationLimitPolygonal as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
291            ::unity::il2cpp_call!((::unity::module_base()+0x1ec1610usize)as*mut u8,();
292(RotationLimitPolygonal)__receiver,(::unity::Array<crate::root_motion::final_ik::rotationlimitpolygonal::RotationLimitPolygonal_LimitPoint>)::core::convert::Into::into(points))
293        }
294    }
295    #[doc = "`LimitRotation(crate::unity_engine::quaternion::Quaternion)` overload"]
296    fn limit_rotation(
297        self,
298        rotation: impl ::core::convert::Into<crate::unity_engine::quaternion::Quaternion>,
299    ) -> crate::unity_engine::quaternion::Quaternion {
300        unsafe {
301            let __receiver =
302                <RotationLimitPolygonal as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
303            {
304                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
305                let __vi = *__vt.get(4usize).unwrap_or_else(|| {
306                    panic!(
307                        "unity: virtual slot {}
308 out of range (vtable len {}
309) on the runtime class behind {}
310 (method `{}
311`)",
312                        4usize,
313                        __vt.len(),
314                        <RotationLimitPolygonal as ::unity::ClassIdentity>::NAME,
315                        "LimitRotation",
316                    )
317                });
318                let __inner: extern "C" fn(
319                    RotationLimitPolygonal,
320                    crate::unity_engine::quaternion::Quaternion,
321                    ::unity::OptionalMethod,
322                ) -> crate::unity_engine::quaternion::Quaternion = ::core::mem::transmute(__vi.method_ptr);
323                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
324                __inner(__receiver, ::core::convert::Into::into(rotation), __mi)
325            }
326        }
327    }
328    #[doc = "`Start()` overload"]
329    fn start(self) -> () {
330        unsafe {
331            let __receiver =
332                <RotationLimitPolygonal as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
333            ::unity::il2cpp_call!((::unity::module_base()+0x1ec1b60usize)as*mut u8,();
334(RotationLimitPolygonal)__receiver)
335        }
336    }
337    #[doc = "`ResetToDefault()` overload"]
338    fn reset_to_default(self) -> () {
339        unsafe {
340            let __receiver =
341                <RotationLimitPolygonal as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
342            ::unity::il2cpp_call!((::unity::module_base()+0x1ec20e0usize)as*mut u8,();
343(RotationLimitPolygonal)__receiver)
344        }
345    }
346    #[doc = "`BuildReachCones()` overload"]
347    fn build_reach_cones(self) -> () {
348        unsafe {
349            let __receiver =
350                <RotationLimitPolygonal as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
351            ::unity::il2cpp_call!((::unity::module_base()+0x1ec16b0usize)as*mut u8,();
352(RotationLimitPolygonal)__receiver)
353        }
354    }
355    #[doc = "`SmoothPoints()` overload"]
356    fn smooth_points(self) -> ::unity::Array<crate::unity_engine::vector3::Vector3> {
357        unsafe {
358            let __receiver =
359                <RotationLimitPolygonal as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
360            ::unity::il2cpp_call!((::unity::module_base()+0x1ec2470usize)as*mut u8, ::unity::Array<crate::unity_engine::vector3::Vector3> ;
361(RotationLimitPolygonal)__receiver)
362        }
363    }
364    #[doc = "`GetScalar(i32)` overload"]
365    fn get_scalar(self, k: impl ::core::convert::Into<i32>) -> f32 {
366        unsafe {
367            let __receiver =
368                <RotationLimitPolygonal as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
369            ::unity::il2cpp_call!((::unity::module_base()+0x1ec2950usize)as*mut u8,f32;
370(RotationLimitPolygonal)__receiver,(i32)::core::convert::Into::into(k))
371        }
372    }
373    #[doc = "`PointToTangentPlane(crate::unity_engine::vector3::Vector3, f32)` overload"]
374    fn point_to_tangent_plane(
375        self,
376        p: impl ::core::convert::Into<crate::unity_engine::vector3::Vector3>,
377        r: impl ::core::convert::Into<f32>,
378    ) -> crate::unity_engine::vector3::Vector3 {
379        unsafe {
380            let __receiver =
381                <RotationLimitPolygonal as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
382            ::unity::il2cpp_call!((::unity::module_base()+0x1ec29a0usize)as*mut u8,crate::unity_engine::vector3::Vector3;
383(RotationLimitPolygonal)__receiver,(crate::unity_engine::vector3::Vector3)::core::convert::Into::into(p),(f32)::core::convert::Into::into(r))
384        }
385    }
386    #[doc = "`TangentPointToSphere(crate::unity_engine::vector3::Vector3, f32)` overload"]
387    fn tangent_point_to_sphere(
388        self,
389        q: impl ::core::convert::Into<crate::unity_engine::vector3::Vector3>,
390        r: impl ::core::convert::Into<f32>,
391    ) -> crate::unity_engine::vector3::Vector3 {
392        unsafe {
393            let __receiver =
394                <RotationLimitPolygonal as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
395            ::unity::il2cpp_call!((::unity::module_base()+0x1ec2a00usize)as*mut u8,crate::unity_engine::vector3::Vector3;
396(RotationLimitPolygonal)__receiver,(crate::unity_engine::vector3::Vector3)::core::convert::Into::into(q),(f32)::core::convert::Into::into(r))
397        }
398    }
399    #[doc = "`LimitSwing(crate::unity_engine::quaternion::Quaternion)` overload"]
400    fn limit_swing(
401        self,
402        rotation: impl ::core::convert::Into<crate::unity_engine::quaternion::Quaternion>,
403    ) -> crate::unity_engine::quaternion::Quaternion {
404        unsafe {
405            let __receiver =
406                <RotationLimitPolygonal as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
407            ::unity::il2cpp_call!((::unity::module_base()+0x1ec1e80usize)as*mut u8,crate::unity_engine::quaternion::Quaternion;
408(RotationLimitPolygonal)__receiver,(crate::unity_engine::quaternion::Quaternion)::core::convert::Into::into(rotation))
409        }
410    }
411    #[doc = "`GetReachCone(crate::unity_engine::vector3::Vector3)` overload"]
412    fn get_reach_cone(self, l: impl ::core::convert::Into<crate::unity_engine::vector3::Vector3>) -> i32 {
413        unsafe {
414            let __receiver =
415                <RotationLimitPolygonal as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
416            ::unity::il2cpp_call!((::unity::module_base()+0x1ec2a70usize)as*mut u8,i32;
417(RotationLimitPolygonal)__receiver,(crate::unity_engine::vector3::Vector3)::core::convert::Into::into(l))
418        }
419    }
420    #[doc = "`.ctor()` overload"]
421    fn ctor(self) -> () {
422        unsafe {
423            let __receiver =
424                <RotationLimitPolygonal as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
425            ::unity::il2cpp_call!((::unity::module_base()+0x1ec2b50usize)as*mut u8,();
426(RotationLimitPolygonal)__receiver)
427        }
428    }
429}
430
431#[cfg(feature = "root_motion-final_ik-rotationlimitpolygonal")]
432impl<__T: IRotationLimitPolygonal> IRotationLimitPolygonalMethods for __T {}
433
434#[cfg(feature = "root_motion-final_ik-rotationlimitpolygonal")]
435impl RotationLimitPolygonal {
436    pub fn open_user_manual_method_info() -> &'static ::unity::il2cpp::MethodInfo {
437        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[0]
438    }
439
440    pub fn open_script_reference_method_info() -> &'static ::unity::il2cpp::MethodInfo {
441        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[1]
442    }
443
444    pub fn support_group_method_info() -> &'static ::unity::il2cpp::MethodInfo {
445        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[2]
446    }
447
448    pub fn as_thread_method_info() -> &'static ::unity::il2cpp::MethodInfo {
449        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[3]
450    }
451
452    pub fn set_limit_points_method_info() -> &'static ::unity::il2cpp::MethodInfo {
453        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[4]
454    }
455
456    pub fn limit_rotation_method_info() -> &'static ::unity::il2cpp::MethodInfo {
457        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[5]
458    }
459
460    pub fn start_method_info() -> &'static ::unity::il2cpp::MethodInfo {
461        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[6]
462    }
463
464    pub fn reset_to_default_method_info() -> &'static ::unity::il2cpp::MethodInfo {
465        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[7]
466    }
467
468    pub fn build_reach_cones_method_info() -> &'static ::unity::il2cpp::MethodInfo {
469        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[8]
470    }
471
472    pub fn smooth_points_method_info() -> &'static ::unity::il2cpp::MethodInfo {
473        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[9]
474    }
475
476    pub fn get_scalar_method_info() -> &'static ::unity::il2cpp::MethodInfo {
477        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[10]
478    }
479
480    pub fn point_to_tangent_plane_method_info() -> &'static ::unity::il2cpp::MethodInfo {
481        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[11]
482    }
483
484    pub fn tangent_point_to_sphere_method_info() -> &'static ::unity::il2cpp::MethodInfo {
485        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[12]
486    }
487
488    pub fn limit_swing_method_info() -> &'static ::unity::il2cpp::MethodInfo {
489        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[13]
490    }
491
492    pub fn get_reach_cone_method_info() -> &'static ::unity::il2cpp::MethodInfo {
493        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[14]
494    }
495
496    pub fn ctor_method_info() -> &'static ::unity::il2cpp::MethodInfo {
497        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[15]
498    }
499}
500
501#[cfg(feature = "root_motion-final_ik-rotationlimitpolygonal")]
502impl RotationLimitPolygonal {
503    #[doc = "Direct (non-virtual) call to `RotationLimitPolygonal`'s own `LimitRotation`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
504    pub unsafe fn limit_rotation(
505        this: impl ::core::convert::Into<::unity::IlInstance>,
506        rotation: crate::unity_engine::quaternion::Quaternion,
507    ) -> crate::unity_engine::quaternion::Quaternion {
508        let __mi = Self::limit_rotation_method_info();
509        let __inner: extern "C" fn(
510            ::unity::IlInstance,
511            crate::unity_engine::quaternion::Quaternion,
512            ::unity::OptionalMethod,
513        ) -> crate::unity_engine::quaternion::Quaternion = ::core::mem::transmute(__mi.method_ptr);
514        __inner(this.into(), rotation, ::core::option::Option::None)
515    }
516}
517
518#[cfg(feature = "root_motion-final_ik-rotationlimitpolygonal")]
519impl RotationLimitPolygonal {
520    #[doc = "`.ctor()` — no args"]
521    pub fn new() -> Self {
522        let this = <Self as ::unity::FromIlInstance>::instantiate().unwrap_or_else(|| {
523            panic!(
524                "{}
525::{}
526 failed to instantiate",
527                ::core::stringify!(RotationLimitPolygonal),
528                ::core::stringify!(new),
529            )
530        });
531        <Self as IRotationLimitPolygonalMethods>::ctor(this);
532        this
533    }
534}
535
536#[cfg(feature = "root_motion-final_ik-rotationlimitpolygonal")]
537#[doc(hidden)]
538pub mod prelude {
539    pub use super::{
540        IRotationLimitPolygonal, IRotationLimitPolygonalMethods, IRotationLimitPolygonal_LimitPoint, IRotationLimitPolygonal_LimitPointMethods,
541        IRotationLimitPolygonal_ReachCone, IRotationLimitPolygonal_ReachConeMethods, RotationLimitPolygonal, RotationLimitPolygonal_LimitPoint,
542        RotationLimitPolygonal_ReachCone,
543    };
544    #[cfg(feature = "root_motion-final_ik-rotationlimit")]
545    pub use crate::root_motion::final_ik::rotationlimit::IRotationLimitMethods;
546    #[cfg(feature = "system-object")]
547    pub use crate::system::object::IObjectMethods;
548    #[cfg(feature = "unity_engine-behaviour")]
549    pub use crate::unity_engine::behaviour::IBehaviourMethods;
550    #[cfg(feature = "unity_engine-component")]
551    pub use crate::unity_engine::component::IComponentMethods;
552    #[cfg(feature = "unity_engine-monobehaviour")]
553    pub use crate::unity_engine::monobehaviour::IMonoBehaviourMethods;
554    #[cfg(feature = "unity_engine-object_2")]
555    pub use crate::unity_engine::object_2::IObject_2Methods;
556    pub use crate::{
557        root_motion::final_ik::rotationlimit::IRotationLimit,
558        system::object::IObject,
559        unity_engine::{behaviour::IBehaviour, component::IComponent, monobehaviour::IMonoBehaviour, object_2::IObject_2},
560    };
561}