SCNMaterial

Struct SCNMaterial 

Source
#[repr(C)]
pub struct SCNMaterial { /* private fields */ }
Available on crate feature SCNMaterial only.
Expand description

A SCNMaterial determines how a geometry is rendered. It encapsulates the colors and textures that define the appearance of 3d geometries.

See also Apple’s documentation

Implementations§

Source§

impl SCNMaterial

SCNModelIO.

Source

pub unsafe fn materialWithMDLMaterial( mdl_material: &MDLMaterial, ) -> Retained<Self>

Available on crate feature ModelIO and crate feature objc2-model-io and non-watchOS only.
Source§

impl SCNMaterial

Source

pub unsafe fn material() -> Retained<Self>

Creates and initialize a material instance.

Source

pub unsafe fn name(&self) -> Option<Retained<NSString>>

Determines the name of the receiver.

Source

pub unsafe fn setName(&self, name: Option<&NSString>)

Setter for name.

Source

pub unsafe fn diffuse(&self) -> Retained<SCNMaterialProperty>

Available on crate feature SCNMaterialProperty only.

Specifies the receiver’s diffuse property.

The diffuse property specifies the amount of light diffusely reflected from the surface. The diffuse light is reflected equally in all directions and is therefore independent of the point of view.

Source

pub unsafe fn ambient(&self) -> Retained<SCNMaterialProperty>

Available on crate feature SCNMaterialProperty only.

Specifies the receiver’s ambient property.

The ambient property specifies the amount of ambient light to reflect. This property has no visual impact on scenes that have no ambient light. Setting the ambient has no effect if locksAmbientWithDiffuse is set to YES.

Source

pub unsafe fn specular(&self) -> Retained<SCNMaterialProperty>

Available on crate feature SCNMaterialProperty only.

Specifies the receiver’s specular property.

The specular property specifies the amount of light to reflect in a mirror-like manner. The specular intensity increases when the point of view lines up with the direction of the reflected light.

Source

pub unsafe fn emission(&self) -> Retained<SCNMaterialProperty>

Available on crate feature SCNMaterialProperty only.

The emission property specifies the amount of light the material emits. This emission does not light up other surfaces in the scene.

Source

pub unsafe fn transparent(&self) -> Retained<SCNMaterialProperty>

Available on crate feature SCNMaterialProperty only.

The transparent property specifies the transparent areas of the material.

Source

pub unsafe fn reflective(&self) -> Retained<SCNMaterialProperty>

Available on crate feature SCNMaterialProperty only.

The reflective property specifies the reflectivity of the surface. The surface will not actually reflect other objects in the scene. This property may be used as a sphere mapping to reflect a precomputed environment.

Source

pub unsafe fn multiply(&self) -> Retained<SCNMaterialProperty>

Available on crate feature SCNMaterialProperty only.

The multiply property specifies a color or an image used to multiply the output fragments with. The computed fragments are multiplied with the multiply value to produce the final fragments. This property may be used for shadow maps, to fade out or tint 3d objects.

Source

pub unsafe fn normal(&self) -> Retained<SCNMaterialProperty>

Available on crate feature SCNMaterialProperty only.

The normal property specifies the surface orientation.

When an image is set on the normal property the material is automatically lit per pixel. Setting a color has no effect.

Source

pub unsafe fn displacement(&self) -> Retained<SCNMaterialProperty>

Available on crate feature SCNMaterialProperty only.

The displacement property specifies how vertex are translated in tangent space.

Pass a grayscale image for a simple ‘elevation’ or rgb image for a vector displacement.

Source

pub unsafe fn ambientOcclusion(&self) -> Retained<SCNMaterialProperty>

Available on crate feature SCNMaterialProperty only.

The ambientOcclusion property specifies the ambient occlusion of the surface. The ambient occlusion is multiplied with the ambient light, then the result is added to the lighting contribution. This property has no visual impact on scenes that have no ambient light. When an ambient occlusion map is set, the ambient property is ignored.

Source

pub unsafe fn selfIllumination(&self) -> Retained<SCNMaterialProperty>

Available on crate feature SCNMaterialProperty only.

The selfIllumination property specifies a texture or a color that is added to the lighting contribution of the surface. When a selfIllumination is set, the emission property is ignored.

Source

pub unsafe fn metalness(&self) -> Retained<SCNMaterialProperty>

