Defines the data model for a Pin placed in the 3D world. More...
#include <Pin.h>
Public Member Functions | |
Pin (const TPinId id, const Space::LatLong &latLong, float heightAboveTerrainInMetres, int categoryId, const void *pUserData=NULL) | |
TPinId | GetId () const |
int | GetCategoryId () const |
const void * | GetUserData () const |
const dv3 & | GetEcefGeoidLocation () const |
const dv3 & | GetEcefPosition () const |
void | SetTerrainHeight (float terrainHeight, int terrainHeightLevel) |
float | GetHeightAboveTerrain () const |
void | SetHeightAboveTerrain (float heightAboveTerrainInMetres) |
void | SetCategoryId (int categoryId) |
bool | HasTerrainHeight () const |
float | TerrainHeight () const |
int | TerrainHeightLevel () const |
void | SetTransform (const m44 &transform) |
void | SetTransformOrigin (const dv3 &ecefOrigin) |
const m44 & | GetTransform () const |
const dv3 & | GetTransformOrigin () const |
void | SetColor (const v4 &color) |
const v4 & | GetColor () const |
Additional Inherited Members | |
Protected Member Functions inherited from Eegeo::NonCopyable | |
NonCopyable (const NonCopyable &)=delete | |
NonCopyable & | operator= (const NonCopyable &)=delete |
Defines the data model for a Pin placed in the 3D world.
Pin defines a Pin placed in the 3D world. It is intended to be used for the representation of items of point data such as Point Of Interests (POIs) within the world. The Pin class is a model class in the Model-View-Controller sense in that it doesn't deal with display concerns, simply the position of point data within the 3D environment.
Eegeo::Pins::Pin::Pin | ( | const TPinId | id, |
const Space::LatLong & | latLong, | ||
float | heightAboveTerrainInMetres, | ||
int | categoryId, | ||
const void * | pUserData = NULL |
||
) |
Create a Pin object at a particular position in the world.
id | A unique identifier for the Pin. |
latLong | The position of the Pin on the geoid. That is, the position of the Pin with an altitude of sea level. |
heightAboveTerrainInMetres | The Pin's height above the terrain in metres. |
categoryId | An application provided identifier denoting the Pin's category. |
pUserData | An optional piece of application user data to be attached to the Pin. N.B. It is the application's responsibility to manage the lifetime of any user data it attaches to Pin objects. |
int Eegeo::Pins::Pin::GetCategoryId | ( | ) | const |
const v4 & Eegeo::Pins::Pin::GetColor | ( | ) | const |
const dv3 & Eegeo::Pins::Pin::GetEcefGeoidLocation | ( | ) | const |
const dv3 & Eegeo::Pins::Pin::GetEcefPosition | ( | ) | const |
float Eegeo::Pins::Pin::GetHeightAboveTerrain | ( | ) | const |
TPinId Eegeo::Pins::Pin::GetId | ( | ) | const |
const m44 & Eegeo::Pins::Pin::GetTransform | ( | ) | const |
const dv3 & Eegeo::Pins::Pin::GetTransformOrigin | ( | ) | const |
Get the origin point to apply the Pin Transform in ECEF.
const void * Eegeo::Pins::Pin::GetUserData | ( | ) | const |
bool Eegeo::Pins::Pin::HasTerrainHeight | ( | ) | const |
Test whether the Pin has previously had its terrain height set.
void Eegeo::Pins::Pin::SetCategoryId | ( | int | categoryId | ) |
void Eegeo::Pins::Pin::SetColor | ( | const v4 & | color | ) |
void Eegeo::Pins::Pin::SetHeightAboveTerrain | ( | float | heightAboveTerrainInMetres | ) |
void Eegeo::Pins::Pin::SetTerrainHeight | ( | float | terrainHeight, |
int | terrainHeightLevel | ||
) |
Set the terrain height that should be used to adjust the Pin's altitude.
terrainHeight | height of terrain above sea level in metres. |
terrainHeightLevel | level of terrain resource in the environment spatial structure. |
void Eegeo::Pins::Pin::SetTransform | ( | const m44 & | transform | ) |
void Eegeo::Pins::Pin::SetTransformOrigin | ( | const dv3 & | ecefOrigin | ) |
Set the origin point to apply the Pin Transform in ECEF.
the | ECEF origin the transform will be applied at. |
float Eegeo::Pins::Pin::TerrainHeight | ( | ) | const |
Get the terrain in metres at the ECEF location of the Pin.
int Eegeo::Pins::Pin::TerrainHeightLevel | ( | ) | const |
Get the level of the terrain height for the Pin.