Instrument Neutral Distributed Interface INDI  2.0.2
Public Member Functions | List of all members
INDI::AlignmentSubsystem::AlignmentSubsystemForClients Class Reference

This class encapsulates all the alignment subsystem classes that are useful to client implementations. Clients should inherit from this class. More...

#include <AlignmentSubsystemForClients.h>

Inheritance diagram for INDI::AlignmentSubsystem::AlignmentSubsystemForClients:
INDI::AlignmentSubsystem::ClientAPIForMathPluginManagement INDI::AlignmentSubsystem::ClientAPIForAlignmentDatabase INDI::AlignmentSubsystem::TelescopeDirectionVectorSupportFunctions LoaderClient MathPluginManagerClient

Public Member Functions

virtual ~AlignmentSubsystemForClients ()
 Virtual destructor. More...
 
void Initialise (const char *DeviceName, INDI::BaseClient *BaseClient)
 This routine should be called before any connections to devices are made. More...
 
void ProcessNewBLOB (IBLOB *BLOBPointer)
 Process new BLOB message from driver. This routine should be called from within the newBLOB handler in the client. More...
 
void ProcessNewDevice (INDI::BaseDevice *DevicePointer)
 Process new device message from driver. This routine should be called from within the newDevice handler in the client. More...
 
void ProcessNewProperty (INDI::Property *PropertyPointer)
 Process new property message from driver. This routine should be called from within the newProperty handler in the client. More...
 
void ProcessNewNumber (INumberVectorProperty *NumberVectorPropertyPointer)
 Process new number message from driver. This routine should be called from within the newNumber handler in the client. More...
 
void ProcessNewSwitch (ISwitchVectorProperty *SwitchVectorPropertyPointer)
 Process new switch message from driver. This routine should be called from within the newSwitch handler in the client. More...
 
- Public Member Functions inherited from INDI::AlignmentSubsystem::ClientAPIForMathPluginManagement
virtual ~ClientAPIForMathPluginManagement ()
 Virtual destructor. More...
 
bool EnumerateMathPlugins (MathPluginsList &AvailableMathPlugins)
 Return a list of the names of the available math plugins. More...
 
void Initialise (INDI::BaseClient *BaseClient)
 Intialise the API. More...
 
void ProcessNewDevice (INDI::BaseDevice *DevicePointer)
 Process new device message from driver. This routine should be called from within the newDevice handler in the client. This routine is not normally called directly but is called by the ProcessNewDevice function in INDI::Alignment::AlignmentSubsystemForClients which filters out calls from unwanted devices. TODO maybe hide this function. More...
 
void ProcessNewProperty (INDI::Property *PropertyPointer)
 Process new property message from driver. This routine should be called from within the newProperty handler in the client. This routine is not normally called directly but is called by the ProcessNewProperty function in INDI::Alignment::AlignmentSubsystemForClients which filters out calls from unwanted devices. TODO maybe hide this function. More...
 
void ProcessNewSwitch (ISwitchVectorProperty *SwitchVectorProperty)
 Process new switch message from driver. This routine should be called from within the newSwitch handler in the client. This routine is not normally called directly but is called by the ProcessNewSwitch function in INDI::Alignment::AlignmentSubsystemForClients which filters out calls from unwanted devices. TODO maybe hide this function. More...
 
bool SelectMathPlugin (const std::string &MathPluginName)
 Selects, loads and initialises the named math plugin. More...
 
bool ReInitialiseMathPlugin ()
 Re-initialises the current math plugin. More...
 
- Public Member Functions inherited from INDI::AlignmentSubsystem::ClientAPIForAlignmentDatabase
 ClientAPIForAlignmentDatabase ()
 Default constructor. More...
 
virtual ~ClientAPIForAlignmentDatabase ()
 Virtual destructor. More...
 
bool AppendSyncPoint (const AlignmentDatabaseEntry &CurrentValues)
 Append a sync point to the database. More...
 
bool ClearSyncPoints ()
 Delete all sync points from the database. More...
 
bool DeleteSyncPoint (unsigned int Offset)
 Delete a sync point from the database. More...
 
bool EditSyncPoint (unsigned int Offset, const AlignmentDatabaseEntry &CurrentValues)
 Edit a sync point in the database. More...
 
int GetDatabaseSize ()
 Return the number of entries in the database. More...
 
void Initialise (INDI::BaseClient *BaseClient)
 Initialise the API. More...
 
