![]() |
MapLink Pro 11.1.1.0.
Envitia MapLink Pro: The Ultimate Mapping Application Toolkit
|
Public Member Functions | |
TSLS63DataLayer (TSLS63DataClient *dataClient, const TSLS63HWID *hw_id, const TSLCoordinateSystem *displayCoordinateSystem, const TSLS63DataLayerScaleBands *scaleBands) | |
TSLS63DataLayer (const TSLS63HWID *hw_id, const TSLCoordinateSystem *displayCoordinateSystem, const TSLS63DataLayerScaleBands *scaleBands) | |
bool | addCellPermit (const TSLS63CellPermit *permit, const TSLGeodeticExtent &cellExtent, const char *dataServerIDForPermit=NULL) |
bool | addCellPermit (const char *dataClientID, const TSLS63CellPermit *permit, const TSLGeodeticExtent &cellExtent, const char *dataServerIDForPermit=NULL) |
bool | addDataClient (const char *dataClientID, TSLS63DataClient *dataClient) |
void | cacheFlushLimit (int flush_limit) |
int | cacheFlushLimit () |
void | cacheSize (int new_size) |
int | cacheSize () |
bool | clearCache () |
void * | operator new (size_t size) TSL_NO_THROW |
void * | operator new (size_t size, char *filename, int line) |
![]() | |
void | addDrawingCallback (TSLDataLayerDrawingCallback *drawingCallback) |
bool | addFeatureRendering (const char *featureName, TSLFeatureID featureID) |
bool | addLoader (TSLFileLoader *loader, TSLLoaderAppCallback callback, void *arg, TSLAllLoadedCallback allLoadedCallback=0, void *arg2=0) |
bool | addPathList (const TSLPathList *path_list) |
void | cancelFlashback () |
bool | clearFeatureRendering (const char *featureName, TSLFeatureID featureID) |
TSLDataHandler * | createDataHandler (const char *config_file=0) |
TSLHistoryVersion | currentVersion () const |
TSLDataHandler * | dataHandler () |
const TSLDataHandler * | dataHandler () const |
void | destroy () |
bool | entityIsVisible (const TSLEntity *entity, const TSLDrawingSurface *drawingSurface) const |
const TSLFeatureClassList * | featureList () const |
const TSLFeatureClassList * | featureList (const char *detailLayerName) const |
bool | fileModificationTime (const char *filename, TSLTimeType &lastModificationTime) |
TSLEntity * | findEntity (TSLTMC x, TSLTMC y, TSLTMC aperture, int depth, const char *featureName=0, int drawingSurfaceID=-1) |
bool | findFile (const char *filename, TSLSimpleString &foundPath) const |
void | flashbackToTimestamp (TSLHistoryTimestamp timestamp, TSLLayerArchiveCallback archiveCallback, void *arg=0) |
void | flashbackToTimestamp (TSLHistoryTimestamp timestamp, TSLLayerArchiveTileCallback archiveTileCallback, void *arg=0) |
void | flashbackToVersion (TSLHistoryVersion version, TSLLayerArchiveCallback archiveCallback, void *arg=0) |
void | flashbackToVersion (TSLHistoryVersion version, TSLLayerArchiveTileCallback archiveTileCallback, void *arg=0) |
bool | getActiveLayerName (const TSLEnvelope &extent, double screenResolution, TSLSimpleString &activeLayerName) const |
TSLEntityIterator * | getEntityIterator (const char *detailLayer, TSLSelector *selector=NULL, TSLEnvelope *extent=NULL, bool splitOptimisedPrimitives=true) |
bool | getFeatureRendering (const char *featureName, TSLFeatureID featureID, TSLRenderingAttributeInt attribute, int *result) const |
bool | getFeatureRendering (const char *featureName, TSLFeatureID featureID, TSLRenderingAttributeDouble attribute, double *result) const |
bool | getFeatureRendering (const char *featureName, TSLFeatureID featureID, TSLRenderingAttributeBool attribute, bool *result) const |
bool | getFeatureRendering (const char *featureName, TSLFeatureID featureID, TSLRenderingAttributes *result) const |
TSLFileLoader * | getLoader () |
bool | getMUExtent (double *x1, double *y1, double *x2, double *y2, int drawingSurfaceID=-1) const |
bool | getTMCExtent (TSLTMC *x1, TSLTMC *y1, TSLTMC *x2, TSLTMC *y2, int drawingSurfaceID=-1) const |
bool | getUUExtent (double *x1, double *y1, double *x2, double *y2, const TSLDrawingSurface *drawingSurface) const |
bool | importHistory (TSLHistoryVersion mapVersion, TSLHistoryTimestamp timestamp, TSLHistoryImportSet *historySet) |
bool | latLongToTMC (double latitude, double longitude, TSLTMC *x, TSLTMC *y, bool local=false) const |
bool | latLongToTMC (int num, double *latitudes, double *longitudes, TSLTMC *xs, TSLTMC *ys, bool local=false) const |
TSLDataLayerTypeEnum | layerType () const |
bool | loadData (const char *filename) |
bool | loadRendering (const char *filename) |
void | notifyChanged (bool changed=true) |
TSLMapQuery * | query (TSLTMC x1, TSLTMC y1, TSLTMC x2, TSLTMC y2, int depth=-1, const char *featureName=NULL, int drawingSurfaceID=-1) const |
TSLMapQuery * | query (TSLTMC x1, TSLTMC y1, TSLTMC x2, TSLTMC y2, TSLSelector *selector, int drawingSurfaceID=-1) const |
const TSLCoordinateSystem * | getCoordinateSystem () const |
bool | queryVersionHistory (const TSLEnvelope &extent, TSLVersionHistorySet &history) |
void | refreshFlashback () |
bool | removeData () |
void | releaseResources (int surfaceID) |
bool | saveRendering (const char *filename, TSLMapLinkVersion ver=TSL_CURRENT_MAPLINK_VERSION) |
bool | setCoordinateSystem (const TSLCoordinateSystem *coordinateSystem) |
bool | setFeatureRendering (const char *featureName, TSLFeatureID featureID, TSLRenderingAttributeInt attribute, int value) |
bool | setFeatureRendering (const char *featureName, TSLFeatureID featureID, TSLRenderingAttributeDouble attribute, double value) |
bool | setFeatureRendering (const char *featureName, TSLFeatureID featureID, TSLRenderingAttributeBool attribute, bool value) |
bool | setFeatureRendering (const char *featureName, TSLFeatureID featureID, TSLRenderingAttributes *value) |
bool | TMCToLatLong (TSLTMC x, TSLTMC y, double *latitude, double *longitude, bool local=false, bool boundCheck=true) const |
bool | TMCToLatLong (int num, TSLTMC *xs, TSLTMC *ys, double *latitudes, double *longitudes, bool local=false) const |
const TSLVersionHistorySet * | versionHistory () const |
TSLS63DataLayer::TSLS63DataLayer | ( | TSLS63DataClient * | dataClient, |
const TSLS63HWID * | hw_id, | ||
const TSLCoordinateSystem * | displayCoordinateSystem, | ||
const TSLS63DataLayerScaleBands * | scaleBands ) |
Constructor for the TSLS63DataLayer
dataClient | The user implementation of the TSLS63DataClient class. This will be used to notify of errors and request additional information throughout the lifetime of the data layer |
hw_id | The client's S63 HW_ID as assigned by the OEM |
displayCoordinateSystem | The coordinate system to be used to display the S57 data. A copy is made of this instance and maintained by the layer. |
scaleBands | The scale bands thresholds that the layer should use to draw the data, A reference is maintained to this object so the user should maintain it for the lifetime of the layer. The contents may be modified at any time by the user except for during a render or in a different thread from the one used for rendering. |
TSLS63DataLayer::TSLS63DataLayer | ( | const TSLS63HWID * | hw_id, |
const TSLCoordinateSystem * | displayCoordinateSystem, | ||
const TSLS63DataLayerScaleBands * | scaleBands ) |
bool TSLS63DataLayer::addCellPermit | ( | const char * | dataClientID, |
const TSLS63CellPermit * | permit, | ||
const TSLGeodeticExtent & | cellExtent, | ||
const char * | dataServerIDForPermit = NULL ) |
This method will add cell permits to the data client whose id matches the supplied identifier. Before calling this method, ensure the data client has first been added to the layer.
dataClientID | The identifier of the data client to add the cell permits to. |
permit | The cell permit to add to the media ingest manager. |
cellExtent | The latitude/longitude extent of the cell associated with the cell permit. |
dataServerIDForPermit | Cell permits conforming to version 1.0 of the S63 standard may not contain the data server ID of the data server that issued the permit. This information is required by MapLink to perform an ingest using the permit. Therefore if this information is not contained within the permit the value passed in here will be used instead. The OEM can determine if this value needs to be provided by querying the data server ID from a loaded cell permit. If the value returned is NULL then the two character ID of the data server that issued the cell permit must be provided here. |
bool TSLS63DataLayer::addCellPermit | ( | const TSLS63CellPermit * | permit, |
const TSLGeodeticExtent & | cellExtent, | ||
const char * | dataServerIDForPermit = NULL ) |
This method will add cell permits to the default data source. Before calling this method, ensure a data client has been first added to the layer.
permit | The cell permit to add to the media ingest manager. |
cellExtent | The latitude/longitude extent of the cell associated with the cell permit. |
dataServerIDForPermit | Cell permits conforming to version 1.0 of the S63 standard may not contain the data server ID of the data server that issued the permit. This information is required by MapLink to perform an ingest using the permit. Therefore if this information is not contained within the permit the value passed in here will be used instead. The OEM can determine if this value needs to be provided by querying the data server ID from a loaded cell permit. If the value returned is NULL then the two character ID of the data server that issued the cell permit must be provided here. |
bool TSLS63DataLayer::addDataClient | ( | const char * | dataClientID, |
TSLS63DataClient * | dataClient ) |
Adds a data client to the data layer with a particular identifier. This data client will be used to retrieve the cell data which will be displayed.
dataClientID | The identifier of the data client. |
dataClient | The data client which will be used to pass cell information on to the data layer. |
int TSLS63DataLayer::cacheFlushLimit | ( | ) |
Query the current flush limit.
When the cache is full the system will remove the least recently used files to make room for the new data to load. The cache flush limit indicates the number of most recently used data files that the system will try keep in memory while flushing the cache. If the system cannot free enough memory and keep the flush limit number of files it will temporarily halve the flush limit until the cache memory usage is below 90% of the allowable cache size.
Returns the current flush limit.
void TSLS63DataLayer::cacheFlushLimit | ( | int | flush_limit | ) |
Sets cache flush limit.
This method allows the user to set the cache flush limit for the TSLS63Data Layer. When the cache is full the system will remove the least recently used files to make room for the new data to load. The cache flush limit indicates the number of most recently used data files that the system will try keep in memory while flushing the cache. If the system cannot free enough memory and keep the flush limit number of files it will temporarily halve the flush limit until the cache memory usage is below 90% of the allowable cache size.
flush_limit | Number of most recently used data files that the system will try to keep in memory while flushing the cache. |
int TSLS63DataLayer::cacheSize | ( | ) |
Query the amount of memory that the cache may currently use, in Kilobytes.
void TSLS63DataLayer::cacheSize | ( | int | new_size | ) |
Set maximum size of the tile cache.
This method allows the user to set the amount of memory that the tile cache can use. To operate more efficiently the TSLS63DataLayer holds data in memory so that it does not need to reload data from the data client every time a draw request is made. The larger the cache size the more data can be held in memory and draw requests are handled much more efficiently. However the client application must find a compromise between a large cache size and the memory requirements of the application itself.
The default tile cache is 32Mb (32768 KB)
new_size | Size of the cache in kilobytes. |
bool TSLS63DataLayer::clearCache | ( | ) |
Clear the tile cache for this TSLS63DataLayer.
This method requests the TSLS63DataLayer to clear all cached data from memory. After a call to clearCache any draw operation involving the TSLS63DataLayer will re-request all required data from the data client.
Returns true on success, false otherwise.
void * TSLS63DataLayer::operator new | ( | size_t | size | ) |
Allocation override for API redirection.
void * TSLS63DataLayer::operator new | ( | size_t | size, |
char * | filename, | ||
int | line ) |
When included in an MFC application in debug mode, the debug new expects this to be here. Override it and return the same as the normal one. The library must include it when compiled in release mode, since the user's application may be in debug mode.