VolumeParticleEmitter2.h
Go to the documentation of this file.
Builder & WithSurface(const Surface2Ptr &surface)
Returns builder with surface defining volume shape.
Builder & WithMaxRegion(const BoundingBox2D &bounds)
Returns builder with max region.
Builder & WithAllowOverlapping(bool allowOverlapping)
Returns builder with overlapping flag.
Builder & WithImplicitSurface(const ImplicitSurface2Ptr &implicitSurface)
Returns builder with implicit surface defining volume shape.
Builder & WithSpacing(double spacing)
Returns builder with spacing.
void SetInitialVelocity(const Vector2D &newInitialVel)
Returns the initial velocity of the particles.
Builder & WithRandomSeed(uint32_t seed)
Returns builder with random seed.
Builder & WithInitialVelocity(const Vector2D &initialVel)
Returns builder with initial velocity.
std::shared_ptr< VolumeParticleEmitter2 > VolumeParticleEmitter2Ptr
Shared pointer for the VolumeParticleEmitter2 type.
Definition: VolumeParticleEmitter2.h:154
size_t GetMaxNumberOfParticles() const
Returns max number of particles to be emitted.
void SetPointGenerator(const PointGenerator2Ptr &newPointsGen)
Sets the point generator.
std::shared_ptr< ParticleSystemData2 > ParticleSystemData2Ptr
Shared pointer type of ParticleSystemData2.
Definition: ParticleSystemData2.h:250
Vector2D GetInitialVelocity() const
Sets the initial velocity of the particles.
Definition: pybind11Utils.h:24
void SetSpacing(double newSpacing)
Sets the spacing between particles.
void SetJitter(double newJitter)
Sets jitter amount between 0 and 1.
Front-end to create VolumeParticleEmitter2 objects step by step.
Definition: VolumeParticleEmitter2.h:159
2-D volumetric particle emitter.
Definition: VolumeParticleEmitter2.h:25
Builder & WithMaxNumberOfParticles(size_t maxNumberOfParticles)
Returns builder with max number of particles.
std::shared_ptr< ImplicitSurface2 > ImplicitSurface2Ptr
Shared pointer type for the ImplicitSurface2.
Definition: ImplicitSurface2.h:43
Builder & WithJitter(double jitter)
Returns builder with jitter amount.
double GetSpacing() const
Returns the spacing between particles.
void SetIsOneShot(bool newValue)
Sets the flag to true if particles are emitted just once.
Builder & WithIsOneShot(bool isOneShot)
Returns builder with one-shot flag.
void SetMaxNumberOfParticles(size_t newMaxNumberOfParticles)
Sets the max number of particles to be emitted.
VolumeParticleEmitter2Ptr MakeShared() const
Builds shared pointer of VolumeParticleEmitter2 instance.
static Builder GetBuilder()
Returns builder fox VolumeParticleEmitter2.
bool GetIsOneShot() const
Returns true if particles should be emitted just once.
std::shared_ptr< PointGenerator2 > PointGenerator2Ptr
Shared pointer for the PointGenerator2 type.
Definition: PointGenerator2.h:53
std::shared_ptr< Surface2 > Surface2Ptr
Shared pointer for the Surface2 type.
Definition: Surface2.h:100
Abstract base class for 2-D particle emitter.
Definition: ParticleEmitter2.h:19
void SetAllowOverlapping(bool newValue)
Sets the flag to true if particles can overlap each other.
VolumeParticleEmitter2(const ImplicitSurface2Ptr &implicitSurface, const BoundingBox2D &bounds, double spacing, const Vector2D &initialVel=Vector2D(), size_t maxNumberOfParticles=std::numeric_limits< size_t >::max(), double jitter=0.0, bool isOneShot=true, bool allowOverlapping=false, uint32_t seed=0)
bool GetAllowOverlapping() const
Returns true if particles can be overlapped.
VolumeParticleEmitter2 Build() const
Builds VolumeParticleEmitter2.