![]() |
MapLink Pro 11.1.1.0.
Envitia MapLink Pro: The Ultimate Mapping Application Toolkit
|
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:
a. The symbol can be rotated and a rotation is detected.
b. The Depth Test is TGM3DDepthTestStandard.
There is a maximum texture/bitmap size of 1024x1024. Any symbols larger then this will be scaled up to the required pixel size.
Public Member Functions | |
const TSL3DCoord & | centre () const |
void | centre (const TSL3DCoord &coord) |
int | height () const |
void | height (int newValue) |
double | rotation () const |
void | rotation (double newRotation) |
![]() | |
TSL3DBoundingBox | boundingBox (int surfaceID=-1) const |
void | boundingBox (TSL3DCoord &bottomLeft, TSL3DCoord &topRight, int surfaceID=-1) const |
TSL3DCoord | centroid () const |
TSL3DEntity * | clone () 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) |
TSL3DEntitySet * | parent () |
const TSL3DEntitySet * | parent () 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) |
![]() | |
bool | addDataSet () |
bool | addDataSet (TSLDataHandler *toUseDataHandler) |
bool | clearRenderingAttributes () |
TSLDataSet * | dataSet () |
const TSLDataSet * | dataSet () 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 |
TSL3DEntity * | is3DEntity () |
const TSL3DEntity * | is3DEntity () const |
TSLEntity * | isEntity () |
const TSLEntity * | isEntity () 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 TSL3DSymbol * | create (TSLFeatureID featureID, const TSL3DCoord ¢re, double height=0.0, double rotation=0.0) |
static TSL3DSymbol * | is3DSymbol (TSL3DEntity *entity) |
static const TSL3DSymbol * | is3DSymbol (const TSL3DEntity *entity) |
Additional Inherited Members | |
![]() | |
~TSLEntityBase () | |
const TSL3DCoord & TSL3DSymbol::centre | ( | ) | const |
Returns the 3D symbol's coord.
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.
coord | coord value to set |
|
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.
featureID | ID 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. |
centre | Coordinate at which to place the 3d symbol |
height | Size of text in metres (currently ignored) |
rotation | As 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. |
int TSL3DSymbol::height | ( | ) | const |
Query the size of the symbol
void TSL3DSymbol::height | ( | int | newValue | ) |
Set the size of the symbol
newValue | New size of symbol in metres. |
|
static |
Query whether the entity is a 3d symbol.
If this entity is a 3D symbol, returns an accessor, otherwise returns NULL.
entity | the entity to query. |
|
static |
Query whether the entity is a 3d symbol.
If this entity is a 3D symbol, returns an accessor, otherwise returns NULL.
entity | the entity to query. |
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.
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.
newValue | New angle of rotation of the symbol, in radians, +ve anti-clockwise from +ve X axis. |