Available on crate feature SCNMaterialProperty only.

The metalness property specifies how metallic the material’s surface appears. Lower values (darker colors) cause the material to appear more like a dielectric surface. Higher values (brighter colors) cause the surface to appear more metallic. This property is only used when ‘lightingModelName’ is ‘SCNLightingModelPhysicallyBased’.

Source

pub unsafe fn roughness(&self) -> Retained<SCNMaterialProperty>

Available on crate feature SCNMaterialProperty only.

The roughness property specifies the apparent smoothness of the surface. Lower values (darker colors) cause the material to appear shiny, with well-defined specular highlights. Higher values (brighter colors) cause specular highlights to spread out and the diffuse property of the material to become more retroreflective. This property is only used when ‘lightingModelName’ is ‘SCNLightingModelPhysicallyBased’.

Source

pub unsafe fn clearCoat(&self) -> Retained<SCNMaterialProperty>

Available on crate feature SCNMaterialProperty only.

The clearCoat property specifies color and intensity of the coat layer.

Source

pub unsafe fn clearCoatRoughness(&self) -> Retained<SCNMaterialProperty>

Available on crate feature SCNMaterialProperty only.

The clearCoat property specifies color and intensity of the coat roughness.

Source

pub unsafe fn clearCoatNormal(&self) -> Retained<SCNMaterialProperty>

Available on crate feature SCNMaterialProperty only.

The clearCoatNormal property specifies color and intensity of the optional coat normal map.

Source

pub unsafe fn shininess(&self) -> CGFloat

Available on crate feature objc2-core-foundation only.

Specifies the receiver’s shininess value. Defaults to 1.0. Animatable.

Source

pub unsafe fn setShininess(&self, shininess: CGFloat)

Available on crate feature objc2-core-foundation only.

Setter for shininess.

Source

pub unsafe fn transparency(&self) -> CGFloat

Available on crate feature objc2-core-foundation only.

Specifies the receiver’s transparency value. Defaults to 1.0. Animatable.

The color of the transparent property is multiplied by this property. The result is then used to produce the final transparency according to the rule defined by the transparencyMode property.

Source

pub unsafe fn setTransparency(&self, transparency: CGFloat)

Available on crate feature objc2-core-foundation only.

Setter for transparency.

Source

pub unsafe fn lightingModelName(&self) -> Retained<SCNLightingModel>

Determines the receiver’s lighting model. See above for the list of lighting models. Defaults to SCNLightingModelBlinn.

Source

pub unsafe fn setLightingModelName( &self, lighting_model_name: &SCNLightingModel, )

Setter for lightingModelName.

Source

pub unsafe fn isLitPerPixel(&self) -> bool

Determines whether the receiver is lit per pixel. Defaults to YES. Animatable.

Source

pub unsafe fn setLitPerPixel(&self, lit_per_pixel: bool)

Setter for isLitPerPixel.

Source

pub unsafe fn isDoubleSided(&self) -> bool

Determines whether the receiver is double sided. Defaults to NO. Animatable.

Source

pub unsafe fn setDoubleSided(&self, double_sided: bool)

Setter for isDoubleSided.

Source

pub unsafe fn fillMode(&self) -> SCNFillMode

Determines of to how to rasterize the receiver’s primitives. Defaults to SCNFillModeFill.

Source

pub unsafe fn setFillMode(&self, fill_mode: SCNFillMode)

Setter for fillMode.

Source

pub unsafe fn cullMode(&self) -> SCNCullMode

Determines the culling mode of the receiver. Defaults to SCNCullModeBack. Animatable.

Source

pub unsafe fn setCullMode(&self, cull_mode: SCNCullMode)

Setter for cullMode.

Source

pub unsafe fn transparencyMode(&self) -> SCNTransparencyMode

Determines the transparency mode of the receiver. See above for the transparency modes. Defaults to SCNTransparencyModeDefault.

Source

pub unsafe fn setTransparencyMode(&self, transparency_mode: SCNTransparencyMode)

Setter for transparencyMode.

Source

pub unsafe fn locksAmbientWithDiffuse(&self) -> bool

Makes the ambient property automatically match the diffuse property. Defaults to NO on 10.9 and before, defaults to YES otherwise. Animatable.

Source

pub unsafe fn setLocksAmbientWithDiffuse( &self, locks_ambient_with_diffuse: bool, )

Source

