[][src]Struct gdnative::api::CPUParticles2D

pub struct CPUParticles2D { /* fields omitted */ }

core class CPUParticles2D inherits Node2D (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.

CPUParticles2D is a reference-only type. Persistent references can only exist in the unsafe Ref<CPUParticles2D> 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

CPUParticles2D 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 CPUParticles2D[src]

Constants

impl CPUParticles2D[src]

pub fn new() -> Ref<CPUParticles2D, 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 [Particles2D] 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]

Each particle's initial color. If [member texture] is defined, it will be multiplied by this color.

pub fn color_ramp(&self) -> Option<Ref<Gradient, Shared>>[src]

Each particle's color will vary along this [Gradient].

pub fn direction(&self) -> Vector2D<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_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<Vector2D<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<Vector2D<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_rect_extents(&self) -> Vector2D<f32, UnknownUnit>[src]

The rectangle's extents if [member emission_shape] is set to [constant EMISSION_SHAPE_RECTANGLE].

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 [member emission_shape] 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 simulation of the particle system itself.

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) -> Vector2D<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 normalmap(&self) -> Option<Ref<Texture, Shared>>[src]

Normal map to be used for the [member texture] property.
			[b]Note:[/b] Godot expects the normal map to use X+, Y-, and Z+ coordinates. See [url=http://wiki.polycount.com/wiki/Normal_Map_Technical_Details#Common_Swizzle_Coordinates]this page[/url] for a comparison of normal map coordinates expected by popular engines.

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]

Align Y axis of particle with the direction of its velocity.

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.

pub fn texture(&self) -> Option<Ref<Texture, Shared>>[src]

Particle texture. If [code]null[/code], particles will be squares.

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]

Each particle's initial color. If [member texture] is defined, it will be multiplied by this color.

pub fn set_color_ramp(&self, ramp: impl AsArg<Gradient>)[src]

Each particle's color will vary along this [Gradient].

pub fn set_direction(&self, direction: Vector2D<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_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<Vector2D<f32, UnknownUnit>>
)
[src]

Sets the direction the particles will be emitted in when using [constant EMISSION_SHAPE_DIRECTED_POINTS].

