#[repr(C)]pub struct SCNParticleSystem { /* private fields */ }SCNParticleSystem only.Expand description
The SCNParticleSystem class represents a system of particles.
See also Apple’s documentation
Implementations§
Source§impl SCNParticleSystem
impl SCNParticleSystem
pub unsafe fn particleSystem() -> Retained<Self>
pub unsafe fn particleSystemNamed_inDirectory( name: &NSString, directory: Option<&NSString>, ) -> Option<Retained<Self>>
pub unsafe fn emissionDuration(&self) -> CGFloat
objc2-core-foundation only.Sourcepub unsafe fn setEmissionDuration(&self, emission_duration: CGFloat)
Available on crate feature objc2-core-foundation only.
pub unsafe fn setEmissionDuration(&self, emission_duration: CGFloat)
objc2-core-foundation only.Setter for emissionDuration.
pub unsafe fn emissionDurationVariation(&self) -> CGFloat
objc2-core-foundation only.Sourcepub unsafe fn setEmissionDurationVariation(
&self,
emission_duration_variation: CGFloat,
)
Available on crate feature objc2-core-foundation only.
pub unsafe fn setEmissionDurationVariation( &self, emission_duration_variation: CGFloat, )
objc2-core-foundation only.Setter for emissionDurationVariation.
pub unsafe fn idleDuration(&self) -> CGFloat
objc2-core-foundation only.Sourcepub unsafe fn setIdleDuration(&self, idle_duration: CGFloat)
Available on crate feature objc2-core-foundation only.
pub unsafe fn setIdleDuration(&self, idle_duration: CGFloat)
objc2-core-foundation only.Setter for idleDuration.
pub unsafe fn idleDurationVariation(&self) -> CGFloat
objc2-core-foundation only.Sourcepub unsafe fn setIdleDurationVariation(&self, idle_duration_variation: CGFloat)
Available on crate feature objc2-core-foundation only.
pub unsafe fn setIdleDurationVariation(&self, idle_duration_variation: CGFloat)
objc2-core-foundation only.Setter for idleDurationVariation.
pub unsafe fn loops(&self) -> bool
pub unsafe fn birthRate(&self) -> CGFloat
objc2-core-foundation only.Sourcepub unsafe fn setBirthRate(&self, birth_rate: CGFloat)
Available on crate feature objc2-core-foundation only.
pub unsafe fn setBirthRate(&self, birth_rate: CGFloat)
objc2-core-foundation only.Setter for birthRate.
pub unsafe fn birthRateVariation(&self) -> CGFloat
objc2-core-foundation only.Sourcepub unsafe fn setBirthRateVariation(&self, birth_rate_variation: CGFloat)
Available on crate feature objc2-core-foundation only.
pub unsafe fn setBirthRateVariation(&self, birth_rate_variation: CGFloat)
objc2-core-foundation only.Setter for birthRateVariation.
pub unsafe fn warmupDuration(&self) -> CGFloat
objc2-core-foundation only.Sourcepub unsafe fn setWarmupDuration(&self, warmup_duration: CGFloat)
Available on crate feature objc2-core-foundation only.
pub unsafe fn setWarmupDuration(&self, warmup_duration: CGFloat)
objc2-core-foundation only.Setter for warmupDuration.
pub unsafe fn emitterShape(&self) -> Option<Retained<SCNGeometry>>
SCNGeometry only.Sourcepub unsafe fn setEmitterShape(&self, emitter_shape: Option<&SCNGeometry>)
Available on crate feature SCNGeometry only.
pub unsafe fn setEmitterShape(&self, emitter_shape: Option<&SCNGeometry>)
SCNGeometry only.Setter for emitterShape.
pub unsafe fn birthLocation(&self) -> SCNParticleBirthLocation
Sourcepub unsafe fn setBirthLocation(&self, birth_location: SCNParticleBirthLocation)
pub unsafe fn setBirthLocation(&self, birth_location: SCNParticleBirthLocation)
Setter for birthLocation.
pub unsafe fn birthDirection(&self) -> SCNParticleBirthDirection
Sourcepub unsafe fn setBirthDirection(
&self,
birth_direction: SCNParticleBirthDirection,
)
pub unsafe fn setBirthDirection( &self, birth_direction: SCNParticleBirthDirection, )
Setter for birthDirection.
pub unsafe fn spreadingAngle(&self) -> CGFloat
objc2-core-foundation only.Sourcepub unsafe fn setSpreadingAngle(&self, spreading_angle: CGFloat)
Available on crate feature objc2-core-foundation only.
pub unsafe fn setSpreadingAngle(&self, spreading_angle: CGFloat)
objc2-core-foundation only.Setter for spreadingAngle.
pub unsafe fn emittingDirection(&self) -> SCNVector3
SceneKitTypes and objc2-core-foundation only.Sourcepub unsafe fn setEmittingDirection(&self, emitting_direction: SCNVector3)
Available on crate features SceneKitTypes and objc2-core-foundation only.
pub unsafe fn setEmittingDirection(&self, emitting_direction: SCNVector3)
SceneKitTypes and objc2-core-foundation only.Setter for emittingDirection.
pub unsafe fn orientationDirection(&self) -> SCNVector3
SceneKitTypes and objc2-core-foundation only.Sourcepub unsafe fn setOrientationDirection(&self, orientation_direction: SCNVector3)
Available on crate features SceneKitTypes and objc2-core-foundation only.
pub unsafe fn setOrientationDirection(&self, orientation_direction: SCNVector3)
SceneKitTypes and objc2-core-foundation only.Setter for orientationDirection.
pub unsafe fn acceleration(&self) -> SCNVector3
SceneKitTypes and objc2-core-foundation only.Sourcepub unsafe fn setAcceleration(&self, acceleration: SCNVector3)
Available on crate features SceneKitTypes and objc2-core-foundation only.
pub unsafe fn setAcceleration(&self, acceleration: SCNVector3)
SceneKitTypes and objc2-core-foundation only.Setter for acceleration.
pub unsafe fn isLocal(&self) -> bool
pub unsafe fn particleAngle(&self) -> CGFloat
objc2-core-foundation only.Sourcepub unsafe fn setParticleAngle(&self, particle_angle: CGFloat)
Available on crate feature objc2-core-foundation only.
pub unsafe fn setParticleAngle(&self, particle_angle: CGFloat)
objc2-core-foundation only.Setter for particleAngle.
pub unsafe fn particleAngleVariation(&self) -> CGFloat
objc2-core-foundation only.Sourcepub unsafe fn setParticleAngleVariation(
&self,
particle_angle_variation: CGFloat,
)
Available on crate feature objc2-core-foundation only.
pub unsafe fn setParticleAngleVariation( &self, particle_angle_variation: CGFloat, )
objc2-core-foundation only.Setter for particleAngleVariation.
pub unsafe fn particleVelocity(&self) -> CGFloat
objc2-core-foundation only.Sourcepub unsafe fn setParticleVelocity(&self, particle_velocity: CGFloat)
Available on crate feature objc2-core-foundation only.
pub unsafe fn setParticleVelocity(&self, particle_velocity: CGFloat)
objc2-core-foundation only.Setter for particleVelocity.
pub unsafe fn particleVelocityVariation(&self) -> CGFloat
objc2-core-foundation only.Sourcepub unsafe fn setParticleVelocityVariation(
&self,
particle_velocity_variation: CGFloat,
)
Available on crate feature objc2-core-foundation only.
pub unsafe fn setParticleVelocityVariation( &self, particle_velocity_variation: CGFloat, )
objc2-core-foundation only.Setter for particleVelocityVariation.
pub unsafe fn particleAngularVelocity(&self) -> CGFloat
objc2-core-foundation only.Sourcepub unsafe fn setParticleAngularVelocity(
&self,
particle_angular_velocity: CGFloat,
)
Available on crate feature objc2-core-foundation only.
pub unsafe fn setParticleAngularVelocity( &self, particle_angular_velocity: CGFloat, )
objc2-core-foundation only.Setter for particleAngularVelocity.
pub unsafe fn particleAngularVelocityVariation(&self) -> CGFloat
objc2-core-foundation only.Sourcepub unsafe fn setParticleAngularVelocityVariation(
&self,
particle_angular_velocity_variation: CGFloat,
)
Available on crate feature objc2-core-foundation only.
pub unsafe fn setParticleAngularVelocityVariation( &self, particle_angular_velocity_variation: CGFloat, )
objc2-core-foundation only.Setter for particleAngularVelocityVariation.
pub unsafe fn particleLifeSpan(&self) -> CGFloat
objc2-core-foundation only.Sourcepub unsafe fn setParticleLifeSpan(&self, particle_life_span: CGFloat)
Available on crate feature objc2-core-foundation only.
pub unsafe fn setParticleLifeSpan(&self, particle_life_span: CGFloat)
objc2-core-foundation only.Setter for particleLifeSpan.
pub unsafe fn particleLifeSpanVariation(&self) -> CGFloat
objc2-core-foundation only.Sourcepub unsafe fn setParticleLifeSpanVariation(
&self,
particle_life_span_variation: CGFloat,
)
Available on crate feature objc2-core-foundation only.
pub unsafe fn setParticleLifeSpanVariation( &self, particle_life_span_variation: CGFloat, )
objc2-core-foundation only.Setter for particleLifeSpanVariation.
pub unsafe fn systemSpawnedOnDying(&self) -> Option<Retained<SCNParticleSystem>>
Sourcepub unsafe fn setSystemSpawnedOnDying(
&self,
system_spawned_on_dying: Option<&SCNParticleSystem>,
)
pub unsafe fn setSystemSpawnedOnDying( &self, system_spawned_on_dying: Option<&SCNParticleSystem>, )
Setter for systemSpawnedOnDying.
pub unsafe fn systemSpawnedOnCollision( &self, ) -> Option<Retained<SCNParticleSystem>>
Sourcepub unsafe fn setSystemSpawnedOnCollision(
&self,
system_spawned_on_collision: Option<&SCNParticleSystem>,
)
pub unsafe fn setSystemSpawnedOnCollision( &self, system_spawned_on_collision: Option<&SCNParticleSystem>, )
Setter for systemSpawnedOnCollision.
pub unsafe fn systemSpawnedOnLiving( &self, ) -> Option<Retained<SCNParticleSystem>>
Sourcepub unsafe fn setSystemSpawnedOnLiving(
&self,
system_spawned_on_living: Option<&SCNParticleSystem>,
)
pub unsafe fn setSystemSpawnedOnLiving( &self, system_spawned_on_living: Option<&SCNParticleSystem>, )
Setter for systemSpawnedOnLiving.
pub unsafe fn particleImage(&self) -> Option<Retained<AnyObject>>
Sourcepub unsafe fn setParticleImage(&self, particle_image: Option<&AnyObject>)
pub unsafe fn setParticleImage(&self, particle_image: Option<&AnyObject>)
Setter for particleImage.
pub unsafe fn imageSequenceColumnCount(&self) -> NSUInteger
Sourcepub unsafe fn setImageSequenceColumnCount(
&self,
image_sequence_column_count: NSUInteger,
)
pub unsafe fn setImageSequenceColumnCount( &self, image_sequence_column_count: NSUInteger, )
Setter for imageSequenceColumnCount.
pub unsafe fn imageSequenceRowCount(&self) -> NSUInteger
Sourcepub unsafe fn setImageSequenceRowCount(
&self,
image_sequence_row_count: NSUInteger,
)
pub unsafe fn setImageSequenceRowCount( &self, image_sequence_row_count: NSUInteger, )
Setter for imageSequenceRowCount.
pub unsafe fn imageSequenceInitialFrame(&self) -> CGFloat
objc2-core-foundation only.Sourcepub unsafe fn setImageSequenceInitialFrame(
&self,
image_sequence_initial_frame: CGFloat,
)
Available on crate feature objc2-core-foundation only.
pub unsafe fn setImageSequenceInitialFrame( &self, image_sequence_initial_frame: CGFloat, )
objc2-core-foundation only.Setter for imageSequenceInitialFrame.
pub unsafe fn imageSequenceInitialFrameVariation(&self) -> CGFloat
objc2-core-foundation only.Sourcepub unsafe fn setImageSequenceInitialFrameVariation(
&self,
image_sequence_initial_frame_variation: CGFloat,
)
Available on crate feature objc2-core-foundation only.
pub unsafe fn setImageSequenceInitialFrameVariation( &self, image_sequence_initial_frame_variation: CGFloat, )
objc2-core-foundation only.Setter for imageSequenceInitialFrameVariation.
pub unsafe fn imageSequenceFrameRate(&self) -> CGFloat
objc2-core-foundation only.Sourcepub unsafe fn setImageSequenceFrameRate(
&self,
image_sequence_frame_rate: CGFloat,
)
Available on crate feature objc2-core-foundation only.
pub unsafe fn setImageSequenceFrameRate( &self, image_sequence_frame_rate: CGFloat, )
objc2-core-foundation only.Setter for imageSequenceFrameRate.
pub unsafe fn imageSequenceFrameRateVariation(&self) -> CGFloat
objc2-core-foundation only.Sourcepub unsafe fn setImageSequenceFrameRateVariation(
&self,
image_sequence_frame_rate_variation: CGFloat,
)
Available on crate feature objc2-core-foundation only.
pub unsafe fn setImageSequenceFrameRateVariation( &self, image_sequence_frame_rate_variation: CGFloat, )
objc2-core-foundation only.Setter for imageSequenceFrameRateVariation.
pub unsafe fn imageSequenceAnimationMode( &self, ) -> SCNParticleImageSequenceAnimationMode
Sourcepub unsafe fn setImageSequenceAnimationMode(
&self,
image_sequence_animation_mode: SCNParticleImageSequenceAnimationMode,
)
pub unsafe fn setImageSequenceAnimationMode( &self, image_sequence_animation_mode: SCNParticleImageSequenceAnimationMode, )
Setter for imageSequenceAnimationMode.
pub unsafe fn particleColor(&self) -> Retained<NSColor>
objc2-app-kit and macOS only.Sourcepub unsafe fn setParticleColor(&self, particle_color: &NSColor)
Available on crate feature objc2-app-kit and macOS only.
pub unsafe fn setParticleColor(&self, particle_color: &NSColor)
objc2-app-kit and macOS only.Setter for particleColor.
pub unsafe fn particleColorVariation(&self) -> SCNVector4
SceneKitTypes and objc2-core-foundation only.Sourcepub unsafe fn setParticleColorVariation(
&self,
particle_color_variation: SCNVector4,
)
Available on crate features SceneKitTypes and objc2-core-foundation only.
pub unsafe fn setParticleColorVariation( &self, particle_color_variation: SCNVector4, )
SceneKitTypes and objc2-core-foundation only.Setter for particleColorVariation.
pub unsafe fn particleSize(&self) -> CGFloat
objc2-core-foundation only.Sourcepub unsafe fn setParticleSize(&self, particle_size: CGFloat)
Available on crate feature objc2-core-foundation only.
pub unsafe fn setParticleSize(&self, particle_size: CGFloat)
objc2-core-foundation only.Setter for particleSize.
pub unsafe fn particleSizeVariation(&self) -> CGFloat
objc2-core-foundation only.Sourcepub unsafe fn setParticleSizeVariation(&self, particle_size_variation: CGFloat)
Available on crate feature objc2-core-foundation only.
pub unsafe fn setParticleSizeVariation(&self, particle_size_variation: CGFloat)
objc2-core-foundation only.Setter for particleSizeVariation.
pub unsafe fn particleIntensity(&self) -> CGFloat
objc2-core-foundation only.Sourcepub unsafe fn setParticleIntensity(&self, particle_intensity: CGFloat)
Available on crate feature objc2-core-foundation only.
pub unsafe fn setParticleIntensity(&self, particle_intensity: CGFloat)
objc2-core-foundation only.Setter for particleIntensity.
pub unsafe fn particleIntensityVariation(&self) -> CGFloat
objc2-core-foundation only.Sourcepub unsafe fn setParticleIntensityVariation(
&self,
particle_intensity_variation: CGFloat,
)
Available on crate feature objc2-core-foundation only.
pub unsafe fn setParticleIntensityVariation( &self, particle_intensity_variation: CGFloat, )
objc2-core-foundation only.Setter for particleIntensityVariation.
pub unsafe fn blendMode(&self) -> SCNParticleBlendMode
Sourcepub unsafe fn setBlendMode(&self, blend_mode: SCNParticleBlendMode)
pub unsafe fn setBlendMode(&self, blend_mode: SCNParticleBlendMode)
Setter for blendMode.
pub unsafe fn isBlackPassEnabled(&self) -> bool
Sourcepub unsafe fn setBlackPassEnabled(&self, black_pass_enabled: bool)
pub unsafe fn setBlackPassEnabled(&self, black_pass_enabled: bool)
Setter for isBlackPassEnabled.
pub unsafe fn orientationMode(&self) -> SCNParticleOrientationMode
Sourcepub unsafe fn setOrientationMode(
&self,
orientation_mode: SCNParticleOrientationMode,
)
pub unsafe fn setOrientationMode( &self, orientation_mode: SCNParticleOrientationMode, )
Setter for orientationMode.
pub unsafe fn sortingMode(&self) -> SCNParticleSortingMode
Sourcepub unsafe fn setSortingMode(&self, sorting_mode: SCNParticleSortingMode)
pub unsafe fn setSortingMode(&self, sorting_mode: SCNParticleSortingMode)
Setter for sortingMode.
pub unsafe fn isLightingEnabled(&self) -> bool
Sourcepub unsafe fn setLightingEnabled(&self, lighting_enabled: bool)
pub unsafe fn setLightingEnabled(&self, lighting_enabled: bool)
Setter for isLightingEnabled.
pub unsafe fn affectedByGravity(&self) -> bool
Sourcepub unsafe fn setAffectedByGravity(&self, affected_by_gravity: bool)
pub unsafe fn setAffectedByGravity(&self, affected_by_gravity: bool)
Setter for affectedByGravity.
pub unsafe fn affectedByPhysicsFields(&self) -> bool
Sourcepub unsafe fn setAffectedByPhysicsFields(
&self,
affected_by_physics_fields: bool,
)
pub unsafe fn setAffectedByPhysicsFields( &self, affected_by_physics_fields: bool, )
Setter for affectedByPhysicsFields.
pub unsafe fn particleDiesOnCollision(&self) -> bool
Sourcepub unsafe fn setParticleDiesOnCollision(
&self,
particle_dies_on_collision: bool,
)
pub unsafe fn setParticleDiesOnCollision( &self, particle_dies_on_collision: bool, )
Setter for particleDiesOnCollision.
pub unsafe fn colliderNodes(&self) -> Option<Retained<NSArray<SCNNode>>>
SCNNode only.Sourcepub unsafe fn setColliderNodes(&self, collider_nodes: Option<&NSArray<SCNNode>>)
Available on crate feature SCNNode only.
pub unsafe fn setColliderNodes(&self, collider_nodes: Option<&NSArray<SCNNode>>)
SCNNode only.Setter for colliderNodes.
pub unsafe fn particleMass(&self) -> CGFloat
objc2-core-foundation only.Sourcepub unsafe fn setParticleMass(&self, particle_mass: CGFloat)
Available on crate feature objc2-core-foundation only.
pub unsafe fn setParticleMass(&self, particle_mass: CGFloat)
objc2-core-foundation only.Setter for particleMass.
pub unsafe fn particleMassVariation(&self) -> CGFloat
objc2-core-foundation only.Sourcepub unsafe fn setParticleMassVariation(&self, particle_mass_variation: CGFloat)
Available on crate feature objc2-core-foundation only.
pub unsafe fn setParticleMassVariation(&self, particle_mass_variation: CGFloat)
objc2-core-foundation only.Setter for particleMassVariation.
pub unsafe fn particleBounce(&self) -> CGFloat
objc2-core-foundation only.Sourcepub unsafe fn setParticleBounce(&self, particle_bounce: CGFloat)
Available on crate feature objc2-core-foundation only.
pub unsafe fn setParticleBounce(&self, particle_bounce: CGFloat)
objc2-core-foundation only.Setter for particleBounce.
pub unsafe fn particleBounceVariation(&self) -> CGFloat
objc2-core-foundation only.Sourcepub unsafe fn setParticleBounceVariation(
&self,
particle_bounce_variation: CGFloat,
)
Available on crate feature objc2-core-foundation only.
pub unsafe fn setParticleBounceVariation( &self, particle_bounce_variation: CGFloat, )
objc2-core-foundation only.Setter for particleBounceVariation.
pub unsafe fn particleFriction(&self) -> CGFloat
objc2-core-foundation only.Sourcepub unsafe fn setParticleFriction(&self, particle_friction: CGFloat)
Available on crate feature objc2-core-foundation only.
pub unsafe fn setParticleFriction(&self, particle_friction: CGFloat)
objc2-core-foundation only.Setter for particleFriction.
pub unsafe fn particleFrictionVariation(&self) -> CGFloat
objc2-core-foundation only.Sourcepub unsafe fn setParticleFrictionVariation(
&self,
particle_friction_variation: CGFloat,
)
Available on crate feature objc2-core-foundation only.
pub unsafe fn setParticleFrictionVariation( &self, particle_friction_variation: CGFloat, )
objc2-core-foundation only.Setter for particleFrictionVariation.
pub unsafe fn particleCharge(&self) -> CGFloat
objc2-core-foundation only.Sourcepub unsafe fn setParticleCharge(&self, particle_charge: CGFloat)
Available on crate feature objc2-core-foundation only.
pub unsafe fn setParticleCharge(&self, particle_charge: CGFloat)
objc2-core-foundation only.Setter for particleCharge.
pub unsafe fn particleChargeVariation(&self) -> CGFloat
objc2-core-foundation only.Sourcepub unsafe fn setParticleChargeVariation(
&self,
particle_charge_variation: CGFloat,
)
Available on crate feature objc2-core-foundation only.
pub unsafe fn setParticleChargeVariation( &self, particle_charge_variation: CGFloat, )
objc2-core-foundation only.Setter for particleChargeVariation.
pub unsafe fn dampingFactor(&self) -> CGFloat
objc2-core-foundation only.Sourcepub unsafe fn setDampingFactor(&self, damping_factor: CGFloat)
Available on crate feature objc2-core-foundation only.
pub unsafe fn setDampingFactor(&self, damping_factor: CGFloat)
objc2-core-foundation only.Setter for dampingFactor.
pub unsafe fn speedFactor(&self) -> CGFloat
objc2-core-foundation only.Sourcepub unsafe fn setSpeedFactor(&self, speed_factor: CGFloat)
Available on crate feature objc2-core-foundation only.
pub unsafe fn setSpeedFactor(&self, speed_factor: CGFloat)
objc2-core-foundation only.Setter for speedFactor.
pub unsafe fn stretchFactor(&self) -> CGFloat
objc2-core-foundation only.Sourcepub unsafe fn setStretchFactor(&self, stretch_factor: CGFloat)
Available on crate feature objc2-core-foundation only.
pub unsafe fn setStretchFactor(&self, stretch_factor: CGFloat)
objc2-core-foundation only.Setter for stretchFactor.
pub unsafe fn fresnelExponent(&self) -> CGFloat
objc2-core-foundation only.Sourcepub unsafe fn setFresnelExponent(&self, fresnel_exponent: CGFloat)
Available on crate feature objc2-core-foundation only.
pub unsafe fn setFresnelExponent(&self, fresnel_exponent: CGFloat)
objc2-core-foundation only.Setter for fresnelExponent.
Sourcepub unsafe fn writesToDepthBuffer(&self) -> bool
pub unsafe fn writesToDepthBuffer(&self) -> bool
Determines whether the receiver writes to the depth buffer when rendered. Defaults to NO.
Sourcepub unsafe fn setWritesToDepthBuffer(&self, writes_to_depth_buffer: bool)
pub unsafe fn setWritesToDepthBuffer(&self, writes_to_depth_buffer: bool)
Setter for writesToDepthBuffer.
pub unsafe fn propertyControllers( &self, ) -> Option<Retained<NSDictionary<SCNParticleProperty, SCNParticlePropertyController>>>
Sourcepub unsafe fn setPropertyControllers(
&self,
property_controllers: Option<&NSDictionary<SCNParticleProperty, SCNParticlePropertyController>>,
)
pub unsafe fn setPropertyControllers( &self, property_controllers: Option<&NSDictionary<SCNParticleProperty, SCNParticlePropertyController>>, )
Setter for propertyControllers.
pub unsafe fn reset(&self)
pub unsafe fn handleEvent_forProperties_withBlock( &self, event: SCNParticleEvent, properties: &NSArray<SCNParticleProperty>, block: SCNParticleEventBlock, )
block2 only.pub unsafe fn addModifierForProperties_atStage_withBlock( &self, properties: &NSArray<SCNParticleProperty>, stage: SCNParticleModifierStage, block: SCNParticleModifierBlock, )
block2 only.pub unsafe fn removeModifiersOfStage(&self, stage: SCNParticleModifierStage)
pub unsafe fn removeAllModifiers(&self)
Methods from Deref<Target = NSObject>§
Sourcepub fn doesNotRecognizeSelector(&self, sel: Sel) -> !
pub fn doesNotRecognizeSelector(&self, sel: Sel) -> !
Handle messages the object doesn’t recognize.
See Apple’s documentation for details.
Methods from Deref<Target = AnyObject>§
Sourcepub fn class(&self) -> &'static AnyClass
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());Sourcepub unsafe fn get_ivar<T>(&self, name: &str) -> &Twhere
T: Encode,
👎Deprecated: this is difficult to use correctly, use Ivar::load instead.
pub unsafe fn get_ivar<T>(&self, name: &str) -> &Twhere
T: Encode,
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.
Sourcepub fn downcast_ref<T>(&self) -> Option<&T>where
T: DowncastTarget,
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 SCNParticleSystem
impl AsRef<AnyObject> for SCNParticleSystem
Source§impl AsRef<NSObject> for SCNParticleSystem
impl AsRef<NSObject> for SCNParticleSystem
Source§impl AsRef<SCNParticleSystem> for SCNParticleSystem
impl AsRef<SCNParticleSystem> for SCNParticleSystem
Source§impl Borrow<AnyObject> for SCNParticleSystem
impl Borrow<AnyObject> for SCNParticleSystem
Source§impl Borrow<NSObject> for SCNParticleSystem
impl Borrow<NSObject> for SCNParticleSystem
Source§impl ClassType for SCNParticleSystem
impl ClassType for SCNParticleSystem
Source§const NAME: &'static str = "SCNParticleSystem"
const NAME: &'static str = "SCNParticleSystem"
Source§type ThreadKind = <<SCNParticleSystem as ClassType>::Super as ClassType>::ThreadKind
type ThreadKind = <<SCNParticleSystem as ClassType>::Super as ClassType>::ThreadKind
Source§impl CopyingHelper for SCNParticleSystem
impl CopyingHelper for SCNParticleSystem
Source§type Result = SCNParticleSystem
type Result = SCNParticleSystem
Self if the type has no
immutable counterpart. Read moreSource§impl Debug for SCNParticleSystem
impl Debug for SCNParticleSystem
Source§impl Deref for SCNParticleSystem
impl Deref for SCNParticleSystem
Source§impl Hash for SCNParticleSystem
impl Hash for SCNParticleSystem
Source§impl Message for SCNParticleSystem
impl Message for SCNParticleSystem
Source§impl NSCoding for SCNParticleSystem
impl NSCoding for SCNParticleSystem
Source§impl NSCopying for SCNParticleSystem
impl NSCopying for SCNParticleSystem
Source§impl NSObjectProtocol for SCNParticleSystem
impl NSObjectProtocol for SCNParticleSystem
Source§fn isEqual(&self, other: Option<&AnyObject>) -> bool
fn isEqual(&self, other: Option<&AnyObject>) -> bool
Source§fn hash(&self) -> usize
fn hash(&self) -> usize
Source§fn isKindOfClass(&self, cls: &AnyClass) -> bool
fn isKindOfClass(&self, cls: &AnyClass) -> bool
Source§fn is_kind_of<T>(&self) -> bool
fn is_kind_of<T>(&self) -> bool
isKindOfClass directly, or cast your objects with AnyObject::downcast_refSource§fn isMemberOfClass(&self, cls: &AnyClass) -> bool
fn isMemberOfClass(&self, cls: &AnyClass) -> bool
Source§fn respondsToSelector(&self, aSelector: Sel) -> bool
fn respondsToSelector(&self, aSelector: Sel) -> bool
Source§fn conformsToProtocol(&self, aProtocol: &AnyProtocol) -> bool
fn conformsToProtocol(&self, aProtocol: &AnyProtocol) -> bool
Source§fn debugDescription(&self) -> Retained<NSObject>
fn debugDescription(&self) -> Retained<NSObject>
Source§impl NSSecureCoding for SCNParticleSystem
impl NSSecureCoding for SCNParticleSystem
Source§impl PartialEq for SCNParticleSystem
impl PartialEq for SCNParticleSystem
Source§impl RefEncode for SCNParticleSystem
impl RefEncode for SCNParticleSystem
Source§const ENCODING_REF: Encoding = <NSObject as ::objc2::RefEncode>::ENCODING_REF
const ENCODING_REF: Encoding = <NSObject as ::objc2::RefEncode>::ENCODING_REF
Source§impl SCNAnimatable for SCNParticleSystem
impl SCNAnimatable for SCNParticleSystem
Source§unsafe fn addAnimation_forKey(
&self,
animation: &ProtocolObject<dyn SCNAnimationProtocol>,
key: Option<&NSString>,
)
unsafe fn addAnimation_forKey( &self, animation: &ProtocolObject<dyn SCNAnimationProtocol>, key: Option<&NSString>, )
SCNAnimation only.Source§unsafe fn addAnimationPlayer_forKey(
&self,
player: &SCNAnimationPlayer,
key: Option<&NSString>,
)
unsafe fn addAnimationPlayer_forKey( &self, player: &SCNAnimationPlayer, key: Option<&NSString>, )
SCNAnimation only.Source§unsafe fn removeAllAnimations(&self)
unsafe fn removeAllAnimations(&self)
SCNAnimation only.Source§unsafe fn removeAllAnimationsWithBlendOutDuration(&self, duration: CGFloat)
unsafe fn removeAllAnimationsWithBlendOutDuration(&self, duration: CGFloat)
SCNAnimation and objc2-core-foundation only.Source§unsafe fn removeAnimationForKey(&self, key: &NSString)
unsafe fn removeAnimationForKey(&self, key: &NSString)
SCNAnimation only.Source§unsafe fn removeAnimationForKey_blendOutDuration(
&self,
key: &NSString,
duration: CGFloat,
)
unsafe fn removeAnimationForKey_blendOutDuration( &self, key: &NSString, duration: CGFloat, )
SCNAnimation and objc2-core-foundation only.Source§unsafe fn animationKeys(&self) -> Retained<NSArray<NSString>>
unsafe fn animationKeys(&self) -> Retained<NSArray<NSString>>
SCNAnimation only.Source§unsafe fn animationPlayerForKey(
&self,
key: &NSString,
) -> Option<Retained<SCNAnimationPlayer>>
unsafe fn animationPlayerForKey( &self, key: &NSString, ) -> Option<Retained<SCNAnimationPlayer>>
SCNAnimation only.Source§unsafe fn removeAnimationForKey_fadeOutDuration(
&self,
key: &NSString,
duration: CGFloat,
)
unsafe fn removeAnimationForKey_fadeOutDuration( &self, key: &NSString, duration: CGFloat, )
SCNAnimation and objc2-core-foundation only.Source§unsafe fn animationForKey(
&self,
key: &NSString,
) -> Option<Retained<CAAnimation>>
unsafe fn animationForKey( &self, key: &NSString, ) -> Option<Retained<CAAnimation>>
objc2-quartz-core and non-watchOS and crate feature SCNAnimation only.Source§unsafe fn pauseAnimationForKey(&self, key: &NSString)
unsafe fn pauseAnimationForKey(&self, key: &NSString)
SCNAnimation only.Source§unsafe fn resumeAnimationForKey(&self, key: &NSString)
unsafe fn resumeAnimationForKey(&self, key: &NSString)
SCNAnimation only.