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

kstars

skypoint.h

Go to the documentation of this file.
00001 /***************************************************************************
00002                           skypoint.h  -  K Desktop Planetarium
00003                              -------------------
00004     begin                : Sun Feb 11 2001
00005     copyright            : (C) 2001-2005 by Jason Harris
00006     email                : jharris@30doradus.org
00007     copyright            : (C) 2004-2005 by Pablo de Vicente
00008     email                : p.devicente@wanadoo.es
00009  ***************************************************************************/
00010 
00011 /***************************************************************************
00012  *                                                                         *
00013  *   This program is free software; you can redistribute it and/or modify  *
00014  *   it under the terms of the GNU General Public License as published by  *
00015  *   the Free Software Foundation; either version 2 of the License, or     *
00016  *   (at your option) any later version.                                   *
00017  *                                                                         *
00018  ***************************************************************************/
00019 
00020 #ifndef SKYPOINT_H
00021 #define SKYPOINT_H
00022 
00023 #include <qstring.h>
00024 #include <qptrlist.h>
00025 
00026 #include "dms.h"
00027 
00047 class KSNumbers;
00048 class CSegment;
00049 class SkyObject;
00050 
00051 class SkyPoint {
00052 public:
00058     SkyPoint( const dms& r, const dms& d ) { set( r, d ); }
00059 
00065     SkyPoint( const dms *r, const dms *d ) { set( dms(*r), dms(*d) ); }
00066 
00072     SkyPoint( double r=0.0, double d=0.0 ) { set( r, d ); }
00073 
00077     virtual ~SkyPoint();
00078 
00082 
00088     void set( const dms& r, const dms& d );
00089 
00095     void set( const dms *r, const dms *d ) { set( *r, *d ); }
00096 
00102     void set( double r, double d );
00103 
00107     void setRA0( dms r ) { RA0.set( r ); }
00108 
00113     void setRA0( double r ) { RA0.setH( r ); }
00114 
00118     void setDec0( dms d ) { Dec0.set( d ); }
00119 
00124     void setDec0( double d ) { Dec0.setD( d ); }
00125 
00129     void setRA( dms r ) { RA.set( r ); }
00130 
00135     void setRA( double r ) { RA.setH( r ); }
00136 
00140     void setDec( dms d ) { Dec.set( d ); }
00141 
00146     void setDec( double d ) { Dec.setD( d ); }
00147 
00151     void setAlt( dms alt ) { Alt.set( alt ); }
00152 
00157     void setAlt( double alt ) { Alt.setD( alt ); }
00158 
00162     void setAz( dms az ) { Az.set( az ); }
00163 
00168     void setAz( double az ) { Az.setD( az ); }
00169 
00173 //  void setGalLong( dms glo ) { galLong.set( glo ); }
00174 
00179 //  void setGalLong( double glo ) { galLong.setD( glo ); }
00180 
00184 //  void setGalLat( dms gla ) { galLat.set( gla ); }
00185 
00190 //  void setGalLat( double gla ) { galLat.setD( gla ); }
00191 
00195 
00198     const dms* ra0() const { return &RA0; }
00199 
00202     const dms* dec0() const { return &Dec0; }
00203 
00206     const dms* ra() const { return &RA; }
00207 
00210     const dms* dec() const { return &Dec; }
00211 
00214     const dms* az() const { return &Az; }
00215 
00218     const dms* alt() const { return &Alt; }
00219 
00222 //  const dms* gLat() const { return &galLat; }
00223 
00226 //  const dms* gLong() const { return &galLong; }
00227 
00231 
00238     void EquatorialToHorizontal( const dms* LST, const dms* lat );
00239 
00246     void HorizontalToEquatorial( const dms* LST, const dms* lat );
00247 
00250     void EquatorialToEcliptic( const KSNumbers *num );
00251 
00255     void EclipticToEquatorial( const KSNumbers *num );
00256 
00261     void findEcliptic( const dms *Obliquity, dms &EcLong, dms &EcLat );
00262 
00267     void setFromEcliptic( const dms *Obliquity, const dms *EcLong, const dms *EcLat );
00268 
00273     void Equatorial1950ToGalactic(dms &galLong, dms &galLat);
00274 
00279     void GalacticToEquatorial1950(const dms* galLong, const dms* galLat);
00280 
00284 
00293     virtual void updateCoords( KSNumbers *num, bool includePlanets=true, const dms *lat=0, const dms *LST=0 );
00294 
00302     void apparentCoord(long double jd0, long double jdf);
00303 
00308     void nutate(const KSNumbers *num);
00309 
00314     void aberrate(const KSNumbers *num);
00315 
00322     void precessFromAnyEpoch(long double jd0, long double jdf);
00323 
00331     SkyPoint Eterms(void);
00332 
00345     void B1950ToJ2000(void);
00346 
00359     void J2000ToB1950(void);
00360 
00366     void addEterms(void);
00367 
00373     void subtractEterms(void);
00374 
00388     dms angularDistanceTo( SkyPoint *sp);
00389 
00390     bool operator == ( SkyPoint &p ) { return ( ra()->Degrees() == p.ra()->Degrees() && dec()->Degrees() == p.dec()->Degrees() ); }
00391     
00397     double vRSun(long double jd);
00398 
00408     double vHeliocentric(double vlsr, long double jd);
00409 
00417     double vHelioToVlsr(double vhelio, long double jd);
00418 
00423     double vREarth(long double jd0);
00424     
00433     double vGeocentric(double vhelio, long double jd);
00434 
00443     double vGeoToVHelio(double vgeo, long double jd);
00444 
00450     double vRSite(double vsite[3]);
00451 
00460     double vTopocentric(double vgeo, double vsite[3]);
00461 
00469     double vTopoToVGeo(double vtopo, double vsite[3]);
00470 
00474 
00476 
00480 
00481     QString constellation( QPtrList<CSegment> &seglist, QPtrList<SkyObject> &cnames ) const;
00482 
00483 
00484 protected:
00489     void precess(const KSNumbers *num);
00490 
00491 
00492 private:
00493     dms RA0, Dec0; //catalog coordinates
00494     dms RA, Dec; //current true sky coordinates
00495     dms Alt, Az;
00496 };
00497 
00498 #endif

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