Welcome to mirror list, hosted at ThFree Co, Russian Federation.

feature_loader_101.hpp « old « indexer - github.com/mapsme/omim.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
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
  };
}
}