TSLTrackSymbol Class Referenceabstract
Inheritance diagram for TSLTrackSymbol:

Detailed Description

The TSLTrackSymbol base class.

A TSLTrackSymbol defines the rendering for TSLTrack objects. A Track may contain multiple symbols, which are displayed at different view resolutions.

This class is reference counted internally to allow objects to be shared within the track manager SDK

  • Ownership of this object will never be transferred from the application to MapLink
  • The application must call release() in order to relinquish its ownership, even if the object has been passed to another

A single TSLTrackSymbol may be used by multiple TSLTrack instances at a time. In this case the visualisation will be shared between the tracks, which will each hold a reference to the TSLTrackSymbol.

Public Types

enum  HeadingIndicatorStyle { HeadingIndicatorNone , HeadingIndicatorSimple , HeadingIndicatorFilled }
 Specifies the type of heading indicator to display. More...
 
enum  Type { PointSymbol , HistorySymbol }
 Specifies the type of a TSLTrackSymbol. More...
 
enum  SelectionBehaviour { SelectionBehaviourAdditional , SelectionBehaviourReplace }
 

Public Member Functions

virtual TSLTrackSymbolclone () const =0
 Create a clone of this symbol. More...
 
void release ()
 
double maximumResolution () const
 
void maximumResolution (double res)
 
virtual TSLTrackSymbol::Type type () const =0
 Query the type of this symbol. More...
 
void headingIndicatorLength (double length, TSLDimensionUnits unit)
 
void headingIndicatorVisible (bool visibility)
 
double headingIndicatorLength () const
 
TSLDimensionUnits headingIndicatorLengthUnit () const
 
bool headingIndicatorVisible () const
 

Protected Member Functions

 TSLTrackSymbol ()
 
 TSLTrackSymbol (const TSLTrackSymbol *other)
 
 TSLTrackSymbol (const TSLTrackSymbol &other)
 
TSLTrackSymboloperator= (const TSLTrackSymbol &other)
 
virtual ~TSLTrackSymbol ()
 
void operator delete (void *ptr)
 

Member Enumeration Documentation

◆ HeadingIndicatorStyle

Specifies the type of heading indicator to display.

Enumerator
HeadingIndicatorNone 

Heading indicator will not be displayed.

HeadingIndicatorSimple 

Heading indicator will be displayed as an arrow, with an unfilled arrowhead.

HeadingIndicatorFilled 

Heading indicator will be displayed as an arrow, with a filled arrowhead.

◆ SelectionBehaviour

Specifies how the selection symbol of the TSLTrackSymbol should be displayed

The selection symbol will only be displayed if the track has been selected

See also
TSLTrack::selected
TSLTrackDisplayManager::selectTrack
Enumerator
SelectionBehaviourAdditional 

The track will be displayed and the selection symbol will also be displayed (on top)

SelectionBehaviourReplace 

The selection symbol will be displayed instead of the track.

◆ Type

Specifies the type of a TSLTrackSymbol.

Enumerator
PointSymbol 

The symbol is a TSLTrackPointSymbol.

HistorySymbol 

The symbol is a TSLTrackHistorySymbol.

Constructor & Destructor Documentation

◆ TSLTrackSymbol() [1/3]

TSLTrackSymbol::TSLTrackSymbol ( )
protected

◆ TSLTrackSymbol() [2/3]

TSLTrackSymbol::TSLTrackSymbol ( const TSLTrackSymbol other)
protected

◆ TSLTrackSymbol() [3/3]

TSLTrackSymbol::TSLTrackSymbol ( const TSLTrackSymbol other)
protected

◆ ~TSLTrackSymbol()

virtual TSLTrackSymbol::~TSLTrackSymbol ( )
protectedvirtual

Member Function Documentation

◆ clone()

virtual TSLTrackSymbol * TSLTrackSymbol::clone ( ) const
pure virtual

Create a clone of this symbol.

Implemented in TSLTrackHistorySymbol, and TSLTrackPointSymbol.

◆ headingIndicatorLength() [1/2]

double TSLTrackSymbol::headingIndicatorLength ( ) const

Query the symbol's heading indicator length.

Returns
The length of the heading indicator.

◆ headingIndicatorLength() [2/2]

void TSLTrackSymbol::headingIndicatorLength ( double  length,
TSLDimensionUnits  unit 
)

Set the length of the heading indicator

Parameters
lengthLength of the heading indicator.
unitUnts of the heading indicator length.

◆ headingIndicatorLengthUnit()

TSLDimensionUnits TSLTrackSymbol::headingIndicatorLengthUnit ( ) const

Query the symbol's heading indicator length unit.

Returns
The Units of the heading indicator's length.

◆ headingIndicatorVisible() [1/2]

bool TSLTrackSymbol::headingIndicatorVisible ( ) const

Query the symbol's heading indicators visibility.

Returns
The visibility of the heading indicator.

◆ headingIndicatorVisible() [2/2]

void TSLTrackSymbol::headingIndicatorVisible ( bool  visibility)

Set the visibility of the heading indicator

Parameters
visibilityThe visibility of this symbol's heading indicator

◆ maximumResolution() [1/2]

double TSLTrackSymbol::maximumResolution ( ) const

Query the symbol's maximum display resolution, in Map Units per pixel.

Returns
The maximum resolution this symbol will be displayed at.

◆ maximumResolution() [2/2]

void TSLTrackSymbol::maximumResolution ( double  res)

Set the maximum display resolution this symbol will be drawn at, in map units per pixel.

Parameters
resThe maximum resolution to display this symbol at.

◆ operator delete()

void TSLTrackSymbol::operator delete ( void *  ptr)
protected

◆ operator=()

TSLTrackSymbol & TSLTrackSymbol::operator= ( const TSLTrackSymbol other)
protected

◆ release()

void TSLTrackSymbol::release ( )

Release ownership of this object

The object will be deleted once the application has called release and any references held by MapLink have been released

◆ type()

virtual TSLTrackSymbol::Type TSLTrackSymbol::type ( ) const
pure virtual

Query the type of this symbol.

Implemented in TSLTrackHistorySymbol, and TSLTrackPointSymbol.