[−][src]Struct gdnative::api::CPUParticles
core class CPUParticles
inherits GeometryInstance
(unsafe).
Official documentation
See the documentation of this class in the Godot engine's official documentation.
Memory management
Non reference counted objects such as the ones of this type are usually owned by the engine.
CPUParticles
is a reference-only type. Persistent references can
only exist in the unsafe Ref<CPUParticles>
form.
In the cases where Rust code owns an object of this type, for example if the object was just
created on the Rust side and not passed to the engine yet, ownership should be either given
to the engine or the object must be manually destroyed using Ref::free
, or Ref::queue_free
if it is a Node
.
Class hierarchy
CPUParticles inherits methods from:
Safety
All types in the Godot API have "interior mutability" in Rust parlance.
To enforce that the official thread-safety guidelines are
followed, the typestate pattern is used in the Ref
and TRef
smart pointers,
and the Instance
API. The typestate Access
in these types tracks whether the
access is unique, shared, or exclusive to the current thread. For more information,
see the type-level documentation on Ref
.
Implementations
impl CPUParticles
[src]
Constants
pub const DRAW_ORDER_INDEX: i64
[src]
pub const DRAW_ORDER_LIFETIME: i64
[src]
pub const DRAW_ORDER_VIEW_DEPTH: i64
[src]
pub const EMISSION_SHAPE_BOX: i64
[src]
pub const EMISSION_SHAPE_DIRECTED_POINTS: i64
[src]
pub const EMISSION_SHAPE_MAX: i64
[src]
pub const EMISSION_SHAPE_POINT: i64
[src]
pub const EMISSION_SHAPE_POINTS: i64
[src]
pub const EMISSION_SHAPE_SPHERE: i64
[src]
pub const FLAG_ALIGN_Y_TO_VELOCITY: i64
[src]
pub const FLAG_DISABLE_Z: i64
[src]
pub const FLAG_MAX: i64
[src]
pub const FLAG_ROTATE_Y: i64
[src]
pub const PARAM_ANGLE: i64
[src]
pub const PARAM_ANGULAR_VELOCITY: i64
[src]
pub const PARAM_ANIM_OFFSET: i64
[src]
pub const PARAM_ANIM_SPEED: i64
[src]
pub const PARAM_DAMPING: i64
[src]
pub const PARAM_HUE_VARIATION: i64
[src]
pub const PARAM_INITIAL_LINEAR_VELOCITY: i64
[src]
pub const PARAM_LINEAR_ACCEL: i64
[src]
pub const PARAM_MAX: i64
[src]
pub const PARAM_ORBIT_VELOCITY: i64
[src]
pub const PARAM_RADIAL_ACCEL: i64
[src]
pub const PARAM_SCALE: i64
[src]
pub const PARAM_TANGENTIAL_ACCEL: i64
[src]
impl CPUParticles
[src]
pub fn new() -> Ref<CPUParticles, Unique>
[src]
Creates a new instance of this object.
Because this type is not reference counted, the lifetime of the returned object is not automatically managed.
Immediately after creation, the object is owned by the caller, and can be
passed to the engine (in which case the engine will be responsible for
destroying the object) or destroyed manually using Ref::free
, or preferably
Ref::queue_free
if it is a Node
.
pub fn convert_from_particles(&self, particles: impl AsArg<Node>)
[src]
Sets this node's properties to match a given [Particles] node with an assigned [ParticlesMaterial].
pub fn amount(&self) -> i64
[src]
Number of particles emitted in one emission cycle.
pub fn color(&self) -> Color
[src]
Unused for 3D particles.
pub fn color_ramp(&self) -> Option<Ref<Gradient, Shared>>
[src]
Unused for 3D particles.
pub fn direction(&self) -> Vector3D<f32, UnknownUnit>
[src]
Unit vector specifying the particles' emission direction.
pub fn draw_order(&self) -> DrawOrder
[src]
Particle draw order. Uses [enum DrawOrder] values.
pub fn emission_box_extents(&self) -> Vector3D<f32, UnknownUnit>
[src]
The rectangle's extents if [member emission_shape] is set to [constant EMISSION_SHAPE_BOX].
pub fn emission_colors(&self) -> TypedArray<Color>
[src]
Sets the [Color]s to modulate particles by when using [constant EMISSION_SHAPE_POINTS] or [constant EMISSION_SHAPE_DIRECTED_POINTS].
pub fn emission_normals(&self) -> TypedArray<Vector3D<f32, UnknownUnit>>
[src]
Sets the direction the particles will be emitted in when using [constant EMISSION_SHAPE_DIRECTED_POINTS].
pub fn emission_points(&self) -> TypedArray<Vector3D<f32, UnknownUnit>>
[src]
Sets the initial positions to spawn particles when using [constant EMISSION_SHAPE_POINTS] or [constant EMISSION_SHAPE_DIRECTED_POINTS].
pub fn emission_shape(&self) -> EmissionShape
[src]
Particles will be emitted inside this region. See [enum EmissionShape] for possible values.
pub fn emission_sphere_radius(&self) -> f64
[src]
The sphere's radius if [enum EmissionShape] is set to [constant EMISSION_SHAPE_SPHERE].
pub fn explosiveness_ratio(&self) -> f64
[src]
How rapidly particles in an emission cycle are emitted. If greater than [code]0[/code], there will be a gap in emissions before the next cycle begins.
pub fn fixed_fps(&self) -> i64
[src]
The particle system's frame rate is fixed to a value. For instance, changing the value to 2 will make the particles render at 2 frames per second. Note this does not slow down the particle system itself.
pub fn flatness(&self) -> f64
[src]
Amount of [member spread] in Y/Z plane. A value of [code]1[/code] restricts particles to X/Z plane.
pub fn fractional_delta(&self) -> bool
[src]
If [code]true[/code], results in fractional delta calculation which has a smoother particles display effect.
pub fn gravity(&self) -> Vector3D<f32, UnknownUnit>
[src]
Gravity applied to every particle.
pub fn lifetime(&self) -> f64
[src]
Amount of time each particle will exist.
pub fn lifetime_randomness(&self) -> f64
[src]
Particle lifetime randomness ratio.
pub fn mesh(&self) -> Option<Ref<Mesh, Shared>>
[src]
The [Mesh] used for each particle. If [code]null[/code], particles will be spheres.
pub fn one_shot(&self) -> bool
[src]
If [code]true[/code], only one emission cycle occurs. If set [code]true[/code] during a cycle, emission will stop at the cycle's end.
pub fn param(&self, param: i64) -> f64
[src]
Tangential acceleration applied to each particle. Tangential acceleration is perpendicular to the particle's velocity giving the particles a swirling motion.
pub fn param_curve(&self, param: i64) -> Option<Ref<Curve, Shared>>
[src]
Each particle's tangential acceleration will vary along this [Curve].
pub fn param_randomness(&self, param: i64) -> f64
[src]
Tangential acceleration randomness ratio.
pub fn particle_flag(&self, flag: i64) -> bool
[src]
If [code]true[/code], particles rotate around Y axis by [member angle].
pub fn pre_process_time(&self) -> f64
[src]
Particle system starts as if it had already run for this many seconds.
pub fn randomness_ratio(&self) -> f64
[src]
Emission lifetime randomness ratio.
pub fn speed_scale(&self) -> f64
[src]
Particle system's running speed scaling ratio. A value of [code]0[/code] can be used to pause the particles.
pub fn spread(&self) -> f64
[src]
Each particle's initial direction range from [code]+spread[/code] to [code]-spread[/code] degrees. Applied to X/Z plane and Y/Z planes.
pub fn use_local_coordinates(&self) -> bool
[src]
If [code]true[/code], particles use the parent node's coordinate space. If [code]false[/code], they use global coordinates.
pub fn is_emitting(&self) -> bool
[src]
If [code]true[/code], particles are being emitted.
pub fn restart(&self)
[src]
Restarts the particle emitter.
pub fn set_amount(&self, amount: i64)
[src]
Number of particles emitted in one emission cycle.
pub fn set_color(&self, color: Color)
[src]
Unused for 3D particles.
pub fn set_color_ramp(&self, ramp: impl AsArg<Gradient>)
[src]
Unused for 3D particles.
pub fn set_direction(&self, direction: Vector3D<f32, UnknownUnit>)
[src]
Unit vector specifying the particles' emission direction.
pub fn set_draw_order(&self, order: i64)
[src]
Particle draw order. Uses [enum DrawOrder] values.
pub fn set_emission_box_extents(&self, extents: Vector3D<f32, UnknownUnit>)
[src]
The rectangle's extents if [member emission_shape] is set to [constant EMISSION_SHAPE_BOX].
pub fn set_emission_colors(&self, array: TypedArray<Color>)
[src]
Sets the [Color]s to modulate particles by when using [constant EMISSION_SHAPE_POINTS] or [constant EMISSION_SHAPE_DIRECTED_POINTS].
pub fn set_emission_normals(
&self,
array: TypedArray<Vector3D<f32, UnknownUnit>>
)
[src]
&self,
array: TypedArray<Vector3D<f32, UnknownUnit>>
)
Sets the direction the particles will be emitted in when using [constant EMISSION_SHAPE_DIRECTED_POINTS].
pub fn set_emission_points(&self, array: TypedArray<Vector3D<f32, UnknownUnit>>)
[src]
Sets the initial positions to spawn particles when using [constant EMISSION_SHAPE_POINTS] or [constant EMISSION_SHAPE_DIRECTED_POINTS].
pub fn set_emission_shape(&self, shape: i64)
[src]
Particles will be emitted inside this region. See [enum EmissionShape] for possible values.
pub fn set_emission_sphere_radius(&self, radius: f64)
[src]
The sphere's radius if [enum EmissionShape] is set to [constant EMISSION_SHAPE_SPHERE].
pub fn set_emitting(&self, emitting: bool)
[src]
If [code]true[/code], particles are being emitted.
pub fn set_explosiveness_ratio(&self, ratio: f64)
[src]
How rapidly particles in an emission cycle are emitted. If greater than [code]0[/code], there will be a gap in emissions before the next cycle begins.
pub fn set_fixed_fps(&self, fps: i64)
[src]
The particle system's frame rate is fixed to a value. For instance, changing the value to 2 will make the particles render at 2 frames per second. Note this does not slow down the particle system itself.
pub fn set_flatness(&self, amount: f64)
[src]
Amount of [member spread] in Y/Z plane. A value of [code]1[/code] restricts particles to X/Z plane.
pub fn set_fractional_delta(&self, enable: bool)
[src]
If [code]true[/code], results in fractional delta calculation which has a smoother particles display effect.
pub fn set_gravity(&self, accel_vec: Vector3D<f32, UnknownUnit>)
[src]
Gravity applied to every particle.
pub fn set_lifetime(&self, secs: f64)
[src]
Amount of time each particle will exist.
pub fn set_lifetime_randomness(&self, random: f64)
[src]
Particle lifetime randomness ratio.
pub fn set_mesh(&self, mesh: impl AsArg<Mesh>)
[src]
The [Mesh] used for each particle. If [code]null[/code], particles will be spheres.
pub fn set_one_shot(&self, enable: bool)
[src]
If [code]true[/code], only one emission cycle occurs. If set [code]true[/code] during a cycle, emission will stop at the cycle's end.
pub fn set_param(&self, param: i64, value: f64)
[src]
Tangential acceleration applied to each particle. Tangential acceleration is perpendicular to the particle's velocity giving the particles a swirling motion.
pub fn set_param_curve(&self, param: i64, curve: impl AsArg<Curve>)
[src]
Each particle's tangential acceleration will vary along this [Curve].
pub fn set_param_randomness(&self, param: i64, randomness: f64)
[src]
Tangential acceleration randomness ratio.
pub fn set_particle_flag(&self, flag: i64, enable: bool)
[src]
If [code]true[/code], particles rotate around Y axis by [member angle].
pub fn set_pre_process_time(&self, secs: f64)
[src]
Particle system starts as if it had already run for this many seconds.
pub fn set_randomness_ratio(&self, ratio: f64)
[src]
Emission lifetime randomness ratio.
pub fn set_speed_scale(&self, scale: f64)
[src]
Particle system's running speed scaling ratio. A value of [code]0[/code] can be used to pause the particles.
pub fn set_spread(&self, degrees: f64)
[src]
Each particle's initial direction range from [code]+spread[/code] to [code]-spread[/code] degrees. Applied to X/Z plane and Y/Z planes.
pub fn set_use_local_coordinates(&self, enable: bool)
[src]
If [code]true[/code], particles use the parent node's coordinate space. If [code]false[/code], they use global coordinates.
Methods from Deref<Target = GeometryInstance>
pub const FLAG_DRAW_NEXT_FRAME_IF_VISIBLE: i64
[src]
pub const FLAG_MAX: i64
[src]
pub const FLAG_USE_BAKED_LIGHT: i64
[src]
pub const SHADOW_CASTING_SETTING_DOUBLE_SIDED: i64
[src]
pub const SHADOW_CASTING_SETTING_OFF: i64
[src]
pub const SHADOW_CASTING_SETTING_ON: i64
[src]
pub const SHADOW_CASTING_SETTING_SHADOWS_ONLY: i64
[src]
pub fn cast_shadows_setting(&self) -> ShadowCastingSetting
[src]
The selected shadow casting flag. See [enum ShadowCastingSetting] for possible values.
pub fn extra_cull_margin(&self) -> f64
[src]
The extra distance added to the GeometryInstance's bounding box ([AABB]) to increase its cull box.
pub fn flag(&self, flag: i64) -> bool
[src]
If [code]true[/code], this GeometryInstance will be used when baking lights using a [GIProbe] or [BakedLightmap].
pub fn lod_max_distance(&self) -> f64
[src]
The GeometryInstance's max LOD distance.
[b]Note:[/b] This property currently has no effect.
pub fn lod_max_hysteresis(&self) -> f64
[src]
The GeometryInstance's max LOD margin.
[b]Note:[/b] This property currently has no effect.
pub fn lod_min_distance(&self) -> f64
[src]
The GeometryInstance's min LOD distance.
[b]Note:[/b] This property currently has no effect.
pub fn lod_min_hysteresis(&self) -> f64
[src]
The GeometryInstance's min LOD margin.
[b]Note:[/b] This property currently has no effect.
pub fn material_override(&self) -> Option<Ref<Material, Shared>>
[src]
The material override for the whole geometry.
If a material is assigned to this property, it will be used instead of any material set in any material slot of the mesh.
pub fn set_cast_shadows_setting(&self, shadow_casting_setting: i64)
[src]
The selected shadow casting flag. See [enum ShadowCastingSetting] for possible values.
pub fn set_custom_aabb(&self, aabb: Aabb)
[src]
Overrides the bounding box of this node with a custom one. To remove it, set an [AABB] with all fields set to zero.
pub fn set_extra_cull_margin(&self, margin: f64)
[src]
The extra distance added to the GeometryInstance's bounding box ([AABB]) to increase its cull box.
pub fn set_flag(&self, flag: i64, value: bool)
[src]
If [code]true[/code], this GeometryInstance will be used when baking lights using a [GIProbe] or [BakedLightmap].
pub fn set_lod_max_distance(&self, mode: f64)
[src]
The GeometryInstance's max LOD distance.
[b]Note:[/b] This property currently has no effect.
pub fn set_lod_max_hysteresis(&self, mode: f64)
[src]
The GeometryInstance's max LOD margin.
[b]Note:[/b] This property currently has no effect.
pub fn set_lod_min_distance(&self, mode: f64)
[src]
The GeometryInstance's min LOD distance.
[b]Note:[/b] This property currently has no effect.
pub fn set_lod_min_hysteresis(&self, mode: f64)
[src]
The GeometryInstance's min LOD margin.
[b]Note:[/b] This property currently has no effect.
pub fn set_material_override(&self, material: impl AsArg<Material>)
[src]
The material override for the whole geometry.
If a material is assigned to this property, it will be used instead of any material set in any material slot of the mesh.
Trait Implementations
impl Debug for CPUParticles
[src]
impl Deref for CPUParticles
[src]
type Target = GeometryInstance
The resulting type after dereferencing.
fn deref(&self) -> &GeometryInstance
[src]
impl DerefMut for CPUParticles
[src]
fn deref_mut(&mut self) -> &mut GeometryInstance
[src]
impl GodotObject for CPUParticles
[src]
type RefKind = ManuallyManaged
The memory management kind of this type. This modifies the behavior of the
Ref
smart pointer. See its type-level documentation for more
information. Read more
fn class_name() -> &'static str
[src]
fn null() -> Null<Self>
[src]
fn new() -> Ref<Self, Unique> where
Self: Instanciable,
[src]
Self: Instanciable,
fn cast<T>(&self) -> Option<&T> where
T: GodotObject + SubClass<Self>,
[src]
T: GodotObject + SubClass<Self>,
fn upcast<T>(&self) -> &T where
Self: SubClass<T>,
T: GodotObject,
[src]
Self: SubClass<T>,
T: GodotObject,
unsafe fn assume_shared(&self) -> Ref<Self, Shared>
[src]
unsafe fn assume_thread_local(&self) -> Ref<Self, ThreadLocal> where
Self: GodotObject<RefKind = RefCounted>,
[src]
Self: GodotObject<RefKind = RefCounted>,
unsafe fn assume_unique(&self) -> Ref<Self, Unique>
[src]
impl Instanciable for CPUParticles
[src]
fn construct() -> Ref<CPUParticles, Unique>
[src]
impl QueueFree for CPUParticles
[src]
unsafe fn godot_queue_free(obj: *mut c_void)
[src]
impl SubClass<GeometryInstance> for CPUParticles
[src]
impl SubClass<Node> for CPUParticles
[src]
impl SubClass<Object> for CPUParticles
[src]
impl SubClass<Spatial> for CPUParticles
[src]
impl SubClass<VisualInstance> for CPUParticles
[src]
Auto Trait Implementations
impl RefUnwindSafe for CPUParticles
impl !Send for CPUParticles
impl !Sync for CPUParticles
impl Unpin for CPUParticles
impl UnwindSafe for CPUParticles
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> SubClass<T> for T where
T: GodotObject,
[src]
T: GodotObject,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,