use core::ffi::*;
use core::ptr::NonNull;
use objc2::__framework_prelude::*;
use objc2_foundation::*;
use crate::*;
#[repr(transparent)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
pub struct MDLAnimatedValueInterpolation(pub NSUInteger);
impl MDLAnimatedValueInterpolation {
#[doc(alias = "MDLAnimatedValueInterpolationConstant")]
pub const Constant: Self = Self(0);
#[doc(alias = "MDLAnimatedValueInterpolationLinear")]
pub const Linear: Self = Self(1);
}
unsafe impl Encode for MDLAnimatedValueInterpolation {
const ENCODING: Encoding = NSUInteger::ENCODING;
}
unsafe impl RefEncode for MDLAnimatedValueInterpolation {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
extern_class!(
#[unsafe(super(NSObject))]
#[derive(Debug, PartialEq, Eq, Hash)]
pub struct MDLAnimatedValue;
);
extern_conformance!(
unsafe impl NSCopying for MDLAnimatedValue {}
);
unsafe impl CopyingHelper for MDLAnimatedValue {
type Result = Self;
}
extern_conformance!(
unsafe impl NSObjectProtocol for MDLAnimatedValue {}
);
impl MDLAnimatedValue {
extern_methods!(
#[unsafe(method(isAnimated))]
#[unsafe(method_family = none)]
pub unsafe fn isAnimated(&self) -> bool;
#[cfg(feature = "MDLTypes")]
#[unsafe(method(precision))]
#[unsafe(method_family = none)]
pub unsafe fn precision(&self) -> MDLDataPrecision;
#[unsafe(method(timeSampleCount))]
#[unsafe(method_family = none)]
pub unsafe fn timeSampleCount(&self) -> NSUInteger;
#[unsafe(method(minimumTime))]
#[unsafe(method_family = none)]
pub unsafe fn minimumTime(&self) -> NSTimeInterval;
#[unsafe(method(maximumTime))]
#[unsafe(method_family = none)]
pub unsafe fn maximumTime(&self) -> NSTimeInterval;
#[unsafe(method(interpolation))]
#[unsafe(method_family = none)]
pub unsafe fn interpolation(&self) -> MDLAnimatedValueInterpolation;
#[unsafe(method(setInterpolation:))]
#[unsafe(method_family = none)]
pub unsafe fn setInterpolation(&self, interpolation: MDLAnimatedValueInterpolation);
#[unsafe(method(keyTimes))]
#[unsafe(method_family = none)]
pub unsafe fn keyTimes(&self) -> Retained<NSArray<NSNumber>>;
#[unsafe(method(clear))]
#[unsafe(method_family = none)]
pub unsafe fn clear(&self);
#[unsafe(method(getTimes:maxCount:))]
#[unsafe(method_family = none)]
pub unsafe fn getTimes_maxCount(
&self,
times_array: NonNull<NSTimeInterval>,
max_count: NSUInteger,
) -> NSUInteger;
);
}
impl MDLAnimatedValue {
extern_methods!(
#[unsafe(method(init))]
#[unsafe(method_family = init)]
pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
#[unsafe(method(new))]
#[unsafe(method_family = new)]
pub unsafe fn new() -> Retained<Self>;
);
}
extern_class!(
#[unsafe(super(MDLAnimatedValue, NSObject))]
#[derive(Debug, PartialEq, Eq, Hash)]
pub struct MDLAnimatedScalarArray;
);
extern_conformance!(
unsafe impl NSCopying for MDLAnimatedScalarArray {}
);
unsafe impl CopyingHelper for MDLAnimatedScalarArray {
type Result = Self;
}
extern_conformance!(
unsafe impl NSObjectProtocol for MDLAnimatedScalarArray {}
);
impl MDLAnimatedScalarArray {
extern_methods!(
#[unsafe(method(elementCount))]
#[unsafe(method_family = none)]
pub unsafe fn elementCount(&self) -> NSUInteger;
#[unsafe(method(initWithElementCount:))]
#[unsafe(method_family = init)]
pub unsafe fn initWithElementCount(
this: Allocated<Self>,
array_element_count: NSUInteger,
) -> Retained<Self>;
#[unsafe(method(setFloatArray:count:atTime:))]
#[unsafe(method_family = none)]
pub unsafe fn setFloatArray_count_atTime(
&self,
array: NonNull<c_float>,
count: NSUInteger,
time: NSTimeInterval,
);
#[unsafe(method(setDoubleArray:count:atTime:))]
#[unsafe(method_family = none)]
pub unsafe fn setDoubleArray_count_atTime(
&self,
array: NonNull<c_double>,
count: NSUInteger,
time: NSTimeInterval,
);
#[unsafe(method(getFloatArray:maxCount:atTime:))]
#[unsafe(method_family = none)]
pub unsafe fn getFloatArray_maxCount_atTime(
&self,
array: NonNull<c_float>,
max_count: NSUInteger,
time: NSTimeInterval,
) -> NSUInteger;
#[unsafe(method(getDoubleArray:maxCount:atTime:))]
#[unsafe(method_family = none)]
pub unsafe fn getDoubleArray_maxCount_atTime(
&self,
array: NonNull<c_double>,
max_count: NSUInteger,
time: NSTimeInterval,
) -> NSUInteger;
#[unsafe(method(resetWithFloatArray:count:atTimes:count:))]
#[unsafe(method_family = none)]
pub unsafe fn resetWithFloatArray_count_atTimes_count(
&self,
values_array: NonNull<c_float>,
values_count: NSUInteger,
times_array: NonNull<NSTimeInterval>,
times_count: NSUInteger,
);
#[unsafe(method(resetWithDoubleArray:count:atTimes:count:))]
#[unsafe(method_family = none)]
pub unsafe fn resetWithDoubleArray_count_atTimes_count(
&self,
values_array: NonNull<c_double>,
values_count: NSUInteger,
times_array: NonNull<NSTimeInterval>,
times_count: NSUInteger,
);
#[unsafe(method(getFloatArray:maxCount:))]
#[unsafe(method_family = none)]
pub unsafe fn getFloatArray_maxCount(
&self,
values_array: NonNull<c_float>,
max_count: NSUInteger,
) -> NSUInteger;
#[unsafe(method(getDoubleArray:maxCount:))]
#[unsafe(method_family = none)]
pub unsafe fn getDoubleArray_maxCount(
&self,
values_array: NonNull<c_double>,
max_count: NSUInteger,
) -> NSUInteger;
);
}
impl MDLAnimatedScalarArray {
extern_methods!(
#[unsafe(method(init))]
#[unsafe(method_family = init)]
pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
#[unsafe(method(new))]
#[unsafe(method_family = new)]
pub unsafe fn new() -> Retained<Self>;
);
}
extern_class!(
#[unsafe(super(MDLAnimatedValue, NSObject))]
#[derive(Debug, PartialEq, Eq, Hash)]
pub struct MDLAnimatedVector3Array;
);
extern_conformance!(
unsafe impl NSCopying for MDLAnimatedVector3Array {}
);
unsafe impl CopyingHelper for MDLAnimatedVector3Array {
type Result = Self;
}
extern_conformance!(
unsafe impl NSObjectProtocol for MDLAnimatedVector3Array {}
);
impl MDLAnimatedVector3Array {
extern_methods!(
#[unsafe(method(elementCount))]
#[unsafe(method_family = none)]
pub unsafe fn elementCount(&self) -> NSUInteger;
#[unsafe(method(initWithElementCount:))]
#[unsafe(method_family = init)]
pub unsafe fn initWithElementCount(
this: Allocated<Self>,
array_element_count: NSUInteger,
) -> Retained<Self>;
);
}
impl MDLAnimatedVector3Array {
extern_methods!(
#[unsafe(method(init))]
#[unsafe(method_family = init)]
pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
#[unsafe(method(new))]
#[unsafe(method_family = new)]
pub unsafe fn new() -> Retained<Self>;
);
}
extern_class!(
#[unsafe(super(MDLAnimatedValue, NSObject))]
#[derive(Debug, PartialEq, Eq, Hash)]
pub struct MDLAnimatedQuaternionArray;
);
extern_conformance!(
unsafe impl NSCopying for MDLAnimatedQuaternionArray {}
);
unsafe impl CopyingHelper for MDLAnimatedQuaternionArray {
type Result = Self;
}
extern_conformance!(
unsafe impl NSObjectProtocol for MDLAnimatedQuaternionArray {}
);
impl MDLAnimatedQuaternionArray {
extern_methods!(
#[unsafe(method(elementCount))]
#[unsafe(method_family = none)]
pub unsafe fn elementCount(&self) -> NSUInteger;
#[unsafe(method(initWithElementCount:))]
#[unsafe(method_family = init)]
pub unsafe fn initWithElementCount(
this: Allocated<Self>,
array_element_count: NSUInteger,
) -> Retained<Self>;
);
}
impl MDLAnimatedQuaternionArray {
extern_methods!(
#[unsafe(method(init))]
#[unsafe(method_family = init)]
pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
#[unsafe(method(new))]
#[unsafe(method_family = new)]
pub unsafe fn new() -> Retained<Self>;
);
}
extern_class!(
#[unsafe(super(MDLAnimatedValue, NSObject))]
#[derive(Debug, PartialEq, Eq, Hash)]
pub struct MDLAnimatedScalar;
);
extern_conformance!(
unsafe impl NSCopying for MDLAnimatedScalar {}
);
unsafe impl CopyingHelper for MDLAnimatedScalar {
type Result = Self;
}
extern_conformance!(
unsafe impl NSObjectProtocol for MDLAnimatedScalar {}
);
impl MDLAnimatedScalar {
extern_methods!(
#[unsafe(method(setFloat:atTime:))]
#[unsafe(method_family = none)]
pub unsafe fn setFloat_atTime(&self, value: c_float, time: NSTimeInterval);
#[unsafe(method(setDouble:atTime:))]
#[unsafe(method_family = none)]
pub unsafe fn setDouble_atTime(&self, value: c_double, time: NSTimeInterval);
#[unsafe(method(floatAtTime:))]
#[unsafe(method_family = none)]
pub unsafe fn floatAtTime(&self, time: NSTimeInterval) -> c_float;
#[unsafe(method(doubleAtTime:))]
#[unsafe(method_family = none)]
pub unsafe fn doubleAtTime(&self, time: NSTimeInterval) -> c_double;
#[unsafe(method(resetWithFloatArray:atTimes:count:))]
#[unsafe(method_family = none)]
pub unsafe fn resetWithFloatArray_atTimes_count(
&self,
values_array: NonNull<c_float>,
times_array: NonNull<NSTimeInterval>,
count: NSUInteger,
);
#[unsafe(method(resetWithDoubleArray:atTimes:count:))]
#[unsafe(method_family = none)]
pub unsafe fn resetWithDoubleArray_atTimes_count(
&self,
values_array: NonNull<c_double>,
times_array: NonNull<NSTimeInterval>,
count: NSUInteger,
);
#[unsafe(method(getFloatArray:maxCount:))]
#[unsafe(method_family = none)]
pub unsafe fn getFloatArray_maxCount(
&self,
values_array: NonNull<c_float>,
max_count: NSUInteger,
) -> NSUInteger;
#[unsafe(method(getDoubleArray:maxCount:))]
#[unsafe(method_family = none)]
pub unsafe fn getDoubleArray_maxCount(
&self,
values_array: NonNull<c_double>,
max_count: NSUInteger,
) -> NSUInteger;
);
}
impl MDLAnimatedScalar {
extern_methods!(
#[unsafe(method(init))]
#[unsafe(method_family = init)]
pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
#[unsafe(method(new))]
#[unsafe(method_family = new)]
pub unsafe fn new() -> Retained<Self>;
);
}
extern_class!(
#[unsafe(super(MDLAnimatedValue, NSObject))]
#[derive(Debug, PartialEq, Eq, Hash)]
pub struct MDLAnimatedVector2;
);
extern_conformance!(
unsafe impl NSCopying for MDLAnimatedVector2 {}
);
unsafe impl CopyingHelper for MDLAnimatedVector2 {
type Result = Self;
}
extern_conformance!(
unsafe impl NSObjectProtocol for MDLAnimatedVector2 {}
);
impl MDLAnimatedVector2 {
extern_methods!();
}
impl MDLAnimatedVector2 {
extern_methods!(
#[unsafe(method(init))]
#[unsafe(method_family = init)]
pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
#[unsafe(method(new))]
#[unsafe(method_family = new)]
pub unsafe fn new() -> Retained<Self>;
);
}
extern_class!(
#[unsafe(super(MDLAnimatedValue, NSObject))]
#[derive(Debug, PartialEq, Eq, Hash)]
pub struct MDLAnimatedVector3;
);
extern_conformance!(
unsafe impl NSCopying for MDLAnimatedVector3 {}
);
unsafe impl CopyingHelper for MDLAnimatedVector3 {
type Result = Self;
}
extern_conformance!(
unsafe impl NSObjectProtocol for MDLAnimatedVector3 {}
);
impl MDLAnimatedVector3 {
extern_methods!();
}
impl MDLAnimatedVector3 {
extern_methods!(
#[unsafe(method(init))]
#[unsafe(method_family = init)]
pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
#[unsafe(method(new))]
#[unsafe(method_family = new)]
pub unsafe fn new() -> Retained<Self>;
);
}
extern_class!(
#[unsafe(super(MDLAnimatedValue, NSObject))]
#[derive(Debug, PartialEq, Eq, Hash)]
pub struct MDLAnimatedVector4;
);
extern_conformance!(
unsafe impl NSCopying for MDLAnimatedVector4 {}
);
unsafe impl CopyingHelper for MDLAnimatedVector4 {
type Result = Self;
}
extern_conformance!(
unsafe impl NSObjectProtocol for MDLAnimatedVector4 {}
);
impl MDLAnimatedVector4 {
extern_methods!();
}
impl MDLAnimatedVector4 {
extern_methods!(
#[unsafe(method(init))]
#[unsafe(method_family = init)]
pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
#[unsafe(method(new))]
#[unsafe(method_family = new)]
pub unsafe fn new() -> Retained<Self>;
);
}
extern_class!(
#[unsafe(super(MDLAnimatedValue, NSObject))]
#[derive(Debug, PartialEq, Eq, Hash)]
pub struct MDLAnimatedQuaternion;
);
extern_conformance!(
unsafe impl NSCopying for MDLAnimatedQuaternion {}
);
unsafe impl CopyingHelper for MDLAnimatedQuaternion {
type Result = Self;
}
extern_conformance!(
unsafe impl NSObjectProtocol for MDLAnimatedQuaternion {}
);
impl MDLAnimatedQuaternion {
extern_methods!();
}
impl MDLAnimatedQuaternion {
extern_methods!(
#[unsafe(method(init))]
#[unsafe(method_family = init)]
pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
#[unsafe(method(new))]
#[unsafe(method_family = new)]
pub unsafe fn new() -> Retained<Self>;
);
}
extern_class!(
#[unsafe(super(MDLAnimatedValue, NSObject))]
#[derive(Debug, PartialEq, Eq, Hash)]
pub struct MDLAnimatedMatrix4x4;
);
extern_conformance!(
unsafe impl NSCopying for MDLAnimatedMatrix4x4 {}
);
unsafe impl CopyingHelper for MDLAnimatedMatrix4x4 {
type Result = Self;
}
extern_conformance!(
unsafe impl NSObjectProtocol for MDLAnimatedMatrix4x4 {}
);
impl MDLAnimatedMatrix4x4 {
extern_methods!();
}
impl MDLAnimatedMatrix4x4 {
extern_methods!(
#[unsafe(method(init))]
#[unsafe(method_family = init)]
pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
#[unsafe(method(new))]
#[unsafe(method_family = new)]
pub unsafe fn new() -> Retained<Self>;
);
}