OpenCPN Partial API docs
|
OpenGL chart rendering canvas. More...
#include <gl_chart_canvas.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 |
wxStopWatch | m_glstopwatch |
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 105 of file gl_chart_canvas.h.
glChartCanvas::glChartCanvas | ( | wxWindow * | parent, |
wxGLCanvas * | share = NULL |
||
) |
Definition at line 317 of file gl_chart_canvas.cpp.
glChartCanvas::~glChartCanvas | ( | ) |
Definition at line 482 of file gl_chart_canvas.cpp.
|
protected |
Definition at line 931 of file gl_chart_canvas.cpp.
|
protected |
Definition at line 611 of file gl_chart_canvas.cpp.
|
inline |
Definition at line 199 of file gl_chart_canvas.h.
|
static |
Definition at line 1476 of file gl_chart_canvas.cpp.
Definition at line 1482 of file gl_chart_canvas.cpp.
|
protected |
Definition at line 5716 of file gl_chart_canvas.cpp.
|
protected |
Definition at line 6032 of file gl_chart_canvas.cpp.
|
static |
Definition at line 2998 of file gl_chart_canvas.cpp.
|
protected |
Definition at line 2676 of file gl_chart_canvas.cpp.
|
protected |
Definition at line 2723 of file gl_chart_canvas.cpp.
void glChartCanvas::DrawDynamicRoutesTracksAndWaypoints | ( | ViewPort & | vp | ) |
Definition at line 1546 of file gl_chart_canvas.cpp.
void glChartCanvas::DrawEmboss | ( | ocpnDC & | dc, |
emboss_data * | emboss | ||
) |
Definition at line 2097 of file gl_chart_canvas.cpp.
|
protected |
Definition at line 2632 of file gl_chart_canvas.cpp.
|
protected |
Definition at line 3748 of file gl_chart_canvas.cpp.
|
protected |
Definition at line 3616 of file gl_chart_canvas.cpp.
Definition at line 3608 of file gl_chart_canvas.cpp.
|
protected |
Definition at line 2686 of file gl_chart_canvas.cpp.
|
static |
Definition at line 2835 of file gl_chart_canvas.cpp.
void glChartCanvas::DrawStaticRoutesTracksAndWaypoints | ( | ViewPort & | vp | ) |
Definition at line 1511 of file gl_chart_canvas.cpp.
|
inline |
Definition at line 179 of file gl_chart_canvas.h.
void glChartCanvas::FastPan | ( | int | dx, |
int | dy | ||
) |
Definition at line 4810 of file gl_chart_canvas.cpp.
void glChartCanvas::FastZoom | ( | float | factor, |
float | cp_x, | ||
float | cp_y, | ||
float | post_x, | ||
float | post_y | ||
) |
Definition at line 5007 of file gl_chart_canvas.cpp.
void glChartCanvas::FlushFBO | ( | void | ) |
Definition at line 488 of file gl_chart_canvas.cpp.
|
inline |
Definition at line 142 of file gl_chart_canvas.h.
|
inline |
Definition at line 145 of file gl_chart_canvas.h.
|
inline |
Definition at line 144 of file gl_chart_canvas.h.
|
inline |
Definition at line 178 of file gl_chart_canvas.h.
|
inline |
Definition at line 176 of file gl_chart_canvas.h.
|
protected |
Definition at line 6010 of file gl_chart_canvas.cpp.
|
inline |
Definition at line 177 of file gl_chart_canvas.h.
void glChartCanvas::GridDraw | ( | ) |
Definition at line 1839 of file gl_chart_canvas.cpp.
|
static |
Definition at line 1394 of file gl_chart_canvas.cpp.
void glChartCanvas::Init | ( | ) |
Definition at line 335 of file gl_chart_canvas.cpp.
void glChartCanvas::Invalidate | ( | ) |
Definition at line 3004 of file gl_chart_canvas.cpp.
|
inline |
Definition at line 202 of file gl_chart_canvas.h.
void glChartCanvas::MouseEvent | ( | wxMouseEvent & | event | ) |
Definition at line 545 of file gl_chart_canvas.cpp.
|
static |
Definition at line 1414 of file gl_chart_canvas.cpp.
|
static |
Definition at line 1451 of file gl_chart_canvas.cpp.
void glChartCanvas::OnActivate | ( | wxActivateEvent & | event | ) |
Definition at line 492 of file gl_chart_canvas.cpp.
void glChartCanvas::OnPaint | ( | wxPaintEvent & | event | ) |
Definition at line 1342 of file gl_chart_canvas.cpp.
void glChartCanvas::OnSize | ( | wxSizeEvent & | event | ) |
Definition at line 496 of file gl_chart_canvas.cpp.
void glChartCanvas::onZoomTimerEvent | ( | wxTimerEvent & | event | ) |
Definition at line 4962 of file gl_chart_canvas.cpp.
void glChartCanvas::Render | ( | ) |
Definition at line 3796 of file gl_chart_canvas.cpp.
Definition at line 1618 of file gl_chart_canvas.cpp.
|
protected |
Definition at line 3437 of file gl_chart_canvas.cpp.
void glChartCanvas::RenderColorRect | ( | wxRect | r, |
wxColor & | color | ||
) |
Definition at line 5907 of file gl_chart_canvas.cpp.
|
protected |
Definition at line 3762 of file gl_chart_canvas.cpp.
|
protected |
Definition at line 4661 of file gl_chart_canvas.cpp.
|
protected |
Definition at line 3531 of file gl_chart_canvas.cpp.
|
protected |
Definition at line 3133 of file gl_chart_canvas.cpp.
|
protected |
Definition at line 3376 of file gl_chart_canvas.cpp.
void glChartCanvas::RenderRasterChartRegionGL | ( | ChartBase * | chart, |
ViewPort & | vp, | ||
LLRegion & | region | ||
) |
Definition at line 3009 of file gl_chart_canvas.cpp.
|
protected |
Definition at line 4575 of file gl_chart_canvas.cpp.
|
protected |
Definition at line 5942 of file gl_chart_canvas.cpp.
|
protected |
Definition at line 4604 of file gl_chart_canvas.cpp.
|
static |
Definition at line 5835 of file gl_chart_canvas.cpp.
void glChartCanvas::RenderTextures | ( | ocpnDC & | dc, |
float * | coords, | ||
float * | uvCoords, | ||
int | nVertex, | ||
ViewPort * | vp | ||
) |
Definition at line 5806 of file gl_chart_canvas.cpp.
|
protected |
Definition at line 3552 of file gl_chart_canvas.cpp.
|
inline |
Definition at line 203 of file gl_chart_canvas.h.
void glChartCanvas::SendJSONConfigMessage | ( | ) |
Definition at line 1248 of file gl_chart_canvas.cpp.
|
static |
Definition at line 2981 of file gl_chart_canvas.cpp.
|
static |
Definition at line 2921 of file gl_chart_canvas.cpp.
void glChartCanvas::SetColorScheme | ( | ColorScheme | cs | ) |
Definition at line 3752 of file gl_chart_canvas.cpp.
|
inline |
Definition at line 141 of file gl_chart_canvas.h.
void glChartCanvas::SetupCompression | ( | ) |
Definition at line 1262 of file gl_chart_canvas.cpp.
void glChartCanvas::SetupOpenGL | ( | ) |
Definition at line 986 of file gl_chart_canvas.cpp.
void glChartCanvas::ShipDraw | ( | ocpnDC & | dc | ) |
Definition at line 2174 of file gl_chart_canvas.cpp.
|
inline |
Definition at line 200 of file gl_chart_canvas.h.
|
protected |
Definition at line 4815 of file gl_chart_canvas.cpp.
|
static |
Definition at line 327 of file gl_chart_canvas.h.
|
protected |
Definition at line 275 of file gl_chart_canvas.h.
|
protected |
Definition at line 274 of file gl_chart_canvas.h.
|
protected |
Definition at line 270 of file gl_chart_canvas.h.
|
protected |
Definition at line 276 of file gl_chart_canvas.h.
|
protected |
Definition at line 307 of file gl_chart_canvas.h.
|
protected |
Definition at line 322 of file gl_chart_canvas.h.
|
protected |
Definition at line 318 of file gl_chart_canvas.h.
|
protected |
Definition at line 317 of file gl_chart_canvas.h.
|
protected |
Definition at line 316 of file gl_chart_canvas.h.
|
protected |
Definition at line 323 of file gl_chart_canvas.h.
|
protected |
Definition at line 261 of file gl_chart_canvas.h.
|
protected |
Definition at line 347 of file gl_chart_canvas.h.
|
protected |
Definition at line 268 of file gl_chart_canvas.h.
|
protected |
Definition at line 281 of file gl_chart_canvas.h.
|
protected |
Definition at line 280 of file gl_chart_canvas.h.
|
protected |
Definition at line 282 of file gl_chart_canvas.h.
|
protected |
Definition at line 283 of file gl_chart_canvas.h.
|
protected |
Definition at line 267 of file gl_chart_canvas.h.
|
protected |
Definition at line 327 of file gl_chart_canvas.h.
|
protected |
Definition at line 313 of file gl_chart_canvas.h.
|
protected |
Definition at line 313 of file gl_chart_canvas.h.
|
protected |
Definition at line 333 of file gl_chart_canvas.h.
|
protected |
Definition at line 337 of file gl_chart_canvas.h.
|
protected |
Definition at line 336 of file gl_chart_canvas.h.
|
protected |
Definition at line 338 of file gl_chart_canvas.h.
|
protected |
Definition at line 265 of file gl_chart_canvas.h.
|
protected |
Definition at line 277 of file gl_chart_canvas.h.
|
protected |
Definition at line 312 of file gl_chart_canvas.h.
|
protected |
Definition at line 312 of file gl_chart_canvas.h.
|
protected |
Definition at line 291 of file gl_chart_canvas.h.
|
protected |
Definition at line 292 of file gl_chart_canvas.h.
|
protected |
Definition at line 294 of file gl_chart_canvas.h.
|
protected |
Definition at line 293 of file gl_chart_canvas.h.
|
protected |
Definition at line 344 of file gl_chart_canvas.h.
|
protected |
Definition at line 308 of file gl_chart_canvas.h.
|
protected |
Definition at line 320 of file gl_chart_canvas.h.
|
protected |
Definition at line 321 of file gl_chart_canvas.h.
|
protected |
Definition at line 341 of file gl_chart_canvas.h.
|
protected |
Definition at line 340 of file gl_chart_canvas.h.
ocpnDC glChartCanvas::m_gldc |
Definition at line 211 of file gl_chart_canvas.h.
|
protected |
Definition at line 264 of file gl_chart_canvas.h.
wxStopWatch glChartCanvas::m_glstopwatch |
Definition at line 213 of file gl_chart_canvas.h.
|
protected |
Definition at line 328 of file gl_chart_canvas.h.
|
protected |
Definition at line 351 of file gl_chart_canvas.h.
|
protected |
Definition at line 351 of file gl_chart_canvas.h.
|
protected |
Definition at line 271 of file gl_chart_canvas.h.
time_t glChartCanvas::m_last_render_time |
Definition at line 204 of file gl_chart_canvas.h.
|
protected |
Definition at line 296 of file gl_chart_canvas.h.
|
protected |
Definition at line 297 of file gl_chart_canvas.h.
|
protected |
Definition at line 299 of file gl_chart_canvas.h.
|
protected |
Definition at line 298 of file gl_chart_canvas.h.
|
protected |
Definition at line 314 of file gl_chart_canvas.h.
|
protected |
Definition at line 330 of file gl_chart_canvas.h.
|
protected |
Definition at line 303 of file gl_chart_canvas.h.
|
protected |
Definition at line 303 of file gl_chart_canvas.h.
|
protected |
Definition at line 303 of file gl_chart_canvas.h.
|
protected |
Definition at line 301 of file gl_chart_canvas.h.
|
protected |
Definition at line 301 of file gl_chart_canvas.h.
|
protected |
Definition at line 257 of file gl_chart_canvas.h.
|
protected |
Definition at line 289 of file gl_chart_canvas.h.
|
protected |
Definition at line 325 of file gl_chart_canvas.h.
|
protected |
Definition at line 325 of file gl_chart_canvas.h.
|
protected |
Definition at line 324 of file gl_chart_canvas.h.
ChartCanvas* glChartCanvas::m_pParentCanvas |
Definition at line 210 of file gl_chart_canvas.h.
|
protected |
Definition at line 278 of file gl_chart_canvas.h.
|
protected |
Definition at line 263 of file gl_chart_canvas.h.
|
protected |
Definition at line 302 of file gl_chart_canvas.h.
|
protected |
Definition at line 302 of file gl_chart_canvas.h.
|
protected |
Definition at line 302 of file gl_chart_canvas.h.
|
protected |
Definition at line 302 of file gl_chart_canvas.h.
|
protected |
Definition at line 301 of file gl_chart_canvas.h.
|
protected |
Definition at line 345 of file gl_chart_canvas.h.
|
protected |
Definition at line 301 of file gl_chart_canvas.h.
|
protected |
Definition at line 351 of file gl_chart_canvas.h.
|
protected |
Definition at line 351 of file gl_chart_canvas.h.
|
protected |
Definition at line 352 of file gl_chart_canvas.h.
|
protected |
Definition at line 332 of file gl_chart_canvas.h.
|
protected |
Definition at line 335 of file gl_chart_canvas.h.
|
protected |
Definition at line 334 of file gl_chart_canvas.h.
|
protected |
Definition at line 343 of file gl_chart_canvas.h.
|
protected |
Definition at line 349 of file gl_chart_canvas.h.
|
protected |
Definition at line 350 of file gl_chart_canvas.h.
|
protected |
Definition at line 264 of file gl_chart_canvas.h.
|
protected |
Definition at line 353 of file gl_chart_canvas.h.
|
protected |
Definition at line 304 of file gl_chart_canvas.h.
|
protected |
Definition at line 306 of file gl_chart_canvas.h.
|
protected |
Definition at line 306 of file gl_chart_canvas.h.
|
protected |
Definition at line 305 of file gl_chart_canvas.h.
|
protected |
Definition at line 259 of file gl_chart_canvas.h.
double glChartCanvas::mvmatrix[16] |
Definition at line 207 of file gl_chart_canvas.h.
|
protected |
Definition at line 286 of file gl_chart_canvas.h.
|
protected |
Definition at line 287 of file gl_chart_canvas.h.
|
protected |
Definition at line 285 of file gl_chart_canvas.h.
|
protected |
Definition at line 287 of file gl_chart_canvas.h.
double glChartCanvas::projmatrix[16] |
Definition at line 207 of file gl_chart_canvas.h.
|
static |
Definition at line 131 of file gl_chart_canvas.h.
|
static |
Definition at line 128 of file gl_chart_canvas.h.
|
static |
Definition at line 129 of file gl_chart_canvas.h.
|
static |
Definition at line 130 of file gl_chart_canvas.h.
int glChartCanvas::viewport[4] |
Definition at line 206 of file gl_chart_canvas.h.
|
protected |
Definition at line 310 of file gl_chart_canvas.h.