objc2_scene_kit/generated/
SCNMaterialProperty.rs1use core::ffi::*;
4use core::ptr::NonNull;
5use objc2::__framework_prelude::*;
6#[cfg(feature = "objc2-core-foundation")]
7use objc2_core_foundation::*;
8use objc2_foundation::*;
9#[cfg(feature = "objc2-metal")]
10#[cfg(not(target_os = "watchos"))]
11use objc2_metal::*;
12
13use crate::*;
14
15#[repr(transparent)]
20#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
21pub struct SCNFilterMode(pub NSInteger);
22impl SCNFilterMode {
23 #[doc(alias = "SCNFilterModeNone")]
24 pub const None: Self = Self(0);
25 #[doc(alias = "SCNFilterModeNearest")]
26 pub const Nearest: Self = Self(1);
27 #[doc(alias = "SCNFilterModeLinear")]
28 pub const Linear: Self = Self(2);
29}
30
31unsafe impl Encode for SCNFilterMode {
32 const ENCODING: Encoding = NSInteger::ENCODING;
33}
34
35unsafe impl RefEncode for SCNFilterMode {
36 const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
37}
38
39#[repr(transparent)]
44#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
45pub struct SCNWrapMode(pub NSInteger);
46impl SCNWrapMode {
47 #[doc(alias = "SCNWrapModeClamp")]
48 pub const Clamp: Self = Self(1);
49 #[doc(alias = "SCNWrapModeRepeat")]
50 pub const Repeat: Self = Self(2);
51 #[doc(alias = "SCNWrapModeClampToBorder")]
52 pub const ClampToBorder: Self = Self(3);
53 #[doc(alias = "SCNWrapModeMirror")]
54 pub const Mirror: Self = Self(4);
55}
56
57unsafe impl Encode for SCNWrapMode {
58 const ENCODING: Encoding = NSInteger::ENCODING;
59}
60
61unsafe impl RefEncode for SCNWrapMode {
62 const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
63}
64
65extern_class!(
66 #[unsafe(super(NSObject))]
72 #[derive(Debug, PartialEq, Eq, Hash)]
73 pub struct SCNMaterialProperty;
74);
75
76unsafe impl NSCoding for SCNMaterialProperty {}
77
78unsafe impl NSObjectProtocol for SCNMaterialProperty {}
79
80unsafe impl NSSecureCoding for SCNMaterialProperty {}
81
82#[cfg(feature = "SCNAnimation")]
83unsafe impl SCNAnimatable for SCNMaterialProperty {}
84
85impl SCNMaterialProperty {
86 extern_methods!(
87 #[unsafe(method(materialPropertyWithContents:))]
89 #[unsafe(method_family = none)]
90 pub unsafe fn materialPropertyWithContents(contents: &AnyObject) -> Retained<Self>;
91
92 #[unsafe(method(contents))]
103 #[unsafe(method_family = none)]
104 pub unsafe fn contents(&self) -> Option<Retained<AnyObject>>;
105
106 #[unsafe(method(setContents:))]
108 #[unsafe(method_family = none)]
109 pub unsafe fn setContents(&self, contents: Option<&AnyObject>);
110
111 #[cfg(feature = "objc2-core-foundation")]
112 #[unsafe(method(intensity))]
116 #[unsafe(method_family = none)]
117 pub unsafe fn intensity(&self) -> CGFloat;
118
119 #[cfg(feature = "objc2-core-foundation")]
120 #[unsafe(method(setIntensity:))]
122 #[unsafe(method_family = none)]
123 pub unsafe fn setIntensity(&self, intensity: CGFloat);
124
125 #[unsafe(method(minificationFilter))]
129 #[unsafe(method_family = none)]
130 pub unsafe fn minificationFilter(&self) -> SCNFilterMode;
131
132 #[unsafe(method(setMinificationFilter:))]
134 #[unsafe(method_family = none)]
135 pub unsafe fn setMinificationFilter(&self, minification_filter: SCNFilterMode);
136
137 #[unsafe(method(magnificationFilter))]
141 #[unsafe(method_family = none)]
142 pub unsafe fn magnificationFilter(&self) -> SCNFilterMode;
143
144 #[unsafe(method(setMagnificationFilter:))]
146 #[unsafe(method_family = none)]
147 pub unsafe fn setMagnificationFilter(&self, magnification_filter: SCNFilterMode);
148
149 #[unsafe(method(mipFilter))]
153 #[unsafe(method_family = none)]
154 pub unsafe fn mipFilter(&self) -> SCNFilterMode;
155
156 #[unsafe(method(setMipFilter:))]
158 #[unsafe(method_family = none)]
159 pub unsafe fn setMipFilter(&self, mip_filter: SCNFilterMode);
160
161 #[cfg(all(feature = "SceneKitTypes", feature = "objc2-quartz-core"))]
162 #[cfg(not(target_os = "watchos"))]
163 #[unsafe(method(contentsTransform))]
165 #[unsafe(method_family = none)]
166 pub unsafe fn contentsTransform(&self) -> SCNMatrix4;
167
168 #[cfg(all(feature = "SceneKitTypes", feature = "objc2-quartz-core"))]
169 #[cfg(not(target_os = "watchos"))]
170 #[unsafe(method(setContentsTransform:))]
172 #[unsafe(method_family = none)]
173 pub unsafe fn setContentsTransform(&self, contents_transform: SCNMatrix4);
174
175 #[unsafe(method(wrapS))]
177 #[unsafe(method_family = none)]
178 pub unsafe fn wrapS(&self) -> SCNWrapMode;
179
180 #[unsafe(method(setWrapS:))]
182 #[unsafe(method_family = none)]
183 pub unsafe fn setWrapS(&self, wrap_s: SCNWrapMode);
184
185 #[unsafe(method(wrapT))]
187 #[unsafe(method_family = none)]
188 pub unsafe fn wrapT(&self) -> SCNWrapMode;
189
190 #[unsafe(method(setWrapT:))]
192 #[unsafe(method_family = none)]
193 pub unsafe fn setWrapT(&self, wrap_t: SCNWrapMode);
194
195 #[unsafe(method(mappingChannel))]
199 #[unsafe(method_family = none)]
200 pub unsafe fn mappingChannel(&self) -> NSInteger;
201
202 #[unsafe(method(setMappingChannel:))]
204 #[unsafe(method_family = none)]
205 pub unsafe fn setMappingChannel(&self, mapping_channel: NSInteger);
206
207 #[cfg(feature = "SceneKitTypes")]
208 #[unsafe(method(textureComponents))]
212 #[unsafe(method_family = none)]
213 pub unsafe fn textureComponents(&self) -> SCNColorMask;
214
215 #[cfg(feature = "SceneKitTypes")]
216 #[unsafe(method(setTextureComponents:))]
218 #[unsafe(method_family = none)]
219 pub unsafe fn setTextureComponents(&self, texture_components: SCNColorMask);
220
221 #[cfg(feature = "objc2-core-foundation")]
222 #[unsafe(method(maxAnisotropy))]
226 #[unsafe(method_family = none)]
227 pub unsafe fn maxAnisotropy(&self) -> CGFloat;
228
229 #[cfg(feature = "objc2-core-foundation")]
230 #[unsafe(method(setMaxAnisotropy:))]
232 #[unsafe(method_family = none)]
233 pub unsafe fn setMaxAnisotropy(&self, max_anisotropy: CGFloat);
234
235 #[unsafe(method(precomputedLightingEnvironmentContentsWithURL:error:_))]
237 #[unsafe(method_family = none)]
238 pub unsafe fn precomputedLightingEnvironmentContentsWithURL_error(
239 url: &NSURL,
240 ) -> Result<Retained<AnyObject>, Retained<NSError>>;
241
242 #[unsafe(method(precomputedLightingEnvironmentContentsWithData:error:_))]
244 #[unsafe(method_family = none)]
245 pub unsafe fn precomputedLightingEnvironmentContentsWithData_error(
246 data: &NSData,
247 ) -> Result<Retained<AnyObject>, Retained<NSError>>;
248
249 #[cfg(feature = "objc2-metal")]
250 #[cfg(not(target_os = "watchos"))]
251 #[unsafe(method(precomputedLightingEnvironmentDataForContents:device:error:_))]
255 #[unsafe(method_family = none)]
256 pub unsafe fn precomputedLightingEnvironmentDataForContents_device_error(
257 contents: &AnyObject,
258 device: Option<&ProtocolObject<dyn MTLDevice>>,
259 ) -> Result<Retained<NSData>, Retained<NSError>>;
260 );
261}
262
263impl SCNMaterialProperty {
265 extern_methods!(
266 #[unsafe(method(init))]
267 #[unsafe(method_family = init)]
268 pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
269
270 #[unsafe(method(new))]
271 #[unsafe(method_family = new)]
272 pub unsafe fn new() -> Retained<Self>;
273 );
274}