TwiceAsNice  2019-02-18
Public Types | Public Member Functions | List of all members
INDI::AlignmentSubsystem::TelescopeDirectionVectorSupportFunctions Class Reference

These functions are used to convert different coordinate systems to and from the telescope direction vectors (normalised vector/direction cosines) used for telescope coordinates in the alignment susbsystem. More...

#include <TelescopeDirectionVectorSupportFunctions.h>

Inheritance diagram for INDI::AlignmentSubsystem::TelescopeDirectionVectorSupportFunctions:
Inheritance graph
Collaboration diagram for INDI::AlignmentSubsystem::TelescopeDirectionVectorSupportFunctions:
Collaboration graph

Public Types

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
 

Public Member Functions

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

Detailed Description

These functions are used to convert different coordinate systems to and from the telescope direction vectors (normalised vector/direction cosines) used for telescope coordinates in the alignment susbsystem.

Member Typedef Documentation

◆ AzimuthAngleDirection_t

◆ PolarAngleDirection_t

Member Enumeration Documentation

◆ AzimuthAngleDirection

The direction of measurement of an azimuth angle. The following are the conventions for some coordinate systems.

  • Right Ascension is measured ANTI_CLOCKWISE from the vernal equinox.
  • Local Hour Angle is measured CLOCKWISE from the observer's meridian.
  • Greenwich Hour Angle is measured CLOCKWISE from the Greenwich meridian.
  • Azimuth (as in Altitude Azimuth coordinate systems ) is often measured CLOCKWISE
    from north. But ESO FITS (Clockwise from South) and SDSS FITS(Anticlockwise from South)
    have different conventions. Horizontal coordinates in libnova are measured clockwise from south.
Enumerator
CLOCKWISE 

Angle is measured clockwise

ANTI_CLOCKWISE 

Angle is measured anti clockwise

◆ PolarAngleDirection

The direction of measurement of a polar angle. The following are conventions for some coordinate systems

  • Declination is measured FROM_AZIMUTHAL_PLANE.
  • Altitude is measured FROM_AZIMUTHAL_PLANE.
  • Altitude in libnova horizontal coordinates is measured FROM_AZIMUTHAL_PLANE.
Enumerator
FROM_POLAR_AXIS 

Angle is measured down from the polar axis

FROM_AZIMUTHAL_PLANE 

Angle is measured upwards from the azimuthal plane

Constructor & Destructor Documentation

◆ ~TelescopeDirectionVectorSupportFunctions()

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

Virtual destructor.

Member Function Documentation

◆ AltitudeAzimuthFromTelescopeDirectionVector() [1/2]

void INDI::AlignmentSubsystem::TelescopeDirectionVectorSupportFunctions::AltitudeAzimuthFromTelescopeDirectionVector ( const TelescopeDirectionVector  TelescopeDirectionVector,
ln_hrz_posn &  HorizontalCoordinates 
)
inline

Calculates an altitude and azimuth from the supplied normalised direction vector and declination.

Parameters
[in]TelescopeDirectionVector
[out]HorizontalCoordinatesAltitude and Azimuth in decimal degrees
Note
This assumes a right handed coordinate system for the telescope direction vector with XY being the azimuthal plane, and azimuth being measured in a clockwise direction.

◆ AltitudeAzimuthFromTelescopeDirectionVector() [2/2]

void INDI::AlignmentSubsystem::TelescopeDirectionVectorSupportFunctions::AltitudeAzimuthFromTelescopeDirectionVector ( const TelescopeDirectionVector  TelescopeDirectionVector,
lnh_hrz_posn &  HorizontalCoordinates 
)
inline

Calculates an altitude and azimuth from the supplied normalised direction vector and declination.

Parameters
[in]TelescopeDirectionVector
[out]HorizontalCoordinatesAltitude and Azimuth in degrees minutes seconds
Note
This assumes a right handed coordinate system for the telescope direction vector with XY being the azimuthal plane, and azimuth being measured in a clockwise direction.

◆ EquatorialCoordinatesFromTelescopeDirectionVector() [1/2]

