#pragma once #include #include #include #include #include #include #include #include namespace mbgl { class BucketParameters; class CircleBucket final : public Bucket { public: using PossiblyEvaluatedLayoutProperties = style::CircleLayoutProperties::PossiblyEvaluated; CircleBucket(const std::map>& layerPaintProperties, MapMode mode, float zoom); ~CircleBucket() override; bool hasData() const override; void upload(gfx::UploadPass&) override; float getQueryRadius(const RenderLayer&) const override; void update(const FeatureStates&, const GeometryTileLayer&, const std::string&, const ImagePositions&) override; gfx::VertexVector vertices; gfx::IndexVector triangles; SegmentVector segments; optional> vertexBuffer; optional indexBuffer; std::map paintPropertyBinders; const MapMode mode; }; } // namespace mbgl