bwmodel
A modeling environment for Minecraft Bedwars
Loading...
Searching...
No Matches
heatmap.h
1// Copyright (C) 2024 Ethan Uppal. All rights reserved.
2
3#pragma once
4
5#include <memory>
6#include <vector>
7#include <utility>
8#include "grid.h"
9#include "game/player.h"
10#include "game/map.h"
11
12namespace bwmodel {
14 class HeatMap : public GridInterface<double, int> {
15 Grid<double> distribution;
16
18 HeatMap(Grid<double>& distribution);
19
26 double average(int x1, int y1, int x2, int y2);
27
28 protected:
29 const Grid<double>& backing() const override;
30
31 public:
33 void concentrate_at(std::vector<std::pair<int, int>> points);
34
37 void filter(int kernel_radius);
38
44 void merge_with(HeatMap& other);
45
48 static std::unique_ptr<HeatMap> uniform(int width, int height);
49 };
50}
Definition grid.h:17
Definition heatmap.h:14
void merge_with(HeatMap &other)
Definition heatmap.cpp:55
void filter(int kernel_radius)
Definition heatmap.cpp:44
const Grid< double > & backing() const override
Definition heatmap.cpp:11
void concentrate_at(std::vector< std::pair< int, int > > points)
Definition heatmap.cpp:32
static std::unique_ptr< HeatMap > uniform(int width, int height)
Definition heatmap.cpp:72