MapLink Pro 11.1.2.0.
Envitia MapLink Pro: The Ultimate Mapping Application Toolkit
All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Modules Pages
Loading...
Searching...
No Matches
TSLS52DynamicRenderer Class Reference
Inheritance diagram for TSLS52DynamicRenderer:

Detailed Description

This class is the Dynamic Renderer for S52.

The location of the S52 configuration files can either be set via s52HomeDirectory() or by setting the S52_HOME environment variable.

A TSLS52DynamicRendererPlugin.dll is shipped with MapLink Pro. This can be used with the MapLink Pro Web Map Server 'SuperMapPlugin' for rendering maps generated from MapLink Studio.

For additional information please refer to the S63/S52/S57 Developers Guide and the S63 Sample (MapLink Pro ENC Viewer).

Limitations: The S52 Dynamic Renderer does not implement the Mariner object drawing. It is possible for a user to implement Mariner object drawing via TSLS52UserRenderingProcedure or using the standard MapLink Pro layers and capabilities.

Public Member Functions

 TSLS52DynamicRenderer (TSLS52StateObject *stateObject=NULL, TSLS52UserRenderingProcedure *userRenderingProcedure=NULL)
 
void * operator new (size_t size) TSL_NO_THROW
 
void * operator new (size_t size, char *filename, int line)
 
- Public Member Functions inherited from TSLDynamicRenderer
TSLDynamicRendererclone () const
 
void destroy ()
 
bool isAlias () const
 
TSLClientCustomDynamicRendererclientInterface () const
 
const char * name () const
 
bool setConfig (const TSLSimpleString &src)
 
bool getConfig (TSLSimpleString &dst) const
 
bool triggeredbyEntitySets () const
 
int type () const
 

Static Public Member Functions

static void s52HomeDirectory (const char *homeDirectory)
 
static bool requiresS52Renderer (const TSLMapDataLayer *map)
 

Additional Inherited Members

- Protected Member Functions inherited from TSLDynamicRenderer
 ~TSLDynamicRenderer ()
 
 TSLDynamicRenderer ()
 
 TSLDynamicRenderer (const TSLDynamicRenderer &)
 
TSLDynamicRendereroperator= (const TSLDynamicRenderer &)
 

Constructor & Destructor Documentation

◆ TSLS52DynamicRenderer()

TSLS52DynamicRenderer::TSLS52DynamicRenderer ( TSLS52StateObject * stateObject = NULL,
TSLS52UserRenderingProcedure * userRenderingProcedure = NULL )

Member Function Documentation

◆ operator new() [1/2]

void * TSLS52DynamicRenderer::operator new ( size_t size)

Overridden allocation to redirect to MapLink

◆ operator new() [2/2]

void * TSLS52DynamicRenderer::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.

◆ requiresS52Renderer()

static bool TSLS52DynamicRenderer::requiresS52Renderer ( const TSLMapDataLayer * map)
static

Returns whether the given TSLMapDataLayer needs the S-52 dynamic renderer in order to be drawn correctly.

Maps generated from MapLink Studio containing S-57 AML 1.0 (S-52) or S-57 ENC 3.1 (S-52) datasets require the use of the TSLS52DynamicRenderer in order to display correctly within a drawing surface. This method provides an easy way of determining at runtime if the dynamic renderer should be used. It may be used as follows:

drawingSurface->addDataLayer( mapLayer, "map" ); if( TSLS52DynamicRenderer::requiresS52Renderer( mapLayer ) ) { drawingSurface->addDynamicRenderer( new TSLS52DynamicRenderer(), -1, "map" ); }
Parameters
mapThe map to check to see if S-52 rendering is required.

◆ s52HomeDirectory()

static void TSLS52DynamicRenderer::s52HomeDirectory ( const char * homeDirectory)
static

This method is used to set the home configuration directory for S52.

Parameters
homeDirectorythe full path to the S52 directory. This would normally be the S52 directory in the MapLink config directory.