|
| SymbolLabelRenderer (const std::shared_ptr< STK::ShaderProgramManager > &shaderManager, const std::shared_ptr< STK::FontManager > &fontManager, const std::shared_ptr< STK::Screen > &screen, const std::shared_ptr< DrawObjectManager > &drawObjectManager, const std::shared_ptr< ItemSelection > &selection, const std::shared_ptr< PointSymbolRenderer > &symbolPointRenderer, int rows=18, int cols=36) |
|
int | getTileIndex (const Maria::ItemId &itemId) |
|
void | setTileIndex (const Maria::ItemId &itemId, int index) |
|
std::shared_ptr< Maria::SymbolLabelTile > | getTile (int idx) |
|
std::shared_ptr< Maria::SymbolLabelTile > | getOrCreateTile (int idx) |
|
int | calcRow (double lat) |
|
int | calcColumn (double lon) |
|
int | calcTileIndex (const BasicGeoTypes::GeoPos &gp) |
|
void | clear () |
|
void | filterVisibleItems (const std::set< Maria::ItemId > &visibleItems) |
| Update visible items by removing all items that are not in the visible items list.
|
|
void | removeItem (const Maria::ItemId &itemId) |
|
void | update (const Maria::DrawObjectData &drawObject, const std::shared_ptr< Maria::CompositeStyleItem > &style, const std::shared_ptr< GeoUnitsSetting > &geoUnits) |
|
void | redraw (const std::shared_ptr< Maria::RasterProjector > &viewport, const STK::Matrix4x4f &pj, const STK::Matrix4x4f &mv, const STK::Viewport &vp) |
|
void | drawUnitQuad () |
|
virtual void | getCollisionItems (const std::shared_ptr< RasterProjector > &vp, std::vector< CollisionItem > &collisionItems, std::vector< CollisionItem > &alwaysVisibleItems) override |
| get a list of all items to be collision detected. This method must be thread-safe as it will be called from another thread than the main/gui thread.
|
|
virtual void | updateVisibility (const std::vector< VisibilityItem > &items) override |
| Update the visibility of items according to the given list of collision items.
|
|
virtual bool | needsCollisionUpdate (const RasterProjector &vp) const override |
| Check if the collection has changed so that we need to recalculate the visibility. This can for example be if any new items have been added or removed, or if items have changed size or shape. Will be run from main thread only.
|
|
virtual void | initCollisionUpdate () override |
| Initialize collision update. This will be run after a collision update has been deemed necessary, and before the actual update thread is starting. It can be used to update generation counters, dirty flags, etc. Will be run from main thread only.
|
|
virtual int | priority () const override |
| Priority of this collection relative to other collections to be collision checked in the same grid. Higher priorities are added first and more likely to be shown.
|
|
void | setPriority (int priority) |
|
virtual void | getCollisionItems (const std::shared_ptr< RasterProjector > &vp, std::vector< CollisionItem > &collisionItems, std::vector< CollisionItem > &alwaysVisibleItems)=0 |
| get a list of all items to be collision detected. This method must be thread-safe as it will be called from another thread than the main/gui thread.
|
|
virtual void | updateVisibility (const std::vector< VisibilityItem > &items)=0 |
| Update the visibility of items according to the given list of collision items.
|
|
virtual bool | needsCollisionUpdate (const RasterProjector &vp) const =0 |
| Check if the collection has changed so that we need to recalculate the visibility. This can for example be if any new items have been added or removed, or if items have changed size or shape. Will be run from main thread only.
|
|
virtual void | initCollisionUpdate ()=0 |
| Initialize collision update. This will be run after a collision update has been deemed necessary, and before the actual update thread is starting. It can be used to update generation counters, dirty flags, etc. Will be run from main thread only.
|
|
virtual int | priority () const =0 |
| Priority of this collection relative to other collections to be collision checked in the same grid. Higher priorities are added first and more likely to be shown.
|
|
SymbolLabelRenderer - Short description