OpenCPN Partial API docs
Loading...
Searching...
No Matches
IsoLine.h File Reference

GRIB Isobar and Isoline Generation System. More...

#include <iostream>
#include <cmath>
#include <vector>
#include <list>
#include <set>
#include "ocpn_plugin.h"
#include "GribReader.h"

Go to the source code of this file.

Classes

class  Segment
 
class  IsoLine
 

Typedefs

typedef long outcode
 

Enumerations

enum  ClipResult { Visible , Invisible }
 
enum  edge { LEFT , RIGHT , BOTTOM , TOP }
 

Functions

 WX_DECLARE_LIST (Segment, MySegList)
 
 WX_DECLARE_LIST (MySegList, MySegListList)
 
void CompOutCode (double x, double y, outcode *code, struct LOC_cohen_sutherland_line_clip *LINK)
 

Detailed Description

GRIB Isobar and Isoline Generation System.

Implements algorithms for generating and rendering isolines (contours) from GRIB weather data grids. The system specializes in:

  • Isobar generation for pressure fields
  • Isotherms for temperature fields
  • General contour lines for other scalar fields

Key Features:

  • Efficient line segment generation using grid cell analysis
  • Contour line simplification and smoothing
  • Automatic label placement and collision avoidance
  • Support for both OpenGL and bitmap rendering paths
  • Line clipping for viewport optimization
  • High-definition rendering support

The implementation uses the Cohen-Sutherland line clipping algorithm for viewport culling and provides specialized handling for circular quantities like wind direction that wrap around 0-360 degrees.

Definition in file IsoLine.h.

Typedef Documentation

◆ outcode

typedef long outcode

Definition at line 77 of file IsoLine.h.

Enumeration Type Documentation

◆ ClipResult

enum ClipResult

Definition at line 75 of file IsoLine.h.

◆ edge

enum edge

Definition at line 76 of file IsoLine.h.

Function Documentation

◆ CompOutCode()

void CompOutCode ( double  x,
double  y,
outcode *  code,
struct LOC_cohen_sutherland_line_clip LINK 
)

Definition at line 58 of file IsoLine.cpp.