41 void updateCurrent(
const float latitude,
const float longitude,
49 static int CalcGeoIndex(
float latitude,
float longitude );
167 EncInfo(
int encId,
int resLevel,
bool loaded,
Str& filename ) :
194 const int resLevel,
const float latitude,
const float longitude );
196 const int resLevel,
const float latitude,
const float longitude );
198 const float x0,
const float y0,
const float x1,
const float y1 );
206 const float y1,
const float x2,
const float y2 );
bool createSoundings()
Definition: NavChartDb.cpp:789
float depth_
Definition: NavChartDb.h:158
bool loadEncs()
Definition: NavChartDb.cpp:938
Simple class for providing key-pointer mappings.
Definition: Slate.h:44
static NavChartDb * Instance_
Definition: NavChartDb.h:265
bool appendToContour(const Str *depthStr, const int encId, const int resLevel, const float latitude, const float longitude)
Definition: NavChartDb.cpp:820
float cycleTimeoutCfgTmp_
Definition: NavChartDb.h:262
bool addEncData(EncInfo *encInfo)
Definition: NavChartDb.cpp:990
FastMap< const float, ClosePoint * > closeMap_
Definition: NavChartDb.h:227
EncArea * getCoverage(int resLevel)
Definition: NavChartDb.cpp:1116
virtual ~NavChartDb()
Definition: NavChartDb.cpp:105
float longitude_
Definition: NavChartDb.h:257
float angle_
Definition: NavChartDb.h:162
friend bool operator>(const ClosePoint &ptL, const ClosePoint &ptR)
Definition: NavChartDb.h:153
float getdepth()
Definition: NavChartDb.h:93
bool mapDone_
Definition: NavChartDb.h:260
float cosLat_
Definition: NavChartDb.h:161
int indexIndex_
Definition: NavChartDb.h:250
void setAngleSq(const float &angleSq)
Definition: NavChartDb.h:148
ClosePoint currentPoint_
Definition: NavChartDb.h:244
void setChartsCfg(const Str chartsCfg)
Definition: NavChartDb.cpp:172
float getAngle()
Definition: NavChartDb.h:113
bool loadCoverage(const int resLevel, EncArea **coverage)
Definition: NavChartDb.cpp:886
bool createIndices()
Definition: NavChartDb.cpp:773
void updateGeoIndices()
Definition: NavChartDb.cpp:326
FastMap< const float, Str * > depthMap_
Definition: NavChartDb.h:217
ClosePoint()
Definition: NavChartDb.h:87
virtual void uninitialize()
Provide a space for uninitialization.
Definition: NavChartDb.cpp:668
Str * mapDepth(const float depth)
Definition: NavChartDb.cpp:1096
Definition: NavChartDb.h:165
int depthIndex_
Definition: NavChartDb.h:251
float lon_
Definition: NavChartDb.h:160
void setLat(const float &lat)
Definition: NavChartDb.h:128
void updateClosest()
For the current latitude/longitude pair (in radians), update closest point on each contour...
Definition: NavChartDb.cpp:389
EncReader * encReader_
Definition: NavChartDb.h:243
FastMap< const Str, EncInfo * > encMap_
Definition: NavChartDb.h:215
FlexArray< EncArea * > coverages_
Definition: NavChartDb.h:241
int currentCount_
Definition: NavChartDb.h:245
static const Timespan PERIOD
Definition: NavChartDb.h:291
ClosePoint workingClosePoints_[4]
Definition: NavChartDb.h:233
bool initDataDir()
Definition: NavChartDb.cpp:673
int insertCount_
Definition: NavChartDb.h:246
Definition: EncReader.h:114
FlexArrayBase currentGeoIndices_
Definition: NavChartDb.h:229
static const RestartConfigURI CHARTS_CFG
Definition: NavChartDb.h:275
A simple pthread Mutex abstraction.
Definition: Mutex.h:20
Timespan class, represents a delta of time.
Definition: Timestamp.h:248
void wipeOut()
Definition: NavChartDb.cpp:161
bool loaded_
Definition: NavChartDb.h:179
static const DataURI CLOSEST_DISTANCE
Definition: NavChartDb.h:271
float changeLongitudeTo_
Definition: NavChartDb.h:258
ConfigReader * chartsCfgReader_
Definition: NavChartDb.h:286
Reads a standard electronic navigation chart (ENC) in S-57 format, stores it in a database...
Definition: NavChartDb.h:30
bool appendToCoverage(const int encId, const int resLevel, const float x0, const float y0, const float x1, const float y1)
Definition: NavChartDb.cpp:870
A DataAccessor that writes values to the Slate via its associated DataElement.
Definition: DataWriter.h:27
bool saveDepths()
Definition: NavChartDb.cpp:687
void doIndexing(const Str *depthStr)
Definition: NavChartDb.cpp:709
int quadrant_
Definition: NavChartDb.h:254
NavChartDb()
Definition: NavChartDb.cpp:57
float lat_
Definition: NavChartDb.h:159
Timespan cycleTimeoutCfg_
Definition: NavChartDb.h:263
int encId_
Definition: NavChartDb.h:237
static int CalcLonIndex(float longitude, int nLons)
Calculates longitudinal index of small area in the latIndex band around the planet.
Definition: NavChartDb.cpp:1175
virtual void initialize()
Provide a space for initialization before being run.
Definition: NavChartDb.cpp:177
Contains the StrValue class definition.
virtual void run()
The actual "payload" of the component.
Definition: NavChartDb.cpp:271
FastMap< const Str *, Str * > depthMtxNameMap_
Definition: NavChartDb.h:219
float getlat()
Definition: NavChartDb.h:98
float getSeaFloorDepth(const float latitude, const float longitude)
For a latitude/longitude pair (in radians), return the approximate depth.
Definition: NavChartDb.cpp:584
Definition: NavChartDb.h:84
int encId_
Definition: NavChartDb.h:177
float currentDepth_
Definition: NavChartDb.h:247
Str * currentDepthStr_
Definition: NavChartDb.h:248
float getAngleSq()
Definition: NavChartDb.h:118
void setCosLat(const float &cosLat)
Definition: NavChartDb.h:138
int nextDepthIndex_
Definition: NavChartDb.h:252
DataWriter * closestDistanceWriter_
Definition: NavChartDb.h:281
Simple class providing a flexible size array of void*.
Definition: FlexArray.h:22
Replacement for standard template class string.
Definition: Str.h:12
static const float NUM_LATS
Definition: NavChartDb.h:278
float getDistanceFromShore(const float latitude, const float longitude)
For a given latitude and longitude (in radians), estimates the distance from the shoreline at that lo...
Definition: NavChartDb.cpp:631
static const float LAT_INCREMENT
Definition: NavChartDb.h:279
int resLevel_
Definition: NavChartDb.h:178
float getCosLat()
Definition: NavChartDb.h:108
EncInfo(int encId, int resLevel, bool loaded, Str &filename)
Definition: NavChartDb.h:167
static int CalcGeoIndex(float latitude, float longitude)
converts a latitude and longitude into a index that covers a small area of the planet (smaller than G...
Definition: NavChartDb.cpp:1145
unsigned int currentGeoIndex_
Definition: NavChartDb.h:231
Definition: ConfigReader.h:13
void setLon(const float &lon)
Definition: NavChartDb.h:133
static NavChartDb * GetInstance()
Definition: NavChartDb.h:71
static int MakeGeoIndex(int latIndex, int lonIndex)
Combines latitude index and longitude index into a single index.
Definition: NavChartDb.cpp:1154
Contains the Mutex, ThreadCondition, and MutexLocker class declarations.
Abstract Base class for software components that run independently from the computation cycle...
Definition: AsyncComponent.h:20
static const RestartConfigURI CYCLE_TIMEOUT_CFG
Definition: NavChartDb.h:276
Contains the FastMap class declaration.
FlexArray< EncInfo * > encInfos_
Definition: NavChartDb.h:239
Contains the Logger class definition.
bool initialized_
Definition: NavChartDb.h:210
float changeLatitudeTo_
Definition: NavChartDb.h:256
bool saveEncs()
Definition: NavChartDb.cpp:922
static const DataURI CLOSEST_DEPTH
Definition: NavChartDb.h:273
static const DataURI NEXT_DEPTH
Definition: NavChartDb.h:274
int changeNextDepthIndexTo_
Definition: NavChartDb.h:253
const Str soundingsStr_
Definition: NavChartDb.h:249
static const DataURI NEXT_DISTANCE
Definition: NavChartDb.h:272
Definition: ElementURI.h:229
virtual ~EncInfo()
Definition: NavChartDb.h:175
void setAngle(const float &angle)
Definition: NavChartDb.h:143
static int CalcLatIndex(float latitude)
converts a latitude into a index that covers a small band around the planet
Definition: NavChartDb.cpp:1161
ClosePoint * closeSoundings_
Definition: NavChartDb.h:235
bool okToUpdateFromDisk_
Definition: NavChartDb.h:212
DataWriter * nextDepthWriter_
Definition: NavChartDb.h:284
Simple class providing a flexible size array of pointers.
Definition: DataReader.h:19
bool ready_
Definition: NavChartDb.h:211
float angleSq_
Definition: NavChartDb.h:163
static int CalcNumLonIndices(int latIndex)
Returns number of small longitudinal areas in the latIndex band around the planet (each smaller than ...
Definition: NavChartDb.cpp:1168
bool appendToSoundings(const float depth, const int encId, const int resLevel, const float latitude, const float longitude)
Definition: NavChartDb.cpp:844
void setOkToUpdateFromDisk()
Definition: NavChartDb.h:76
float calcDistFromLineSq(const float x, const float y, const float x1, const float y1, const float x2, const float y2)
Definition: NavChartDb.cpp:1127
bool createContour(const Str *depthStr)
Definition: NavChartDb.cpp:812
int changeOkToUpdateFromDiskTo_
Definition: NavChartDb.h:213
FastMap< const Str *, Str * > depthIdxNameMap_
Definition: NavChartDb.h:221
Mutex currentMutex_
Definition: NavChartDb.h:289
Definition: EncReader.h:167
FastMap< const Str *, Mtx * > depthIdxMap_
Definition: NavChartDb.h:225
void updateCurrent(const float latitude, const float longitude, bool gotFix)
Update the curent latitude/longitude pair (in radians)
Definition: NavChartDb.cpp:369
DataWriter * nextDistanceWriter_
Definition: NavChartDb.h:282
Wraps a string (see Str) as a DataValue, so strings can be written to and read from the slate...
Definition: StrValue.h:34
Str filename_
Definition: NavChartDb.h:180
ConfigReader * cycleTimeoutCfgReader_
Definition: NavChartDb.h:287
float getLon()
Definition: NavChartDb.h:103
DataWriter * closestDepthWriter_
Definition: NavChartDb.h:283
bool ready()
Definition: NavChartDb.h:66
StrValue chartsCfg_
Definition: NavChartDb.h:261
bool loadDepths()
Definition: NavChartDb.cpp:697
void setDepth(const float &depth)
Definition: NavChartDb.h:123
bool shoreDone_
Definition: NavChartDb.h:259
Definition: ElementURI.h:192
FastMap< const Str *, FastMap< const int, Mtx * > * > depthMtxMap_
Definition: NavChartDb.h:223
float latitude_
Definition: NavChartDb.h:255
static const Str NAME
Definition: NavChartDb.h:266
Contains the AsyncComponent class definition.