Kstars

jupitermoons.h
1 /*
2  SPDX-FileCopyrightText: 2002 Jason Harris <[email protected]>
3 
4  SPDX-License-Identifier: GPL-2.0-or-later
5 */
6 
7 #pragma once
8 
9 #include <QString>
10 #include <QVector>
11 #include "planetmoons.h"
12 
13 class KSNumbers;
14 class KSPlanet;
15 class KSSun;
16 
17 /**
18  *@class JupiterMoons
19  *Implements the four largest moons of Jupiter.
20  *See Chapter 43 of "Astronomical Algorithms"by Jean Meeus for details
21  *
22  *TODO: make the moons SkyObjects, rather than just points.
23  *
24  *@author Jason Harris
25  *@version 1.0
26  */
27 class JupiterMoons : public PlanetMoons
28 {
29  public:
30  /**
31  *Constructor. Assign the name of each moon,
32  *and initialize their XYZ positions to zero.
33  */
34  JupiterMoons();
35 
36  /**
37  *Destructor. Delete moon objects.
38  */
39  ~JupiterMoons() override;
40 
41  /**
42  *@short Find the positions of each Moon, relative to Jupiter.
43  *We use an XYZ coordinate system, centered on Jupiter,
44  *where the X-axis corresponds to Jupiter's Equator,
45  *the Y-Axis is parallel to Jupiter's Poles, and the
46  *Z-axis points along the line joining the Earth and
47  *Jupiter. Once the XYZ positions are known, this
48  *function also computes the RA,Dec positions of each
49  *Moon, and sets the inFront bool variable to indicate
50  *whether the Moon is nearer to us than Jupiter or not
51  *(this information is used to determine whether the
52  *Moon should be drawn on top of Jupiter, or vice versa).
53  *
54  *See "Astronomical Algorithms" bu Jean Meeus, Chapter 43.
55  *
56  *@param num pointer to the KSNumbers object describing
57  *the date/time at which to find the positions.
58  *@param jup pointer to the jupiter object
59  *@param sunptr pointer to the Sun object
60  */
61  void findPosition(const KSNumbers *num, const KSPlanetBase *jup, const KSSun *sunptr) override;
62 };
63 
Provides necessary information about the Sun.
Definition: kssun.h:23
void findPosition(const KSNumbers *num, const KSPlanetBase *jup, const KSSun *sunptr) override
Find the positions of each Moon, relative to Jupiter.
Store several time-dependent astronomical quantities.
Definition: ksnumbers.h:42
~JupiterMoons() override
Destructor.
Provides necessary information about objects in the solar system.
Definition: ksplanet.h:32
JupiterMoons()
Constructor.
Provides necessary information about objects in the solar system.
Definition: ksplanetbase.h:49
This file is part of the KDE documentation.
Documentation copyright © 1996-2023 The KDE developers.
Generated on Wed Sep 27 2023 04:02:10 by doxygen 1.8.17 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.