void INDI::AlignmentSubsystem::TelescopeDirectionVectorSupportFunctions::EquatorialCoordinatesFromTelescopeDirectionVector ( const TelescopeDirectionVector  TelescopeDirectionVector,
struct ln_equ_posn &  EquatorialCoordinates 
)
inline

Calculates equatorial coordinates from the supplied telescope direction vector and declination.

Parameters
[in]TelescopeDirectionVector
[out]EquatorialCoordinatesThe equatorial coordinates in decimal degrees
Note
This assumes a right handed coordinate system for the direction vector with the right ascension being in the XY plane.

◆ EquatorialCoordinatesFromTelescopeDirectionVector() [2/2]

void INDI::AlignmentSubsystem::TelescopeDirectionVectorSupportFunctions::EquatorialCoordinatesFromTelescopeDirectionVector ( const TelescopeDirectionVector  TelescopeDirectionVector,
struct lnh_equ_posn &  EquatorialCoordinates 
)
inline

Calculates equatorial coordinates from the supplied telescope direction vector and declination.

Parameters
[in]TelescopeDirectionVector
[out]EquatorialCoordinatesThe equatorial coordinates in hours minutes seconds and degrees minutes seconds
Note
This assumes a right handed coordinate system for the direction vector with the right ascension being in the XY plane.

◆ LocalHourAngleDeclinationFromTelescopeDirectionVector() [1/2]

void INDI::AlignmentSubsystem::TelescopeDirectionVectorSupportFunctions::LocalHourAngleDeclinationFromTelescopeDirectionVector ( const TelescopeDirectionVector  TelescopeDirectionVector,
struct ln_equ_posn &  EquatorialCoordinates 
)
inline

Calculates a local hour angle and declination from the supplied telescope direction vector and declination.

Parameters
[in]TelescopeDirectionVector
[out]EquatorialCoordinatesThe local hour angle and declination in decimal degrees
Note
This assumes a right handed coordinate system for the direction vector with the hour angle being in the XY plane.

◆ LocalHourAngleDeclinationFromTelescopeDirectionVector() [2/2]

void INDI::AlignmentSubsystem::TelescopeDirectionVectorSupportFunctions::LocalHourAngleDeclinationFromTelescopeDirectionVector ( const TelescopeDirectionVector  TelescopeDirectionVector,
struct lnh_equ_posn &  EquatorialCoordinates 
)
inline

Calculates a local hour angle and declination from the supplied telescope direction vector and declination.

Parameters
[in]TelescopeDirectionVector
[out]EquatorialCoordinatesThe local hour angle and declination in hours minutes seconds and degrees minutes seconds
Note
This assumes a right handed coordinate system for the direction vector with the hour angle being in the XY plane.

◆ SphericalCoordinateFromTelescopeDirectionVector()

void INDI::AlignmentSubsystem::TelescopeDirectionVectorSupportFunctions::SphericalCoordinateFromTelescopeDirectionVector ( const TelescopeDirectionVector  TelescopeDirectionVector,
double &  AzimuthAngle,
AzimuthAngleDirection_t  AzimuthAngleDirection,
double &  PolarAngle,
PolarAngleDirection_t  PolarAngleDirection 
)

Calculates a spherical coordinate from the supplied telescope direction vector.

Parameters
[in]TelescopeDirectionVector
[out]AzimuthAngleThe azimuth angle in radians
[in]AzimuthAngleDirectionThe direction the azimuth angle has been measured either CLOCKWISE or ANTI_CLOCKWISE
[out]PolarAngleThe polar angle in radians
[in]PolarAngleDirectionThe direction the polar angle has been measured either FROM_POLAR_AXIS or FROM_AZIMUTHAL_PLANE
Note
TelescopeDirectionVectors are always normalised and right handed.

◆ TelescopeDirectionVectorFromAltitudeAzimuth() [1/2]

const TelescopeDirectionVector INDI::AlignmentSubsystem::TelescopeDirectionVectorSupportFunctions::TelescopeDirectionVectorFromAltitudeAzimuth ( ln_hrz_posn  HorizontalCoordinates)
inline

