Instrument Neutral Distributed Interface INDI  1.9.5
MathPlugin.h
Go to the documentation of this file.
1 
9 #pragma once
10 
11 #include "InMemoryDatabase.h"
12 
13 namespace INDI
14 {
15 namespace AlignmentSubsystem
16 {
30 {
31  public:
33  MathPlugin(MountAlignment_t ApproximateAlignment = ZENITH)
34  : ApproximateMountAlignment(ApproximateAlignment), pInMemoryDatabase(NULL)
35  {
36  }
37 
39  virtual ~MathPlugin() {}
40 
41  // Public methods
45 
49 
52  virtual void SetApproximateMountAlignment(MountAlignment_t ApproximateAlignment)
53  {
54  ApproximateMountAlignment = ApproximateAlignment;
55  }
56 
63  virtual bool TransformCelestialToTelescope(const double RightAscension, const double Declination,
64  double JulianOffset,
65  TelescopeDirectionVector &ApparentTelescopeDirectionVector) = 0;
66 
72  virtual bool TransformTelescopeToCelestial(const TelescopeDirectionVector &ApparentTelescopeDirectionVector,
73  double &RightAscension, double &Declination) = 0;
74 
75  protected:
76  // Protected properties
81 };
82 
83 } // namespace AlignmentSubsystem
84 } // namespace INDI
INDI::AlignmentSubsystem::ZENITH
@ ZENITH
Definition: Common.h:30
InMemoryDatabase.h
INDI::AlignmentSubsystem::MathPlugin::ApproximateMountAlignment
MountAlignment_t ApproximateMountAlignment
Describe the approximate alignment of the mount. This information is normally used in a one star alig...
Definition: MathPlugin.h:79
INDI::AlignmentSubsystem::MathPlugin::GetApproximateMountAlignment
virtual MountAlignment_t GetApproximateMountAlignment()
Get the approximate alognment of the mount.
Definition: MathPlugin.h:44
INDI::AlignmentSubsystem::MathPlugin::Initialise
virtual bool Initialise(InMemoryDatabase *pInMemoryDatabase)
Initialise or re-initialise the math plugin. Re-reading the in memory database as necessary.
Definition: MathPlugin.cpp:15
INDI::AlignmentSubsystem::InMemoryDatabase
This class provides the driver side API to the in memory alignment database.
Definition: InMemoryDatabase.h:23
INDI::AlignmentSubsystem::MathPlugin::~MathPlugin
virtual ~MathPlugin()
Virtual destructor.
Definition: MathPlugin.h:39
INDI::AlignmentSubsystem::MathPlugin::SetApproximateMountAlignment
virtual void SetApproximateMountAlignment(MountAlignment_t ApproximateAlignment)
Set the approximate alognment of the mount.
Definition: MathPlugin.h:52
INDI::AlignmentSubsystem::MathPlugin::pInMemoryDatabase
InMemoryDatabase * pInMemoryDatabase
Definition: MathPlugin.h:80
INDI::AlignmentSubsystem::MathPlugin::TransformTelescopeToCelestial
virtual bool TransformTelescopeToCelestial(const TelescopeDirectionVector &ApparentTelescopeDirectionVector, double &RightAscension, double &Declination)=0
Get the true celestial coordinates for the supplied telescope pointing direction.
INDI::AlignmentSubsystem::MathPlugin
Provides alignment subsystem functions to INDI alignment math plugins.
Definition: MathPlugin.h:29
INDI
Namespace to encapsulate INDI client, drivers, and mediator classes.
Definition: AlignmentSubsystemForClients.cpp:11
INDI::AlignmentSubsystem::MathPlugin::MathPlugin
MathPlugin(MountAlignment_t ApproximateAlignment=ZENITH)
Default constructor.
Definition: MathPlugin.h:33
INDI::AlignmentSubsystem::MountAlignment_t
enum INDI::AlignmentSubsystem::MountAlignment MountAlignment_t
INDI::AlignmentSubsystem::MathPlugin::TransformCelestialToTelescope
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.
INDI::AlignmentSubsystem::TelescopeDirectionVector
Holds a nomalised direction vector (direction cosines)
Definition: Common.h:68