Skip to content

Commit

Permalink
stop allowing and tracking empty layers
Browse files Browse the repository at this point in the history
  • Loading branch information
Dane Springmeyer committed May 13, 2016
1 parent ca409ac commit 947a7f6
Show file tree
Hide file tree
Showing 4 changed files with 2 additions and 41 deletions.
1 change: 0 additions & 1 deletion src/vector_tile_processor.ipp
Expand Up @@ -286,7 +286,6 @@ MAPNIK_VECTOR_INLINE void processor::update_tile(tile & t,
offset_y);
if (!tile_layers.back().is_valid())
{
t.add_empty_layer(lay.name());
tile_layers.pop_back();
continue;
}
Expand Down
13 changes: 0 additions & 13 deletions src/vector_tile_tile.hpp
Expand Up @@ -29,7 +29,6 @@ class tile
protected:
std::string buffer_;
std::set<std::string> painted_layers_;
std::set<std::string> empty_layers_;
std::set<std::string> layers_set_;
std::vector<std::string> layers_;
mapnik::box2d<double> extent_;
Expand All @@ -42,7 +41,6 @@ class tile
std::int32_t buffer_size = 128)
: buffer_(),
painted_layers_(),
empty_layers_(),
layers_set_(),
layers_(),
extent_(extent),
Expand All @@ -55,11 +53,6 @@ class tile

MAPNIK_VECTOR_INLINE bool add_layer(tile_layer const& layer);

void add_empty_layer(std::string const& name)
{
empty_layers_.insert(name);
}

const char * data() const
{
return buffer_.data();
Expand Down Expand Up @@ -154,11 +147,6 @@ class tile
{
return painted_layers_;
}

std::set<std::string> const& get_empty_layers() const
{
return empty_layers_;
}

std::vector<std::string> const& get_layers() const
{
Expand All @@ -178,7 +166,6 @@ class tile
void clear()
{
buffer_.clear();
empty_layers_.clear();
layers_.clear();
layers_set_.clear();
painted_layers_.clear();
Expand Down
16 changes: 1 addition & 15 deletions src/vector_tile_tile.ipp
Expand Up @@ -21,11 +21,7 @@ MAPNIK_VECTOR_INLINE bool tile::add_layer(tile_layer const& layer)
std::string const& new_name = layer.name();
if (layer.is_empty())
{
empty_layers_.insert(new_name);
if (layer.is_painted())
{
painted_layers_.insert(new_name);
}
return false;
}
else
{
Expand All @@ -39,11 +35,6 @@ MAPNIK_VECTOR_INLINE bool tile::add_layer(tile_layer const& layer)
layers_.push_back(new_name);
protozero::pbf_writer tile_writer(buffer_);
tile_writer.add_message(Tile_Encoding::LAYERS, layer.get_data());
auto itr = empty_layers_.find(new_name);
if (itr != empty_layers_.end())
{
empty_layers_.erase(itr);
}
}
return true;
}
Expand All @@ -60,11 +51,6 @@ MAPNIK_VECTOR_INLINE bool tile::append_layer_buffer(const char * data, std::size
layers_.push_back(name);
protozero::pbf_writer writer(buffer_);
writer.add_message(3, data, size);
auto itr = empty_layers_.find(name);
if (itr != empty_layers_.end())
{
empty_layers_.erase(itr);
}
return true;
}

Expand Down
13 changes: 1 addition & 12 deletions test/unit/tile_impl/tile.cpp
Expand Up @@ -41,7 +41,6 @@ TEST_CASE("Vector tile base class")
CHECK(default_tile.tile_size() == 4096);

CHECK(default_tile.get_painted_layers().empty() == true);
CHECK(default_tile.get_empty_layers().empty() == true);
CHECK(default_tile.get_layers().empty() == true);
CHECK(default_tile.get_layers_set().empty() == true);

Expand Down Expand Up @@ -100,7 +99,6 @@ TEST_CASE("Vector tile base class")
const std::vector<std::string> expected_vec{"bogus"};

CHECK(tile.get_painted_layers() == expected_set);
CHECK(tile.get_empty_layers() == empty_set);
CHECK(tile.get_layers() == expected_vec);
CHECK(tile.get_layers_set() == expected_set);
CHECK(tile.has_layer("bogus") == true);
Expand Down Expand Up @@ -166,7 +164,6 @@ TEST_CASE("Vector tile base class")
const std::vector<std::string> expected_vec{"valid"};

CHECK(tile.get_painted_layers() == expected_set);
CHECK(tile.get_empty_layers() == empty_set);
CHECK(tile.get_layers() == expected_vec);
CHECK(tile.get_layers_set() == expected_set);
CHECK(tile.has_layer("valid") == true);
Expand Down Expand Up @@ -209,7 +206,6 @@ TEST_CASE("Vector tile base class")
const std::set<std::string> empty_set{"empty"};
CHECK(tile.get_empty_layers().size() == 1);
CHECK(tile.is_painted() == false);
CHECK(tile.is_empty() == true);
}
Expand Down Expand Up @@ -248,7 +244,6 @@ TEST_CASE("Vector tile base class")
const std::vector<std::string> expected_vec{"valid"};
CHECK(tile.get_painted_layers() == expected_set);
CHECK(tile.get_empty_layers() == empty_set);
CHECK(tile.get_layers() == expected_vec);
CHECK(tile.get_layers_set() == expected_set);
CHECK(tile.has_layer("valid") == true);
Expand Down Expand Up @@ -276,7 +271,6 @@ TEST_CASE("Vector tile base class")
// Add empty layer to tile
tile.add_empty_layer("valid");
std::set<std::string> empty_set{"valid"};
CHECK(tile.get_empty_layers() == empty_set);
// Create layer builder and add feature
mapnik::vector_tile_impl::tile_layer layer;
Expand All @@ -299,7 +293,6 @@ TEST_CASE("Vector tile base class")
// Add layer to tile
tile.add_layer(layer);
empty_set.clear();
CHECK(tile.get_empty_layers() == empty_set);
}
SECTION("add_layer takes layer out of empty layers")
Expand Down Expand Up @@ -458,11 +451,10 @@ TEST_CASE("Vector tile base class")
SECTION("adding a valid layer takes name out of empty layers")
{
mapnik::vector_tile_impl::tile tile(global_extent);
tile.add_empty_layer("layer");

const std::set<std::string> empty_set;
const std::set<std::string> expected_set{"layer"};

CHECK(tile.get_empty_layers() == expected_set);
CHECK(tile.has_layer("layer") == false);
CHECK(tile.is_painted() == false);
CHECK(tile.is_empty() == true);
Expand All @@ -476,9 +468,6 @@ TEST_CASE("Vector tile base class")
layer.SerializePartialToString(&layer_buffer);
tile.append_layer_buffer(layer_buffer.data(), layer_buffer.length(), "layer");

const std::set<std::string> empty_set;

CHECK(tile.get_empty_layers() == empty_set);
CHECK(tile.get_painted_layers() == expected_set);
CHECK(tile.has_layer("layer") == true);
CHECK(tile.is_painted() == true);
Expand Down

0 comments on commit 947a7f6

Please sign in to comment.