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

void OnEvtThread (OCPN_ChartTableEntryThreadEvent &event)
void OnAnyEvent (wxEvent &event)
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.
void FinalizeChartUpdate ()
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)
bool UpdateChartDatabaseInplace (ArrayOfCDI &DirArray, bool b_force, wxGenericProgressDialog *_prog)
std::vector< std::shared_ptr< ChartTableEntry > > & GetChartTable ()
int GetChartTableEntries () const
ChartTableEntry & GetChartTableEntry (int index)
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 ()
void SetBusy (bool _busy)
bool ScrubGroupArray ()
ChartTableEntry * CreateChartTableEntry (const wxString &filePath, wxString &utf8Path, ChartClassDescriptor &chart_desc)
void OnDBSProgressUpdate (wxCommandEvent &evt)

Public Attributes

std::map< wxString, int > active_chartTable_pathindex
std::vector< std::shared_ptr< ChartTableEntry > > active_chartTable

Protected Member Functions

virtual ChartBase * GetChart (const wxChar *theFilePath, ChartClassDescriptor &chart_desc) const
int AddChartDirectory (const wxString &theDir, bool bshow_prog)
void SetValid (bool valid)

Protected Attributes

std::vector< ChartClassDescriptor > m_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 306 of file chartdbs.h.

Constructor & Destructor Documentation

◆ ChartDatabase()

ChartDatabase::ChartDatabase ( )

Definition at line 1058 of file chartdbs.cpp.

◆ ~ChartDatabase()

virtual ChartDatabase::~ChartDatabase ( )
inlinevirtual

Definition at line 309 of file chartdbs.h.

Member Function Documentation

◆ AddSingleChart()

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

Definition at line 2668 of file chartdbs.cpp.

◆ ApplyGroupArray()

void ChartDatabase::ApplyGroupArray ( ChartGroupArray * pGroupArray)

Definition at line 3092 of file chartdbs.cpp.

◆ CompareChartDirArray()

bool ChartDatabase::CompareChartDirArray ( ArrayOfCDI & test_array)

Definition at line 1392 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 1707 of file chartdbs.cpp.

◆ CreateChartTableEntry()

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

Definition at line 2832 of file chartdbs.cpp.

◆ DisableChart()

int ChartDatabase::DisableChart ( wxString & PathToDisable)

Definition at line 1932 of file chartdbs.cpp.

◆ FinalizeChartUpdate()

void ChartDatabase::FinalizeChartUpdate ( )

Definition at line 1227 of file chartdbs.cpp.

◆ FinddbIndex()

int ChartDatabase::FinddbIndex ( wxString PathToFind)

Definition at line 1920 of file chartdbs.cpp.

◆ GetCentroidOfLargestScaleChart()

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

Definition at line 2865 of file chartdbs.cpp.

◆ GetChart()

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

Definition at line 2822 of file chartdbs.cpp.

◆ GetChartDirArray()

ArrayOfCDI & ChartDatabase::GetChartDirArray ( )
inline

Definition at line 338 of file chartdbs.h.

◆ GetChartDirArrayString()

wxArrayString & ChartDatabase::GetChartDirArrayString ( )
inline

Definition at line 339 of file chartdbs.h.

◆ GetChartTable()

std::vector< std::shared_ptr< ChartTableEntry > > & ChartDatabase::GetChartTable ( )
inline

Definition at line 348 of file chartdbs.h.

◆ GetChartTableEntries()

int ChartDatabase::GetChartTableEntries ( ) const
inline

Definition at line 351 of file chartdbs.h.

◆ GetChartTableEntry()

ChartTableEntry & ChartDatabase::GetChartTableEntry ( int index)

Definition at line 1385 of file chartdbs.cpp.

◆ GetDBAuxPlyPoint()

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

Definition at line 3002 of file chartdbs.cpp.

◆ GetDBBoundingBox() [1/2]

const LLBBox & ChartDatabase::GetDBBoundingBox ( int dbIndex)

Definition at line 2971 of file chartdbs.cpp.

◆ GetDBBoundingBox() [2/2]

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

Definition at line 2961 of file chartdbs.cpp.

◆ GetDBChartFamily()

int ChartDatabase::GetDBChartFamily ( int dbIndex)

Definition at line 2906 of file chartdbs.cpp.

◆ GetDBChartFileName()

wxString ChartDatabase::GetDBChartFileName ( int dbIndex)

Definition at line 2917 of file chartdbs.cpp.

◆ GetDBChartProj()

int ChartDatabase::GetDBChartProj ( int dbIndex)

Definition at line 2895 of file chartdbs.cpp.

◆ GetDBChartScale()

