OpenCPN Partial API docs
Loading...
Searching...
No Matches
GRIBUICtrlBar Class Reference
Inheritance diagram for GRIBUICtrlBar:
GRIBUICtrlBarBase

Public Member Functions

 GRIBUICtrlBar (wxWindow *parent, wxWindowID id, const wxString &title, const wxPoint &pos, const wxSize &size, long style, grib_pi *ppi)
 
void OpenFile (bool newestFile=false)
 
void ContextMenuItemCallback (int id)
 
void SetFactoryOptions ()
 
wxDateTime TimelineTime ()
 
GribTimelineRecordSetGetTimeLineRecordSet (wxDateTime time)
 Retrieves or creates a temporally interpolated GRIB record set for a specific timestamp.
 
void StopPlayBack ()
 
void TimelineChanged ()
 
void CreateActiveFileFromNames (const wxArrayString &filenames)
 
void PopulateComboDataList ()
 
void ComputeBestForecastForNow ()
 
void SetViewPort (PlugIn_ViewPort *vp)
 
void SetDataBackGroundColor ()
 
void SetTimeLineMax (bool SetValue)
 
void SetCursorLatLon (double lat, double lon)
 
void UpdateTrackingControl ()
 
void SetDialogsStyleSizePosition (bool force_recompute=false)
 
void SetRequestBitmap (int type)
 
void OnMouseEvent (wxMouseEvent &event)
 
GRIBUICDataGetCDataDialog ()
 
bool InDataPlot (int id)
 
void SetScaledBitmap (double factor)
 
wxBitmap GetScaledBitmap (wxBitmap bitmap, const wxString svgFileName, double scale_factor)
 
void OpenFileFromJSON (wxString json)
 
double getTimeInterpolatedValue (int idx, double lon, double lat, wxDateTime t)
 
bool getTimeInterpolatedValues (double &M, double &A, int idx1, int idx2, double lon, double lat, wxDateTime t)
 
void DoZoomToCenter ()
 
const wxString GetGribDir ()
 
void GetProjectedLatLon (int &x, int &y)
 
bool ProjectionEnabled ()
 
- Public Member Functions inherited from GRIBUICtrlBarBase
 GRIBUICtrlBarBase (wxWindow *parent, wxWindowID id=CONTROL_BAR, const wxString &title=wxEmptyString, const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxDefaultSize, long style=wxDEFAULT_DIALOG_STYLE|wxSYSTEM_MENU)
 

Public Attributes

wxWindow * pParent
 
GribOverlaySettings m_OverlaySettings
 Settings that control how GRIB data is displayed and overlaid.
 
GribTimelineRecordSetm_pTimelineSet
 Current set of GRIB records for timeline playback.
 
wxTimer m_tPlayStop
 Timer for controlling GRIB animation playback.
 
grib_pipPlugIn
 Plugin instance that owns this control bar.
 
GribRequestSettingpReq_Dialog
 
GRIBFilem_bGRIBActiveFile
 Currently active GRIB file being displayed.
 
bool m_bDataPlot [GribOverlaySettings::GEO_ALTITUDE]
 
bool m_CDataIsShown
 
int m_ZoneSelAllowed
 
int m_old_DialogStyle
 
double m_ScaledFactor
 
double m_highlight_latmax
 
double m_highlight_lonmax
 
double m_highlight_latmin
 
double m_highlight_lonmin
 
wxString m_grib_dir
 Directory containing GRIB files.
 
wxArrayString m_file_names
 List of GRIB filenames being displayed.
 
- Public Attributes inherited from GRIBUICtrlBarBase
wxBitmapButton * m_bpAltitude
 
wxSlider * m_sTimeline
 

Friends

class GribRequestSetting
 

Additional Inherited Members

- Protected Attributes inherited from GRIBUICtrlBarBase
wxFlexGridSizer * m_fgCtrlBarSizer
 
wxBitmapButton * m_bpPrev
 
wxChoice * m_cRecordForecast
 
wxBitmapButton * m_bpNext
 
wxBitmapButton * m_bpNow
 
wxBitmapButton * m_bpZoomToCenter
 
wxBitmapButton * m_bpShowCursorData
 
wxBitmapButton * m_bpPlay
 
wxBitmapButton * m_bpOpenFile
 
wxBitmapButton * m_bpSettings
 
wxBitmapButton * m_bpRequest
 
wxFlexGridSizer * m_fgCDataSizer
 
wxFlexGridSizer * m_fgCtrlGrabberSize
 
ProjectBoatPanelm_ProjectBoatPanel
 

Detailed Description

Definition at line 159 of file GribUIDialog.h.

Constructor & Destructor Documentation

◆ GRIBUICtrlBar()

GRIBUICtrlBar::GRIBUICtrlBar ( wxWindow *  parent,
wxWindowID  id,
const wxString &  title,
const wxPoint &  pos,
const wxSize &  size,
long  style,
grib_pi ppi 
)