pub unsafe fn writesToDepthBuffer(&self) -> bool

Determines whether the receiver writes to the depth buffer when rendered. Defaults to YES.

Source

pub unsafe fn setWritesToDepthBuffer(&self, writes_to_depth_buffer: bool)

Setter for writesToDepthBuffer.

Source

pub unsafe fn colorBufferWriteMask(&self) -> SCNColorMask

Available on crate feature SceneKitTypes only.

Determines whether the receiver writes to the color buffer when rendered. Defaults to SCNColorMaskAll.

Source

pub unsafe fn setColorBufferWriteMask( &self, color_buffer_write_mask: SCNColorMask, )

Available on crate feature SceneKitTypes only.
Source

pub unsafe fn readsFromDepthBuffer(&self) -> bool

Determines whether the receiver reads from the depth buffer when rendered. Defaults to YES.

Source

pub unsafe fn setReadsFromDepthBuffer(&self, reads_from_depth_buffer: bool)

Source

pub unsafe fn fresnelExponent(&self) -> CGFloat

Available on crate feature objc2-core-foundation only.

Specifies the receiver’s fresnel exponent value. Defaults to 0.0. Animatable.

The effect of the reflectivity property is modulated by this property. The fresnelExponent changes the exponent of the reflectance. The bigger the exponent, the more concentrated the reflection is around the edges.

Source

pub unsafe fn setFresnelExponent(&self, fresnel_exponent: CGFloat)

Available on crate feature objc2-core-foundation only.

Setter for fresnelExponent.

Source

pub unsafe fn blendMode(&self) -> SCNBlendMode

Specifies the receiver’s blend mode. Defaults to SCNBlendModeAlpha.

Source

pub unsafe fn setBlendMode(&self, blend_mode: SCNBlendMode)

Setter for blendMode.

Source§

impl SCNMaterial

Methods declared on superclass NSObject.

Source

pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>

Source

pub unsafe fn new() -> Retained<Self>

Methods from Deref<Target = NSObject>§

Source

pub fn doesNotRecognizeSelector(&self, sel: Sel) -> !

Handle messages the object doesn’t recognize.

See Apple’s documentation for details.

Methods from Deref<Target = AnyObject>§

Source

pub fn class(&self) -> &'static AnyClass

Dynamically find the class of this object.

§Panics

May panic if the object is invalid (which may be the case for objects returned from unavailable init/new methods).

§Example

Check that an instance of NSObject has the precise class NSObject.

use objc2::ClassType;
use objc2::runtime::NSObject;

let obj = NSObject::new();
assert_eq!(obj.class(), NSObject::class());
Source

pub unsafe fn get_ivar<T>(&self, name: &str) -> &T
where T: Encode,

👎Deprecated: this is difficult to use correctly, use Ivar::load instead.

Use Ivar::load instead.

§Safety

The object must have an instance variable with the given name, and it must be of type T.

See Ivar::load_ptr for details surrounding this.

Source

pub fn downcast_ref<T>(&self) -> Option<&T>
where T: DowncastTarget,

Attempt to downcast the object to a class of type T.

This is the reference-variant. Use Retained::downcast if you want to convert a retained object to another type.

§Mutable classes

Some classes have immutable and mutable variants, such as NSString and NSMutableString.

When some Objective-C API signature says it gives you an immutable class, it generally expects you to not mutate that, even though it may technically be mutable “under the hood”.

So using this method to convert a NSString to a NSMutableString, while not unsound, is generally frowned upon unless you created the string yourself, or the API explicitly documents the string to be mutable.

See Apple’s documentation on mutability and on isKindOfClass: for more details.

§Generic classes

Objective-C generics are called “lightweight generics”, and that’s because they aren’t exposed in the runtime. This makes it impossible to safely downcast to generic collections, so this is disallowed by this method.

You can, however, safely downcast to generic collections where all the type-parameters are AnyObject.

§Panics

This works internally by calling isKindOfClass:. That means that the object must have the instance method of that name, and an exception will be thrown (if CoreFoundation is linked) or the process will abort if that is not the case. In the vast majority of cases, you don’t need to worry about this, since both root objects NSObject and NSProxy implement this method.

§Examples

Cast an NSString back and forth from NSObject.

use objc2::rc::Retained;
use objc2_foundation::{NSObject, NSString};

