GlsMap Toolkit  1.9.0
disti::CADRGMapChartDataSource Class Reference

#include <gls_map_cadrg.h>

+ Inheritance diagram for disti::CADRGMapChartDataSource:

Public Member Functions

 CADRGMapChartDataSource (JustInTimeFileLoading=PROCESS_LATER)
 
void ParseDirectory (const char *directoryPath, ParseDirectoryRules=FIND_TOC)
 
void ParseDirectoryForLocation (const char *directoryPath, const double longitude, const double latitude, const double sizeOfParse)
 
void AddCustomMapLayer (const char *currentScaleString, const char *customScaleString, const char *customExtension)
 
unsigned int GetLayerCount () const
 
JustInTimeFileLoading IsJustInTimeFileLoadingEnabled (void) const
 
void SetTargetCellLoadRate (const double targetCellLoadRate)
 
double GetTargetCellLoadRate (void) const
 
std::set< DataSeriesCodeEnum > GetPopulatedLayers ()
 
bool GetAvailableCoverage (GeoRect *dest) DISTI_METHOD_OVERRIDE
 
unsigned long GetBestLayer (GlsMapView *view, GlsMapChart *chart) const DISTI_METHOD_OVERRIDE
 
void GetCellList (const GeoRect &coverage, unsigned long layerID, double viewLogicalHeight, double viewGeoHeight, MapChartCellList &viewList) DISTI_METHOD_OVERRIDE
 
void SetCADRGLayer (const DataSeriesCodeEnum layer)
 
void SetCADRGLayer (const std::string &str)
 
DataSeriesCodeEnum GetCADRGLayer (void)
 
void SetCIBLayer (const unsigned long &layer)
 
void SetCIBLayer (const std::string &str)
 
unsigned long GetCIBLayer (void)
 
void SetUseCADRGLayerFlag (bool layerFlag)
 
bool GetUseCADRGLayerFlag (void)
 
void SetUseCIBLayerFlag (bool layerFlag)
 
bool GetUseCIBLayerFlag (void)
 
void SetLayerCacheCount (const unsigned int cacheCount)
 
unsigned int GetLayerCacheCount (void) const
 
void CalcAvailableCoverage ()
 
Image * LoadCellImage (MapChartCell *cell)
 
void TestCalculatedAgainstTabular ()
 
- Public Member Functions inherited from disti::GlsMapChartDataSource
virtual ~GlsMapChartDataSource ()
 
virtual bool GetAvailableCoverage (GeoRect *dest)=0
 
virtual unsigned long GetBestLayer (GlsMapView *view, GlsMapChart *chart) const
 
virtual void GetCellList (const GeoRect &coverage, unsigned long layerID, double viewLogicalHeight, double viewGeoHeight, MapChartCellList &viewList)=0
 
virtual void PostDraw (GlsMapView *view, GlsMapChart *chart)
 
virtual bool AreAllCellsLoaded (GlsMapView *view, GlsMapChart *chart)
 

Protected Member Functions

 CADRGMapChartDataSource (const CADRGMapChartDataSource &)
 
const CADRGMapChartDataSourceoperator= (const CADRGMapChartDataSource &)
 
void LoadFilesFromCoverage (const GeoRect &coverage_param, DataSeriesCodeEnum layer)
 
- Protected Member Functions inherited from disti::GlsMapChartDataSource
 GlsMapChartDataSource ()
 

Protected Attributes

GeoRect _availableCoverage
 
unsigned long _cellListCount
 
DataSeriesCodeEnum _userDefinedCADRGLayer
 
bool _useUserDefinedCADRGLayer
 
const JustInTimeFileLoading _useJITFileLoading
 
CADRGMapChartLayerCache * _layerCache
 
CADRGMap * _cadrgMapStore
 

Detailed Description

Runtime implementation of an CADRGMapChartDataSource

Member Function Documentation

◆ AddCustomMapLayer()

void disti::CADRGMapChartDataSource::AddCustomMapLayer ( const char *  currentScaleString,
const char *  customScaleString,
const char *  customExtension 
)

Uses the currentScaleString value to derive a new map layer from the existing layer identified by currentScaleString.

Parameters
currentScaleStringshould be the string of an existing layer
customScaleStringthe string to be added to the above list of strings
customExtensionthe two character non-numeric file extension that can be used to find files for this layer.
Deprecated:
This function will have no effect. User code should use SetCADRGLayer() with DataSeriesCodeEnum values instead.

◆ CalcAvailableCoverage()

void disti::CADRGMapChartDataSource::CalcAvailableCoverage ( )

Updates the coverage area that is returned by GetAvailableCoverage. This is called automatically when something causes the coverage area to change. This method is slow, users of the class should not need to call it directly.

◆ GetAvailableCoverage()

bool disti::CADRGMapChartDataSource::GetAvailableCoverage ( GeoRect dest)
virtual

Sets a GeoRect to describe the area containing all areas covered by this MapDataSource. This area may change as different databases are loaded. Calling this method may be slow. \dest Pointer to a GeoRect to recieve the coverage.

Returns
true on success (dest contains the coverage description) or false if there was an error (dest is undefined)

Implements disti::GlsMapChartDataSource.

◆ GetBestLayer()

unsigned long disti::CADRGMapChartDataSource::GetBestLayer ( GlsMapView view,
GlsMapChart chart 
) const
virtual

Returns the cell layer ('zoom level') that best matches the given area

Parameters
viewThe GlsMapView used to draw the chart
chartThe GlsMapChart that is being drawn
Returns
The recommended layer to use
Note
Data sources that do not support layers should always return 0.

