diff --git a/examples/basic.lua b/examples/basic.lua new file mode 100644 index 0000000..cddfaef --- /dev/null +++ b/examples/basic.lua @@ -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