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

github.com/mapsme/omim.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorvng <viktor.govako@gmail.com>2011-09-16 23:23:25 +0400
committerAlex Zolotarev <alex@maps.me>2015-09-23 01:23:57 +0300
commit3e2ecdc1447f63f2f5f376370a60bd2bd7e21840 (patch)
treec2fca12a163a0cf0ff3a586afbd7fbe13d9194d2 /indexer/geometry_serialization.hpp
parent5f05cd052b531aa2a53b5f9a18f9414345709244 (diff)
Factor out serial::SavePoint, serial::LoadPoint.
Diffstat (limited to 'indexer/geometry_serialization.hpp')
-rw-r--r--indexer/geometry_serialization.hpp18
1 files changed, 16 insertions, 2 deletions
diff --git a/indexer/geometry_serialization.hpp b/indexer/geometry_serialization.hpp
index 64507af9cf..3d3bc3500d 100644
--- a/indexer/geometry_serialization.hpp
+++ b/indexer/geometry_serialization.hpp
@@ -2,6 +2,8 @@
#include "geometry_coding.hpp"
#include "tesselator_decl.hpp"
+#include "point_to_int64.hpp"
+#include "coding_params.hpp"
#include "../geometry/point2d.hpp"
@@ -18,8 +20,6 @@
namespace serial
{
- class CodingParams;
-
template <class TCont, class TSink>
inline void WriteVarUintArray(TCont const & v, TSink & sink)
{
@@ -52,6 +52,20 @@ namespace serial
//@}
template <class TSink>
+ void SavePoint(TSink & sink, m2::PointD const & pt, CodingParams const & cp)
+ {
+ WriteVarUint(sink, EncodeDelta(PointD2PointU(pt.x, pt.y, cp.GetCoordBits()), cp.GetBasePoint()));
+ }
+
+ template <class TSource>
+ m2::PointD LoadPoint(TSource & src, CodingParams const & cp)
+ {
+ CoordPointT const c = PointU2PointD(
+ DecodeDelta(ReadVarUint<uint64_t>(src), cp.GetBasePoint()), cp.GetCoordBits());
+ return m2::PointD(c.first, c.second);
+ }
+
+ template <class TSink>
void SaveInner(EncodeFunT fn, vector<m2::PointD> const & points,
CodingParams const & params, TSink & sink)
{