pub fn set_emission_points(&self, array: TypedArray<Vector2D<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_rect_extents(&self, extents: Vector2D<f32, UnknownUnit>)[src]

The rectangle's extents if [member emission_shape] is set to [constant EMISSION_SHAPE_RECTANGLE].

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 [member emission_shape] 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 simulation of the particle system itself.

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: Vector2D<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_normalmap(&self, normalmap: impl AsArg<Texture>)[src]

Normal map to be used for the [member texture] property.
			[b]Note:[/b] Godot expects the normal map to use X+, Y-, and Z+ coordinates. See [url=http://wiki.polycount.com/wiki/Normal_Map_Technical_Details#Common_Swizzle_Coordinates]this page[/url] for a comparison of normal map coordinates expected by popular engines.

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]

Align Y axis of particle with the direction of its velocity.

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.

pub fn set_texture(&self, texture: impl AsArg<Texture>)[src]

Particle texture. If [code]null[/code], particles will be squares.

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 = Node2D>

pub fn apply_scale(&self, ratio: Vector2D<f32, UnknownUnit>)[src]

Multiplies the current scale by the [code]ratio[/code] vector.

pub fn get_angle_to(&self, point: Vector2D<f32, UnknownUnit>) -> f64[src]

Returns the angle between the node and the [code]point[/code] in radians.

pub fn global_position(&self) -> Vector2D<f32, UnknownUnit>[src]

Global position.

pub fn global_rotation(&self) -> f64[src]

Global rotation in radians.

pub fn global_rotation_degrees(&self) -> f64[src]

Global rotation in degrees.

pub fn global_scale(&self) -> Vector2D<f32, UnknownUnit>[src]

Global scale.

pub fn position(&self) -> Vector2D<f32, UnknownUnit>[src]

Position, relative to the node's parent.

pub fn get_relative_transform_to_parent(
    &self,
    parent: impl AsArg<Node>
) -> Transform2D<f32, UnknownUnit, UnknownUnit>
[src]

Returns the [Transform2D] relative to this node's parent.

pub fn rotation(&self) -> f64[src]

Rotation in radians, relative to the node's parent.

pub fn rotation_degrees(&self) -> f64[src]

Rotation in degrees, relative to the node's parent.

pub fn scale(&self) -> Vector2D<f32, UnknownUnit>[src]

The node's scale. Unscaled value: [code](1, 1)[/code].

pub fn z_index(&self) -> i64[src]

Z index. Controls the order in which the nodes render. A node with a higher Z index will display in front of others.

pub fn global_translate(&self, offset: Vector2D<f32, UnknownUnit>)[src]

Adds the [code]offset[/code] vector to the node's global position.

pub fn is_z_relative(&self) -> bool[src]

If [code]true[/code], the node's Z index is relative to its parent's Z index. If this node's Z index is 2 and its parent's effective Z index is 3, then this node's effective Z index will be 2 + 3 = 5.

pub fn look_at(&self, point: Vector2D<f32, UnknownUnit>)[src]

Rotates the node so it points towards the [code]point[/code], which is expected to use global coordinates.

pub fn move_local_x(&self, delta: f64, scaled: bool)[src]

Applies a local translation on the node's X axis based on the [method Node._process]'s [code]delta[/code]. If [code]scaled[/code] is [code]false[/code], normalizes the movement.

Default Arguments

  • scaled - false

pub fn move_local_y(&self, delta: f64, scaled: bool)[src]

Applies a local translation on the node's Y axis based on the [method Node._process]'s [code]delta[/code]. If [code]scaled[/code] is [code]false[/code], normalizes the movement.

Default Arguments

  • scaled - false

pub fn rotate(&self, radians: f64)[src]

Applies a rotation to the node, in radians, starting from its current rotation.

pub fn set_global_position(&self, position: Vector2D<f32, UnknownUnit>)[src]

Global position.

pub fn set_global_rotation(&self, radians: f64)[src]

Global rotation in radians.

pub fn set_global_rotation_degrees(&self, degrees: f64)[src]

Global rotation in degrees.

pub fn set_global_scale(&self, scale: Vector2D<f32, UnknownUnit>)[src]

Global scale.

pub fn set_global_transform(
    &self,
    xform: Transform2D<f32, UnknownUnit, UnknownUnit>
)
[src]

Global [Transform2D].

pub fn set_position(&self, position: Vector2D<f32, UnknownUnit>)[src]

Position, relative to the node's parent.

pub fn set_rotation(&self, radians: f64)[src]

Rotation in radians, relative to the node's parent.

pub fn set_rotation_degrees(&self, degrees: f64)[src]

Rotation in degrees, relative to the node's parent.

pub fn set_scale(&self, scale: Vector2D<f32, UnknownUnit>)[src]

The node's scale. Unscaled value: [code](1, 1)[/code].

pub fn set_transform(&self, xform: Transform2D<f32, UnknownUnit, UnknownUnit>)[src]

Local [Transform2D].

pub fn set_z_as_relative(&self, enable: bool)[src]

If [code]true[/code], the node's Z index is relative to its parent's Z index. If this node's Z index is 2 and its parent's effective Z index is 3, then this node's effective Z index will be 2 + 3 = 5.

pub fn set_z_index(&self, z_index: i64)[src]

Z index. Controls the order in which the nodes render. A node with a higher Z index will display in front of others.

pub fn to_global(
    &self,
    local_point: Vector2D<f32, UnknownUnit>
) -> Vector2D<f32, UnknownUnit>
[src]

Transforms the provided local position into a position in global coordinate space. The input is expected to be local relative to the [Node2D] it is called on. e.g. Applying this method to the positions of child nodes will correctly transform their positions into the global coordinate space, but applying it to a node's own position will give an incorrect result, as it will incorporate the node's own transformation into its global position.

pub fn to_local(
    &self,
    global_point: Vector2D<f32, UnknownUnit>
) -> Vector2D<f32, UnknownUnit>
[src]

Transforms the provided global position into a position in local coordinate space. The output will be local relative to the [Node2D] it is called on. e.g. It is appropriate for determining the positions of child nodes, but it is not appropriate for determining its own position relative to its parent.

pub fn translate(&self, offset: Vector2D<f32, UnknownUnit>)[src]

Translates the node by the given [code]offset[/code] in local coordinates.

Trait Implementations

impl Debug for CPUParticles2D[src]

impl Deref for CPUParticles2D[src]

type Target = Node2D

The resulting type after dereferencing.

impl DerefMut for CPUParticles2D[src]

impl GodotObject for CPUParticles2D[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

impl Instanciable for CPUParticles2D[src]

impl QueueFree for CPUParticles2D[src]

impl SubClass<CanvasItem> for CPUParticles2D[src]

impl SubClass<Node> for CPUParticles2D[src]

impl SubClass<Node2D> for CPUParticles2D[src]

impl SubClass<Object> for CPUParticles2D[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> SubClass<T> for T where
    T: GodotObject
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.