blob: e2f9b11e33845462886cb273f90dd57a1ee44824 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
#pragma once
#include "geometry/region2d.hpp"
#include "geometry/tree4d.hpp"
#include <string>
#define BORDERS_DIR "borders/"
#define BORDERS_EXTENSION ".poly"
namespace borders
{
typedef m2::RegionD Region;
typedef m4::Tree<Region> RegionsContainerT;
struct CountryPolygons
{
CountryPolygons(std::string const & name = "") : m_name(name), m_index(-1) {}
bool IsEmpty() const { return m_regions.IsEmpty(); }
void Clear()
{
m_regions.Clear();
m_name.clear();
m_index = -1;
}
RegionsContainerT m_regions;
std::string m_name;
mutable int m_index;
};
typedef m4::Tree<CountryPolygons> CountriesContainerT;
bool LoadCountriesList(std::string const & baseDir, CountriesContainerT & countries);
void GeneratePackedBorders(std::string const & baseDir);
void UnpackBorders(std::string const & baseDir, std::string const & targetDir);
}
|