OpenCPN Partial API docs
ocpn_types.h
1 /******************************************************************************
2  *
3  * Project: OpenCPN
4  * Purpose: OpenCPN private types and ENUMs
5  * Author: David Register
6  *
7  ***************************************************************************
8  * Copyright (C) 2010 by David S. Register *
9  * *
10  * This program is free software; you can redistribute it and/or modify *
11  * it under the terms of the GNU General Public License as published by *
12  * the Free Software Foundation; either version 2 of the License, or *
13  * (at your option) any later version. *
14  * *
15  * This program is distributed in the hope that it will be useful, *
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of *
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
18  * GNU General Public License for more details. *
19  * *
20  * You should have received a copy of the GNU General Public License *
21  * along with this program; if not, write to the *
22  * Free Software Foundation, Inc., *
23  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
24  ***************************************************************************
25  *
26  *
27  *
28  */
29 
30 #ifndef _OCPNTYPES_H__
31 #define _OCPNTYPES_H__
32 
33 #include <wx/colour.h>
34 
35 
36 
37 
38 // ChartType constants
39 typedef enum ChartTypeEnum {
40  CHART_TYPE_UNKNOWN = 0,
41  CHART_TYPE_DUMMY,
42  CHART_TYPE_DONTCARE,
43  CHART_TYPE_KAP,
44  CHART_TYPE_GEO,
45  CHART_TYPE_S57,
46  CHART_TYPE_CM93,
47  CHART_TYPE_CM93COMP,
48  CHART_TYPE_PLUGIN,
49  CHART_TYPE_MBTILES
50 } _ChartTypeEnum;
51 
52 // ChartFamily constants
53 typedef enum ChartFamilyEnum {
54  CHART_FAMILY_UNKNOWN = 0,
55  CHART_FAMILY_RASTER,
56  CHART_FAMILY_VECTOR,
57  CHART_FAMILY_DONTCARE
58 } _ChartFamilyEnum;
59 
60 
61 //----------------------------------------------------------------------------
62 // ocpn Toolbar stuff
63 //----------------------------------------------------------------------------
64 class ChartBase;
65 class wxSocketEvent;
66 class ocpnToolBarSimple;
67 
68 // A generic Position Data structure
69 typedef struct {
70  double kLat;
71  double kLon;
72  double kCog;
73  double kSog;
74  double kVar; // Variation, typically from RMC message
75  double kHdm; // Magnetic heading
76  double kHdt; // true heading
77  time_t FixTime;
78  int nSats;
80 
81 // A collection of active leg Data structure
82 typedef struct {
83  double Xte; // Left side of the track -> negative XTE
84  double Btw;
85  double Dtw;
86  wxString wp_name; // Name of destination waypoint for active leg;
87  bool arrival;
88 } ActiveLegDat;
89 
90 #endif // _OCPNTYPES_H__