blob: 2a7a4184c2d47439a1f724d76d0c1b582ffc8956 (
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
40
41
|
#pragma once
#include "indexer/feature_loader_base.hpp"
namespace old_101 { namespace feature
{
class LoaderImpl : public ::feature::LoaderBase
{
typedef ::feature::LoaderBase BaseT;
/// Get the index for geometry serialization.
/// @param[in] scale:
/// -1 : index for the best geometry
/// default : needed geometry
//@{
int GetScaleIndex(int scale) const;
int GetScaleIndex(int scale, offsets_t const & offsets) const;
//@}
enum
{
HEADER_HAS_LAYER = 1U << 7,
HEADER_HAS_NAME = 1U << 6,
HEADER_IS_AREA = 1U << 5,
HEADER_IS_LINE = 1U << 4,
HEADER_HAS_POINT = 1U << 3
};
public:
LoaderImpl(::feature::SharedLoadInfo const & info) : BaseT(info) {}
/// LoaderBase overrides:
uint8_t GetHeader() override;
void ParseTypes() override;
void ParseCommon() override;
void ParseHeader2() override;
uint32_t ParseGeometry(int scale) override;
uint32_t ParseTriangles(int scale) override;
void ParseMetadata() override {} /// not supported in this version
};
}
}
|