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