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-01-30 20:38:30 +0300
committerAlex Zolotarev <alex@maps.me>2015-09-23 01:11:21 +0300
commit8371e69d15eaeecb270dcbdfa448598d436bb196 (patch)
treeb556c2352c13d370a3a2bad67c9a445f0b58513c /indexer/geometry_coding.hpp
parent3551c4143e840e52b7ffb247e7a1c8ebde861965 (diff)
Build-in new geometry coding API in feature geometry serilization.
Only for pathes for a while ...
Diffstat (limited to 'indexer/geometry_coding.hpp')
-rw-r--r--indexer/geometry_coding.hpp42
1 files changed, 24 insertions, 18 deletions
diff --git a/indexer/geometry_coding.hpp b/indexer/geometry_coding.hpp
index db81b460a7..746488388a 100644
--- a/indexer/geometry_coding.hpp
+++ b/indexer/geometry_coding.hpp
@@ -32,51 +32,56 @@ m2::PointU PredictPointInPolyline(m2::PointU const & maxPoint,
m2::PointU const & p2,
m2::PointU const & p3);
+namespace geo_coding
+{
+ typedef vector<m2::PointU> InPointsT;
+ typedef vector<m2::PointU> OutPointsT;
+ typedef vector<uint64_t> DeltasT;
-void EncodePolylinePrev1(vector<m2::PointU> const & points,
+void EncodePolylinePrev1(InPointsT const & points,
m2::PointU const & basePoint,
m2::PointU const & maxPoint,
- vector<char> & serialOutput);
+ DeltasT & deltas);
-void DecodePolylinePrev1(char const * pBeg, char const * pEnd,
+void DecodePolylinePrev1(DeltasT const & deltas,
m2::PointU const & basePoint,
m2::PointU const & maxPoint,
- vector<m2::PointU> & points);
+ OutPointsT & points);
-void EncodePolylinePrev2(vector<m2::PointU> const & points,
+void EncodePolylinePrev2(InPointsT const & points,
m2::PointU const & basePoint,
m2::PointU const & maxPoint,
- vector<char> & serialOutput);
+ DeltasT & deltas);
-void DecodePolylinePrev2(char const * pBeg, char const * pEnd,
+void DecodePolylinePrev2(DeltasT const & deltas,
m2::PointU const & basePoint,
m2::PointU const & maxPoint,
- vector<m2::PointU> & points);
+ OutPointsT & points);
-void EncodePolylinePrev3(vector<m2::PointU> const & points,
+void EncodePolylinePrev3(InPointsT const & points,
m2::PointU const & basePoint,
m2::PointU const & maxPoint,
- vector<char> & serialOutput);
+ DeltasT & deltas);
-void DecodePolylinePrev3(char const * pBeg, char const * pEnd,
+void DecodePolylinePrev3(DeltasT const & deltas,
m2::PointU const & basePoint,
m2::PointU const & maxPoint,
- vector<m2::PointU> & points);
+ OutPointsT & points);
-inline void EncodePolyline(vector<m2::PointU> const & points,
+inline void EncodePolyline(InPointsT const & points,
m2::PointU const & basePoint,
m2::PointU const & maxPoint,
- vector<char> & serialOutput)
+ DeltasT & deltas)
{
- EncodePolylinePrev3(points, basePoint, maxPoint, serialOutput);
+ EncodePolylinePrev2(points, basePoint, maxPoint, deltas);
}
-inline void DecodePolyline(char const * pBeg, char const * pEnd,
+inline void DecodePolyline(DeltasT const & deltas,
m2::PointU const & basePoint,
m2::PointU const & maxPoint,
- vector<m2::PointU> & points)
+ OutPointsT & points)
{
- DecodePolylinePrev3(pBeg, pEnd, basePoint, maxPoint, points);
+ DecodePolylinePrev2(deltas, basePoint, maxPoint, points);
}
void EncodeTriangles(vector<m2::PointU> const & points,
@@ -100,3 +105,4 @@ void DecodeTriangleStrip(char const * pBeg, char const * pEnd,
m2::PointU const & basePoint,
m2::PointU const & maxPoint,
vector<m2::PointU> & points);
+}