• Skip to content
  • Skip to link menu
KDE API Reference
  • KDE API Reference
  • kdeedu API Reference
  • KDE Home
  • Contact Us
 

kstars

  • sources
  • kde-4.12
  • kdeedu
  • kstars
  • kstars
  • skyobjects
ksplanet.h
Go to the documentation of this file.
1 /***************************************************************************
2  ksplanet.h - K Desktop Planetarium
3  -------------------
4  begin : Sun Jul 22 2001
5  copyright : (C) 2001 by Jason Harris
6  email : jharris@30doradus.org
7  ***************************************************************************/
8 
9 /***************************************************************************
10  * *
11  * This program is free software; you can redistribute it and/or modify *
12  * it under the terms of the GNU General Public License as published by *
13  * the Free Software Foundation; either version 2 of the License, or *
14  * (at your option) any later version. *
15  * *
16  ***************************************************************************/
17 
18 #ifndef KSPLANET_H_
19 #define KSPLANET_H_
20 
21 #include <QVector>
22 #include <QHash>
23 
24 #include "ksplanetbase.h"
25 #include "dms.h"
26 
40 class KSPlanet : public KSPlanetBase {
41 public:
42 
50  explicit KSPlanet( const QString &s="unnamed", const QString &image_file=QString(),
51  const QColor & c=Qt::white, double pSize=0 );
52 
58  explicit KSPlanet( int n );
59 
60  virtual KSPlanet* clone() const;
61  virtual SkyObject::UID getUID() const;
62 
66  virtual ~KSPlanet() {}
67 
72  QString untranslatedName( void ) const;
73 
76  virtual bool loadData();
77 
84  virtual void calcEcliptic(double jm, EclipticPosition &ret) const;
85 
86 protected:
87 
88  bool data_loaded;
89 
96  virtual bool findGeocentricPosition( const KSNumbers *num, const KSPlanetBase *Earth=NULL );
97 
104  class OrbitData {
105  public:
109  OrbitData() : A(0.), B(0.), C(0.) {}
116  OrbitData(double a, double b, double c) : A(a), B(b), C(c) {}
117 
121  OrbitData operator= ( const OrbitData o ) { return o; }
122 
123  double A, B, C;
124  };
125 
126  typedef QVector<OrbitData> OBArray[6];
127 
135  class OrbitDataColl {
136  public:
138  OrbitDataColl();
139 
140  OBArray Lon;
141  OBArray Lat;
142  OBArray Dst;
143  };
144 
145 
152  class OrbitDataManager {
153  public:
155  OrbitDataManager();
156 
165  bool loadData( OrbitDataColl &odc, const QString &n);
166 
167  private:
174  bool readOrbitData(const QString &fname, QVector<KSPlanet::OrbitData> *vector);
175 
176  QHash<QString, OrbitDataColl> hash;
177  };
178 
179  static OrbitDataManager odm;
180 
181 private:
182  virtual void findMagnitude(const KSNumbers*);
183 };
184 
185 #endif
ksplanetbase.h
KSPlanet::OrbitDataManager::loadData
bool loadData(OrbitDataColl &odc, const QString &n)
Load orbital data for a planet from disk.
Definition: ksplanet.cpp:65
KSPlanet
A subclass of KSPlanetBase for seven of the major planets in the solar system (Earth and Pluto have t...
Definition: ksplanet.h:40
KSPlanet::clone
virtual KSPlanet * clone() const
Create copy of object.
Definition: ksplanet.cpp:151
KSPlanet::OrbitData::OrbitData
OrbitData()
Default constructor.
Definition: ksplanet.h:109
KSPlanet::OrbitData::A
double A
Definition: ksplanet.h:123
KSPlanet::odm
static OrbitDataManager odm
Definition: ksplanet.h:179
KSPlanet::OrbitDataColl::OrbitDataColl
OrbitDataColl()
Constructor.
Definition: ksplanet.cpp:34
KSPlanet::getUID
virtual SkyObject::UID getUID() const
Return UID for object.
Definition: ksplanet.cpp:365
KSPlanet::findGeocentricPosition
virtual bool findGeocentricPosition(const KSNumbers *num, const KSPlanetBase *Earth=NULL)
Calculate the geocentric RA, Dec coordinates of the Planet.
Definition: ksplanet.cpp:248
KSPlanet::loadData
virtual bool loadData()
Preload the data used by findPosition.
Definition: ksplanet.cpp:177
KSPlanet::OrbitData::operator=
OrbitData operator=(const OrbitData o)
Assignment operator.
Definition: ksplanet.h:121
KSPlanet::OrbitDataColl
OrbitDataColl contains three groups of six QVectors.
Definition: ksplanet.h:135
dms.h
KSPlanet::~KSPlanet
virtual ~KSPlanet()
Destructor (empty)
Definition: ksplanet.h:66
KSPlanet::calcEcliptic
virtual void calcEcliptic(double jm, EclipticPosition &ret) const
Calculate the ecliptic longitude and latitude of the planet for the given date (expressed in Julian M...
Definition: ksplanet.cpp:182
KSPlanet::KSPlanet
KSPlanet(const QString &s="unnamed", const QString &image_file=QString(), const QColor &c=Qt::white, double pSize=0)
Constructor.
Definition: ksplanet.cpp:115
EclipticPosition
The ecliptic position of a planet (Longitude, Latitude, and distance from Sun).
Definition: ksplanetbase.h:40
KSPlanet::OBArray
QVector< OrbitData > OBArray[6]
Definition: ksplanet.h:126
KSPlanet::OrbitData::C
double C
Definition: ksplanet.h:123
SkyObject::UID
qint64 UID
Type for Unique object IDenticator.
Definition: skyobject.h:53
KSPlanet::untranslatedName
QString untranslatedName(void) const
return the untranslated name This is a dirty way to solve a lot of localization-related trouble for t...
Definition: ksplanet.cpp:157
KSPlanet::OrbitDataManager
OrbitDataManager places the OrbitDataColl objects for all planets in a QDict indexed by the planets' ...
Definition: ksplanet.h:152
KSPlanet::OrbitData::OrbitData
OrbitData(double a, double b, double c)
Constructor.
Definition: ksplanet.h:116
KSPlanet::data_loaded
bool data_loaded
Definition: ksplanet.h:88
KSNumbers
There are several time-dependent values used in position calculations, that are not specific to an ob...
Definition: ksnumbers.h:43
KSPlanet::OrbitDataColl::Dst
OBArray Dst
Definition: ksplanet.h:142
KSPlanet::OrbitDataManager::OrbitDataManager
OrbitDataManager()
Constructor.
Definition: ksplanet.cpp:37
KSPlanetBase
A subclass of TrailObject that provides additional information needed for most solar system objects...
Definition: ksplanetbase.h:63
KSPlanet::OrbitDataColl::Lat
OBArray Lat
Definition: ksplanet.h:141
KSPlanet::OrbitData::B
double B
Definition: ksplanet.h:123
KSPlanet::OrbitData
This class contains doubles A,B,C which represent a single term in a planet's positional expansion su...
Definition: ksplanet.h:104
KSPlanet::OrbitDataColl::Lon
OBArray Lon
Definition: ksplanet.h:140
This file is part of the KDE documentation.
Documentation copyright © 1996-2014 The KDE developers.
Generated on Tue Oct 14 2014 22:36:20 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

kstars

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

kdeedu API Reference

Skip menu "kdeedu API Reference"
  • Analitza
  •     lib
  • kalgebra
  • kalzium
  •   libscience
  • kanagram
  • kig
  •   lib
  • klettres
  • kstars
  • libkdeedu
  •   keduvocdocument
  • marble
  • parley
  • rocs
  •   App
  •   RocsCore
  •   VisualEditor
  •   stepcore

Search



Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal