objc2_scene_kit/generated/
SCNSkinner.rs1use core::ffi::*;
4use core::ptr::NonNull;
5use objc2::__framework_prelude::*;
6use objc2_foundation::*;
7
8use crate::*;
9
10extern_class!(
11 #[unsafe(super(NSObject))]
15 #[derive(Debug, PartialEq, Eq, Hash)]
16 pub struct SCNSkinner;
17);
18
19unsafe impl NSCoding for SCNSkinner {}
20
21unsafe impl NSObjectProtocol for SCNSkinner {}
22
23unsafe impl NSSecureCoding for SCNSkinner {}
24
25impl SCNSkinner {
26 extern_methods!(
27 #[cfg(feature = "SCNNode")]
28 #[unsafe(method(skeleton))]
32 #[unsafe(method_family = none)]
33 pub unsafe fn skeleton(&self) -> Option<Retained<SCNNode>>;
34
35 #[cfg(feature = "SCNNode")]
36 #[unsafe(method(setSkeleton:))]
39 #[unsafe(method_family = none)]
40 pub unsafe fn setSkeleton(&self, skeleton: Option<&SCNNode>);
41
42 #[cfg(all(feature = "SCNGeometry", feature = "SCNNode"))]
43 #[unsafe(method(skinnerWithBaseGeometry:bones:boneInverseBindTransforms:boneWeights:boneIndices:))]
55 #[unsafe(method_family = none)]
56 pub unsafe fn skinnerWithBaseGeometry_bones_boneInverseBindTransforms_boneWeights_boneIndices(
57 base_geometry: Option<&SCNGeometry>,
58 bones: &NSArray<SCNNode>,
59 bone_inverse_bind_transforms: Option<&NSArray<NSValue>>,
60 bone_weights: &SCNGeometrySource,
61 bone_indices: &SCNGeometrySource,
62 ) -> Retained<Self>;
63
64 #[cfg(feature = "SCNGeometry")]
65 #[unsafe(method(baseGeometry))]
72 #[unsafe(method_family = none)]
73 pub unsafe fn baseGeometry(&self) -> Option<Retained<SCNGeometry>>;
74
75 #[cfg(feature = "SCNGeometry")]
76 #[unsafe(method(setBaseGeometry:))]
78 #[unsafe(method_family = none)]
79 pub unsafe fn setBaseGeometry(&self, base_geometry: Option<&SCNGeometry>);
80
81 #[cfg(all(feature = "SceneKitTypes", feature = "objc2-quartz-core"))]
82 #[cfg(not(target_os = "watchos"))]
83 #[unsafe(method(baseGeometryBindTransform))]
85 #[unsafe(method_family = none)]
86 pub unsafe fn baseGeometryBindTransform(&self) -> SCNMatrix4;
87
88 #[cfg(all(feature = "SceneKitTypes", feature = "objc2-quartz-core"))]
89 #[cfg(not(target_os = "watchos"))]
90 #[unsafe(method(setBaseGeometryBindTransform:))]
92 #[unsafe(method_family = none)]
93 pub unsafe fn setBaseGeometryBindTransform(&self, base_geometry_bind_transform: SCNMatrix4);
94
95 #[unsafe(method(boneInverseBindTransforms))]
99 #[unsafe(method_family = none)]
100 pub unsafe fn boneInverseBindTransforms(&self) -> Option<Retained<NSArray<NSValue>>>;
101
102 #[cfg(feature = "SCNNode")]
103 #[unsafe(method(bones))]
105 #[unsafe(method_family = none)]
106 pub unsafe fn bones(&self) -> Retained<NSArray<SCNNode>>;
107
108 #[cfg(feature = "SCNGeometry")]
109 #[unsafe(method(boneWeights))]
111 #[unsafe(method_family = none)]
112 pub unsafe fn boneWeights(&self) -> Retained<SCNGeometrySource>;
113
114 #[cfg(feature = "SCNGeometry")]
115 #[unsafe(method(boneIndices))]
117 #[unsafe(method_family = none)]
118 pub unsafe fn boneIndices(&self) -> Retained<SCNGeometrySource>;
119 );
120}
121
122impl SCNSkinner {
124 extern_methods!(
125 #[unsafe(method(init))]
126 #[unsafe(method_family = init)]
127 pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
128
129 #[unsafe(method(new))]
130 #[unsafe(method_family = new)]
131 pub unsafe fn new() -> Retained<Self>;
132 );
133}