OpenCPN Partial API docs
Loading...
Searching...
No Matches
ChartDatabase Class Reference

Manages a database of charts, including reading, writing, and querying chart information. More...

#include <chartdbs.h>

Inheritance diagram for ChartDatabase:
ChartDB

Public Member Functions

bool Create (ArrayOfCDI &dir_array, wxGenericProgressDialog *pprog)
 Creates a new chart database from a list of directories.
 
bool Update (ArrayOfCDI &dir_array, bool bForce, wxGenericProgressDialog *pprog)
 Updates the chart database.
 
bool Read (const wxString &filePath)
 
bool Write (const wxString &filePath)
 
bool AddSingleChart (wxString &fullpath, bool b_force_full_search=true)
 
bool RemoveSingleChart (wxString &ChartFullPath)
 
const wxString & GetDBFileName () const
 
ArrayOfCDI & GetChartDirArray ()
 
wxArrayString & GetChartDirArrayString ()
 
void SetChartDirArray (ArrayOfCDI array)
 
bool CompareChartDirArray (ArrayOfCDI &test_array)
 
wxString GetMagicNumberCached (wxString dir)
 
void UpdateChartClassDescriptorArray (void)
 
int GetChartTableEntries () const
 
const ChartTableEntryGetChartTableEntry (int index) const
 
ChartTableEntryGetpChartTableEntry (int index) const
 
ChartTable & GetChartTable ()
 
bool IsValid () const
 
int DisableChart (wxString &PathToDisable)
 
bool GetCentroidOfLargestScaleChart (double *clat, double *clon, ChartFamilyEnum family)
 
int GetDBChartType (int dbIndex)
 
int GetDBChartFamily (int dbIndex)
 
float GetDBChartSkew (int dbIndex)
 
int GetDBChartProj (int dbIndex)
 
int GetDBChartScale (int dbIndex)
 
bool GetDBBoundingBox (int dbindex, LLBBox &box)
 
const LLBBox & GetDBBoundingBox (int dbIndex)
 
int GetnAuxPlyEntries (int dbIndex)
 
int GetDBPlyPoint (int dbIndex, int plyindex, float *lat, float *lon)
 
int GetDBAuxPlyPoint (int dbIndex, int plyindex, int iAuxPly, float *lat, float *lon)
 
int GetVersion ()
 
wxString GetFullChartInfo (ChartBase *pc, int dbIndex, int *char_width, int *line_count)
 
int FinddbIndex (wxString PathToFind)
 
wxString GetDBChartFileName (int dbIndex)
 
void ApplyGroupArray (ChartGroupArray *pGroupArray)
 
bool IsChartAvailable (int dbIndex)
 
std::vector< float > GetReducedPlyPoints (int dbIndex)
 
std::vector< float > GetReducedAuxPlyPoints (int dbIndex, int iTable)
 
bool IsBusy ()
 

Public Attributes

ChartTable active_chartTable
 
std::map< wxString, int > active_chartTable_pathindex
 

Protected Member Functions

virtual ChartBaseGetChart (const wxChar *theFilePath, ChartClassDescriptor &chart_desc) const
 
int AddChartDirectory (const wxString &theDir, bool bshow_prog)
 
void SetValid (bool valid)
 
ChartTableEntryCreateChartTableEntry (const wxString &filePath, wxString &utf8Path, ChartClassDescriptor &chart_desc)
 

Protected Attributes

std::vector< ChartClassDescriptorm_ChartClassDescriptorArray
 
ArrayOfCDI m_dir_array
 
bool m_b_busy
 

Detailed Description

Manages a database of charts, including reading, writing, and querying chart information.

Definition at line 308 of file chartdbs.h.

Constructor & Destructor Documentation

◆ ChartDatabase()

ChartDatabase::ChartDatabase ( )

Definition at line 1072 of file chartdbs.cpp.

◆ ~ChartDatabase()

virtual ChartDatabase::~ChartDatabase ( )
inlinevirtual

Definition at line 311 of file chartdbs.h.

Member Function Documentation

◆ AddSingleChart()

bool ChartDatabase::AddSingleChart ( wxString &  fullpath,
bool  b_force_full_search = true 
)

Definition at line 2356 of file chartdbs.cpp.

