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

Detailed Description

3D APP6A Symbol specific access methods.

This class is represents a billboard (always faces the camera) style APP6A symbol.

Only the following attributes specified via TSLAPP6ASymbol are used for rendering of the symbol:

id hostility mobility unitSize type isFeintDummy key isHQStaff isTaskforce height heightType isFramed

Notes:

  1. The APP6A symbols file needs to be loaded:

    TSLDrawingSurface::setupSymbols("tslsymbolsAPP6A.dat");

  2. The APP6A configuration file will be loaded by default from the config directory of your installation. If you wish to specify a different path to the app6aConfig.csv file then use TSLAPP6AHelper::setDefaultConfigPath()
  3. On Windows 'smooth edges of screen fonts' needs to be turned off or the text will be anti-aliased.
  4. Only the following Rendering Attributes make sense:

    TSLRenderingAttributeSymbolRotatable TSLRenderingAttributeSymbolMaxPixelSize TSLRenderingAttributeSymbolMinPixelSize TSLRenderingAttributeDepthTest

  5. Depth Testing defaults to TSL3DDepthTestDelayed.
  6. The Symbol may become blurred under the following conditions:

a. The symbol can be rotated and a rotation is detected.

b. The Depth Test is TGM3DDepthTestStandard.

  1. There is a maximum texture/bitmap size of 1024x1024. Any symbols larger then this will be scaled up to the required pixel size.

    Deprecated
    Deprecated as of MapLink 11.1. Advised to use MapLink Earth SDK instead.

Public Member Functions

const TSL3DCoordcentre () const
 
void centre (const TSL3DCoord &coord)
 
int height () const
 
void height (int newValue)
 
TSLAPP6ASymbol symbolProperties ()
 
void symbolProperties (const TSLAPP6ASymbol &properties)
 
double rotation () const
 
void rotation (double newRotation)
 
- Public Member Functions inherited from TSL3DEntity
TSL3DBoundingBox boundingBox (int surfaceID=-1) const
 
void boundingBox (TSL3DCoord &bottomLeft, TSL3DCoord &topRight, int surfaceID=-1) const
 
TSL3DCoord centroid () const
 
TSL3DEntityclone () const
 
double distance (const TSL3DCoord &point, bool useRenderedExtent=true, int drawingSurfaceID=-1) const
 
bool equals (const TSL3DEntity *other) const
 
void move (const TSL3DCoord &location, const TSL3DCoord &reference)
 
TSL3DEntitySetparent ()
 
const TSL3DEntitySetparent () const
 
void scale (double scaleParam, const TSL3DCoord *origin=0)
 
void scale (double scaleX, double scaleY, double scaleZ, const TSL3DCoord *origin=0)
 
double squareDistance (const TSL3DCoord &point, bool useRenderedExtent=true, int drawingSurfaceID=-1) const
 
void translate (double latitudeOffset, double longitudeOffset, double altitudeOffset)
 
- Public Member Functions inherited from TSLEntityBase
bool addDataSet ()
 
bool addDataSet (TSLDataHandler *toUseDataHandler)
 
bool clearRenderingAttributes ()
 
TSLDataSetdataSet ()
 
const TSLDataSetdataSet () const
 
short dataSourceID () const
 
void dataSourceID (short dataSourceID)
 
bool deleteDataSet ()
 
void destroy ()
 
TSLEntityID entityID () const
 
void entityID (TSLEntityID value)
 
TSLFeatureID featureID () const
 
void featureID (TSLFeatureID newValue)
 
bool getRendering (TSLRenderingAttributeInt attribute, int *result) const
 
bool getRendering (TSLRenderingAttributeDouble attribute, double *result) const
 
bool getRendering (TSLRenderingAttributeBool attribute, bool *result) const
 
bool getRendering (TSLRenderingAttributes &result) const
 
TSL3DEntityis3DEntity ()
 
const TSL3DEntityis3DEntity () const
 
TSLEntityisEntity ()
 
const TSLEntityisEntity () const
 
bool isOptimisedEntity () const
 
void name (const char *newValue)
 
const char * name () const
 
void releaseResources (int surfaceID)
 
bool setRendering (TSLRenderingAttributeInt attribute, int value)
 
