blob: 7d9a56dd7362bb69b16077111b844bc9cac599af (
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 "std/string.hpp"
#define BORDERS_DIR "borders/"
#define BORDERS_EXTENSION ".poly"
namespace borders
{
typedef m2::RegionD Region;
typedef m4::Tree<Region> RegionsContainerT;
struct CountryPolygons
{
CountryPolygons(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;
string m_name;
mutable int m_index;
};
typedef m4::Tree<CountryPolygons> CountriesContainerT;
bool LoadCountriesList(string const & baseDir, CountriesContainerT & countries);
void GeneratePackedBorders(string const & baseDir);
void UnpackBorders(string const & baseDir, string const & targetDir);
}
|