bool InsertSyncPoint (unsigned int Offset, const AlignmentDatabaseEntry &CurrentValues)
 Insert a sync point in the database. More...
 
bool LoadDatabase ()
 Load the database from persistent storage. More...
 
void ProcessNewBLOB (IBLOB *BLOBPointer)
 Process new BLOB message from driver. This routine should be called from within the newBLOB handler in the client. This routine is not normally called directly but is called by the ProcessNewBLOB function in INDI::Alignment::AlignmentSubsystemForClients which filters out calls from unwanted devices. TODO maybe hide this function. More...
 
void ProcessNewDevice (INDI::BaseDevice *DevicePointer)
 Process new device message from driver. This routine should be called from within the newDevice handler in the client. This routine is not normally called directly but is called by the ProcessNewDevice function in INDI::Alignment::AlignmentSubsystemForClients which filters out calls from unwanted devices. TODO maybe hide this function. More...
 
void ProcessNewNumber (INumberVectorProperty *NumberVectorProperty)
 Process new number message from driver. This routine should be called from within the newNumber handler in the client. This routine is not normally called directly but it is called by the ProcessNewNumber function in INDI::Alignment::AlignmentSubsystemForClients which filters out calls from unwanted devices. TODO maybe hide this function. More...
 
void ProcessNewProperty (INDI::Property *PropertyPointer)
 Process new property message from driver. This routine should be called from within the newProperty handler in the client. This routine is not normally called directly but it is called by the ProcessNewProperty function in INDI::Alignment::AlignmentSubsystemForClients which filters out calls from unwanted devices. TODO maybe hide this function. More...
 
void ProcessNewSwitch (ISwitchVectorProperty *SwitchVectorProperty)
 Process new switch message from driver. This routine should be called from within the newSwitch handler in the client. This routine is not normally called directly but it is called by the ProcessNewSwitch function in INDI::Alignment::AlignmentSubsystemForClients which filters out calls from unwanted devices. TODO maybe hide this function. More...
 
bool ReadIncrementSyncPoint (AlignmentDatabaseEntry &CurrentValues)
 Increment the current offset then read a sync point from the database. More...
 
bool ReadSyncPoint (unsigned int Offset, AlignmentDatabaseEntry &CurrentValues)
 Read a sync point from the database. More...
 
bool SaveDatabase ()
 Save the database to persistent storage. More...
 
- Public Member Functions inherited from INDI::AlignmentSubsystem::TelescopeDirectionVectorSupportFunctions
virtual ~TelescopeDirectionVectorSupportFunctions ()
 Virtual destructor. More...
 
void AltitudeAzimuthFromTelescopeDirectionVector (const TelescopeDirectionVector TelescopeDirectionVector, INDI::IHorizontalCoordinates &HorizontalCoordinates)
 Calculates an altitude and azimuth from the supplied normalised direction vector and declination. More...
 
void EquatorialCoordinatesFromTelescopeDirectionVector (const TelescopeDirectionVector TelescopeDirectionVector, INDI::IEquatorialCoordinates &EquatorialCoordinates)
 Calculates equatorial coordinates from the supplied telescope direction vector and declination. More...
 
void LocalHourAngleDeclinationFromTelescopeDirectionVector (const TelescopeDirectionVector TelescopeDirectionVector, INDI::IEquatorialCoordinates &EquatorialCoordinates)
 Calculates a local hour angle and declination from the supplied telescope direction vector and declination. More...
 
void SphericalCoordinateFromTelescopeDirectionVector (const TelescopeDirectionVector TelescopeDirectionVector, double &AzimuthAngle, AzimuthAngleDirection_t AzimuthAngleDirection, double &PolarAngle, PolarAngleDirection_t PolarAngleDirection)
 Calculates a spherical coordinate from the supplied telescope direction vector. More...
 
const TelescopeDirectionVector TelescopeDirectionVectorFromAltitudeAzimuth (INDI::IHorizontalCoordinates HorizontalCoordinates)
 Calculates a normalised direction vector from the supplied altitude and azimuth. More...
 
const TelescopeDirectionVector TelescopeDirectionVectorFromEquatorialCoordinates (INDI::IEquatorialCoordinates EquatorialCoordinates)
 Calculates a telescope direction vector from the supplied equatorial coordinates. More...
 
