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 1060 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 2389 of file chartdbs.cpp.

◆ ApplyGroupArray()

void ChartDatabase::ApplyGroupArray ( ChartGroupArray * pGroupArray)

Definition at line 2800 of file chartdbs.cpp.

◆ CompareChartDirArray()

bool ChartDatabase::CompareChartDirArray ( ArrayOfCDI & test_array)

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

◆ CreateChartTableEntry()

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

Definition at line 2546 of file chartdbs.cpp.

◆ DisableChart()

int ChartDatabase::DisableChart ( wxString & PathToDisable)

Definition at line 1636 of file chartdbs.cpp.

◆ FinddbIndex()

int ChartDatabase::FinddbIndex ( wxString PathToFind)

Definition at line 1613 of file chartdbs.cpp.

◆ GetCentroidOfLargestScaleChart()

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

Definition at line 2577 of file chartdbs.cpp.

◆ GetChart()

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

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

◆ GetDBAuxPlyPoint()

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

Definition at line 2710 of file chartdbs.cpp.

◆ GetDBBoundingBox() [1/2]

const LLBBox & ChartDatabase::GetDBBoundingBox ( int dbIndex)

Definition at line 2679 of file chartdbs.cpp.

◆ GetDBBoundingBox() [2/2]

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

Definition at line 2669 of file chartdbs.cpp.

◆ GetDBChartFamily()

int ChartDatabase::GetDBChartFamily ( int dbIndex)

Definition at line 2619 of file chartdbs.cpp.

◆ GetDBChartFileName()

wxString ChartDatabase::GetDBChartFileName ( int dbIndex)

Definition at line 2629 of file chartdbs.cpp.

◆ GetDBChartProj()

int ChartDatabase::GetDBChartProj ( int dbIndex)

Definition at line 2609 of file chartdbs.cpp.

◆ GetDBChartScale()

int ChartDatabase::GetDBChartScale ( int dbIndex)

Definition at line 2659 of file chartdbs.cpp.

◆ GetDBChartSkew()

float ChartDatabase::GetDBChartSkew ( int dbIndex)

Definition at line 2649 of file chartdbs.cpp.

◆ GetDBChartType()

int ChartDatabase::GetDBChartType ( int dbIndex)

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

◆ GetFullChartInfo()

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

Definition at line 1300 of file chartdbs.cpp.

◆ GetMagicNumberCached()

wxString ChartDatabase::GetMagicNumberCached ( wxString dir)

Definition at line 1153 of file chartdbs.cpp.

◆ GetnAuxPlyEntries()

int ChartDatabase::GetnAuxPlyEntries ( int dbIndex)

Definition at line 2728 of file chartdbs.cpp.

◆ GetpChartTableEntry()

ChartTableEntry * ChartDatabase::GetpChartTableEntry ( int index) const

Definition at line 1120 of file chartdbs.cpp.

◆ GetReducedAuxPlyPoints()

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

Definition at line 2752 of file chartdbs.cpp.

◆ GetReducedPlyPoints()

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

Definition at line 2739 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 2763 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 1162 of file chartdbs.cpp.

◆ RemoveSingleChart()

bool ChartDatabase::RemoveSingleChart ( wxString & ChartFullPath)

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

◆ UpdateChartClassDescriptorArray()

void ChartDatabase::UpdateChartClassDescriptorArray ( void )

Definition at line 1069 of file chartdbs.cpp.

◆ Write()

bool ChartDatabase::Write ( const wxString & filePath)

Definition at line 1235 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: