124 virtual InitReturn Init(
const wxString &name, ChartInitFlag init_flags) = 0;
126 virtual void Activate(
void) {};
127 virtual void Deactivate(
void) {};
130 virtual ThumbData *GetThumbData(
int tnx,
int tny,
float lat,
float lon) = 0;
132 virtual bool UpdateThumbData(
double lat,
double lon) = 0;
134 virtual double GetNormalScaleMin(
double canvas_scale_factor,
135 bool b_allow_overzoom) = 0;
136 virtual double GetNormalScaleMax(
double canvas_scale_factor,
137 int canvas_width) = 0;
139 virtual bool GetChartExtent(
Extent *pext) = 0;
141 virtual OcpnProjType GetChartProjectionType() {
return m_projection; }
142 virtual wxDateTime GetEditionDate(
void) {
return m_EdDate; }
144 virtual wxString GetPubDate() {
return m_PubYear; }
145 virtual int GetNativeScale() {
return m_Chart_Scale; }
146 wxString GetFullPath()
const {
return m_FullPath; }
147 wxString GetHashKey()
const;
148 wxString GetName() {
return m_Name; }
149 wxString GetDescription() {
return m_Description; }
150 wxString GetID() {
return m_ID; }
151 wxString GetSE() {
return m_SE; }
152 wxString GetDepthUnits() {
return m_DepthUnits; }
153 wxString GetSoundingsDatum() {
return m_SoundingsDatum; }
154 wxString GetDatumString() {
return m_datum_str; }
155 wxString GetExtraInfo() {
return m_ExtraInfo; }
156 double GetChart_Error_Factor() {
return Chart_Error_Factor; }
157 ChartTypeEnum GetChartType() {
return m_ChartType; }
158 ChartFamilyEnum GetChartFamily() {
return m_ChartFamily; }
159 double GetChartSkew() {
return m_Chart_Skew; }
161 virtual ChartDepthUnitType GetDepthUnitType(
void) {
return m_depth_unit_id; }
163 virtual bool IsReadyToRender() {
return bReadyToRender; }
164 virtual bool RenderRegionViewOnDC(wxMemoryDC &dc,
const ViewPort &VPoint,
167 virtual bool RenderRegionViewOnGL(
const wxGLContext &glc,
170 const LLRegion &Region) = 0;
174 virtual void GetValidCanvasRegion(
const ViewPort &VPoint,
176 virtual LLRegion GetValidRegion() = 0;
178 virtual void SetColorScheme(ColorScheme cs,
bool bApplyImmediate =
true) = 0;
180 virtual double GetNearestPreferredScalePPM(
double target_scale_ppm) = 0;
182 virtual int GetCOVREntries() {
return m_nCOVREntries; }
183 virtual int GetCOVRTablePoints(
int iTable) {
184 return m_pCOVRTablePoints[iTable];
186 virtual int GetCOVRTablenPoints(
int iTable) {
187 return m_pCOVRTablePoints[iTable];
189 virtual float *GetCOVRTableHead(
int iTable) {
return m_pCOVRTable[iTable]; }
191 virtual int GetNoCOVREntries() {
return m_nNoCOVREntries; }
192 virtual int GetNoCOVRTablePoints(
int iTable) {
193 return m_pNoCOVRTablePoints[iTable];
195 virtual int GetNoCOVRTablenPoints(
int iTable) {
196 return m_pNoCOVRTablePoints[iTable];
198 virtual float *GetNoCOVRTableHead(
int iTable) {
199 return m_pNoCOVRTable[iTable];
204 ChartTypeEnum m_ChartType;
205 ChartFamilyEnum m_ChartFamily;
209 wxString m_Description;
212 wxString m_SoundingsDatum;
213 wxString m_datum_str;
214 wxString m_ExtraInfo;
216 wxString m_DepthUnits;
218 OcpnProjType m_projection;
219 ChartDepthUnitType m_depth_unit_id;
225 ColorScheme m_global_color_scheme;
228 double Chart_Error_Factor;
230 double m_lon_datum_adjust;
232 double m_lat_datum_adjust;
246 int *m_pCOVRTablePoints;
248 float **m_pCOVRTable;
251 int m_nNoCOVREntries;
252 int *m_pNoCOVRTablePoints;
254 float **m_pNoCOVRTable;
267 virtual InitReturn Init(
const wxString &name, ChartInitFlag init_flags);
270 virtual ThumbData *GetThumbData(
int tnx,
int tny,
float lat,
float lon);
271 virtual ThumbData *GetThumbData() {
return pThumbData; }
272 virtual bool UpdateThumbData(
double lat,
double lon);
274 double GetNormalScaleMin(
double canvas_scale_factor,
bool b_allow_overzoom) {
277 double GetNormalScaleMax(
double canvas_scale_factor,
int canvas_width) {
281 virtual bool GetChartExtent(
Extent *pext);
283 virtual bool RenderRegionViewOnDC(wxMemoryDC &dc,
const ViewPort &VPoint,
286 virtual bool RenderRegionViewOnGL(
const wxGLContext &glc,
289 const LLRegion &Region);
293 virtual void GetValidCanvasRegion(
const ViewPort &VPoint,
295 virtual LLRegion GetValidRegion();
297 virtual void SetColorScheme(ColorScheme cs,
bool bApplyImmediate);
299 virtual double GetNearestPreferredScalePPM(
double target_scale_ppm) {
300 return target_scale_ppm;
304 bool RenderViewOnDC(wxMemoryDC &dc,
const ViewPort &VPoint);