Added aspect definitions to SWE-GLib
This commit is contained in:
parent
157bca2707
commit
7bb59c6deb
@ -147,5 +147,14 @@ typedef struct {
|
|||||||
gchar *name;
|
gchar *name;
|
||||||
} GsweHouseSystemInfo;
|
} GsweHouseSystemInfo;
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
GsweAspect aspect;
|
||||||
|
gchar *name;
|
||||||
|
guint size;
|
||||||
|
guint orb_modifier;
|
||||||
|
gboolean harmonic;
|
||||||
|
gboolean major;
|
||||||
|
} GsweAspectInfo;
|
||||||
|
|
||||||
#endif /* __SWE_GLIB_GSWE_PLANETS_H__ */
|
#endif /* __SWE_GLIB_GSWE_PLANETS_H__ */
|
||||||
|
|
||||||
|
@ -10,6 +10,7 @@ gchar *gswe_ephe_path = NULL;
|
|||||||
GHashTable *gswe_planet_info_table;
|
GHashTable *gswe_planet_info_table;
|
||||||
GHashTable *gswe_sign_info_table;
|
GHashTable *gswe_sign_info_table;
|
||||||
GHashTable *gswe_house_system_info_table;
|
GHashTable *gswe_house_system_info_table;
|
||||||
|
GHashTable *gswe_aspect_info_table;
|
||||||
GsweTimestamp *gswe_full_moon_base_date;
|
GsweTimestamp *gswe_full_moon_base_date;
|
||||||
|
|
||||||
#define ADD_PLANET(ht, v, i, s, r, n, o, h, dom1, dom2, exi1, exi2, exa, fal) (v) = g_new0(GswePlanetInfo, 1); \
|
#define ADD_PLANET(ht, v, i, s, r, n, o, h, dom1, dom2, exi1, exi2, exa, fal) (v) = g_new0(GswePlanetInfo, 1); \
|
||||||
@ -40,6 +41,15 @@ GsweTimestamp *gswe_full_moon_base_date;
|
|||||||
(v)->name = g_strdup(n); \
|
(v)->name = g_strdup(n); \
|
||||||
g_hash_table_replace((ht), GINT_TO_POINTER(i), (v));
|
g_hash_table_replace((ht), GINT_TO_POINTER(i), (v));
|
||||||
|
|
||||||
|
#define ADD_ASPECT(ht, v, i, n, s, o, h, m) (v) = g_new0(GsweAspectInfo, 1); \
|
||||||
|
(v)->aspect = (i); \
|
||||||
|
(v)->name = g_strdup(n); \
|
||||||
|
(v)->size = (s); \
|
||||||
|
(v)->orb_modifier = (o); \
|
||||||
|
(v)->harmonic = (h); \
|
||||||
|
(v)->major = (m); \
|
||||||
|
g_hash_table_replace((ht), GINT_TO_POINTER(i), (v));
|
||||||
|
|
||||||
void
|
void
|
||||||
gswe_free_planet_info(gpointer planet_info)
|
gswe_free_planet_info(gpointer planet_info)
|
||||||
{
|
{
|
||||||
@ -61,6 +71,13 @@ gswe_free_house_system_info(gpointer house_system_info)
|
|||||||
g_free(house_system_info);
|
g_free(house_system_info);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
gswe_free_aspect_info(gpointer aspect_info)
|
||||||
|
{
|
||||||
|
g_free(((GsweAspectInfo *)aspect_info)->name);
|
||||||
|
g_free(aspect_info);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* gswe_init:
|
* gswe_init:
|
||||||
* @sweph_path: the file system path to the Swiss Ephemeris data files
|
* @sweph_path: the file system path to the Swiss Ephemeris data files
|
||||||
@ -74,6 +91,7 @@ gswe_init(gchar *sweph_path)
|
|||||||
GswePlanetInfo *planet_info;
|
GswePlanetInfo *planet_info;
|
||||||
GsweSignInfo *sign_info;
|
GsweSignInfo *sign_info;
|
||||||
GsweHouseSystemInfo *house_system_info;
|
GsweHouseSystemInfo *house_system_info;
|
||||||
|
GsweAspectInfo *aspect_info;
|
||||||
|
|
||||||
bindtextdomain(GETTEXT_PACKAGE, LOCALEDIR);
|
bindtextdomain(GETTEXT_PACKAGE, LOCALEDIR);
|
||||||
bind_textdomain_codeset(GETTEXT_PACKAGE, "UTF-8");
|
bind_textdomain_codeset(GETTEXT_PACKAGE, "UTF-8");
|
||||||
@ -123,6 +141,20 @@ gswe_init(gchar *sweph_path)
|
|||||||
ADD_HOUSE_SYSTEM(gswe_house_system_info_table, house_system_info, GSWE_HOUSE_SYSTEM_KOCH, 'K', _("Koch"));
|
ADD_HOUSE_SYSTEM(gswe_house_system_info_table, house_system_info, GSWE_HOUSE_SYSTEM_KOCH, 'K', _("Koch"));
|
||||||
ADD_HOUSE_SYSTEM(gswe_house_system_info_table, house_system_info, GSWE_HOUSE_SISTEM_EQUAL, 'E', _("Equal"));
|
ADD_HOUSE_SYSTEM(gswe_house_system_info_table, house_system_info, GSWE_HOUSE_SISTEM_EQUAL, 'E', _("Equal"));
|
||||||
|
|
||||||
|
gswe_aspect_info_table = g_hash_table_new_full(g_direct_hash, g_direct_equal, NULL, gswe_free_aspect_info);
|
||||||
|
|
||||||
|
ADD_ASPECT(gswe_aspect_info_table, aspect_info, GSWE_ASPECT_CONJUCTION, "Conjuction", 0, 0, TRUE, TRUE);
|
||||||
|
ADD_ASPECT(gswe_aspect_info_table, aspect_info, GSWE_ASPECT_OPPOSITION, "Opposition", 180, 0, TRUE, TRUE);
|
||||||
|
ADD_ASPECT(gswe_aspect_info_table, aspect_info, GSWE_ASPECT_TRINE, "Trine", 120, 0, TRUE, TRUE);
|
||||||
|
ADD_ASPECT(gswe_aspect_info_table, aspect_info, GSWE_ASPECT_SQUARE, "Square", 90, 0, FALSE, TRUE);
|
||||||
|
ADD_ASPECT(gswe_aspect_info_table, aspect_info, GSWE_ASPECT_SEXTILE, "Sextile", 60, 1, TRUE, TRUE);
|
||||||
|
ADD_ASPECT(gswe_aspect_info_table, aspect_info, GSWE_ASPECT_QUINCUNX, "Quincunx", 150, 2, FALSE, FALSE);
|
||||||
|
ADD_ASPECT(gswe_aspect_info_table, aspect_info, GSWE_ASPECT_SEMISEXTILE, "Semi-sextile", 30, 2, TRUE, FALSE);
|
||||||
|
ADD_ASPECT(gswe_aspect_info_table, aspect_info, GSWE_ASPECT_SEMISQUARE, "Semi-square", 45, 2, FALSE, FALSE);
|
||||||
|
ADD_ASPECT(gswe_aspect_info_table, aspect_info, GSWE_ASPECT_SESQUISQUARE, "Sesqui-square", 135, 2, FALSE, FALSE);
|
||||||
|
ADD_ASPECT(gswe_aspect_info_table, aspect_info, GSWE_ASPECT_QUINTILE, "Quintile", 72, 3, TRUE, FALSE);
|
||||||
|
ADD_ASPECT(gswe_aspect_info_table, aspect_info, GSWE_ASPECT_BIQUINTILE, "Bi-quintile", 144, 3, TRUE, FALSE);
|
||||||
|
|
||||||
gswe_full_moon_base_date = gswe_timestamp_new_from_gregorian_full(2005, 5, 8, 3, 48, 0, 0, 0.0);
|
gswe_full_moon_base_date = gswe_timestamp_new_from_gregorian_full(2005, 5, 8, 3, 48, 0, 0, 0.0);
|
||||||
|
|
||||||
gswe_ephe_path = g_strdup(sweph_path);
|
gswe_ephe_path = g_strdup(sweph_path);
|
||||||
|
@ -9,6 +9,7 @@
|
|||||||
extern GHashTable *gswe_planet_info_table;
|
extern GHashTable *gswe_planet_info_table;
|
||||||
extern GHashTable *gswe_sign_info_table;
|
extern GHashTable *gswe_sign_info_table;
|
||||||
extern GHashTable *gswe_house_system_info_table;
|
extern GHashTable *gswe_house_system_info_table;
|
||||||
|
extern GHashTable *gswe_aspect_info_table;
|
||||||
|
|
||||||
void gswe_init(gchar *sweph_path);
|
void gswe_init(gchar *sweph_path);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user