#pragma once #include #include #include #include #include #include #include namespace mbgl { class BucketParameters; class FillExtrusionBucket : public Bucket { public: FillExtrusionBucket(const BucketParameters&, const std::vector&); void addFeature(const GeometryTileFeature&, const GeometryCollection&) override; bool hasData() const override; void upload(gl::Context&) override; void render(Painter&, PaintParameters&, const RenderLayer&, const RenderTile&) override; float getQueryRadius(const RenderLayer&) const override; gl::VertexVector vertices; gl::IndexVector triangles; gl::SegmentVector triangleSegments; optional> vertexBuffer; optional> indexBuffer; std::unordered_map paintPropertyBinders; }; } // namespace mbgl