let obj: Retained<NSObject> = NSString::new().into_super();
let string = obj.downcast_ref::<NSString>().unwrap();
// Or with `downcast`, if we do not need the object afterwards
let string = obj.downcast::<NSString>().unwrap();

Try (and fail) to cast an NSObject to an NSString.

use objc2_foundation::{NSObject, NSString};

let obj = NSObject::new();
assert!(obj.downcast_ref::<NSString>().is_none());

Try to cast to an array of strings.

use objc2_foundation::{NSArray, NSObject, NSString};

let arr = NSArray::from_retained_slice(&[NSObject::new()]);
// This is invalid and doesn't type check.
let arr = arr.downcast_ref::<NSArray<NSString>>();

This fails to compile, since it would require enumerating over the array to ensure that each element is of the desired type, which is a performance pitfall.

Downcast when processing each element instead.

use objc2_foundation::{NSArray, NSObject, NSString};

let arr = NSArray::from_retained_slice(&[NSObject::new()]);

for elem in arr {
    if let Some(data) = elem.downcast_ref::<NSString>() {
        // handle `data`
    }
}

Trait Implementations§

Source§

impl AsRef<AnyObject> for SCNMaterial

Source§

fn as_ref(&self) -> &AnyObject

Converts this type into a shared reference of the (usually inferred) input type.
Source§

impl AsRef<NSObject> for SCNMaterial

Source§

fn as_ref(&self) -> &NSObject

Converts this type into a shared reference of the (usually inferred) input type.
Source§

impl AsRef<SCNMaterial> for SCNMaterial

Source§

fn as_ref(&self) -> &Self

Converts this type into a shared reference of the (usually inferred) input type.
Source§

impl Borrow<AnyObject> for SCNMaterial

Source§

fn borrow(&self) -> &AnyObject

Immutably borrows from an owned value. Read more
Source§

impl Borrow<NSObject> for SCNMaterial

Source§

fn borrow(&self) -> &NSObject

Immutably borrows from an owned value. Read more
Source§

impl ClassType for SCNMaterial

Source§

const NAME: &'static str = "SCNMaterial"

The name of the Objective-C class that this type represents. Read more
Source§

type Super = NSObject

The superclass of this class. Read more
Source§

type ThreadKind = <<SCNMaterial as ClassType>::Super as ClassType>::ThreadKind

Whether the type can be used from any thread, or from only the main thread. Read more
Source§

fn class() -> &'static AnyClass

Get a reference to the Objective-C class that this type represents. Read more
Source§

fn as_super(&self) -> &Self::Super

Get an immutable reference to the superclass.
Source§

impl CopyingHelper for SCNMaterial

Source§

type Result = SCNMaterial

The immutable counterpart of the type, or Self if the type has no immutable counterpart. Read more
Source§

impl Debug for SCNMaterial

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Deref for SCNMaterial

Source§

type Target = NSObject

The resulting type after dereferencing.
Source§

fn deref(&self) -> &Self::Target

Dereferences the value.
Source§

impl Hash for SCNMaterial

Source§

