Instrument Neutral Distributed Interface INDI  2.0.2
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  {
47  }
48 
52 
55  virtual void SetApproximateMountAlignment(MountAlignment_t ApproximateAlignment)
56  {
57  ApproximateMountAlignment = ApproximateAlignment;
58  }
59 
66  virtual bool TransformCelestialToTelescope(const double RightAscension, const double Declination,
67  double JulianOffset,
68  TelescopeDirectionVector &ApparentTelescopeDirectionVector) = 0;
69 
75  virtual bool TransformTelescopeToCelestial(const TelescopeDirectionVector &ApparentTelescopeDirectionVector,
76  double &RightAscension, double &Declination) = 0;
77 
78  protected:
79  // Protected properties
84 };
85 
86 } // namespace AlignmentSubsystem
87 } // namespace INDI
This class provides the driver side API to the in memory alignment database.
Provides alignment subsystem functions to INDI alignment math plugins.
Definition: MathPlugin.h:30
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 ~MathPlugin()
Virtual destructor.
Definition: MathPlugin.h:39
InMemoryDatabase * pInMemoryDatabase
Definition: MathPlugin.h:83
virtual bool Initialise(InMemoryDatabase *pInMemoryDatabase)
Initialise or re-initialise the math plugin. Re-reading the in memory database as necessary.
Definition: MathPlugin.cpp:15
virtual void SetApproximateMountAlignment(MountAlignment_t ApproximateAlignment)
Set the approximate alognment of the mount.
Definition: MathPlugin.h:55
virtual bool TransformTelescopeToCelestial(const TelescopeDirectionVector &ApparentTelescopeDirectionVector, double &RightAscension, double &Declination)=0
Get the true celestial coordinates for the supplied telescope pointing direction.
virtual MountAlignment_t GetApproximateMountAlignment()
Get the approximate alognment of the mount.
Definition: MathPlugin.h:44
MathPlugin(MountAlignment_t ApproximateAlignment=ZENITH)
Default constructor.
Definition: MathPlugin.h:33
MountAlignment_t ApproximateMountAlignment
Describe the approximate alignment of the mount. This information is normally used in a one star alig...
Definition: MathPlugin.h:82
enum INDI::AlignmentSubsystem::MountAlignment MountAlignment_t
Namespace to encapsulate INDI client, drivers, and mediator classes.
Holds a nomalised direction vector (direction cosines)
Definition: Common.h:69