Maria GDK 5.1.0.112
Documentation of native code in develop branch
Loading...
Searching...
No Matches
Maria3D::DrawObjectRenderer Class Reference

#include <M3DDrawObjectRenderer.h>

Public Member Functions

 DrawObjectRenderer (const std::shared_ptr< LocalOrigin > &localOrigin, const std::shared_ptr< Maria3D::Globe > &globe, const std::shared_ptr< STK::ShaderProgramManager > &shaderManager, const std::shared_ptr< VolumePolygonsRenderer > &volumePolygonsRenderer, std::shared_ptr< Maria::StyleSet > styleSet, const std::string &styleCategoryName)
 
void setStyleSet (const std::shared_ptr< Maria::StyleSet > &styleSet)
 
std::string getStyleCategoryName () const
 
void setStyleCategoryName (const std::string &styleCategoryName)
 
std::shared_ptr< Maria::CompositeStyleItemgetResolvedStyle (const Maria::ItemId &id)
 
void updateStyling (bool forceFullUpdate)
 
void updateObject (const std::shared_ptr< Maria::DrawObjectData > &drawObject)
 
void updateVisibleItems (const std::unordered_set< Maria::ItemId, Maria::ItemId::Hash > &visibleItems)
 
void removeObject (const Maria::ItemId &id, int64_t generation)
 
void redraw (const STK::Camera &cam, const STK::Viewport &vp)
 
long getLabelDataGeneration () const
 
std::shared_ptr< Maria::TileLabelDatabuildLabelData (Maria::TileId tileId) const
 
bool needsRedraw () const
 

Protected Member Functions

bool hasLabel (const Maria::DrawObjectData &drawObject) const
 
void invalidateLabelData ()
 
void invalidateGraphics (const Maria::ItemId &itemId)
 
void invalidateObjectLabelCache (const Maria::ItemId &itemId)
 
void markObjectSeen (const Maria::ItemId &itemId, int64_t timestamp)
 
bool eraseCachedObject (const Maria::ItemId &itemId)
 
void cleanupStaleObjectsIfNeeded (int64_t timestamp)
 
void collectObjectLabels (const Maria::ItemId &itemId, std::vector< Maria::TileLabel > &labels) const
 
const std::vector< Maria::TileLabel > & getCachedObjectLabels (const Maria::ItemId &itemId) const
 
void appendObjectLabelsForTile (const Maria::ItemId &itemId, const QuadCoo &quadTile, Maria::TileLabelData &tileLabelData) const
 
void getChangedObjects (std::vector< std::shared_ptr< Maria::GenericGeoObjectAdapter > > &objs, long generation=-1)
 

Protected Attributes

std::shared_ptr< LocalOrigin_localOrigin
 
std::shared_ptr< STK::ShaderProgramManager_shaderManager
 
std::mutex _styleMutex
 
int64_t _lastKnownGeneration = 0
 
int64_t _styleUpdateGeneration = 0
 
int64_t _lastFrameGeneration = 0
 
std::map< Maria::ItemId, std::shared_ptr< PolylineRender > > _polylineRender
 
std::map< Maria::ItemId, std::shared_ptr< CustomPointRender > > _customPointRender
 
std::map< Maria::ItemId, std::shared_ptr< VolumeDrawObjectRender > > _volumeDrawObjects
 
std::shared_ptr< Maria3D::VolumePolygonsRenderer_volumePolygonsRenderer
 
std::unordered_set< Maria::ItemId, Maria::ItemId::Hash_visibleItemIds
 
std::shared_ptr< Maria3D::Globe_globe
 
std::string _styleCategoryName
 
std::shared_ptr< Maria::ItemContext_styleContext
 
std::shared_ptr< Maria::StyleSet_styleSet
 
std::atomic< bool > _styleDirty = false
 
std::atomic< long > _labelDataGeneration = 1
 
std::map< Maria::ItemId, std::shared_ptr< Maria::CompositeStyleItem > > _resolvedStyles
 
std::map< Maria::ItemId, std::vector< Maria::TileLabel > > _cachedObjectLabels
 
std::map< Maria::ItemId, int64_t > _objectLastSeen
 
int64_t _lastObjectCacheCleanupTimestamp = 0
 

Detailed Description

DrawObjectRenderer - Short description. Detailed description.

Member Function Documentation

◆ buildLabelData()

std::shared_ptr< Maria::TileLabelData > DrawObjectRenderer::buildLabelData ( Maria::TileId  tileId) const

Collect label data for the 3D draw objects (3D lines, volumes, etc.) in the given tile.


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