◆ ApplyGroupArray()

void ChartDatabase::ApplyGroupArray ( ChartGroupArray *  pGroupArray)

Definition at line 2767 of file chartdbs.cpp.

◆ CompareChartDirArray()

bool ChartDatabase::CompareChartDirArray ( ArrayOfCDI &  test_array)

Definition at line 1139 of file chartdbs.cpp.

◆ Create()

bool ChartDatabase::Create ( ArrayOfCDI &  dir_array,
wxGenericProgressDialog *  pprog 
)

Creates a new chart database from a list of directories.

Parameters
dir_arrayArray of chart directory information
pprogProgress dialog for user feedback

Definition at line 1467 of file chartdbs.cpp.

◆ CreateChartTableEntry()

ChartTableEntry * ChartDatabase::CreateChartTableEntry ( const wxString &  filePath,
wxString &  utf8Path,
ChartClassDescriptor chart_desc 
)
protected

Definition at line 2513 of file chartdbs.cpp.

◆ DisableChart()

int ChartDatabase::DisableChart ( wxString &  PathToDisable)

Definition at line 1606 of file chartdbs.cpp.

◆ FinddbIndex()

int ChartDatabase::FinddbIndex ( wxString  PathToFind)

Definition at line 1583 of file chartdbs.cpp.

◆ GetCentroidOfLargestScaleChart()

bool ChartDatabase::GetCentroidOfLargestScaleChart ( double *  clat,
double *  clon,
ChartFamilyEnum  family 
)

Definition at line 2544 of file chartdbs.cpp.

◆ GetChart()

ChartBase * ChartDatabase::GetChart ( const wxChar *  theFilePath,
ChartClassDescriptor chart_desc 
) const
protectedvirtual

Definition at line 2503 of file chartdbs.cpp.

◆ GetChartDirArray()

ArrayOfCDI & ChartDatabase::GetChartDirArray ( )
inline

Definition at line 336 of file chartdbs.h.

◆ GetChartDirArrayString()

wxArrayString & ChartDatabase::GetChartDirArrayString ( )
inline

Definition at line 337 of file chartdbs.h.

◆ GetChartTable()

ChartTable & ChartDatabase::GetChartTable ( )
inline

Definition at line 347 of file chartdbs.h.

◆ GetChartTableEntries()

int ChartDatabase::GetChartTableEntries ( ) const
inline

Definition at line 344 of file chartdbs.h.

◆ GetChartTableEntry()

const ChartTableEntry & ChartDatabase::GetChartTableEntry ( int  index) const

Definition at line 1125 of file chartdbs.cpp.

◆ GetDBAuxPlyPoint()

int ChartDatabase::GetDBAuxPlyPoint ( int  dbIndex,
int  plyindex,
int  iAuxPly,
float *  lat,
float *  lon 
)

Definition at line 2677 of file chartdbs.cpp.

◆ GetDBBoundingBox() [1/2]

const LLBBox & ChartDatabase::GetDBBoundingBox ( int  dbIndex)

Definition at line 2646 of file chartdbs.cpp.

◆ GetDBBoundingBox() [2/2]

bool ChartDatabase::GetDBBoundingBox ( int  dbindex,
LLBBox &  box 
)

Definition at line 2636 of file chartdbs.cpp.

◆ GetDBChartFamily()

int ChartDatabase::GetDBChartFamily ( int  dbIndex)

Definition at line 2586 of file chartdbs.cpp.

◆ GetDBChartFileName()

wxString ChartDatabase::GetDBChartFileName ( int  dbIndex)

Definition at line 2596 of file chartdbs.cpp.

◆ GetDBChartProj()

int ChartDatabase::GetDBChartProj ( int  dbIndex)

Definition at line 2576 of file chartdbs.cpp.

◆ GetDBChartScale()

int ChartDatabase::GetDBChartScale ( int  dbIndex)

Definition at line 2626 of file chartdbs.cpp.

◆ GetDBChartSkew()

float ChartDatabase::GetDBChartSkew ( int  dbIndex)

Definition at line 2616 of file chartdbs.cpp.

◆ GetDBChartType()

int ChartDatabase::GetDBChartType ( int  dbIndex)

Definition at line 2606 of file chartdbs.cpp.

