Instrument Neutral Distributed Interface INDI  2.0.2
Public Member Functions | Protected Attributes | List of all members
INDI::AlignmentSubsystem::MathPlugin Class Referenceabstract

Provides alignment subsystem functions to INDI alignment math plugins. More...

#include <MathPlugin.h>

Inheritance diagram for INDI::AlignmentSubsystem::MathPlugin:
INDI::AlignmentSubsystem::AlignmentSubsystemForMathPlugins INDI::AlignmentSubsystem::MathPluginManagement INDI::AlignmentSubsystem::BasicMathPlugin INDI::AlignmentSubsystem::DummyMathPlugin INDI::AlignmentSubsystem::NearestMathPlugin INDI::AlignmentSubsystem::AlignmentSubsystemForDrivers INDI::AlignmentSubsystem::BuiltInMathPlugin INDI::AlignmentSubsystem::SVDMathPlugin AstroTrac DSC Scope ScopeSim SkywatcherAPIMount

Public Member Functions

 MathPlugin (MountAlignment_t ApproximateAlignment=ZENITH)
 Default constructor. More...
 
virtual ~MathPlugin ()
 Virtual destructor. More...
 
virtual MountAlignment_t GetApproximateMountAlignment ()
 Get the approximate alognment of the mount. More...
 
virtual bool Initialise (InMemoryDatabase *pInMemoryDatabase)
 Initialise or re-initialise the math plugin. Re-reading the in memory database as necessary. More...
 
virtual void SetApproximateMountAlignment (MountAlignment_t ApproximateAlignment)
 Set the approximate alognment of the mount. More...
 
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. More...
 
virtual bool TransformTelescopeToCelestial (const TelescopeDirectionVector &ApparentTelescopeDirectionVector, double &RightAscension, double &Declination)=0
 Get the true celestial coordinates for the supplied telescope pointing direction. More...
 

Protected Attributes

MountAlignment_t ApproximateMountAlignment
 Describe the approximate alignment of the mount. This information is normally used in a one star alignment calculation. More...
 
InMemoryDatabasepInMemoryDatabase
 

Detailed Description

Provides alignment subsystem functions to INDI alignment math plugins.

Note
This class is intended to be implemented within a dynamic shared object. If the implementation of this class uses a standard 3 by 3 transformation matrix to convert between coordinate systems then it will not normally need to know the handedness of either the celestial or telescope coordinate systems, as the necessary rotations and scaling will be handled in the derivation of the matrix coefficients. This will normally be done using the three reference (sync) points method. Knowledge of the handedness of the coordinate systems is needed when only two reference points are available and a third reference point has to artificially generated in order to derive the matrix coefficients.

Definition at line 29 of file MathPlugin.h.

Constructor & Destructor Documentation

◆ MathPlugin()

INDI::AlignmentSubsystem::MathPlugin::MathPlugin ( MountAlignment_t  ApproximateAlignment = ZENITH)
inline

Default constructor.

Definition at line 33 of file MathPlugin.h.

◆ ~MathPlugin()

virtual INDI::AlignmentSubsystem::MathPlugin::~MathPlugin ( )
inlinevirtual

Virtual destructor.

Definition at line 39 of file MathPlugin.h.

Member Function Documentation

◆ GetApproximateMountAlignment()

virtual MountAlignment_t INDI::AlignmentSubsystem::MathPlugin::GetApproximateMountAlignment ( )
inlinevirtual

Get the approximate alognment of the mount.

Returns
the approximate alignment

Reimplemented in INDI::AlignmentSubsystem::MathPluginManagement.

Definition at line 44 of file MathPlugin.h.

◆ Initialise()

bool INDI::AlignmentSubsystem::MathPlugin::Initialise ( InMemoryDatabase pInMemoryDatabase)
virtual

Initialise or re-initialise the math plugin. Re-reading the in memory database as necessary.

Returns
True if successful

Reimplemented in INDI::AlignmentSubsystem::NearestMathPlugin, INDI::AlignmentSubsystem::MathPluginManagement, INDI::AlignmentSubsystem::DummyMathPlugin, and INDI::AlignmentSubsystem::BasicMathPlugin.

Definition at line 15 of file MathPlugin.cpp.

◆ SetApproximateMountAlignment()

virtual void INDI::AlignmentSubsystem::MathPlugin::SetApproximateMountAlignment ( MountAlignment_t  ApproximateAlignment)
inlinevirtual

Set the approximate alognment of the mount.

Parameters
[in]ApproximateAlignment- the approximate alignment of the mount

Reimplemented in INDI::AlignmentSubsystem::MathPluginManagement.

Definition at line 55 of file MathPlugin.h.

◆ TransformCelestialToTelescope()

virtual bool INDI::AlignmentSubsystem::MathPlugin::TransformCelestialToTelescope ( const double  RightAscension,
const double  Declination,
double  JulianOffset,
TelescopeDirectionVector ApparentTelescopeDirectionVector 
)
pure virtual

Get the alignment corrected telescope pointing direction for the supplied celestial coordinates.

Parameters
[in]RightAscensionRight Ascension (Decimal Hours).
[in]DeclinationDeclination (Decimal Degrees).
[in]JulianOffsetto be applied to the current julian date.
[out]ApparentTelescopeDirectionVectorParameter to receive the corrected telescope direction
Returns
True if successful

Implemented in INDI::AlignmentSubsystem::NearestMathPlugin, INDI::AlignmentSubsystem::MathPluginManagement, INDI::AlignmentSubsystem::DummyMathPlugin, and INDI::AlignmentSubsystem::BasicMathPlugin.

◆ TransformTelescopeToCelestial()

virtual bool INDI::AlignmentSubsystem::MathPlugin::TransformTelescopeToCelestial ( const TelescopeDirectionVector ApparentTelescopeDirectionVector,
double &  RightAscension,
double &  Declination 
)
pure virtual

Get the true celestial coordinates for the supplied telescope pointing direction.

Parameters
[in]ApparentTelescopeDirectionVectorthe telescope direction
[out]RightAscensionParameter to receive the Right Ascension (Decimal Hours).
[out]DeclinationParameter to receive the Declination (Decimal Degrees).
Returns
True if successful

Implemented in INDI::AlignmentSubsystem::NearestMathPlugin, INDI::AlignmentSubsystem::MathPluginManagement, INDI::AlignmentSubsystem::DummyMathPlugin, and INDI::AlignmentSubsystem::BasicMathPlugin.

Member Data Documentation

◆ ApproximateMountAlignment

MountAlignment_t INDI::AlignmentSubsystem::MathPlugin::ApproximateMountAlignment
protected

Describe the approximate alignment of the mount. This information is normally used in a one star alignment calculation.

Definition at line 82 of file MathPlugin.h.

◆ pInMemoryDatabase

InMemoryDatabase* INDI::AlignmentSubsystem::MathPlugin::pInMemoryDatabase
protected

Definition at line 83 of file MathPlugin.h.


The documentation for this class was generated from the following files: