#ifndef PARTICLE_MAP #define PARTICLE_MAP #include #include "definitions.hpp" #include "Tile.hpp" class Particle; class Map { private: size_t m_width{}; size_t m_height{}; size_t m_surface{}; std::vector m_tiles{}; std::vector m_tiles_swap{}; std::vector m_particles{}; public: numeric_t increase{}; numeric_t decay{}; numeric_t diffusion{}; numeric_t speed{}; numeric_t steering{}; numeric_t sampling_distance{}; numeric_t sampling_angle{}; Map(size_t width, size_t height); ~Map() = default; void populate(std::vector && particles); void update(numeric_t delta_t); size_t width() const { return m_width ;} size_t height() const { return m_height ;} size_t surface() const { return m_surface ;} const std::vector &tiles() const { return m_tiles; }; }; #endif // PARTICLE_MAP