Go to the documentation of this file.
7 #ifndef INCLUDE_JET_POINT_PARTICLE_EMITTER3_H_
8 #define INCLUDE_JET_POINT_PARTICLE_EMITTER3_H_
45 double spreadAngleInDegrees,
46 size_t maxNumOfNewParticlesPerSec = 1,
68 double _firstFrameTimeInSeconds = 0.0;
69 size_t _numberOfEmittedParticles = 0;
71 size_t _maxNumberOfNewParticlesPerSecond = 1;
77 double _spreadAngleInRadians;
86 double currentTimeInSeconds,
87 double timeIntervalInSeconds)
override;
92 size_t maxNewNumberOfParticles);
119 size_t maxNumOfNewParticlesPerSec);
134 size_t _maxNumberOfNewParticlesPerSecond = 1;
135 size_t _maxNumberOfParticles =
kMaxSize;
139 double _spreadAngleInDegrees = 90.0;
145 #endif // INCLUDE_JET_POINT_PARTICLE_EMITTER3_H_
1-D array class.
Definition: array1.h:31
Builder & withRandomSeed(uint32_t seed)
Returns builder with random seed.
Point2< T > max(const Point2< T > &a, const Point2< T > &b)
Returns element-wise max point: (max(a.x, b.x), max(a.y, b.y)).
Abstract base class for 3-D particle emitter.
Definition: particle_emitter3.h:18
void setMaxNumberOfNewParticlesPerSecond(size_t rate)
Sets max number of new particles per second.
constexpr size_t kMaxSize
Max size_t.
Definition: constants.h:79
Front-end to create PointParticleEmitter3 objects step by step.
Definition: point_particle_emitter3.h:104
void setMaxNumberOfParticles(size_t maxNumberOfParticles)
Sets max number of particles to be emitted.
Definition: advection_solver2.h:18
static Builder builder()
Returns builder fox PointParticleEmitter3.
std::shared_ptr< PointParticleEmitter3 > PointParticleEmitter3Ptr
Shared pointer for the PointParticleEmitter3 type.
Definition: point_particle_emitter3.h:98
3-D point particle emitter.
Definition: point_particle_emitter3.h:22
size_t maxNumberOfNewParticlesPerSecond() const
Returns max number of new particles per second.
Builder & withMaxNumberOfNewParticlesPerSecond(size_t maxNumOfNewParticlesPerSec)
Builder & withDirection(const Vector3D &direction)
Returns builder with direction.
Builder & withMaxNumberOfParticles(size_t maxNumberOfParticles)
Returns builder with max number of particles.
PointParticleEmitter3(const Vector3D &origin, const Vector3D &direction, double speed, double spreadAngleInDegrees, size_t maxNumOfNewParticlesPerSec=1, size_t maxNumOfParticles=std::numeric_limits< size_t >::max(), uint32_t seed=0)
size_t maxNumberOfParticles() const
Returns max number of particles to be emitted.
PointParticleEmitter3 build() const
Builds PointParticleEmitter3.
3-D vector class.
Definition: vector3.h:25
Builder & withSpreadAngleInDegrees(double spreadAngleInDegrees)
Returns builder with spread angle in degrees.
Builder & withOrigin(const Vector3D &origin)
Returns builder with origin.
PointParticleEmitter3Ptr makeShared() const
Builds shared pointer of PointParticleEmitter3 instance.
Builder & withSpeed(double speed)
Returns builder with speed.