Definition at line 161 of file GribUIDialog.cpp.

◆ ~GRIBUICtrlBar()

GRIBUICtrlBar::~GRIBUICtrlBar ( )

Definition at line 281 of file GribUIDialog.cpp.

Member Function Documentation

◆ ComputeBestForecastForNow()

void GRIBUICtrlBar::ComputeBestForecastForNow ( )

Definition at line 1919 of file GribUIDialog.cpp.

◆ ContextMenuItemCallback()

void GRIBUICtrlBar::ContextMenuItemCallback ( int  id)

Definition at line 1061 of file GribUIDialog.cpp.

◆ CreateActiveFileFromNames()

void GRIBUICtrlBar::CreateActiveFileFromNames ( const wxArrayString &  filenames)

Definition at line 1747 of file GribUIDialog.cpp.

◆ DoZoomToCenter()

void GRIBUICtrlBar::DoZoomToCenter ( )

Definition at line 1822 of file GribUIDialog.cpp.

◆ GetCDataDialog()

GRIBUICData * GRIBUICtrlBar::GetCDataDialog ( )
inline

Definition at line 212 of file GribUIDialog.h.

◆ GetGribDir()

const wxString GRIBUICtrlBar::GetGribDir ( )
inline

Definition at line 247 of file GribUIDialog.h.

◆ GetProjectedLatLon()

void GRIBUICtrlBar::GetProjectedLatLon ( int &  x,
int &  y 
)

Definition at line 1562 of file GribUIDialog.cpp.

◆ GetScaledBitmap()

wxBitmap GRIBUICtrlBar::GetScaledBitmap ( wxBitmap  bitmap,
const wxString  svgFileName,
double  scale_factor 
)

Definition at line 352 of file GribUIDialog.cpp.

◆ getTimeInterpolatedValue()

double GRIBUICtrlBar::getTimeInterpolatedValue ( int  idx,
double  lon,
double  lat,
wxDateTime  t 
)

Definition at line 1579 of file GribUIDialog.cpp.

◆ getTimeInterpolatedValues()

bool GRIBUICtrlBar::getTimeInterpolatedValues ( double &  M,
double &  A,
int  idx1,
int  idx2,
double  lon,
double  lat,
wxDateTime  t 
)

Definition at line 1622 of file GribUIDialog.cpp.

◆ GetTimeLineRecordSet()

GribTimelineRecordSet * GRIBUICtrlBar::GetTimeLineRecordSet ( wxDateTime  time)

Retrieves or creates a temporally interpolated GRIB record set for a specific timestamp.

This function performs temporal interpolation between two known timestamps to estimate values at the requested time. The actual data values at each lat/lon point are either:

  1. Linearly interpolated in time for scalar values
  2. Vector interpolated (2D) for wind and current vectors to maintain physical consistency
Note
This function does NOT perform spatial (lat/lon) interpolation.
Timestamp handling:
  • For timestamps between forecast times (e.g. 1AM between 12AM and 3AM forecasts), data is interpolated between the bracketing forecasts.
  • For timestamps exactly matching forecast times (e.g. 12AM, 3AM), the original GRIB record is used directly without interpolation to avoid unnecessary computation and maintain precision.
Parameters
timeThe target datetime for which to interpolate GRIB records.
Returns
Pointer to GribTimelineRecordSet containing temporally interpolated data, or NULL if no valid data.

Definition at line 1477 of file GribUIDialog.cpp.

◆ InDataPlot()

bool GRIBUICtrlBar::InDataPlot ( int  id)
inline

Definition at line 213 of file GribUIDialog.h.

◆ OnMouseEvent()

void GRIBUICtrlBar::OnMouseEvent ( wxMouseEvent &  event)
virtual

Reimplemented from GRIBUICtrlBarBase.

Definition at line 966 of file GribUIDialog.cpp.

◆ OpenFile()

void GRIBUICtrlBar::OpenFile ( bool  newestFile = false)

Definition at line 443 of file GribUIDialog.cpp.

◆ OpenFileFromJSON()

void GRIBUICtrlBar::OpenFileFromJSON ( wxString  json)

Definition at line 1284 of file GribUIDialog.cpp.

◆ PopulateComboDataList()

void GRIBUICtrlBar::PopulateComboDataList ( )

Definition at line 1755 of file GribUIDialog.cpp.

◆ ProjectionEnabled()

bool GRIBUICtrlBar::ProjectionEnabled ( )
inline

Definition at line 267 of file GribUIDialog.h.

◆ SetCursorLatLon()

void GRIBUICtrlBar::SetCursorLatLon ( double  lat,
double  lon 
)

Definition at line 678 of file GribUIDialog.cpp.

◆ SetDialogsStyleSizePosition()

void GRIBUICtrlBar::SetDialogsStyleSizePosition ( bool  force_recompute = false)

Definition at line 712 of file GribUIDialog.cpp.

◆ SetFactoryOptions()

void GRIBUICtrlBar::SetFactoryOptions ( )

Definition at line 1998 of file GribUIDialog.cpp.

◆ SetRequestBitmap()

void GRIBUICtrlBar::SetRequestBitmap ( int  type)

Definition at line 418 of file GribUIDialog.cpp.

◆ SetScaledBitmap()

void GRIBUICtrlBar::SetScaledBitmap ( double  factor)

Definition at line 380 of file GribUIDialog.cpp.

◆ SetTimeLineMax()

void GRIBUICtrlBar::SetTimeLineMax ( bool  SetValue)

Definition at line 1974 of file GribUIDialog.cpp.

◆ SetViewPort()

void GRIBUICtrlBar::SetViewPort ( PlugIn_ViewPort vp)

Definition at line 1082 of file GribUIDialog.cpp.

◆ StopPlayBack()

void GRIBUICtrlBar::StopPlayBack ( )

Definition at line 1347 of file GribUIDialog.cpp.

◆ TimelineChanged()

void GRIBUICtrlBar::TimelineChanged ( )

Definition at line 1356 of file GribUIDialog.cpp.

◆ TimelineTime()

wxDateTime GRIBUICtrlBar::TimelineTime ( )

Definition at line 1451 of file GribUIDialog.cpp.

◆ UpdateTrackingControl()

void GRIBUICtrlBar::UpdateTrackingControl ( )

Definition at line 687 of file GribUIDialog.cpp.

Friends And Related Symbol Documentation

◆ GribRequestSetting

friend class GribRequestSetting
friend

Definition at line 160 of file GribUIDialog.h.

Member Data Documentation

◆ m_bDataPlot

bool GRIBUICtrlBar::m_bDataPlot[GribOverlaySettings::GEO_ALTITUDE]

Definition at line 240 of file GribUIDialog.h.

◆ m_bGRIBActiveFile

GRIBFile* GRIBUICtrlBar::m_bGRIBActiveFile

Currently active GRIB file being displayed.

Definition at line 239 of file GribUIDialog.h.

◆ m_CDataIsShown

bool GRIBUICtrlBar::m_CDataIsShown

Definition at line 242 of file GribUIDialog.h.

◆ m_file_names

wxArrayString GRIBUICtrlBar::m_file_names

List of GRIB filenames being displayed.

Definition at line 280 of file GribUIDialog.h.

◆ m_grib_dir

wxString GRIBUICtrlBar::m_grib_dir

Directory containing GRIB files.

Definition at line 278 of file GribUIDialog.h.

◆ m_highlight_latmax

double GRIBUICtrlBar::m_highlight_latmax

Definition at line 273 of file GribUIDialog.h.

◆ m_highlight_latmin

double GRIBUICtrlBar::m_highlight_latmin

Definition at line 275 of file GribUIDialog.h.

◆ m_highlight_lonmax

double GRIBUICtrlBar::m_highlight_lonmax

Definition at line 274 of file GribUIDialog.h.

◆ m_highlight_lonmin

double GRIBUICtrlBar::m_highlight_lonmin

Definition at line 276 of file GribUIDialog.h.

◆ m_old_DialogStyle

int GRIBUICtrlBar::m_old_DialogStyle

Definition at line 244 of file GribUIDialog.h.

◆ m_OverlaySettings

GribOverlaySettings GRIBUICtrlBar::m_OverlaySettings

Settings that control how GRIB data is displayed and overlaid.

Definition at line 229 of file GribUIDialog.h.

◆ m_pTimelineSet

GribTimelineRecordSet* GRIBUICtrlBar::m_pTimelineSet

Current set of GRIB records for timeline playback.

Definition at line 231 of file GribUIDialog.h.

◆ m_ScaledFactor

double GRIBUICtrlBar::m_ScaledFactor

Definition at line 245 of file GribUIDialog.h.

◆ m_tPlayStop

wxTimer GRIBUICtrlBar::m_tPlayStop

Timer for controlling GRIB animation playback.

Definition at line 234 of file GribUIDialog.h.

◆ m_ZoneSelAllowed

int GRIBUICtrlBar::m_ZoneSelAllowed

Definition at line 243 of file GribUIDialog.h.

◆ pParent

wxWindow* GRIBUICtrlBar::pParent

Definition at line 227 of file GribUIDialog.h.

◆ pPlugIn

grib_pi* GRIBUICtrlBar::pPlugIn

Plugin instance that owns this control bar.

Definition at line 236 of file GribUIDialog.h.

◆ pReq_Dialog

GribRequestSetting* GRIBUICtrlBar::pReq_Dialog

Definition at line 237 of file GribUIDialog.h.


The documentation for this class was generated from the following files: