| 123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- #ifndef PARTICLE_MAP
- #define PARTICLE_MAP
- #include <vector>
- #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<Tile> m_tiles{};
- std::vector<Tile> m_tiles_swap{};
- std::vector<Particle> 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<Particle> && 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<Tile> &tiles() const { return m_tiles; };
- };
- #endif // PARTICLE_MAP
|