libsrtm  0.2.0
some useful C-functions
srtm.h
Go to the documentation of this file.
1 /* kate: indent-mode cstyle; tab-width 4; indent-width 4; */
2 #ifndef __GSRTM_DATA_H__
3 #define __GSRTM_DATA_H__
4 
5 #include <glib-object.h>
6 #include <cfe/gpstypes.h>
7 
8 #define NO_ELEVATION_AVAILABLE ((gfloat)NAN)
9 #define IS_ELEVATION(v) (isnormal(v))
10 
11 #define SRTM_TYPE_DATA (srtm_data_get_type())
12 #define SRTM_DATA(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), SRTM_TYPE_DATA, SrtmData))
13 #define SRTM_IS_DATA(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), SRTM_TYPE_DATA))
14 #define SRTM_DATA_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), SRTM_TYPE_DATA, SrtmDataClass))
15 #define SRTM_IS_DATA_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), SRTM_TYPE_DATA))
16 #define SRTM_DATA_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), SRTM_TYPE_DATA, SrtmDataClass))
17 
18 typedef struct _SrtmData SrtmData;
19 typedef struct _SrtmDataClass SrtmDataClass;
20 typedef struct _SrtmDataPrivate SrtmDataPrivate;
21 
22 struct _SrtmData
23 {
24  /* Parent instance structure */
25  GObject parent_instance;
26 
27  /* instance members */
28  SrtmDataPrivate *priv;
29 };
30 
32 {
33  /* Parent class structure */
34  GObjectClass parent_class;
35 
36  /* class members */
37 };
38 
39 /* used by SRTM_TYPE_DATA */
40 GType srtm_data_get_type(void);
41 
42 /*
43  * Method definitions.
44  */
45 SrtmData *srtm_data_new(void);
46 gboolean srtm_cache_tile(SrtmData *self, lat_t lat, lng_t lnt);
47 gfloat srtm_get_elevation(SrtmData *self, lat_t lat, lng_t lng);
48 
49 #endif /* __GSRTM_DATA_H__ */
GObjectClass parent_class
Definition: srtm.h:34
gfloat srtm_get_elevation(SrtmData *self, lat_t lat, lng_t lng)
SrtmData * srtm_data_new(void)
SrtmDataPrivate * priv
Definition: srtm.h:28
GType srtm_data_get_type(void)
gboolean srtm_cache_tile(SrtmData *self, lat_t lat, lng_t lnt)
Definition: srtm.h:22
GObject parent_instance
Definition: srtm.h:25