CelestialCalendar 1.0.0 · unreleased development @ 67a7c4c79a4a4a6aa7e703c9e6f0039ae34bee82
Loading...
Searching...
No Matches
astro::house::detail Namespace Reference

Enumerations

enum class  PlacidusCusp : uint8_t { TWO , THREE , ELEVEN , TWELVE }

Functions

auto midheaven (const toolbox::AngleDeg &armc, const toolbox::AngleDeg &obliquity) -> toolbox::AngleDeg
auto antipode (const toolbox::AngleDeg &angle) -> toolbox::AngleDeg
 Return the opposite ecliptic direction, normalized to [0°, 360°).
auto ascendant (const toolbox::AngleDeg &armc, const toolbox::AngleDeg &latitude, const toolbox::AngleDeg &obliquity) -> toolbox::AngleDeg
auto placidus_equation (const double longitude_deg, const toolbox::AngleDeg &latitude, const toolbox::AngleDeg &obliquity, const PlacidusCusp cusp) -> double
 Evaluate one Placidus semi-arc equation on its continuous longitude branch.
auto placidus_cusp (const toolbox::AngleDeg &armc, const toolbox::AngleDeg &latitude, const toolbox::AngleDeg &obliquity, const PlacidusCusp cusp, const std::size_t max_iterations=PLACIDUS_MAX_ITERATIONS) -> toolbox::AngleDeg
 Solve one Placidus cusp in degrees on the lifted semi-arc branch for the supplied house frame.
auto placidus_cusps (const toolbox::AngleDeg &armc, const toolbox::AngleDeg &latitude, const toolbox::AngleDeg &obliquity, const toolbox::AngleDeg &ascendant, const toolbox::AngleDeg &midheaven) -> std::array< toolbox::AngleDeg, 12 >
 Construct twelve Placidus cusps; latitude must lie strictly inside the obliquity's polar circles.
auto uniform_cusps (const toolbox::AngleDeg &first) -> std::array< toolbox::AngleDeg, 12 >
 Construct twelve 30-degree cusps from the first, each normalized to [0°, 360°).
auto whole_sign_start (const toolbox::AngleDeg &ascendant) -> toolbox::AngleDeg
 Return the start of the 30-degree sign containing the Ascendant; an exact boundary starts that sign.
auto axes (const toolbox::AngleDeg &armc, const toolbox::AngleDeg &latitude, const toolbox::AngleDeg &obliquity) -> Axes
 Resolve the horizon/ecliptic angles before any cusp construction.
auto calculate (const toolbox::AngleDeg &armc, const toolbox::AngleDeg &latitude, const toolbox::AngleDeg &obliquity, const System system) -> Result
 Resolve axes before cusps, with a physical-obliquity check only for Placidus.
auto validate (const double jd_ut1, const double jde_tt, const astro::GeoLocation &location) -> void
 Require finite UT1/TT times, nonpolar latitude and geographic longitude, in that order.

Variables

constexpr std::size_t PLACIDUS_BRACKET_SEGMENTS
constexpr double PLACIDUS_ROOT_TOLERANCE_DEG
constexpr std::size_t PLACIDUS_MAX_ITERATIONS
constexpr double ASCENDANT_ROUNDOFF_FACTOR

Enumeration Type Documentation

◆ PlacidusCusp

enum class astro::house::detail::PlacidusCusp : uint8_t
strong
Enumerator
TWO 
THREE 
ELEVEN 
TWELVE 

Function Documentation

◆ antipode()

auto astro::house::detail::antipode ( const toolbox::AngleDeg & angle) ->toolbox::AngleDeg
inlinenodiscard

Return the opposite ecliptic direction, normalized to [0°, 360°).

◆ ascendant()

auto astro::house::detail::ascendant ( const toolbox::AngleDeg & armc,
const toolbox::AngleDeg & latitude,
const toolbox::AngleDeg & obliquity )->toolbox::AngleDeg
inlinenodiscard
See also
Jean Meeus, "Astronomical Algorithms", Second Edition, Chapter 14, Formulas (14.2)-(14.3).