fn hash<H: Hasher>(&self, state: &mut H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl Message for SCNMaterial

Source§

fn retain(&self) -> Retained<Self>
where Self: Sized,

Increment the reference count of the receiver. Read more
Source§

impl NSCoding for SCNMaterial

Source§

unsafe fn encodeWithCoder(&self, coder: &NSCoder)
where Self: Sized + Message,

Source§

unsafe fn initWithCoder( this: Allocated<Self>, coder: &NSCoder, ) -> Option<Retained<Self>>
where Self: Sized + Message,

Source§

impl NSCopying for SCNMaterial

Source§

fn copy(&self) -> Retained<Self::Result>
where Self: Sized + Message + CopyingHelper,

Returns a new instance that’s a copy of the receiver. Read more
Source§

unsafe fn copyWithZone(&self, zone: *mut NSZone) -> Retained<Self::Result>
where Self: Sized + Message + CopyingHelper,

Returns a new instance that’s a copy of the receiver. Read more
Source§

impl NSObjectProtocol for SCNMaterial

Source§

fn isEqual(&self, other: Option<&AnyObject>) -> bool
where Self: Sized + Message,

Check whether the object is equal to an arbitrary other object. Read more
Source§

fn hash(&self) -> usize
where Self: Sized + Message,

An integer that can be used as a table address in a hash table structure. Read more
Source§

fn isKindOfClass(&self, cls: &AnyClass) -> bool
where Self: Sized + Message,

Check if the object is an instance of the class, or one of its subclasses. Read more
Source§

fn is_kind_of<T>(&self) -> bool
where T: ClassType, Self: Sized + Message,

👎Deprecated: use isKindOfClass directly, or cast your objects with AnyObject::downcast_ref
Check if the object is an instance of the class type, or one of its subclasses. Read more
Source§

fn isMemberOfClass(&self, cls: &AnyClass) -> bool
where Self: Sized + Message,

Check if the object is an instance of a specific class, without checking subclasses. Read more
Source§

fn respondsToSelector(&self, aSelector: Sel) -> bool
where Self: Sized + Message,

Check whether the object implements or inherits a method with the given selector. Read more
Source§

fn conformsToProtocol(&self, aProtocol: &AnyProtocol) -> bool
where Self: Sized + Message,

Check whether the object conforms to a given protocol. Read more
Source§

fn description(&self) -> Retained<NSObject>
where Self: Sized + Message,

A textual representation of the object. Read more
Source§

fn debugDescription(&self) -> Retained<NSObject>
where Self: Sized + Message,

A textual representation of the object to use when debugging. Read more
Source§

fn isProxy(&self) -> bool
where Self: Sized + Message,

Check whether the receiver is a subclass of the NSProxy root class instead of the usual NSObject. Read more
Source§

fn retainCount(&self) -> usize
where Self: Sized + Message,

The reference count of the object. Read more
Source§

impl NSSecureCoding for SCNMaterial

Source§

unsafe fn supportsSecureCoding() -> bool
where Self: Sized + ClassType,

Source§

impl PartialEq for SCNMaterial

Source§

fn eq(&self, other: &Self) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl RefEncode for SCNMaterial

Source§

const ENCODING_REF: Encoding = <NSObject as ::objc2::RefEncode>::ENCODING_REF

The Objective-C type-encoding for a reference of this type. Read more
Source§

impl SCNAnimatable for SCNMaterial

Source§

unsafe fn addAnimation_forKey( &self, animation: &ProtocolObject<dyn SCNAnimationProtocol>, key: Option<&NSString>, )
where Self: Sized + Message,

Available on crate feature SCNAnimation only.
Adds and runs an animation Read more
Source§

unsafe fn addAnimationPlayer_forKey( &self, player: &SCNAnimationPlayer, key: Option<&NSString>, )
where Self: Sized + Message,

Available on crate feature SCNAnimation only.
Add an animation player. Read more
Source§

unsafe fn removeAllAnimations(&self)
where Self: Sized + Message,

Available on crate feature SCNAnimation only.
Remove all animations.
Source§

unsafe fn removeAllAnimationsWithBlendOutDuration(&self, duration: CGFloat)
where Self: Sized + Message,

Available on crate features SCNAnimation and objc2-core-foundation only.
Smoothly remove all animations. Read more
Source§

unsafe fn removeAnimationForKey(&self, key: &NSString)
where Self: Sized + Message,

Available on crate feature SCNAnimation only.
Remove the animation with the given identifier. Read more
Source§

unsafe fn removeAnimationForKey_blendOutDuration( &self, key: &NSString, duration: CGFloat, )
where Self: Sized + Message,

Available on crate features SCNAnimation and objc2-core-foundation only.
Smoothly remove the animation with the given identifier. Read more
Source§

unsafe fn animationKeys(&self) -> Retained<NSArray<NSString>>
where Self: Sized + Message,

Available on crate feature SCNAnimation only.
Returns an array containing the keys of all animations currently attached to the receiver.
Source§

unsafe fn animationPlayerForKey( &self, key: &NSString, ) -> Option<Retained<SCNAnimationPlayer>>
where Self: Sized + Message,

Available on crate feature SCNAnimation only.
Returns the animation player with the given identifier Read more
Source§

unsafe fn removeAnimationForKey_fadeOutDuration( &self, key: &NSString, duration: CGFloat, )
where Self: Sized + Message,

👎Deprecated
Available on crate features SCNAnimation and objc2-core-foundation only.
Smoothly remove the animation with the given identifier. Read more
Source§

unsafe fn animationForKey( &self, key: &NSString, ) -> Option<Retained<CAAnimation>>
where Self: Sized + Message,

👎Deprecated
Available on crate feature objc2-quartz-core and non-watchOS and crate feature SCNAnimation only.
Returns the animation with the given identifier Read more
Source§

unsafe fn pauseAnimationForKey(&self, key: &NSString)
where Self: Sized + Message,

👎Deprecated: Use -[SCNAnimationPlayer setPaused:] instead
Available on crate feature SCNAnimation only.
Pause the animation with the given identifier. Read more
Source§

unsafe fn resumeAnimationForKey(&self, key: &NSString)
where Self: Sized + Message,

👎Deprecated: Use -[SCNAnimationPlayer setPaused:] instead
Available on crate feature SCNAnimation only.
Resume the animation with the given identifier. Read more
Source§

unsafe fn setSpeed_forAnimationKey(&self, speed: CGFloat, key: &NSString)
where Self: Sized + Message,

👎Deprecated: Use -[SCNAnimationPlayer setSpeed:] instead
Available on crate features SCNAnimation and objc2-core-foundation only.
Update the animation speed of the animation with the given identifier. Read more
Source§

unsafe fn isAnimationForKeyPaused(&self, key: &NSString) -> bool
where Self: Sized + Message,

👎Deprecated: Use -[SCNAnimationPlayer paused] instead
Available on crate feature SCNAnimation only.
Returns whether the animation for the specified identifier is paused. Read more
Source§

impl SCNShadable for SCNMaterial

Source§

unsafe fn program(&self) -> Option<Retained<SCNProgram>>
where Self: Sized + Message,

Available on crate feature SCNShadable only.
Specifies a custom program used to render the receiver. Read more
Source§

unsafe fn setProgram(&self, program: Option<&SCNProgram>)
where Self: Sized + Message,

Available on crate feature SCNShadable only.
Setter for program.
Source§

unsafe fn handleBindingOfSymbol_usingBlock( &self, symbol: &NSString, block: SCNBindingBlock, )
where Self: Sized + Message,

Available on crate features SCNNode and SCNRenderer and block2 and SCNShadable only.
Sets the block to call at render time to bind the value for the specified symbol of the receiver’s SCNProgram. This method has no effect for symbols declared in shader modifiers. Read more
Source§

unsafe fn handleUnbindingOfSymbol_usingBlock( &self, symbol: &NSString, block: SCNBindingBlock, )
where Self: Sized + Message,

Available on crate features SCNNode and SCNRenderer and block2 and SCNShadable only.
Sets the block to call at render time to unbind the value for the specified symbol of the receiver’s SCNProgram. This method has no effect for symbols declared in shader modifiers. Read more
Source§

unsafe fn shaderModifiers( &self, ) -> Option<Retained<NSDictionary<SCNShaderModifierEntryPoint, NSString>>>
where Self: Sized + Message,

Available on crate feature SCNShadable only.
Dictionary of shader modifiers snippets, targeting entry points. The valid keys are the entry points described in the “Shader Modifier Entry Point” constants. The values are the code snippets formatted as described below. Read more
Source§

unsafe fn setShaderModifiers( &self, shader_modifiers: Option<&NSDictionary<SCNShaderModifierEntryPoint, NSString>>, )
where Self: Sized + Message,

Available on crate feature SCNShadable only.
Setter for shaderModifiers.
Source§

unsafe fn minimumLanguageVersion(&self) -> Option<Retained<NSNumber>>
where Self: Sized + Message,

Available on crate feature SCNShadable only.
The minimum language version required to interpret the shadable source code (wrapped MTLLanguageVersion). Defaults to nil. Read more
Source§

unsafe fn setMinimumLanguageVersion( &self, minimum_language_version: Option<&NSNumber>, )
where Self: Sized + Message,

Available on crate feature SCNShadable only.
Source§

impl DowncastTarget for SCNMaterial

Source§

impl Eq for SCNMaterial

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<'a, T> AnyThread for T
where T: ClassType<ThreadKind = dyn AnyThread + 'a> + ?Sized,

Source§

fn alloc() -> Allocated<Self>
where Self: Sized + ClassType,

Allocate a new instance of the class. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<P, T> Receiver for P
where P: Deref<Target = T> + ?Sized, T: ?Sized,

Source§

type Target = T

🔬This is a nightly-only experimental API. (arbitrary_self_types)
The target type on which the method may be called.
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> AutoreleaseSafe for T
where T: ?Sized,