objc2_model_io/generated/
MDLAnimatedValueTypes.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
10/// [Apple's documentation](https://developer.apple.com/documentation/modelio/mdlanimatedvalueinterpolation?language=objc)
11// NS_ENUM
12#[repr(transparent)]
13#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
14pub struct MDLAnimatedValueInterpolation(pub NSUInteger);
15impl MDLAnimatedValueInterpolation {
16    #[doc(alias = "MDLAnimatedValueInterpolationConstant")]
17    pub const Constant: Self = Self(0);
18    #[doc(alias = "MDLAnimatedValueInterpolationLinear")]
19    pub const Linear: Self = Self(1);
20}
21
22unsafe impl Encode for MDLAnimatedValueInterpolation {
23    const ENCODING: Encoding = NSUInteger::ENCODING;
24}
25
26unsafe impl RefEncode for MDLAnimatedValueInterpolation {
27    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
28}
29
30extern_class!(
31    /// [Apple's documentation](https://developer.apple.com/documentation/modelio/mdlanimatedvalue?language=objc)
32    #[unsafe(super(NSObject))]
33    #[derive(Debug, PartialEq, Eq, Hash)]
34    pub struct MDLAnimatedValue;
35);
36
37extern_conformance!(
38    unsafe impl NSCopying for MDLAnimatedValue {}
39);
40
41unsafe impl CopyingHelper for MDLAnimatedValue {
42    type Result = Self;
43}
44
45extern_conformance!(
46    unsafe impl NSObjectProtocol for MDLAnimatedValue {}
47);
48
49impl MDLAnimatedValue {
50    extern_methods!(
51        #[unsafe(method(isAnimated))]
52        #[unsafe(method_family = none)]
53        pub unsafe fn isAnimated(&self) -> bool;
54
55        #[cfg(feature = "MDLTypes")]
56        #[unsafe(method(precision))]
57        #[unsafe(method_family = none)]
58        pub unsafe fn precision(&self) -> MDLDataPrecision;
59
60        #[unsafe(method(timeSampleCount))]
61        #[unsafe(method_family = none)]
62        pub unsafe fn timeSampleCount(&self) -> NSUInteger;
63
64        #[unsafe(method(minimumTime))]
65        #[unsafe(method_family = none)]
66        pub unsafe fn minimumTime(&self) -> NSTimeInterval;
67
68        #[unsafe(method(maximumTime))]
69        #[unsafe(method_family = none)]
70        pub unsafe fn maximumTime(&self) -> NSTimeInterval;
71
72        #[unsafe(method(interpolation))]
73        #[unsafe(method_family = none)]
74        pub unsafe fn interpolation(&self) -> MDLAnimatedValueInterpolation;
75
76        /// Setter for [`interpolation`][Self::interpolation].
77        #[unsafe(method(setInterpolation:))]
78        #[unsafe(method_family = none)]
79        pub unsafe fn setInterpolation(&self, interpolation: MDLAnimatedValueInterpolation);
80
81        #[unsafe(method(keyTimes))]
82        #[unsafe(method_family = none)]
83        pub unsafe fn keyTimes(&self) -> Retained<NSArray<NSNumber>>;
84
85        #[unsafe(method(clear))]
86        #[unsafe(method_family = none)]
87        pub unsafe fn clear(&self);
88
89        /// # Safety
90        ///
91        /// `times_array` must be a valid pointer.
92        #[unsafe(method(getTimes:maxCount:))]
93        #[unsafe(method_family = none)]
94        pub unsafe fn getTimes_maxCount(
95            &self,
96            times_array: NonNull<NSTimeInterval>,
97            max_count: NSUInteger,
98        ) -> NSUInteger;
99    );
100}
101
102/// Methods declared on superclass `NSObject`.
103impl MDLAnimatedValue {
104    extern_methods!(
105        #[unsafe(method(init))]
106        #[unsafe(method_family = init)]
107        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
108
109        #[unsafe(method(new))]
110        #[unsafe(method_family = new)]
111        pub unsafe fn new() -> Retained<Self>;
112    );
113}
114
115extern_class!(
116    /// AUTO-GENERATED FROM CodeGenArray.h
117    ///
118    /// See also [Apple's documentation](https://developer.apple.com/documentation/modelio/mdlanimatedscalararray?language=objc)
119    #[unsafe(super(MDLAnimatedValue, NSObject))]
120    #[derive(Debug, PartialEq, Eq, Hash)]
121    pub struct MDLAnimatedScalarArray;
122);
123
124extern_conformance!(
125    unsafe impl NSCopying for MDLAnimatedScalarArray {}
126);
127
128unsafe impl CopyingHelper for MDLAnimatedScalarArray {
129    type Result = Self;
130}
131
132extern_conformance!(
133    unsafe impl NSObjectProtocol for MDLAnimatedScalarArray {}
134);
135
136impl MDLAnimatedScalarArray {
137    extern_methods!(
138        #[unsafe(method(elementCount))]
139        #[unsafe(method_family = none)]
140        pub unsafe fn elementCount(&self) -> NSUInteger;
141
142        #[unsafe(method(initWithElementCount:))]
143        #[unsafe(method_family = init)]
144        pub unsafe fn initWithElementCount(
145            this: Allocated<Self>,
146            array_element_count: NSUInteger,
147        ) -> Retained<Self>;
148
149        /// # Safety
150        ///
151        /// `array` must be a valid pointer.
152        #[unsafe(method(setFloatArray:count:atTime:))]
153        #[unsafe(method_family = none)]
154        pub unsafe fn setFloatArray_count_atTime(
155            &self,
156            array: NonNull<c_float>,
157            count: NSUInteger,
158            time: NSTimeInterval,
159        );
160
161        /// # Safety
162        ///
163        /// `array` must be a valid pointer.
164        #[unsafe(method(setDoubleArray:count:atTime:))]
165        #[unsafe(method_family = none)]
166        pub unsafe fn setDoubleArray_count_atTime(
167            &self,
168            array: NonNull<c_double>,
169            count: NSUInteger,
170            time: NSTimeInterval,
171        );
172
173        /// # Safety
174        ///
175        /// `array` must be a valid pointer.
176        #[unsafe(method(getFloatArray:maxCount:atTime:))]
177        #[unsafe(method_family = none)]
178        pub unsafe fn getFloatArray_maxCount_atTime(
179            &self,
180            array: NonNull<c_float>,
181            max_count: NSUInteger,
182            time: NSTimeInterval,
183        ) -> NSUInteger;
184
185        /// # Safety
186        ///
187        /// `array` must be a valid pointer.
188        #[unsafe(method(getDoubleArray:maxCount:atTime:))]
189        #[unsafe(method_family = none)]
190        pub unsafe fn getDoubleArray_maxCount_atTime(
191            &self,
192            array: NonNull<c_double>,
193            max_count: NSUInteger,
194            time: NSTimeInterval,
195        ) -> NSUInteger;
196
197        /// # Safety
198        ///
199        /// - `values_array` must be a valid pointer.
200        /// - `times_array` must be a valid pointer.
201        #[unsafe(method(resetWithFloatArray:count:atTimes:count:))]
202        #[unsafe(method_family = none)]
203        pub unsafe fn resetWithFloatArray_count_atTimes_count(
204            &self,
205            values_array: NonNull<c_float>,
206            values_count: NSUInteger,
207            times_array: NonNull<NSTimeInterval>,
208            times_count: NSUInteger,
209        );
210
211        /// # Safety
212        ///
213        /// - `values_array` must be a valid pointer.
214        /// - `times_array` must be a valid pointer.
215        #[unsafe(method(resetWithDoubleArray:count:atTimes:count:))]
216        #[unsafe(method_family = none)]
217        pub unsafe fn resetWithDoubleArray_count_atTimes_count(
218            &self,
219            values_array: NonNull<c_double>,
220            values_count: NSUInteger,
221            times_array: NonNull<NSTimeInterval>,
222            times_count: NSUInteger,
223        );
224
225        /// # Safety
226        ///
227        /// `values_array` must be a valid pointer.
228        #[unsafe(method(getFloatArray:maxCount:))]
229        #[unsafe(method_family = none)]
230        pub unsafe fn getFloatArray_maxCount(
231            &self,
232            values_array: NonNull<c_float>,
233            max_count: NSUInteger,
234        ) -> NSUInteger;
235
236        /// # Safety
237        ///
238        /// `values_array` must be a valid pointer.
239        #[unsafe(method(getDoubleArray:maxCount:))]
240        #[unsafe(method_family = none)]
241        pub unsafe fn getDoubleArray_maxCount(
242            &self,
243            values_array: NonNull<c_double>,
244            max_count: NSUInteger,
245        ) -> NSUInteger;
246    );
247}
248
249/// Methods declared on superclass `NSObject`.
250impl MDLAnimatedScalarArray {
251    extern_methods!(
252        #[unsafe(method(init))]
253        #[unsafe(method_family = init)]
254        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
255
256        #[unsafe(method(new))]
257        #[unsafe(method_family = new)]
258        pub unsafe fn new() -> Retained<Self>;
259    );
260}
261
262extern_class!(
263    /// [Apple's documentation](https://developer.apple.com/documentation/modelio/mdlanimatedvector3array?language=objc)
264    #[unsafe(super(MDLAnimatedValue, NSObject))]
265    #[derive(Debug, PartialEq, Eq, Hash)]
266    pub struct MDLAnimatedVector3Array;
267);
268
269extern_conformance!(
270    unsafe impl NSCopying for MDLAnimatedVector3Array {}
271);
272
273unsafe impl CopyingHelper for MDLAnimatedVector3Array {
274    type Result = Self;
275}
276
277extern_conformance!(
278    unsafe impl NSObjectProtocol for MDLAnimatedVector3Array {}
279);
280
281impl MDLAnimatedVector3Array {
282    extern_methods!(
283        #[unsafe(method(elementCount))]
284        #[unsafe(method_family = none)]
285        pub unsafe fn elementCount(&self) -> NSUInteger;
286
287        #[unsafe(method(initWithElementCount:))]
288        #[unsafe(method_family = init)]
289        pub unsafe fn initWithElementCount(
290            this: Allocated<Self>,
291            array_element_count: NSUInteger,
292        ) -> Retained<Self>;
293    );
294}
295
296/// Methods declared on superclass `NSObject`.
297impl MDLAnimatedVector3Array {
298    extern_methods!(
299        #[unsafe(method(init))]
300        #[unsafe(method_family = init)]
301        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
302
303        #[unsafe(method(new))]
304        #[unsafe(method_family = new)]
305        pub unsafe fn new() -> Retained<Self>;
306    );
307}
308
309extern_class!(
310    /// [Apple's documentation](https://developer.apple.com/documentation/modelio/mdlanimatedquaternionarray?language=objc)
311    #[unsafe(super(MDLAnimatedValue, NSObject))]
312    #[derive(Debug, PartialEq, Eq, Hash)]
313    pub struct MDLAnimatedQuaternionArray;
314);
315
316extern_conformance!(
317    unsafe impl NSCopying for MDLAnimatedQuaternionArray {}
318);
319
320unsafe impl CopyingHelper for MDLAnimatedQuaternionArray {
321    type Result = Self;
322}
323
324extern_conformance!(
325    unsafe impl NSObjectProtocol for MDLAnimatedQuaternionArray {}
326);
327
328impl MDLAnimatedQuaternionArray {
329    extern_methods!(
330        #[unsafe(method(elementCount))]
331        #[unsafe(method_family = none)]
332        pub unsafe fn elementCount(&self) -> NSUInteger;
333
334        #[unsafe(method(initWithElementCount:))]
335        #[unsafe(method_family = init)]
336        pub unsafe fn initWithElementCount(
337            this: Allocated<Self>,
338            array_element_count: NSUInteger,
339        ) -> Retained<Self>;
340    );
341}
342
343/// Methods declared on superclass `NSObject`.
344impl MDLAnimatedQuaternionArray {
345    extern_methods!(
346        #[unsafe(method(init))]
347        #[unsafe(method_family = init)]
348        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
349
350        #[unsafe(method(new))]
351        #[unsafe(method_family = new)]
352        pub unsafe fn new() -> Retained<Self>;
353    );
354}
355
356extern_class!(
357    /// AUTO-GENERATED FROM CodeGen.h
358    ///
359    /// See also [Apple's documentation](https://developer.apple.com/documentation/modelio/mdlanimatedscalar?language=objc)
360    #[unsafe(super(MDLAnimatedValue, NSObject))]
361    #[derive(Debug, PartialEq, Eq, Hash)]
362    pub struct MDLAnimatedScalar;
363);
364
365extern_conformance!(
366    unsafe impl NSCopying for MDLAnimatedScalar {}
367);
368
369unsafe impl CopyingHelper for MDLAnimatedScalar {
370    type Result = Self;
371}
372
373extern_conformance!(
374    unsafe impl NSObjectProtocol for MDLAnimatedScalar {}
375);
376
377impl MDLAnimatedScalar {
378    extern_methods!(
379        #[unsafe(method(setFloat:atTime:))]
380        #[unsafe(method_family = none)]
381        pub unsafe fn setFloat_atTime(&self, value: c_float, time: NSTimeInterval);
382
383        #[unsafe(method(setDouble:atTime:))]
384        #[unsafe(method_family = none)]
385        pub unsafe fn setDouble_atTime(&self, value: c_double, time: NSTimeInterval);
386
387        #[unsafe(method(floatAtTime:))]
388        #[unsafe(method_family = none)]
389        pub unsafe fn floatAtTime(&self, time: NSTimeInterval) -> c_float;
390
391        #[unsafe(method(doubleAtTime:))]
392        #[unsafe(method_family = none)]
393        pub unsafe fn doubleAtTime(&self, time: NSTimeInterval) -> c_double;
394
395        /// # Safety
396        ///
397        /// - `values_array` must be a valid pointer.
398        /// - `times_array` must be a valid pointer.
399        #[unsafe(method(resetWithFloatArray:atTimes:count:))]
400        #[unsafe(method_family = none)]
401        pub unsafe fn resetWithFloatArray_atTimes_count(
402            &self,
403            values_array: NonNull<c_float>,
404            times_array: NonNull<NSTimeInterval>,
405            count: NSUInteger,
406        );
407
408        /// # Safety
409        ///
410        /// - `values_array` must be a valid pointer.
411        /// - `times_array` must be a valid pointer.
412        #[unsafe(method(resetWithDoubleArray:atTimes:count:))]
413        #[unsafe(method_family = none)]
414        pub unsafe fn resetWithDoubleArray_atTimes_count(
415            &self,
416            values_array: NonNull<c_double>,
417            times_array: NonNull<NSTimeInterval>,
418            count: NSUInteger,
419        );
420
421        /// # Safety
422        ///
423        /// `values_array` must be a valid pointer.
424        #[unsafe(method(getFloatArray:maxCount:))]
425        #[unsafe(method_family = none)]
426        pub unsafe fn getFloatArray_maxCount(
427            &self,
428            values_array: NonNull<c_float>,
429            max_count: NSUInteger,
430        ) -> NSUInteger;
431
432        /// # Safety
433        ///
434        /// `values_array` must be a valid pointer.
435        #[unsafe(method(getDoubleArray:maxCount:))]
436        #[unsafe(method_family = none)]
437        pub unsafe fn getDoubleArray_maxCount(
438            &self,
439            values_array: NonNull<c_double>,
440            max_count: NSUInteger,
441        ) -> NSUInteger;
442    );
443}
444
445/// Methods declared on superclass `NSObject`.
446impl MDLAnimatedScalar {
447    extern_methods!(
448        #[unsafe(method(init))]
449        #[unsafe(method_family = init)]
450        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
451
452        #[unsafe(method(new))]
453        #[unsafe(method_family = new)]
454        pub unsafe fn new() -> Retained<Self>;
455    );
456}
457
458extern_class!(
459    /// [Apple's documentation](https://developer.apple.com/documentation/modelio/mdlanimatedvector2?language=objc)
460    #[unsafe(super(MDLAnimatedValue, NSObject))]
461    #[derive(Debug, PartialEq, Eq, Hash)]
462    pub struct MDLAnimatedVector2;
463);
464
465extern_conformance!(
466    unsafe impl NSCopying for MDLAnimatedVector2 {}
467);
468
469unsafe impl CopyingHelper for MDLAnimatedVector2 {
470    type Result = Self;
471}
472
473extern_conformance!(
474    unsafe impl NSObjectProtocol for MDLAnimatedVector2 {}
475);
476
477impl MDLAnimatedVector2 {
478    extern_methods!();
479}
480
481/// Methods declared on superclass `NSObject`.
482impl MDLAnimatedVector2 {
483    extern_methods!(
484        #[unsafe(method(init))]
485        #[unsafe(method_family = init)]
486        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
487
488        #[unsafe(method(new))]
489        #[unsafe(method_family = new)]
490        pub unsafe fn new() -> Retained<Self>;
491    );
492}
493
494extern_class!(
495    /// [Apple's documentation](https://developer.apple.com/documentation/modelio/mdlanimatedvector3?language=objc)
496    #[unsafe(super(MDLAnimatedValue, NSObject))]
497    #[derive(Debug, PartialEq, Eq, Hash)]
498    pub struct MDLAnimatedVector3;
499);
500
501extern_conformance!(
502    unsafe impl NSCopying for MDLAnimatedVector3 {}
503);
504
505unsafe impl CopyingHelper for MDLAnimatedVector3 {
506    type Result = Self;
507}
508
509extern_conformance!(
510    unsafe impl NSObjectProtocol for MDLAnimatedVector3 {}
511);
512
513impl MDLAnimatedVector3 {
514    extern_methods!();
515}
516
517/// Methods declared on superclass `NSObject`.
518impl MDLAnimatedVector3 {
519    extern_methods!(
520        #[unsafe(method(init))]
521        #[unsafe(method_family = init)]
522        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
523
524        #[unsafe(method(new))]
525        #[unsafe(method_family = new)]
526        pub unsafe fn new() -> Retained<Self>;
527    );
528}
529
530extern_class!(
531    /// [Apple's documentation](https://developer.apple.com/documentation/modelio/mdlanimatedvector4?language=objc)
532    #[unsafe(super(MDLAnimatedValue, NSObject))]
533    #[derive(Debug, PartialEq, Eq, Hash)]
534    pub struct MDLAnimatedVector4;
535);
536
537extern_conformance!(
538    unsafe impl NSCopying for MDLAnimatedVector4 {}
539);
540
541unsafe impl CopyingHelper for MDLAnimatedVector4 {
542    type Result = Self;
543}
544
545extern_conformance!(
546    unsafe impl NSObjectProtocol for MDLAnimatedVector4 {}
547);
548
549impl MDLAnimatedVector4 {
550    extern_methods!();
551}
552
553/// Methods declared on superclass `NSObject`.
554impl MDLAnimatedVector4 {
555    extern_methods!(
556        #[unsafe(method(init))]
557        #[unsafe(method_family = init)]
558        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
559
560        #[unsafe(method(new))]
561        #[unsafe(method_family = new)]
562        pub unsafe fn new() -> Retained<Self>;
563    );
564}
565
566extern_class!(
567    /// [Apple's documentation](https://developer.apple.com/documentation/modelio/mdlanimatedquaternion?language=objc)
568    #[unsafe(super(MDLAnimatedValue, NSObject))]
569    #[derive(Debug, PartialEq, Eq, Hash)]
570    pub struct MDLAnimatedQuaternion;
571);
572
573extern_conformance!(
574    unsafe impl NSCopying for MDLAnimatedQuaternion {}
575);
576
577unsafe impl CopyingHelper for MDLAnimatedQuaternion {
578    type Result = Self;
579}
580
581extern_conformance!(
582    unsafe impl NSObjectProtocol for MDLAnimatedQuaternion {}
583);
584
585impl MDLAnimatedQuaternion {
586    extern_methods!();
587}
588
589/// Methods declared on superclass `NSObject`.
590impl MDLAnimatedQuaternion {
591    extern_methods!(
592        #[unsafe(method(init))]
593        #[unsafe(method_family = init)]
594        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
595
596        #[unsafe(method(new))]
597        #[unsafe(method_family = new)]
598        pub unsafe fn new() -> Retained<Self>;
599    );
600}
601
602extern_class!(
603    /// [Apple's documentation](https://developer.apple.com/documentation/modelio/mdlanimatedmatrix4x4?language=objc)
604    #[unsafe(super(MDLAnimatedValue, NSObject))]
605    #[derive(Debug, PartialEq, Eq, Hash)]
606    pub struct MDLAnimatedMatrix4x4;
607);
608
609extern_conformance!(
610    unsafe impl NSCopying for MDLAnimatedMatrix4x4 {}
611);
612
613unsafe impl CopyingHelper for MDLAnimatedMatrix4x4 {
614    type Result = Self;
615}
616
617extern_conformance!(
618    unsafe impl NSObjectProtocol for MDLAnimatedMatrix4x4 {}
619);
620
621impl MDLAnimatedMatrix4x4 {
622    extern_methods!();
623}
624
625/// Methods declared on superclass `NSObject`.
626impl MDLAnimatedMatrix4x4 {
627    extern_methods!(
628        #[unsafe(method(init))]
629        #[unsafe(method_family = init)]
630        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
631
632        #[unsafe(method(new))]
633        #[unsafe(method_family = new)]
634        pub unsafe fn new() -> Retained<Self>;
635    );
636}