TwiceAsNice  2019-02-18
Public Member Functions | Private Attributes | 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:
Inheritance graph
Collaboration diagram for INDI::AlignmentSubsystem::AlignmentSubsystemForClients:
Collaboration graph

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. More...
 
void ProcessNewDevice (INDI::BaseDevice *DevicePointer)
 Process new device message from driver. More...
 
void ProcessNewProperty (INDI::Property *PropertyPointer)
 Process new property message from driver. More...
 
void ProcessNewNumber (INumberVectorProperty *NumberVectorPropertyPointer)
 Process new number message from driver. More...
 
void ProcessNewSwitch (ISwitchVectorProperty *SwitchVectorPropertyPointer)
 Process new switch message from driver. 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. More...
 
void ProcessNewProperty (INDI::Property *PropertyPointer)
 Process new property message from driver. More...
 
void ProcessNewSwitch (ISwitchVectorProperty *SwitchVectorProperty)
 Process new switch message from driver. 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. More...
 
void ProcessNewDevice (INDI::BaseDevice *DevicePointer)
 Process new device message from driver. More...
 
void ProcessNewNumber (INumberVectorProperty *NumberVectorProperty)
 Process new number message from driver. More...
 
void ProcessNewProperty (INDI::Property *PropertyPointer)
 Process new property message from driver. More...
 
void ProcessNewSwitch (ISwitchVectorProperty *SwitchVectorProperty)
 Process new switch message from driver. 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, ln_hrz_posn &HorizontalCoordinates)
 Calculates an altitude and azimuth from the supplied normalised direction vector and declination. More...
 
void AltitudeAzimuthFromTelescopeDirectionVector (const TelescopeDirectionVector TelescopeDirectionVector, lnh_hrz_posn &HorizontalCoordinates)
 Calculates an altitude and azimuth from the supplied normalised direction vector and declination. More...
 
void EquatorialCoordinatesFromTelescopeDirectionVector (const TelescopeDirectionVector TelescopeDirectionVector, struct ln_equ_posn &EquatorialCoordinates)
 Calculates equatorial coordinates from the supplied telescope direction vector and declination. More...
 
void EquatorialCoordinatesFromTelescopeDirectionVector (const TelescopeDirectionVector TelescopeDirectionVector, struct lnh_equ_posn &EquatorialCoordinates)
 Calculates equatorial coordinates from the supplied telescope direction vector and declination. More...
 
void LocalHourAngleDeclinationFromTelescopeDirectionVector (const TelescopeDirectionVector TelescopeDirectionVector, struct ln_equ_posn &EquatorialCoordinates)
 Calculates a local hour angle and declination from the supplied telescope direction vector and declination. More...
 
void LocalHourAngleDeclinationFromTelescopeDirectionVector (const TelescopeDirectionVector TelescopeDirectionVector, struct lnh_equ_posn &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 (ln_hrz_posn HorizontalCoordinates)
 Calculates a normalised direction vector from the supplied altitude and azimuth. More...
 
const TelescopeDirectionVector TelescopeDirectionVectorFromAltitudeAzimuth (lnh_hrz_posn HorizontalCoordinates)
 Calculates a normalised direction vector from the supplied altitude and azimuth. More...
 
const TelescopeDirectionVector TelescopeDirectionVectorFromEquatorialCoordinates (struct ln_equ_posn EquatorialCoordinates)
 Calculates a telescope direction vector from the supplied equatorial coordinates. More...
 
const TelescopeDirectionVector TelescopeDirectionVectorFromEquatorialCoordinates (struct lnh_equ_posn EquatorialCoordinates)
 Calculates a telescope direction vector from the supplied equatorial coordinates. More...
 
const TelescopeDirectionVector TelescopeDirectionVectorFromLocalHourAngleDeclination (struct ln_equ_posn 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...
 

Private Attributes

std::string DeviceName
 

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.

Constructor & Destructor Documentation

◆ ~AlignmentSubsystemForClients()

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

Virtual destructor.

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

◆ 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.

◆ 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.

◆ 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.

◆ 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.

◆ 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.

Member Data Documentation

◆ DeviceName

std::string INDI::AlignmentSubsystem::AlignmentSubsystemForClients::DeviceName
private

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