MapLink Pro .
Envitia MapLink Pro: The Ultimate Mapping Application Toolkit
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()

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()

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.