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

#include <MTrackManager.h>

Inheritance diagram for Maria::TrackManager:
Maria::GenericGeoObjectProvider

Public Member Functions

 TrackManager (const std::string &listId, std::shared_ptr< TrackDataFactory > dataFactory, std::shared_ptr< StyleSet > styleSet, const std::string &styleCategoryName)
 
const std::string & GetListId () const
 
void UpdateTracks (const TPG::Proto3::Track::PackedTracksResult &result)
 
void UpdateTrack (std::shared_ptr< Maria::TrackFieldDefinitions > fieldDefs, const TPG::Proto3::Track::PackedTrackMessage &ptm, long generation)
 
void UpdateTrack (const TPG::Proto3::Track::PackedTrackMessage &ptm, long generation)
 
void UpdateFieldDefinitions (const TPG::Proto3::Track::FieldDefinitionsMessage &fdm)
 
const std::shared_ptr< TrackFieldDefinitions > & GetFieldDefs ()
 
const std::map< Maria::ItemId, std::shared_ptr< TrackData > > & GetTracks () const
 
int GetNumTracks () const
 
std::shared_ptr< TrackDataGetTrack (const Maria::ItemId &itemId) const
 
void EraseTrack (const Maria::ItemId &itemId)
 
std::shared_ptr< GenericGeoObjectAdapterGetGeoObject (const ItemId &itemId) const
 
void GetChangedTracks (std::vector< std::shared_ptr< TrackData > > &tracks, long generation=-1)
 
bool GetTrackFields (const TrackData &track, std::vector< Maria::TrackField > &fields)
 
std::string GetFieldValue (const TrackData &track, const std::string &fieldName)
 
void GetRandomTracks (int numTracks, std::vector< std::shared_ptr< TrackData > > &tracks)
 
bool TryLock ()
 
void Lock ()
 
void Unlock ()
 
long GetLastKnownGeneration () const
 
void SetLastKnownGeneration (long gen)
 
const std::map< Maria::ItemId, std::shared_ptr< Maria::CompositeStyleItem > > & GetResolvedStyles () const
 
std::shared_ptr< Maria::CompositeStyleItemGetResolvedStyle (const Maria::ItemId &id)
 
std::string GetStyleCategoryName () const
 
void SetStyleCategoryName (const std::string &styleCategoryName)
 
void UpdateStyling (bool forceFullUpdate=false)
 
virtual std::shared_ptr< GenericGeoObjectAdapterGetGeoObject (const Maria::ItemId &itemId) const =0
 

Detailed Description

TrackManager - Short description. OBSOLETE: Use Maria3D::TrackStore instead

Member Function Documentation

◆ GetChangedTracks()

void TrackManager::GetChangedTracks ( std::vector< std::shared_ptr< TrackData > > &  tracks,
long  generation = -1 
)

Get list of tracks. This method returns a list of tracks that have been changed later than the given generation ID. If no generation ID is given, all tracks are returned.

◆ GetFieldValue()

std::string TrackManager::GetFieldValue ( const TrackData track,
const std::string &  fieldName 
)

Get a specific field value for a track

◆ GetGeoObject()

std::shared_ptr< GenericGeoObjectAdapter > Maria::TrackManager::GetGeoObject ( const ItemId itemId) const
inlinevirtual

◆ GetRandomTracks()

void Maria::TrackManager::GetRandomTracks ( int  numTracks,
std::vector< std::shared_ptr< TrackData > > &  tracks 
)
inline

Get a chunk of tracks from the track list. This method is used to get a new chunk of the track list at regular intervals. Each call to this method will return a new chunk until we have visisted the whole list, after which we start at the beginning again.

◆ GetTrackFields()

bool TrackManager::GetTrackFields ( const TrackData track,
std::vector< Maria::TrackField > &  fields 
)

Get all fields for a track.

◆ TryLock()

bool Maria::TrackManager::TryLock ( )
inline

Lock track manager for exclusive access. This method will try to get a lock on the track manager, preventing updates from the update thread while this lock is active. This must be done when synchronizing with the render thread.


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