MCPcopy Create free account
hub / github.com/comaps/comaps / EncodeTriangleStrip

Function EncodeTriangleStrip

libs/coding/geometry_coding.cpp:244–263  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

242}
243
244void EncodeTriangleStrip(InPointsT const & points, m2::PointU const & basePoint, m2::PointU const & maxPoint,
245 OutDeltasT & deltas)
246{
247 size_t const count = points.size();
248 if (count > 0)
249 {
250 ASSERT_GREATER(count, 2, ());
251
252 deltas.push_back(EncodePointDeltaAsUint(points[0], basePoint));
253 deltas.push_back(EncodePointDeltaAsUint(points[1], points[0]));
254 deltas.push_back(EncodePointDeltaAsUint(points[2], points[1]));
255
256 m2::PointD const maxPointD(maxPoint);
257 for (size_t i = 3; i < count; ++i)
258 {
259 m2::PointU const prediction = PredictPointInTriangle(maxPointD, points[i - 1], points[i - 2], points[i - 3]);
260 deltas.push_back(EncodePointDeltaAsUint(points[i], prediction));
261 }
262 }
263}
264
265void DecodeTriangleStrip(InDeltasT const & deltas, m2::PointU const & basePoint, m2::PointU const & maxPoint,
266 OutPointsT & points)

Callers

nothing calls this directly

Calls 4

EncodePointDeltaAsUintFunction · 0.85
PredictPointInTriangleFunction · 0.85
sizeMethod · 0.45
push_backMethod · 0.45

Tested by

no test coverage detected