Loading...
Searching...
No Matches
VolumeParticleEmitter3.hpp
Go to the documentation of this file.
Definition Matrix.hpp:30
Abstract base class for 3-D particle emitter.
Definition ParticleEmitter3.hpp:22
Front-end to create VolumeParticleEmitter3 objects step by step.
Definition VolumeParticleEmitter3.hpp:191
Builder & WithRandomSeed(uint32_t seed)
Returns builder with random seed.
VolumeParticleEmitter3 Build() const
Builds VolumeParticleEmitter3.
Builder & WithJitter(double jitter)
Returns builder with jitter amount.
Builder & WithAngularVelocity(const Vector3D &angularVel)
Returns builder with angular velocity.
Builder & WithImplicitSurface(const ImplicitSurface3Ptr &implicitSurface)
Returns builder with implicit surface defining volume shape.
Builder & WithIsOneShot(bool isOneShot)
Returns builder with one-shot flag.
Builder & WithMaxNumberOfParticles(size_t maxNumberOfParticles)
Returns builder with max number of particles.
Builder & WithSpacing(double spacing)
Returns builder with spacing.
VolumeParticleEmitter3Ptr MakeShared() const
Builds shared pointer of VolumeParticleEmitter3 instance.
Builder & WithInitialVelocity(const Vector3D &initialVel)
Returns builder with initial velocity.
Builder & WithAllowOverlapping(bool allowOverlapping)
Returns builder with overlapping flag.
Builder & WithSurface(const Surface3Ptr &surface)
Returns builder with surface defining volume shape.
Builder & WithLinearVelocity(const Vector3D &linearVel)
Returns builder with linear velocity.
Builder & WithMaxRegion(const BoundingBox3D &maxRegion)
Returns builder with max region.
3-D volumetric particle emitter.
Definition VolumeParticleEmitter3.hpp:28
double GetSpacing() const
Returns the spacing between particles.
Vector3D GetLinearVelocity() const
Returns the linear velocity of the emitter.
void SetPointGenerator(const PointGenerator3Ptr &newPointsGen)
Sets the point generator.
void SetMaxRegion(const BoundingBox3D &newMaxRegion)
Sets the max particle gen region.
static Builder GetBuilder()
Returns builder fox VolumeParticleEmitter3.
void SetAllowOverlapping(bool newValue)
Sets the flag to true if particles can overlap each other.
Vector3D GetInitialVelocity() const
Sets the initial velocity of the particles.
void SetLinearVelocity(const Vector3D &newLinearVel)
Sets the linear velocity of the emitter.
size_t GetMaxNumberOfParticles() const
Returns max number of particles to be emitted.
Vector3D GetAngularVelocity() const
Returns the angular velocity of the emitter.
void SetMaxNumberOfParticles(size_t newMaxNumberOfParticles)
Sets the max number of particles to be emitted.
const BoundingBox3D & GetMaxRegion() const
Returns max particle gen region.
void SetIsOneShot(bool newValue)
Sets the flag to true if particles are emitted just once.
void SetSpacing(double newSpacing)
Sets the spacing between particles.
void SetInitialVelocity(const Vector3D &newInitialVel)
Returns the initial velocity of the particles.
const ImplicitSurface3Ptr & GetSurface() const
Returns source surface.
void SetSurface(const ImplicitSurface3Ptr &newSurface)
Sets the source surface.
VolumeParticleEmitter3(ImplicitSurface3Ptr implicitSurface, BoundingBox3D maxRegion, double spacing, const Vector3D &initialVel=Vector3D(), const Vector3D &linearVel=Vector3D(), const Vector3D &angularVel=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 SetAngularVelocity(const Vector3D &newAngularVel)
Sets the linear velocity of the emitter.
bool GetIsOneShot() const
Returns true if particles should be emitted just once.
bool GetAllowOverlapping() const
Returns true if particles can be overlapped.
void SetJitter(double newJitter)
Sets jitter amount between 0 and 1.
Definition pybind11Utils.hpp:21
std::shared_ptr< ParticleSystemData3 > ParticleSystemData3Ptr
Shared pointer type of ParticleSystemData3.
Definition ParticleSystemData.hpp:284
std::shared_ptr< ImplicitSurface3 > ImplicitSurface3Ptr
Shared pointer type for the ImplicitSurface3.
Definition ImplicitSurface.hpp:70
std::shared_ptr< Surface3 > Surface3Ptr
Shared pointer for the Surface3 type.
Definition Surface.hpp:147
std::shared_ptr< PointGenerator3 > PointGenerator3Ptr
Shared pointer for the PointGenerator3 type.
Definition PointGenerator3.hpp:71
std::shared_ptr< VolumeParticleEmitter3 > VolumeParticleEmitter3Ptr
Shared pointer for the VolumeParticleEmitter3 type.
Definition VolumeParticleEmitter3.hpp:185
1.9.8