Instrument Neutral Distributed Interface INDI
1.9.5
|
Go to the documentation of this file.
19 namespace AlignmentSubsystem
95 CurrentInMemoryDatabase = pDatabase;
108 return AlignmentSubsystemActive.s ==
ISS_ON ? true :
false;
118 double &RightAscension,
double &Declination);
121 void EnumeratePlugins();
122 void HandlePluginLoading(
Telescope *pTelescope,
int CurrentPlugin,
int NewPlugin);
123 std::vector<std::string> MathPluginFiles;
124 std::vector<std::string> MathPluginDisplayNames;
126 std::unique_ptr<ISwitch> AlignmentSubsystemMathPlugins;
128 ISwitch AlignmentSubsystemMathPluginInitialise;
130 ISwitch AlignmentSubsystemActive;
136 IText AlignmentSubsystemCurrentMathPlugin;
144 bool (
MathPlugin::*pTransformCelestialToTelescope)(
const double RightAscension,
const double Declination,
148 double &RightAscension,
double &Declination);
150 void *LoadedMathPluginHandle;
void SaveConfigProperties(FILE *fp)
Call this function to save persistent math plugin properties. This function should be called from wit...
MathPluginManagement()
Default constructor.
void SetApproximateMountAlignmentFromMountType(MountType_t Type)
Call this function to set the ApproximateMountAlignment property of the current Math Plugin....
bool IsAlignmentSubsystemActive() const
Return status of alignment subsystem.
void ProcessTextProperties(Telescope *pTelescope, const char *name, char *texts[], char *names[], int n)
Call this function from within the ISNewText processing path. The function will handle any math plugi...
void InitProperties(Telescope *pTelescope)
Initialize alignment math plugin properties. It is recommended to call this function within initPrope...
void SetAlignmentSubsystemActive(bool enable)
SetAlignmentSubsystemActive Enable or Disable alignment subsystem.
The following INDI properties are used to manage math plugins.
MountAlignment_t GetApproximateMountAlignment()
Get the approximate alognment of the mount.
bool TransformTelescopeToCelestial(const TelescopeDirectionVector &ApparentTelescopeDirectionVector, double &RightAscension, double &Declination)
Get the true celestial coordinates for the supplied telescope pointing direction.
void SetCurrentInMemoryDatabase(InMemoryDatabase *pDatabase)
Set the current in memory database.
void ProcessSwitchProperties(Telescope *pTelescope, const char *name, ISState *states, char *names[], int n)
Call this function from within the ISNewSwitch processing path. The function will handle any math plu...
Text vector property descriptor.
This class provides the driver side API to the in memory alignment database.
InMemoryDatabase * pInMemoryDatabase
bool TransformCelestialToTelescope(const double RightAscension, const double Declination, double JulianOffset, TelescopeDirectionVector &ApparentTelescopeDirectionVector)
Get the alignment corrected telescope pointing direction for the supplied celestial coordinates.
Provides alignment subsystem functions to INDI alignment math plugins.
MountType
Describes the basic type of the mount.
Holds the connection type.
Namespace to encapsulate INDI client, drivers, and mediator classes.
bool Initialise(InMemoryDatabase *pInMemoryDatabase)
Initialise or re-initialise the math plugin. Re-reading the in memory database as necessary.
virtual ~MathPluginManagement()
Virtual destructor.
enum INDI::AlignmentSubsystem::MountAlignment MountAlignment_t
This class implements the default math plugin.
void SetApproximateMountAlignment(MountAlignment_t ApproximateAlignment)
Set the approximate alognment of the mount.
Holds a nomalised direction vector (direction cosines)
enum INDI::AlignmentSubsystem::MathPluginManagement::MountType MountType_t
Switch vector property descriptor.