Calculates a normalised direction vector from the supplied altitude and azimuth.

Parameters
[in]HorizontalCoordinatesAltitude and Azimuth in decimal degrees
Returns
A TelescopeDirectionVector
Note
This assumes a right handed coordinate system for the telescope direction vector with XY being the azimuthal plane, and azimuth being measured in a clockwise direction.

◆ TelescopeDirectionVectorFromAltitudeAzimuth() [2/2]

const TelescopeDirectionVector INDI::AlignmentSubsystem::TelescopeDirectionVectorSupportFunctions::TelescopeDirectionVectorFromAltitudeAzimuth ( lnh_hrz_posn  HorizontalCoordinates)
inline

Calculates a normalised direction vector from the supplied altitude and azimuth.

Parameters
[in]HorizontalCoordinatesAltitude and Azimuth in degrees minutes seconds
Returns
A TelescopeDirectionVector
Note
This assumes a right handed coordinate system for the telescope direction vector with XY being the azimuthal plane, and azimuth being measured in a clockwise direction.

◆ TelescopeDirectionVectorFromEquatorialCoordinates() [1/2]

const TelescopeDirectionVector INDI::AlignmentSubsystem::TelescopeDirectionVectorSupportFunctions::TelescopeDirectionVectorFromEquatorialCoordinates ( struct ln_equ_posn  EquatorialCoordinates)
inline

Calculates a telescope direction vector from the supplied equatorial coordinates.

Parameters
[in]EquatorialCoordinatesThe equatorial coordinates in decimal degrees
Returns
A TelescopeDirectionVector
Note
This assumes a right handed coordinate system for the direction vector with the right ascension being in the XY plane.

◆ TelescopeDirectionVectorFromEquatorialCoordinates() [2/2]

const TelescopeDirectionVector INDI::AlignmentSubsystem::TelescopeDirectionVectorSupportFunctions::TelescopeDirectionVectorFromEquatorialCoordinates ( struct lnh_equ_posn  EquatorialCoordinates)
inline

Calculates a telescope direction vector from the supplied equatorial coordinates.

Parameters
[in]EquatorialCoordinatesThe equatorial coordinates in hours minutes seconds and degrees minutes seconds
Returns
A TelescopeDirectionVector
Note
This assumes a right handed coordinate system for the direction vector with the right ascension being in the XY plane.

◆ TelescopeDirectionVectorFromLocalHourAngleDeclination()

const TelescopeDirectionVector INDI::AlignmentSubsystem::TelescopeDirectionVectorSupportFunctions::TelescopeDirectionVectorFromLocalHourAngleDeclination ( struct ln_equ_posn  EquatorialCoordinates)
inline

Calculates a telescope direction vector from the supplied local hour angle and declination.

Parameters
[in]EquatorialCoordinatesThe local hour angle and declination in decimal degrees
Returns
A TelescopeDirectionVector
Note
This assumes a right handed coordinate system for the direction vector with the hour angle being in the XY plane.

◆ TelescopeDirectionVectorFromSphericalCoordinate()

const TelescopeDirectionVector INDI::AlignmentSubsystem::TelescopeDirectionVectorSupportFunctions::TelescopeDirectionVectorFromSphericalCoordinate ( const double  AzimuthAngle,
AzimuthAngleDirection_t  AzimuthAngleDirection,
const double  PolarAngle,
PolarAngleDirection_t  PolarAngleDirection 
)

Calculates a telescope direction vector from the supplied spherical coordinate information.

Parameters
[in]AzimuthAngleThe azimuth angle in radians
[in]AzimuthAngleDirectionThe direction the azimuth angle has been measured either CLOCKWISE or ANTI_CLOCKWISE
[in]PolarAngleThe polar angle in radians
[in]PolarAngleDirectionThe direction the polar angle has been measured either FROM_POLAR_AXIS or FROM_AZIMUTHAL_PLANE
Returns
A TelescopeDirectionVector
Note
TelescopeDirectionVectors are always assumed to be normalised and right handed.

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