bool setRendering (TSLRenderingAttributeDouble attribute, double value)
 
bool setRendering (TSLRenderingAttributeBool attribute, bool value)
 
bool setRendering (const TSLRenderingAttributes &attributes)
 
void sourceID (int value)
 
int sourceID () const
 
TSLGeometryType type () const
 
void version (TSLVersion value)
 
TSLVersion version () const
 

Static Public Member Functions

static TSL3DAPP6ASymbolcreate (TSLFeatureID featureID, TSLAPP6ASymbol *symbol, TSL3DCoord &centre, double height=0.0, double rotation=0.0)
 
static TSL3DAPP6ASymbolis3DAPP6ASymbol (TSL3DEntity *entity)
 
static const TSL3DAPP6ASymbolis3DAPP6ASymbol (const TSL3DEntity *entity)
 

Additional Inherited Members

- Protected Member Functions inherited from TSLEntityBase
 ~TSLEntityBase ()
 

Member Function Documentation

◆ centre() [1/2]

const TSL3DCoord & TSL3DAPP6ASymbol::centre ( ) const

Returns the center position of the symbol.

◆ centre() [2/2]

void TSL3DAPP6ASymbol::centre ( const TSL3DCoord & coord)

Sets the center position of the symbol

Parameters
coordcoord value to set

◆ create()

static TSL3DAPP6ASymbol * TSL3DAPP6ASymbol::create ( TSLFeatureID featureID,
TSLAPP6ASymbol * symbol,
TSL3DCoord & centre,
double height = 0.0,
double rotation = 0.0 )
static

Creates an instance of a 3D APP6A symbol with the specified parameters.

This call should only be used for temporary entities. For example, this call may be used to create entities that are used in the spatial tests.

Parameters
featureIDID of the feature code to assign to the entity. This is used when rendering map features if no specific attribute set has been created for the entity.
centreCoordinate at which to place the 3D APP6A symbol
heightSize of text in metres (currently ignored)
rotationAs a symbol will always face the camera, the angle of rotation is about the axis made between the symbol and the camera. It should be specified in radians, +ve anti-clockwise.
Returns
NULL on error.

◆ height() [1/2]

int TSL3DAPP6ASymbol::height ( ) const

Query the size of the symbol

◆ height() [2/2]

void TSL3DAPP6ASymbol::height ( int newValue)

Set the size of the symbol

Parameters
newValueNew size of symbol in metres.
Note
The height is currently ignored as TSLDimensionUnitsScaleFactor is not supported.

◆ is3DAPP6ASymbol() [1/2]

static const TSL3DAPP6ASymbol * TSL3DAPP6ASymbol::is3DAPP6ASymbol ( const TSL3DEntity * entity)
static

Query whether the entity is a 3D APP6A symbol.

If this entity is a 3D APP6A symbol, returns an accessor, otherwise returns NULL.

Parameters
entitythe entity to query.

◆ is3DAPP6ASymbol() [2/2]

static TSL3DAPP6ASymbol * TSL3DAPP6ASymbol::is3DAPP6ASymbol ( TSL3DEntity * entity)
static

Query whether the entity is a 3D APP6A symbol.

If this entity is a 3D APP6A symbol, returns an accessor, otherwise returns NULL.

Parameters
entitythe entity to query.

◆ rotation() [1/2]

double TSL3DAPP6ASymbol::rotation ( ) const

Returns the 3D symbol's rotation in degrees.

As a symbol will always face the camera, the angle of rotation is about the axis made between the symbol and the camera.

◆ rotation() [2/2]

void TSL3DAPP6ASymbol::rotation ( double newRotation)

Sets the 3D symbol's rotation.

As a symbol will always face the camera, the angle of rotation is about the axis made between the symbol and the camera.

Parameters
newValueNew angle of rotation of the symbol, in radians, +ve anti-clockwise from +ve X axis.

◆ symbolProperties() [1/2]

TSLAPP6ASymbol TSL3DAPP6ASymbol::symbolProperties ( )

Returns the associated Symbol properties.

◆ symbolProperties() [2/2]

void TSL3DAPP6ASymbol::symbolProperties ( const TSLAPP6ASymbol & properties)

Sets the APP6A Symbol properties.