diff options
author | vng <viktor.govako@gmail.com> | 2011-09-16 20:16:04 +0400 |
---|---|---|
committer | Alex Zolotarev <alex@maps.me> | 2015-09-23 01:23:56 +0300 |
commit | 160e5ced67c6499188b81513f174f08c26ee9de0 (patch) | |
tree | b11c2c89394c5bcfb164274f653be466f3ffc3a0 /indexer/feature_loader.cpp | |
parent | 75daa7a5c7ae5272815ff11ddb586aa14bb28c4e (diff) |
[Reduce mwm size] Add dynamic serial::CodingParams (coordinate bits) for different scale levels.
Diffstat (limited to 'indexer/feature_loader.cpp')
-rw-r--r-- | indexer/feature_loader.cpp | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/indexer/feature_loader.cpp b/indexer/feature_loader.cpp index 9b7d56d5d4..c874e5d433 100644 --- a/indexer/feature_loader.cpp +++ b/indexer/feature_loader.cpp @@ -46,7 +46,7 @@ void LoaderCurrent::ParseCommon() if (type == GEOM_POINT) { - serial::CodingParams const & cp = GetCodingParams(); + serial::CodingParams const & cp = GetDefCodingParams(); CoordPointT const center = PointU2PointD( DecodeDelta(ReadVarUint<uint64_t>(source), cp.GetBasePoint()), cp.GetCoordBits()); @@ -147,7 +147,8 @@ void LoaderCurrent::ParseHeader2() char const * start = static_cast<char const *>(src.Ptr()); - src = ArrayByteSource(serial::LoadInnerPath(src.Ptr(), ptsCount, GetCodingParams(), m_pF->m_Points)); + src = ArrayByteSource(serial::LoadInnerPath( + src.Ptr(), ptsCount, GetDefCodingParams(), m_pF->m_Points)); m_pF->m_InnerStats.m_Points = static_cast<char const *>(src.Ptr()) - start; } @@ -164,7 +165,8 @@ void LoaderCurrent::ParseHeader2() char const * start = static_cast<char const *>(src.Ptr()); FeatureType::points_t points; - src = ArrayByteSource(serial::LoadInnerTriangles(src.Ptr(), trgCount, GetCodingParams(), points)); + src = ArrayByteSource(serial::LoadInnerTriangles( + src.Ptr(), trgCount, GetDefCodingParams(), points)); m_pF->m_InnerStats.m_Strips = static_cast<char const *>(src.Ptr()) - start; @@ -195,7 +197,7 @@ uint32_t LoaderCurrent::ParseGeometry(int scale) { ReaderSource<FilesContainerR::ReaderT> src(m_Info.GetGeometryReader(ind)); src.Skip(m_ptsOffsets[ind]); - serial::LoadOuterPath(src, GetCodingParams(), m_pF->m_Points); + serial::LoadOuterPath(src, GetCodingParams(ind), m_pF->m_Points); sz = static_cast<uint32_t>(src.Pos() - m_ptsOffsets[ind]); } @@ -241,7 +243,7 @@ uint32_t LoaderCurrent::ParseTriangles(int scale) { ReaderSource<FilesContainerR::ReaderT> src(m_Info.GetTrianglesReader(ind)); src.Skip(m_trgOffsets[ind]); - serial::LoadOuterTriangles(src, GetCodingParams(), m_pF->m_Triangles); + serial::LoadOuterTriangles(src, GetCodingParams(ind), m_pF->m_Triangles); sz = static_cast<uint32_t>(src.Pos() - m_trgOffsets[ind]); } |