◆ GetDBFileName()

const wxString & ChartDatabase::GetDBFileName ( ) const
inline

Definition at line 335 of file chartdbs.h.

◆ GetDBPlyPoint()

int ChartDatabase::GetDBPlyPoint ( int  dbIndex,
int  plyindex,
float *  lat,
float *  lon 
)

Definition at line 2658 of file chartdbs.cpp.

◆ GetFullChartInfo()

wxString ChartDatabase::GetFullChartInfo ( ChartBase pc,
int  dbIndex,
int *  char_width,
int *  line_count 
)

Definition at line 1312 of file chartdbs.cpp.

◆ GetMagicNumberCached()

wxString ChartDatabase::GetMagicNumberCached ( wxString  dir)

Definition at line 1165 of file chartdbs.cpp.

◆ GetnAuxPlyEntries()

int ChartDatabase::GetnAuxPlyEntries ( int  dbIndex)

Definition at line 2695 of file chartdbs.cpp.

◆ GetpChartTableEntry()

ChartTableEntry * ChartDatabase::GetpChartTableEntry ( int  index) const

Definition at line 1132 of file chartdbs.cpp.

◆ GetReducedAuxPlyPoints()

std::vector< float > ChartDatabase::GetReducedAuxPlyPoints ( int  dbIndex,
int  iTable 
)

Definition at line 2719 of file chartdbs.cpp.

◆ GetReducedPlyPoints()

std::vector< float > ChartDatabase::GetReducedPlyPoints ( int  dbIndex)

Definition at line 2706 of file chartdbs.cpp.

◆ GetVersion()

int ChartDatabase::GetVersion ( )
inline

Definition at line 366 of file chartdbs.h.

◆ IsBusy()

bool ChartDatabase::IsBusy ( )
inline

Definition at line 379 of file chartdbs.h.

◆ IsChartAvailable()

bool ChartDatabase::IsChartAvailable ( int  dbIndex)

Definition at line 2730 of file chartdbs.cpp.

◆ IsValid()

bool ChartDatabase::IsValid ( ) const
inline

Definition at line 349 of file chartdbs.h.

◆ Read()

bool ChartDatabase::Read ( const wxString &  filePath)

Definition at line 1174 of file chartdbs.cpp.

◆ RemoveSingleChart()

bool ChartDatabase::RemoveSingleChart ( wxString &  ChartFullPath)

Definition at line 2449 of file chartdbs.cpp.

◆ SetChartDirArray()

void ChartDatabase::SetChartDirArray ( ArrayOfCDI  array)
inline

Definition at line 338 of file chartdbs.h.

◆ SetValid()

void ChartDatabase::SetValid ( bool  valid)
inlineprotected

Definition at line 385 of file chartdbs.h.

◆ Update()

bool ChartDatabase::Update ( ArrayOfCDI &  dir_array,
bool  bForce,
wxGenericProgressDialog *  pprog 
)

Updates the chart database.

Parameters
dir_arrayArray of chart directory information
bForceForce update even if no changes detected
pprogProgress dialog for user feedback

Definition at line 1491 of file chartdbs.cpp.

◆ UpdateChartClassDescriptorArray()

void ChartDatabase::UpdateChartClassDescriptorArray ( void  )

Definition at line 1081 of file chartdbs.cpp.

◆ Write()

bool ChartDatabase::Write ( const wxString &  filePath)

Definition at line 1247 of file chartdbs.cpp.

Member Data Documentation

◆ active_chartTable

ChartTable ChartDatabase::active_chartTable

Definition at line 373 of file chartdbs.h.

◆ active_chartTable_pathindex

std::map<wxString, int> ChartDatabase::active_chartTable_pathindex

Definition at line 374 of file chartdbs.h.

◆ m_b_busy

bool ChartDatabase::m_b_busy
protected

Definition at line 392 of file chartdbs.h.

◆ m_ChartClassDescriptorArray

std::vector<ChartClassDescriptor> ChartDatabase::m_ChartClassDescriptorArray
protected

Definition at line 390 of file chartdbs.h.

◆ m_dir_array

ArrayOfCDI ChartDatabase::m_dir_array
protected

Definition at line 391 of file chartdbs.h.


The documentation for this class was generated from the following files: