diff options
author | Konstantin Käfer <mail@kkaefer.com> | 2014-01-23 15:12:31 +0100 |
---|---|---|
committer | Konstantin Käfer <mail@kkaefer.com> | 2014-01-23 15:12:31 +0100 |
commit | dba3be98292ac9aa5afda9c73336a67bfb842a2a (patch) | |
tree | 98a6351f7fa85c1f5507f6d98bb0f9e761659e5f /src/renderer/fill_bucket.cpp | |
parent | 50021b730c6615d21aefa99f2f553640b43ff231 (diff) | |
download | qtlocation-mapboxgl-dba3be98292ac9aa5afda9c73336a67bfb842a2a.tar.gz |
do not use shared pointers for buckets
Diffstat (limited to 'src/renderer/fill_bucket.cpp')
-rw-r--r-- | src/renderer/fill_bucket.cpp | 24 |
1 files changed, 10 insertions, 14 deletions
diff --git a/src/renderer/fill_bucket.cpp b/src/renderer/fill_bucket.cpp index 73e6d8d029..24de51df50 100644 --- a/src/renderer/fill_bucket.cpp +++ b/src/renderer/fill_bucket.cpp @@ -11,10 +11,10 @@ struct geometry_too_long_exception : std::exception {}; using namespace llmr; -FillBucket::FillBucket(const std::shared_ptr<FillBuffer>& buffer) +FillBucket::FillBucket(FillBuffer& buffer) : buffer(buffer), - vertex_start(buffer->vertex_length()), - elements_start(buffer->elements_length()), + vertex_start(buffer.vertex_length()), + elements_start(buffer.elements_length()), length(0) { } @@ -41,14 +41,14 @@ void FillBucket::addGeometry(pbf& geom) { } for (const std::vector<std::pair<int16_t, int16_t>>& line : lines) { - uint32_t vertex_start = buffer->vertex_length(); + uint32_t vertex_start = buffer.vertex_length(); - buffer->addDegenerate(); + buffer.addDegenerate(); for (const std::pair<int16_t, int16_t>& coord : line) { - buffer->addCoordinate(coord.first, coord.second); + buffer.addCoordinate(coord.first, coord.second); } - uint32_t vertex_end = buffer->vertex_length(); + uint32_t vertex_end = buffer.vertex_length(); if (vertex_end - vertex_start > 65535) { throw geometry_too_long_exception(); @@ -76,23 +76,19 @@ void FillBucket::addGeometry(pbf& geom) { assert(firstIndex + vertex_count - 1 < 65536); - uint32_t elements_start = buffer->elements_length(); + uint32_t elements_start = buffer.elements_length(); for (uint32_t i = 2; i < vertex_count; i++) { - buffer->addElements(firstIndex, firstIndex + i - 1, firstIndex + i); + buffer.addElements(firstIndex, firstIndex + i - 1, firstIndex + i); } - uint32_t elements_end = buffer->elements_length(); + uint32_t elements_end = buffer.elements_length(); uint32_t elements_count = elements_end - elements_start; group.vertex_length += vertex_count; group.elements_length += elements_count; } } -void FillBucket::draw(const Style& style, const std::string& layerName) { - -} - void FillBucket::render(Painter& painter) { // TODO: obtain the correct style information for this layer FillStyle style; |