Loading...
Searching...
No Matches
VolumeParticleEmitter2.hpp
Go to the documentation of this file.
Definition Matrix.hpp:30
Abstract base class for 2-D particle emitter.
Definition ParticleEmitter2.hpp:22
Front-end to create VolumeParticleEmitter2 objects step by step.
Definition VolumeParticleEmitter2.hpp:190
Builder & WithMaxNumberOfParticles(size_t maxNumberOfParticles)
Returns builder with max number of particles.
Builder & WithInitialVelocity(const Vector2D &initialVel)
Returns builder with initial velocity.
Builder & WithAngularVelocity(double angularVel)
Returns builder with angular velocity.
Builder & WithLinearVelocity(const Vector2D &linearVel)
Returns builder with linear velocity.
Builder & WithJitter(double jitter)
Returns builder with jitter amount.
VolumeParticleEmitter2Ptr MakeShared() const
Builds shared pointer of VolumeParticleEmitter2 instance.
Builder & WithImplicitSurface(const ImplicitSurface2Ptr &implicitSurface)
Returns builder with implicit surface defining volume shape.
Builder & WithSpacing(double spacing)
Returns builder with spacing.
Builder & WithAllowOverlapping(bool allowOverlapping)
Returns builder with overlapping flag.
Builder & WithMaxRegion(const BoundingBox2D &maxRegion)
Returns builder with max region.
Builder & WithSurface(const Surface2Ptr &surface)
Returns builder with surface defining volume shape.
Builder & WithRandomSeed(uint32_t seed)
Returns builder with random seed.
Builder & WithIsOneShot(bool isOneShot)
Returns builder with one-shot flag.
VolumeParticleEmitter2 Build() const
Builds VolumeParticleEmitter2.
2-D volumetric particle emitter.
Definition VolumeParticleEmitter2.hpp:28
void SetMaxRegion(const BoundingBox2D &newMaxRegion)
Sets the max particle generator region.
void SetSpacing(double newSpacing)
Sets the spacing between particles.
void SetAllowOverlapping(bool newValue)
Sets the flag to true if particles can overlap each other.
void SetIsOneShot(bool newValue)
Sets the flag to true if particles are emitted just once.
size_t GetMaxNumberOfParticles() const
Returns max number of particles to be emitted.
void SetJitter(double newJitter)
Sets jitter amount between 0 and 1.
static Builder GetBuilder()
Returns builder fox VolumeParticleEmitter2.
Vector2D GetInitialVelocity() const
Sets the initial velocity of the particles.
void SetLinearVelocity(const Vector2D &newLinearVel)
Sets the linear velocity of the emitter.
void SetInitialVelocity(const Vector2D &newInitialVel)
Returns the initial velocity of the particles.
const ImplicitSurface2Ptr & GetSurface() const
Returns source surface.
void SetAngularVelocity(double newAngularVel)
Sets the linear velocity of the emitter.
double GetSpacing() const
Returns the spacing between particles.
bool GetAllowOverlapping() const
Returns true if particles can be overlapped.
void SetPointGenerator(const PointGenerator2Ptr &newPointsGen)
Sets the point generator.
bool GetIsOneShot() const
Returns true if particles should be emitted just once.
void SetMaxNumberOfParticles(size_t newMaxNumberOfParticles)
Sets the max number of particles to be emitted.
Vector2D GetLinearVelocity() const
Returns the linear velocity of the emitter.
VolumeParticleEmitter2(ImplicitSurface2Ptr implicitSurface, BoundingBox2D maxRegion, double spacing, const Vector2D &initialVel=Vector2D(), const Vector2D &linearVel=Vector2D(), double angularVel=0.0, size_t maxNumberOfParticles=std::numeric_limits< size_t >::max(), double jitter=0.0, bool isOneShot=true, bool allowOverlapping=false, uint32_t seed=0)
void SetSurface(const ImplicitSurface2Ptr &newSurface)
Sets the source surface.
const BoundingBox2D & GetMaxRegion() const
Returns max particle generator region.
double GetAngularVelocity() const
Returns the angular velocity of the emitter.
Definition pybind11Utils.hpp:21
std::shared_ptr< PointGenerator2 > PointGenerator2Ptr
Shared pointer for the PointGenerator2 type.
Definition PointGenerator2.hpp:71
std::shared_ptr< Surface2 > Surface2Ptr
Shared pointer for the Surface2 type.
Definition Surface.hpp:144
std::shared_ptr< ParticleSystemData2 > ParticleSystemData2Ptr
Shared pointer type of ParticleSystemData2.
Definition ParticleSystemData.hpp:281
std::shared_ptr< VolumeParticleEmitter2 > VolumeParticleEmitter2Ptr
Shared pointer for the VolumeParticleEmitter2 type.
Definition VolumeParticleEmitter2.hpp:184
std::shared_ptr< ImplicitSurface2 > ImplicitSurface2Ptr
Shared pointer type for the ImplicitSurface2.
Definition ImplicitSurface.hpp:67
1.9.8