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 MDLTransformOpRotationOrder(pub NSUInteger);
impl MDLTransformOpRotationOrder {
#[doc(alias = "MDLTransformOpRotationOrderXYZ")]
pub const XYZ: Self = Self(1);
#[doc(alias = "MDLTransformOpRotationOrderXZY")]
pub const XZY: Self = Self(2);
#[doc(alias = "MDLTransformOpRotationOrderYXZ")]
pub const YXZ: Self = Self(3);
#[doc(alias = "MDLTransformOpRotationOrderYZX")]
pub const YZX: Self = Self(4);
#[doc(alias = "MDLTransformOpRotationOrderZXY")]
pub const ZXY: Self = Self(5);
#[doc(alias = "MDLTransformOpRotationOrderZYX")]
pub const ZYX: Self = Self(6);
}
unsafe impl Encode for MDLTransformOpRotationOrder {
const ENCODING: Encoding = NSUInteger::ENCODING;
}
unsafe impl RefEncode for MDLTransformOpRotationOrder {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
extern_protocol!(
pub unsafe trait MDLTransformOp {
#[unsafe(method(name))]
#[unsafe(method_family = none)]
unsafe fn name(&self) -> Retained<NSString>;
#[unsafe(method(IsInverseOp))]
#[unsafe(method_family = none)]
unsafe fn IsInverseOp(&self) -> bool;
}
);
extern_class!(
#[unsafe(super(NSObject))]
#[derive(Debug, PartialEq, Eq, Hash)]
pub struct MDLTransformRotateXOp;
);
extern_conformance!(
unsafe impl MDLTransformOp for MDLTransformRotateXOp {}
);
extern_conformance!(
unsafe impl NSObjectProtocol for MDLTransformRotateXOp {}
);
impl MDLTransformRotateXOp {
extern_methods!(
#[unsafe(method(name))]
#[unsafe(method_family = none)]
pub unsafe fn name(&self) -> Retained<NSString>;
#[cfg(feature = "MDLAnimatedValueTypes")]
#[unsafe(method(animatedValue))]
#[unsafe(method_family = none)]
pub unsafe fn animatedValue(&self) -> Retained<MDLAnimatedScalar>;
);
}
impl MDLTransformRotateXOp {
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(NSObject))]
#[derive(Debug, PartialEq, Eq, Hash)]
pub struct MDLTransformRotateYOp;
);
extern_conformance!(
unsafe impl MDLTransformOp for MDLTransformRotateYOp {}
);
extern_conformance!(
unsafe impl NSObjectProtocol for MDLTransformRotateYOp {}
);
impl MDLTransformRotateYOp {
extern_methods!(
#[unsafe(method(name))]
#[unsafe(method_family = none)]
pub unsafe fn name(&self) -> Retained<NSString>;
#[cfg(feature = "MDLAnimatedValueTypes")]
#[unsafe(method(animatedValue))]
#[unsafe(method_family = none)]
pub unsafe fn animatedValue(&self) -> Retained<MDLAnimatedScalar>;
);
}
impl MDLTransformRotateYOp {
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(NSObject))]
#[derive(Debug, PartialEq, Eq, Hash)]
pub struct MDLTransformRotateZOp;
);
extern_conformance!(
unsafe impl MDLTransformOp for MDLTransformRotateZOp {}
);
extern_conformance!(
unsafe impl NSObjectProtocol for MDLTransformRotateZOp {}
);
impl MDLTransformRotateZOp {
extern_methods!(
#[unsafe(method(name))]
#[unsafe(method_family = none)]
pub unsafe fn name(&self) -> Retained<NSString>;
#[cfg(feature = "MDLAnimatedValueTypes")]
#[unsafe(method(animatedValue))]
#[unsafe(method_family = none)]
pub unsafe fn animatedValue(&self) -> Retained<MDLAnimatedScalar>;
);
}
impl MDLTransformRotateZOp {
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(NSObject))]
#[derive(Debug, PartialEq, Eq, Hash)]
pub struct MDLTransformRotateOp;
);
extern_conformance!(
unsafe impl MDLTransformOp for MDLTransformRotateOp {}
);
extern_conformance!(
unsafe impl NSObjectProtocol for MDLTransformRotateOp {}
);
impl MDLTransformRotateOp {
extern_methods!(
#[unsafe(method(name))]
#[unsafe(method_family = none)]
pub unsafe fn name(&self) -> Retained<NSString>;
#[cfg(feature = "MDLAnimatedValueTypes")]
#[unsafe(method(animatedValue))]
#[unsafe(method_family = none)]
pub unsafe fn animatedValue(&self) -> Retained<MDLAnimatedVector3>;
);
}
impl MDLTransformRotateOp {
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(NSObject))]
#[derive(Debug, PartialEq, Eq, Hash)]
pub struct MDLTransformTranslateOp;
);
extern_conformance!(
unsafe impl MDLTransformOp for MDLTransformTranslateOp {}
);
extern_conformance!(
unsafe impl NSObjectProtocol for MDLTransformTranslateOp {}
);
impl MDLTransformTranslateOp {
extern_methods!(
#[unsafe(method(name))]
#[unsafe(method_family = none)]
pub unsafe fn name(&self) -> Retained<NSString>;
#[cfg(feature = "MDLAnimatedValueTypes")]
#[unsafe(method(animatedValue))]
#[unsafe(method_family = none)]
pub unsafe fn animatedValue(&self) -> Retained<MDLAnimatedVector3>;
);
}
impl MDLTransformTranslateOp {
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(NSObject))]
#[derive(Debug, PartialEq, Eq, Hash)]
pub struct MDLTransformScaleOp;
);
extern_conformance!(
unsafe impl MDLTransformOp for MDLTransformScaleOp {}
);
extern_conformance!(
unsafe impl NSObjectProtocol for MDLTransformScaleOp {}
);
impl MDLTransformScaleOp {
extern_methods!(
#[unsafe(method(name))]
#[unsafe(method_family = none)]
pub unsafe fn name(&self) -> Retained<NSString>;
#[cfg(feature = "MDLAnimatedValueTypes")]
#[unsafe(method(animatedValue))]
#[unsafe(method_family = none)]
pub unsafe fn animatedValue(&self) -> Retained<MDLAnimatedVector3>;
);
}
impl MDLTransformScaleOp {
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(NSObject))]
#[derive(Debug, PartialEq, Eq, Hash)]
pub struct MDLTransformMatrixOp;
);
extern_conformance!(
unsafe impl MDLTransformOp for MDLTransformMatrixOp {}
);
extern_conformance!(
unsafe impl NSObjectProtocol for MDLTransformMatrixOp {}
);
impl MDLTransformMatrixOp {
extern_methods!(
#[unsafe(method(name))]
#[unsafe(method_family = none)]
pub unsafe fn name(&self) -> Retained<NSString>;
#[cfg(feature = "MDLAnimatedValueTypes")]
#[unsafe(method(animatedValue))]
#[unsafe(method_family = none)]
pub unsafe fn animatedValue(&self) -> Retained<MDLAnimatedMatrix4x4>;
);
}
impl MDLTransformMatrixOp {
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(NSObject))]
#[derive(Debug, PartialEq, Eq, Hash)]
pub struct MDLTransformOrientOp;
);
extern_conformance!(
unsafe impl MDLTransformOp for MDLTransformOrientOp {}
);
extern_conformance!(
unsafe impl NSObjectProtocol for MDLTransformOrientOp {}
);
impl MDLTransformOrientOp {
extern_methods!(
#[unsafe(method(name))]
#[unsafe(method_family = none)]
pub unsafe fn name(&self) -> Retained<NSString>;
#[cfg(feature = "MDLAnimatedValueTypes")]
#[unsafe(method(animatedValue))]
#[unsafe(method_family = none)]
pub unsafe fn animatedValue(&self) -> Retained<MDLAnimatedQuaternion>;
);
}
impl MDLTransformOrientOp {
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(NSObject))]
#[derive(Debug, PartialEq, Eq, Hash)]
pub struct MDLTransformStack;
);
#[cfg(feature = "MDLTypes")]
extern_conformance!(
unsafe impl MDLComponent for MDLTransformStack {}
);
#[cfg(all(feature = "MDLTransform", feature = "MDLTypes"))]
extern_conformance!(
unsafe impl MDLTransformComponent for MDLTransformStack {}
);
extern_conformance!(
unsafe impl NSCopying for MDLTransformStack {}
);
unsafe impl CopyingHelper for MDLTransformStack {
type Result = Self;
}
extern_conformance!(
unsafe impl NSObjectProtocol for MDLTransformStack {}
);
impl MDLTransformStack {
extern_methods!(
#[unsafe(method(init))]
#[unsafe(method_family = init)]
pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
#[unsafe(method(addTranslateOp:inverse:))]
#[unsafe(method_family = none)]
pub unsafe fn addTranslateOp_inverse(
&self,
animated_value_name: &NSString,
inverse: bool,
) -> Retained<MDLTransformTranslateOp>;
#[unsafe(method(addRotateXOp:inverse:))]
#[unsafe(method_family = none)]
pub unsafe fn addRotateXOp_inverse(
&self,
animated_value_name: &NSString,
inverse: bool,
) -> Retained<MDLTransformRotateXOp>;
#[unsafe(method(addRotateYOp:inverse:))]
#[unsafe(method_family = none)]
pub unsafe fn addRotateYOp_inverse(
&self,
animated_value_name: &NSString,
inverse: bool,
) -> Retained<MDLTransformRotateYOp>;
#[unsafe(method(addRotateZOp:inverse:))]
#[unsafe(method_family = none)]
pub unsafe fn addRotateZOp_inverse(
&self,
animated_value_name: &NSString,
inverse: bool,
) -> Retained<MDLTransformRotateZOp>;
#[unsafe(method(addRotateOp:order:inverse:))]
#[unsafe(method_family = none)]
pub unsafe fn addRotateOp_order_inverse(
&self,
animated_value_name: &NSString,
order: MDLTransformOpRotationOrder,
inverse: bool,
) -> Retained<MDLTransformRotateOp>;
#[unsafe(method(addScaleOp:inverse:))]
#[unsafe(method_family = none)]
pub unsafe fn addScaleOp_inverse(
&self,
animated_value_name: &NSString,
inverse: bool,
) -> Retained<MDLTransformScaleOp>;
#[unsafe(method(addMatrixOp:inverse:))]
#[unsafe(method_family = none)]
pub unsafe fn addMatrixOp_inverse(
&self,
animated_value_name: &NSString,
inverse: bool,
) -> Retained<MDLTransformMatrixOp>;
#[unsafe(method(addOrientOp:inverse:))]
#[unsafe(method_family = none)]
pub unsafe fn addOrientOp_inverse(
&self,
animated_value_name: &NSString,
inverse: bool,
) -> Retained<MDLTransformOrientOp>;
#[cfg(feature = "MDLAnimatedValueTypes")]
#[unsafe(method(animatedValueWithName:))]
#[unsafe(method_family = none)]
pub unsafe fn animatedValueWithName(&self, name: &NSString) -> Retained<MDLAnimatedValue>;
#[unsafe(method(count))]
#[unsafe(method_family = none)]
pub unsafe fn count(&self) -> NSUInteger;
#[unsafe(method(keyTimes))]
#[unsafe(method_family = none)]
pub unsafe fn keyTimes(&self) -> Retained<NSArray<NSNumber>>;
#[unsafe(method(transformOps))]
#[unsafe(method_family = none)]
pub unsafe fn transformOps(&self) -> Retained<NSArray<ProtocolObject<dyn MDLTransformOp>>>;
);
}
impl MDLTransformStack {
extern_methods!(
#[unsafe(method(new))]
#[unsafe(method_family = new)]
pub unsafe fn new() -> Retained<Self>;
);
}