![]() |
MapLink Pro 11.1.1.0.
Envitia MapLink Pro: The Ultimate Mapping Application Toolkit
|
A track aggregator provides the ability to collate multiple tracks into a single visualisation at display time.
Public Types | |
enum | AggregatorType { AggregatorCustom , AggregatorByEchelon , AggregatorByDensity } |
The types of aggregator provided by the MapLink API. More... | |
Public Member Functions | |
virtual TSLTrackAggregator::AggregatorType | type () const =0 |
virtual void | preProcess () |
virtual TSLTrackBase * | aggregateTrack (TSLTrackBase *track, const TSLRenderingInterface *renderingInterface)=0 |
virtual void | postProcess () |
virtual uint32_t | numAdditionalTracks () const |
virtual TSLTrackBase * | getAdditionalTrack (uint32_t index) const |
virtual | ~TSLTrackAggregator () |
Destructor. | |
Protected Member Functions | |
TSLTrackAggregator () | |
|
virtual |
Destructor.
|
protected |
|
pure virtual |
This method will be called by the track manager to check whether a track is aggregated or not. The implementation of the aggregator must perform its algorithm to determine this. If NULL is returned the provided track will not be rendered by the track manager
Any tracks which are contained within the returned TSLTrackBase will not be drawn (unless aggregation has been disabled)
The rendering interface is provided to allow the aggregator access to draw-specific settings such as the extent of the drawing surface, or the zoom level of the display.
track | The input track |
renderingInterface | The current rendering interface |
Implemented in TSLTrackAggregatorDensity, and TSLTrackAggregatorEchelon.
|
virtual |
Query an additional track provided by this aggregator
Reimplemented in TSLTrackAggregatorDensity.
|
virtual |
Query the number of additional tracks provided by this aggregator
Reimplemented in TSLTrackAggregatorDensity.
|
virtual |
Perform any required post processing
This method will be called by the track manager during each draw
The aggregator should use this method to perform complex calculations based on multiple tracks, and to populate a list of additional tracks to draw if needed.
Reimplemented in TSLTrackAggregatorDensity.
|
virtual |
Reset the aggregator and perform any required pre processing
This method will be called by the track manager at the start of each draw to allow the aggregator to perform any setup or reset operations required.
Reimplemented in TSLTrackAggregatorDensity.
|
pure virtual |
Query the type of the aggregator
Any aggregator defined by the application must return TSLTrackAggregator::AggregatorCustom
Implemented in TSLTrackAggregatorDensity, and TSLTrackAggregatorEchelon.