◆ axes()

auto astro::house::detail::axes ( const toolbox::AngleDeg & armc,
const toolbox::AngleDeg & latitude,
const toolbox::AngleDeg & obliquity )->Axes
inlinenodiscard

Resolve the horizon/ecliptic angles before any cusp construction.

◆ calculate()

auto astro::house::detail::calculate ( const toolbox::AngleDeg & armc,
const toolbox::AngleDeg & latitude,
const toolbox::AngleDeg & obliquity,
const System system )->Result
inlinenodiscard

Resolve axes before cusps, with a physical-obliquity check only for Placidus.

◆ midheaven()

auto astro::house::detail::midheaven ( const toolbox::AngleDeg & armc,
const toolbox::AngleDeg & obliquity )->toolbox::AngleDeg
inlinenodiscard
See also
Jean Meeus, "Astronomical Algorithms", Second Edition, Chapter 13, Formula (13.3), with β = 0.

◆ placidus_cusp()

auto astro::house::detail::placidus_cusp ( const toolbox::AngleDeg & armc,
const toolbox::AngleDeg & latitude,
const toolbox::AngleDeg & obliquity,
const PlacidusCusp cusp,
const std::size_t max_iterations = PLACIDUS_MAX_ITERATIONS )->toolbox::AngleDeg
inlinenodiscard

Solve one Placidus cusp in degrees on the lifted semi-arc branch for the supplied house frame.

Note
Accepts a small residual OR a small bracket, unlike the annual planetary crossing solver.

◆ placidus_cusps()

auto astro::house::detail::placidus_cusps ( const toolbox::AngleDeg & armc,
const toolbox::AngleDeg & latitude,
const toolbox::AngleDeg & obliquity,
const toolbox::AngleDeg & ascendant,
const toolbox::AngleDeg & midheaven )->std::array< toolbox::AngleDeg, 12 >
inlinenodiscard

Construct twelve Placidus cusps; latitude must lie strictly inside the obliquity's polar circles.

◆ placidus_equation()

auto astro::house::detail::placidus_equation ( const double longitude_deg,
const toolbox::AngleDeg & latitude,
const toolbox::AngleDeg & obliquity,
const PlacidusCusp cusp )->double
inlinenodiscard

Evaluate one Placidus semi-arc equation on its continuous longitude branch.

See also
Swiss Ephemeris General Documentation, Section 6.2.1, "Placidus" (semi-arc definition) - https://www.astro.com/swisseph/swisseph.htm

◆ uniform_cusps()

auto astro::house::detail::uniform_cusps ( const toolbox::AngleDeg & first) ->std::array< toolbox::AngleDeg, 12 >
inlinenodiscard

Construct twelve 30-degree cusps from the first, each normalized to [0°, 360°).

◆ validate()

auto astro::house::detail::validate ( const double jd_ut1,
const double jde_tt,
const astro::GeoLocation & location )->void
inline

Require finite UT1/TT times, nonpolar latitude and geographic longitude, in that order.

◆ whole_sign_start()

auto astro::house::detail::whole_sign_start ( const toolbox::AngleDeg & ascendant) ->toolbox::AngleDeg
inlinenodiscard

Return the start of the 30-degree sign containing the Ascendant; an exact boundary starts that sign.

Variable Documentation

◆ ASCENDANT_ROUNDOFF_FACTOR

double astro::house::detail::ASCENDANT_ROUNDOFF_FACTOR
inlineconstexpr

◆ PLACIDUS_BRACKET_SEGMENTS

std::size_t astro::house::detail::PLACIDUS_BRACKET_SEGMENTS
inlineconstexpr

◆ PLACIDUS_MAX_ITERATIONS

std::size_t astro::house::detail::PLACIDUS_MAX_ITERATIONS
inlineconstexpr

◆ PLACIDUS_ROOT_TOLERANCE_DEG

double astro::house::detail::PLACIDUS_ROOT_TOLERANCE_DEG
inlineconstexpr