You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Alignment: deprecate old Transform* shims, migrate all in-tree callers to *JD (#2388)
* Alignment: add TransformCelestialToTelescopeJD / TransformTelescopeToCelestialJD
Add new *JD variants to MathPlugin and all built-in plugins (BasicMathPlugin,
NearestMathPlugin, SPKMathPlugin, DummyMathPlugin) that accept an absolute
Julian Date instead of reading the system clock internally. The old
TransformCelestialToTelescope / TransformTelescopeToCelestial methods become
thin shims (resolving ln_get_julian_from_sys() + JulianOffset) to preserve
binary ABI compatibility with external DSO plugins. MathPluginManagement gains
matching *JD dispatch methods; its old methods are also reduced to shims.
Test suite migrated from the joff = fixedJD - ln_get_julian_from_sys() hack
to direct *JD calls with a static constexpr fixedJD, making all tests
deterministic and clock-independent.
* Alignment: fix JD fallback offset, add override, remove dead code
Fix MathPlugin default TransformCelestialToTelescopeJD/TransformTelescopeToCelestialJD
fallback to pass JulianDate - ln_get_julian_from_sys() as the offset, so legacy external
plugins that add ln_get_julian_from_sys() internally recover the correct absolute JD.
Add override keyword to *JD method declarations in BasicMathPlugin, NearestMathPlugin,
and DummyMathPlugin for consistency with SPKMathPlugin and compiler-enforced signature
checking.
Remove dead pTransformCelestialToTelescope and pTransformTelescopeToCelestial function
pointer members from MathPluginManagement (dispatch now goes through direct virtual
calls on pLoadedMathPlugin).
Remove stale commented-out ln_get_julian_from_sys() lines from BasicMathPlugin.cpp
and the trivial JDD alias variables from NearestMathPlugin.cpp.
Add two regression tests (LegacyPlugin_JD_Fallback_*) that verify the fallback offset
computation is correct for legacy external plugins.
* Alignment: deprecate old Transform* shims, migrate all in-tree callers to *JD
Mark MathPluginManagement::TransformCelestialToTelescope and
TransformTelescopeToCelestial [[deprecated]] so callers get compiler
warnings. Thread an explicit JD parameter through
AlignmentSubsystemForDrivers (default = ln_get_julian_from_sys() for
source compatibility), and update all in-tree driver and example call
sites to use TransformCelestialToTelescopeJD / TransformTelescopeToCelestialJD
directly.
skywatcherAPIMount non-zero offset sites (JulianOffset axis, bracket
tracking) now compute the absolute JD explicitly before calling *JD
instead of passing a relative offset. The JDnow variable is hoisted
before the if/else so both branches share the same sample.
External math plugins are unaffected: MathPlugin.h pure virtuals
are intentionally left un-deprecated.
0 commit comments