objc2_model_io/generated/
MDLTypes.rs

1//! This file has been automatically generated by `objc2`'s `header-translator`.
2//! DO NOT EDIT
3use core::ffi::*;
4use core::ptr::NonNull;
5use objc2::__framework_prelude::*;
6use objc2_foundation::*;
7
8use crate::*;
9
10extern "C" {
11    /// [Apple's documentation](https://developer.apple.com/documentation/modelio/kuttypealembic?language=objc)
12    pub static kUTTypeAlembic: &'static NSString;
13}
14
15extern "C" {
16    /// [Apple's documentation](https://developer.apple.com/documentation/modelio/kuttype3dobject?language=objc)
17    pub static kUTType3dObject: &'static NSString;
18}
19
20extern "C" {
21    /// [Apple's documentation](https://developer.apple.com/documentation/modelio/kuttypepolygon?language=objc)
22    pub static kUTTypePolygon: &'static NSString;
23}
24
25extern "C" {
26    /// [Apple's documentation](https://developer.apple.com/documentation/modelio/kuttypestereolithography?language=objc)
27    pub static kUTTypeStereolithography: &'static NSString;
28}
29
30extern "C" {
31    /// [Apple's documentation](https://developer.apple.com/documentation/modelio/kuttypeuniversalscenedescription?language=objc)
32    pub static kUTTypeUniversalSceneDescription: &'static NSString;
33}
34
35extern "C" {
36    /// [Apple's documentation](https://developer.apple.com/documentation/modelio/kuttypeuniversalscenedescriptionmobile?language=objc)
37    pub static kUTTypeUniversalSceneDescriptionMobile: &'static NSString;
38}
39
40/// [Apple's documentation](https://developer.apple.com/documentation/modelio/mdlindexbitdepth?language=objc)
41// NS_ENUM
42#[repr(transparent)]
43#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
44pub struct MDLIndexBitDepth(pub NSUInteger);
45impl MDLIndexBitDepth {
46    #[doc(alias = "MDLIndexBitDepthInvalid")]
47    pub const Invalid: Self = Self(0);
48    #[doc(alias = "MDLIndexBitDepthUInt8")]
49    pub const UInt8: Self = Self(8);
50    #[doc(alias = "MDLIndexBitDepthUint8")]
51    pub const Uint8: Self = Self(8);
52    #[doc(alias = "MDLIndexBitDepthUInt16")]
53    pub const UInt16: Self = Self(16);
54    #[doc(alias = "MDLIndexBitDepthUint16")]
55    pub const Uint16: Self = Self(16);
56    #[doc(alias = "MDLIndexBitDepthUInt32")]
57    pub const UInt32: Self = Self(32);
58    #[doc(alias = "MDLIndexBitDepthUint32")]
59    pub const Uint32: Self = Self(32);
60}
61
62unsafe impl Encode for MDLIndexBitDepth {
63    const ENCODING: Encoding = NSUInteger::ENCODING;
64}
65
66unsafe impl RefEncode for MDLIndexBitDepth {
67    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
68}
69
70/// [Apple's documentation](https://developer.apple.com/documentation/modelio/mdlgeometrytype?language=objc)
71// NS_ENUM
72#[repr(transparent)]
73#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
74pub struct MDLGeometryType(pub NSInteger);
75impl MDLGeometryType {
76    #[doc(alias = "MDLGeometryTypePoints")]
77    pub const Points: Self = Self(0);
78    #[doc(alias = "MDLGeometryTypeLines")]
79    pub const Lines: Self = Self(1);
80    #[doc(alias = "MDLGeometryTypeTriangles")]
81    pub const Triangles: Self = Self(2);
82    #[doc(alias = "MDLGeometryTypeTriangleStrips")]
83    pub const TriangleStrips: Self = Self(3);
84    #[doc(alias = "MDLGeometryTypeQuads")]
85    pub const Quads: Self = Self(4);
86    #[doc(alias = "MDLGeometryTypeVariableTopology")]
87    pub const VariableTopology: Self = Self(5);
88}
89
90unsafe impl Encode for MDLGeometryType {
91    const ENCODING: Encoding = NSInteger::ENCODING;
92}
93
94unsafe impl RefEncode for MDLGeometryType {
95    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
96}
97
98/// [Apple's documentation](https://developer.apple.com/documentation/modelio/mdlprobeplacement?language=objc)
99// NS_ENUM
100#[repr(transparent)]
101#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
102pub struct MDLProbePlacement(pub NSInteger);
103impl MDLProbePlacement {
104    #[doc(alias = "MDLProbePlacementUniformGrid")]
105    pub const UniformGrid: Self = Self(0);
106    #[doc(alias = "MDLProbePlacementIrradianceDistribution")]
107    pub const IrradianceDistribution: Self = Self(1);
108}
109
110unsafe impl Encode for MDLProbePlacement {
111    const ENCODING: Encoding = NSInteger::ENCODING;
112}
113
114unsafe impl RefEncode for MDLProbePlacement {
115    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
116}
117
118/// [Apple's documentation](https://developer.apple.com/documentation/modelio/mdldataprecision?language=objc)
119// NS_ENUM
120#[repr(transparent)]
121#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
122pub struct MDLDataPrecision(pub NSUInteger);
123impl MDLDataPrecision {
124    #[doc(alias = "MDLDataPrecisionUndefined")]
125    pub const Undefined: Self = Self(0);
126    #[doc(alias = "MDLDataPrecisionFloat")]
127    pub const Float: Self = Self(1);
128    #[doc(alias = "MDLDataPrecisionDouble")]
129    pub const Double: Self = Self(2);
130}
131
132unsafe impl Encode for MDLDataPrecision {
133    const ENCODING: Encoding = NSUInteger::ENCODING;
134}
135
136unsafe impl RefEncode for MDLDataPrecision {
137    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
138}
139
140extern_protocol!(
141    /// [Apple's documentation](https://developer.apple.com/documentation/modelio/mdlnamed?language=objc)
142    pub unsafe trait MDLNamed {
143        #[unsafe(method(name))]
144        #[unsafe(method_family = none)]
145        unsafe fn name(&self) -> Retained<NSString>;
146
147        /// Setter for [`name`][Self::name].
148        ///
149        /// This is [copied][objc2_foundation::NSCopying::copy] when set.
150        #[unsafe(method(setName:))]
151        #[unsafe(method_family = none)]
152        unsafe fn setName(&self, name: &NSString);
153    }
154);
155
156extern_protocol!(
157    /// [Apple's documentation](https://developer.apple.com/documentation/modelio/mdlcomponent?language=objc)
158    pub unsafe trait MDLComponent: NSObjectProtocol {}
159);
160
161extern_protocol!(
162    /// [Apple's documentation](https://developer.apple.com/documentation/modelio/mdlobjectcontainercomponent?language=objc)
163    pub unsafe trait MDLObjectContainerComponent: MDLComponent + NSFastEnumeration {
164        #[cfg(feature = "MDLObject")]
165        #[unsafe(method(addObject:))]
166        #[unsafe(method_family = none)]
167        unsafe fn addObject(&self, object: &MDLObject);
168
169        #[cfg(feature = "MDLObject")]
170        #[unsafe(method(removeObject:))]
171        #[unsafe(method_family = none)]
172        unsafe fn removeObject(&self, object: &MDLObject);
173
174        #[cfg(feature = "MDLObject")]
175        #[unsafe(method(objectAtIndexedSubscript:))]
176        #[unsafe(method_family = none)]
177        unsafe fn objectAtIndexedSubscript(&self, index: NSUInteger) -> Retained<MDLObject>;
178
179        #[unsafe(method(count))]
180        #[unsafe(method_family = none)]
181        unsafe fn count(&self) -> NSUInteger;
182
183        #[cfg(feature = "MDLObject")]
184        #[unsafe(method(objects))]
185        #[unsafe(method_family = none)]
186        unsafe fn objects(&self) -> Retained<NSArray<MDLObject>>;
187    }
188);