int ChartDatabase::GetDBChartScale ( int dbIndex)

Definition at line 2950 of file chartdbs.cpp.

◆ GetDBChartSkew()

float ChartDatabase::GetDBChartSkew ( int dbIndex)

Definition at line 2939 of file chartdbs.cpp.

◆ GetDBChartType()

int ChartDatabase::GetDBChartType ( int dbIndex)

Definition at line 2928 of file chartdbs.cpp.

◆ GetDBFileName()

const wxString & ChartDatabase::GetDBFileName ( ) const
inline

Definition at line 337 of file chartdbs.h.

◆ GetDBPlyPoint()

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

Definition at line 2983 of file chartdbs.cpp.

◆ GetFullChartInfo()

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

Definition at line 1568 of file chartdbs.cpp.

◆ GetMagicNumberCached()

wxString ChartDatabase::GetMagicNumberCached ( wxString dir)

Definition at line 1418 of file chartdbs.cpp.

◆ GetnAuxPlyEntries()

int ChartDatabase::GetnAuxPlyEntries ( int dbIndex)

Definition at line 3020 of file chartdbs.cpp.

◆ GetReducedAuxPlyPoints()

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

Definition at line 3044 of file chartdbs.cpp.

◆ GetReducedPlyPoints()

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

Definition at line 3031 of file chartdbs.cpp.

◆ GetVersion()

int ChartDatabase::GetVersion ( )
inline

Definition at line 371 of file chartdbs.h.

◆ IsBusy()

bool ChartDatabase::IsBusy ( )
inline

Definition at line 383 of file chartdbs.h.

◆ IsChartAvailable()

bool ChartDatabase::IsChartAvailable ( int dbIndex)

Definition at line 3055 of file chartdbs.cpp.

◆ IsValid()

bool ChartDatabase::IsValid ( ) const
inline

Definition at line 354 of file chartdbs.h.

◆ OnDBSProgressUpdate()

void ChartDatabase::OnDBSProgressUpdate ( wxCommandEvent & evt)

Definition at line 1079 of file chartdbs.cpp.

◆ OnEvtThread()

void ChartDatabase::OnEvtThread ( OCPN_ChartTableEntryThreadEvent & event)

Definition at line 1161 of file chartdbs.cpp.

◆ Read()

bool ChartDatabase::Read ( const wxString & filePath)

Definition at line 1427 of file chartdbs.cpp.

◆ RemoveSingleChart()

bool ChartDatabase::RemoveSingleChart ( wxString & ChartFullPath)

Definition at line 2766 of file chartdbs.cpp.

◆ ScrubGroupArray()

bool ChartDatabase::ScrubGroupArray ( )

Definition at line 1292 of file chartdbs.cpp.

◆ SetBusy()

void ChartDatabase::SetBusy ( bool _busy)
inline

Definition at line 384 of file chartdbs.h.

◆ SetChartDirArray()

void ChartDatabase::SetChartDirArray ( ArrayOfCDI array)
inline

Definition at line 340 of file chartdbs.h.

◆ SetValid()

void ChartDatabase::SetValid ( bool valid)
inlineprotected

Definition at line 398 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 1793 of file chartdbs.cpp.

◆ UpdateChartClassDescriptorArray()

void ChartDatabase::UpdateChartClassDescriptorArray ( void )

Definition at line 1338 of file chartdbs.cpp.

◆ UpdateChartDatabaseInplace()

bool ChartDatabase::UpdateChartDatabaseInplace ( ArrayOfCDI & DirArray,
bool b_force,
wxGenericProgressDialog * _prog )

Definition at line 1768 of file chartdbs.cpp.

◆ Write()

bool ChartDatabase::Write ( const wxString & filePath)

Definition at line 1501 of file chartdbs.cpp.

Member Data Documentation

◆ active_chartTable

std::vector<std::shared_ptr<ChartTableEntry> > ChartDatabase::active_chartTable

Definition at line 391 of file chartdbs.h.

◆ active_chartTable_pathindex

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

Definition at line 378 of file chartdbs.h.

◆ m_b_busy

bool ChartDatabase::m_b_busy
protected

Definition at line 402 of file chartdbs.h.

◆ m_ChartClassDescriptorArray

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

Definition at line 400 of file chartdbs.h.

◆ m_dir_array

ArrayOfCDI ChartDatabase::m_dir_array
protected

Definition at line 401 of file chartdbs.h.


The documentation for this class was generated from the following files:
  • /home/runner/work/main/main/opencpn/gui/include/gui/chartdbs.h
  • /home/runner/work/main/main/opencpn/gui/src/chartdbs.cpp