diff options
author | toma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2009-11-25 17:56:58 +0000 |
---|---|---|
committer | toma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2009-11-25 17:56:58 +0000 |
commit | ce599e4f9f94b4eb00c1b5edb85bce5431ab3df2 (patch) | |
tree | d3bb9f5d25a2dc09ca81adecf39621d871534297 /kstars/kstars/kscomet.h | |
download | tdeedu-ce599e4f9f94b4eb00c1b5edb85bce5431ab3df2.tar.gz tdeedu-ce599e4f9f94b4eb00c1b5edb85bce5431ab3df2.zip |
Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features.
BUG:215923
git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdeedu@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'kstars/kstars/kscomet.h')
-rw-r--r-- | kstars/kstars/kscomet.h | 92 |
1 files changed, 92 insertions, 0 deletions
diff --git a/kstars/kstars/kscomet.h b/kstars/kstars/kscomet.h new file mode 100644 index 00000000..62a26458 --- /dev/null +++ b/kstars/kstars/kscomet.h @@ -0,0 +1,92 @@ +/*************************************************************************** + kscomet.h - K Desktop Planetarium + ------------------- + begin : Wed 19 Feb 2003 + copyright : (C) 2001 by Jason Harris + email : jharris@30doradus.org + ***************************************************************************/ + +/*************************************************************************** + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + ***************************************************************************/ + +#ifndef KSCOMET_H +#define KSCOMET_H + +#include "ksplanetbase.h" + +/**@class KSComet + *@short A subclass of KSPlanetBase that implements comets. + * + *The orbital elements are stored as private member variables, and + *it provides methods to compute the ecliptic coordinates for any + *time from the orbital elements. + * + *The orbital elements are: + *@li JD Epoch of element values + *@li q perihelion distance (AU) + *@li e eccentricity of orbit + *@li i inclination angle (with respect to J2000.0 ecliptic plane) + *@li w argument of perihelion (w.r.t. J2000.0 ecliptic plane) + *@li N longitude of ascending node (J2000.0 ecliptic) + *@li Tp time of perihelion passage (YYYYMMDD.DDD) + * + *@author Jason Harris + *@version 1.0 + */ + +class KStarsData; +class KSNumbers; +class dms; + +class KSComet : public KSPlanetBase +{ + public: + /**Constructor. + *@p kd pointer to the KStarsData object + *@p s the name of the comet + *@p image_file the filename for an image of the comet + *@p JD the Julian Day for the orbital elements + *@p q the perihelion distance of the comet's orbit (AU) + *@p e the eccentricity of the comet's orbit + *@p i the inclination angle of the comet's orbit + *@p w the argument of the orbit's perihelion + *@p N the longitude of the orbit's ascending node + *@p M the mean anomaly for the Julian Day + *@p Tp The date of the most proximate perihelion passage (YYYYMMDD.DDD) + */ + KSComet( KStarsData *kd, QString s, QString image_file, + long double JD, double q, double e, dms i, dms w, dms N, double Tp ); + + /**Destructor (empty)*/ + virtual ~KSComet() {} + + /**Unused virtual function inherited from KSPlanetBase, + *so it's simply empty here. + */ + virtual bool loadData(); + + + protected: + /**Calculate the geocentric RA, Dec coordinates of the Comet. + *@note reimplemented from KSPlanetBase + *@param num time-dependent values for the desired date + *@param Earth planet Earth (needed to calculate geocentric coords) + *@return true if position was successfully calculated. + */ + virtual bool findGeocentricPosition( const KSNumbers *num, const KSPlanetBase *Earth=NULL ); + + private: + KStarsData *kd; + long double JD, JDp; + double q, e, a, P; + dms i, w, N; + +}; + +#endif |