![]() |
MapLink Pro 11.1.1.0.
Envitia MapLink Pro: The Ultimate Mapping Application Toolkit
|
This helper class is used to allow the interaction modes to work in either in terms of lat/long/elevation of a look-at position or distance to a look-at position and elevation and rotation relative to the earth surface.
Typically, the mode sets the lat/long/elevation or elevation/rotation/range parameters and then calls the 'setCamera' method. This updates the camera orientation of the drawing surface. The 'getCamera' method may be called to force the camera manager to refresh its internal attributes based upon the current camera parameters of the drawing surface.
Public Member Functions | |
virtual | ~TSL3DInteractionCameraManager () |
void | setCamera () |
bool | zoom (double percent, bool zoom_in) |
void | altitude (double alt) |
double | altitude () |
void | getCamera () |
double | arcElevation () const |
void | arcElevation (double value) |
double | arcRotation () const |
void | arcRotation (double value) |
TSL3DDrawingSurface * | drawingSurface () |
double | latitude () const |
void | latitude (double value) |
double | longitude () const |
void | longitude (double value) |
double | range () const |
void | range (double value) |
Protected Member Functions | |
TSL3DInteractionCameraManager (TSL3DDrawingSurface *ds, TSL3DInteractionModeManager *manager) | |
virtual bool | getDUExtent (int *x1, int *y1, int *x2, int *y2)=0 |
Protected Attributes | |
double | m_arcElevation |
double | m_arcRotation |
double | m_range |
double | m_latitude |
double | m_longitude |
double | m_altitude |
TSL3DInteractionModeManager * | m_manager |
|
virtual |
Destructor for camera manager
|
protected |
Internal only methods - provided by derive class
double TSL3DInteractionCameraManager::altitude | ( | ) |
Get the altitude of the look-at position.
void TSL3DInteractionCameraManager::altitude | ( | double | alt | ) |
Set the altitude of the look-at position.
|
inline |
Query elevation of the camera in degrees, relative to the horizontal horizon, +ve is up.
|
inline |
Set elevation of the camera in degrees, relative to the horizontal horizon, +ve is up.
|
inline |
Query rotation of the camera in degrees, relative to north, +ve is clockwise.
|
inline |
Set rotation of the camera in degrees, relative to north, +ve is clockwise.
|
inline |
Query the drawing surface associated with the camera manager.
void TSL3DInteractionCameraManager::getCamera | ( | ) |
|
protectedpure virtual |
Implemented in TSL3DInteractionCameraManagerNT, and TSL3DInteractionCameraManagerX11.
|
inline |
Query latitude of the look-at position in degrees.
|
inline |
Set latitude of the look-at position in degrees.
|
inline |
Query longitude of the look-at position in degrees.
|
inline |
Set longitude of the look-at position in degrees.
|
inline |
Query range to the look-at position in metres.
|
inline |
Query range to the look-at position in metres.
void TSL3DInteractionCameraManager::setCamera | ( | ) |
Triggers the Camera Manager to apply the current properties to the associated drawing surface.
bool TSL3DInteractionCameraManager::zoom | ( | double | percent, |
bool | zoom_in ) |
Zoom the current view in or out, adjusting the range to the look-at position.
percent | Percentage of current range to zoom |
zoom_in | True if zoom in, false if zoom out. |
|
protected |
|
protected |
Internal storage for the elevation of the camera orientation. 0 is horizontal relative to the earth's surface at the camera position, +ve up.
|
protected |
Internal storage for the rotation of the camera orientation. 0 is horizontal relative pointing North, +ve is clockwise. It is a bearing.
|
protected |
Internal storage for the latitude of the look-at position.
|
protected |
Internal storage for the latitude of the look-at position.
|
protected |
|
protected |
Internal storage for the range to the look-at point, in metres.