# Kstars

poleaxis.h
1 /*
2  SPDX-FileCopyrightText: 2020 Chris Rowland <[email protected]>
3
5 */
6
7 #pragma once
8
9 #include <dms.h>
10 #include <skypoint.h>
11 #include "rotations.h"
12
13 /**
14  *@class PoleAxis
15  *@short PoleAxis class handles determining the mount Ha axis position given three positions taken with the same mount declination.
16  *
17  *@author Chris Rowland
18  *@version 1.0
19  */
20 class PoleAxis
21 {
22  public:
23  ///
24  /// \brief dirCos converts primary and secondary angles to a directional cosine
25  /// \param primary angle, can be Ra, Ha, Azimuth or the corresponding axis values
26  /// \param secondary angle, can be Dec, Altitude. 90 deg is the pole
27  /// \return V3 containing the directional cosine.
28  static Rotations::V3 dirCos(const dms primary, const dms secondary);
29
30  ///
31  /// \brief dirCos converts a SkyPoint to a directional cosine
32  /// \param sp SkyPoint with the position
33  /// \return V3 containing the directional cosine.
34  ///
35  static Rotations::V3 dirCos(const SkyPoint sp);
36
37  ///
38  /// \brief primary returns the primary dms value in the directional cosine
39  /// \param dirCos
40  /// \return primary angle, Ra, Ha, Azimuth etc.
41  ///
42  static dms primary(Rotations::V3 dirCos);
43
44  ///
45  /// \brief secondary returns the secondary dms angle in the directional cosine
46  /// \param dirCos
47  /// \return
48  ///
49  static dms secondary(Rotations::V3 dirCos);
50
51  ///
52  /// \brief skyPoint returns a skypoint derived from the directional cosine vector
53  /// \param dc
54  /// \return
55  ///
56  static SkyPoint skyPoint(Rotations::V3 dc);
57
58  ///
59  /// \brief poleAxis returns the pole axis vector given three SkyPoints with the same mount declination
60  /// \param p1
61  /// \param p2
62  /// \param p3
63  /// \return vector giving the direction of the pole. The rotation between the three points determines which pole
64  /// the other pole can be determined either by reversing the sign of the declination and adding 12 hrs to the Ha or
65  /// by negating the vector
66  ///
67  static Rotations::V3 poleAxis(SkyPoint p1, SkyPoint p2, SkyPoint p3);
68
69 };
Stores dms coordinates for a point in the sky. for converting between coordinate systems.
Definition: skypoint.h:44
static SkyPoint skyPoint(Rotations::V3 dc)
skyPoint returns a skypoint derived from the directional cosine vector
Definition: poleaxis.cpp:82
PoleAxis class handles determining the mount Ha axis position given three positions taken with the sa...
Definition: poleaxis.h:20
static dms secondary(Rotations::V3 dirCos)
secondary returns the secondary dms angle in the directional cosine
Definition: poleaxis.cpp:75
static dms primary(Rotations::V3 dirCos)
primary returns the primary dms value in the directional cosine
Definition: poleaxis.cpp:68
static Rotations::V3 dirCos(const dms primary, const dms secondary)
dirCos converts primary and secondary angles to a directional cosine
Definition: poleaxis.cpp:55
An angle, stored as degrees, but expressible in many ways.
Definition: dms.h:37
static Rotations::V3 poleAxis(SkyPoint p1, SkyPoint p2, SkyPoint p3)
poleAxis returns the pole axis vector given three SkyPoints with the same mount declination
Definition: poleaxis.cpp:87
This file is part of the KDE documentation.