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
76extern_conformance!(
77 unsafe impl NSCoding for SCNMaterialProperty {}
78);
79
80extern_conformance!(
81 unsafe impl NSObjectProtocol for SCNMaterialProperty {}
82);
83
84extern_conformance!(
85 unsafe impl NSSecureCoding for SCNMaterialProperty {}
86);
87
88#[cfg(feature = "SCNAnimation")]
89extern_conformance!(
90 unsafe impl SCNAnimatable for SCNMaterialProperty {}
91);
92
93impl SCNMaterialProperty {
94 extern_methods!(
95 #[unsafe(method(materialPropertyWithContents:))]
97 #[unsafe(method_family = none)]
98 pub unsafe fn materialPropertyWithContents(contents: &AnyObject) -> Retained<Self>;
99
100 #[unsafe(method(contents))]
111 #[unsafe(method_family = none)]
112 pub unsafe fn contents(&self) -> Option<Retained<AnyObject>>;
113
114 #[unsafe(method(setContents:))]
116 #[unsafe(method_family = none)]
117 pub unsafe fn setContents(&self, contents: Option<&AnyObject>);
118
119 #[cfg(feature = "objc2-core-foundation")]
120 #[unsafe(method(intensity))]
124 #[unsafe(method_family = none)]
125 pub unsafe fn intensity(&self) -> CGFloat;
126
127 #[cfg(feature = "objc2-core-foundation")]
128 #[unsafe(method(setIntensity:))]
130 #[unsafe(method_family = none)]
131 pub unsafe fn setIntensity(&self, intensity: CGFloat);
132
133 #[unsafe(method(minificationFilter))]
137 #[unsafe(method_family = none)]
138 pub unsafe fn minificationFilter(&self) -> SCNFilterMode;
139
140 #[unsafe(method(setMinificationFilter:))]
142 #[unsafe(method_family = none)]
143 pub unsafe fn setMinificationFilter(&self, minification_filter: SCNFilterMode);
144
145 #[unsafe(method(magnificationFilter))]
149 #[unsafe(method_family = none)]
150 pub unsafe fn magnificationFilter(&self) -> SCNFilterMode;
151
152 #[unsafe(method(setMagnificationFilter:))]
154 #[unsafe(method_family = none)]
155 pub unsafe fn setMagnificationFilter(&self, magnification_filter: SCNFilterMode);
156
157 #[unsafe(method(mipFilter))]
161 #[unsafe(method_family = none)]
162 pub unsafe fn mipFilter(&self) -> SCNFilterMode;
163
164 #[unsafe(method(setMipFilter:))]
166 #[unsafe(method_family = none)]
167 pub unsafe fn setMipFilter(&self, mip_filter: SCNFilterMode);
168
169 #[cfg(all(feature = "SceneKitTypes", feature = "objc2-quartz-core"))]
170 #[cfg(not(target_os = "watchos"))]
171 #[unsafe(method(contentsTransform))]
173 #[unsafe(method_family = none)]
174 pub unsafe fn contentsTransform(&self) -> SCNMatrix4;
175
176 #[cfg(all(feature = "SceneKitTypes", feature = "objc2-quartz-core"))]
177 #[cfg(not(target_os = "watchos"))]
178 #[unsafe(method(setContentsTransform:))]
180 #[unsafe(method_family = none)]
181 pub unsafe fn setContentsTransform(&self, contents_transform: SCNMatrix4);
182
183 #[unsafe(method(wrapS))]
185 #[unsafe(method_family = none)]
186 pub unsafe fn wrapS(&self) -> SCNWrapMode;
187
188 #[unsafe(method(setWrapS:))]
190 #[unsafe(method_family = none)]
191 pub unsafe fn setWrapS(&self, wrap_s: SCNWrapMode);
192
193 #[unsafe(method(wrapT))]
195 #[unsafe(method_family = none)]
196 pub unsafe fn wrapT(&self) -> SCNWrapMode;
197
198 #[unsafe(method(setWrapT:))]
200 #[unsafe(method_family = none)]
201 pub unsafe fn setWrapT(&self, wrap_t: SCNWrapMode);
202
203 #[unsafe(method(mappingChannel))]
207 #[unsafe(method_family = none)]
208 pub unsafe fn mappingChannel(&self) -> NSInteger;
209
210 #[unsafe(method(setMappingChannel:))]
212 #[unsafe(method_family = none)]
213 pub unsafe fn setMappingChannel(&self, mapping_channel: NSInteger);
214
215 #[cfg(feature = "SceneKitTypes")]
216 #[unsafe(method(textureComponents))]
220 #[unsafe(method_family = none)]
221 pub unsafe fn textureComponents(&self) -> SCNColorMask;
222
223 #[cfg(feature = "SceneKitTypes")]
224 #[unsafe(method(setTextureComponents:))]
226 #[unsafe(method_family = none)]
227 pub unsafe fn setTextureComponents(&self, texture_components: SCNColorMask);
228
229 #[cfg(feature = "objc2-core-foundation")]
230 #[unsafe(method(maxAnisotropy))]
234 #[unsafe(method_family = none)]
235 pub unsafe fn maxAnisotropy(&self) -> CGFloat;
236
237 #[cfg(feature = "objc2-core-foundation")]
238 #[unsafe(method(setMaxAnisotropy:))]
240 #[unsafe(method_family = none)]
241 pub unsafe fn setMaxAnisotropy(&self, max_anisotropy: CGFloat);
242
243 #[unsafe(method(precomputedLightingEnvironmentContentsWithURL:error:_))]
245 #[unsafe(method_family = none)]
246 pub unsafe fn precomputedLightingEnvironmentContentsWithURL_error(
247 url: &NSURL,
248 ) -> Result<Retained<AnyObject>, Retained<NSError>>;
249
250 #[unsafe(method(precomputedLightingEnvironmentContentsWithData:error:_))]
252 #[unsafe(method_family = none)]
253 pub unsafe fn precomputedLightingEnvironmentContentsWithData_error(
254 data: &NSData,
255 ) -> Result<Retained<AnyObject>, Retained<NSError>>;
256
257 #[cfg(feature = "objc2-metal")]
258 #[cfg(not(target_os = "watchos"))]
259 #[unsafe(method(precomputedLightingEnvironmentDataForContents:device:error:_))]
263 #[unsafe(method_family = none)]
264 pub unsafe fn precomputedLightingEnvironmentDataForContents_device_error(
265 contents: &AnyObject,
266 device: Option<&ProtocolObject<dyn MTLDevice>>,
267 ) -> Result<Retained<NSData>, Retained<NSError>>;
268 );
269}
270
271impl SCNMaterialProperty {
273 extern_methods!(
274 #[unsafe(method(init))]
275 #[unsafe(method_family = init)]
276 pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
277
278 #[unsafe(method(new))]
279 #[unsafe(method_family = new)]
280 pub unsafe fn new() -> Retained<Self>;
281 );
282}