FireSTARR
Loading...
Searching...
No Matches
Perimeter.h
1/* Copyright (c) Queen's Printer for Ontario, 2020. */
2/* Copyright (c) His Majesty the King in Right of Canada as represented by the Minister of Natural Resources, 2025. */
3
4/* SPDX-License-Identifier: AGPL-3.0-or-later */
5
6#pragma once
7#include <list>
8#include <string>
9#include "Location.h"
10#include "Point.h"
11namespace fs
12{
13namespace wx
14{
15class FwiWeather;
16}
17namespace topo
18{
19class Environment;
24{
25public:
32 Perimeter(const string& perim, const Point& point, const Environment& env);
39 Perimeter(const Location& location,
40 size_t size,
41 const Environment& env);
42 template <class P>
43 Perimeter(const Position<P>& position,
44 size_t size,
45 const Environment& env)
46 : Perimeter(
47 Location{position.hash()},
48 size,
49 env)
50 {
51 }
52 // /**
53 // * \brief Map of all burned Locations
54 // * \return All Locations burned by this Perimeter
55 // */
56 // [[nodiscard]] const BurnedMap& burned_map() const noexcept;
61 [[nodiscard]] const list<Location>& burned() const noexcept;
66 [[nodiscard]] const list<Location>& edge() const noexcept;
67private:
68 // /**
69 // * @brief Map of burned cells
70 // *
71 // */
72 // const BurnedMap burned_map_;
73 // /**
74 // * \brief List of all burned Locations
75 // */
76 list<Location> burned_;
80 list<Location> edge_;
81};
82}
83}
The area that a Model is run for, with Fuel, Slope, and Aspect grids.
Definition Environment.h:49
Definition Location.h:229
Perimeter for an existing fire to initialize a simulation with.
Definition Perimeter.h:24
list< Location > burned_
Map of burned cells.
Definition Perimeter.h:76
const list< Location > & burned() const noexcept
Map of all burned Locations.
Definition Perimeter.cpp:139
list< Location > edge_
List of all Locations along the edge of this Perimeter.
Definition Perimeter.h:80
Perimeter(const string &perim, const Point &point, const Environment &env)
Initialize perimeter from a file.
Definition Perimeter.cpp:79
const list< Location > & edge() const noexcept
List of all Locations along the edge of this Perimeter.
Definition Perimeter.cpp:143
A geographic location in lat/long coordinates.
Definition Point.h:13
A Position with a row and column.
Definition Location.h:57
constexpr HashSize hash() const noexcept
Hash derived from row and column.
Definition Location.h:80