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

Represents a single CM93 chart at a specific scale. More...

#include <cm93.h>

Inheritance diagram for cm93chart:
s57chart ChartBase AbstractChart

Public Member Functions

 cm93chart (int scale_index)
InitReturn Init (const wxString &name, ChartInitFlag flags)
void ResetSubcellKey ()
double GetNormalScaleMin (double canvas_scale_factor, bool b_allow_overzoom)
double GetNormalScaleMax (double canvas_scale_factor, int canvas_width)
bool AdjustVP (ViewPort &vp_last, ViewPort &vp_proposed)
void SetVPParms (const ViewPort &vpt)
void GetPointPix (ObjRazRules *rzRules, float northing, float easting, wxPoint *r)
void GetPointPix (ObjRazRules *rzRules, wxPoint2DDouble *en, wxPoint *r, int nPoints)
void GetPixPoint (int pixx, int pixy, double *plat, double *plon, ViewPort *vpt)
void SetCM93Dict (cm93_dictionary *pDict)
void SetCM93Prefix (const wxString &prefix)
void SetCM93Manager (cm93manager *pManager)
bool UpdateCovrSet (ViewPort *vpt)
bool IsPointInLoadedM_COVR (double xc, double yc)
covr_set * GetCoverSet ()
LLRegion GetValidRegion ()
const wxString & GetLastFileName (void) const
std::vector< int > GetVPCellArray (const ViewPort &vpt)
void SetUserOffsets (int cell_index, int object_id, int subcell, int xoff, int yoff)
wxString GetScaleChar ()
wxPoint * GetDrawBuffer (int nSize)
Public Member Functions inherited from s57chart
virtual ThumbData * GetThumbData (int tnx, int tny, float lat, float lon)
virtual ThumbData * GetThumbData ()
bool UpdateThumbData (double lat, double lon)
virtual int GetNativeScale ()
void SetNativeScale (int s)
virtual bool RenderRegionViewOnDC (wxMemoryDC &dc, const ViewPort &VPoint, const OCPNRegion &Region)
virtual bool RenderOverlayRegionViewOnDC (wxMemoryDC &dc, const ViewPort &VPoint, const OCPNRegion &Region)
virtual bool RenderRegionViewOnDCNoText (wxMemoryDC &dc, const ViewPort &VPoint, const OCPNRegion &Region)
virtual bool RenderRegionViewOnDCTextOnly (wxMemoryDC &dc, const ViewPort &VPoint, const OCPNRegion &Region)
virtual void GetValidCanvasRegion (const ViewPort &VPoint, OCPNRegion *pValidRegion)
virtual double GetNearestPreferredScalePPM (double target_scale_ppm)
void SetFullExtent (Extent &ext)
bool GetChartExtent (Extent *pext)
void SetColorScheme (ColorScheme cs, bool bApplyImmediate=true)
virtual void UpdateLUPs (s57chart *pOwner)
int _insertRules (S57Obj *obj, LUPrec *LUP, s57chart *pOwner)
virtual ListOfObjRazRules * GetObjRuleListAtLatLon (float lat, float lon, float select_radius, ViewPort *VPoint, int selection_mask=MASK_ALL)
bool DoesLatLonSelectObject (float lat, float lon, float select_radius, S57Obj *obj)
bool IsPointInObjArea (float lat, float lon, float select_radius, S57Obj *obj)
virtual ListOfObjRazRules * GetLightsObjRuleListVisibleAtLatLon (float lat, float lon, ViewPort *VPoint)
wxString GetObjectAttributeValueAsString (S57Obj *obj, int iatt, wxString curAttrName)
wxString CreateObjDescriptions (ListOfObjRazRules *rule)
int BuildRAZFromSENCFile (const wxString &SENCPath)
wxString buildSENCName (const wxString &name)
bool GetNearestSafeContour (double safe_cnt, double &next_safe_cnt)
virtual std::list< S57Obj * > * GetAssociatedObjects (S57Obj *obj)
virtual std::unordered_map< unsigned, VE_Element * > & Get_ve_hash ()
virtual std::unordered_map< unsigned, VC_Element * > & Get_vc_hash ()
virtual void ForceEdgePriorityEvaluate ()
float * GetLineVertexBuffer ()
void ClearRenderedTextCache ()
double GetCalculatedSafetyContour ()
virtual bool RenderRegionViewOnGL (const wxGLContext &glc, const ViewPort &VPoint, const OCPNRegion &RectRegion, const LLRegion &Region)
virtual bool RenderOverlayRegionViewOnGL (const wxGLContext &glc, const ViewPort &VPoint, const OCPNRegion &RectRegion, const LLRegion &Region)
virtual bool RenderRegionViewOnGLNoText (const wxGLContext &glc, const ViewPort &VPoint, const OCPNRegion &RectRegion, const LLRegion &Region)
virtual bool RenderViewOnGLTextOnly (const wxGLContext &glc, const ViewPort &VPoint)
virtual bool IsCacheValid ()
virtual void InvalidateCache ()
virtual bool RenderViewOnDC (wxMemoryDC &dc, const ViewPort &VPoint)
virtual void ClearDepthContourArray ()
virtual void BuildDepthContourArray ()
int ValidateAndCountUpdates (const wxFileName file000, const wxString CopyDir, wxString &LastUpdateDate, bool b_copyfiles)
wxString GetISDT ()
InitReturn PostInit (ChartInitFlag flags, ColorScheme cs)
char GetUsageChar ()
int FindOrCreateSenc (const wxString &name, bool b_progress=true)
void DisableBackgroundSENC ()
void EnableBackgroundSENC ()
Public Member Functions inherited from ChartBase
virtual void Activate (void)
virtual void Deactivate (void)
virtual OcpnProjType GetChartProjectionType ()
virtual wxDateTime GetEditionDate (void)
virtual wxString GetPubDate ()
wxString GetFullPath () const
wxString GetHashKey () const
wxString GetName ()
wxString GetDescription ()
wxString GetID ()
wxString GetSE ()
wxString GetDepthUnits ()
wxString GetSoundingsDatum ()
wxString GetDatumString ()
wxString GetExtraInfo ()
double GetChart_Error_Factor ()
ChartTypeEnum GetChartType ()
ChartFamilyEnum GetChartFamily ()
double GetChartSkew ()
virtual ChartDepthUnitType GetDepthUnitType (void)
virtual bool IsReadyToRender ()
virtual int GetCOVREntries ()
virtual int GetCOVRTablePoints (int iTable)
virtual int GetCOVRTablenPoints (int iTable)
virtual float * GetCOVRTableHead (int iTable)
virtual int GetNoCOVREntries ()
virtual int GetNoCOVRTablePoints (int iTable)
virtual int GetNoCOVRTablenPoints (int iTable)
virtual float * GetNoCOVRTableHead (int iTable)

Public Attributes

Array_Of_M_COVR_Desc_Ptr m_pcovr_array_loaded
OCPNRegion m_render_region
Public Attributes inherited from s57chart
wxArrayPtrVoid * pFloatingATONArray
wxArrayPtrVoid * pRigidATONArray
double ref_lat
double ref_lon
double m_LOD_meters
Extent m_FullExtent
bool m_bExtentSet
bool m_bLinePrioritySet
double m_easting_vp_center
double m_northing_vp_center
double m_pixx_vp_center
double m_pixy_vp_center
double m_view_scale_ppm
ViewPort m_last_vp
OCPNRegion m_last_Region
bool m_b2pointLUPS
bool m_b2lineLUPS
bool m_RAZBuilt
chart_context * m_this_chart_context

Additional Inherited Members

Static Public Member Functions inherited from s57chart
static wxString GetAttributeValueAsString (S57attVal *pAttrVal, wxString AttrName)
static bool CompareLights (const S57Light *l1, const S57Light *l2)
static wxString GetAttributeDecode (wxString &att, int ival)
static void GetChartNameFromTXT (const wxString &FullPath, wxString &Name)
static int GetUpdateFileArray (const wxFileName file000, wxArrayString *UpFiles, wxDateTime date000, wxString edtn000)
static bool IsCellOverlayType (const wxString &pFullPath)
Protected Member Functions inherited from s57chart
void AssembleLineGeometry ()
Protected Attributes inherited from s57chart
ObjRazRules * razRules [PRIO_NUM][LUPNAME_NUM]
double m_next_safe_cnt
sm_parms vp_transform
Protected Attributes inherited from ChartBase
int m_Chart_Scale
ChartTypeEnum m_ChartType
ChartFamilyEnum m_ChartFamily
wxString m_FullPath
wxString m_Name
wxString m_Description
wxString m_ID
wxString m_SE
wxString m_SoundingsDatum
wxString m_datum_str
wxString m_ExtraInfo
wxString m_PubYear
wxString m_DepthUnits
OcpnProjType m_projection
ChartDepthUnitType m_depth_unit_id
wxDateTime m_EdDate
ThumbData * pThumbData
ColorScheme m_global_color_scheme
bool bReadyToRender
double Chart_Error_Factor
double m_lon_datum_adjust
double m_lat_datum_adjust
double m_Chart_Skew
int m_nCOVREntries
int * m_pCOVRTablePoints
float ** m_pCOVRTable
int m_nNoCOVREntries
int * m_pNoCOVRTablePoints
float ** m_pNoCOVRTable

Detailed Description

Represents a single CM93 chart at a specific scale.

