Go to the documentation of this file.
16 #ifndef SURGSIM_PARTICLES_REPRESENTATION_H
17 #define SURGSIM_PARTICLES_REPRESENTATION_H
113 std::shared_ptr<SurgSim::Framework::Logger>
m_logger;
122 #endif // SURGSIM_PARTICLES_REPRESENTATION_H
Definitions of small fixed-size vector types.
size_t getMaxParticles() const
Definition: Representation.cpp:53
std::shared_ptr< SurgSim::Framework::Logger > m_logger
Logger used by the particle system.
Definition: Representation.h:113
SurgSim::DataStructures::BufferedValue< Particles > m_particles
BufferedValue of particles.
Definition: Representation.h:110
std::unordered_map< std::shared_ptr< SurgSim::Collision::Representation >, std::list< std::shared_ptr< SurgSim::Collision::Contact > > > ContactMapType
Definition: Representation.h:47
void handleCollisions(double dt)
Handle collisions with particle system.
Definition: Representation.cpp:121
size_t m_maxParticles
Maximum amount of particles allowed in this particle system.
Definition: Representation.h:107
std::shared_ptr< SurgSim::Collision::Representation > getCollisionRepresentation() const
Get the collision representation for this Particle Representation.
Definition: Representation.cpp:133
void setMaxParticles(size_t maxParticles)
Set the maximum number of particles of this system.
Definition: Representation.cpp:47
void removeParticle(size_t index)
Remove a particle.
Definition: Representation.cpp:88
Eigen::Matrix< double, 3, 1 > Vector3d
A 3D vector of doubles.
Definition: Vector.h:57
Definition: CompoundShapeToGraphics.cpp:30
std::shared_ptr< SurgSim::Collision::Representation > m_collisionRepresentation
This entity's collision representation.
Definition: Representation.h:116
Vertex structure for meshes.
Definition: Vertex.h:45
virtual ~Representation()
Destructor.
Definition: Representation.cpp:37
bool addParticle(const Particle &particle)
Add a particle.
Definition: Representation.cpp:63
Representation(const std::string &name)
Constructor.
Definition: Representation.cpp:28
Representations are manifestations of a SceneElement.
Definition: Representation.h:34
void setCollisionRepresentation(std::shared_ptr< SurgSim::Collision::Representation > representation)
Set the collision representation for this Particle Representation.
Definition: Representation.cpp:138
BufferedValue is a class to enable a representation of two values for one variable,...
Definition: BufferedValue.h:34
virtual bool doHandleCollisions(double dt, const SurgSim::Collision::ContactMapType &collisions)=0
Implementation of the specific collision handling of the particle system.
SurgSim::DataStructures::BufferedValue< Particles > & getParticles()
Get the particles.
Definition: Representation.cpp:58
bool doInitialize() override
Interface to be implemented by derived classes.
Definition: Representation.cpp:41
The Representation class defines the base class for all Particle System.
Definition: Representation.h:41
string(TOUPPER ${DEVICE} DEVICE_UPPER_CASE) option(BUILD_DEVICE_$
Definition: CMakeLists.txt:38
DataStructures::Vertices< ParticleData > Particles
Definition: Particles.h:53
void update(double dt)
Update the particle system.
Definition: Representation.cpp:94
virtual bool doUpdate(double dt)=0
Implementation of the specific behavior of the particle system.