const TelescopeDirectionVector TelescopeDirectionVectorFromLocalHourAngleDeclination (INDI::IEquatorialCoordinates EquatorialCoordinates)
 Calculates a telescope direction vector from the supplied local hour angle and declination. More...
 
const TelescopeDirectionVector TelescopeDirectionVectorFromSphericalCoordinate (const double AzimuthAngle, AzimuthAngleDirection_t AzimuthAngleDirection, const double PolarAngle, PolarAngleDirection_t PolarAngleDirection)
 Calculates a telescope direction vector from the supplied spherical coordinate information. More...
 

Additional Inherited Members

- Public Types inherited from INDI::AlignmentSubsystem::ClientAPIForMathPluginManagement
typedef std::vector< std::string > MathPluginsList
 
- Public Types inherited from INDI::AlignmentSubsystem::TelescopeDirectionVectorSupportFunctions
enum  AzimuthAngleDirection { CLOCKWISE , ANTI_CLOCKWISE }
 
enum  PolarAngleDirection { FROM_POLAR_AXIS , FROM_AZIMUTHAL_PLANE }
 
typedef enum INDI::AlignmentSubsystem::TelescopeDirectionVectorSupportFunctions::AzimuthAngleDirection AzimuthAngleDirection_t
 
typedef enum INDI::AlignmentSubsystem::TelescopeDirectionVectorSupportFunctions::PolarAngleDirection PolarAngleDirection_t
 

Detailed Description

This class encapsulates all the alignment subsystem classes that are useful to client implementations. Clients should inherit from this class.

Definition at line 29 of file AlignmentSubsystemForClients.h.

Constructor & Destructor Documentation

◆ ~AlignmentSubsystemForClients()

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

Virtual destructor.

Definition at line 35 of file AlignmentSubsystemForClients.h.

Member Function Documentation

◆ Initialise()

void INDI::AlignmentSubsystem::AlignmentSubsystemForClients::Initialise ( const char *  DeviceName,
INDI::BaseClient BaseClient 
)

This routine should be called before any connections to devices are made.

Parameters
[in]DeviceNameThe device name of INDI driver instance to be used.
[in]BaseClientA pointer to the child INDI::BaseClient class

Definition at line 15 of file AlignmentSubsystemForClients.cpp.

◆ ProcessNewBLOB()

void INDI::AlignmentSubsystem::AlignmentSubsystemForClients::ProcessNewBLOB ( IBLOB BLOBPointer)

Process new BLOB message from driver. This routine should be called from within the newBLOB handler in the client.

Parameters
[in]BLOBPointerA pointer to the INDI::IBLOB.

Definition at line 22 of file AlignmentSubsystemForClients.cpp.

◆ ProcessNewDevice()

void INDI::AlignmentSubsystem::AlignmentSubsystemForClients::ProcessNewDevice ( INDI::BaseDevice DevicePointer)

Process new device message from driver. This routine should be called from within the newDevice handler in the client.

Parameters
[in]DevicePointerA pointer to the INDI::BaseDevice object.

Definition at line 31 of file AlignmentSubsystemForClients.cpp.

◆ ProcessNewNumber()

void INDI::AlignmentSubsystem::AlignmentSubsystemForClients::ProcessNewNumber ( INumberVectorProperty NumberVectorPropertyPointer)

Process new number message from driver. This routine should be called from within the newNumber handler in the client.

Parameters
[in]NumberVectorPropertyPointerA pointer to the INDI::INumberVectorProperty.

Definition at line 41 of file AlignmentSubsystemForClients.cpp.

◆ ProcessNewProperty()

void INDI::AlignmentSubsystem::AlignmentSubsystemForClients::ProcessNewProperty ( INDI::Property PropertyPointer)

Process new property message from driver. This routine should be called from within the newProperty handler in the client.

Parameters
[in]PropertyPointerA pointer to the INDI::Property object.

Definition at line 50 of file AlignmentSubsystemForClients.cpp.

◆ ProcessNewSwitch()

void INDI::AlignmentSubsystem::AlignmentSubsystemForClients::ProcessNewSwitch ( ISwitchVectorProperty SwitchVectorPropertyPointer)

Process new switch message from driver. This routine should be called from within the newSwitch handler in the client.

Parameters
[in]SwitchVectorPropertyPointerA pointer to the INDI::ISwitchVectorProperty.

Definition at line 60 of file AlignmentSubsystemForClients.cpp.


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