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

Detailed Description

3D Model specific access methods.

This class represents the access methods that are specific to a 3D Model. They also allow setting of the various attributes

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)
 
bool ENURotation () const
 
void ENURotation (bool newValue)
 
double xRotation () const
 
void xRotation (double newRotation)
 
double yRotation () const
 
void yRotation (double newRotation)
 
double zRotation () const
 
void zRotation (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 TSL3DModelcreate (TSLFeatureID featureID, const TSL3DCoord &pos)
 
static const TSL3DModelis3DModel (const TSL3DEntity *entity)
 
static TSL3DModelis3DModel (TSL3DEntity *entity)
 

Additional Inherited Members

- Protected Member Functions inherited from TSLEntityBase
 ~TSLEntityBase ()
 

Member Function Documentation

◆ centre() [1/2]

const TSL3DCoord & TSL3DModel::centre ( ) const

Returns the model's reference point.

◆ centre() [2/2]

void TSL3DModel::centre ( const TSL3DCoord & coord)

Sets the model's reference point.

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

Parameters
coordcoord value to set

◆ create()

static TSL3DModel * TSL3DModel::create ( TSLFeatureID featureID,
const TSL3DCoord & pos )
static

Creates an instance of a 3D model 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.
posCoordinate at which to place the 3d model
Returns
NULL on error.

◆ ENURotation() [1/2]

bool TSL3DModel::ENURotation ( ) const

Returns whether ENU rotation is used. ENU, standing for East, North and Up, determines how the rotation angles are interpreted.

If the ENURotation flag is set to true, then rotations are applied to the sensor once it has been translated so that its plane is tangental to the earth's surface. In this case the x-axis is in the east direction, the y-axis is in the north direction and the z-axis is up, or the vector from the centre of the earth to the center point of the ellipse.

If the ENURotation flag is set to false, then rotations are applied to the sensor in geocentric coordinate space. In this case the x-axis is the vector from the centre of the earth towards the geodetic location 0 degrees latitude and 0 degrees longitude, the y-axis is the vector from the centre of the earth towards the geodetic location 0 degrees latitude and 90 degrees longitude and the z-axis is the vector from the centre of the earth towards the north pole.

This value also determines how the azimuth and elevation angles are interpreted; set to false then the azimuth and elevation sweep in the unrotated z and y axes respectively, set to true then they sweep in the unrotated Up and Northing axes respectively.

◆ ENURotation() [2/2]

void TSL3DModel::ENURotation ( bool newValue)

Sets whether ENU rotation is used. ENU, standing for East, North and Up, determines how the rotation angles are interpreted.

If the ENURotation flag is set to true, then rotations are applied to the sensor once it has been translated so that its plane is tangental to the earth's surface. In this case the x-axis is in the east direction, the y-axis is in the north direction and the z-axis is up, or the vector from the centre of the earth to the center point of the sensor.

If the ENURotation flag is set to false, then rotations are applied to the sensor in geocentric coordinate space. In this case the x-axis is the vector from the centre of the earth towards the geodetic location 0 degrees latitude and 0 degrees longitude, the y-axis is the vector from the centre of the earth towards the geodetic location 0 degrees latitude and 90 degrees longitude and the z-axis is the vector from the centre of the earth towards the north pole.

This value also determines how the azimuth and elevation angles are interpreted; set to false then the azimuth and elevation sweep in the unrotated z and y axes respectively, set to true then they sweep in the unrotated Up and Northing axes respectively.

Parameters
newValueThe new value for the ENURotation flag.

◆ is3DModel() [1/2]

static const TSL3DModel * TSL3DModel::is3DModel ( const TSL3DEntity * entity)
static

Query whether the entity is a 3d model.

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

Parameters
entitythe entity to query.

◆ is3DModel() [2/2]

static TSL3DModel * TSL3DModel::is3DModel ( TSL3DEntity * entity)
static

Query whether the entity is a 3d model.

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

Parameters
entitythe entity to query.

◆ xRotation() [1/2]

double TSL3DModel::xRotation ( ) const

Returns the model's rotation about the x-axis, anti-clockwise being +ve, in radians. If the ENURotation flag is set to true, then this value is about the Easting axis.

◆ xRotation() [2/2]

void TSL3DModel::xRotation ( double newRotation)

Sets the model's rotation about the x-axis, anti-clockwise being +ve, in radians. If the ENURotation flag is set to true, then this value is about the Easting axis.

Parameters
newRotationThe new rotation value.

◆ yRotation() [1/2]

double TSL3DModel::yRotation ( ) const

Returns the model's rotation about the y-axis, anti-clockwise being +ve, in radians. If the ENURotation flag is set to true, then this value is about the Northing axis.

◆ yRotation() [2/2]

void TSL3DModel::yRotation ( double newRotation)

Sets the model's rotation about the y-axis, anti-clockwise being +ve, in radians. If the ENURotation flag is set to true, then this value is about the Northing axis.

Parameters
newRotationThe new rotation value.

◆ zRotation() [1/2]

double TSL3DModel::zRotation ( ) const

Returns the model's rotation about the z-axis, anti-clockwise being +ve, in radians. If the ENURotation flag is set to true, then this value is about the Up axis.

◆ zRotation() [2/2]

void TSL3DModel::zRotation ( double newRotation)

Sets the model's rotation about the z-axis, anti-clockwise being +ve, in radians. If the ENURotation flag is set to true, then this value is about the Up axis.

Parameters
newRotationThe new rotation value.