Reimplemented from disti::GlsMapChartDataSource.

◆ GetCADRGLayer()

DataSeriesCodeEnum disti::CADRGMapChartDataSource::GetCADRGLayer ( void  )
inline

Get the currently set layer for CADRG data.

Returns
The currently set layer for CADRG data.

◆ GetCellList()

void disti::CADRGMapChartDataSource::GetCellList ( const GeoRect coverage,
unsigned long  layerID,
double  viewLogicalHeight,
double  viewGeoHeight,
MapChartCellList &  viewList 
)
virtual

Get the list of the available cells in a given coverage area The caller will AddRef() any of the cells that it will be holding a reference to

Parameters
coverageGeoRect describing the requested area
layerIDWhich layer to return MapCells from
viewLogicalHeightThe height of the view in logical units
viewGeoHeightThe height of the view in geographic units
viewListPointer MapChartCellList to recieve the list of available cells

Implements disti::GlsMapChartDataSource.

◆ GetCIBLayer()

unsigned long disti::CADRGMapChartDataSource::GetCIBLayer ( void  )
inline

Get the currently set layer for CIB data.

Returns
The currently set layer for CIB data.
Deprecated:
This function will have no effect. User code should use GetCADRGLayer() instead.

◆ GetLayerCacheCount()

unsigned int disti::CADRGMapChartDataSource::GetLayerCacheCount ( void  ) const

Get the count of the layer cache

Returns
max number of layers to cache ( 0u if layer caching is disabled )

◆ GetPopulatedLayers()

std::set< DataSeriesCodeEnum > disti::CADRGMapChartDataSource::GetPopulatedLayers ( )

Get the set of CADRG layers that have loaded data. Refer to DataSeriesCodeEnum for list of CADRG layers.

Returns
set of CADRG layers with data

◆ GetTargetCellLoadRate()

double disti::CADRGMapChartDataSource::GetTargetCellLoadRate ( void  ) const

Get the target rate in hz at which cells will be loaded

Returns
target rate in hz else 0.0 for no target rate ( i.e. load as quickly as possible )

◆ GetUseCIBLayerFlag()

bool disti::CADRGMapChartDataSource::GetUseCIBLayerFlag ( void  )
inline

Get the current setting of the use CIB layer flag.

Deprecated:
This function will have no effect. User code should use GetUseCADRGLayer() instead.

◆ ParseDirectoryForLocation()

void disti::CADRGMapChartDataSource::ParseDirectoryForLocation ( const char *  directoryPath,
const double  longitude,
const double  latitude,
const double  sizeOfParse 
)

Loads CADRG data from the specified directory if the data is located in the coordinate coverage area.

Parameters
directoryPaththe string of the path to the directory
longitudethe value of the longitude of the center coordinate of the coverage area
latitudethe value of the latitude of the center coordinate of the coverage area
sizeOfParsethe value of the radius of the coverage in nautical miles

◆ SetCADRGLayer() [1/2]

void disti::CADRGMapChartDataSource::SetCADRGLayer ( const DataSeriesCodeEnum  layer)

Set the user-specificed layer to display for CADRG data. Note: This value will NOT be used unless the SetUseCADRGLayerFlag is true.

Parameters
layerThe layer to display. Refer to DataSeriesCodeEnum for layer definitions.

◆ SetCADRGLayer() [2/2]

void disti::CADRGMapChartDataSource::SetCADRGLayer ( const std::string &  str)

Set the layer to display for CADRG data by scale string. Note: This value will NOT be used unless the SetUseCADRGLayerFlag is true. string - layer name

Parameters
strThe scale string of the layer to display.
Deprecated:
This function will have no effect. User code should use SetCADRGLayer() with DataSeriesCodeEnum values instead.

◆ SetCIBLayer() [1/2]

void disti::CADRGMapChartDataSource::SetCIBLayer ( const std::string &  str)

Set the layer to display for CIB data by scale string. Note: This value will NOT be used unless the SetUseCADRGLayerFlag is true. The valid values are: "10M" "5M"

Parameters
strThe scale string of the layer to display. The strings are defined int the CADRG standard, i.e. "1M".
Deprecated:
This function will have no effect. User code should use SetCADRGLayer() instead.

◆ SetCIBLayer() [2/2]

void disti::CADRGMapChartDataSource::SetCIBLayer ( const unsigned long &  layer)

Set the layer to display for CIB data. Note: This value will NOT be used unless the SetUseCADRGLayerFlag is true. The valid values are: 8 - 10M 9 - 5M

Parameters
layerThe layer to display. Should be in the range [8, 10].
Deprecated:
This function will have no effect. User code should use SetCADRGLayer() instead.

◆ SetLayerCacheCount()

void disti::CADRGMapChartDataSource::SetLayerCacheCount ( const unsigned int  cacheCount)

Set the count of the layer cache

Parameters
cacheCountmax number of layers to cache else 0u to disable layer caching

◆ SetTargetCellLoadRate()

void disti::CADRGMapChartDataSource::SetTargetCellLoadRate ( const double  targetCellLoadRate)

Set the target rate in hz at which cells will be loaded

Parameters
targetCellLoadRatetarget rate in hz else 0.0 for no target rate ( i.e. load as quickly as possible )

◆ SetUseCIBLayerFlag()

void disti::CADRGMapChartDataSource::SetUseCIBLayerFlag ( bool  layerFlag)
inline

Set the use CIB layer flag, which turns on and off the use of the user specified layer for CIB data.

Deprecated:
This function will have no effect. User code should use SetUseCADRGLayer() instead.

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