24 bool ready()
const {
return w_ > 0; }
28 std::uint64_t
max()
const;
29 int width()
const {
return w_; }
34 std::vector<std::uint8_t>
bytes()
const;
36 std::string
message(std::string_view name,
int layer)
const;
40 Coord x0_ = 0, y0_ = 0, cell_ = 1;
42 std::vector<std::uint64_t> v_;
std::string message(std::string_view name, int layer) const
The heatmap protocol message (layer -1 = all layers) with "scale":"sqrt" so a legend can invert it.
std::vector< std::uint8_t > bytes() const
One byte per cell, row-major: round(255 * sqrt(v / max)), at least 1 for any non-zero cell so faint a...
void raise(geom::Point p, std::uint64_t v)
keep the maximum (history cost): independent of visiting order
std::uint64_t max() const
static constexpr int kMaxCells
At most this many cells along the longer side: a 128 x 128 overlay is ~16k values per message,...
void init(const geom::Box &area, Coord min_cell)
Covers area with square cells of at least min_cell nm (cell size rounded up to whole micrometres).
void add(geom::Point p, std::uint64_t w)
accumulate (search effort)
std::int64_t Coord
Engine coordinate: signed 64-bit nanometres.
Integer-nanometre points and KiCad-compatible rotation.