Push TileMembers members down hierarchy

This commit is contained in:
John Firebaugh
2015-06-04 17:22:47 -07:00
parent 29a2cd908f
commit 217c376291
6 changed files with 131 additions and 138 deletions

View File

@@ -19,7 +19,8 @@ VectorTileData::VectorTileData(const TileID& id_,
const SourceInfo& source_,
float angle,
bool collisionDebug)
: TileData(id_, source_),
: TileData(id_),
source(source_),
worker(style_.workers),
workerData(id_,
style_,
@@ -111,7 +112,9 @@ size_t VectorTileData::countBuckets() const {
}
void VectorTileData::setState(const State& state_) {
TileData::setState(state_);
assert(!isImmutable());
state = state_;
if (isImmutable()) {
workerData.collision->reset(0, 0);
@@ -148,3 +151,27 @@ void VectorTileData::endRedoPlacement() {
redoingPlacement = false;
redoPlacement();
}
void VectorTileData::cancel() {
if (state != State::obsolete) {
state = State::obsolete;
}
if (req) {
util::ThreadContext::getFileSource()->cancel(req);
req = nullptr;
}
workRequest.reset();
}
bool VectorTileData::mayStartParsing() {
return !parsing.test_and_set(std::memory_order_acquire);
}
void VectorTileData::endParsing() {
parsing.clear(std::memory_order_release);
}
void VectorTileData::setError(const std::string& message) {
error = message;
setState(State::obsolete);
}