11 #ifndef SLDEVICELOCATION_H
12 #define SLDEVICELOCATION_H
35 name = std::move(locName);
Container for general algorithm functions.
SLLocOffsetMode
Device location offset mode.
vector< SLLocation > SLVLocation
Encapsulates a GEOTiff images with geo referenced meta information.
High Resolution Timer class using C++11.
Encapsulation of a mobile device location set by the device's GPS sensor.
SLfloat _originSolarAzimuth
Azimuth angle of the sun in deg. (eastward from north) at origin at local time.
SLfloat _originSolarSunset
Sunset local time at origin.
void loadGeoTiff(const SLstring &geoTiffFile)
Loads a GeoTiff DEM (Digital Elevation Model) Image.
SLfloat originSolarZenit() const
void useOriginAltitude(SLbool useGLA)
SLVec3d locLatLonAlt() const
bool posIsOnGeoTiff(SLdouble latDEG, SLdouble lonDEG) const
Return true if the current GPS location is within the GeoTiff boundaries.
void improveOrigin(SLbool impO)
SLstring offsetModeStr() const
Returns the device location offset mode as string.
SLbool calculateSolarAngles(SLVec3d locationLatLonAlt, std::time_t time)
Calculates the solar angles at origin at local time.
SLfloat originSolarSunset() const
SLVec3d defaultENU() const
SLVec3d _locLatLonAlt
Earth location in latitudeDEG, longitudeDEG & AltitudeM on WGS84 geoid.
SLfloat _originAccuracyM
Accuracy radius of origin point.
SLVLocation _nameLocations
Vector of fix locations for default view points.
SLVec3d _defaultLatLonAlt
Default location of scene in LatLonAlt.
SLVec3d convertLatLonAlt2ENU(SLVec3d locLatLonAlt) const
Converter method: the transferred wgs84 coordinate is converted to ENU frame and returned (does not c...
SLbool _isFirstSensorValue
Flag for the first sensor values.
SLint _activeNamedLocation
Index of the active named location as defaultENU;.
void activeNamedLocation(SLint locIndex)
SLVec3d originLatLonAlt() const
void sunLightNode(SLLightDirect *sln)
void offsetENU(SLVec3d offsetENU)
void cameraHeightM(float camHeightM)
SLLocOffsetMode _offsetMode
Location offset mode.
void defaultLatLonAlt(SLVec3d lla)
SLfloat _locMaxDistanceM
Max. allowed distance from origin. If higher it is ignored.
SLVec3d _locECEF
Cartesian location in ECEF.
CVImageGeoTiff _demGeoTiff
Digital Elevation Model from a Geo Tiff image.
SLVec3d _defaultENU
Default location in ENU frame used if real location is too far away from origin.
SLVec3d originENU() const
HighResTimer _improveTimer
Timer to measure the improve time.
SLNode * _sunLightNode
Pointer to directional light node to be changed if solar angles are calculated.
SLLocOffsetMode offsetMode()
SLVec3d _offsetENU
Offset vector in ENU frame.
bool geoTiffIsAvailableAndValid() const
SLfloat _locAccuracyM
Horizontal accuracy radius in m with 68% probability.
SLVec3d offsetENU() const
SLVec3d _originLatLonAlt
Global origin location of scene in LatLonAlt.
void onLocationLatLonAlt(SLdouble latDEG, SLdouble lonDEG, SLdouble altM, SLfloat accuracyM)
Event handler for mobile device location update.
SLbool _useOriginAltitude
Flag if global reference altitude should be used.
SLbool useOriginAltitude() const
SLVLocation & nameLocations()
SLfloat _originSolarZenith
Zenith angle of the sun in deg. (from up dir.) at origin at local time.
SLfloat locMaxDistanceM() const
SLNode * sunLightNode() const
SLMat3d _wRecef
ECEF frame to world frame rotation: rotates a point defined in ecef.
SLVec3d _locENU
Cartesian location in ENU frame.
void locMaxDistanceM(SLfloat maxDist)
SLbool _hasOrigin
Flag if this scene has a global reference location.
SLfloat _altDemM
Altitude in m from Digital Elevation Model.
SLbool _improveOrigin
Flag if origin should be improved over time & accuracy.
SLVec3d defaultLatLonAlt() const
SLfloat _improveTimeSEC
Max. time in seconds for the origin improvement.
void offsetMode(SLLocOffsetMode lom)
SLfloat _altGpsM
Altitude in m from GPS.
SLfloat cameraHeightM() const
SLfloat locAccuracyM() const
SLfloat originSolarAzimut() const
SLfloat originSolarSunrise() const
SLbool _isUsed
Flag if the devices GPS Sensor is used.
SLint activeNamedLocation() const
void originLatLonAlt(SLVec3d lla)
SLfloat _cameraHeightM
Height from ground to the mobile camera in m.
SLVec3d _originENU
Origin location in ENU frame.
SLfloat _originSolarSunrise
Sunrise local time at origin.
SLLightDirect class for a directional light source.
class for a named location with lat-lon-Alt WGS84 position
SLLocation(string locName, int degreesLat, int minutesLat, double secondsLat, int degreesLon, int minutesLon, double secondsLon, double altitudeM)
SLVec3d posWGS84LatLonAlt
SLNode represents a node in a hierarchical scene graph.
void set(const T X, const T Y, const T Z)
T geoDegMinSec2Decimal(int degrees, int minutes, T seconds)
convert geodetic datum defined in degrees, minutes and seconds to decimal