• Skip to content
  • Skip to link menu
KDE 3.5 API Reference
  • KDE API Reference
  • API Reference
  • Sitemap
  • Contact Us
 

kstars

kstarsdatetime.h

Go to the documentation of this file.
00001 /***************************************************************************
00002                           kstarsdatetime.h  -  K Desktop Planetarium
00003                              -------------------
00004     begin                : Tue 05 May 2004
00005     copyright            : (C) 2001 by Jason Harris
00006     email                : jharris@30doradus.org
00007  ***************************************************************************/
00008 
00009 /***************************************************************************
00010  *                                                                         *
00011  *   This program is free software; you can redistribute it and/or modify  *
00012  *   it under the terms of the GNU General Public License as published by  *
00013  *   the Free Software Foundation; either version 2 of the License, or     *
00014  *   (at your option) any later version.                                   *
00015  *                                                                         *
00016  ***************************************************************************/
00017 
00018 #ifndef KSTARSDATETIME_H
00019 #define KSTARSDATETIME_H
00020 
00021 #define J2000 2451545.0 //Julian Date for noon on Jan 1, 2000 (epoch J2000)
00022                        //defined here because this file is included in every other class.
00023 #define B1950 2433282.4235  // Julian date for Jan 0.9235, 1950
00024 #define SIDEREALSECOND 1.002737909 //number of sidereal seconds in one solar second
00025 
00026 #include "libkdeedu/extdate/extdatetime.h"
00027 
00028 class dms;
00029 
00043 class KStarsDateTime : public ExtDateTime
00044 {
00045 public:
00050     KStarsDateTime();
00051 
00059     KStarsDateTime( long int jd );
00060 
00066     KStarsDateTime( double djd );
00067 
00073     KStarsDateTime( long double djd );
00074     
00079     KStarsDateTime( const KStarsDateTime &kdt );
00080 
00085     KStarsDateTime( const ExtDateTime &kdt );
00086 
00093     KStarsDateTime( const ExtDate &_d, const QTime &_t );
00094 
00100     void setDJD( long double jd );
00101 
00106     void setDate( const ExtDate &d );
00107 
00112     void setTime( const QTime &t ); 
00113     
00118     KStarsDateTime addSecs( long double s ) const { return KStarsDateTime( djd() + s/86400. ); }
00119     
00124     KStarsDateTime addDays( int nd ) const { return KStarsDateTime( djd() + (long double)nd ); }
00125 
00126     bool operator == ( const KStarsDateTime &d ) const { return DJD == d.djd(); }
00127     bool operator != ( const KStarsDateTime &d ) const { return DJD != d.djd(); }
00128     bool operator  < ( const KStarsDateTime &d ) const { return DJD  < d.djd(); }
00129     bool operator <= ( const KStarsDateTime &d ) const { return DJD <= d.djd(); }
00130     bool operator  > ( const KStarsDateTime &d ) const { return DJD  > d.djd(); }
00131     bool operator >= ( const KStarsDateTime &d ) const { return DJD >= d.djd(); }
00132     
00137     static KStarsDateTime currentDateTime();
00138     
00142     long double djd() const { return DJD; }
00143 
00150     double jdFrac() const { return ((time().hour()-12) + (time().minute() 
00151             + (time().second() + time().msec()/1000.)/60.)/60.)/24.; }
00152 
00157     long double JDat0hUT() const { return int( djd() - 0.5 ) + 0.5; }
00158     
00164     dms gst() const;
00165 
00170     QTime GSTtoUT( dms GST ) const;
00171     
00172 
00178     double epoch() const { return ( double( date().year() ) 
00179             + double( date().dayOfYear() )/double( date().daysInYear() ) ); }
00180 
00186     void setFromEpoch( double e );
00187 
00188 private:
00193     dms GSTat0hUT() const;
00194 
00195     long double DJD;
00196 };
00197 
00198 #endif  //KSTARSDATETIME_H
00199 

kstars

Skip menu "kstars"
  • Main Page
  • Modules
  • Class Hierarchy
  • Alphabetical List
  • Class List
  • File List
  • Class Members
  • Related Pages

API Reference

Skip menu "API Reference"
  • keduca
  • kstars
Generated for API Reference by doxygen 1.5.9
This website is maintained by Adriaan de Groot and Allen Winter.
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal