130 virtual InitReturn Init(
const wxString &name, ChartInitFlag init_flags) = 0;
132 virtual void Activate(
void) {};
133 virtual void Deactivate(
void) {};
136 virtual ThumbData *GetThumbData(
int tnx,
int tny,
float lat,
float lon) = 0;
138 virtual bool UpdateThumbData(
double lat,
double lon) = 0;
140 virtual double GetNormalScaleMin(
double canvas_scale_factor,
141 bool b_allow_overzoom) = 0;
142 virtual double GetNormalScaleMax(
double canvas_scale_factor,
143 int canvas_width) = 0;
145 virtual bool GetChartExtent(
Extent *pext) = 0;
147 virtual OcpnProjType GetChartProjectionType() {
return m_projection; }
148 virtual wxDateTime GetEditionDate(
void) {
return m_EdDate; }
150 virtual wxString GetPubDate() {
return m_PubYear; }
151 virtual int GetNativeScale() {
return m_Chart_Scale; }
152 wxString GetFullPath()
const {
return m_FullPath; }
153 wxString GetHashKey()
const;
154 wxString GetName() {
return m_Name; }
155 wxString GetDescription() {
return m_Description; }
156 wxString GetID() {
return m_ID; }
157 wxString GetSE() {
return m_SE; }
158 wxString GetDepthUnits() {
return m_DepthUnits; }
159 wxString GetSoundingsDatum() {
return m_SoundingsDatum; }
160 wxString GetDatumString() {
return m_datum_str; }
161 wxString GetExtraInfo() {
return m_ExtraInfo; }
162 double GetChart_Error_Factor() {
return Chart_Error_Factor; }
163 ChartTypeEnum GetChartType() {
return m_ChartType; }
164 ChartFamilyEnum GetChartFamily() {
return m_ChartFamily; }
165 double GetChartSkew() {
return m_Chart_Skew; }
167 virtual ChartDepthUnitType GetDepthUnitType(
void) {
return m_depth_unit_id; }
169 virtual bool IsReadyToRender() {
return bReadyToRender; }
170 virtual bool RenderRegionViewOnDC(wxMemoryDC &dc,
const ViewPort &VPoint,
173 virtual bool RenderRegionViewOnGL(
const wxGLContext &glc,
176 const LLRegion &Region) = 0;
180 virtual void GetValidCanvasRegion(
const ViewPort &VPoint,
182 virtual LLRegion GetValidRegion() = 0;
184 virtual void SetColorScheme(ColorScheme cs,
bool bApplyImmediate =
true) = 0;
186 virtual double GetNearestPreferredScalePPM(
double target_scale_ppm) = 0;
188 virtual int GetCOVREntries() {
return m_nCOVREntries; }
189 virtual int GetCOVRTablePoints(
int iTable) {
190 return m_pCOVRTablePoints[iTable];
192 virtual int GetCOVRTablenPoints(
int iTable) {
193 return m_pCOVRTablePoints[iTable];
195 virtual float *GetCOVRTableHead(
int iTable) {
return m_pCOVRTable[iTable]; }
197 virtual int GetNoCOVREntries() {
return m_nNoCOVREntries; }
198 virtual int GetNoCOVRTablePoints(
int iTable) {
199 return m_pNoCOVRTablePoints[iTable];
201 virtual int GetNoCOVRTablenPoints(
int iTable) {
202 return m_pNoCOVRTablePoints[iTable];
204 virtual float *GetNoCOVRTableHead(
int iTable) {
205 return m_pNoCOVRTable[iTable];
210 ChartTypeEnum m_ChartType;
211 ChartFamilyEnum m_ChartFamily;
215 wxString m_Description;
218 wxString m_SoundingsDatum;
219 wxString m_datum_str;
220 wxString m_ExtraInfo;
222 wxString m_DepthUnits;
224 OcpnProjType m_projection;
225 ChartDepthUnitType m_depth_unit_id;
231 ColorScheme m_global_color_scheme;
234 double Chart_Error_Factor;
236 double m_lon_datum_adjust;
238 double m_lat_datum_adjust;
252 int *m_pCOVRTablePoints;
254 float **m_pCOVRTable;
257 int m_nNoCOVREntries;
258 int *m_pNoCOVRTablePoints;
260 float **m_pNoCOVRTable;
273 virtual InitReturn Init(
const wxString &name, ChartInitFlag init_flags);
276 virtual ThumbData *GetThumbData(
int tnx,
int tny,
float lat,
float lon);
277 virtual ThumbData *GetThumbData() {
return pThumbData; }
278 virtual bool UpdateThumbData(
double lat,
double lon);
280 double GetNormalScaleMin(
double canvas_scale_factor,
bool b_allow_overzoom) {
283 double GetNormalScaleMax(
double canvas_scale_factor,
int canvas_width) {
287 virtual bool GetChartExtent(
Extent *pext);
289 virtual bool RenderRegionViewOnDC(wxMemoryDC &dc,
const ViewPort &VPoint,
292 virtual bool RenderRegionViewOnGL(
const wxGLContext &glc,
295 const LLRegion &Region);
299 virtual void GetValidCanvasRegion(
const ViewPort &VPoint,
301 virtual LLRegion GetValidRegion();
303 virtual void SetColorScheme(ColorScheme cs,
bool bApplyImmediate);
305 virtual double GetNearestPreferredScalePPM(
double target_scale_ppm) {
306 return target_scale_ppm;
310 bool RenderViewOnDC(wxMemoryDC &dc,
const ViewPort &VPoint);