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