14#ifndef MOMENTUM_EMITTER_H
15#define MOMENTUM_EMITTER_H
17#include "momentum_namespace.h"
18#include "momentum_export.h"
38 class BodyDistribution;
39 class ParticleDistribution;
145#ifndef AGX_MOMENTUM_ANALYSIS_API
245 std::string __str__()
const;
250 agx::Emitter* m_emitter;
A class that encapsulated the Emitter objects in the simulation that creates GranularBody flows in th...
Definition: Emitter.h:45
Vec4 getColor() const
Get the color of the GranularBodies that are created in the emitter.
void setUseFixedRotation(bool enable, agx::Int axis)
Set if a fixed rotation should be used on objects created from this emitter.
bool removeCollisionGroup(const std::string &name)
Remove a named collision group from this Emitter.
std::vector< std::string > getCollisionGroups() const
Get a list of all collision groups that this emitter has.
std::shared_ptr< Geometry > getEmitterGeometry() const
Get the geometry in that the emitter is coupled to.
std::shared_ptr< ParticleDistribution > getParticleDistribution() const
If the current EmitMode of the emitter is PARTICLES and a ParticleDistribution object is set to the E...
bool hasCollisionGroup(const std::string &name) const
Checks if this Emitter has a named collision group.
void setVelocity(const Vec3 &velocity)
Set the velocity of the emitted Granular Bodies from the Emitter.
bool getUseFixedRotation(agx::Int axis) const
EmitMode getEmitMode() const
Get the emit mode of the emitter.
unsigned int getNumEmittedBodies() const
Get the number of GranularBodies created in the Emitter.
void setMaximumAllowedEmittedMass(double maximumMass)
Set the maximum allowed emitted mass of the Emitter.
EmitMode
An emitter can be in two different modes:
Definition: Emitter.h:53
double getMassFlowRate() const
Get the total mass of created GranularBodies in the Emitter.
std::shared_ptr< BodyDistribution > getBodyDistribution() const
If the current EmitMode of the emitter is RIGID_BODIES, this will return the BodyDistribution current...
double getMaximumAllowedEmittedMass() const
Get the maximum allowed emitted mass in the emitter.
std::string getName() const
Get the name of the Emitter.
double getEmittedMass() const
Get the total mass of created GranularBodies in the Emitter.
void setUseFixedPosition(bool enable, agx::Int axis)
Set if fixed position should be used on objects created from this emitter.
void setMassFlowRate(double rate)
Set the mass flow that will be created in the emitter.
bool addCollisionGroup(const std::string &name)
Add a named collision group to this Emitter that can be used for contact filtering during a simulatio...
void setColor(const Vec4 &color)
Set the color of the GranularBodies that are created in the emitter.
bool getUseFixedPosition(agx::Int axis) const
A 3 dimensional vector which can be used to define a point or a vector and contains basic arithmetic.
Definition: Vec3.h:40
A 4 dimensional vector and contains basic arithmetic.
Definition: Vec4.h:33
Namespace for Momentum Scripting API.
Definition: AffineMatrix4x4.h:29