Loading...
Searching...
No Matches
ParticleSystemSolver2.hpp
Go to the documentation of this file.
Definition Matrix.hpp:30
Front-end to create ParticleSystemSolver2 objects step by step.
Definition ParticleSystemSolver2.hpp:225
ParticleSystemSolver2Ptr MakeShared() const
Builds shared pointer of ParticleSystemSolver2 instance.
ParticleSystemSolver2 Build() const
Builds ParticleSystemSolver2.
Basic 2-D particle system solver.
Definition ParticleSystemSolver2.hpp:37
static Builder GetBuilder()
Returns builder fox ParticleSystemSolver2.
virtual void AccumulateForces(double timeStepInSeconds)
Accumulates forces applied to the particles.
void SetParticleSystemData(const ParticleSystemData2Ptr &newParticles)
Assign a new particle system data.
void SetEmitter(const ParticleEmitter2Ptr &newEmitter)
Sets the emitter.
void OnInitialize() override
Initializes the simulator.
ParticleSystemSolver2(double radius, double mass)
Constructs a solver with particle parameters.
ParticleSystemSolver2()
Constructs an empty solver.
ParticleSystemSolver2(ParticleSystemSolver2 &&) noexcept=delete
Deleted move constructor.
const ParticleEmitter2Ptr & GetEmitter() const
Returns the emitter.
double GetDragCoefficient() const
Returns the drag coefficient.
const Collider2Ptr & GetCollider() const
Returns the collider.
virtual void OnBeginAdvanceTimeStep(double timeStepInSeconds)
Called when a time-step is about to begin.
virtual void OnEndAdvanceTimeStep(double timeStepInSeconds)
Called after a time-step is completed.
double GetRestitutionCoefficient() const
Gets the restitution coefficient.
void SetDragCoefficient(double newDragCoefficient)
Sets the drag coefficient.
void SetCollider(const Collider2Ptr &newCollider)
Sets the collider.
const VectorField2Ptr & GetWind() const
Returns the wind field.
void ResolveCollision()
Resolves any collisions occurred by the particles.
void SetRestitutionCoefficient(double newRestitutionCoefficient)
Sets the restitution coefficient.
void SetGravity(const Vector2D &newGravity)
Sets the gravity.
void OnAdvanceTimeStep(double timeStepInSeconds) override
Called to advance a single time-step.
ParticleSystemSolver2(const ParticleSystemSolver2 &)=delete
Deleted copy constructor.
const ParticleSystemData2Ptr & GetParticleSystemData() const
Returns the particle system data.
Base class for particle-based solver builder.
Definition ParticleSystemSolver2.hpp:193
DerivedBuilder & WithRadius(double radius)
Returns builder with particle radius.
Definition ParticleSystemSolver2.hpp:207
double m_radius
Definition ParticleSystemSolver2.hpp:202
DerivedBuilder & WithMass(double mass)
Returns builder with mass per particle.
Definition ParticleSystemSolver2.hpp:214
double m_mass
Definition ParticleSystemSolver2.hpp:203
Abstract base class for physics-based animation.
Definition PhysicsAnimation.hpp:25
Definition pybind11Utils.hpp:21
std::shared_ptr< ParticleSystemSolver2 > ParticleSystemSolver2Ptr
Shared pointer type for the ParticleSystemSolver2.
Definition ParticleSystemSolver2.hpp:186
std::shared_ptr< Collider2 > Collider2Ptr
Shared pointer type for the Collider2.
Definition Collider.hpp:141
std::shared_ptr< ParticleEmitter2 > ParticleEmitter2Ptr
Shared pointer for the ParticleEmitter2 type.
Definition ParticleEmitter2.hpp:94
std::shared_ptr< ParticleSystemData2 > ParticleSystemData2Ptr
Shared pointer type of ParticleSystemData2.
Definition ParticleSystemData.hpp:281
std::shared_ptr< VectorField2 > VectorField2Ptr
Shared pointer for the VectorField2 type.
Definition VectorField.hpp:87
1.9.8