|
| PointSymbolRenderer (const std::shared_ptr< STK::ShaderProgramManager > &shaderManager, std::shared_ptr< Maria::SymbolCache > symbolCache, int gridRows=18, int gridCols=36) |
|
void | redraw (const std::shared_ptr< Maria::RasterProjector > &viewport, const STK::Camera &cam) |
|
void | update (const Maria::GenericGeoObjectAdapter &trk, const std::shared_ptr< Maria::CompositeStyleItem > &style) |
|
void | update (const Maria::ItemId &itemId, const BasicGeoTypes::GeoPos &gp, const std::string &symbolType, const std::string &symbolCode, Maria::HorizontalAnchor hAnchor=Maria::HorizontalAnchor::Center, Maria::VerticalAnchor vAnchor=Maria::VerticalAnchor::Middle, float rotation=0.0f, float scale=1.0f, float alpha=1.0f, bool grayscale=false) |
|
float | getSymbolSize () const |
|
void | setSymbolSize (float symbolSize) |
| Set point symbol size (in pixels).
|
|
void | setSymbolSet (std::string symbolset) |
|
bool | hasPoint (const Maria::ItemId &itemId) const |
|
float | getSymbolRotation (float angle) const |
| Get actual rotation angle for a point symbol which is rotated in 22.5 degree steps.
|
|
float | getAlphaValue (float alpha) const |
|
float | getSymbolScale (float scale) const |
|
void | filterVisibleItems (const std::set< Maria::ItemId > &visibleItems) |
| Update visible items by removing all items that are not in the visible items list.
|
|
void | removePoint (const Maria::ItemId &itemId) |
|
void | removePoints (const std::vector< Maria::ItemId > &itemIds) |
|
void | removePoints (const std::vector< std::shared_ptr< Maria::GenericGeoObjectAdapter > > &points) |
|
void | removePoints (const std::string &listId="") |
|
STK::OrientedBoundingBox2f | calcOrientedBoundingBox (const Maria::GenericGeoObjectAdapter &trk, const std::shared_ptr< Maria::CompositeStyleItem > &style, const std::shared_ptr< RasterProjector > &vp) |
|
void | circleHitTest (const std::shared_ptr< RasterProjector > &vp, double px, double py, float symbolSize, int pickRadius, std::vector< Maria::ItemId > &items) const |
|
int | getIntersectingItems (const std::shared_ptr< RasterProjector > &vp, double x, double y, std::vector< Maria::ItemId > &items, int pickRadius=4) |
|
|
bool | initShader () |
|
void | initQuadBuffer () |
|
std::shared_ptr< PointSymbolRenderLayer > | getOrCreateLayer (SymbolCache::LayerIndexT layerId) |
|
SymbolCache::SymbolIndexT | getSymbolIndex (const Maria::GenericGeoObjectAdapter &trk, const std::shared_ptr< Maria::CompositeStyleItem > &style) |
|
std::uint32_t | getSymbolFlags (const Maria::GenericGeoObjectAdapter &trk, const std::shared_ptr< Maria::CompositeStyleItem > &style) |
|
uint8_t | calcAnchorBits (float anchor) |
|
std::uint32_t | encodeSymbolFlags (float alpha, float scale, float rotation, float hAnchor, float vAnchor, bool grayscale) |
|
std::uint8_t | calcAlphaBits (float alpha) const |
|
std::uint8_t | calcRotationBits (float angle) const |
|
std::uint8_t | calcScalingBits (float scale) const |
|
void | cleanupGL () |
|
void | internalRemovePoints (const std::vector< Maria::ItemId > &itemIds) |
|
void | internalUpdate (const Maria::ItemId &itemId, const BasicGeoTypes::GeoPos &gp, SymbolCache::SymbolIndexT symbolIndex, std::uint32_t flags) |
|
PointSymbolRenderer - Short description. Detailed description.
std::uint32_t PointSymbolRenderer::encodeSymbolFlags |
( |
float |
alpha, |
|
|
float |
scale, |
|
|
float |
rotation, |
|
|
float |
hAnchor, |
|
|
float |
vAnchor, |
|
|
bool |
grayscale |
|
) |
| |
|
protected |
Encode flags for scale, rotation, alpha, anchor alignment and grayscale. The flags are packed into 32 bits as follows: +----—+-----—+-----—+-------—+------—+-----—+ | alpha | Scale | Rotate | hAnchor | vAnchor | Misc. | +----—+-----—+-----—+-------—+------—+-----—+ 4b 8b 8b 5b 5b 2b
The "Misc" category currently only contains "grayscale" on the LSB.