|
Instrument Neutral Distributed Interface INDI 2.2.5
|
Provides alignment subsystem functions to INDI alignment math plugins. More...
#include <MathPlugin.h>
Public Member Functions | |
| MathPlugin (MountAlignment_t ApproximateAlignment=ZENITH) | |
| Default constructor. | |
| virtual | ~MathPlugin () |
| Virtual destructor. | |
| virtual MountAlignment_t | GetApproximateMountAlignment () |
| Get the approximate alignment of the mount. | |
| virtual bool | Initialise (InMemoryDatabase *pInMemoryDatabase) |
| Initialise or re-initialise the math plugin. Re-reading the in memory database as necessary. | |
| virtual void | SetApproximateMountAlignment (MountAlignment_t ApproximateAlignment) |
| Set the approximate alignment of the mount. | |
| virtual bool | TransformCelestialToTelescopeJD (double RightAscension, double Declination, double JulianDate, TelescopeDirectionVector &ApparentTelescopeDirectionVector) |
| Get the alignment corrected telescope pointing direction for the supplied celestial coordinates. | |
| virtual bool | TransformTelescopeToCelestialJD (const TelescopeDirectionVector &ApparentTelescopeDirectionVector, double &RightAscension, double &Declination, double JulianDate) |
| Get the true celestial coordinates for the supplied telescope pointing direction. | |
| virtual bool | TransformCelestialToTelescope (const double RightAscension, const double Declination, double JulianOffset, TelescopeDirectionVector &ApparentTelescopeDirectionVector)=0 |
| Get the alignment corrected telescope pointing direction for the supplied celestial coordinates. | |
| virtual bool | TransformTelescopeToCelestial (const TelescopeDirectionVector &ApparentTelescopeDirectionVector, double &RightAscension, double &Declination, double JulianOffset=0)=0 |
| Get the true celestial coordinates for the supplied telescope pointing direction. | |
Static Public Member Functions | |
| static void | SanitizePolarEntries (InMemoryDatabase *pInMemoryDatabase, MountAlignment_t mountAlignment) |
| Sanitize alignment database entries that are near the pole (EQ) or zenith (altaz). At these singularities the roll-axis (HA or Az) component of the TDV is unconstrained, making any pointing model ill-conditioned. | |
Protected Attributes | |
| MountAlignment_t | ApproximateMountAlignment |
| Describe the approximate alignment of the mount. This information is normally used in a one star alignment calculation. | |
| InMemoryDatabase * | pInMemoryDatabase |
Provides alignment subsystem functions to INDI alignment math plugins.
Definition at line 30 of file MathPlugin.h.
|
inline |
Default constructor.
Definition at line 34 of file MathPlugin.h.
|
inlinevirtual |
Virtual destructor.
Definition at line 40 of file MathPlugin.h.
|
inlinevirtual |
Get the approximate alignment of the mount.
Reimplemented in INDI::AlignmentSubsystem::MathPluginManagement.
Definition at line 45 of file MathPlugin.h.
|
virtual |
Initialise or re-initialise the math plugin. Re-reading the in memory database as necessary.
Reimplemented in INDI::AlignmentSubsystem::MathPluginManagement, INDI::AlignmentSubsystem::BasicMathPlugin, INDI::AlignmentSubsystem::DummyMathPlugin, INDI::AlignmentSubsystem::NearestMathPlugin, and INDI::AlignmentSubsystem::SPKMathPlugin.
Definition at line 34 of file MathPlugin.cpp.
|
static |
Sanitize alignment database entries that are near the pole (EQ) or zenith (altaz). At these singularities the roll-axis (HA or Az) component of the TDV is unconstrained, making any pointing model ill-conditioned.
The method shifts such entries to a moderate pitch by applying the same delta to both the TDV encoder position and the celestial declination, preserving the pointing correction while breaking the degeneracy. The encoder HA/Az is reconstructed from the celestial coordinates, implicitly assuming zero roll-index error.
Call this before processing the database in Initialise().
Definition at line 41 of file MathPlugin.cpp.
|
inlinevirtual |
Set the approximate alignment of the mount.
| [in] | ApproximateAlignment | - the approximate alignment of the mount |
Reimplemented in INDI::AlignmentSubsystem::MathPluginManagement.
Definition at line 56 of file MathPlugin.h.
|
pure virtual |
Get the alignment corrected telescope pointing direction for the supplied celestial coordinates.
| [in] | RightAscension | Right Ascension (Decimal Hours). |
| [in] | Declination | Declination (Decimal Degrees). |
| [in] | JulianOffset | Offset (days) added to ln_get_julian_from_sys() to form the Julian Date. |
| [out] | ApparentTelescopeDirectionVector | Parameter to receive the corrected telescope direction |
Implemented in INDI::AlignmentSubsystem::MathPluginManagement, INDI::AlignmentSubsystem::BasicMathPlugin, INDI::AlignmentSubsystem::DummyMathPlugin, INDI::AlignmentSubsystem::NearestMathPlugin, and INDI::AlignmentSubsystem::SPKMathPlugin.
|
virtual |
Get the alignment corrected telescope pointing direction for the supplied celestial coordinates.
| [in] | RightAscension | Right Ascension (Decimal Hours). |
| [in] | Declination | Declination (Decimal Degrees). |
| [in] | JulianDate | Absolute Julian Date (days). |
| [out] | ApparentTelescopeDirectionVector | Parameter to receive the corrected telescope direction |
Reimplemented in INDI::AlignmentSubsystem::MathPluginManagement, INDI::AlignmentSubsystem::BasicMathPlugin, INDI::AlignmentSubsystem::DummyMathPlugin, INDI::AlignmentSubsystem::NearestMathPlugin, and INDI::AlignmentSubsystem::SPKMathPlugin.
Definition at line 20 of file MathPlugin.cpp.
|
pure virtual |
Get the true celestial coordinates for the supplied telescope pointing direction.
| [in] | ApparentTelescopeDirectionVector | the telescope direction |
| [out] | RightAscension | Parameter to receive the Right Ascension (Decimal Hours). |
| [out] | Declination | Parameter to receive the Declination (Decimal Degrees). |
| [in] | JulianOffset | Offset (days) added to ln_get_julian_from_sys() to form the Julian Date (default 0). |
Implemented in INDI::AlignmentSubsystem::MathPluginManagement, INDI::AlignmentSubsystem::BasicMathPlugin, INDI::AlignmentSubsystem::DummyMathPlugin, INDI::AlignmentSubsystem::NearestMathPlugin, and INDI::AlignmentSubsystem::SPKMathPlugin.
|
virtual |
Get the true celestial coordinates for the supplied telescope pointing direction.
| [in] | ApparentTelescopeDirectionVector | the telescope direction |
| [out] | RightAscension | Parameter to receive the Right Ascension (Decimal Hours). |
| [out] | Declination | Parameter to receive the Declination (Decimal Degrees). |
| [in] | JulianDate | Absolute Julian Date (days). |
Reimplemented in INDI::AlignmentSubsystem::MathPluginManagement, INDI::AlignmentSubsystem::BasicMathPlugin, INDI::AlignmentSubsystem::DummyMathPlugin, INDI::AlignmentSubsystem::NearestMathPlugin, and INDI::AlignmentSubsystem::SPKMathPlugin.
Definition at line 27 of file MathPlugin.cpp.
|
protected |
Describe the approximate alignment of the mount. This information is normally used in a one star alignment calculation.
Definition at line 128 of file MathPlugin.h.
|
protected |
Definition at line 129 of file MathPlugin.h.