CM93 charts are a proprietary vector chart format developed by C-Map. Unlike S57 charts, CM93 charts use a different data structure and cover the entire world in a seamless database. Key differences from S57 include:

  • Multi-scale coverage: CM93 data is organized into several discrete zoom levels.
  • Proprietary encoding: CM93 uses its own object and attribute encoding, requiring translation to S57 objects.
  • Global coverage: A single CM93 database covers the entire world, eliminating chart boundaries.
  • Efficient storage: Data is highly compressed and organized in a cell-based structure.

Definition at line 300 of file cm93.h.

Constructor & Destructor Documentation

◆ cm93chart()

cm93chart::cm93chart ( )

Definition at line 1723 of file cm93.cpp.

◆ ~cm93chart()

cm93chart::~cm93chart ( )

Definition at line 1757 of file cm93.cpp.

Member Function Documentation

◆ AdjustVP()

bool cm93chart::AdjustVP ( ViewPort & vp_last,
ViewPort & vp_proposed )
virtual

Reimplemented from s57chart.

Definition at line 1919 of file cm93.cpp.

◆ GetCoverSet()

covr_set * cm93chart::GetCoverSet ( )
inline

Definition at line 328 of file cm93.h.

◆ GetDrawBuffer()

wxPoint * cm93chart::GetDrawBuffer ( int nSize)

Definition at line 4404 of file cm93.cpp.

◆ GetLastFileName()

const wxString & cm93chart::GetLastFileName ( void ) const
inline

Definition at line 331 of file cm93.h.

◆ GetNormalScaleMax()

double cm93chart::GetNormalScaleMax ( double canvas_scale_factor,
int canvas_width )
virtual

Reimplemented from s57chart.

Definition at line 1808 of file cm93.cpp.

◆ GetNormalScaleMin()

double cm93chart::GetNormalScaleMin ( double canvas_scale_factor,
bool b_allow_overzoom )
virtual

Reimplemented from s57chart.

Definition at line 1784 of file cm93.cpp.

◆ GetPixPoint()

void cm93chart::GetPixPoint ( int pixx,
int pixy,
double * plat,
double * plon,
ViewPort * vpt )
virtual

Reimplemented from s57chart.

Definition at line 1890 of file cm93.cpp.

◆ GetPointPix() [1/2]

void cm93chart::GetPointPix ( ObjRazRules * rzRules,
float northing,
float easting,
wxPoint * r )
virtual

Reimplemented from s57chart.

Definition at line 1838 of file cm93.cpp.

◆ GetPointPix() [2/2]

void cm93chart::GetPointPix ( ObjRazRules * rzRules,
wxPoint2DDouble * en,
wxPoint * r,
int nPoints )
virtual

Reimplemented from s57chart.

Definition at line 1844 of file cm93.cpp.

◆ GetScaleChar()

wxString cm93chart::GetScaleChar ( )
inline

Definition at line 339 of file cm93.h.

◆ GetValidRegion()

LLRegion cm93chart::GetValidRegion ( )
virtual

Reimplemented from s57chart.

Definition at line 4204 of file cm93.cpp.

◆ GetVPCellArray()

std::vector< int > cm93chart::GetVPCellArray ( const ViewPort & vpt)

Definition at line 2093 of file cm93.cpp.

◆ Init()

InitReturn cm93chart::Init ( const wxString & name,
ChartInitFlag flags )
virtual

Reimplemented from s57chart.

Definition at line 2396 of file cm93.cpp.

◆ IsPointInLoadedM_COVR()

bool cm93chart::IsPointInLoadedM_COVR ( double xc,
double yc )

Definition at line 4190 of file cm93.cpp.

◆ ResetSubcellKey()

void cm93chart::ResetSubcellKey ( )
inline

Definition at line 308 of file cm93.h.

◆ SetCM93Dict()

void cm93chart::SetCM93Dict ( cm93_dictionary * pDict)
inline

Definition at line 322 of file cm93.h.

◆ SetCM93Manager()

void cm93chart::SetCM93Manager ( cm93manager * pManager)
inline

Definition at line 324 of file cm93.h.

◆ SetCM93Prefix()

void cm93chart::SetCM93Prefix ( const wxString & prefix)
inline

Definition at line 323 of file cm93.h.

◆ SetUserOffsets()

void cm93chart::SetUserOffsets ( int cell_index,
int object_id,
int subcell,
int xoff,
int yoff )

Definition at line 4394 of file cm93.cpp.

◆ SetVPParms()

void cm93chart::SetVPParms ( const ViewPort & vpt)
virtual

Reimplemented from s57chart.

Definition at line 1970 of file cm93.cpp.

◆ UpdateCovrSet()

bool cm93chart::UpdateCovrSet ( ViewPort * vpt)

Definition at line 4153 of file cm93.cpp.

Member Data Documentation

◆ m_pcovr_array_loaded

Array_Of_M_COVR_Desc_Ptr cm93chart::m_pcovr_array_loaded

Definition at line 335 of file cm93.h.

◆ m_render_region

OCPNRegion cm93chart::m_render_region

Definition at line 343 of file cm93.h.


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