| 188 | } |
| 189 | |
| 190 | std::optional<m2::PointI> CellsMerger::FindMax() const |
| 191 | { |
| 192 | m2::PointI max; |
| 193 | size_t sum = 0; |
| 194 | for (auto const & pair : m_matrix) |
| 195 | { |
| 196 | auto const cellSum = pair.second.GetSum(); |
| 197 | if (cellSum > sum) |
| 198 | { |
| 199 | sum = cellSum; |
| 200 | max = pair.first; |
| 201 | } |
| 202 | } |
| 203 | return sum != 0 ? max : std::optional<m2::PointI>{}; |
| 204 | } |
| 205 | |
| 206 | m2::RectD CellsMerger::Union(m2::PointI const & startXy) |
| 207 | { |