Compare commits
112 Commits
v2.0.3
...
arabic-lot
Author | SHA1 | Date | |
---|---|---|---|
316e6884f4 | |||
c0711d512d | |||
aed102ea11 | |||
ae1ba0a5e9 | |||
b3d335259c | |||
eedcc3fb3a | |||
b3345b1cd7 | |||
230ec75043 | |||
da90330152 | |||
92f3b7e957 | |||
f4b6bfe37d | |||
7b3a1ddeaf | |||
e394ffa15e | |||
dbfb734b1f | |||
a006498281 | |||
258dcc8356 | |||
9da6941f0a | |||
d87f5e98f7 | |||
e854485da3 | |||
5dc7240420 | |||
93d0fd68aa | |||
064d39b970 | |||
0886396879 | |||
27338c465f | |||
1c14b451fd | |||
6187d45177 | |||
b4612e1e89 | |||
a8844a3ed8 | |||
2a615e44c8 | |||
e850018d62 | |||
34ded1881f | |||
02703b7045 | |||
efa7b7fab3 | |||
bf5a839511 | |||
4d5866b405 | |||
714f3dbcb0 | |||
68351b2177 | |||
9b47d216e3 | |||
121357e863 | |||
|
fc1a6328f1 | ||
|
5b7124aca5 | ||
c461b743e4 | |||
|
c03f1eac6a | ||
820a41cb8f | |||
185c235b6b | |||
bf4fad5388 | |||
2dd4ea1ca7 | |||
46b6b86f88 | |||
0b190d47d0 | |||
385458d655 | |||
5b61a42976 | |||
9991269c8e | |||
b34fc1c8a0 | |||
510e440ef4 | |||
188a12d1ee | |||
a3a1dd0bd4 | |||
f21ce84b17 | |||
06fce9c9d5 | |||
366155b835 | |||
b981ed1b3b | |||
68994b8cb5 | |||
c9e382d04b | |||
fbc5a4e922 | |||
b77aae9f5c | |||
e16c4eca70 | |||
c10881fff1 | |||
aae1f06ed7 | |||
8bf5a49c4b | |||
68b46d2aee | |||
e621a2eda2 | |||
600712c901 | |||
dca2071c88 | |||
cb9cf3a4ce | |||
1225c5c8ed | |||
0caebd4f94 | |||
80b5da88a3 | |||
d5bea25e4d | |||
95e89a4c25 | |||
cb1fa1f67a | |||
078ff3370d | |||
66c8c3371c | |||
d2638adf8a | |||
4b61c453fd | |||
105cf7c83b | |||
8adfd0b966 | |||
8dd6eedb88 | |||
89baa44005 | |||
a50a967ad3 | |||
75a9318629 | |||
8a5d700d93 | |||
95face8294 | |||
fbf341dcec | |||
784987a2b6 | |||
07a351c373 | |||
55621bc25d | |||
a120b22861 | |||
c9a0944504 | |||
9d7eedb371 | |||
cd36bafe9c | |||
d3e4443922 | |||
6a69271007 | |||
b6071a4e46 | |||
21298fb219 | |||
243eac9de8 | |||
97dceeb45c | |||
45833584b7 | |||
26dcd74338 | |||
3296f9dfce | |||
eec99bcb05 | |||
de5ac1b63b | |||
97df73c64f | |||
2d75226310 |
9
.gitignore
vendored
9
.gitignore
vendored
@@ -14,6 +14,7 @@
|
|||||||
/.dirstamp
|
/.dirstamp
|
||||||
*.gir
|
*.gir
|
||||||
*.typelib
|
*.typelib
|
||||||
|
*.gschema.valid
|
||||||
ChangeLog
|
ChangeLog
|
||||||
|
|
||||||
# Files created by the build tools
|
# Files created by the build tools
|
||||||
@@ -56,7 +57,11 @@ Makefile.in
|
|||||||
/tests/*-test
|
/tests/*-test
|
||||||
/tests/*-test.log
|
/tests/*-test.log
|
||||||
/tests/*-test.trs
|
/tests/*-test.trs
|
||||||
/tests/test-suite.log
|
/swe-glib-lcov*
|
||||||
|
test-suite.log
|
||||||
|
*.gcno
|
||||||
|
*.gcda
|
||||||
|
*.gcov
|
||||||
|
|
||||||
# Translation related files
|
# Translation related files
|
||||||
/ABOUT-NLS
|
/ABOUT-NLS
|
||||||
@@ -89,6 +94,8 @@ Makefile.in
|
|||||||
/data/swe-glib.pc
|
/data/swe-glib.pc
|
||||||
/data/swe-glib.spec
|
/data/swe-glib.spec
|
||||||
/src/*.vapi
|
/src/*.vapi
|
||||||
|
/src/gswe-version.h
|
||||||
|
/data/*.gschema.xml
|
||||||
|
|
||||||
# Documentation related files
|
# Documentation related files
|
||||||
/docs/reference/*/*.args
|
/docs/reference/*/*.args
|
||||||
|
18
.travis.yml
18
.travis.yml
@@ -1,3 +1,17 @@
|
|||||||
|
sudo: false
|
||||||
language: c
|
language: c
|
||||||
install: sudo apt-get install libglib2.0-dev gobject-introspection gnome-common && ./autogen.sh
|
addons:
|
||||||
script: ./configure && make && make check
|
apt:
|
||||||
|
packages:
|
||||||
|
- libglib2.0-dev
|
||||||
|
- gobject-introspection
|
||||||
|
- gnome-common
|
||||||
|
- autopoint
|
||||||
|
before_script: ./autogen.sh
|
||||||
|
script:
|
||||||
|
- make
|
||||||
|
- make check
|
||||||
|
before_install:
|
||||||
|
- pip install --user codecov
|
||||||
|
after_success:
|
||||||
|
- codecov
|
||||||
|
@@ -1,3 +1,5 @@
|
|||||||
|
include $(top_srcdir)/swe-glib.mk
|
||||||
|
|
||||||
ACLOCAL_AMFLAGS = -I m4
|
ACLOCAL_AMFLAGS = -I m4
|
||||||
SUBDIRS = swe swe/src swe/doc src po data tests
|
SUBDIRS = swe swe/src swe/doc src po data tests
|
||||||
|
|
||||||
@@ -9,11 +11,11 @@ DISTCHECK_CONFIGURE_FLAGS = --enable-gtk-doc
|
|||||||
|
|
||||||
intltool_extra = intltool-extract.in intltool-merge.in intltool-update.in
|
intltool_extra = intltool-extract.in intltool-merge.in intltool-update.in
|
||||||
|
|
||||||
EXTRA_DIST = $(intltool_extra) $(header_DATA) autogen.sh
|
EXTRA_DIST += $(intltool_extra) $(header_DATA) autogen.sh
|
||||||
|
|
||||||
DISTCLEANFILES = intltool-extract intltool-merge intltool-update
|
DISTCLEANFILES += intltool-extract intltool-merge intltool-update
|
||||||
|
|
||||||
MAINTAINERCLEANFILES = ChangeLog
|
MAINTAINERCLEANFILES += ChangeLog
|
||||||
|
|
||||||
distclean-local:
|
distclean-local:
|
||||||
if test "$(srcdir)" = "."; then :; else \
|
if test "$(srcdir)" = "."; then :; else \
|
||||||
|
81
README.md
81
README.md
@@ -1,22 +1,37 @@
|
|||||||
# SWE-GLib
|
# SWE-GLib
|
||||||
|
|
||||||
SWE-GLib is a GLib style wrapper library around Astrodienst's [Swiss Ephemeris library](http://www.astro.com/swisseph/).
|
[](https://travis-ci.org/gergelypolonkai/swe-glib)
|
||||||
|
[](https://codecov.io/github/gergelypolonkai/swe-glib?branch=master)
|
||||||
|
|
||||||
The source tree contains Astrodienst's ephemeride files, as requested by Alois Treindl of Astrodienst in a mail written to me on 24 July, 2013.
|
SWE-GLib is a GLib style wrapper library around Astrodienst's
|
||||||
|
[Swiss Ephemeris library](http://www.astro.com/swisseph/).
|
||||||
|
|
||||||
|
The source tree contains Astrodienst's ephemeride files, as requested
|
||||||
|
by Alois Treindl of Astrodienst in a mail written to me on 24 July,
|
||||||
|
2013.
|
||||||
|
|
||||||
## GTK-Doc
|
## GTK-Doc
|
||||||
|
|
||||||
The project utilizes [GTK-Doc](http://www.gtk.org/gtk-doc/), requiring version 1.19 or later. Although the generated documentation is a bit messy (not everything is documented, and there are some unresolved variables, like [SERVER] on the generated index page.
|
The project utilizes [GTK-Doc](http://www.gtk.org/gtk-doc/), requiring
|
||||||
|
version 1.19 or later. Although the generated documentation is a bit
|
||||||
|
messy (not everything is documented, and there are some unresolved
|
||||||
|
variables, like [SERVER] on the generated index page.
|
||||||
|
|
||||||
Still, the documentation generates well, and at least gives a clue about object usage.
|
Still, the documentation generates well, and at least gives a clue
|
||||||
|
about object usage.
|
||||||
|
|
||||||
## Bindings
|
## Bindings
|
||||||
|
|
||||||
SWE-GLib utilizes [GObject Introspection](https://wiki.gnome.org/GObjectIntrospection), which means it is available for many languages. Check out the [examples](examples) directory for some sample code!
|
SWE-GLib utilizes
|
||||||
|
[GObject Introspection](https://wiki.gnome.org/GObjectIntrospection),
|
||||||
|
which means it is available for many languages. Check out the
|
||||||
|
[examples](examples) directory for some sample code!
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
|
|
||||||
Many functions return non-opaque C structs; their documentation can be found inline, and in the generated GTK-Doc. Unless otherwise stated, the returned values should never be freed.
|
Many functions return non-opaque C structs; their documentation can be
|
||||||
|
found inline, and in the generated GTK-Doc. Unless otherwise stated,
|
||||||
|
the returned values should never be freed.
|
||||||
|
|
||||||
### Creating the required objects
|
### Creating the required objects
|
||||||
|
|
||||||
@@ -67,11 +82,13 @@ GList *sun_aspects = gswe_moment_get_planet_aspects(moment, GSWE_PLANET_SUN);
|
|||||||
GList *sun_antiscia = gswe_moment_get_planet_antiscia(moment, GSWE_PLANET_SUN);
|
GList *sun_antiscia = gswe_moment_get_planet_antiscia(moment, GSWE_PLANET_SUN);
|
||||||
```
|
```
|
||||||
|
|
||||||
The returned GList objects hold zero or more `GsweAspectData` or `GsweAntiscionData` objects, respectively.
|
The returned GList objects hold zero or more `GsweAspectData` or
|
||||||
|
`GsweAntiscionData` objects, respectively.
|
||||||
|
|
||||||
### Getting the Moon phase
|
### Getting the Moon phase
|
||||||
|
|
||||||
Last, but not least, SWE-GLib can calculate Moon's phase at the given moment. For that, you have to call `gswe_moment_get_moon_phase()`:
|
Last, but not least, SWE-GLib can calculate Moon's phase at the given
|
||||||
|
moment. For that, you have to call `gswe_moment_get_moon_phase()`:
|
||||||
|
|
||||||
```c
|
```c
|
||||||
GsweMoonPhaseData *moon_phase = gswe_moment_get_moon_phase(moment);
|
GsweMoonPhaseData *moon_phase = gswe_moment_get_moon_phase(moment);
|
||||||
@@ -79,34 +96,60 @@ GsweMoonPhaseData *moon_phase = gswe_moment_get_moon_phase(moment);
|
|||||||
|
|
||||||
### About altitude
|
### About altitude
|
||||||
|
|
||||||
The Swiss Ephemeris library requires the altitude value to be specified for several calculations. It also notifies how important it is:
|
The Swiss Ephemeris library requires the altitude value to be
|
||||||
|
specified for several calculations. It also notifies how important it
|
||||||
|
is:
|
||||||
|
|
||||||
> the altitude above sea must be in meters. Neglecting the altitude can result in an error of about 2 arc seconds with the moon and at an altitude 3000m.
|
> the altitude above sea must be in meters. Neglecting the altitude
|
||||||
|
> can result in an error of about 2 arc seconds with the moon and at
|
||||||
|
> an altitude 3000m.
|
||||||
|
|
||||||
2 arc seconds is about 0.000555 degrees of error, which is, well, kind of small. Of course, if you need very precise horoscopes or need planetary positions for a totally different thing, you should really provide a (close to) exact value; otherwise, it is safe to pass any value (well, which seems logical: the average level of all dry lands is about 840 meters; the average level of the whole planet Earth (including oceans and seas) is around 280 meters. Providing a value of ~400 should be OK most of the time).
|
2 arc seconds is about 0.000555 degrees of error, which is, well, kind
|
||||||
|
of small. Of course, if you need very precise horoscopes or need
|
||||||
|
planetary positions for a totally different thing, you should really
|
||||||
|
provide a (close to) exact value; otherwise, it is safe to pass any
|
||||||
|
value (well, which seems logical: the average level of all dry lands
|
||||||
|
is about 840 meters; the average level of the whole planet Earth
|
||||||
|
(including oceans and seas) is around 280 meters. Providing a value of
|
||||||
|
~400 should be OK most of the time).
|
||||||
|
|
||||||
## API stability
|
## API stability
|
||||||
|
|
||||||
The project is currently transitioning to 2.0. master is a bit fragile at the moment, 1.x versions are considered to be stable (although see commit 8f52aba about a huge typo-bug).
|
The project is currently transitioning to 2.0. master is a bit fragile
|
||||||
|
at the moment, 1.x versions are considered to be stable (although see
|
||||||
|
commit 8f52aba about a huge typo-bug).
|
||||||
|
|
||||||
## Limitations
|
## Limitations
|
||||||
|
|
||||||
### Topocentric calculations only
|
### Topocentric calculations only
|
||||||
|
|
||||||
Although the original Swiss Ephemeris library supports it, SWE-GLib can't do Heliocentric, nor Geocentric (as seen from the center of Earth) calculations, only Topocentric (as seen from a given point on Earth"s surface) calculations yet.
|
Although the original Swiss Ephemeris library supports it, SWE-GLib
|
||||||
|
can't do Heliocentric, nor Geocentric (as seen from the center of
|
||||||
|
Earth) calculations, only Topocentric (as seen from a given point on
|
||||||
|
Earth’s surface) calculations yet.
|
||||||
|
|
||||||
### Database size
|
### Database size
|
||||||
|
|
||||||
The size of all data files provided by Astrodienst is around 40MB. Although it should not be a problem with today's home hardware, it can be a hard requirement on embedded systems. For basic calculations, keeping the following files under $(datadir)/swe-glib is usually enough:
|
The size of all data files provided by Astrodienst is around
|
||||||
|
40MB. Although it should not be a problem with today's home hardware,
|
||||||
|
it can be a hard requirement on embedded systems. For basic
|
||||||
|
calculations, keeping the following files under $(datadir)/swe-glib is
|
||||||
|
usually enough:
|
||||||
|
|
||||||
* seas_18.se1
|
* `seas_18.se1`
|
||||||
* semo_18.se1
|
* `semo_18.se1`
|
||||||
* sepl_18.se1
|
* `sepl_18.se1`
|
||||||
|
|
||||||
### Fixed stars are not known yet
|
### Fixed stars are not known yet
|
||||||
|
|
||||||
Although Swiss Ephemeris has the functionality to calculate the position of fixed stars, SWE-GLib doesn't provide such functionality. This, however, is a planned feature for the close future.
|
Although Swiss Ephemeris has the functionality to calculate the
|
||||||
|
position of fixed stars, SWE-GLib doesn't provide such
|
||||||
|
functionality. This, however, is a planned feature for the close
|
||||||
|
future.
|
||||||
|
|
||||||
## Licencing
|
## Licencing
|
||||||
|
|
||||||
As the underlying Swiss Ephemeris is published under GPL (or a commercial license I can not afford), SWE-GLib is also uses that. This means that you can currently use SWE-GLib in software published under the GNU GPL v3.
|
As the underlying Swiss Ephemeris is published under GPL (or a
|
||||||
|
commercial license I can not afford), SWE-GLib is also uses that. This
|
||||||
|
means that you can currently use SWE-GLib in software published under
|
||||||
|
the GNU GPL v3 (or, at your option, any later version).
|
||||||
|
@@ -59,3 +59,5 @@ fi
|
|||||||
echo "Running automake"
|
echo "Running automake"
|
||||||
automake --gnu --add-missing --copy -Wno-portability || exit $?
|
automake --gnu --add-missing --copy -Wno-portability || exit $?
|
||||||
|
|
||||||
|
"$srcdir/configure" "$@"
|
||||||
|
|
||||||
|
101
configure.ac
101
configure.ac
@@ -1,14 +1,24 @@
|
|||||||
m4_define([swe_glib_major_version], [2])
|
m4_define([swe_glib_major_version], [2])
|
||||||
m4_define([swe_glib_minor_version], [0])
|
m4_define([swe_glib_minor_version], [1])
|
||||||
m4_define([swe_glib_micro_version], [3])
|
m4_define([swe_glib_micro_version], [0])
|
||||||
m4_define([swe_glib_version], [swe_glib_major_version.swe_glib_minor_version.swe_glib_micro_version])
|
m4_define([swe_glib_version], [swe_glib_major_version.swe_glib_minor_version.swe_glib_micro_version])
|
||||||
m4_define([swe_glib_api_version], [swe_glib_major_version.0])
|
m4_define([swe_glib_api_version], [swe_glib_major_version.0])
|
||||||
|
m4_define([swe_major_version], [2])
|
||||||
|
m4_define([swe_minor_version], [0])
|
||||||
|
m4_define([swe_version], [swe_major_version.swe_minor_version])
|
||||||
|
|
||||||
AC_INIT([SWE-GLib], [swe_glib_version], [gergely@polonkai.eu], [swe-glib])
|
AC_INIT([SWE-GLib], [swe_glib_version], [gergely@polonkai.eu], [swe-glib])
|
||||||
AM_INIT_AUTOMAKE([-Wall foreign])
|
AM_INIT_AUTOMAKE([-Wall foreign])
|
||||||
AC_CONFIG_HEADERS([config.h])
|
AC_CONFIG_HEADERS([config.h])
|
||||||
AM_SILENT_RULES([yes])
|
AM_SILENT_RULES([yes])
|
||||||
AC_ARG_ENABLE(debug, [AC_HELP_STRING([--enable-debug], [compile with debugging support])], , enable_debug=no)
|
|
||||||
|
dnl ********************************
|
||||||
|
dnl *** Enable debugging support ***
|
||||||
|
dnl ********************************
|
||||||
|
AC_ARG_ENABLE(debug,
|
||||||
|
AC_HELP_STRING([--enable-debug],
|
||||||
|
[compile with debugging support]),
|
||||||
|
[enable_debug=$enableval], [enable_debug=no])
|
||||||
|
|
||||||
if test "x$enable_debug" = "xyes" ; then
|
if test "x$enable_debug" = "xyes" ; then
|
||||||
AC_DEFINE([DEBUG], [1], [Define if debugging is enabled])
|
AC_DEFINE([DEBUG], [1], [Define if debugging is enabled])
|
||||||
@@ -26,6 +36,7 @@ AC_SUBST([SWE_GLIB_MICRO_VERSION], [swe_glib_micro_version])
|
|||||||
AC_SUBST([SWE_GLIB_VERSION], [swe_glib_version])
|
AC_SUBST([SWE_GLIB_VERSION], [swe_glib_version])
|
||||||
AC_SUBST([SWE_GLIB_API_VERSION], [swe_glib_api_version])
|
AC_SUBST([SWE_GLIB_API_VERSION], [swe_glib_api_version])
|
||||||
AC_SUBST([SWE_GLIB_API_VERSION_U], [AS_TR_SH([swe_glib_api_version])])
|
AC_SUBST([SWE_GLIB_API_VERSION_U], [AS_TR_SH([swe_glib_api_version])])
|
||||||
|
AC_SUBST([SWE_VERSION], [swe_version])
|
||||||
|
|
||||||
AC_PROG_CC
|
AC_PROG_CC
|
||||||
AM_PROG_CC_C_O
|
AM_PROG_CC_C_O
|
||||||
@@ -64,11 +75,92 @@ AM_CONDITIONAL(OS_WIN32, [test "$native_win32" = "yes"])
|
|||||||
AM_CONDITIONAL(OS_UNIX, [test "$native_win32" != "yes"])
|
AM_CONDITIONAL(OS_UNIX, [test "$native_win32" != "yes"])
|
||||||
AC_PATH_PROG([GTESTER], [gtester])
|
AC_PATH_PROG([GTESTER], [gtester])
|
||||||
AC_PATH_PROG([GTESTER_REPORT], [gtester-report])
|
AC_PATH_PROG([GTESTER_REPORT], [gtester-report])
|
||||||
|
|
||||||
|
dnl ************************************
|
||||||
|
dnl *** Enable lcov coverage reports ***
|
||||||
|
dnl ************************************
|
||||||
|
|
||||||
|
AC_ARG_ENABLE(coverage,
|
||||||
|
AS_HELP_STRING([--enable-coverage],
|
||||||
|
[enable coverage testing with gcov]),
|
||||||
|
[use_gcov=$enableval], [use_gcov=no])
|
||||||
|
|
||||||
|
AS_IF([ test "x$use_gcov" = "xyes"], [
|
||||||
|
dnl we need gcc:
|
||||||
|
if test "$GCC" != "yes"; then
|
||||||
|
AC_MSG_ERROR([GCC is required for --enable-coverage])
|
||||||
|
fi
|
||||||
|
|
||||||
|
dnl Check if ccache is being used
|
||||||
|
AC_CHECK_PROG(SHTOOL, shtool, shtool)
|
||||||
|
case `$SHTOOL path $CC` in
|
||||||
|
*ccache*[)] gcc_ccache=yes;;
|
||||||
|
*[)] gcc_ccache=no;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
if test "$gcc_ccache" = "yes" && (test -z "$CCACHE_DISABLE" || test "$CCACHE_DISABLE" != "1"); then
|
||||||
|
AC_MSG_ERROR([ccache must be disabled when --enable-coverage option is used. You can disable ccache by setting environment variable CCACHE_DISABLE=1.])
|
||||||
|
fi
|
||||||
|
|
||||||
|
ltp_version_list="1.6 1.7 1.8 1.9 1.10"
|
||||||
|
AC_CHECK_PROG(LTP, lcov, lcov)
|
||||||
|
AC_CHECK_PROG(LTP_GENHTML, genhtml, genhtml)
|
||||||
|
|
||||||
|
AS_IF([ test "$LTP" ], [
|
||||||
|
AC_CACHE_CHECK([for ltp version], sw_glib_cv_ltp_version, [
|
||||||
|
swe_glib_cv_ltp_version=invalid
|
||||||
|
ltp_version=`$LTP -v 2>/dev/null | $SED -e 's/^.* //'`
|
||||||
|
for ltp_check_version in $ltp_version_list; do
|
||||||
|
if test "$ltp_version" = "$ltp_check_version"; then
|
||||||
|
swe_glib_cv_ltp_version="$ltp_check_version (ok)"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
])
|
||||||
|
], [
|
||||||
|
ltp_msg="To enable code coverage reporting you must have one of the following LTP versions installed: $ltp_version_list"
|
||||||
|
AC_MSG_ERROR([$ltp_msg])
|
||||||
|
])
|
||||||
|
|
||||||
|
case $swe_glib_cv_ltp_version in
|
||||||
|
""|invalid[)]
|
||||||
|
ltp_msg="You must have one of the following versions of LTP: $ltp_version_list (found: $ltp_version)."
|
||||||
|
AC_MSG_ERROR([$ltp_msg])
|
||||||
|
LTP="exit 0;"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
if test -z "$LTP_GENHTML"; then
|
||||||
|
AC_MSG_ERROR([Could not find genhtml from the LTP package])
|
||||||
|
fi
|
||||||
|
|
||||||
|
dnl Remove all optimization flags from CFLAGS
|
||||||
|
changequote({,})
|
||||||
|
CFLAGS=`echo "$CFLAGS" | $SED -e 's/-O[0-9]*//g'`
|
||||||
|
changequote([,])
|
||||||
|
|
||||||
|
dnl Add the special gcc flags
|
||||||
|
CFLAGS="$CFLAGS -O0 -fprofile-arcs -ftest-coverage"
|
||||||
|
LDFLAGS="$LDFLAGS -lgcov"
|
||||||
|
])
|
||||||
|
|
||||||
|
if test "x$enable_debug" = "xyes" ; then
|
||||||
|
AC_DEFINE([DEBUG], [1], [Define if debugging is enabled])
|
||||||
|
if test x$cflags_set != xset ; then
|
||||||
|
case " $CFLAGS " in
|
||||||
|
*[[\ \ ]]-g[[\ \ ]]*) ;;
|
||||||
|
*) CFLAGS="$CFLAGS -g" ;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
PKG_CHECK_MODULES([GLIB], [glib-2.0 >= 2.32.0])
|
PKG_CHECK_MODULES([GLIB], [glib-2.0 >= 2.32.0])
|
||||||
PKG_CHECK_MODULES([GOBJECT], [gobject-2.0 >= 2.32.0])
|
PKG_CHECK_MODULES([GOBJECT], [gobject-2.0 >= 2.32.0])
|
||||||
|
PKG_CHECK_MODULES([GIO], [gio-2.0 >= 2.26])
|
||||||
|
|
||||||
|
GLIB_GSETTINGS
|
||||||
AC_CONFIG_MACRO_DIR([m4])
|
AC_CONFIG_MACRO_DIR([m4])
|
||||||
|
|
||||||
LIBSWE_LIBS='$(top_builddir)/swe/src/libswe-1.76.la'
|
LIBSWE_LIBS='$(top_builddir)/swe/src/libswe-$(SWE_VERSION).la'
|
||||||
AC_SUBST(LIBSWE_LIBS)
|
AC_SUBST(LIBSWE_LIBS)
|
||||||
|
|
||||||
LIBSWE_GLIB_LIBS='$(top_builddir)/src/libswe-glib-$(SWE_GLIB_API_VERSION).la'
|
LIBSWE_GLIB_LIBS='$(top_builddir)/src/libswe-glib-$(SWE_GLIB_API_VERSION).la'
|
||||||
@@ -85,6 +177,7 @@ AC_CONFIG_FILES([
|
|||||||
tests/Makefile
|
tests/Makefile
|
||||||
data/swe-glib.pc
|
data/swe-glib.pc
|
||||||
data/swe-glib.spec
|
data/swe-glib.spec
|
||||||
|
src/gswe-version.h
|
||||||
])
|
])
|
||||||
AM_COND_IF([ENABLE_GTK_DOC], [
|
AM_COND_IF([ENABLE_GTK_DOC], [
|
||||||
AC_CONFIG_FILES([
|
AC_CONFIG_FILES([
|
||||||
|
@@ -1,6 +1,14 @@
|
|||||||
pkgconfigdir = $(libdir)/pkgconfig
|
pkgconfigdir = $(libdir)/pkgconfig
|
||||||
pkgconfig_DATA = swe-glib.pc $(NULL)
|
pkgconfig_DATA = swe-glib.pc $(NULL)
|
||||||
|
|
||||||
|
eu.polonkai.gergely.swe-glib.gschema.xml: gschema.template $(top_builddir)/src/gswe-types.h
|
||||||
|
$(GLIB_MKENUMS) --comments "<!-- @comment@ -->" --template $(filter %.template,$^) $(filter-out %.template,$^) > \
|
||||||
|
$@.tmp && mv $@.tmp $@
|
||||||
|
|
||||||
|
gsettings_SCHEMAS = eu.polonkai.gergely.swe-glib.gschema.xml
|
||||||
|
|
||||||
|
@GSETTINGS_RULES@
|
||||||
|
|
||||||
swephdir = $(pkgdatadir)
|
swephdir = $(pkgdatadir)
|
||||||
sweph_DATA = \
|
sweph_DATA = \
|
||||||
sweph-data/seas_00.se1 \
|
sweph-data/seas_00.se1 \
|
||||||
@@ -57,9 +65,24 @@ sweph_DATA = \
|
|||||||
sweph-data/seplm42.se1 \
|
sweph-data/seplm42.se1 \
|
||||||
sweph-data/seplm48.se1 \
|
sweph-data/seplm48.se1 \
|
||||||
sweph-data/seplm54.se1 \
|
sweph-data/seplm54.se1 \
|
||||||
|
sweph-data/seleapsec.txt \
|
||||||
|
sweph-data/s136199.se1 \
|
||||||
|
sweph-data/s136199s.se1 \
|
||||||
|
sweph-data/se00010s.se1 \
|
||||||
|
sweph-data/se00034s.se1 \
|
||||||
|
sweph-data/se00157s.se1 \
|
||||||
|
sweph-data/se07066s.se1 \
|
||||||
|
sweph-data/se08405s.se1 \
|
||||||
|
sweph-data/se10199s.se1 \
|
||||||
|
sweph-data/se90377.se1 \
|
||||||
|
sweph-data/se90377s.se1 \
|
||||||
|
sweph-data/se90482.se1 \
|
||||||
|
sweph-data/se90482s.se1 \
|
||||||
$(NULL)
|
$(NULL)
|
||||||
|
|
||||||
EXTRA_DIST = \
|
EXTRA_DIST = \
|
||||||
$(sweph_DATA) \
|
$(sweph_DATA) \
|
||||||
swe-glib.spec
|
swe-glib.spec \
|
||||||
|
gschema.template
|
||||||
|
|
||||||
|
DISTCLEANFILES = $(gsettings_SCHEMAS)
|
||||||
|
22
data/gschema.template
Normal file
22
data/gschema.template
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
/*** BEGIN file-header ***/
|
||||||
|
<schemalist>
|
||||||
|
/*** END file-header ***/
|
||||||
|
|
||||||
|
/*** BEGIN file-production ***/
|
||||||
|
/*** END file-production ***/
|
||||||
|
|
||||||
|
/*** BEGIN value-header ***/
|
||||||
|
<enum id="eu.polonkai.gergely.swe-glib.@EnumName@">
|
||||||
|
/*** END value-header ***/
|
||||||
|
|
||||||
|
/*** BEGIN value-production ***/
|
||||||
|
<value nick="@valuenick@" value="@valuenum@"/>
|
||||||
|
/*** END value-production ***/
|
||||||
|
|
||||||
|
/*** BEGIN value-tail ***/
|
||||||
|
</enum>
|
||||||
|
/*** END value-tail ***/
|
||||||
|
|
||||||
|
/*** BEGIN file-tail ***/
|
||||||
|
</schemalist>
|
||||||
|
/*** END file-tail ***/
|
312
data/lots.py
Normal file
312
data/lots.py
Normal file
@@ -0,0 +1,312 @@
|
|||||||
|
# -*- coding: utf8
|
||||||
|
|
||||||
|
import re
|
||||||
|
import logging
|
||||||
|
from collections import OrderedDict
|
||||||
|
|
||||||
|
|
||||||
|
def get_planet_name(planet):
|
||||||
|
if planet == 'ASC':
|
||||||
|
return 'ASCENDANT'
|
||||||
|
|
||||||
|
if planet == 'S. Node':
|
||||||
|
return 'MOON_SOUTH_NODE'
|
||||||
|
|
||||||
|
if planet.upper() in known_planets:
|
||||||
|
return planet.upper()
|
||||||
|
|
||||||
|
return None
|
||||||
|
|
||||||
|
|
||||||
|
def get_planet_def(planet):
|
||||||
|
PLANET_NAME = 0
|
||||||
|
CUSP = 1
|
||||||
|
RULER = 2
|
||||||
|
SIGN = 3
|
||||||
|
SIGN_DEGREE = 4
|
||||||
|
SIGN_MINUTE = 5
|
||||||
|
HOUSE_RULER = 6
|
||||||
|
ARABIC_LOT = 7
|
||||||
|
PLANET_HOUSE_RULER = 8
|
||||||
|
|
||||||
|
planet_def = [
|
||||||
|
get_planet_name(planet), # 0, PLANET_NAME
|
||||||
|
0, # 1, CUSP
|
||||||
|
None, # 2, RULER
|
||||||
|
None, # 3, SIGN
|
||||||
|
0, # 4, SIGN_DEGREE
|
||||||
|
0, # 5, SIGN_MINUTE
|
||||||
|
0, # 6, HOUSE_RULER
|
||||||
|
None, # 7, ARABIC_LOT
|
||||||
|
None, # 8, PLANET_HOUSE_RULER
|
||||||
|
]
|
||||||
|
|
||||||
|
sign_match = re.match(r'^(\d{2})([A-Z]{2})(\d{2})$', planet)
|
||||||
|
|
||||||
|
if planet_def[PLANET_NAME] is None:
|
||||||
|
if planet.startswith('Ruler of ') and \
|
||||||
|
get_planet_name(planet[9:]) is not None:
|
||||||
|
planet_def[RULER] = get_planet_name(planet[9:])
|
||||||
|
elif planet.startswith('Ruler '):
|
||||||
|
m1 = re.match(r'Ruler (\d+)(st|nd|rd|th)', planet)
|
||||||
|
m2 = re.match(r"Ruler (\w+)'s house", planet)
|
||||||
|
|
||||||
|
if m1 is not None:
|
||||||
|
planet_def[HOUSE_RULER] = int(m1.groups()[0])
|
||||||
|
|
||||||
|
elif m2 is not None:
|
||||||
|
planet_def[PLANET_HOUSE_RULER] = get_planet_name(
|
||||||
|
m2.groups()[0])
|
||||||
|
|
||||||
|
if planet_def[PLANET_HOUSE_RULER] is None:
|
||||||
|
logging.error(
|
||||||
|
"Error: planet house ruler definition error: {}"
|
||||||
|
.format(planet))
|
||||||
|
|
||||||
|
return None
|
||||||
|
else:
|
||||||
|
logging.error(
|
||||||
|
"Error: House ruler definition problem: {}"
|
||||||
|
.format(planet))
|
||||||
|
|
||||||
|
return None
|
||||||
|
elif planet.startswith('Cusp '):
|
||||||
|
m = re.match(r'^Cusp (\d+)(st|nd|rd|th)', planet)
|
||||||
|
|
||||||
|
if m is None:
|
||||||
|
logging.error("Cusp definition problem: {}"
|
||||||
|
.format(planet))
|
||||||
|
|
||||||
|
return None
|
||||||
|
|
||||||
|
planet_def[CUSP] = int(m.groups()[0])
|
||||||
|
elif sign_match is not None:
|
||||||
|
degree, sign, minute = sign_match.groups()
|
||||||
|
|
||||||
|
planet_def[SIGN] = next(s for s in signs if s.startswith(sign))
|
||||||
|
planet_def[SIGN_DEGREE] = int(degree)
|
||||||
|
planet_def[SIGN_MINUTE] = int(minute)
|
||||||
|
elif planet.startswith('PO '):
|
||||||
|
p_lot = planet[3:]
|
||||||
|
|
||||||
|
if not any(x['c_name'] for y, x in lots.items()
|
||||||
|
if p_lot.upper() == x['c_name']):
|
||||||
|
logging.error("Error: Unknown lot: {}".format(planet))
|
||||||
|
|
||||||
|
return None
|
||||||
|
|
||||||
|
planet_def[ARABIC_LOT] = p_lot.upper()
|
||||||
|
else:
|
||||||
|
logging.error("Unknown planet definition: {}".format(planet))
|
||||||
|
|
||||||
|
return None
|
||||||
|
|
||||||
|
planet_def = map(lambda x: 'NONE' if x is None else x, planet_def)
|
||||||
|
|
||||||
|
return """
|
||||||
|
{{
|
||||||
|
GSWE_PLANET_{name},
|
||||||
|
{cusp},
|
||||||
|
GSWE_PLANET_{ruler},
|
||||||
|
GSWE_SIGN_{sign}, {sign_degree}, {sign_minute},
|
||||||
|
{house_ruler},
|
||||||
|
GSWE_ARABIC_LOT_{arabic_lot},
|
||||||
|
GSWE_PLANET_{planet_house_ruler}
|
||||||
|
}}""".format(
|
||||||
|
name=planet_def[PLANET_NAME],
|
||||||
|
cusp=planet_def[CUSP],
|
||||||
|
ruler=planet_def[RULER],
|
||||||
|
sign=planet_def[SIGN],
|
||||||
|
sign_degree=planet_def[SIGN_DEGREE],
|
||||||
|
sign_minute=planet_def[SIGN_MINUTE],
|
||||||
|
house_ruler=planet_def[HOUSE_RULER],
|
||||||
|
arabic_lot=planet_def[ARABIC_LOT],
|
||||||
|
planet_house_ruler=planet_def[PLANET_HOUSE_RULER],
|
||||||
|
)
|
||||||
|
|
||||||
|
with open('lots.txt', 'r') as f:
|
||||||
|
content = map(lambda line: line.strip(), f.readlines())
|
||||||
|
|
||||||
|
lots = OrderedDict()
|
||||||
|
c_names = set()
|
||||||
|
known_planets = [
|
||||||
|
'MC',
|
||||||
|
'VERTEX',
|
||||||
|
'MOON_NODE',
|
||||||
|
'MOON_APOGEE',
|
||||||
|
'SUN',
|
||||||
|
'MOON',
|
||||||
|
'MERCURY',
|
||||||
|
'VENUS',
|
||||||
|
'EARTH',
|
||||||
|
'MARS',
|
||||||
|
'JUPITER',
|
||||||
|
'SATURN',
|
||||||
|
'URANUS',
|
||||||
|
'NEPTUNE',
|
||||||
|
'PLUTO',
|
||||||
|
'CHIRON',
|
||||||
|
'CERES',
|
||||||
|
'PALLAS',
|
||||||
|
'JUNO',
|
||||||
|
'VESTA',
|
||||||
|
'PHOLUS',
|
||||||
|
'NESSUS',
|
||||||
|
'CHARIKLO',
|
||||||
|
'SEDNA',
|
||||||
|
'ERIS',
|
||||||
|
'DEJANIRA',
|
||||||
|
'CIRCE',
|
||||||
|
'ORCUS',
|
||||||
|
'ASBOLUS',
|
||||||
|
'HYGIEA',
|
||||||
|
]
|
||||||
|
signs = [
|
||||||
|
'ARIES',
|
||||||
|
'TAURUS',
|
||||||
|
'GEMINI',
|
||||||
|
'CANCER',
|
||||||
|
'LEO',
|
||||||
|
'VIRGO',
|
||||||
|
'LIBRA',
|
||||||
|
'SCORPIO',
|
||||||
|
'SAGITTARIUS',
|
||||||
|
'CAPRICORN',
|
||||||
|
'AQUARIUS',
|
||||||
|
'PISCES',
|
||||||
|
]
|
||||||
|
|
||||||
|
while content:
|
||||||
|
line = content.pop(0)
|
||||||
|
|
||||||
|
m = re.match('^([^=]+) = (.*)$', line)
|
||||||
|
|
||||||
|
if not m:
|
||||||
|
print("Error in line (no lot name): {}".format(line))
|
||||||
|
|
||||||
|
continue
|
||||||
|
|
||||||
|
lot_name, line = m.groups()
|
||||||
|
|
||||||
|
line = line.strip()
|
||||||
|
am_pm_rule = False
|
||||||
|
|
||||||
|
if re.search('AM.*::.*PM', line):
|
||||||
|
am_pm_rule = True
|
||||||
|
line = line.split(' :: ')[0]
|
||||||
|
s = re.search(' \([AP]M\)$', line)
|
||||||
|
if s is None:
|
||||||
|
print("Error in AM/PM line: {}".format(line))
|
||||||
|
|
||||||
|
continue
|
||||||
|
|
||||||
|
line = line[:-5]
|
||||||
|
|
||||||
|
m = re.match('^([^-+]+) ([+-]) ([^-+]+) ([+-]) ([^-+]+)$', line)
|
||||||
|
|
||||||
|
if not m:
|
||||||
|
print("Error in line (doesn't match): {}".format(line))
|
||||||
|
continue
|
||||||
|
|
||||||
|
m = m.groups()
|
||||||
|
|
||||||
|
if m[1] != '+' and m[3] != '-':
|
||||||
|
print("Error in line: {}".format(line))
|
||||||
|
|
||||||
|
continue
|
||||||
|
|
||||||
|
if lot_name in lots and not am_pm_rule:
|
||||||
|
print("Lot {} already exists!".format(lot_name))
|
||||||
|
|
||||||
|
continue
|
||||||
|
|
||||||
|
lot_name_def = re.sub(r'[^A-Z0-9_]', '',
|
||||||
|
re.sub(r'[ ,]+', '_', lot_name.upper()))
|
||||||
|
|
||||||
|
if lot_name_def in c_names:
|
||||||
|
print("Lot {} already exists in enum!".format(lot_name_def))
|
||||||
|
|
||||||
|
lots[lot_name] = {
|
||||||
|
"c_name": lot_name_def,
|
||||||
|
"planets": (m[0], m[2], m[4]),
|
||||||
|
"am_pm": am_pm_rule,
|
||||||
|
}
|
||||||
|
|
||||||
|
enum = '''typedef enum _GsweArabicLot {
|
||||||
|
GSWE_ARABIC_LOT_NONE,\n'''
|
||||||
|
|
||||||
|
defs = '''typedef struct _GsweArabicLotPart {
|
||||||
|
GswePlanet planet;
|
||||||
|
guint8 cusp;
|
||||||
|
GswePlanet ruler;
|
||||||
|
GsweZodiac fixed_sign;
|
||||||
|
guint8 fixed_degree;
|
||||||
|
guint8 fixed_minute;
|
||||||
|
guint8 house_ruler;
|
||||||
|
GsweArabicLot arabic_lot;
|
||||||
|
GswePlanet planet_house_ruler;
|
||||||
|
} GsweArabicLotPart;
|
||||||
|
|
||||||
|
typedef struct _GsweArabicLotRecord {
|
||||||
|
gchar *name;
|
||||||
|
gboolean am_pm_rule;
|
||||||
|
|
||||||
|
GsweArabicLotPart parts[3];
|
||||||
|
} GsweArabicLotRecord;
|
||||||
|
|
||||||
|
static const GsweArabicLotRecord known_lots[] = {
|
||||||
|
'''
|
||||||
|
|
||||||
|
for idx, (lot_name, lot) in enumerate(lots.items()):
|
||||||
|
if idx != 0:
|
||||||
|
enum += ',\n'
|
||||||
|
defs += '\n'
|
||||||
|
|
||||||
|
enum += ' GSWE_ARABIC_LOT_' + lot['c_name']
|
||||||
|
|
||||||
|
defs += ' // Record for enum value ' + lot['c_name'] + '''
|
||||||
|
{
|
||||||
|
"''' + lot_name + '''",
|
||||||
|
''' + ("TRUE" if lot['am_pm'] else "FALSE") + ''',
|
||||||
|
{'''
|
||||||
|
|
||||||
|
for pidx, planet in enumerate(lot['planets']):
|
||||||
|
defs += get_planet_def(planet)
|
||||||
|
|
||||||
|
if pidx != 2:
|
||||||
|
defs += ','
|
||||||
|
|
||||||
|
defs += '''\n }
|
||||||
|
},\n'''
|
||||||
|
|
||||||
|
defs += ''' {NULL}
|
||||||
|
};'''
|
||||||
|
|
||||||
|
enum += '\n} GsweArabicLot;'
|
||||||
|
|
||||||
|
print("""/* gswe-lots.h - Arabic lot definitions for SWE-GLib
|
||||||
|
*
|
||||||
|
* Copyright © 2013 Gergely Polonkai
|
||||||
|
*
|
||||||
|
* SWE-GLib is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 3 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* SWE-GLib is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this library; if not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
#ifndef __GSWE_LOTS_H__
|
||||||
|
#define __GSWE_LOTS_H__
|
||||||
|
|
||||||
|
#include "gswe-types.h"
|
||||||
|
""" + enum + """
|
||||||
|
|
||||||
|
""" + defs + """
|
||||||
|
|
||||||
|
#endif /* __GSWE_LOTS_H__ */""")
|
109
data/lots.txt
Normal file
109
data/lots.txt
Normal file
@@ -0,0 +1,109 @@
|
|||||||
|
Fortune = ASC + Moon - Sun (AM) :: ASC + Sun - Moon (PM)
|
||||||
|
Ability = ASC + Mars - Ruler of ASC
|
||||||
|
Abundance = ASC + Sun - Moon
|
||||||
|
Accident = ASC + Saturn - Mars
|
||||||
|
Accomplishment = ASC + Sun - Jupiter
|
||||||
|
Action/Reasoning = ASC + Mars - Mercury
|
||||||
|
Addiction = ASC + S. Node - Neptune
|
||||||
|
Administrators = ASC + Mars - Mercury
|
||||||
|
Agriculture = ASC + Saturn - Venus
|
||||||
|
Allegiance = ASC + Saturn - Sun
|
||||||
|
Ancestors/Relations = ASC + Mars - Saturn (AM) :: ASC + Saturn - Mars (PM)
|
||||||
|
Ancestral Heritage = ASC + Moon - Cusp 8th
|
||||||
|
Armies = ASC + Saturn - Mars
|
||||||
|
Art = ASC + Venus - Mercury
|
||||||
|
Assassination (1) = ASC + Ruler 12th - Neptune
|
||||||
|
Assassination (2) = Mars + Neptune - Uranus
|
||||||
|
Assurance = ASC + Jupiter - Mercury
|
||||||
|
Astrology = ASC + Uranus - Mercury
|
||||||
|
Bad Luck = ASC + PO Fortune - PO Spirit
|
||||||
|
Bankruptcy (1) = Jupiter + Neptune - Uranus
|
||||||
|
Bankruptcy (2) = Jupiter + Jupiter - Uranus
|
||||||
|
Beauty = ASC + Venus - Sun
|
||||||
|
Benific Change = ASC + Pluto - Jupiter
|
||||||
|
Benevolence = ASC + Jupiter - Pluto
|
||||||
|
Business Partnerships = ASC + Cusp 7th - Ruler 10th
|
||||||
|
Cancer = ASC + Neptune - Jupiter
|
||||||
|
Catastrophe (1) = ASC + Uranus - Sun
|
||||||
|
Catastrophe (2) = ASC + Uranus - Saturn
|
||||||
|
Caution = ASC + Neptune - Saturn
|
||||||
|
Children = ASC + Saturn - Jupiter (AM) :: ASC + Jupiter - Saturn (PM)
|
||||||
|
Commerce (1) = ASC + Mercury - Sun
|
||||||
|
Commerce (2) = ASC + Mars - Sun
|
||||||
|
Controversy = ASC + Jupiter - Mars
|
||||||
|
Corruptness = ASC + Neptune - Venus
|
||||||
|
Curiosity = ASC + Moon - Mercury
|
||||||
|
Damage = ASC + Neptune - Venus
|
||||||
|
Danger, Violence, Debt = ASC + Mercury - Saturn (AM) :: ASC + Saturn - Mercury (PM)
|
||||||
|
Daughters = ASC + Venus - Moon
|
||||||
|
Death = ASC + Cusp 8th - Moon
|
||||||
|
Death (Parents) = ASC + Jupiter - Saturn (AM) :: ASC + Saturn - Jupiter (PM)
|
||||||
|
Debt = ASC + Mercury - Saturn (AM) :: ASC + Saturn - Mercury (PM)
|
||||||
|
Desire, Sexual Attraction = ASC + Cusp 5th + Ruler 5th
|
||||||
|
Destiny = MC + Sun - Moon (AM) :: MC + Mooon - Sun (PM)
|
||||||
|
Destruction = ASC + Mars - Sun
|
||||||
|
Disease = ASC + Mars - Mercury
|
||||||
|
Divorce (1) = ASC + Venus - Cusp 7th
|
||||||
|
Divorce (2) = ASC + Cusp 7th - Saturn
|
||||||
|
Eccentricity = ASC + Mercury - Uranus
|
||||||
|
Energy, Sex Drive = ASC + Pluto - Venus
|
||||||
|
Expected Birth (1) = ASC + Ruler Moon's house - Moon
|
||||||
|
Expected Birth (2) = ASC + Venus - Moon
|
||||||
|
Fame = ASC + Jupiter - Sun (AM) :: ASC + Sun - Jupiter (PM)
|
||||||
|
Famous Friends = ASC + PO Fortune - Sun
|
||||||
|
Fascination = ASC + Venus - Uranus
|
||||||
|
Fate (Karma) = ASC + Saturn - Sun
|
||||||
|
Father = ASC + Sun - Saturn (AM) :: ASC + Saturn - Sun (PM)
|
||||||
|
Fraud = ASC + Neptune - Sun
|
||||||
|
Friends (1) = ASC + Moon - Venus
|
||||||
|
Friends (2) = ASC + Mercury - Moon
|
||||||
|
Friends (3) = ASC + Moon - Uranus
|
||||||
|
Genius = ASC + Sun - Neptune
|
||||||
|
Grandparents (1) = ASC + Jupiter - Cusp 2nd (AM) :: ASC + Cusp 2nd - Jupiter (PM)
|
||||||
|
Grandparents (2) = ASC + Saturn - Cusp 2nd (AM) :: ASC + Cusp 2nd - Saturn (PM)
|
||||||
|
Guidance = ASC + Neptune - Uranus
|
||||||
|
Happiness = ASC + Uranus - Jupiter
|
||||||
|
Homosexuality = ASC + Mars - Uranus
|
||||||
|
Horsemanship = ASC + Moon - Saturn
|
||||||
|
Identity = ASC + Saturn - Moon
|
||||||
|
Imprisonment = ASC + Sun - Neptune
|
||||||
|
Increase = ASC + Jupiter - Sun
|
||||||
|
Inheritance (1) = ASC + Moon - Saturn
|
||||||
|
Inheritance (2) = ASC + Jupiter - Venus
|
||||||
|
Journeys (Air) = ASC + Uranus - Cusp 9th
|
||||||
|
Journeys (Land) = ASC + Cusp 9th - Ruler 9th
|
||||||
|
Journeys (Water) = ASC + 15CA00 + Saturn (AM) :: ASC + Saturn - 15CA00 (PM)
|
||||||
|
Kings, Rulers = ASC + Moon - Mercury
|
||||||
|
Knowledge = ASC + Moon - Mercury (AM) :: ASC + Mercury - Moon (PM)
|
||||||
|
Life, Reincarnation = ASC + Saturn - Jupiter (AM) :: ASC + Jupiter - Saturn (PM)
|
||||||
|
Love = ASC + Venus - Sun
|
||||||
|
Lovers = Mars + Venus - Cusp 5th
|
||||||
|
Luck = ASC + Moon - Jupiter
|
||||||
|
Marriage = ASC + Cusp 7th - Venus
|
||||||
|
Marriage of Woman (1) = ASC + Saturn - Venus
|
||||||
|
Marriage of Woman (2) = ASC + Mars - Moon
|
||||||
|
Marriage of Man (1) = ASC + Venus - Saturn
|
||||||
|
Marriage of Man (2) = ASC + Venus - Sun
|
||||||
|
Mother = ASC + Moon - Saturn
|
||||||
|
Partners = ASC + Cusp 7th - Venus
|
||||||
|
Peril = ASC + Cusp 8th - Saturn (AM) :: ASC + Saturn - Cusp 8th (PM)
|
||||||
|
Possessions = ASC + Cusp 2nd - Ruler 2nd
|
||||||
|
Real Estate (Land) = ASC + Moon - Saturn (AM) :: ASC + Saturn - Moon (PM)
|
||||||
|
Real Estate (Investment) = ASC + Jupiter - Mercury (AM) :: ASC + Mercury - Jupiter (PM)
|
||||||
|
Secret Enemies = ASC + Moon - Saturn
|
||||||
|
Short Journeys = ASC + Cusp 3rd - Ruler 3rd
|
||||||
|
Siblings = ASC + Saturn - Jupiter
|
||||||
|
Sickness = ASC + Mars - Saturn
|
||||||
|
Son-in-Laws = ASC + Venus - Saturn (AM) :: ASC + Saturn - Venus (PM)
|
||||||
|
Sons = Cusp 4th + Moon - Sun
|
||||||
|
Spirit = ASC + Sun - Moon (AM) :: ASC + Moon - Sun (PM)
|
||||||
|
Success = ASC + Jupiter - PO Fortune (AM) :: ASC + PO Fortune - Jupiter (PM)
|
||||||
|
Success (Investment) = ASC + Venus - Saturn
|
||||||
|
Suicide (1) = ASC + Cusp 8th - Neptune
|
||||||
|
Suicide (2) = ASC + Jupiter - Neptune
|
||||||
|
Surgery = ASC + Saturn - Mars (AM) :: ASC + Mars - Saturn (PM)
|
||||||
|
Tragedy = ASC + Saturn - Sun
|
||||||
|
Unusual Events = ASC + Uranus - Moon
|
||||||
|
Victory = ASC + Jupiter - PO Spirit (AM) :: ASC + PO Spirit - Jupiter (PM)
|
||||||
|
Weddings, Legal Contracts = Cusp 9th + Cusp 3rd - Venus
|
||||||
|
Widowhood = ASC + 08LI50 - Neptune
|
@@ -70,12 +70,13 @@ rm -f $RPM_BUILD_ROOT%{_datadir}/locale/hu/LC_MESSAGES/swe-glib.mo
|
|||||||
|
|
||||||
%files
|
%files
|
||||||
%doc ChangeLog
|
%doc ChangeLog
|
||||||
%{_libdir}/libswe-1.76.so.*
|
%{_libdir}/libswe-@SWE_VERSION@.so.*
|
||||||
%{_libdir}/libswe-glib-@SWE_GLIB_API_VERSION@.so.*
|
%{_libdir}/libswe-glib-@SWE_GLIB_API_VERSION@.so.*
|
||||||
%{_libdir}/girepository-1.0/SweGlib-@SWE_GLIB_API_VERSION@.typelib
|
%{_libdir}/girepository-1.0/SweGlib-@SWE_GLIB_API_VERSION@.typelib
|
||||||
|
|
||||||
%files data
|
%files data
|
||||||
%{_datadir}/swe-glib/*.se1
|
%{_datadir}/swe-glib/*.se1
|
||||||
|
%{_datadir}/swe-glib/seleapsec.txt
|
||||||
|
|
||||||
%files doc
|
%files doc
|
||||||
%doc %{_datadir}/gtk-doc/html/*
|
%doc %{_datadir}/gtk-doc/html/*
|
||||||
@@ -84,7 +85,7 @@ rm -f $RPM_BUILD_ROOT%{_datadir}/locale/hu/LC_MESSAGES/swe-glib.mo
|
|||||||
%{_includedir}/*
|
%{_includedir}/*
|
||||||
%{_libdir}/pkgconfig/*
|
%{_libdir}/pkgconfig/*
|
||||||
%{_datadir}/gir-1.0/SweGlib-@SWE_GLIB_API_VERSION@.gir
|
%{_datadir}/gir-1.0/SweGlib-@SWE_GLIB_API_VERSION@.gir
|
||||||
%{_libdir}/libswe-1.76.so
|
%{_libdir}/libswe-@SWE_VERSION@.so
|
||||||
%{_libdir}/libswe-glib-@SWE_GLIB_API_VERSION@.so
|
%{_libdir}/libswe-glib-@SWE_GLIB_API_VERSION@.so
|
||||||
%{_datadir}/vala/vapi/SweGlib-@SWE_GLIB_API_VERSION@.vapi
|
%{_datadir}/vala/vapi/SweGlib-@SWE_GLIB_API_VERSION@.vapi
|
||||||
|
|
||||||
|
BIN
data/sweph-data/s136199.se1
Normal file
BIN
data/sweph-data/s136199.se1
Normal file
Binary file not shown.
BIN
data/sweph-data/s136199s.se1
Normal file
BIN
data/sweph-data/s136199s.se1
Normal file
Binary file not shown.
BIN
data/sweph-data/se00010s.se1
Normal file
BIN
data/sweph-data/se00010s.se1
Normal file
Binary file not shown.
BIN
data/sweph-data/se00034s.se1
Normal file
BIN
data/sweph-data/se00034s.se1
Normal file
Binary file not shown.
BIN
data/sweph-data/se00157s.se1
Normal file
BIN
data/sweph-data/se00157s.se1
Normal file
Binary file not shown.
BIN
data/sweph-data/se07066s.se1
Normal file
BIN
data/sweph-data/se07066s.se1
Normal file
Binary file not shown.
BIN
data/sweph-data/se08405s.se1
Normal file
BIN
data/sweph-data/se08405s.se1
Normal file
Binary file not shown.
BIN
data/sweph-data/se10199s.se1
Normal file
BIN
data/sweph-data/se10199s.se1
Normal file
Binary file not shown.
BIN
data/sweph-data/se90377.se1
Normal file
BIN
data/sweph-data/se90377.se1
Normal file
Binary file not shown.
BIN
data/sweph-data/se90377s.se1
Normal file
BIN
data/sweph-data/se90377s.se1
Normal file
Binary file not shown.
BIN
data/sweph-data/se90482.se1
Normal file
BIN
data/sweph-data/se90482.se1
Normal file
Binary file not shown.
BIN
data/sweph-data/se90482s.se1
Normal file
BIN
data/sweph-data/se90482s.se1
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
393347
data/sweph-data/seasnam.txt
Normal file
393347
data/sweph-data/seasnam.txt
Normal file
File diff suppressed because it is too large
Load Diff
31
data/sweph-data/seleapsec.txt
Normal file
31
data/sweph-data/seleapsec.txt
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
# This file contains the dates of leap seconds to be taken into account
|
||||||
|
# by the Swiss Ephemeris.
|
||||||
|
# For each new leap second add the date of its insertion in the format
|
||||||
|
# yyyymmdd, e.g. "20081231" for 21 december 2008
|
||||||
|
19720630
|
||||||
|
19721231
|
||||||
|
19731231
|
||||||
|
19741231
|
||||||
|
19751231
|
||||||
|
19761231
|
||||||
|
19771231
|
||||||
|
19781231
|
||||||
|
19791231
|
||||||
|
19810630
|
||||||
|
19820630
|
||||||
|
19830630
|
||||||
|
19850630
|
||||||
|
19871231
|
||||||
|
19891231
|
||||||
|
19901231
|
||||||
|
19920630
|
||||||
|
19930630
|
||||||
|
19949630
|
||||||
|
19951231
|
||||||
|
19970630
|
||||||
|
19981231
|
||||||
|
20051231
|
||||||
|
20081231
|
||||||
|
20120630
|
||||||
|
20150630
|
||||||
|
20161231
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
76
data/sweph-data/seorbel.txt
Normal file
76
data/sweph-data/seorbel.txt
Normal file
@@ -0,0 +1,76 @@
|
|||||||
|
# Orbital elements of ficticious planets
|
||||||
|
# 27 Jan. 2000
|
||||||
|
#
|
||||||
|
# This file is part of the Swiss Ephemeris, from Version 1.52 on.
|
||||||
|
#
|
||||||
|
# Warning! These planets do not exist!
|
||||||
|
#
|
||||||
|
# The user can add his or her own elements.
|
||||||
|
# 960 is the maximum number of ficticious planets.
|
||||||
|
#
|
||||||
|
# The elements order is as follows:
|
||||||
|
# 1. epoch of elements (Julian day)
|
||||||
|
# 2. equinox (Julian day or "J1900" or "B1950" or "J2000")
|
||||||
|
# 3. mean anomaly at epoch
|
||||||
|
# 4. semi-axis
|
||||||
|
# 5. eccentricity
|
||||||
|
# 6. argument of perihelion (ang. distance of perihelion from node)
|
||||||
|
# 7. ascending node
|
||||||
|
# 8. inclination
|
||||||
|
# 9. name of planet
|
||||||
|
#
|
||||||
|
# use '#' for comments
|
||||||
|
# to compute a body with swe_calc(), use planet number
|
||||||
|
# ipl = SE_FICT_OFFSET_1 + number_of_elements_set,
|
||||||
|
# e.g. number of Kronos is ipl = 39 + 4 = 43
|
||||||
|
#
|
||||||
|
# Witte/Sieggruen planets, refined by James Neely
|
||||||
|
J1900, J1900, 163.7409, 40.99837, 0.00460, 171.4333, 129.8325, 1.0833, Cupido # 1
|
||||||
|
J1900, J1900, 27.6496, 50.66744, 0.00245, 148.1796, 161.3339, 1.0500, Hades # 2
|
||||||
|
J1900, J1900, 165.1232, 59.21436, 0.00120, 299.0440, 0.0000, 0.0000, Zeus # 3
|
||||||
|
J1900, J1900, 169.0193, 64.81690, 0.00305, 208.8801, 0.0000, 0.0000, Kronos # 4
|
||||||
|
J1900, J1900, 138.0533, 70.29949, 0.00000, 0.0000, 0.0000, 0.0000, Apollon # 5
|
||||||
|
J1900, J1900, 351.3350, 73.62765, 0.00000, 0.0000, 0.0000, 0.0000, Admetos # 6
|
||||||
|
J1900, J1900, 55.8983, 77.25568, 0.00000, 0.0000, 0.0000, 0.0000, Vulcanus # 7
|
||||||
|
J1900, J1900, 165.5163, 83.66907, 0.00000, 0.0000, 0.0000, 0.0000, Poseidon # 8
|
||||||
|
#
|
||||||
|
# Isis-Transpluto; elements from "Die Sterne" 3/1952, p. 70ff.
|
||||||
|
# Strubell does not give an equinox. 1945 is taken in order to
|
||||||
|
# reproduce the as best as ASTRON ephemeris. (This is a strange
|
||||||
|
# choice, though.)
|
||||||
|
# The epoch according to Strubell is 1772.76.
|
||||||
|
# 1772 is a leap year!
|
||||||
|
# The fraction is counted from 1 Jan. 1772
|
||||||
|
2368547.66, 2431456.5, 0.0, 77.775, 0.3, 0.7, 0, 0, Isis-Transpluto # 9
|
||||||
|
# Nibiru, elements from Christian Woeltge, Hannover
|
||||||
|
1856113.380954, 1856113.380954, 0.0, 234.8921, 0.981092, 103.966, -44.567, 158.708, Nibiru # 10
|
||||||
|
# Harrington, elements from Astronomical Journal 96(4), Oct. 1988
|
||||||
|
2374696.5, J2000, 0.0, 101.2, 0.411, 208.5, 275.4, 32.4, Harrington # 11
|
||||||
|
# according to W.G. Hoyt, "Planets X and Pluto", Tucson 1980, p. 63
|
||||||
|
2395662.5, 2395662.5, 34.05, 36.15, 0.10761, 284.75, 0, 0, Leverrier (Neptune) # 12
|
||||||
|
2395662.5, 2395662.5, 24.28, 37.25, 0.12062, 299.11, 0, 0, Adams (Neptune) # 13
|
||||||
|
2425977.5, 2425977.5, 281, 43.0, 0.202, 204.9, 0, 0, Lowell (Pluto) # 14
|
||||||
|
2425977.5, 2425977.5, 48.95, 55.1, 0.31, 280.1, 100, 15, Pickering (Pluto) # 15
|
||||||
|
# intramercurian hypothetical Vulcan acc. to L.H. Weston
|
||||||
|
J1900,JDATE, 252.8987988 + 707550.7341 * T, 0.13744, 0.019, 322.212069+1670.056*T, 47.787931-1670.056*T, 7.5, Vulcan # 16
|
||||||
|
# Selena/White Moon
|
||||||
|
J2000,JDATE, 242.2205555 + 5143.5418158 * T, 0.05280098949, 0.0, 0.0, 0.0, 0.0, Selena/White Moon, geo # 17
|
||||||
|
# Hypothetical planet Proserpina, according to http://www.geocities.com/Hollywood/Academy/7519/proserpina.html
|
||||||
|
# J1900, 170.73 + 51.05 * T
|
||||||
|
J1900,JDATE, 170.73, 79.225630, 0, 0, 0, 0, Proserpina #18
|
||||||
|
# Waldemath's Second Earth Moon
|
||||||
|
# Elements were derived by D.Koch from Waldemaths original elements as given in
|
||||||
|
# David Walters' book on Vulcan. They differ from Solar Fire (Graham Dawsons)
|
||||||
|
# elements, which are based on the assumption that the "mean longitude" given
|
||||||
|
# by Waldemath is an observation (a true longitude)
|
||||||
|
# Neither Swisseph nor Solar fire elements agree with Delphine Jay's ephemeris,
|
||||||
|
# which is obviously wrong.
|
||||||
|
2414290.95827875,2414290.95827875, 70.3407215 + 109023.2634989 * T, 0.0068400705250028, 0.1587, 8.14049594 + 2393.47417444 * T, 136.24878256 - 1131.71719709 * T, 2.5, Waldemath, geo # 19
|
||||||
|
#
|
||||||
|
# The following elements are for test only
|
||||||
|
# (Selena without T)
|
||||||
|
J2000,JDATE, 242.2205555, 0.05279142865925, 0.0, 0.0, 0.0, 0.0, Selena/White Moon, geo # 17
|
||||||
|
# (Selena with T, gives exactly the same position)
|
||||||
|
J2000,JDATE, 242.2205555 + 5143.5418158 * T, 0.05279142865925, 0.0, 0.0, 0.0, 0.0, Selena/White Moon with T Terms, geo # 17
|
||||||
|
J2000, JDATE, 174.794787 + 149472.5157715 * T, 0.38709831, 0.20563175 + 0.000020406 * T, 29.125226 + 0.3702885 * T, 48.330893 + 1.186189 * T, 7.004986 + 0.0018215 * T, Mercury elem. for equ. of date # 18
|
||||||
|
J2000, J2000, 174.794787 + 149472.5157715 * T, 0.38709831, 0.20563175 + 0.000020406 * T, 29.125226 + 0.2842872 * T, 48.330893 - 0.1254229 * T, 7.004986 - 0.0059516 * T, Mercury Test J2000 Elements# 18
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -29,7 +29,7 @@ SCANGOBJ_OPTIONS=
|
|||||||
|
|
||||||
# Extra options to supply to gtkdoc-scan.
|
# Extra options to supply to gtkdoc-scan.
|
||||||
# e.g. SCAN_OPTIONS=--deprecated-guards="GTK_DISABLE_DEPRECATED"
|
# e.g. SCAN_OPTIONS=--deprecated-guards="GTK_DISABLE_DEPRECATED"
|
||||||
SCAN_OPTIONS=--rebuild-types
|
SCAN_OPTIONS=--rebuild-types --deprecated-guards="GSWE_DISABLE_DEPRECATED"
|
||||||
|
|
||||||
# Extra options to supply to gtkdoc-mkdb.
|
# Extra options to supply to gtkdoc-mkdb.
|
||||||
# e.g. MKDB_OPTIONS=--xml-mode --output-format=xml
|
# e.g. MKDB_OPTIONS=--xml-mode --output-format=xml
|
||||||
|
@@ -32,6 +32,7 @@
|
|||||||
<xi:include href="xml/swe-glib.xml"/>
|
<xi:include href="xml/swe-glib.xml"/>
|
||||||
<xi:include href="xml/gswe-moment.xml"/>
|
<xi:include href="xml/gswe-moment.xml"/>
|
||||||
<xi:include href="xml/gswe-timestamp.xml"/>
|
<xi:include href="xml/gswe-timestamp.xml"/>
|
||||||
|
<xi:include href="xml/gswe-version.xml"/>
|
||||||
|
|
||||||
</chapter>
|
</chapter>
|
||||||
<chapter id="object-tree">
|
<chapter id="object-tree">
|
||||||
|
@@ -60,6 +60,7 @@ gswe_moon_phase_data_get_type
|
|||||||
<SECTION>
|
<SECTION>
|
||||||
<FILE>gswe-sign-info</FILE>
|
<FILE>gswe-sign-info</FILE>
|
||||||
GsweSignInfo
|
GsweSignInfo
|
||||||
|
gswe_find_sign_info_by_id
|
||||||
gswe_sign_info_new
|
gswe_sign_info_new
|
||||||
gswe_sign_info_ref
|
gswe_sign_info_ref
|
||||||
gswe_sign_info_unref
|
gswe_sign_info_unref
|
||||||
@@ -79,6 +80,8 @@ gswe_sign_info_get_type
|
|||||||
<SECTION>
|
<SECTION>
|
||||||
<FILE>gswe-planet-info</FILE>
|
<FILE>gswe-planet-info</FILE>
|
||||||
GswePlanetInfo
|
GswePlanetInfo
|
||||||
|
gswe_find_planet_info_by_id
|
||||||
|
gswe_all_planets
|
||||||
gswe_planet_info_new
|
gswe_planet_info_new
|
||||||
gswe_planet_info_ref
|
gswe_planet_info_ref
|
||||||
gswe_planet_info_unref
|
gswe_planet_info_unref
|
||||||
@@ -122,6 +125,8 @@ gswe_planet_data_get_type
|
|||||||
<SECTION>
|
<SECTION>
|
||||||
<FILE>gswe-aspect-info</FILE>
|
<FILE>gswe-aspect-info</FILE>
|
||||||
GsweAspectInfo
|
GsweAspectInfo
|
||||||
|
gswe_find_aspect_info_by_id
|
||||||
|
gswe_all_aspects
|
||||||
gswe_aspect_info_new
|
gswe_aspect_info_new
|
||||||
gswe_aspect_info_ref
|
gswe_aspect_info_ref
|
||||||
gswe_aspect_info_unref
|
gswe_aspect_info_unref
|
||||||
@@ -165,6 +170,8 @@ gswe_aspect_data_get_type
|
|||||||
<SECTION>
|
<SECTION>
|
||||||
<FILE>gswe-antiscion-axis-info</FILE>
|
<FILE>gswe-antiscion-axis-info</FILE>
|
||||||
GsweAntiscionAxisInfo
|
GsweAntiscionAxisInfo
|
||||||
|
gswe_find_antiscion_axis_info_by_id
|
||||||
|
gswe_all_antiscion_axes
|
||||||
gswe_antiscion_axis_info_new
|
gswe_antiscion_axis_info_new
|
||||||
gswe_antiscion_axis_info_ref
|
gswe_antiscion_axis_info_ref
|
||||||
gswe_antiscion_axis_info_unref
|
gswe_antiscion_axis_info_unref
|
||||||
@@ -206,6 +213,8 @@ gswe_antiscion_data_get_type
|
|||||||
<SECTION>
|
<SECTION>
|
||||||
<FILE>gswe-house-system-info</FILE>
|
<FILE>gswe-house-system-info</FILE>
|
||||||
GsweHouseSystemInfo
|
GsweHouseSystemInfo
|
||||||
|
gswe_find_house_system_info_by_id
|
||||||
|
gswe_all_house_systems
|
||||||
gswe_house_system_info_new
|
gswe_house_system_info_new
|
||||||
gswe_house_system_info_ref
|
gswe_house_system_info_ref
|
||||||
gswe_house_system_info_unref
|
gswe_house_system_info_unref
|
||||||
@@ -240,9 +249,11 @@ gswe_house_data_get_type
|
|||||||
<TITLE>GsweTimestamp</TITLE>
|
<TITLE>GsweTimestamp</TITLE>
|
||||||
GsweTimestamp
|
GsweTimestamp
|
||||||
GsweTimestampClass
|
GsweTimestampClass
|
||||||
|
GsweTimestampValidityFlags
|
||||||
gswe_timestamp_new
|
gswe_timestamp_new
|
||||||
gswe_timestamp_new_from_julian_day
|
gswe_timestamp_new_from_julian_day
|
||||||
gswe_timestamp_new_from_gregorian_full
|
gswe_timestamp_new_from_gregorian_full
|
||||||
|
gswe_timestamp_new_from_now_local
|
||||||
gswe_timestamp_set_gregorian_full
|
gswe_timestamp_set_gregorian_full
|
||||||
gswe_timestamp_set_instant_recalc
|
gswe_timestamp_set_instant_recalc
|
||||||
gswe_timestamp_get_instant_recalc
|
gswe_timestamp_get_instant_recalc
|
||||||
@@ -262,8 +273,14 @@ gswe_timestamp_set_gregorian_microsecond
|
|||||||
gswe_timestamp_get_gregorian_microsecond
|
gswe_timestamp_get_gregorian_microsecond
|
||||||
gswe_timestamp_set_gregorian_timezone
|
gswe_timestamp_set_gregorian_timezone
|
||||||
gswe_timestamp_get_gregorian_timezone
|
gswe_timestamp_get_gregorian_timezone
|
||||||
|
gswe_timestamp_set_now_local
|
||||||
gswe_timestamp_set_julian_day
|
gswe_timestamp_set_julian_day
|
||||||
gswe_timestamp_get_julian_day
|
gswe_timestamp_get_julian_day
|
||||||
|
gswe_timestamp_set_julian_day_et
|
||||||
|
gswe_timestamp_get_julian_day_et
|
||||||
|
gswe_timestamp_set_julian_day_ut
|
||||||
|
gswe_timestamp_get_julian_day_ut
|
||||||
|
gswe_timestamp_get_sidereal_time
|
||||||
<SUBSECTION Standard>
|
<SUBSECTION Standard>
|
||||||
GSWE_IS_TIMESTAMP
|
GSWE_IS_TIMESTAMP
|
||||||
GSWE_IS_TIMESTAMP_CLASS
|
GSWE_IS_TIMESTAMP_CLASS
|
||||||
@@ -278,6 +295,11 @@ gswe_timestamp_get_type
|
|||||||
<SECTION>
|
<SECTION>
|
||||||
<FILE>gswe-types</FILE>
|
<FILE>gswe-types</FILE>
|
||||||
GswePlanet
|
GswePlanet
|
||||||
|
GSWE_PLANET_LILITH
|
||||||
|
GSWE_PLANET_OFFSET_VIRTUAL_NODES
|
||||||
|
GSWE_PLANET_OFFSET_PLANETS
|
||||||
|
GSWE_PLANET_OFFSET_ASTEROIDS
|
||||||
|
GSWE_PLANET_OFFSET_CUSTOM
|
||||||
GsweZodiac
|
GsweZodiac
|
||||||
GsweAspect
|
GsweAspect
|
||||||
GsweAntiscionAxis
|
GsweAntiscionAxis
|
||||||
@@ -299,3 +321,11 @@ GSWE_ERROR
|
|||||||
gswe_init
|
gswe_init
|
||||||
</SECTION>
|
</SECTION>
|
||||||
|
|
||||||
|
<SECTION>
|
||||||
|
<FILE>gswe-version</FILE>
|
||||||
|
GSWE_MAJOR_VERSION
|
||||||
|
GSWE_MINOR_VERSION
|
||||||
|
GSWE_MICRO_VERSION
|
||||||
|
GSWE_CHECK_VERSION
|
||||||
|
gswe_check_version
|
||||||
|
</SECTION>
|
||||||
|
@@ -1,4 +1,8 @@
|
|||||||
var Swe = imports.gi.SweGlib;
|
const GLib = imports.gi.GLib;
|
||||||
|
const Swe = imports.gi.SweGlib;
|
||||||
|
const Format = imports.format;
|
||||||
|
|
||||||
|
String.prototype.format = Format.format;
|
||||||
|
|
||||||
Swe.init();
|
Swe.init();
|
||||||
|
|
||||||
@@ -8,7 +12,7 @@ timestamp.set_gregorian_full(1983, 3, 7, 11, 54, 45, 0, 1);
|
|||||||
var moment = new Swe.Moment();
|
var moment = new Swe.Moment();
|
||||||
moment.add_all_planets();
|
moment.add_all_planets();
|
||||||
moment.set_timestamp(timestamp);
|
moment.set_timestamp(timestamp);
|
||||||
moment.set_coordinates(19.03990999, 47.49801000, 280);
|
moment.set_coordinates(19.03991, 47.49801, 280);
|
||||||
moment.set_house_system(Swe.HouseSystem.PLACIDUS);
|
moment.set_house_system(Swe.HouseSystem.PLACIDUS);
|
||||||
|
|
||||||
var all_planets = moment.get_all_planets()
|
var all_planets = moment.get_all_planets()
|
||||||
@@ -20,7 +24,7 @@ for (var i = 0; i < all_planets.length; i++) {
|
|||||||
var minute = Math.floor((sign_position - degree) * 60);
|
var minute = Math.floor((sign_position - degree) * 60);
|
||||||
var second = Math.floor(((sign_position - degree) * 60 - minute) * 60)
|
var second = Math.floor(((sign_position - degree) * 60 - minute) * 60)
|
||||||
|
|
||||||
log(planet.get_planet_info().get_name() + ": " + position + " (" + degree + "°" + minute + "′" + second + "″ " + planet.get_sign_info().get_name() + ")");
|
print("%s: %.6f (%d°%d′%d″ %s)".format(planet.get_planet_info().get_name(), position, degree, minute, second, planet.get_sign_info().get_name()));
|
||||||
}
|
}
|
||||||
|
|
||||||
var all_aspects = moment.get_all_aspects();
|
var all_aspects = moment.get_all_aspects();
|
||||||
@@ -31,7 +35,7 @@ for (var i = 0; i < all_aspects.length; i++) {
|
|||||||
var planet1 = aspect.get_planet1();
|
var planet1 = aspect.get_planet1();
|
||||||
var planet2 = aspect.get_planet2();
|
var planet2 = aspect.get_planet2();
|
||||||
|
|
||||||
log(planet1.get_planet_info().get_name() + " in " + aspect.get_aspect_info().get_name() + " with " + planet2.get_planet_info().get_name() + "(±" + aspect.get_difference() + "%)");
|
print("%s in %s with %s (±%.2f%%)".format(planet1.get_planet_info().get_name(), aspect.get_aspect_info().get_name(), planet2.get_planet_info().get_name(), aspect.get_difference()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -43,7 +47,6 @@ for (var i = 0; i < all_antiscia.length; i++) {
|
|||||||
var planet1 = antiscion.get_planet1();
|
var planet1 = antiscion.get_planet1();
|
||||||
var planet2 = antiscion.get_planet2();
|
var planet2 = antiscion.get_planet2();
|
||||||
|
|
||||||
log(planet1.get_planet_info().get_name() + " is antiscion of " + planet2.get_planet_info().get_name() + " on axis " + antiscion.get_antiscion_axis_info().get_name() + " (±" + antiscion.get_difference() + "%)");
|
print("%s is antiscion of %s on axis %s (±%.2f%%)".format(planet1.get_planet_info().get_name(), planet2.get_planet_info().get_name(), antiscion.get_antiscion_axis_info().get_name(), antiscion.get_difference().toFixed(2)));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
44
examples/basic.lua
Normal file
44
examples/basic.lua
Normal file
@@ -0,0 +1,44 @@
|
|||||||
|
local lgi = require 'lgi'
|
||||||
|
local SweGlib = lgi.require('SweGlib', '2.0')
|
||||||
|
|
||||||
|
SweGlib.init()
|
||||||
|
|
||||||
|
local timestamp = SweGlib.Timestamp.new()
|
||||||
|
timestamp:set_gregorian_full(1983, 3, 7, 11, 54, 45, 0, 1)
|
||||||
|
|
||||||
|
local moment = SweGlib.Moment.new()
|
||||||
|
moment:set_timestamp(timestamp)
|
||||||
|
moment:set_timestamp(timestamp)
|
||||||
|
moment:set_coordinates(19.03990999, 47.49801000, 280)
|
||||||
|
moment:set_house_system(SweGlib.HouseSystem.PLACIDUS)
|
||||||
|
moment:add_all_planets()
|
||||||
|
|
||||||
|
local all_planets = moment:get_all_planets()
|
||||||
|
for _, planet in ipairs(all_planets) do
|
||||||
|
local position = planet:get_position()
|
||||||
|
local sign_position = math.fmod(position, 30)
|
||||||
|
local degree = math.floor(sign_position)
|
||||||
|
local minute = math.floor((sign_position - degree) * 60)
|
||||||
|
local second = math.floor(((sign_position - degree) * 60 - minute) * 60)
|
||||||
|
io.write(string.format("%s: %f (%d°%d′%d″ %s)\n", planet:get_planet_info():get_name(), position, degree, minute, second, planet:get_sign_info():get_name()))
|
||||||
|
end
|
||||||
|
|
||||||
|
local all_aspects = moment:get_all_aspects()
|
||||||
|
for _, aspect in ipairs(all_aspects) do
|
||||||
|
if aspect:get_aspect() ~= "NONE" then
|
||||||
|
local planet1 = aspect:get_planet1()
|
||||||
|
local planet2 = aspect:get_planet2()
|
||||||
|
|
||||||
|
io.write(string.format("%s in %s with %s (±%.2f%%)\n", planet1:get_planet_info():get_name(), aspect:get_aspect_info():get_name(), planet2:get_planet_info():get_name(), aspect:get_difference()))
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
local all_antiscia = moment:get_all_antiscia()
|
||||||
|
for _, antiscion in ipairs(all_antiscia) do
|
||||||
|
if antiscion:get_axis() ~= "NONE" then
|
||||||
|
local planet1 = antiscion:get_planet1()
|
||||||
|
local planet2 = antiscion:get_planet2()
|
||||||
|
|
||||||
|
io.write(string.format("%s is antiscion of %s on axis %s (±%.2f%%)\n", planet1:get_planet_info():get_name(), planet2:get_planet_info():get_name(), antiscion:get_antiscion_axis_info():get_name(), antiscion:get_difference()))
|
||||||
|
end
|
||||||
|
end
|
@@ -1,10 +1,12 @@
|
|||||||
|
#!/bin/env perl
|
||||||
package SweGlib;
|
package SweGlib;
|
||||||
|
|
||||||
|
use utf8;
|
||||||
use strict;
|
use strict;
|
||||||
use POSIX;
|
use POSIX;
|
||||||
use Glib::Object::Introspection;
|
use Glib::Object::Introspection;
|
||||||
|
|
||||||
use Data::Dumper;
|
binmode STDOUT, ':encoding(UTF-8)';
|
||||||
|
|
||||||
Glib::Object::Introspection->setup(basename => 'SweGlib', version => '2.0', package => 'SweGlib');
|
Glib::Object::Introspection->setup(basename => 'SweGlib', version => '2.0', package => 'SweGlib');
|
||||||
|
|
||||||
@@ -17,7 +19,7 @@ $timestamp->set_gregorian_full(1983, 3, 7, 11, 54, 45, 0, 1);
|
|||||||
|
|
||||||
my $moment = SweGlib::Moment->new();
|
my $moment = SweGlib::Moment->new();
|
||||||
$moment->set_timestamp($timestamp);
|
$moment->set_timestamp($timestamp);
|
||||||
$moment->set_coordinates(19.0390999, 47.49801000, 280);
|
$moment->set_coordinates(19.03991, 47.49801, 280);
|
||||||
$moment->set_house_system("placidus");
|
$moment->set_house_system("placidus");
|
||||||
$moment->add_all_planets();
|
$moment->add_all_planets();
|
||||||
|
|
||||||
@@ -51,4 +53,3 @@ foreach my $antiscion (@{$all_antiscia}) {
|
|||||||
printf("%s is antiscion of %s on axis %s (±%.2f%%)\n", $planet1->get_planet_info()->get_name(), $planet2->get_planet_info()->get_name(), $antiscion->get_antiscion_axis_info()->get_name(), $antiscion->get_difference());
|
printf("%s is antiscion of %s on axis %s (±%.2f%%)\n", $planet1->get_planet_info()->get_name(), $planet2->get_planet_info()->get_name(), $antiscion->get_antiscion_axis_info()->get_name(), $antiscion->get_difference());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -1,6 +1,10 @@
|
|||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
from gi.repository import SweGlib
|
from gi.repository import SweGlib
|
||||||
import math
|
import math
|
||||||
|
import codecs
|
||||||
|
import sys
|
||||||
|
|
||||||
|
sys.stdout = codecs.getwriter('utf-8')(sys.stdout)
|
||||||
|
|
||||||
SweGlib.init()
|
SweGlib.init()
|
||||||
|
|
||||||
@@ -9,7 +13,7 @@ timestamp.set_gregorian_full(1983, 3, 7, 11, 54, 45, 0, 1)
|
|||||||
|
|
||||||
moment = SweGlib.Moment()
|
moment = SweGlib.Moment()
|
||||||
moment.set_timestamp(timestamp)
|
moment.set_timestamp(timestamp)
|
||||||
moment.set_coordinates(19.03990999, 47.49801000, 280)
|
moment.set_coordinates(19.03991, 47.49801, 280)
|
||||||
moment.set_house_system(SweGlib.HouseSystem.PLACIDUS)
|
moment.set_house_system(SweGlib.HouseSystem.PLACIDUS)
|
||||||
moment.add_all_planets()
|
moment.add_all_planets()
|
||||||
|
|
||||||
@@ -37,5 +41,4 @@ for antiscion in all_antiscia:
|
|||||||
planet1 = antiscion.get_planet1()
|
planet1 = antiscion.get_planet1()
|
||||||
planet2 = antiscion.get_planet2()
|
planet2 = antiscion.get_planet2()
|
||||||
|
|
||||||
print "%s is antiscion of %s on axis %s (±%.2f%%)" % (planet1.get_planet_info().get_name(), planet2.get_planet_info().get_name(), antiscion.get_antiscion_axis_info().get_name(), antiscion.get_difference())
|
print u"%s is antiscion of %s on axis %s (±%.2f%%)" % (planet1.get_planet_info().get_name(), planet2.get_planet_info().get_name(), antiscion.get_antiscion_axis_info().get_name(), antiscion.get_difference())
|
||||||
|
|
||||||
|
@@ -1,4 +1,7 @@
|
|||||||
## Process this file with automake to produce Makefile.in
|
## Process this file with automake to produce Makefile.in
|
||||||
|
|
||||||
|
include $(top_srcdir)/swe-glib.mk
|
||||||
|
|
||||||
AM_CPPFLAGS = -DG_LOG_DOMAIN=\"SWE-GLib\" -DLOCALEDIR=\"$(localedir)\" -D__SWE_GLIB_BUILDING__ -DPKGDATADIR=\"$(pkgdatadir)\"
|
AM_CPPFLAGS = -DG_LOG_DOMAIN=\"SWE-GLib\" -DLOCALEDIR=\"$(localedir)\" -D__SWE_GLIB_BUILDING__ -DPKGDATADIR=\"$(pkgdatadir)\"
|
||||||
|
|
||||||
lib_LTLIBRARIES = libswe-glib-2.0.la
|
lib_LTLIBRARIES = libswe-glib-2.0.la
|
||||||
@@ -21,7 +24,10 @@ INST_H_SRC_FILES = \
|
|||||||
$(NULL)
|
$(NULL)
|
||||||
|
|
||||||
INST_H_BUILT_FILES = \
|
INST_H_BUILT_FILES = \
|
||||||
gswe-enumtypes.h
|
gswe-enumtypes.h \
|
||||||
|
gswe-lots.h \
|
||||||
|
gswe-version.h \
|
||||||
|
$(NULL)
|
||||||
|
|
||||||
PRIV_H_SRC_FILES = \
|
PRIV_H_SRC_FILES = \
|
||||||
swe-glib-private.h \
|
swe-glib-private.h \
|
||||||
@@ -55,6 +61,8 @@ libswe_glib_2_0_la_SOURCES = \
|
|||||||
gswe-moment.c \
|
gswe-moment.c \
|
||||||
gswe-timestamp.c \
|
gswe-timestamp.c \
|
||||||
gswe-enumtypes.c \
|
gswe-enumtypes.c \
|
||||||
|
gswe-version.c \
|
||||||
|
gswe-lots.c \
|
||||||
$(NULL)
|
$(NULL)
|
||||||
|
|
||||||
libswe_glib_2_0_la_CFLAGS = $(GLIB_CFLAGS) $(GOBJECT_CFLAGS) -Wall
|
libswe_glib_2_0_la_CFLAGS = $(GLIB_CFLAGS) $(GOBJECT_CFLAGS) -Wall
|
||||||
|
@@ -30,7 +30,12 @@
|
|||||||
* The #GsweAntiscionAxisInfo stores information about an antiscion axis.
|
* The #GsweAntiscionAxisInfo stores information about an antiscion axis.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
G_DEFINE_BOXED_TYPE(GsweAntiscionAxisInfo, gswe_antiscion_axis_info, (GBoxedCopyFunc)gswe_antiscion_axis_info_ref, (GBoxedFreeFunc)gswe_antiscion_axis_info_unref);
|
G_DEFINE_BOXED_TYPE(
|
||||||
|
GsweAntiscionAxisInfo,
|
||||||
|
gswe_antiscion_axis_info,
|
||||||
|
(GBoxedCopyFunc)gswe_antiscion_axis_info_ref,
|
||||||
|
(GBoxedFreeFunc)gswe_antiscion_axis_info_unref
|
||||||
|
);
|
||||||
|
|
||||||
static void
|
static void
|
||||||
gswe_antiscion_axis_info_free(GsweAntiscionAxisInfo *antiscion_axis_info)
|
gswe_antiscion_axis_info_free(GsweAntiscionAxisInfo *antiscion_axis_info)
|
||||||
@@ -84,7 +89,8 @@ gswe_antiscion_axis_info_ref(GsweAntiscionAxisInfo *antiscion_axis_info)
|
|||||||
* gswe_antiscion_axis_info_unref:
|
* gswe_antiscion_axis_info_unref:
|
||||||
* @antiscion_axis_info: (in): a #GsweAntiscionAxisInfo
|
* @antiscion_axis_info: (in): a #GsweAntiscionAxisInfo
|
||||||
*
|
*
|
||||||
* Decreases reference count on @antiscion_axis_info. If reference count reaches zero, @antiscion_axis_info is freed.
|
* Decreases reference count on @antiscion_axis_info. If reference count
|
||||||
|
* reaches zero, @antiscion_axis_info is freed.
|
||||||
*/
|
*/
|
||||||
void
|
void
|
||||||
gswe_antiscion_axis_info_unref(GsweAntiscionAxisInfo *antiscion_axis_info)
|
gswe_antiscion_axis_info_unref(GsweAntiscionAxisInfo *antiscion_axis_info)
|
||||||
@@ -102,7 +108,9 @@ gswe_antiscion_axis_info_unref(GsweAntiscionAxisInfo *antiscion_axis_info)
|
|||||||
* Sets the axis ID.
|
* Sets the axis ID.
|
||||||
*/
|
*/
|
||||||
void
|
void
|
||||||
gswe_antiscion_axis_info_set_axis(GsweAntiscionAxisInfo *antiscion_axis_info, GsweAntiscionAxis axis)
|
gswe_antiscion_axis_info_set_axis(
|
||||||
|
GsweAntiscionAxisInfo *antiscion_axis_info,
|
||||||
|
GsweAntiscionAxis axis)
|
||||||
{
|
{
|
||||||
antiscion_axis_info->axis = axis;
|
antiscion_axis_info->axis = axis;
|
||||||
}
|
}
|
||||||
@@ -124,12 +132,15 @@ gswe_antiscion_axis_info_get_axis(GsweAntiscionAxisInfo *antiscion_axis_info)
|
|||||||
/**
|
/**
|
||||||
* gswe_antiscion_axis_info_set_start_sign_info:
|
* gswe_antiscion_axis_info_set_start_sign_info:
|
||||||
* @antiscion_axis_info: (in): a #GsweAntiscionAxisInfo
|
* @antiscion_axis_info: (in): a #GsweAntiscionAxisInfo
|
||||||
* @sign_info: a #GsweSignInfo to set as the starting sign of @antiscion_axis_info
|
* @sign_info: a #GsweSignInfo to set as the starting sign of
|
||||||
|
* @antiscion_axis_info
|
||||||
*
|
*
|
||||||
* Sets the starting sign of the axis.
|
* Sets the starting sign of the axis.
|
||||||
*/
|
*/
|
||||||
void
|
void
|
||||||
gswe_antiscion_axis_info_set_start_sign_info(GsweAntiscionAxisInfo *antiscion_axis_info, GsweSignInfo *sign_info)
|
gswe_antiscion_axis_info_set_start_sign_info(
|
||||||
|
GsweAntiscionAxisInfo *antiscion_axis_info,
|
||||||
|
GsweSignInfo *sign_info)
|
||||||
{
|
{
|
||||||
if (antiscion_axis_info->start_sign != NULL) {
|
if (antiscion_axis_info->start_sign != NULL) {
|
||||||
gswe_sign_info_unref(antiscion_axis_info->start_sign);
|
gswe_sign_info_unref(antiscion_axis_info->start_sign);
|
||||||
@@ -144,10 +155,12 @@ gswe_antiscion_axis_info_set_start_sign_info(GsweAntiscionAxisInfo *antiscion_ax
|
|||||||
*
|
*
|
||||||
* Gets the starting sign of the axis.
|
* Gets the starting sign of the axis.
|
||||||
*
|
*
|
||||||
* Returns: (transfer none): the #GsweSignInfo of the sign in which this axis starts
|
* Returns: (transfer none): the #GsweSignInfo of the sign in which this axis
|
||||||
|
* starts
|
||||||
*/
|
*/
|
||||||
GsweSignInfo *
|
GsweSignInfo *
|
||||||
gswe_antiscion_axis_info_get_start_sign_info(GsweAntiscionAxisInfo *antiscion_axis_info)
|
gswe_antiscion_axis_info_get_start_sign_info(
|
||||||
|
GsweAntiscionAxisInfo *antiscion_axis_info)
|
||||||
{
|
{
|
||||||
return antiscion_axis_info->start_sign;
|
return antiscion_axis_info->start_sign;
|
||||||
}
|
}
|
||||||
@@ -165,13 +178,23 @@ gswe_antiscion_axis_info_get_start_sign_info(GsweAntiscionAxisInfo *antiscion_ax
|
|||||||
* be found.
|
* be found.
|
||||||
*/
|
*/
|
||||||
void
|
void
|
||||||
gswe_antiscion_axis_info_set_start_sign(GsweAntiscionAxisInfo *antiscion_axis_info, GsweZodiac sign, GError **err)
|
gswe_antiscion_axis_info_set_start_sign(
|
||||||
|
GsweAntiscionAxisInfo *antiscion_axis_info,
|
||||||
|
GsweZodiac sign,
|
||||||
|
GError **err)
|
||||||
{
|
{
|
||||||
GsweSignInfo *sign_info;
|
GsweSignInfo *sign_info;
|
||||||
|
|
||||||
if ((sign_info = g_hash_table_lookup(gswe_sign_info_table, GINT_TO_POINTER(sign))) == NULL) {
|
if ((sign_info = g_hash_table_lookup(
|
||||||
|
gswe_sign_info_table,
|
||||||
|
GINT_TO_POINTER(sign)
|
||||||
|
)) == NULL) {
|
||||||
g_warning("Trying to fetch an unregistered sign");
|
g_warning("Trying to fetch an unregistered sign");
|
||||||
g_set_error(err, GSWE_ERROR, GSWE_ERROR_UNKNOWN_SIGN, "The requested sign is not registered");
|
g_set_error(
|
||||||
|
err,
|
||||||
|
GSWE_ERROR, GSWE_ERROR_UNKNOWN_SIGN,
|
||||||
|
"The requested sign is not registered"
|
||||||
|
);
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -192,7 +215,8 @@ gswe_antiscion_axis_info_set_start_sign(GsweAntiscionAxisInfo *antiscion_axis_in
|
|||||||
* Returns: the corresponding sign ID
|
* Returns: the corresponding sign ID
|
||||||
*/
|
*/
|
||||||
GsweZodiac
|
GsweZodiac
|
||||||
gswe_antiscion_axis_info_get_start_sign(GsweAntiscionAxisInfo *antiscion_axis_info)
|
gswe_antiscion_axis_info_get_start_sign(
|
||||||
|
GsweAntiscionAxisInfo *antiscion_axis_info)
|
||||||
{
|
{
|
||||||
if (antiscion_axis_info->start_sign) {
|
if (antiscion_axis_info->start_sign) {
|
||||||
return antiscion_axis_info->start_sign->sign;
|
return antiscion_axis_info->start_sign->sign;
|
||||||
@@ -209,7 +233,9 @@ gswe_antiscion_axis_info_get_start_sign(GsweAntiscionAxisInfo *antiscion_axis_in
|
|||||||
* Sets the name of the axis
|
* Sets the name of the axis
|
||||||
*/
|
*/
|
||||||
void
|
void
|
||||||
gswe_antiscion_axis_info_set_name(GsweAntiscionAxisInfo *antiscion_axis_info, const gchar *name)
|
gswe_antiscion_axis_info_set_name(
|
||||||
|
GsweAntiscionAxisInfo *antiscion_axis_info,
|
||||||
|
const gchar *name)
|
||||||
{
|
{
|
||||||
if (antiscion_axis_info->name != NULL) {
|
if (antiscion_axis_info->name != NULL) {
|
||||||
g_free(antiscion_axis_info->name);
|
g_free(antiscion_axis_info->name);
|
||||||
@@ -240,7 +266,9 @@ gswe_antiscion_axis_info_get_name(GsweAntiscionAxisInfo *antiscion_axis_info)
|
|||||||
* Sets the offset at which the axis starts.
|
* Sets the offset at which the axis starts.
|
||||||
*/
|
*/
|
||||||
void
|
void
|
||||||
gswe_antiscion_axis_info_set_sign_offset(GsweAntiscionAxisInfo *antiscion_axis_info, gdouble sign_offset)
|
gswe_antiscion_axis_info_set_sign_offset(
|
||||||
|
GsweAntiscionAxisInfo *antiscion_axis_info,
|
||||||
|
gdouble sign_offset)
|
||||||
{
|
{
|
||||||
antiscion_axis_info->sign_offset = sign_offset;
|
antiscion_axis_info->sign_offset = sign_offset;
|
||||||
}
|
}
|
||||||
@@ -254,7 +282,8 @@ gswe_antiscion_axis_info_set_sign_offset(GsweAntiscionAxisInfo *antiscion_axis_i
|
|||||||
* Returns: the offset, in degrees
|
* Returns: the offset, in degrees
|
||||||
*/
|
*/
|
||||||
gdouble
|
gdouble
|
||||||
gswe_antiscion_axis_info_get_sign_offset(GsweAntiscionAxisInfo *antiscion_axis_info)
|
gswe_antiscion_axis_info_get_sign_offset(
|
||||||
|
GsweAntiscionAxisInfo *antiscion_axis_info)
|
||||||
{
|
{
|
||||||
return antiscion_axis_info->sign_offset;
|
return antiscion_axis_info->sign_offset;
|
||||||
}
|
}
|
||||||
|
@@ -28,8 +28,8 @@ G_BEGIN_DECLS
|
|||||||
/**
|
/**
|
||||||
* GsweAntiscionAxisInfo:
|
* GsweAntiscionAxisInfo:
|
||||||
*
|
*
|
||||||
* <structname>GsweAntiscionAxisInfo</structname> is an opaque structure whose members
|
* <structname>GsweAntiscionAxisInfo</structname> is an opaque structure whose
|
||||||
* cannot be accessed directly.
|
* members cannot be accessed directly.
|
||||||
*
|
*
|
||||||
* Since: 1.1
|
* Since: 1.1
|
||||||
*/
|
*/
|
||||||
@@ -40,23 +40,47 @@ GType gswe_antiscion_axis_info_get_type(void);
|
|||||||
|
|
||||||
GsweAntiscionAxisInfo *gswe_antiscion_axis_info_new(void);
|
GsweAntiscionAxisInfo *gswe_antiscion_axis_info_new(void);
|
||||||
|
|
||||||
GsweAntiscionAxisInfo *gswe_antiscion_axis_info_ref(GsweAntiscionAxisInfo *antiscion_axis_info);
|
GsweAntiscionAxisInfo *gswe_antiscion_axis_info_ref(
|
||||||
void gswe_antiscion_axis_info_unref(GsweAntiscionAxisInfo *antiscion_axis_info);
|
GsweAntiscionAxisInfo *antiscion_axis_info);
|
||||||
|
|
||||||
void gswe_antiscion_axis_info_set_axis(GsweAntiscionAxisInfo *antiscion_axis_info, GsweAntiscionAxis axis);
|
void gswe_antiscion_axis_info_unref(
|
||||||
GsweAntiscionAxis gswe_antiscion_axis_info_get_axis(GsweAntiscionAxisInfo *antiscion_axis_info);
|
GsweAntiscionAxisInfo *antiscion_axis_info);
|
||||||
|
|
||||||
void gswe_antiscion_axis_info_set_start_sign_info(GsweAntiscionAxisInfo *antiscion_axis_info, GsweSignInfo *sign_info);
|
void gswe_antiscion_axis_info_set_axis(
|
||||||
GsweSignInfo *gswe_antiscion_axis_info_get_start_sign_info(GsweAntiscionAxisInfo *antiscion_axis_info);
|
GsweAntiscionAxisInfo *antiscion_axis_info,
|
||||||
|
GsweAntiscionAxis axis);
|
||||||
|
|
||||||
void gswe_antiscion_axis_info_set_start_sign(GsweAntiscionAxisInfo *antiscion_axis_info, GsweZodiac sign, GError **err);
|
GsweAntiscionAxis gswe_antiscion_axis_info_get_axis(
|
||||||
GsweZodiac gswe_antiscion_axis_info_get_start_sign(GsweAntiscionAxisInfo *antiscion_axis_info);
|
GsweAntiscionAxisInfo *antiscion_axis_info);
|
||||||
|
|
||||||
void gswe_antiscion_axis_info_set_name(GsweAntiscionAxisInfo *antiscion_axis_info, const gchar *name);
|
void gswe_antiscion_axis_info_set_start_sign_info(
|
||||||
const gchar *gswe_antiscion_axis_info_get_name(GsweAntiscionAxisInfo *antiscion_axis_info);
|
GsweAntiscionAxisInfo *antiscion_axis_info,
|
||||||
|
GsweSignInfo *sign_info);
|
||||||
|
|
||||||
void gswe_antiscion_axis_info_set_sign_offset(GsweAntiscionAxisInfo *antiscion_axis_info, gdouble sign_offset);
|
GsweSignInfo *gswe_antiscion_axis_info_get_start_sign_info(
|
||||||
gdouble gswe_antiscion_axis_info_get_sign_offset(GsweAntiscionAxisInfo *antiscion_axis_info);
|
GsweAntiscionAxisInfo *antiscion_axis_info);
|
||||||
|
|
||||||
|
void gswe_antiscion_axis_info_set_start_sign(
|
||||||
|
GsweAntiscionAxisInfo *antiscion_axis_info,
|
||||||
|
GsweZodiac sign,
|
||||||
|
GError **err);
|
||||||
|
|
||||||
|
GsweZodiac gswe_antiscion_axis_info_get_start_sign(
|
||||||
|
GsweAntiscionAxisInfo *antiscion_axis_info);
|
||||||
|
|
||||||
|
void gswe_antiscion_axis_info_set_name(
|
||||||
|
GsweAntiscionAxisInfo *antiscion_axis_info,
|
||||||
|
const gchar *name);
|
||||||
|
|
||||||
|
const gchar *gswe_antiscion_axis_info_get_name(
|
||||||
|
GsweAntiscionAxisInfo *antiscion_axis_info);
|
||||||
|
|
||||||
|
void gswe_antiscion_axis_info_set_sign_offset(
|
||||||
|
GsweAntiscionAxisInfo *antiscion_axis_info,
|
||||||
|
gdouble sign_offset);
|
||||||
|
|
||||||
|
gdouble gswe_antiscion_axis_info_get_sign_offset(
|
||||||
|
GsweAntiscionAxisInfo *antiscion_axis_info);
|
||||||
|
|
||||||
G_END_DECLS
|
G_END_DECLS
|
||||||
|
|
||||||
|
@@ -33,7 +33,8 @@ struct _GsweAntiscionData {
|
|||||||
/* the #GsweAntiscionAxisInfo structure associated with this antiscion */
|
/* the #GsweAntiscionAxisInfo structure associated with this antiscion */
|
||||||
GsweAntiscionAxisInfo *antiscion_axis_info;
|
GsweAntiscionAxisInfo *antiscion_axis_info;
|
||||||
|
|
||||||
/* the difference in degrees between an exact antiscion and this given antiscion */
|
/* the difference in degrees between an exact antiscion and this given
|
||||||
|
* antiscion */
|
||||||
gdouble difference;
|
gdouble difference;
|
||||||
|
|
||||||
/* reference count */
|
/* reference count */
|
||||||
|
@@ -35,7 +35,12 @@
|
|||||||
* between two planets, based on a specified axis.
|
* between two planets, based on a specified axis.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
G_DEFINE_BOXED_TYPE(GsweAntiscionData, gswe_antiscion_data, (GBoxedCopyFunc)gswe_antiscion_data_ref, (GBoxedFreeFunc)gswe_antiscion_data_unref);
|
G_DEFINE_BOXED_TYPE(
|
||||||
|
GsweAntiscionData,
|
||||||
|
gswe_antiscion_data,
|
||||||
|
(GBoxedCopyFunc)gswe_antiscion_data_ref,
|
||||||
|
(GBoxedFreeFunc)gswe_antiscion_data_unref
|
||||||
|
);
|
||||||
|
|
||||||
static void
|
static void
|
||||||
gswe_antiscion_data_free(GsweAntiscionData *antiscion_data)
|
gswe_antiscion_data_free(GsweAntiscionData *antiscion_data)
|
||||||
@@ -51,6 +56,8 @@ gswe_antiscion_data_free(GsweAntiscionData *antiscion_data)
|
|||||||
if (antiscion_data->antiscion_axis_info) {
|
if (antiscion_data->antiscion_axis_info) {
|
||||||
gswe_antiscion_axis_info_unref(antiscion_data->antiscion_axis_info);
|
gswe_antiscion_axis_info_unref(antiscion_data->antiscion_axis_info);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
g_free(antiscion_data);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -74,15 +81,20 @@ gswe_antiscion_data_new(void)
|
|||||||
/*
|
/*
|
||||||
* find_antiscion:
|
* find_antiscion:
|
||||||
* @axis_p: a pointer made with GINT_TO_POINTER(), holding the antiscion axis ID
|
* @axis_p: a pointer made with GINT_TO_POINTER(), holding the antiscion axis ID
|
||||||
* @antiscion_axis_info: a GsweAntiscionAxisInfo, which will be checked against @antiscion_data
|
* @antiscion_axis_info: a GsweAntiscionAxisInfo, which will be checked against
|
||||||
* @antiscion_data: a GsweAntiscionData, whose planets' positions will be checked against @antiscion_axis_info
|
* @antiscion_data
|
||||||
|
* @antiscion_data: a GsweAntiscionData, whose planets' positions will be
|
||||||
|
* checked against @antiscion_axis_info
|
||||||
*
|
*
|
||||||
* This function is called internally by gswe_antiscion_data_calculate() to
|
* This function is called internally by gswe_antiscion_data_calculate() to
|
||||||
* check if the two planets in @antiscion_data are antiscia of each other on
|
* check if the two planets in @antiscion_data are antiscia of each other on
|
||||||
* the axis in @antiscion_axis_info
|
* the axis in @antiscion_axis_info
|
||||||
*/
|
*/
|
||||||
static gboolean
|
static gboolean
|
||||||
find_antiscion(gpointer axis_p, GsweAntiscionAxisInfo *antiscion_axis_info, GsweAntiscionData *antiscion_data)
|
find_antiscion(
|
||||||
|
gpointer axis_p,
|
||||||
|
GsweAntiscionAxisInfo *antiscion_axis_info,
|
||||||
|
GsweAntiscionData *antiscion_data)
|
||||||
{
|
{
|
||||||
GsweAntiscionAxis axis;
|
GsweAntiscionAxis axis;
|
||||||
gdouble start_point,
|
gdouble start_point,
|
||||||
@@ -93,7 +105,10 @@ find_antiscion(gpointer axis_p, GsweAntiscionAxisInfo *antiscion_axis_info, Gswe
|
|||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
planet_orb = fmin(antiscion_data->planet1->planet_info->orb, antiscion_data->planet2->planet_info->orb);
|
planet_orb = fmin(
|
||||||
|
antiscion_data->planet1->planet_info->orb,
|
||||||
|
antiscion_data->planet2->planet_info->orb
|
||||||
|
);
|
||||||
start_point = (antiscion_axis_info->start_sign->sign - 1) * 30.0;
|
start_point = (antiscion_axis_info->start_sign->sign - 1) * 30.0;
|
||||||
|
|
||||||
start_point += antiscion_axis_info->sign_offset;
|
start_point += antiscion_axis_info->sign_offset;
|
||||||
@@ -104,7 +119,9 @@ find_antiscion(gpointer axis_p, GsweAntiscionAxisInfo *antiscion_axis_info, Gswe
|
|||||||
axis_position += 360.0;
|
axis_position += 360.0;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((antiscion_data->difference = fabs(antiscion_data->planet2->position - axis_position)) <= planet_orb) {
|
if ((antiscion_data->difference = fabs(
|
||||||
|
antiscion_data->planet2->position - axis_position
|
||||||
|
)) <= planet_orb) {
|
||||||
antiscion_data->antiscion_axis_info = antiscion_axis_info;
|
antiscion_data->antiscion_axis_info = antiscion_axis_info;
|
||||||
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
@@ -137,8 +154,17 @@ find_antiscion(gpointer axis_p, GsweAntiscionAxisInfo *antiscion_axis_info, Gswe
|
|||||||
void
|
void
|
||||||
gswe_antiscion_data_calculate(GsweAntiscionData *antiscion_data)
|
gswe_antiscion_data_calculate(GsweAntiscionData *antiscion_data)
|
||||||
{
|
{
|
||||||
if ((antiscion_data->antiscion_axis_info = g_hash_table_find(gswe_antiscion_axis_info_table, (GHRFunc)find_antiscion, antiscion_data)) == NULL) {
|
if ((antiscion_data->antiscion_axis_info = g_hash_table_find(
|
||||||
antiscion_data->antiscion_axis_info = gswe_antiscion_axis_info_ref(g_hash_table_lookup(gswe_antiscion_axis_info_table, GINT_TO_POINTER(GSWE_ANTISCION_AXIS_NONE)));
|
gswe_antiscion_axis_info_table,
|
||||||
|
(GHRFunc)find_antiscion,
|
||||||
|
antiscion_data
|
||||||
|
)) == NULL) {
|
||||||
|
antiscion_data->antiscion_axis_info = gswe_antiscion_axis_info_ref(
|
||||||
|
g_hash_table_lookup(
|
||||||
|
gswe_antiscion_axis_info_table,
|
||||||
|
GINT_TO_POINTER(GSWE_ANTISCION_AXIS_NONE)
|
||||||
|
)
|
||||||
|
);
|
||||||
} else {
|
} else {
|
||||||
gswe_antiscion_axis_info_ref(antiscion_data->antiscion_axis_info);
|
gswe_antiscion_axis_info_ref(antiscion_data->antiscion_axis_info);
|
||||||
}
|
}
|
||||||
@@ -155,7 +181,9 @@ gswe_antiscion_data_calculate(GsweAntiscionData *antiscion_data)
|
|||||||
* Returns: (transfer full): a new #GsweAntiscionData
|
* Returns: (transfer full): a new #GsweAntiscionData
|
||||||
*/
|
*/
|
||||||
GsweAntiscionData *
|
GsweAntiscionData *
|
||||||
gswe_antiscion_data_new_with_planets(GswePlanetData *planet1, GswePlanetData *planet2)
|
gswe_antiscion_data_new_with_planets(
|
||||||
|
GswePlanetData *planet1,
|
||||||
|
GswePlanetData *planet2)
|
||||||
{
|
{
|
||||||
GsweAntiscionData *ret;
|
GsweAntiscionData *ret;
|
||||||
|
|
||||||
@@ -188,11 +216,16 @@ gswe_antiscion_data_ref(GsweAntiscionData *antiscion_data)
|
|||||||
* gswe_antiscion_data_unref:
|
* gswe_antiscion_data_unref:
|
||||||
* @antiscion_data: (in): a #GsweAntiscionData
|
* @antiscion_data: (in): a #GsweAntiscionData
|
||||||
*
|
*
|
||||||
* Decreases reference count on @antiscion_data. If reference count reaches zero, @antiscion_data is freed.
|
* Decreases reference count on @antiscion_data. If reference count reaches
|
||||||
|
* zero, @antiscion_data is freed.
|
||||||
*/
|
*/
|
||||||
void
|
void
|
||||||
gswe_antiscion_data_unref(GsweAntiscionData *antiscion_data)
|
gswe_antiscion_data_unref(GsweAntiscionData *antiscion_data)
|
||||||
{
|
{
|
||||||
|
if (antiscion_data == NULL) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if (--antiscion_data->refcount == 0) {
|
if (--antiscion_data->refcount == 0) {
|
||||||
gswe_antiscion_data_free(antiscion_data);
|
gswe_antiscion_data_free(antiscion_data);
|
||||||
}
|
}
|
||||||
@@ -206,7 +239,9 @@ gswe_antiscion_data_unref(GsweAntiscionData *antiscion_data)
|
|||||||
* Sets @planet1 as the first planet of the antiscion.
|
* Sets @planet1 as the first planet of the antiscion.
|
||||||
*/
|
*/
|
||||||
void
|
void
|
||||||
gswe_antiscion_data_set_planet1(GsweAntiscionData *antiscion_data, GswePlanetData *planet1)
|
gswe_antiscion_data_set_planet1(
|
||||||
|
GsweAntiscionData *antiscion_data,
|
||||||
|
GswePlanetData *planet1)
|
||||||
{
|
{
|
||||||
if (antiscion_data->planet1) {
|
if (antiscion_data->planet1) {
|
||||||
gswe_planet_data_unref(antiscion_data->planet1);
|
gswe_planet_data_unref(antiscion_data->planet1);
|
||||||
@@ -221,7 +256,8 @@ gswe_antiscion_data_set_planet1(GsweAntiscionData *antiscion_data, GswePlanetDat
|
|||||||
*
|
*
|
||||||
* Gets the first in the antiscion relationship.
|
* Gets the first in the antiscion relationship.
|
||||||
*
|
*
|
||||||
* Returns: (transfer none): The #GswePlanetData associated with the first planet.
|
* Returns: (transfer none): The #GswePlanetData associated with the first
|
||||||
|
* planet.
|
||||||
*/
|
*/
|
||||||
GswePlanetData *
|
GswePlanetData *
|
||||||
gswe_antiscion_data_get_planet1(GsweAntiscionData *antiscion_data)
|
gswe_antiscion_data_get_planet1(GsweAntiscionData *antiscion_data)
|
||||||
@@ -237,7 +273,9 @@ gswe_antiscion_data_get_planet1(GsweAntiscionData *antiscion_data)
|
|||||||
* Sets @planet2 as the second planet of the antiscion.
|
* Sets @planet2 as the second planet of the antiscion.
|
||||||
*/
|
*/
|
||||||
void
|
void
|
||||||
gswe_antiscion_data_set_planet2(GsweAntiscionData *antiscion_data, GswePlanetData *planet2)
|
gswe_antiscion_data_set_planet2(
|
||||||
|
GsweAntiscionData *antiscion_data,
|
||||||
|
GswePlanetData *planet2)
|
||||||
{
|
{
|
||||||
if (antiscion_data->planet2) {
|
if (antiscion_data->planet2) {
|
||||||
gswe_planet_data_unref(antiscion_data->planet2);
|
gswe_planet_data_unref(antiscion_data->planet2);
|
||||||
@@ -252,7 +290,8 @@ gswe_antiscion_data_set_planet2(GsweAntiscionData *antiscion_data, GswePlanetDat
|
|||||||
*
|
*
|
||||||
* Gets the second in the antiscion relationship.
|
* Gets the second in the antiscion relationship.
|
||||||
*
|
*
|
||||||
* Returns: (transfer none): The #GswePlanetData associated with the second planet.
|
* Returns: (transfer none): The #GswePlanetData associated with the second
|
||||||
|
* planet.
|
||||||
*/
|
*/
|
||||||
GswePlanetData *
|
GswePlanetData *
|
||||||
gswe_antiscion_data_get_planet2(GsweAntiscionData *antiscion_data)
|
gswe_antiscion_data_get_planet2(GsweAntiscionData *antiscion_data)
|
||||||
@@ -271,12 +310,22 @@ gswe_antiscion_data_get_planet2(GsweAntiscionData *antiscion_data)
|
|||||||
* the axis is not known.
|
* the axis is not known.
|
||||||
*/
|
*/
|
||||||
void
|
void
|
||||||
gswe_antiscion_data_set_axis(GsweAntiscionData *antiscion_data, GsweAntiscionAxis axis, GError **err)
|
gswe_antiscion_data_set_axis(
|
||||||
|
GsweAntiscionData *antiscion_data,
|
||||||
|
GsweAntiscionAxis axis,
|
||||||
|
GError **err)
|
||||||
{
|
{
|
||||||
GsweAntiscionAxisInfo *antiscion_axis_info;
|
GsweAntiscionAxisInfo *antiscion_axis_info;
|
||||||
|
|
||||||
if ((antiscion_axis_info = g_hash_table_lookup(gswe_antiscion_axis_info_table, GINT_TO_POINTER(axis))) == NULL) {
|
if ((antiscion_axis_info = g_hash_table_lookup(
|
||||||
g_set_error(err, GSWE_ERROR, GSWE_ERROR_UNKNOWN_ANTISCION_AXIS, "Unknown antiscion axis");
|
gswe_antiscion_axis_info_table,
|
||||||
|
GINT_TO_POINTER(axis)
|
||||||
|
)) == NULL) {
|
||||||
|
g_set_error(
|
||||||
|
err,
|
||||||
|
GSWE_ERROR, GSWE_ERROR_UNKNOWN_ANTISCION_AXIS,
|
||||||
|
"Unknown antiscion axis"
|
||||||
|
);
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -285,7 +334,9 @@ gswe_antiscion_data_set_axis(GsweAntiscionData *antiscion_data, GsweAntiscionAxi
|
|||||||
gswe_antiscion_axis_info_unref(antiscion_data->antiscion_axis_info);
|
gswe_antiscion_axis_info_unref(antiscion_data->antiscion_axis_info);
|
||||||
}
|
}
|
||||||
|
|
||||||
antiscion_data->antiscion_axis_info = gswe_antiscion_axis_info_ref(antiscion_axis_info);
|
antiscion_data->antiscion_axis_info = gswe_antiscion_axis_info_ref(
|
||||||
|
antiscion_axis_info
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -314,13 +365,17 @@ gswe_antiscion_data_get_axis(GsweAntiscionData *antiscion_data)
|
|||||||
* Sets @antiscion_axis_info as the axis of this #GsweAntiscionData.
|
* Sets @antiscion_axis_info as the axis of this #GsweAntiscionData.
|
||||||
*/
|
*/
|
||||||
void
|
void
|
||||||
gswe_antiscion_data_set_antiscion_axis_info(GsweAntiscionData *antiscion_data, GsweAntiscionAxisInfo *antiscion_axis_info)
|
gswe_antiscion_data_set_antiscion_axis_info(
|
||||||
|
GsweAntiscionData *antiscion_data,
|
||||||
|
GsweAntiscionAxisInfo *antiscion_axis_info)
|
||||||
{
|
{
|
||||||
if (antiscion_data->antiscion_axis_info) {
|
if (antiscion_data->antiscion_axis_info) {
|
||||||
gswe_antiscion_axis_info_unref(antiscion_data->antiscion_axis_info);
|
gswe_antiscion_axis_info_unref(antiscion_data->antiscion_axis_info);
|
||||||
}
|
}
|
||||||
|
|
||||||
antiscion_data->antiscion_axis_info = gswe_antiscion_axis_info_ref(antiscion_axis_info);
|
antiscion_data->antiscion_axis_info = gswe_antiscion_axis_info_ref(
|
||||||
|
antiscion_axis_info
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -329,7 +384,8 @@ gswe_antiscion_data_set_antiscion_axis_info(GsweAntiscionData *antiscion_data, G
|
|||||||
*
|
*
|
||||||
* Gets the axis information related to the antiscion relationship's axis.
|
* Gets the axis information related to the antiscion relationship's axis.
|
||||||
*
|
*
|
||||||
* Returns: (transfer none): the #GsweAntiscionAxisInfo associated with this axis
|
* Returns: (transfer none): the #GsweAntiscionAxisInfo associated with this
|
||||||
|
* axis
|
||||||
*/
|
*/
|
||||||
GsweAntiscionAxisInfo *
|
GsweAntiscionAxisInfo *
|
||||||
gswe_antiscion_data_get_antiscion_axis_info(GsweAntiscionData *antiscion_data)
|
gswe_antiscion_data_get_antiscion_axis_info(GsweAntiscionData *antiscion_data)
|
||||||
@@ -345,7 +401,9 @@ gswe_antiscion_data_get_antiscion_axis_info(GsweAntiscionData *antiscion_data)
|
|||||||
* Sets the difference of this antiscion from an exact antiscion.
|
* Sets the difference of this antiscion from an exact antiscion.
|
||||||
*/
|
*/
|
||||||
void
|
void
|
||||||
gswe_antiscion_data_set_difference(GsweAntiscionData *antiscion_data, gdouble difference)
|
gswe_antiscion_data_set_difference(
|
||||||
|
GsweAntiscionData *antiscion_data,
|
||||||
|
gdouble difference)
|
||||||
{
|
{
|
||||||
antiscion_data->difference = difference;
|
antiscion_data->difference = difference;
|
||||||
}
|
}
|
||||||
@@ -354,7 +412,8 @@ gswe_antiscion_data_set_difference(GsweAntiscionData *antiscion_data, gdouble di
|
|||||||
* gswe_antiscion_data_get_difference:
|
* gswe_antiscion_data_get_difference:
|
||||||
* @antiscion_data: (in): a #GsweAntiscionData
|
* @antiscion_data: (in): a #GsweAntiscionData
|
||||||
*
|
*
|
||||||
* Gets the difference between an exact antiscion and this antiscion relationship.
|
* Gets the difference between an exact antiscion and this antiscion
|
||||||
|
* relationship.
|
||||||
*
|
*
|
||||||
* Returns: the difference, in degrees
|
* Returns: the difference, in degrees
|
||||||
*/
|
*/
|
||||||
|
@@ -28,8 +28,8 @@ G_BEGIN_DECLS
|
|||||||
/**
|
/**
|
||||||
* GsweAntiscionData:
|
* GsweAntiscionData:
|
||||||
*
|
*
|
||||||
* <structname>GsweAntiscionData</structname> is an opaque structure whose members
|
* <structname>GsweAntiscionData</structname> is an opaque structure whose
|
||||||
* cannot be accessed directly.
|
* members cannot be accessed directly.
|
||||||
*
|
*
|
||||||
* Since: 1.1
|
* Since: 1.1
|
||||||
*/
|
*/
|
||||||
@@ -39,21 +39,37 @@ GType gswe_antiscion_data_get_type(void);
|
|||||||
#define GSWE_TYPE_ANTISCION_DATA (gswe_antiscion_data_get_type())
|
#define GSWE_TYPE_ANTISCION_DATA (gswe_antiscion_data_get_type())
|
||||||
|
|
||||||
GsweAntiscionData *gswe_antiscion_data_new(void);
|
GsweAntiscionData *gswe_antiscion_data_new(void);
|
||||||
GsweAntiscionData *gswe_antiscion_data_new_with_planets(GswePlanetData *planet1, GswePlanetData *planet2);
|
|
||||||
|
GsweAntiscionData *gswe_antiscion_data_new_with_planets(
|
||||||
|
GswePlanetData *planet1,
|
||||||
|
GswePlanetData *planet2);
|
||||||
|
|
||||||
GsweAntiscionData *gswe_antiscion_data_ref(GsweAntiscionData *antiscion_data);
|
GsweAntiscionData *gswe_antiscion_data_ref(GsweAntiscionData *antiscion_data);
|
||||||
|
|
||||||
void gswe_antiscion_data_unref(GsweAntiscionData *antiscion_data);
|
void gswe_antiscion_data_unref(GsweAntiscionData *antiscion_data);
|
||||||
|
|
||||||
void gswe_antiscion_data_calculate(GsweAntiscionData *antiscion_data);
|
void gswe_antiscion_data_calculate(GsweAntiscionData *antiscion_data);
|
||||||
|
|
||||||
void gswe_antiscion_data_set_planet1(GsweAntiscionData *antiscion_data, GswePlanetData *planet1);
|
void gswe_antiscion_data_set_planet1(
|
||||||
GswePlanetData *gswe_antiscion_data_get_planet1(GsweAntiscionData *antiscion_data);
|
GsweAntiscionData *antiscion_data,
|
||||||
|
GswePlanetData *planet1);
|
||||||
|
|
||||||
void gswe_antiscion_data_set_planet2(GsweAntiscionData *antiscion_data, GswePlanetData *planet2);
|
GswePlanetData *gswe_antiscion_data_get_planet1(
|
||||||
GswePlanetData *gswe_antiscion_data_get_planet2(GsweAntiscionData *antiscion_data);
|
GsweAntiscionData *antiscion_data);
|
||||||
|
|
||||||
|
void gswe_antiscion_data_set_planet2(
|
||||||
|
GsweAntiscionData *antiscion_data,
|
||||||
|
GswePlanetData *planet2);
|
||||||
|
|
||||||
|
GswePlanetData *gswe_antiscion_data_get_planet2(
|
||||||
|
GsweAntiscionData *antiscion_data);
|
||||||
|
|
||||||
|
GsweAntiscionAxis gswe_antiscion_data_get_axis(
|
||||||
|
GsweAntiscionData *antiscion_data);
|
||||||
|
|
||||||
|
GsweAntiscionAxisInfo *gswe_antiscion_data_get_antiscion_axis_info(
|
||||||
|
GsweAntiscionData *antiscion_data);
|
||||||
|
|
||||||
GsweAntiscionAxis gswe_antiscion_data_get_axis(GsweAntiscionData *antiscion_data);
|
|
||||||
GsweAntiscionAxisInfo *gswe_antiscion_data_get_antiscion_axis_info(GsweAntiscionData *antiscion_data);
|
|
||||||
gdouble gswe_antiscion_data_get_difference(GsweAntiscionData *antiscion_data);
|
gdouble gswe_antiscion_data_get_difference(GsweAntiscionData *antiscion_data);
|
||||||
|
|
||||||
G_END_DECLS
|
G_END_DECLS
|
||||||
|
@@ -35,7 +35,8 @@ struct _GsweAspectData {
|
|||||||
/* the #GsweAspectInfo structure associated with the aspect */
|
/* the #GsweAspectInfo structure associated with the aspect */
|
||||||
GsweAspectInfo *aspect_info;
|
GsweAspectInfo *aspect_info;
|
||||||
|
|
||||||
/* the difference in percent between an exact aspect and this given aspect */
|
/* the difference in percent between an exact aspect and this given
|
||||||
|
* aspect */
|
||||||
gdouble difference;
|
gdouble difference;
|
||||||
|
|
||||||
/* reference count */
|
/* reference count */
|
||||||
|
@@ -38,7 +38,12 @@
|
|||||||
* #GsweAspectData is a structure that represents two planets relation to each
|
* #GsweAspectData is a structure that represents two planets relation to each
|
||||||
* other, like their aspect and the aspect's difference from an exact aspect.
|
* other, like their aspect and the aspect's difference from an exact aspect.
|
||||||
*/
|
*/
|
||||||
G_DEFINE_BOXED_TYPE(GsweAspectData, gswe_aspect_data, (GBoxedCopyFunc)gswe_aspect_data_ref, (GBoxedFreeFunc)gswe_aspect_data_unref);
|
G_DEFINE_BOXED_TYPE(
|
||||||
|
GsweAspectData,
|
||||||
|
gswe_aspect_data,
|
||||||
|
(GBoxedCopyFunc)gswe_aspect_data_ref,
|
||||||
|
(GBoxedFreeFunc)gswe_aspect_data_unref
|
||||||
|
);
|
||||||
|
|
||||||
static void
|
static void
|
||||||
gswe_aspect_data_free(GsweAspectData *aspect_data)
|
gswe_aspect_data_free(GsweAspectData *aspect_data)
|
||||||
@@ -62,20 +67,27 @@ gswe_aspect_data_free(GsweAspectData *aspect_data)
|
|||||||
* find_aspect:
|
* find_aspect:
|
||||||
* @aspect_p: a pointer made with GINT_TO_POINTER(), holding the aspect ID
|
* @aspect_p: a pointer made with GINT_TO_POINTER(), holding the aspect ID
|
||||||
* @aspect_info: a GsweAspectInfo, which will be checked against @aspect_data
|
* @aspect_info: a GsweAspectInfo, which will be checked against @aspect_data
|
||||||
* @aspect_data: a GsweAspectData, whose planets' positions will be checked against @aspect_info
|
* @aspect_data: a GsweAspectData, whose planets' positions will be checked
|
||||||
|
* against @aspect_info
|
||||||
*
|
*
|
||||||
* This function is called internally by gswe_aspect_data_calculate() to check
|
* This function is called internally by gswe_aspect_data_calculate() to check
|
||||||
* if the two planets in @aspect_data are in aspect according to @aspect_info
|
* if the two planets in @aspect_data are in aspect according to @aspect_info
|
||||||
*/
|
*/
|
||||||
static gboolean
|
static gboolean
|
||||||
find_aspect(gpointer aspect_p, GsweAspectInfo *aspect_info, GsweAspectData *aspect_data)
|
find_aspect(
|
||||||
|
gpointer aspect_p,
|
||||||
|
GsweAspectInfo *aspect_info,
|
||||||
|
GsweAspectData *aspect_data)
|
||||||
{
|
{
|
||||||
gdouble diff,
|
gdouble diff,
|
||||||
planet_orb,
|
planet_orb,
|
||||||
aspect_orb;
|
aspect_orb;
|
||||||
|
|
||||||
diff = fabs(aspect_info->size - aspect_data->distance);
|
diff = fabs(aspect_info->size - aspect_data->distance);
|
||||||
planet_orb = fmin(aspect_data->planet1->planet_info->orb, aspect_data->planet2->planet_info->orb);
|
planet_orb = fmin(
|
||||||
|
aspect_data->planet1->planet_info->orb,
|
||||||
|
aspect_data->planet2->planet_info->orb
|
||||||
|
);
|
||||||
aspect_orb = fmax(1.0, planet_orb - aspect_info->orb_modifier);
|
aspect_orb = fmax(1.0, planet_orb - aspect_info->orb_modifier);
|
||||||
|
|
||||||
if (diff < aspect_orb) {
|
if (diff < aspect_orb) {
|
||||||
@@ -84,7 +96,8 @@ find_aspect(gpointer aspect_p, GsweAspectInfo *aspect_info, GsweAspectData *aspe
|
|||||||
if (aspect_info->size == 0) {
|
if (aspect_info->size == 0) {
|
||||||
aspect_data->difference = (1 - ((360.0 - diff) / 360.0)) * 100.0;
|
aspect_data->difference = (1 - ((360.0 - diff) / 360.0)) * 100.0;
|
||||||
} else {
|
} else {
|
||||||
aspect_data->difference = (1 - ((aspect_info->size - diff) / aspect_info->size)) * 100.0;
|
aspect_data->difference = (1
|
||||||
|
- ((aspect_info->size - diff) / aspect_info->size)) * 100.0;
|
||||||
}
|
}
|
||||||
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
@@ -96,12 +109,23 @@ find_aspect(gpointer aspect_p, GsweAspectInfo *aspect_info, GsweAspectData *aspe
|
|||||||
void
|
void
|
||||||
gswe_aspect_data_calculate(GsweAspectData *aspect_data)
|
gswe_aspect_data_calculate(GsweAspectData *aspect_data)
|
||||||
{
|
{
|
||||||
if ((aspect_data->distance = fabs(aspect_data->planet1->position - aspect_data->planet2->position)) > 180.0) {
|
if ((aspect_data->distance = fabs(
|
||||||
|
aspect_data->planet1->position
|
||||||
|
- aspect_data->planet2->position
|
||||||
|
)) > 180.0) {
|
||||||
aspect_data->distance = 360.0 - aspect_data->distance;
|
aspect_data->distance = 360.0 - aspect_data->distance;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((aspect_data->aspect_info = g_hash_table_find(gswe_aspect_info_table, (GHRFunc)find_aspect, aspect_data)) == NULL) {
|
if ((aspect_data->aspect_info = g_hash_table_find(
|
||||||
aspect_data->aspect_info = gswe_aspect_info_ref(g_hash_table_lookup(gswe_aspect_info_table, GINT_TO_POINTER(GSWE_ASPECT_NONE)));
|
gswe_aspect_info_table,
|
||||||
|
(GHRFunc)find_aspect, aspect_data
|
||||||
|
)) == NULL) {
|
||||||
|
aspect_data->aspect_info = gswe_aspect_info_ref(
|
||||||
|
g_hash_table_lookup(
|
||||||
|
gswe_aspect_info_table,
|
||||||
|
GINT_TO_POINTER(GSWE_ASPECT_NONE)
|
||||||
|
)
|
||||||
|
);
|
||||||
} else {
|
} else {
|
||||||
gswe_aspect_info_ref(aspect_data->aspect_info);
|
gswe_aspect_info_ref(aspect_data->aspect_info);
|
||||||
}
|
}
|
||||||
@@ -138,7 +162,9 @@ gswe_aspect_data_new(void)
|
|||||||
* Returns: (transfer full): a new #GsweAspectData with all data set.
|
* Returns: (transfer full): a new #GsweAspectData with all data set.
|
||||||
*/
|
*/
|
||||||
GsweAspectData *
|
GsweAspectData *
|
||||||
gswe_aspect_data_new_with_planets(GswePlanetData *planet1, GswePlanetData *planet2)
|
gswe_aspect_data_new_with_planets(
|
||||||
|
GswePlanetData *planet1,
|
||||||
|
GswePlanetData *planet2)
|
||||||
{
|
{
|
||||||
GsweAspectData *ret;
|
GsweAspectData *ret;
|
||||||
|
|
||||||
@@ -171,11 +197,16 @@ gswe_aspect_data_ref(GsweAspectData *aspect_data)
|
|||||||
* gswe_aspect_data_unref:
|
* gswe_aspect_data_unref:
|
||||||
* @aspect_data: (in): a #GsweAspectData
|
* @aspect_data: (in): a #GsweAspectData
|
||||||
*
|
*
|
||||||
* Decreases reference count on @aspect_data. If reference count reaches zero, @aspect_data is freed.
|
* Decreases reference count on @aspect_data. If reference count reaches zero,
|
||||||
|
* @aspect_data is freed.
|
||||||
*/
|
*/
|
||||||
void
|
void
|
||||||
gswe_aspect_data_unref(GsweAspectData *aspect_data)
|
gswe_aspect_data_unref(GsweAspectData *aspect_data)
|
||||||
{
|
{
|
||||||
|
if (aspect_data == NULL) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if (--aspect_data->refcount == 0) {
|
if (--aspect_data->refcount == 0) {
|
||||||
gswe_aspect_data_free(aspect_data);
|
gswe_aspect_data_free(aspect_data);
|
||||||
}
|
}
|
||||||
@@ -189,7 +220,9 @@ gswe_aspect_data_unref(GsweAspectData *aspect_data)
|
|||||||
* Sets @planet1 as the first planet of the aspect.
|
* Sets @planet1 as the first planet of the aspect.
|
||||||
*/
|
*/
|
||||||
void
|
void
|
||||||
gswe_aspect_data_set_planet1(GsweAspectData *aspect_data, GswePlanetData *planet1)
|
gswe_aspect_data_set_planet1(
|
||||||
|
GsweAspectData *aspect_data,
|
||||||
|
GswePlanetData *planet1)
|
||||||
{
|
{
|
||||||
if (aspect_data->planet1) {
|
if (aspect_data->planet1) {
|
||||||
gswe_planet_data_unref(aspect_data->planet1);
|
gswe_planet_data_unref(aspect_data->planet1);
|
||||||
@@ -197,7 +230,7 @@ gswe_aspect_data_set_planet1(GsweAspectData *aspect_data, GswePlanetData *planet
|
|||||||
|
|
||||||
aspect_data->planet1 = gswe_planet_data_ref(planet1);
|
aspect_data->planet1 = gswe_planet_data_ref(planet1);
|
||||||
|
|
||||||
if (aspect_data->planet2) {
|
if (planet1 && aspect_data->planet2) {
|
||||||
gswe_aspect_data_calculate(aspect_data);
|
gswe_aspect_data_calculate(aspect_data);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -208,7 +241,8 @@ gswe_aspect_data_set_planet1(GsweAspectData *aspect_data, GswePlanetData *planet
|
|||||||
*
|
*
|
||||||
* Gets the first planet in the aspect.
|
* Gets the first planet in the aspect.
|
||||||
*
|
*
|
||||||
* Returns: (transfer none): The #GswePlanetData associated with the first planet
|
* Returns: (transfer none): The #GswePlanetData associated with the first
|
||||||
|
* planet
|
||||||
*/
|
*/
|
||||||
GswePlanetData *
|
GswePlanetData *
|
||||||
gswe_aspect_data_get_planet1(GsweAspectData *aspect_data)
|
gswe_aspect_data_get_planet1(GsweAspectData *aspect_data)
|
||||||
@@ -224,7 +258,9 @@ gswe_aspect_data_get_planet1(GsweAspectData *aspect_data)
|
|||||||
* Sets @planet2 as the second planet of the aspect.
|
* Sets @planet2 as the second planet of the aspect.
|
||||||
*/
|
*/
|
||||||
void
|
void
|
||||||
gswe_aspect_data_set_planet2(GsweAspectData *aspect_data, GswePlanetData *planet2)
|
gswe_aspect_data_set_planet2(
|
||||||
|
GsweAspectData *aspect_data,
|
||||||
|
GswePlanetData *planet2)
|
||||||
{
|
{
|
||||||
if (aspect_data->planet2) {
|
if (aspect_data->planet2) {
|
||||||
gswe_planet_data_unref(aspect_data->planet2);
|
gswe_planet_data_unref(aspect_data->planet2);
|
||||||
@@ -232,7 +268,7 @@ gswe_aspect_data_set_planet2(GsweAspectData *aspect_data, GswePlanetData *planet
|
|||||||
|
|
||||||
aspect_data->planet2 = gswe_planet_data_ref(planet2);
|
aspect_data->planet2 = gswe_planet_data_ref(planet2);
|
||||||
|
|
||||||
if (aspect_data->planet1) {
|
if (aspect_data->planet1 && planet2) {
|
||||||
gswe_aspect_data_calculate(aspect_data);
|
gswe_aspect_data_calculate(aspect_data);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -243,7 +279,8 @@ gswe_aspect_data_set_planet2(GsweAspectData *aspect_data, GswePlanetData *planet
|
|||||||
*
|
*
|
||||||
* Gets the second planet in the aspect.
|
* Gets the second planet in the aspect.
|
||||||
*
|
*
|
||||||
* Returns: (transfer none): The #GswePlanetData associated with the second planet
|
* Returns: (transfer none): The #GswePlanetData associated with the second
|
||||||
|
* planet
|
||||||
*/
|
*/
|
||||||
GswePlanetData *
|
GswePlanetData *
|
||||||
gswe_aspect_data_get_planet2(GsweAspectData *aspect_data)
|
gswe_aspect_data_get_planet2(GsweAspectData *aspect_data)
|
||||||
|
@@ -37,23 +37,37 @@ G_BEGIN_DECLS
|
|||||||
typedef struct _GsweAspectData GsweAspectData;
|
typedef struct _GsweAspectData GsweAspectData;
|
||||||
|
|
||||||
GType gswe_aspect_data_get_type(void);
|
GType gswe_aspect_data_get_type(void);
|
||||||
|
|
||||||
#define GSWE_TYPE_ASPECT_DATA (gswe_aspect_data_get_type())
|
#define GSWE_TYPE_ASPECT_DATA (gswe_aspect_data_get_type())
|
||||||
|
|
||||||
GsweAspectData *gswe_aspect_data_new(void);
|
GsweAspectData *gswe_aspect_data_new(void);
|
||||||
GsweAspectData *gswe_aspect_data_new_with_planets(GswePlanetData *planet1, GswePlanetData *planet2);
|
|
||||||
|
GsweAspectData *gswe_aspect_data_new_with_planets(
|
||||||
|
GswePlanetData *planet1,
|
||||||
|
GswePlanetData *planet2);
|
||||||
|
|
||||||
GsweAspectData *gswe_aspect_data_ref(GsweAspectData *aspect_data);
|
GsweAspectData *gswe_aspect_data_ref(GsweAspectData *aspect_data);
|
||||||
|
|
||||||
void gswe_aspect_data_unref(GsweAspectData *aspect_data);
|
void gswe_aspect_data_unref(GsweAspectData *aspect_data);
|
||||||
|
|
||||||
void gswe_aspect_data_set_planet1(GsweAspectData *aspect_data, GswePlanetData *planet1);
|
void gswe_aspect_data_set_planet1(
|
||||||
|
GsweAspectData *aspect_data,
|
||||||
|
GswePlanetData *planet1);
|
||||||
|
|
||||||
GswePlanetData *gswe_aspect_data_get_planet1(GsweAspectData *aspect_data);
|
GswePlanetData *gswe_aspect_data_get_planet1(GsweAspectData *aspect_data);
|
||||||
|
|
||||||
void gswe_aspect_data_set_planet2(GsweAspectData *aspect_data, GswePlanetData *planet2);
|
void gswe_aspect_data_set_planet2(
|
||||||
|
GsweAspectData *aspect_data,
|
||||||
|
GswePlanetData *planet2);
|
||||||
|
|
||||||
GswePlanetData *gswe_aspect_data_get_planet2(GsweAspectData *aspect_data);
|
GswePlanetData *gswe_aspect_data_get_planet2(GsweAspectData *aspect_data);
|
||||||
|
|
||||||
gdouble gswe_aspect_data_get_distance(GsweAspectData *aspect_data);
|
gdouble gswe_aspect_data_get_distance(GsweAspectData *aspect_data);
|
||||||
|
|
||||||
GsweAspect gswe_aspect_data_get_aspect(GsweAspectData *aspect_data);
|
GsweAspect gswe_aspect_data_get_aspect(GsweAspectData *aspect_data);
|
||||||
|
|
||||||
GsweAspectInfo *gswe_aspect_data_get_aspect_info(GsweAspectData *aspect_data);
|
GsweAspectInfo *gswe_aspect_data_get_aspect_info(GsweAspectData *aspect_data);
|
||||||
|
|
||||||
gdouble gswe_aspect_data_get_difference(GsweAspectData *aspect_data);
|
gdouble gswe_aspect_data_get_difference(GsweAspectData *aspect_data);
|
||||||
|
|
||||||
G_END_DECLS
|
G_END_DECLS
|
||||||
|
@@ -32,7 +32,8 @@ struct _GsweAspectInfo {
|
|||||||
/* the size of the aspect, in degrees */
|
/* the size of the aspect, in degrees */
|
||||||
guint size;
|
guint size;
|
||||||
|
|
||||||
/* the modifier of the orb (the maximum allowable difference from an exact orb) */
|
/* the modifier of the orb (the maximum allowable difference from an exact
|
||||||
|
* orb) */
|
||||||
gdouble orb_modifier;
|
gdouble orb_modifier;
|
||||||
|
|
||||||
/* shows whether this aspect is harmonic or not */
|
/* shows whether this aspect is harmonic or not */
|
||||||
|
@@ -37,7 +37,12 @@
|
|||||||
* possible; until then, you should never use such functions.</para></warning>
|
* possible; until then, you should never use such functions.</para></warning>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
G_DEFINE_BOXED_TYPE(GsweAspectInfo, gswe_aspect_info, (GBoxedCopyFunc)gswe_aspect_info_ref, (GBoxedFreeFunc)gswe_aspect_info_unref);
|
G_DEFINE_BOXED_TYPE(
|
||||||
|
GsweAspectInfo,
|
||||||
|
gswe_aspect_info,
|
||||||
|
(GBoxedCopyFunc)gswe_aspect_info_ref,
|
||||||
|
(GBoxedFreeFunc)gswe_aspect_info_unref
|
||||||
|
);
|
||||||
|
|
||||||
static void
|
static void
|
||||||
gswe_aspect_info_free(GsweAspectInfo *aspect_info)
|
gswe_aspect_info_free(GsweAspectInfo *aspect_info)
|
||||||
@@ -194,7 +199,9 @@ gswe_aspect_info_get_size(GsweAspectInfo *aspect_info)
|
|||||||
* between two positions exceeds this limit, the aspect is not considered.
|
* between two positions exceeds this limit, the aspect is not considered.
|
||||||
*/
|
*/
|
||||||
void
|
void
|
||||||
gswe_aspect_info_set_orb_modifier(GsweAspectInfo *aspect_info, gdouble orb_modifier)
|
gswe_aspect_info_set_orb_modifier(
|
||||||
|
GsweAspectInfo *aspect_info,
|
||||||
|
gdouble orb_modifier)
|
||||||
{
|
{
|
||||||
aspect_info->orb_modifier = orb_modifier;
|
aspect_info->orb_modifier = orb_modifier;
|
||||||
}
|
}
|
||||||
@@ -217,7 +224,8 @@ gswe_aspect_info_get_orb_modifier(GsweAspectInfo *aspect_info)
|
|||||||
/**
|
/**
|
||||||
* gswe_aspect_info_set_harmonic:
|
* gswe_aspect_info_set_harmonic:
|
||||||
* @aspect_info: (in): a #GsweAspectInfo
|
* @aspect_info: (in): a #GsweAspectInfo
|
||||||
* @harmonic: TRUE, if @aspect_info should be considered harmonic; FALSE otherwise
|
* @harmonic: TRUE, if @aspect_info should be considered harmonic; FALSE
|
||||||
|
* otherwise
|
||||||
*
|
*
|
||||||
* Sets the harmonic state of @aspect_info.
|
* Sets the harmonic state of @aspect_info.
|
||||||
*/
|
*/
|
||||||
@@ -244,11 +252,13 @@ gswe_aspect_info_get_harmonic(GsweAspectInfo *aspect_info)
|
|||||||
/**
|
/**
|
||||||
* gswe_aspect_info_set_major:
|
* gswe_aspect_info_set_major:
|
||||||
* @aspect_info: (in): a #GsweAspectInfo
|
* @aspect_info: (in): a #GsweAspectInfo
|
||||||
* @major: TRUE, if @aspect_info should be considered major (Ptolemaic); FALSE otherwise
|
* @major: TRUE, if @aspect_info should be considered major (Ptolemaic); FALSE
|
||||||
|
* otherwise
|
||||||
*
|
*
|
||||||
* Sets the major state of @aspect_info.
|
* Sets the major state of @aspect_info.
|
||||||
*
|
*
|
||||||
* <note><para>As all Ptolemaic aspects are registered during gswe_init(), you should never set @major to TRUE on new aspects.</para></note>
|
* <note><para>As all Ptolemaic aspects are registered during gswe_init(), you
|
||||||
|
* should never set @major to TRUE on new aspects.</para></note>
|
||||||
*/
|
*/
|
||||||
void
|
void
|
||||||
gswe_aspect_info_set_major(GsweAspectInfo *aspect_info, gboolean major)
|
gswe_aspect_info_set_major(GsweAspectInfo *aspect_info, gboolean major)
|
||||||
|
@@ -40,21 +40,33 @@ GType gswe_aspect_info_get_type(void);
|
|||||||
GsweAspectInfo *gswe_aspect_info_new(void);
|
GsweAspectInfo *gswe_aspect_info_new(void);
|
||||||
|
|
||||||
GsweAspectInfo *gswe_aspect_info_ref(GsweAspectInfo *aspect_info);
|
GsweAspectInfo *gswe_aspect_info_ref(GsweAspectInfo *aspect_info);
|
||||||
|
|
||||||
void gswe_aspect_info_unref(GsweAspectInfo *aspect_info);
|
void gswe_aspect_info_unref(GsweAspectInfo *aspect_info);
|
||||||
|
|
||||||
void gswe_aspect_info_set_aspect(GsweAspectInfo *aspect_info, GsweAspect aspect);
|
void gswe_aspect_info_set_aspect(
|
||||||
|
GsweAspectInfo *aspect_info,
|
||||||
|
GsweAspect aspect);
|
||||||
|
|
||||||
GsweAspect gswe_aspect_info_get_aspect(GsweAspectInfo *aspect_info);
|
GsweAspect gswe_aspect_info_get_aspect(GsweAspectInfo *aspect_info);
|
||||||
|
|
||||||
void gswe_aspect_info_set_name(GsweAspectInfo *aspect_info, const gchar *name);
|
void gswe_aspect_info_set_name(GsweAspectInfo *aspect_info, const gchar *name);
|
||||||
|
|
||||||
const gchar *gswe_aspect_info_get_name(GsweAspectInfo *aspect_info);
|
const gchar *gswe_aspect_info_get_name(GsweAspectInfo *aspect_info);
|
||||||
|
|
||||||
void gswe_aspect_info_set_size(GsweAspectInfo *aspect_info, gdouble size);
|
void gswe_aspect_info_set_size(GsweAspectInfo *aspect_info, gdouble size);
|
||||||
|
|
||||||
gdouble gswe_aspect_info_get_size(GsweAspectInfo *aspect_info);
|
gdouble gswe_aspect_info_get_size(GsweAspectInfo *aspect_info);
|
||||||
|
|
||||||
void gswe_aspect_info_set_orb_modifier(GsweAspectInfo *aspect_info, gdouble orb_modifier);
|
void gswe_aspect_info_set_orb_modifier(
|
||||||
|
GsweAspectInfo *aspect_info,
|
||||||
|
gdouble orb_modifier);
|
||||||
|
|
||||||
gdouble gswe_aspect_info_get_orb_modifier(GsweAspectInfo *aspect_info);
|
gdouble gswe_aspect_info_get_orb_modifier(GsweAspectInfo *aspect_info);
|
||||||
|
|
||||||
void gswe_aspect_info_set_harmonic(GsweAspectInfo *aspect_info, gboolean harmonic);
|
void gswe_aspect_info_set_harmonic(
|
||||||
|
GsweAspectInfo *aspect_info,
|
||||||
|
gboolean harmonic);
|
||||||
|
|
||||||
gboolean gswe_aspect_info_get_harmonic(GsweAspectInfo *aspect_info);
|
gboolean gswe_aspect_info_get_harmonic(GsweAspectInfo *aspect_info);
|
||||||
|
|
||||||
void gswe_aspect_info_set_major(GsweAspectInfo *aspect_info, gboolean major);
|
void gswe_aspect_info_set_major(GsweAspectInfo *aspect_info, gboolean major);
|
||||||
|
@@ -39,14 +39,21 @@ GType
|
|||||||
/*** END value-header ***/
|
/*** END value-header ***/
|
||||||
|
|
||||||
/*** BEGIN value-production ***/
|
/*** BEGIN value-production ***/
|
||||||
{ @VALUENAME@, "@VALUENAME@", "@valuenick@" },
|
{
|
||||||
|
@VALUENAME@,
|
||||||
|
"@VALUENAME@",
|
||||||
|
"@valuenick@"
|
||||||
|
},
|
||||||
/*** END value-production ***/
|
/*** END value-production ***/
|
||||||
|
|
||||||
/*** BEGIN value-tail ***/
|
/*** BEGIN value-tail ***/
|
||||||
{ 0, NULL, NULL }
|
{ 0, NULL, NULL }
|
||||||
};
|
};
|
||||||
|
|
||||||
GType g_define_type_id = g_@type@_register_static(g_intern_static_string("@EnumName@"), values);
|
GType g_define_type_id = g_@type@_register_static(
|
||||||
|
g_intern_static_string("@EnumName@"),
|
||||||
|
values
|
||||||
|
);
|
||||||
|
|
||||||
g_once_init_leave(&g_define_type_id__volatile, g_define_type_id);
|
g_once_init_leave(&g_define_type_id__volatile, g_define_type_id);
|
||||||
}
|
}
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user