Search Results for

    Show / Hide Table of Contents

    Class BaseForce

    Particle force.

    Inheritance
    object
    IdentifiableObject
    DependencyObject
    AttachableObject
    PrefabInstanceObject
    Component
    BaseForce
    DragForce
    EntityAttractorForce
    PointAttractorForce
    WindForce
    Implements
    IDependencyObject
    Inherited Members
    Component.Owner
    Component.Managers
    Component.ShouldBeActivated
    Component.Clone()
    Component.Attach(Entity)
    Component.OnLoaded()
    Component.Start()
    Component.OnDetach()
    Component.OnDestroy()
    PrefabInstanceObject.PrefabSource
    PrefabInstanceObject.RefreshPrefab(Prefab)
    PrefabInstanceObject.PrefabElementId
    PrefabInstanceObject.IsPrefabInstance
    PrefabInstanceObject.IsMissingPrefabSource
    AttachableObject.AttachableStateChanged
    AttachableObject.IsEnabled
    AttachableObject.State
    AttachableObject.IsLoaded
    AttachableObject.IsAttached
    AttachableObject.IsActivated
    AttachableObject.IsStarted
    AttachableObject.IsDestroyed
    AttachableObject.Destroy()
    AttachableObject.DependencyBroken()
    DependencyObject.Dependencies
    DependencyObject.OnDependencyRemoved
    IdentifiableObject.Id
    IdentifiableObject.IdHasChanged(Guid)
    Namespace: Evergine.Framework.Particles.Forces
    Assembly: Evergine.Framework.dll
    Syntax
    public abstract class BaseForce : Component, IDependencyObject

    Fields

    Transform

    The transformation of the force.

    Declaration
    [BindComponent(true, true, BindComponentSource.Owner, null, true)]
    public Transform3D Transform
    Field Value
    Type Description
    Transform3D

    assets

    Manages the asset scene.

    Declaration
    [BindSceneManager(false, true)]
    protected AssetSceneManager assets
    Field Value
    Type Description
    AssetSceneManager

    particlesManager

    The particle scene manager that is bound.

    Declaration
    [BindSceneManager(false, false)]
    protected ParticlesManager particlesManager
    Field Value
    Type Description
    ParticlesManager

    Properties

    DecayEnabled

    Gets or sets a value indicating whether the force strength decays over distance.

    Declaration
    public bool DecayEnabled { get; set; }
    Property Value
    Type Description
    bool

    ForceCategory

    Gets or sets the force category.

    Declaration
    public CollisionCategory3D ForceCategory { get; set; }
    Property Value
    Type Description
    CollisionCategory3D

    ForceType

    Gets the force type.

    Declaration
    public abstract ForceTypes ForceType { get; }
    Property Value
    Type Description
    ForceTypes

    Range

    Gets or sets the particle force range.

    Declaration
    [RenderProperty(AttachToTag = 1, AttachToValue = true, CustomPropertyName = "Range", Tooltip = "The range of this force in meters.")]
    public float Range { get; set; }
    Property Value
    Type Description
    float

    RangeEnabled

    Gets or sets a value indicating whether the force has a range.

    Declaration
    [RenderProperty(Tag = 1)]
    public bool RangeEnabled { get; set; }
    Property Value
    Type Description
    bool

    RangeSqr

    Gets the squared particle force range.

    Declaration
    public float RangeSqr { get; }
    Property Value
    Type Description
    float

    Strength

    Gets or sets the range of the particle force.

    Declaration
    public float Strength { get; set; }
    Property Value
    Type Description
    float

    Methods

    ApplyForce(int, ref ParticleVertex, ref ParticleStateB, float)

    Apply force to a single particle.

    Declaration
    protected abstract void ApplyForce(int id, ref ParticleVertex p, ref ParticleStateB pB, float elapsedTime)
    Parameters
    Type Name Description
    int id

    The ID of the particle.

    ParticleVertex p

    The particle pointer.

    ParticleStateB pB

    The particle struct B pointer.

    float elapsedTime

    The elapsed time in seconds.

    CreateComputeTask(ComputeEmitterSimulator)

    Creates a compute task for a particle system.

    Declaration
    public abstract ComputeTaskDecorator CreateComputeTask(ComputeEmitterSimulator particleSystem)
    Parameters
    Type Name Description
    ComputeEmitterSimulator particleSystem

    The particle system.

    Returns
    Type Description
    ComputeTaskDecorator

    The compute task.

    OnActivated()

    Invoked when the object is activated once it is attached.

    Declaration
    protected override void OnActivated()
    Overrides
    Component.OnActivated()

    OnAttached()

    Invoked when the object is attached to the system.

    Declaration
    protected override bool OnAttached()
    Returns
    Type Description
    bool

    True if everything is OK.

    Overrides
    Component.OnAttached()

    OnDeactivated()

    Invoked when the object is deactivated.

    Declaration
    protected override void OnDeactivated()
    Overrides
    Component.OnDeactivated()

    RefreshComputeMatrices(ComputeTaskDecorator, CommandBuffer, ComputeEmitterSimulator, TimeSpan)

    Refreshes a compute task matrices for a particle system.

    Declaration
    public abstract void RefreshComputeMatrices(ComputeTaskDecorator computeTask, CommandBuffer commandBuffer, ComputeEmitterSimulator particleSystem, TimeSpan elapsedTime)
    Parameters
    Type Name Description
    ComputeTaskDecorator computeTask

    The compute task to refresh.

    CommandBuffer commandBuffer

    The command buffer.

    ComputeEmitterSimulator particleSystem

    The particle system.

    TimeSpan elapsedTime

    The elapsed time.

    RefreshComputeParams(ComputeTaskDecorator, ComputeEmitterSimulator)

    Refreshes a compute task for a particle system.

    Declaration
    public abstract void RefreshComputeParams(ComputeTaskDecorator computeTask, ComputeEmitterSimulator particleSystem)
    Parameters
    Type Name Description
    ComputeTaskDecorator computeTask

    The compute task to refresh.

    ComputeEmitterSimulator particleSystem

    The particle system.

    UpdateParticles(CPUEmitterSimulator, float)

    Updates the particles of the particle system by CPU.

    Declaration
    public void UpdateParticles(CPUEmitterSimulator emitter, float time)
    Parameters
    Type Name Description
    CPUEmitterSimulator emitter

    The particle system to update.

    float time

    The elapsed seconds.

    Implements

    IDependencyObject

    Extension Methods

    ReflectionHelper.GetMemberAssembly(object)
    ReflectionHelper.GetTypeName(object)
    In this article
    Back to top
    Generated by DocFX