engage/generated/root_motion/final_ik/
iksolverfabrik.rs1#[cfg(feature = "root_motion-final_ik-iksolverfabrik-types")]
4mod __types {
5 #[allow(unused_imports)] use ::unity::prelude::*;
6
7 use super::*;
8 use crate::{
9 root_motion::final_ik::{
10 iksolver::{IIKSolver, IKSolver},
11 iksolverheuristic::{IIKSolverHeuristic, IKSolverHeuristic},
12 },
13 system::object::{IObject, Object},
14 };
15
16 #[doc=include_str!(concat!(env!("CARGO_MANIFEST_DIR"),"/","docs/root_motion/final_ik/iksolverfabrik/IKSolverFABRIK.md"))]
17 #[::unity::class(namespace = "RootMotion.FinalIK", name = "IKSolverFABRIK")]
18 #[parent(crate::root_motion::final_ik::iksolverheuristic::IKSolverHeuristic)]
19 pub struct IKSolverFABRIK {
20 #[offset(136)]
21 #[rename(name = "OnPreIteration")]
22 pub on_pre_iteration: crate::root_motion::final_ik::iksolver::IKSolver_IterationDelegate,
23 #[offset(144)]
24 #[rename(name = "limitedBones")]
25 pub limited_bones: ::unity::Array<bool>,
26 #[offset(152)]
27 #[rename(name = "solverLocalPositions")]
28 pub solver_local_positions: ::unity::Array<crate::unity_engine::vector3::Vector3>,
29 }
30}
31
32#[cfg(feature = "root_motion-final_ik-iksolverfabrik-types")]
33pub use __types::*;
34
35#[cfg(feature = "root_motion-final_ik-iksolverfabrik")]
36pub trait IIKSolverFABRIKMethods: IIKSolverFABRIK {
37 #[doc = "`SolveForward(crate::unity_engine::vector3::Vector3)` overload"]
38 fn solve_forward(self, position: impl ::core::convert::Into<crate::unity_engine::vector3::Vector3>) -> () {
39 unsafe {
40 let __receiver = <IKSolverFABRIK as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
41 ::unity::il2cpp_call!((::unity::module_base()+0x3c29a50usize)as*mut u8,();
42(IKSolverFABRIK)__receiver,(crate::unity_engine::vector3::Vector3)::core::convert::Into::into(position))
43 }
44 }
45 #[doc = "`SolveBackward(crate::unity_engine::vector3::Vector3)` overload"]
46 fn solve_backward(self, position: impl ::core::convert::Into<crate::unity_engine::vector3::Vector3>) -> () {
47 unsafe {
48 let __receiver = <IKSolverFABRIK as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
49 ::unity::il2cpp_call!((::unity::module_base()+0x3c2a030usize)as*mut u8,();
50(IKSolverFABRIK)__receiver,(crate::unity_engine::vector3::Vector3)::core::convert::Into::into(position))
51 }
52 }
53 #[doc = "`GetIKPosition()` overload"]
54 fn get_ik_position(self) -> crate::unity_engine::vector3::Vector3 {
55 unsafe {
56 let __receiver = <IKSolverFABRIK as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
57 {
58 let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
59 let __vi = *__vt.get(5usize).unwrap_or_else(|| {
60 panic!(
61 "unity: virtual slot {}
62 out of range (vtable len {}
63) on the runtime class behind {}
64 (method `{}
65`)",
66 5usize,
67 __vt.len(),
68 <IKSolverFABRIK as ::unity::ClassIdentity>::NAME,
69 "GetIKPosition",
70 )
71 });
72 let __inner: extern "C" fn(IKSolverFABRIK, ::unity::OptionalMethod) -> crate::unity_engine::vector3::Vector3 =
73 ::core::mem::transmute(__vi.method_ptr);
74 let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
75 __inner(__receiver, __mi)
76 }
77 }
78 }
79 #[doc = "`OnInitiate()` overload"]
80 fn on_initiate(self) -> () {
81 unsafe {
82 let __receiver = <IKSolverFABRIK as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
83 {
84 let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
85 let __vi = *__vt.get(10usize).unwrap_or_else(|| {
86 panic!(
87 "unity: virtual slot {}
88 out of range (vtable len {}
89) on the runtime class behind {}
90 (method `{}
91`)",
92 10usize,
93 __vt.len(),
94 <IKSolverFABRIK as ::unity::ClassIdentity>::NAME,
95 "OnInitiate",
96 )
97 });
98 let __inner: extern "C" fn(IKSolverFABRIK, ::unity::OptionalMethod) -> () = ::core::mem::transmute(__vi.method_ptr);
99 let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
100 __inner(__receiver, __mi)
101 }
102 }
103 }
104 #[doc = "`OnUpdate()` overload"]
105 fn on_update(self) -> () {
106 unsafe {
107 let __receiver = <IKSolverFABRIK as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
108 {
109 let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
110 let __vi = *__vt.get(11usize).unwrap_or_else(|| {
111 panic!(
112 "unity: virtual slot {}
113 out of range (vtable len {}
114) on the runtime class behind {}
115 (method `{}
116`)",
117 11usize,
118 __vt.len(),
119 <IKSolverFABRIK as ::unity::ClassIdentity>::NAME,
120 "OnUpdate",
121 )
122 });
123 let __inner: extern "C" fn(IKSolverFABRIK, ::unity::OptionalMethod) -> () = ::core::mem::transmute(__vi.method_ptr);
124 let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
125 __inner(__receiver, __mi)
126 }
127 }
128 }
129 #[doc = "`get_boneLengthCanBeZero()` overload"]
130 fn get_bone_length_can_be_zero(self) -> bool {
131 unsafe {
132 let __receiver = <IKSolverFABRIK as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
133 {
134 let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
135 let __vi = *__vt.get(13usize).unwrap_or_else(|| {
136 panic!(
137 "unity: virtual slot {}
138 out of range (vtable len {}
139) on the runtime class behind {}
140 (method `{}
141`)",
142 13usize,
143 __vt.len(),
144 <IKSolverFABRIK as ::unity::ClassIdentity>::NAME,
145 "get_boneLengthCanBeZero",
146 )
147 });
148 let __inner: extern "C" fn(IKSolverFABRIK, ::unity::OptionalMethod) -> bool = ::core::mem::transmute(__vi.method_ptr);
149 let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
150 __inner(__receiver, __mi)
151 }
152 }
153 }
154 #[doc = "`SolveJoint(crate::unity_engine::vector3::Vector3, crate::unity_engine::vector3::Vector3, f32)` overload"]
155 fn solve_joint(
156 self,
157 pos1: impl ::core::convert::Into<crate::unity_engine::vector3::Vector3>,
158 pos2: impl ::core::convert::Into<crate::unity_engine::vector3::Vector3>,
159 length: impl ::core::convert::Into<f32>,
160 ) -> crate::unity_engine::vector3::Vector3 {
161 unsafe {
162 let __receiver = <IKSolverFABRIK as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
163 ::unity::il2cpp_call!((::unity::module_base()+0x3c2aa10usize)as*mut u8,crate::unity_engine::vector3::Vector3;
164(IKSolverFABRIK)__receiver,(crate::unity_engine::vector3::Vector3)::core::convert::Into::into(pos1),(crate::unity_engine::vector3::Vector3)::core::convert::Into::into(pos2),(f32)::core::convert::Into::into(length))
165 }
166 }
167 #[doc = "`OnPreSolve()` overload"]
168 fn on_pre_solve(self) -> () {
169 unsafe {
170 let __receiver = <IKSolverFABRIK as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
171 ::unity::il2cpp_call!((::unity::module_base()+0x3c29b30usize)as*mut u8,();
172(IKSolverFABRIK)__receiver)
173 }
174 }
175 #[doc = "`OnPostSolve()` overload"]
176 fn on_post_solve(self) -> () {
177 unsafe {
178 let __receiver = <IKSolverFABRIK as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
179 ::unity::il2cpp_call!((::unity::module_base()+0x3c2a160usize)as*mut u8,();
180(IKSolverFABRIK)__receiver)
181 }
182 }
183 #[doc = "`Solve(crate::unity_engine::vector3::Vector3)` overload"]
184 fn solve(self, target_position: impl ::core::convert::Into<crate::unity_engine::vector3::Vector3>) -> () {
185 unsafe {
186 let __receiver = <IKSolverFABRIK as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
187 ::unity::il2cpp_call!((::unity::module_base()+0x3c2a990usize)as*mut u8,();
188(IKSolverFABRIK)__receiver,(crate::unity_engine::vector3::Vector3)::core::convert::Into::into(target_position))
189 }
190 }
191 #[doc = "`ForwardReach(crate::unity_engine::vector3::Vector3)` overload"]
192 fn forward_reach(self, position: impl ::core::convert::Into<crate::unity_engine::vector3::Vector3>) -> () {
193 unsafe {
194 let __receiver = <IKSolverFABRIK as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
195 ::unity::il2cpp_call!((::unity::module_base()+0x3c29e50usize)as*mut u8,();
196(IKSolverFABRIK)__receiver,(crate::unity_engine::vector3::Vector3)::core::convert::Into::into(position))
197 }
198 }
199 #[doc = "`SolverMove(i32, crate::unity_engine::vector3::Vector3)` overload"]
200 fn solver_move(self, index: impl ::core::convert::Into<i32>, offset: impl ::core::convert::Into<crate::unity_engine::vector3::Vector3>) -> () {
201 unsafe {
202 let __receiver = <IKSolverFABRIK as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
203 ::unity::il2cpp_call!((::unity::module_base()+0x3c2b150usize)as*mut u8,();
204(IKSolverFABRIK)__receiver,(i32)::core::convert::Into::into(index),(crate::unity_engine::vector3::Vector3)::core::convert::Into::into(offset))
205 }
206 }
207 #[doc = "`SolverRotate(i32, crate::unity_engine::quaternion::Quaternion, bool)` overload"]
208 fn solver_rotate(
209 self,
210 index: impl ::core::convert::Into<i32>,
211 rotation: impl ::core::convert::Into<crate::unity_engine::quaternion::Quaternion>,
212 recursive: impl ::core::convert::Into<bool>,
213 ) -> () {
214 unsafe {
215 let __receiver = <IKSolverFABRIK as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
216 ::unity::il2cpp_call!((::unity::module_base()+0x3c2b1c0usize)as*mut u8,();
217(IKSolverFABRIK)__receiver,(i32)::core::convert::Into::into(index),(crate::unity_engine::quaternion::Quaternion)::core::convert::Into::into(rotation),(bool)::core::convert::Into::into(recursive))
218 }
219 }
220 #[doc = "`SolverRotateChildren(i32, crate::unity_engine::quaternion::Quaternion)` overload"]
221 fn solver_rotate_children(
222 self,
223 index: impl ::core::convert::Into<i32>,
224 rotation: impl ::core::convert::Into<crate::unity_engine::quaternion::Quaternion>,
225 ) -> () {
226 unsafe {
227 let __receiver = <IKSolverFABRIK as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
228 ::unity::il2cpp_call!((::unity::module_base()+0x3c2b2b0usize)as*mut u8,();
229(IKSolverFABRIK)__receiver,(i32)::core::convert::Into::into(index),(crate::unity_engine::quaternion::Quaternion)::core::convert::Into::into(rotation))
230 }
231 }
232 #[doc = "`SolverMoveChildrenAroundPoint(i32, crate::unity_engine::quaternion::Quaternion)` overload"]
233 fn solver_move_children_around_point(
234 self,
235 index: impl ::core::convert::Into<i32>,
236 rotation: impl ::core::convert::Into<crate::unity_engine::quaternion::Quaternion>,
237 ) -> () {
238 unsafe {
239 let __receiver = <IKSolverFABRIK as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
240 ::unity::il2cpp_call!((::unity::module_base()+0x3c2b370usize)as*mut u8,();
241(IKSolverFABRIK)__receiver,(i32)::core::convert::Into::into(index),(crate::unity_engine::quaternion::Quaternion)::core::convert::Into::into(rotation))
242 }
243 }
244 #[doc = "`GetParentSolverRotation(i32)` overload"]
245 fn get_parent_solver_rotation(self, index: impl ::core::convert::Into<i32>) -> crate::unity_engine::quaternion::Quaternion {
246 unsafe {
247 let __receiver = <IKSolverFABRIK as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
248 ::unity::il2cpp_call!((::unity::module_base()+0x3c2a4c0usize)as*mut u8,crate::unity_engine::quaternion::Quaternion;
249(IKSolverFABRIK)__receiver,(i32)::core::convert::Into::into(index))
250 }
251 }
252 #[doc = "`GetParentSolverPosition(i32)` overload"]
253 fn get_parent_solver_position(self, index: impl ::core::convert::Into<i32>) -> crate::unity_engine::vector3::Vector3 {
254 unsafe {
255 let __receiver = <IKSolverFABRIK as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
256 ::unity::il2cpp_call!((::unity::module_base()+0x3c2a5e0usize)as*mut u8,crate::unity_engine::vector3::Vector3;
257(IKSolverFABRIK)__receiver,(i32)::core::convert::Into::into(index))
258 }
259 }
260 #[doc = "`GetLimitedRotation(i32, crate::unity_engine::quaternion::Quaternion, *mutbool)` overload"]
261 fn get_limited_rotation(
262 self,
263 index: impl ::core::convert::Into<i32>,
264 q: impl ::core::convert::Into<crate::unity_engine::quaternion::Quaternion>,
265 ) -> (crate::unity_engine::quaternion::Quaternion, bool) {
266 unsafe {
267 let __receiver = <IKSolverFABRIK as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
268 let mut __out_0 = ::core::mem::MaybeUninit::<bool>::uninit();
269 let __ret = {
270 ::unity::il2cpp_call!((::unity::module_base()+0x3c2b490usize)as*mut u8,crate::unity_engine::quaternion::Quaternion;
271(IKSolverFABRIK)__receiver,(i32)::core::convert::Into::into(index),(crate::unity_engine::quaternion::Quaternion)::core::convert::Into::into(q),(*mut bool)__out_0.as_mut_ptr())
272 };
273 (__ret, __out_0.assume_init())
274 }
275 }
276 #[doc = "`LimitForward(i32, i32)` overload"]
277 fn limit_forward(self, rotate_bone: impl ::core::convert::Into<i32>, limit_bone: impl ::core::convert::Into<i32>) -> () {
278 unsafe {
279 let __receiver = <IKSolverFABRIK as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
280 ::unity::il2cpp_call!((::unity::module_base()+0x3c2ac20usize)as*mut u8,();
281(IKSolverFABRIK)__receiver,(i32)::core::convert::Into::into(rotate_bone),(i32)::core::convert::Into::into(limit_bone))
282 }
283 }
284 #[doc = "`BackwardReach(crate::unity_engine::vector3::Vector3)` overload"]
285 fn backward_reach(self, position: impl ::core::convert::Into<crate::unity_engine::vector3::Vector3>) -> () {
286 unsafe {
287 let __receiver = <IKSolverFABRIK as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
288 ::unity::il2cpp_call!((::unity::module_base()+0x3c2a150usize)as*mut u8,();
289(IKSolverFABRIK)__receiver,(crate::unity_engine::vector3::Vector3)::core::convert::Into::into(position))
290 }
291 }
292 #[doc = "`BackwardReachUnlimited(crate::unity_engine::vector3::Vector3)` overload"]
293 fn backward_reach_unlimited(self, position: impl ::core::convert::Into<crate::unity_engine::vector3::Vector3>) -> () {
294 unsafe {
295 let __receiver = <IKSolverFABRIK as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
296 ::unity::il2cpp_call!((::unity::module_base()+0x3c2ba80usize)as*mut u8,();
297(IKSolverFABRIK)__receiver,(crate::unity_engine::vector3::Vector3)::core::convert::Into::into(position))
298 }
299 }
300 #[doc = "`BackwardReachLimited(crate::unity_engine::vector3::Vector3)` overload"]
301 fn backward_reach_limited(self, position: impl ::core::convert::Into<crate::unity_engine::vector3::Vector3>) -> () {
302 unsafe {
303 let __receiver = <IKSolverFABRIK as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
304 ::unity::il2cpp_call!((::unity::module_base()+0x3c2b5d0usize)as*mut u8,();
305(IKSolverFABRIK)__receiver,(crate::unity_engine::vector3::Vector3)::core::convert::Into::into(position))
306 }
307 }
308 #[doc = "`MapToSolverPositions()` overload"]
309 fn map_to_solver_positions(self) -> () {
310 unsafe {
311 let __receiver = <IKSolverFABRIK as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
312 ::unity::il2cpp_call!((::unity::module_base()+0x3c2aa90usize)as*mut u8,();
313(IKSolverFABRIK)__receiver)
314 }
315 }
316 #[doc = "`MapToSolverPositionsLimited()` overload"]
317 fn map_to_solver_positions_limited(self) -> () {
318 unsafe {
319 let __receiver = <IKSolverFABRIK as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
320 ::unity::il2cpp_call!((::unity::module_base()+0x3c2ab70usize)as*mut u8,();
321(IKSolverFABRIK)__receiver)
322 }
323 }
324 #[doc = "`.ctor()` overload"]
325 fn ctor(self) -> () {
326 unsafe {
327 let __receiver = <IKSolverFABRIK as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
328 ::unity::il2cpp_call!((::unity::module_base()+0x3c2bba0usize)as*mut u8,();
329(IKSolverFABRIK)__receiver)
330 }
331 }
332}
333
334#[cfg(feature = "root_motion-final_ik-iksolverfabrik")]
335impl<__T: IIKSolverFABRIK> IIKSolverFABRIKMethods for __T {}
336
337#[cfg(feature = "root_motion-final_ik-iksolverfabrik")]
338impl IKSolverFABRIK {
339 pub fn solve_forward_method_info() -> &'static ::unity::il2cpp::MethodInfo {
340 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[0]
341 }
342
343 pub fn solve_backward_method_info() -> &'static ::unity::il2cpp::MethodInfo {
344 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[1]
345 }
346
347 pub fn get_ik_position_method_info() -> &'static ::unity::il2cpp::MethodInfo {
348 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[2]
349 }
350
351 pub fn on_initiate_method_info() -> &'static ::unity::il2cpp::MethodInfo {
352 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[3]
353 }
354
355 pub fn on_update_method_info() -> &'static ::unity::il2cpp::MethodInfo {
356 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[4]
357 }
358
359 pub fn get_bone_length_can_be_zero_method_info() -> &'static ::unity::il2cpp::MethodInfo {
360 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[5]
361 }
362
363 pub fn solve_joint_method_info() -> &'static ::unity::il2cpp::MethodInfo {
364 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[6]
365 }
366
367 pub fn on_pre_solve_method_info() -> &'static ::unity::il2cpp::MethodInfo {
368 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[7]
369 }
370
371 pub fn on_post_solve_method_info() -> &'static ::unity::il2cpp::MethodInfo {
372 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[8]
373 }
374
375 pub fn solve_method_info() -> &'static ::unity::il2cpp::MethodInfo {
376 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[9]
377 }
378
379 pub fn forward_reach_method_info() -> &'static ::unity::il2cpp::MethodInfo {
380 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[10]
381 }
382
383 pub fn solver_move_method_info() -> &'static ::unity::il2cpp::MethodInfo {
384 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[11]
385 }
386
387 pub fn solver_rotate_method_info() -> &'static ::unity::il2cpp::MethodInfo {
388 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[12]
389 }
390
391 pub fn solver_rotate_children_method_info() -> &'static ::unity::il2cpp::MethodInfo {
392 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[13]
393 }
394
395 pub fn solver_move_children_around_point_method_info() -> &'static ::unity::il2cpp::MethodInfo {
396 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[14]
397 }
398
399 pub fn get_parent_solver_rotation_method_info() -> &'static ::unity::il2cpp::MethodInfo {
400 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[15]
401 }
402
403 pub fn get_parent_solver_position_method_info() -> &'static ::unity::il2cpp::MethodInfo {
404 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[16]
405 }
406
407 pub fn get_limited_rotation_method_info() -> &'static ::unity::il2cpp::MethodInfo {
408 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[17]
409 }
410
411 pub fn limit_forward_method_info() -> &'static ::unity::il2cpp::MethodInfo {
412 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[18]
413 }
414
415 pub fn backward_reach_method_info() -> &'static ::unity::il2cpp::MethodInfo {
416 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[19]
417 }
418
419 pub fn backward_reach_unlimited_method_info() -> &'static ::unity::il2cpp::MethodInfo {
420 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[20]
421 }
422
423 pub fn backward_reach_limited_method_info() -> &'static ::unity::il2cpp::MethodInfo {
424 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[21]
425 }
426
427 pub fn map_to_solver_positions_method_info() -> &'static ::unity::il2cpp::MethodInfo {
428 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[22]
429 }
430
431 pub fn map_to_solver_positions_limited_method_info() -> &'static ::unity::il2cpp::MethodInfo {
432 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[23]
433 }
434
435 pub fn ctor_method_info() -> &'static ::unity::il2cpp::MethodInfo {
436 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[24]
437 }
438}
439
440#[cfg(feature = "root_motion-final_ik-iksolverfabrik")]
441impl IKSolverFABRIK {
442 #[doc = "Direct (non-virtual) call to `IKSolverFABRIK`'s own `GetIKPosition`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
443 pub unsafe fn get_ik_position(this: impl ::core::convert::Into<::unity::IlInstance>) -> crate::unity_engine::vector3::Vector3 {
444 let __mi = Self::get_ik_position_method_info();
445 let __inner: extern "C" fn(::unity::IlInstance, ::unity::OptionalMethod) -> crate::unity_engine::vector3::Vector3 =
446 ::core::mem::transmute(__mi.method_ptr);
447 __inner(this.into(), ::core::option::Option::None)
448 }
449
450 #[doc = "Direct (non-virtual) call to `IKSolverFABRIK`'s own `OnInitiate`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
451 pub unsafe fn on_initiate(this: impl ::core::convert::Into<::unity::IlInstance>) -> () {
452 let __mi = Self::on_initiate_method_info();
453 let __inner: extern "C" fn(::unity::IlInstance, ::unity::OptionalMethod) -> () = ::core::mem::transmute(__mi.method_ptr);
454 __inner(this.into(), ::core::option::Option::None)
455 }
456
457 #[doc = "Direct (non-virtual) call to `IKSolverFABRIK`'s own `OnUpdate`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
458 pub unsafe fn on_update(this: impl ::core::convert::Into<::unity::IlInstance>) -> () {
459 let __mi = Self::on_update_method_info();
460 let __inner: extern "C" fn(::unity::IlInstance, ::unity::OptionalMethod) -> () = ::core::mem::transmute(__mi.method_ptr);
461 __inner(this.into(), ::core::option::Option::None)
462 }
463
464 #[doc = "Direct (non-virtual) call to `IKSolverFABRIK`'s own `get_boneLengthCanBeZero`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
465 pub unsafe fn get_bone_length_can_be_zero(this: impl ::core::convert::Into<::unity::IlInstance>) -> bool {
466 let __mi = Self::get_bone_length_can_be_zero_method_info();
467 let __inner: extern "C" fn(::unity::IlInstance, ::unity::OptionalMethod) -> bool = ::core::mem::transmute(__mi.method_ptr);
468 __inner(this.into(), ::core::option::Option::None)
469 }
470}
471
472#[cfg(feature = "root_motion-final_ik-iksolverfabrik")]
473impl IKSolverFABRIK {
474 #[doc = "`.ctor()` — no args"]
475 pub fn new() -> Self {
476 let this = <Self as ::unity::FromIlInstance>::instantiate().unwrap_or_else(|| {
477 panic!(
478 "{}
479::{}
480 failed to instantiate",
481 ::core::stringify!(IKSolverFABRIK),
482 ::core::stringify!(new),
483 )
484 });
485 <Self as IIKSolverFABRIKMethods>::ctor(this);
486 this
487 }
488}
489
490#[cfg(feature = "root_motion-final_ik-iksolverfabrik")]
491#[doc(hidden)]
492pub mod prelude {
493 pub use super::{IIKSolverFABRIK, IIKSolverFABRIKMethods, IKSolverFABRIK};
494 #[cfg(feature = "root_motion-final_ik-iksolver")]
495 pub use crate::root_motion::final_ik::iksolver::IIKSolverMethods;
496 #[cfg(feature = "root_motion-final_ik-iksolverheuristic")]
497 pub use crate::root_motion::final_ik::iksolverheuristic::IIKSolverHeuristicMethods;
498 #[cfg(feature = "system-object")]
499 pub use crate::system::object::IObjectMethods;
500 pub use crate::{
501 root_motion::final_ik::{
502 iksolver::{IIKSolver, IKSolver},
503 iksolverheuristic::{IIKSolverHeuristic, IKSolverHeuristic},
504 },
505 system::object::IObject,
506 };
507}