License | AGPL-3 |
---|---|
Maintainer | swiss-ephemeris@lfborjas.com |
Portability | POSIX |
Safe Haskell | Safe-Inferred |
Language | Haskell2010 |
Declarations of bindings to the underlying C library's non-essential functionality.
Import at your own risk!
Exposes very low-level FFI bindings to the C library. Use the SwissEphemeris.*
modules and their more
Haskell-friendly exports.
Synopsis
- data GravityObject a = GravityObject {}
- c_grav_group :: Ptr (GravityObject a) -> CInt -> Ptr CDouble -> CInt -> CString -> IO CInt
- c_grav_group2 :: Ptr (GravityObject a) -> CInt -> Ptr CDouble -> CInt -> CBool -> CString -> IO CInt
Documentation
data GravityObject a Source #
Equivalent to GROB in gravgroup.h
GravityObject | |
|
Instances
Storable a => Storable (GravityObject a) Source # | |
Defined in Foreign.SwissEphemerisExtras sizeOf :: GravityObject a -> Int # alignment :: GravityObject a -> Int # peekElemOff :: Ptr (GravityObject a) -> Int -> IO (GravityObject a) # pokeElemOff :: Ptr (GravityObject a) -> Int -> GravityObject a -> IO () # peekByteOff :: Ptr b -> Int -> IO (GravityObject a) # pokeByteOff :: Ptr b -> Int -> GravityObject a -> IO () # peek :: Ptr (GravityObject a) -> IO (GravityObject a) # poke :: Ptr (GravityObject a) -> GravityObject a -> IO () # |
:: Ptr (GravityObject a) | array of |
-> CInt | nob |
-> Ptr CDouble | sectors; must include an extra, final sector. |
-> CInt | nsectors |
-> CString | char* err |
-> IO CInt |
Simple helper to recalculate positions for planets/bodies
for drawing in a circular chart without collisions/
overlaps, keeping them inside their assigned "sectors"
(e.g. houses.) See GravityObject
.
:: Ptr (GravityObject a) | array of |
-> CInt | nob |
-> Ptr CDouble | sectors; must include an extra, final sector. |
-> CInt | nsectors |
-> CBool | allow planets to "shift" levels? |
-> CString | char* err |
-> IO CInt |
More advanced version of grav_group
that also allows:
- Sending in zero sectors (i.e. just drawing in a circle)
- Shifting between "levels" (closer to the center) as a way of resolving collisions in glyphs.