Now displaying planetary calculations based on SWE-GLib instead of pure SWE
This commit is contained in:
parent
9af961f4e4
commit
9c694df8db
110
src/astrognome.c
110
src/astrognome.c
@ -322,7 +322,7 @@ main(int argc, char *argv[])
|
|||||||
cusps[13],
|
cusps[13],
|
||||||
ascmc[10];
|
ascmc[10];
|
||||||
planetInfo_t *planetInfo;
|
planetInfo_t *planetInfo;
|
||||||
moonPhase *phase;
|
GsweMoonPhaseData *moon_phase;
|
||||||
GHashTable *signDataTable,
|
GHashTable *signDataTable,
|
||||||
*planetDataTable,
|
*planetDataTable,
|
||||||
*planetInfoTable;
|
*planetInfoTable;
|
||||||
@ -332,6 +332,7 @@ main(int argc, char *argv[])
|
|||||||
struct aspect_check_data aspectCheckData;
|
struct aspect_check_data aspectCheckData;
|
||||||
GsweTimestamp *timestamp;
|
GsweTimestamp *timestamp;
|
||||||
GsweMoment *moment;
|
GsweMoment *moment;
|
||||||
|
GswePlanetData *planet_data;
|
||||||
|
|
||||||
#if 1
|
#if 1
|
||||||
year = 1983;
|
year = 1983;
|
||||||
@ -408,13 +409,20 @@ main(int argc, char *argv[])
|
|||||||
|
|
||||||
printf("\nPLANETS AND POINTS\n==================\n\n");
|
printf("\nPLANETS AND POINTS\n==================\n\n");
|
||||||
|
|
||||||
|
// Ascendent
|
||||||
|
planet_data = gswe_moment_get_planet(moment, GSWE_PLANET_ASCENDENT);
|
||||||
|
printf("%s: %s (%f)\n", planet_data->planet_info->name, planet_data->sign->name, planet_data->position);
|
||||||
|
|
||||||
planetInfo = g_new0(planetInfo_t, 1);
|
planetInfo = g_new0(planetInfo_t, 1);
|
||||||
planetInfo->position = ascmc[0];
|
planetInfo->position = ascmc[0];
|
||||||
planetInfo->sign = get_sign(ascmc[0]);
|
planetInfo->sign = get_sign(ascmc[0]);
|
||||||
planetInfo->house = 1;
|
planetInfo->house = 1;
|
||||||
planetInfo->retrograde = FALSE;
|
planetInfo->retrograde = FALSE;
|
||||||
g_hash_table_replace(planetInfoTable, GINT_TO_POINTER(SE_NPLANETS + SE_ASC), planetInfo);
|
g_hash_table_replace(planetInfoTable, GINT_TO_POINTER(SE_NPLANETS + SE_ASC), planetInfo);
|
||||||
printf("Asc.......: %s (%f)\n", signName[planetInfo->sign], planetInfo->position);
|
|
||||||
|
// Midheaven
|
||||||
|
planet_data = gswe_moment_get_planet(moment, GSWE_PLANET_MC);
|
||||||
|
printf("%s: %s (%f)\n", planet_data->planet_info->name, planet_data->sign->name, planet_data->position);
|
||||||
|
|
||||||
planetInfo = g_new0(planetInfo_t, 1);
|
planetInfo = g_new0(planetInfo_t, 1);
|
||||||
planetInfo->position = ascmc[1];
|
planetInfo->position = ascmc[1];
|
||||||
@ -422,7 +430,10 @@ main(int argc, char *argv[])
|
|||||||
planetInfo->house = 10;
|
planetInfo->house = 10;
|
||||||
planetInfo->retrograde = FALSE;
|
planetInfo->retrograde = FALSE;
|
||||||
g_hash_table_replace(planetInfoTable, GINT_TO_POINTER(SE_NPLANETS + SE_MC), planetInfo);
|
g_hash_table_replace(planetInfoTable, GINT_TO_POINTER(SE_NPLANETS + SE_MC), planetInfo);
|
||||||
printf("MC........: %s (%f)\n", signName[planetInfo->sign], planetInfo->position);
|
|
||||||
|
// Vertex
|
||||||
|
planet_data = gswe_moment_get_planet(moment, GSWE_PLANET_VERTEX);
|
||||||
|
printf("%s: %s (%f)\n", planet_data->planet_info->name, planet_data->sign->name, planet_data->position);
|
||||||
|
|
||||||
planetInfo = g_new0(planetInfo_t, 1);
|
planetInfo = g_new0(planetInfo_t, 1);
|
||||||
planetInfo->position = ascmc[3];
|
planetInfo->position = ascmc[3];
|
||||||
@ -430,77 +441,126 @@ main(int argc, char *argv[])
|
|||||||
planetInfo->house = get_house(ascmc[3], cusps);
|
planetInfo->house = get_house(ascmc[3], cusps);
|
||||||
planetInfo->retrograde = FALSE;
|
planetInfo->retrograde = FALSE;
|
||||||
g_hash_table_replace(planetInfoTable, GINT_TO_POINTER(SE_NPLANETS + SE_VERTEX), planetInfo);
|
g_hash_table_replace(planetInfoTable, GINT_TO_POINTER(SE_NPLANETS + SE_VERTEX), planetInfo);
|
||||||
printf("Vertex....: %s (%f)\n", signName[planetInfo->sign], planetInfo->position);
|
|
||||||
|
// Sun
|
||||||
|
planet_data = gswe_moment_get_planet(moment, GSWE_PLANET_SUN);
|
||||||
|
printf("%s: %s, House: %d (%f%s)\n", planet_data->planet_info->name, planet_data->sign->name, planet_data->house, planet_data->position, (planet_data->retrograde) ? ", retrograde" : "");
|
||||||
|
|
||||||
planetInfo = get_planet_info(SE_SUN, te, cusps);
|
planetInfo = get_planet_info(SE_SUN, te, cusps);
|
||||||
g_hash_table_replace(planetInfoTable, GINT_TO_POINTER(SE_SUN), planetInfo);
|
g_hash_table_replace(planetInfoTable, GINT_TO_POINTER(SE_SUN), planetInfo);
|
||||||
printf("Sun.......: %s, House: %d (%f%s)\n", signName[planetInfo->sign], planetInfo->house, planetInfo->position, (planetInfo->retrograde) ? ", retrograde" : "");
|
|
||||||
|
// Moon
|
||||||
|
moon_phase = gswe_moment_get_moon_phase(moment);
|
||||||
|
planet_data = gswe_moment_get_planet(moment, GSWE_PLANET_MOON);
|
||||||
|
printf("%s: %s (%.2f%% visibility), %s, House: %d (%f%s)\n", planet_data->planet_info->name, moonStateName[moon_phase->phase], moon_phase->illumination, planet_data->sign->name, planet_data->house, planet_data->position, (planet_data->retrograde) ? ", retrograde" : "");
|
||||||
|
|
||||||
planetInfo = get_planet_info(SE_MOON, te, cusps);
|
planetInfo = get_planet_info(SE_MOON, te, cusps);
|
||||||
g_hash_table_replace(planetInfoTable, GINT_TO_POINTER(SE_MOON), planetInfo);
|
g_hash_table_replace(planetInfoTable, GINT_TO_POINTER(SE_MOON), planetInfo);
|
||||||
phase = get_moon_phase(year, month, day, hour, min, sec);
|
|
||||||
printf("Moon......: %s (%.2f%% visibility), %s, House: %d (%f%s)\n", moonStateName[phase->phase], phase->visiblePercentage, signName[planetInfo->sign], planetInfo->house, planetInfo->position, (planetInfo->retrograde) ? ", retrograde" : "");
|
// Mercury
|
||||||
g_free(phase);
|
planet_data = gswe_moment_get_planet(moment, GSWE_PLANET_MERCURY);
|
||||||
|
printf("%s: %s, House: %d (%f%s)\n", planet_data->planet_info->name, planet_data->sign->name, planet_data->house, planet_data->position, (planet_data->retrograde) ? ", retrograde" : "");
|
||||||
|
|
||||||
planetInfo = get_planet_info(SE_MERCURY, te, cusps);
|
planetInfo = get_planet_info(SE_MERCURY, te, cusps);
|
||||||
g_hash_table_replace(planetInfoTable, GINT_TO_POINTER(SE_MERCURY), planetInfo);
|
g_hash_table_replace(planetInfoTable, GINT_TO_POINTER(SE_MERCURY), planetInfo);
|
||||||
printf("Mercury...: %s, House: %d (%f%s)\n", signName[planetInfo->sign], planetInfo->house, planetInfo->position, (planetInfo->retrograde) ? ", retrograde" : "");
|
|
||||||
|
// Venus
|
||||||
|
planet_data = gswe_moment_get_planet(moment, GSWE_PLANET_VENUS);
|
||||||
|
printf("%s: %s, House: %d (%f%s)\n", planet_data->planet_info->name, planet_data->sign->name, planet_data->house, planet_data->position, (planet_data->retrograde) ? ", retrograde" : "");
|
||||||
|
|
||||||
planetInfo = get_planet_info (SE_VENUS, te, cusps);
|
planetInfo = get_planet_info (SE_VENUS, te, cusps);
|
||||||
g_hash_table_replace(planetInfoTable, GINT_TO_POINTER(SE_VENUS), planetInfo);
|
g_hash_table_replace(planetInfoTable, GINT_TO_POINTER(SE_VENUS), planetInfo);
|
||||||
printf("Venus.....: %s, House: %d (%f%s)\n", signName[planetInfo->sign], planetInfo->house, planetInfo->position, (planetInfo->retrograde) ? ", retrograde" : "");
|
|
||||||
|
// Mars
|
||||||
|
planet_data = gswe_moment_get_planet(moment, GSWE_PLANET_MARS);
|
||||||
|
printf("%s: %s, House: %d (%f%s)\n", planet_data->planet_info->name, planet_data->sign->name, planet_data->house, planet_data->position, (planet_data->retrograde) ? ", retrograde" : "");
|
||||||
|
|
||||||
planetInfo = get_planet_info(SE_MARS, te, cusps);
|
planetInfo = get_planet_info(SE_MARS, te, cusps);
|
||||||
g_hash_table_replace(planetInfoTable, GINT_TO_POINTER(SE_MARS), planetInfo);
|
g_hash_table_replace(planetInfoTable, GINT_TO_POINTER(SE_MARS), planetInfo);
|
||||||
printf("Mars......: %s, House: %d (%f%s)\n", signName[planetInfo->sign], planetInfo->house, planetInfo->position, (planetInfo->retrograde) ? ", retrograde" : "");
|
|
||||||
|
// Jupiter
|
||||||
|
planet_data = gswe_moment_get_planet(moment, GSWE_PLANET_JUPITER);
|
||||||
|
printf("%s: %s, House: %d (%f%s)\n", planet_data->planet_info->name, planet_data->sign->name, planet_data->house, planet_data->position, (planet_data->retrograde) ? ", retrograde" : "");
|
||||||
|
|
||||||
planetInfo = get_planet_info(SE_JUPITER, te, cusps);
|
planetInfo = get_planet_info(SE_JUPITER, te, cusps);
|
||||||
g_hash_table_replace(planetInfoTable, GINT_TO_POINTER(SE_JUPITER), planetInfo);
|
g_hash_table_replace(planetInfoTable, GINT_TO_POINTER(SE_JUPITER), planetInfo);
|
||||||
printf("Jupiter...: %s, House: %d (%f%s)\n", signName[planetInfo->sign], planetInfo->house, planetInfo->position, (planetInfo->retrograde) ? ", retrograde" : "");
|
|
||||||
|
// Saturn
|
||||||
|
planet_data = gswe_moment_get_planet(moment, GSWE_PLANET_SATURN);
|
||||||
|
printf("%s: %s, House: %d (%f%s)\n", planet_data->planet_info->name, planet_data->sign->name, planet_data->house, planet_data->position, (planet_data->retrograde) ? ", retrograde" : "");
|
||||||
|
|
||||||
planetInfo = get_planet_info(SE_SATURN, te, cusps);
|
planetInfo = get_planet_info(SE_SATURN, te, cusps);
|
||||||
g_hash_table_replace(planetInfoTable, GINT_TO_POINTER(SE_SATURN), planetInfo);
|
g_hash_table_replace(planetInfoTable, GINT_TO_POINTER(SE_SATURN), planetInfo);
|
||||||
printf("Saturn....: %s, House: %d (%f%s)\n", signName[planetInfo->sign], planetInfo->house, planetInfo->position, (planetInfo->retrograde) ? ", retrograde" : "");
|
|
||||||
|
// Uranus
|
||||||
|
planet_data = gswe_moment_get_planet(moment, GSWE_PLANET_URANUS);
|
||||||
|
printf("%s: %s, House: %d (%f%s)\n", planet_data->planet_info->name, planet_data->sign->name, planet_data->house, planet_data->position, (planet_data->retrograde) ? ", retrograde" : "");
|
||||||
|
|
||||||
planetInfo = get_planet_info(SE_URANUS, te, cusps);
|
planetInfo = get_planet_info(SE_URANUS, te, cusps);
|
||||||
g_hash_table_replace(planetInfoTable, GINT_TO_POINTER(SE_URANUS), planetInfo);
|
g_hash_table_replace(planetInfoTable, GINT_TO_POINTER(SE_URANUS), planetInfo);
|
||||||
printf("Uranus....: %s, House: %d (%f%s)\n", signName[planetInfo->sign], planetInfo->house, planetInfo->position, (planetInfo->retrograde) ? ", retrograde" : "");
|
|
||||||
|
// Neptune
|
||||||
|
planet_data = gswe_moment_get_planet(moment, GSWE_PLANET_NEPTUNE);
|
||||||
|
printf("%s: %s, House: %d (%f%s)\n", planet_data->planet_info->name, planet_data->sign->name, planet_data->house, planet_data->position, (planet_data->retrograde) ? ", retrograde" : "");
|
||||||
|
|
||||||
planetInfo = get_planet_info(SE_NEPTUNE, te, cusps);
|
planetInfo = get_planet_info(SE_NEPTUNE, te, cusps);
|
||||||
g_hash_table_replace(planetInfoTable, GINT_TO_POINTER(SE_NEPTUNE), planetInfo);
|
g_hash_table_replace(planetInfoTable, GINT_TO_POINTER(SE_NEPTUNE), planetInfo);
|
||||||
printf("Neptune...: %s, House: %d (%f%s)\n", signName[planetInfo->sign], planetInfo->house, planetInfo->position, (planetInfo->retrograde) ? ", retrograde" : "");
|
|
||||||
|
// Pluto
|
||||||
|
planet_data = gswe_moment_get_planet(moment, GSWE_PLANET_PLUTO);
|
||||||
|
printf("%s: %s, House: %d (%f%s)\n", planet_data->planet_info->name, planet_data->sign->name, planet_data->house, planet_data->position, (planet_data->retrograde) ? ", retrograde" : "");
|
||||||
|
|
||||||
planetInfo = get_planet_info(SE_PLUTO, te, cusps);
|
planetInfo = get_planet_info(SE_PLUTO, te, cusps);
|
||||||
g_hash_table_replace(planetInfoTable, GINT_TO_POINTER(SE_PLUTO), planetInfo);
|
g_hash_table_replace(planetInfoTable, GINT_TO_POINTER(SE_PLUTO), planetInfo);
|
||||||
printf("Pluto.....: %s, House: %d (%f%s)\n", signName[planetInfo->sign], planetInfo->house, planetInfo->position, (planetInfo->retrograde) ? ", retrograde" : "");
|
|
||||||
|
|
||||||
planetInfo = get_planet_info(SE_CHIRON, te, cusps);
|
// Mean node
|
||||||
g_hash_table_replace(planetInfoTable, GINT_TO_POINTER(SE_CHIRON), planetInfo);
|
planet_data = gswe_moment_get_planet(moment, GSWE_PLANET_MOON_NODE);
|
||||||
printf("Chiron....: %s, House: %d (%f%s)\n", signName[planetInfo->sign], planetInfo->house, planetInfo->position, (planetInfo->retrograde) ? ", retrograde" : "");
|
printf("%s: %s, House: %d (%f%s)\n", planet_data->planet_info->name, planet_data->sign->name, planet_data->house, planet_data->position, (planet_data->retrograde) ? ", retrograde" : "");
|
||||||
|
|
||||||
planetInfo = get_planet_info(SE_MEAN_NODE, te, cusps);
|
planetInfo = get_planet_info(SE_MEAN_NODE, te, cusps);
|
||||||
g_hash_table_replace(planetInfoTable, GINT_TO_POINTER(SE_MEAN_NODE), planetInfo);
|
g_hash_table_replace(planetInfoTable, GINT_TO_POINTER(SE_MEAN_NODE), planetInfo);
|
||||||
printf("North Node: %s, House: %d (%f%s)\n", signName[planetInfo->sign], planetInfo->house, planetInfo->position, (planetInfo->retrograde) ? ", retrograde" : "");
|
|
||||||
|
// Mean apogee
|
||||||
|
planet_data = gswe_moment_get_planet(moment, GSWE_PLANET_MOON_APOGEE);
|
||||||
|
printf("%s: %s, House: %d (%f%s)\n", planet_data->planet_info->name, planet_data->sign->name, planet_data->house, planet_data->position, (planet_data->retrograde) ? ", retrograde" : "");
|
||||||
|
|
||||||
planetInfo = get_planet_info(SE_MEAN_APOG, te, cusps);
|
planetInfo = get_planet_info(SE_MEAN_APOG, te, cusps);
|
||||||
g_hash_table_replace(planetInfoTable, GINT_TO_POINTER(SE_MEAN_APOG), planetInfo);
|
g_hash_table_replace(planetInfoTable, GINT_TO_POINTER(SE_MEAN_APOG), planetInfo);
|
||||||
printf("Dark Moon.: %s, House: %d (%f%s)\n", signName[planetInfo->sign], planetInfo->house, planetInfo->position, (planetInfo->retrograde) ? ", retrograde" : "");
|
|
||||||
|
// Chiron
|
||||||
|
planet_data = gswe_moment_get_planet(moment, GSWE_PLANET_CHIRON);
|
||||||
|
printf("%s: %s, House: %d (%f%s)\n", planet_data->planet_info->name, planet_data->sign->name, planet_data->house, planet_data->position, (planet_data->retrograde) ? ", retrograde" : "");
|
||||||
|
|
||||||
|
planetInfo = get_planet_info(SE_CHIRON, te, cusps);
|
||||||
|
g_hash_table_replace(planetInfoTable, GINT_TO_POINTER(SE_CHIRON), planetInfo);
|
||||||
|
|
||||||
|
// Ceres
|
||||||
|
planet_data = gswe_moment_get_planet(moment, GSWE_PLANET_CERES);
|
||||||
|
printf("%s: %s, House: %d (%f%s)\n", planet_data->planet_info->name, planet_data->sign->name, planet_data->house, planet_data->position, (planet_data->retrograde) ? ", retrograde" : "");
|
||||||
|
|
||||||
planetInfo = get_planet_info(SE_CERES, te, cusps);
|
planetInfo = get_planet_info(SE_CERES, te, cusps);
|
||||||
g_hash_table_replace(planetInfoTable, GINT_TO_POINTER(SE_CERES), planetInfo);
|
g_hash_table_replace(planetInfoTable, GINT_TO_POINTER(SE_CERES), planetInfo);
|
||||||
printf("Ceres.....: %s, House: %d (%f%s)\n", signName[planetInfo->sign], planetInfo->house, planetInfo->position, (planetInfo->retrograde) ? ", retrograde" : "");
|
|
||||||
|
// Pallas
|
||||||
|
planet_data = gswe_moment_get_planet(moment, GSWE_PLANET_PALLAS);
|
||||||
|
printf("%s: %s, House: %d (%f%s)\n", planet_data->planet_info->name, planet_data->sign->name, planet_data->house, planet_data->position, (planet_data->retrograde) ? ", retrograde" : "");
|
||||||
|
|
||||||
planetInfo = get_planet_info(SE_PALLAS, te, cusps);
|
planetInfo = get_planet_info(SE_PALLAS, te, cusps);
|
||||||
g_hash_table_replace(planetInfoTable, GINT_TO_POINTER(SE_PALLAS), planetInfo);
|
g_hash_table_replace(planetInfoTable, GINT_TO_POINTER(SE_PALLAS), planetInfo);
|
||||||
printf("Pallas....: %s, House: %d (%f%s)\n", signName[planetInfo->sign], planetInfo->house, planetInfo->position, (planetInfo->retrograde) ? ", retrograde" : "");
|
|
||||||
|
// Juno
|
||||||
|
planet_data = gswe_moment_get_planet(moment, GSWE_PLANET_JUNO);
|
||||||
|
printf("%s: %s, House: %d (%f%s)\n", planet_data->planet_info->name, planet_data->sign->name, planet_data->house, planet_data->position, (planet_data->retrograde) ? ", retrograde" : "");
|
||||||
|
|
||||||
planetInfo = get_planet_info(SE_JUNO, te, cusps);
|
planetInfo = get_planet_info(SE_JUNO, te, cusps);
|
||||||
g_hash_table_replace(planetInfoTable, GINT_TO_POINTER(SE_JUNO), planetInfo);
|
g_hash_table_replace(planetInfoTable, GINT_TO_POINTER(SE_JUNO), planetInfo);
|
||||||
printf("Juno......: %s, House: %d (%f%s)\n", signName[planetInfo->sign], planetInfo->house, planetInfo->position, (planetInfo->retrograde) ? ", retrograde" : "");
|
|
||||||
|
// Vesta
|
||||||
|
planet_data = gswe_moment_get_planet(moment, GSWE_PLANET_VESTA);
|
||||||
|
printf("%s: %s, House: %d (%f%s)\n", planet_data->planet_info->name, planet_data->sign->name, planet_data->house, planet_data->position, (planet_data->retrograde) ? ", retrograde" : "");
|
||||||
|
|
||||||
planetInfo = get_planet_info(SE_VESTA, te, cusps);
|
planetInfo = get_planet_info(SE_VESTA, te, cusps);
|
||||||
g_hash_table_replace(planetInfoTable, GINT_TO_POINTER(SE_VESTA), planetInfo);
|
g_hash_table_replace(planetInfoTable, GINT_TO_POINTER(SE_VESTA), planetInfo);
|
||||||
printf("Vesta.....: %s, House: %d (%f%s)\n", signName[planetInfo->sign], planetInfo->house, planetInfo->position, (planetInfo->retrograde) ? ", retrograde" : "");
|
|
||||||
|
|
||||||
printf("\nELEMENTS\n========\n\n");
|
printf("\nELEMENTS\n========\n\n");
|
||||||
|
|
||||||
|
@ -130,66 +130,3 @@ get_sign(double pos)
|
|||||||
return (int)ceilf(pos / 30.0);
|
return (int)ceilf(pos / 30.0);
|
||||||
}
|
}
|
||||||
|
|
||||||
moonPhase *
|
|
||||||
get_moon_phase(gint year, gint month, gint day, gint hour, gint min, gint sec)
|
|
||||||
{
|
|
||||||
GDateTime *baseDate,
|
|
||||||
*gds;
|
|
||||||
GTimeSpan diff;
|
|
||||||
gdouble phasePercent,
|
|
||||||
realPercent;
|
|
||||||
moonState state;
|
|
||||||
moonPhase *ret;
|
|
||||||
|
|
||||||
baseDate = g_date_time_new_utc(2005, 5, 8, 8, 48, 0);
|
|
||||||
// TODO: this should use the time zone used at the birth place
|
|
||||||
gds = g_date_time_new_local(year, month, day, 0, 0, 0);
|
|
||||||
diff = g_date_time_difference(gds, baseDate) / 1000;
|
|
||||||
|
|
||||||
g_date_time_unref(gds);
|
|
||||||
g_date_time_unref(baseDate);
|
|
||||||
|
|
||||||
// The current phase of the moon, between 0 and 100 (both 0 and 100 are new moon, 50 is full moon)
|
|
||||||
phasePercent = fmod((diff * 100) / (SYNODIC * MSPERDAY), 100);
|
|
||||||
|
|
||||||
if (phasePercent < 0) {
|
|
||||||
phasePercent += 100.0;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ((phasePercent < 0) || (phasePercent > 100)) {
|
|
||||||
fprintf(stderr, "Error during moon phase calculation!\n");
|
|
||||||
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
// The real percentage is a number around the illumination percentage of the moon
|
|
||||||
realPercent = (50.0 - fabs(phasePercent - 50.0)) * 2;
|
|
||||||
|
|
||||||
// Uuuugly!
|
|
||||||
if (phasePercent == 0) {
|
|
||||||
state = MOON_STATE_NEW;
|
|
||||||
} else if (phasePercent < 25) {
|
|
||||||
state = MOON_STATE_WAXING_CRESCENT;
|
|
||||||
} else if (phasePercent == 25) {
|
|
||||||
state = MOON_STATE_WAXING_HALF;
|
|
||||||
} else if (phasePercent < 50) {
|
|
||||||
state = MOON_STATE_WAXING_GIBBOUS;
|
|
||||||
} else if (phasePercent == 50) {
|
|
||||||
state = MOON_STATE_FULL;
|
|
||||||
} else if (phasePercent < 75) {
|
|
||||||
state = MOON_STATE_WANING_GIBBOUS;
|
|
||||||
} else if (phasePercent == 75) {
|
|
||||||
state = MOON_STATE_WANING_HALF;
|
|
||||||
} else if (phasePercent < 100) {
|
|
||||||
state = MOON_STATE_WANING_CRESCENT;
|
|
||||||
} else {
|
|
||||||
state = MOON_STATE_DARK;
|
|
||||||
}
|
|
||||||
|
|
||||||
ret = g_new0(moonPhase, 1);
|
|
||||||
ret->phase = state;
|
|
||||||
ret->visiblePercentage = realPercent;
|
|
||||||
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
@ -72,4 +72,3 @@ guint get_house(gdouble position, gdouble cusps[]);
|
|||||||
planetInfo_t *get_planet_info(int32 planetNo, double date, double cusps[]);
|
planetInfo_t *get_planet_info(int32 planetNo, double date, double cusps[]);
|
||||||
int set_location_and_time(double lon, double lat, double alt, int year, int month, int day, int hour, int min, double sec, double d_timezone, double *jd);
|
int set_location_and_time(double lon, double lat, double alt, int year, int month, int day, int hour, int min, double sec, double d_timezone, double *jd);
|
||||||
long int get_sign(double pos);
|
long int get_sign(double pos);
|
||||||
moonPhase *get_moon_phase(gint year, gint month, gint day, gint hour, gint min, gint sec);
|
|
||||||
|
Loading…
Reference in New Issue
Block a user