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

Detailed Description

3D Symbol specific access methods.

This class represents the access methods that are specific to a 3D Symbol. They also allow setting of the various attributes. A 3D symbol is similar to a 2D symbol, but exists in 3D space.

It is one of the types which is billboarded, meaning it is always orientated towards the camera.

Notes:

  1. Depth Testing defaults to TSL3DDepthTestDelayed.
  2. 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)
 
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 TSL3DSymbolcreate (TSLFeatureID featureID, const TSL3DCoord &centre, double height=0.0, double rotation=0.0)
 
static TSL3DSymbolis3DSymbol (TSL3DEntity *entity)
 
static const TSL3DSymbolis3DSymbol (const TSL3DEntity *entity)
 

Additional Inherited Members

- Protected Member Functions inherited from TSLEntityBase
 ~TSLEntityBase ()
 

Member Function Documentation

◆ centre() [1/2]

const TSL3DCoord & TSL3DSymbol::centre ( ) const

Returns the 3D symbol's coord.

◆ centre() [2/2]

void TSL3DSymbol::centre ( const TSL3DCoord & coord)

Sets the 3D symbol's coord.

The symbol will be drawn with its reference point at the specified position.

Parameters
coordcoord value to set

◆ create()

static TSL3DSymbol * TSL3DSymbol::create ( TSLFeatureID featureID,
const TSL3DCoord & centre,
double height = 0.0,
double rotation = 0.0 )
static

Creates an instance of a 3D 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 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 TSL3DSymbol::height ( ) const

Query the size of the symbol

◆ height() [2/2]

void TSL3DSymbol::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.

◆ is3DSymbol() [1/2]

static const TSL3DSymbol * TSL3DSymbol::is3DSymbol ( const TSL3DEntity * entity)
static

Query whether the entity is a 3d symbol.

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

Parameters
entitythe entity to query.

◆ is3DSymbol() [2/2]

static TSL3DSymbol * TSL3DSymbol::is3DSymbol ( TSL3DEntity * entity)
static

Query whether the entity is a 3d symbol.

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

Parameters
entitythe entity to query.

◆ rotation() [1/2]

double TSL3DSymbol::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 TSL3DSymbol::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.