MapLink Pro 11.1.1.0.
Envitia MapLink Pro: The Ultimate Mapping Application Toolkit
Loading...
Searching...
No Matches
TSLAMLDynamicRenderer Class Reference
Inheritance diagram for TSLAMLDynamicRenderer:

Detailed Description

This class is the Dynamic Renderer for AML.

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

A TSLAMLDynamicRendererPlugin.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/AML 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

 TSLAMLDynamicRenderer (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 requiresAMLRenderer (const TSLMapDataLayer *map)
 

Additional Inherited Members

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

Constructor & Destructor Documentation

◆ TSLAMLDynamicRenderer()

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

Member Function Documentation

◆ operator new() [1/2]

void * TSLAMLDynamicRenderer::operator new ( size_t size)

Overridden allocation to redirect to MapLink

◆ operator new() [2/2]

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

◆ requiresAMLRenderer()

static bool TSLAMLDynamicRenderer::requiresAMLRenderer ( 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( TSLAMLDynamicRenderer::requiresAMLRenderer( mapLayer ) )
{
  drawingSurface->addDynamicRenderer( new TSLAMLDynamicRenderer(), -1, "map" );
}
Parameters
mapThe map to check to see if AML rendering is required.

◆ s52HomeDirectory()

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

This method is used to set the home configuration directory for S52. The AML lookup takes are contained in a sub-directory.

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