Maria GDK 5.0.0.738
Documentation of native code in develop branch
Loading...
Searching...
No Matches
Maria::PointSymbolCell Class Reference

#include <MPointSymbolCell.h>

Public Member Functions

 PointSymbolCell (double minLat, double minLon, double maxLat, double maxLon)
 
void setPointSymbol (const Maria::ItemId &id, const BasicGeoTypes::GeoPos &pos, std::uint16_t symbolIdx, std::uint32_t flags)
 
void deletePointSymbol (const Maria::ItemId &id)
 
const BasicGeoTypes::GeoPosgetPosition (const Maria::ItemId &id) const
 
std::uint32_t getPointSymbolId (const Maria::ItemId &id) const
 
std::uint32_t getFlags (const Maria::ItemId &id) const
 
float getAlpha (const Maria::ItemId &id) const
 
float getScale (const Maria::ItemId &id) const
 
float getRotation (const Maria::ItemId &id) const
 
float getHAnchor (const Maria::ItemId &id) const
 
float getVAnchor (const Maria::ItemId &id) const
 
bool getGrayscale (const Maria::ItemId &id) const
 
int getNumPointSymbols () const
 
STK::Matrix4x4f calcTileMatrix (const Maria::RasterProjector &viewport)
 
void drawVertexArrays (GLuint quadVBO)
 
void redraw (const std::shared_ptr< RasterProjector > &vp, const STK::Matrix4x4f &mv, STK::ShaderProgram &shader, GLuint quadVBO)
 
void circleHitTest (const std::shared_ptr< RasterProjector > &vp, double px, double py, float symbolSize, int pickRadius, std::vector< Maria::ItemId > &items)
 
void hitTest (const std::shared_ptr< RasterProjector > &vp, const std::shared_ptr< RasterProjector > &pickVp, const STK::Matrix4x4f &mv, STK::ShaderProgram &shader, GLuint quadVBO, STK::FBOTexture &fbo, std::vector< Maria::ItemId > &items)
 

Detailed Description

PointSymbolCell - One batch of point symbol objects. Point symbols are batched in grid cells so that all symbols in one cell is rendered as an instanced vertex array. This is highly efficient in OpenGL and allows us to render huge amounts of point symbols.

The vertex buffer data consists of 2D position (in projection coordinates) and a symbol index pointing to the corresponding texture cell in the texture atlas.


The documentation for this class was generated from the following files: