OpenCPN Partial API docs
|
OpenGL chart rendering canvas. More...
#include <glChartCanvas.h>
Public Member Functions | |
void | SetColorScheme (ColorScheme cs) |
void | RenderTextures (ocpnDC &dc, float *coords, float *uvCoords, int nVertex, ViewPort *vp) |
void | RenderColorRect (wxRect r, wxColor &color) |
void | SendJSONConfigMessage () |
glChartCanvas (wxWindow *parent, wxGLCanvas *share=NULL) | |
void | Init () |
void | SetContext (wxGLContext *pcontext) |
int | GetCanvasIndex () |
int | GetGLCanvasWidth () |
int | GetGLCanvasHeight () |
void | OnPaint (wxPaintEvent &event) |
void | OnEraseBG (wxEraseEvent &evt) |
void | Render () |
void | OnActivate (wxActivateEvent &event) |
void | OnSize (wxSizeEvent &event) |
void | MouseEvent (wxMouseEvent &event) |
void | FastPan (int dx, int dy) |
void | FastZoom (float factor, float cp_x, float cp_y, float post_x, float post_y) |
void | RenderCanvasBackingChart (ocpnDC &dc, OCPNRegion chart_get_region) |
void | onZoomTimerEvent (wxTimerEvent &event) |
wxString | GetRendererString () |
wxString | GetVersionString () |
wxString | GetGLSLVersionString () |
void | EnablePaint (bool b_enable) |
void | Invalidate () |
void | RenderRasterChartRegionGL (ChartBase *chart, ViewPort &vp, LLRegion ®ion) |
void | DrawGLOverLayObjects (void) |
void | GridDraw () |
void | FlushFBO (void) |
void | DrawDynamicRoutesTracksAndWaypoints (ViewPort &vp) |
void | DrawStaticRoutesTracksAndWaypoints (ViewPort &vp) |
void | RenderAllChartOutlines (ocpnDC &dc, ViewPort &VP) |
void | RenderChartOutline (ocpnDC &dc, int dbIndex, ViewPort &VP) |
void | DrawEmboss (ocpnDC &dc, emboss_data *emboss) |
void | ShipDraw (ocpnDC &dc) |
void | SetupCompression () |
bool | CanAcceleratePanning () |
bool | UsingFBO () |
bool | isInGesture () |
void | ResetGridFont () |
void | SetupOpenGL () |
Static Public Member Functions | |
static bool | CanClipViewport (const ViewPort &vp) |
static ViewPort | ClippedViewport (const ViewPort &vp, const LLRegion ®ion) |
static bool | HasNormalizedViewPort (const ViewPort &vp) |
static void | MultMatrixViewPort (ViewPort &vp, float lat=0, float lon=0) |
static ViewPort | NormalizedViewPort (const ViewPort &vp, float lat=0, float lon=0) |
static void | DrawRegion (ViewPort &vp, const LLRegion ®ion) |
static void | SetClipRegion (ViewPort &vp, const LLRegion ®ion) |
static void | SetClipRect (const ViewPort &vp, const wxRect &rect, bool g_clear=false) |
static void | DisableClipRegion () |
static void | RenderSingleTexture (ocpnDC &dc, float *coords, float *uvCoords, ViewPort *vp, float dx, float dy, float angle) |
Public Attributes | |
time_t | m_last_render_time |
int | viewport [4] |
double | mvmatrix [16] |
double | projmatrix [16] |
ChartCanvas * | m_pParentCanvas |
ocpnDC | m_gldc |
Static Public Attributes | |
static bool | s_b_useScissorTest |
static bool | s_b_useStencil |
static bool | s_b_useStencilAP |
static bool | s_b_useFBO |
static std::unordered_map< wxPenStyle, std::array< wxDash, 2 > > | dash_map |
Protected Member Functions | |
void | RenderS57TextOverlay (ViewPort &VPoint) |
void | RenderMBTilesOverlay (ViewPort &VPoint) |
void | RenderSingleMBTileOverlay (int dbIndex, bool bOVerlay, ViewPort &VPoint, OCPNRegion &screen_region, LLRegion &screenLLRegion) |
void | RenderScene (bool bRenderCharts=true, bool bRenderOverlays=true) |
void | RenderGLAlertMessage () |
void | RenderQuiltViewGL (ViewPort &vp, const OCPNRegion &rect_region) |
void | RenderQuiltViewGLText (ViewPort &vp, const OCPNRegion &rect_region) |
void | BuildFBO () |
bool | buildFBOSize (int fboSize) |
void | configureShaders (ViewPort &vp) |
void | RenderCharts (ocpnDC &dc, const OCPNRegion &rect_region) |
void | RenderNoDTA (ViewPort &vp, const LLRegion ®ion, int transparency=255) |
void | RenderWorldChart (ocpnDC &dc, ViewPort &vp, wxRect &rect, bool &world_view) |
void | DrawFloatingOverlayObjects (ocpnDC &dc) |
void | DrawGroundedOverlayObjects (ocpnDC &dc, ViewPort &vp) |
void | DrawChartBar (ocpnDC &dc) |
void | DrawQuiting () |
void | DrawCloseMessage (wxString msg) |
void | DrawGLTidesInBBox (ocpnDC &dc, LLBBox &BBox) |
void | DrawGLCurrentsInBBox (ocpnDC &dc, LLBBox &BBox) |
void | ZoomProject (float offset_x, float offset_y, float swidth, float sheight) |
wxBitmap & | GetTouchBackingBitmap (ViewPort &vp) |
void | CreateBackingTexture () |
void | RendertoTexture (GLint tex) |
OpenGL chart rendering canvas.
Implements OpenGL-based rendering of charts and overlays. Handles initialization of OpenGL context, rendering loop, and interface with chart objects for drawing.
Definition at line 94 of file glChartCanvas.h.
glChartCanvas::glChartCanvas | ( | wxWindow * | parent, |
wxGLCanvas * | share = NULL |
||
) |
Definition at line 393 of file glChartCanvas.cpp.
glChartCanvas::~glChartCanvas | ( | ) |
Definition at line 555 of file glChartCanvas.cpp.
|
protected |
Definition at line 1004 of file glChartCanvas.cpp.
|
protected |
Definition at line 684 of file glChartCanvas.cpp.
|
inline |
Definition at line 188 of file glChartCanvas.h.
|
static |
Definition at line 1550 of file glChartCanvas.cpp.
Definition at line 1556 of file glChartCanvas.cpp.
|
protected |
Definition at line 5687 of file glChartCanvas.cpp.
|
protected |
Definition at line 6003 of file glChartCanvas.cpp.
|
static |
Definition at line 3086 of file glChartCanvas.cpp.
|
protected |
Definition at line 2764 of file glChartCanvas.cpp.
|
protected |
Definition at line 2811 of file glChartCanvas.cpp.
void glChartCanvas::DrawDynamicRoutesTracksAndWaypoints | ( | ViewPort & | vp | ) |
Definition at line 1627 of file glChartCanvas.cpp.
void glChartCanvas::DrawEmboss | ( | ocpnDC & | dc, |
emboss_data * | emboss | ||
) |
Definition at line 2184 of file glChartCanvas.cpp.
|
protected |
Definition at line 2720 of file glChartCanvas.cpp.
|
protected |
Definition at line 3832 of file glChartCanvas.cpp.
|
protected |
Definition at line 3700 of file glChartCanvas.cpp.
Definition at line 3692 of file glChartCanvas.cpp.
|
protected |
Definition at line 2774 of file glChartCanvas.cpp.
|
static |
Definition at line 2923 of file glChartCanvas.cpp.
void glChartCanvas::DrawStaticRoutesTracksAndWaypoints | ( | ViewPort & | vp | ) |
Definition at line 1585 of file glChartCanvas.cpp.
|
inline |
Definition at line 168 of file glChartCanvas.h.
void glChartCanvas::FastPan | ( | int | dx, |
int | dy | ||
) |
Definition at line 4887 of file glChartCanvas.cpp.
void glChartCanvas::FastZoom | ( | float | factor, |
float | cp_x, | ||
float | cp_y, | ||
float | post_x, | ||
float | post_y | ||
) |
Definition at line 5084 of file glChartCanvas.cpp.
void glChartCanvas::FlushFBO | ( | void | ) |
Definition at line 561 of file glChartCanvas.cpp.
|
inline |
Definition at line 131 of file glChartCanvas.h.
|
inline |
Definition at line 134 of file glChartCanvas.h.
|
inline |
Definition at line 133 of file glChartCanvas.h.
|
inline |
Definition at line 167 of file glChartCanvas.h.
|
inline |
Definition at line 165 of file glChartCanvas.h.
|
protected |
Definition at line 5981 of file glChartCanvas.cpp.
|
inline |
Definition at line 166 of file glChartCanvas.h.
void glChartCanvas::GridDraw | ( | ) |
Definition at line 1926 of file glChartCanvas.cpp.
|
static |
Definition at line 1468 of file glChartCanvas.cpp.
void glChartCanvas::Init | ( | ) |
Definition at line 411 of file glChartCanvas.cpp.
void glChartCanvas::Invalidate | ( | ) |
Definition at line 3092 of file glChartCanvas.cpp.
|
inline |
Definition at line 191 of file glChartCanvas.h.
void glChartCanvas::MouseEvent | ( | wxMouseEvent & | event | ) |
Definition at line 618 of file glChartCanvas.cpp.
|
static |
Definition at line 1488 of file glChartCanvas.cpp.
|
static |
Definition at line 1525 of file glChartCanvas.cpp.
void glChartCanvas::OnActivate | ( | wxActivateEvent & | event | ) |
Definition at line 565 of file glChartCanvas.cpp.
void glChartCanvas::OnPaint | ( | wxPaintEvent & | event | ) |
Definition at line 1415 of file glChartCanvas.cpp.
void glChartCanvas::OnSize | ( | wxSizeEvent & | event | ) |
Definition at line 569 of file glChartCanvas.cpp.
void glChartCanvas::onZoomTimerEvent | ( | wxTimerEvent & | event | ) |
Definition at line 5039 of file glChartCanvas.cpp.
void glChartCanvas::Render | ( | ) |
Definition at line 3880 of file glChartCanvas.cpp.
Definition at line 1705 of file glChartCanvas.cpp.
|
protected |
Definition at line 3522 of file glChartCanvas.cpp.
void glChartCanvas::RenderColorRect | ( | wxRect | r, |
wxColor & | color | ||
) |
Definition at line 5878 of file glChartCanvas.cpp.
|
protected |
Definition at line 3846 of file glChartCanvas.cpp.
|
protected |
Definition at line 4738 of file glChartCanvas.cpp.
|
protected |
Definition at line 3615 of file glChartCanvas.cpp.
|
protected |
Definition at line 3221 of file glChartCanvas.cpp.
|
protected |
Definition at line 3461 of file glChartCanvas.cpp.
void glChartCanvas::RenderRasterChartRegionGL | ( | ChartBase * | chart, |
ViewPort & | vp, | ||
LLRegion & | region | ||
) |
Definition at line 3097 of file glChartCanvas.cpp.
|
protected |
Definition at line 4652 of file glChartCanvas.cpp.
|
protected |
Definition at line 5913 of file glChartCanvas.cpp.
|
protected |
Definition at line 4681 of file glChartCanvas.cpp.
|
static |
Definition at line 5806 of file glChartCanvas.cpp.
void glChartCanvas::RenderTextures | ( | ocpnDC & | dc, |
float * | coords, | ||
float * | uvCoords, | ||
int | nVertex, | ||
ViewPort * | vp | ||
) |
Definition at line 5777 of file glChartCanvas.cpp.
|
protected |
Definition at line 3636 of file glChartCanvas.cpp.
|
inline |
Definition at line 192 of file glChartCanvas.h.
void glChartCanvas::SendJSONConfigMessage | ( | ) |
Definition at line 1321 of file glChartCanvas.cpp.
|
static |
Definition at line 3069 of file glChartCanvas.cpp.
|
static |
Definition at line 3009 of file glChartCanvas.cpp.
void glChartCanvas::SetColorScheme | ( | ColorScheme | cs | ) |
Definition at line 3836 of file glChartCanvas.cpp.
|
inline |
Definition at line 130 of file glChartCanvas.h.
void glChartCanvas::SetupCompression | ( | ) |
Definition at line 1335 of file glChartCanvas.cpp.
void glChartCanvas::SetupOpenGL | ( | ) |
Definition at line 1059 of file glChartCanvas.cpp.
void glChartCanvas::ShipDraw | ( | ocpnDC & | dc | ) |
Definition at line 2261 of file glChartCanvas.cpp.
|
inline |
Definition at line 189 of file glChartCanvas.h.
|
protected |
Definition at line 4892 of file glChartCanvas.cpp.
|
static |
Definition at line 403 of file glChartCanvas.h.
|
protected |
Definition at line 262 of file glChartCanvas.h.
|
protected |
Definition at line 261 of file glChartCanvas.h.
|
protected |
Definition at line 257 of file glChartCanvas.h.
|
protected |
Definition at line 263 of file glChartCanvas.h.
|
protected |
Definition at line 294 of file glChartCanvas.h.
|
protected |
Definition at line 308 of file glChartCanvas.h.
|
protected |
Definition at line 304 of file glChartCanvas.h.
|
protected |
Definition at line 303 of file glChartCanvas.h.
|
protected |
Definition at line 302 of file glChartCanvas.h.
|
protected |
Definition at line 309 of file glChartCanvas.h.
|
protected |
Definition at line 248 of file glChartCanvas.h.
|
protected |
Definition at line 332 of file glChartCanvas.h.
|
protected |
Definition at line 255 of file glChartCanvas.h.
|
protected |
Definition at line 268 of file glChartCanvas.h.
|
protected |
Definition at line 267 of file glChartCanvas.h.
|
protected |
Definition at line 269 of file glChartCanvas.h.
|
protected |
Definition at line 270 of file glChartCanvas.h.
|
protected |
Definition at line 254 of file glChartCanvas.h.
|
protected |
Definition at line 313 of file glChartCanvas.h.
|
protected |
Definition at line 299 of file glChartCanvas.h.
|
protected |
Definition at line 299 of file glChartCanvas.h.
|
protected |
Definition at line 319 of file glChartCanvas.h.
|
protected |
Definition at line 323 of file glChartCanvas.h.
|
protected |
Definition at line 322 of file glChartCanvas.h.
|
protected |
Definition at line 324 of file glChartCanvas.h.
|
protected |
Definition at line 252 of file glChartCanvas.h.
|
protected |
Definition at line 264 of file glChartCanvas.h.
|
protected |
Definition at line 298 of file glChartCanvas.h.
|
protected |
Definition at line 298 of file glChartCanvas.h.
|
protected |
Definition at line 278 of file glChartCanvas.h.
|
protected |
Definition at line 279 of file glChartCanvas.h.
|
protected |
Definition at line 281 of file glChartCanvas.h.
|
protected |
Definition at line 280 of file glChartCanvas.h.
|
protected |
Definition at line 330 of file glChartCanvas.h.
|
protected |
Definition at line 306 of file glChartCanvas.h.
|
protected |
Definition at line 307 of file glChartCanvas.h.
|
protected |
Definition at line 327 of file glChartCanvas.h.
|
protected |
Definition at line 326 of file glChartCanvas.h.
ocpnDC glChartCanvas::m_gldc |
Definition at line 200 of file glChartCanvas.h.
|
protected |
Definition at line 251 of file glChartCanvas.h.
|
protected |
Definition at line 314 of file glChartCanvas.h.
|
protected |
Definition at line 336 of file glChartCanvas.h.
|
protected |
Definition at line 336 of file glChartCanvas.h.
|
protected |
Definition at line 258 of file glChartCanvas.h.
time_t glChartCanvas::m_last_render_time |
Definition at line 193 of file glChartCanvas.h.
|
protected |
Definition at line 283 of file glChartCanvas.h.
|
protected |
Definition at line 284 of file glChartCanvas.h.
|
protected |
Definition at line 286 of file glChartCanvas.h.
|
protected |
Definition at line 285 of file glChartCanvas.h.
|
protected |
Definition at line 300 of file glChartCanvas.h.
|
protected |
Definition at line 316 of file glChartCanvas.h.
|
protected |
Definition at line 290 of file glChartCanvas.h.
|
protected |
Definition at line 290 of file glChartCanvas.h.
|
protected |
Definition at line 290 of file glChartCanvas.h.
|
protected |
Definition at line 288 of file glChartCanvas.h.
|
protected |
Definition at line 288 of file glChartCanvas.h.
|
protected |
Definition at line 244 of file glChartCanvas.h.
|
protected |
Definition at line 276 of file glChartCanvas.h.
|
protected |
Definition at line 311 of file glChartCanvas.h.
|
protected |
Definition at line 311 of file glChartCanvas.h.
|
protected |
Definition at line 310 of file glChartCanvas.h.
ChartCanvas* glChartCanvas::m_pParentCanvas |
Definition at line 199 of file glChartCanvas.h.
|
protected |
Definition at line 265 of file glChartCanvas.h.
|
protected |
Definition at line 250 of file glChartCanvas.h.
|
protected |
Definition at line 289 of file glChartCanvas.h.
|
protected |
Definition at line 289 of file glChartCanvas.h.
|
protected |
Definition at line 289 of file glChartCanvas.h.
|
protected |
Definition at line 289 of file glChartCanvas.h.
|
protected |
Definition at line 288 of file glChartCanvas.h.
|
protected |
Definition at line 288 of file glChartCanvas.h.
|
protected |
Definition at line 336 of file glChartCanvas.h.
|
protected |
Definition at line 336 of file glChartCanvas.h.
|
protected |
Definition at line 337 of file glChartCanvas.h.
|
protected |
Definition at line 318 of file glChartCanvas.h.
|
protected |
Definition at line 321 of file glChartCanvas.h.
|
protected |
Definition at line 320 of file glChartCanvas.h.
|
protected |
Definition at line 329 of file glChartCanvas.h.
|
protected |
Definition at line 334 of file glChartCanvas.h.
|
protected |
Definition at line 335 of file glChartCanvas.h.
|
protected |
Definition at line 251 of file glChartCanvas.h.
|
protected |
Definition at line 338 of file glChartCanvas.h.
|
protected |
Definition at line 291 of file glChartCanvas.h.
|
protected |
Definition at line 293 of file glChartCanvas.h.
|
protected |
Definition at line 293 of file glChartCanvas.h.
|
protected |
Definition at line 292 of file glChartCanvas.h.
|
protected |
Definition at line 246 of file glChartCanvas.h.
double glChartCanvas::mvmatrix[16] |
Definition at line 196 of file glChartCanvas.h.
|
protected |
Definition at line 273 of file glChartCanvas.h.
|
protected |
Definition at line 274 of file glChartCanvas.h.
|
protected |
Definition at line 272 of file glChartCanvas.h.
|
protected |
Definition at line 274 of file glChartCanvas.h.
double glChartCanvas::projmatrix[16] |
Definition at line 196 of file glChartCanvas.h.
|
static |
Definition at line 120 of file glChartCanvas.h.
|
static |
Definition at line 117 of file glChartCanvas.h.
|
static |
Definition at line 118 of file glChartCanvas.h.
|
static |
Definition at line 119 of file glChartCanvas.h.
int glChartCanvas::viewport[4] |
Definition at line 195 of file glChartCanvas.h.
|
protected |
Definition at line 296 of file glChartCanvas.h.