• 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
kscomet.h
Go to the documentation of this file.
1 /***************************************************************************
2  kscomet.h - K Desktop Planetarium
3  -------------------
4  begin : Wed 19 Feb 2003
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 KSCOMET_H_
19 #define KSCOMET_H_
20 
21 #include "ksplanetbase.h"
22 
47 class KSNumbers;
48 class dms;
49 
50 class KSComet : public KSPlanetBase
51 {
52 public:
68  KSComet( const QString &s, const QString &image_file,
69  long double JD, double q, double e, dms i, dms w, dms N, double Tp,
70  float M1, float M2, float K1, float K2 );
71 
72  virtual KSComet* clone() const;
73  virtual SkyObject::UID getUID() const;
74 
76  virtual ~KSComet() {}
77 
81  virtual bool loadData();
82 
87  inline long double getPerihelionJD() { return JDp; }
88 
93  inline double getPerihelion() { return q; }
94 
98  inline float getTotalMagnitudeParameter() { return M1; }
99 
103  inline float getNuclearMagnitudeParameter() { return M2; }
104 
108  inline float getTotalSlopeParameter() { return K1; }
109 
113  inline float getNuclearSlopeParameter() { return K2; }
114 
118  void setTailSize( double tailsize ) { TailSize = tailsize; }
119 
123  inline float getTailSize() { return TailSize; }
124 
128  void setTailAngSize( double tailangsize ) { TailAngSize = tailangsize; }
129 
133  inline dms getTailAngSize() { return dms( TailAngSize ); }
134 
138  inline float getNuclearSize() { return NuclearSize; }
139 
143  void setEarthMOID( double earth_moid );
144 
148  inline double getEarthMOID() { return EarthMOID; }
149 
153  void setOrbitID( QString orbit_id );
154 
158  inline QString getOrbitID() { return OrbitID; }
159 
163  void setOrbitClass( QString orbit_class );
164 
168  inline QString getOrbitClass() { return OrbitClass; }
169 
173  void setNEO( bool neo );
174 
178  inline bool isNEO() { return NEO; }
179 
183  void setAlbedo( float albedo );
184 
188  inline float getAlbedo() { return Albedo; }
189 
193  void setDiameter( float diam );
194 
198  inline float getDiameter() { return Diameter; }
199 
203  void setDimensions( QString dim );
204 
208  inline QString getDimensions() { return Dimensions; }
209 
213  void setRotationPeriod( float rot_per );
214 
218  inline float getRotationPeriod() { return RotationPeriod; }
219 
223  void setPeriod( float per );
224 
228  inline float getPeriod() { return Period; }
229 
230 
231 protected:
238  virtual bool findGeocentricPosition( const KSNumbers *num, const KSPlanetBase *Earth=NULL );
239 
244  void findPhysicalParameters();
245 
246 
247 private:
248  virtual void findMagnitude(const KSNumbers*);
249 
250  long double JD, JDp;
251  double q, e, a, P, EarthMOID;
252  double TailSize, TailAngSize, ComaSize, NuclearSize; // All in kilometres
253  float M1, M2, K1, K2, Albedo, Diameter, RotationPeriod, Period;
254  dms i, w, N;
255  QString OrbitID, OrbitClass, Dimensions ;
256  bool NEO;
257 
258  qint64 uidPart; // Part of UID
259 };
260 
261 #endif
KSComet::getOrbitID
QString getOrbitID()
Definition: kscomet.h:158
KSComet::getEarthMOID
double getEarthMOID()
Definition: kscomet.h:148
KSComet::getAlbedo
float getAlbedo()
Definition: kscomet.h:188
KSComet::getOrbitClass
QString getOrbitClass()
Definition: kscomet.h:168
ksplanetbase.h
KSComet::findPhysicalParameters
void findPhysicalParameters()
Estimate physical parameters of the comet such as coma size, tail length and size of the nucleus...
Definition: kscomet.cpp:139
KSComet::getNuclearMagnitudeParameter
float getNuclearMagnitudeParameter()
Definition: kscomet.h:103
KSComet::setDiameter
void setDiameter(float diam)
Sets the comet's diameter.
Definition: kscomet.cpp:280
KSComet::getNuclearSize
float getNuclearSize()
Definition: kscomet.h:138
KSComet::getPerihelion
double getPerihelion()
Returns Perihelion distance.
Definition: kscomet.h:93
KSComet::getDimensions
QString getDimensions()
Definition: kscomet.h:208
KSComet::setPeriod
void setPeriod(float per)
Sets the comet's period.
Definition: kscomet.cpp:305
KSComet::setEarthMOID
void setEarthMOID(double earth_moid)
Sets the comet's earth minimum orbit intersection distance.
Definition: kscomet.cpp:270
KSComet::getTailAngSize
dms getTailAngSize()
Definition: kscomet.h:133
KSComet::setRotationPeriod
void setRotationPeriod(float rot_per)
Sets the comet's rotation period.
Definition: kscomet.cpp:310
KSComet::setOrbitClass
void setOrbitClass(QString orbit_class)
Sets the comet's orbit class.
Definition: kscomet.cpp:295
KSComet::isNEO
bool isNEO()
Definition: kscomet.h:178
KSComet::getTailSize
float getTailSize()
Definition: kscomet.h:123
KSComet::getPeriod
float getPeriod()
Definition: kscomet.h:228
KSComet::setTailAngSize
void setTailAngSize(double tailangsize)
Sets the comet's apparent tail length in degrees.
Definition: kscomet.h:128
KSComet::getPerihelionJD
long double getPerihelionJD()
Returns the Julian Day of Perihelion passage.
Definition: kscomet.h:87
KSComet
A subclass of KSPlanetBase that implements comets.
Definition: kscomet.h:50
KSComet::setOrbitID
void setOrbitID(QString orbit_id)
Sets the comet's orbit solution ID.
Definition: kscomet.cpp:300
SkyObject::UID
qint64 UID
Type for Unique object IDenticator.
Definition: skyobject.h:53
KSComet::getDiameter
float getDiameter()
Definition: kscomet.h:198
KSComet::~KSComet
virtual ~KSComet()
Destructor (empty)
Definition: kscomet.h:76
KSComet::getTotalSlopeParameter
float getTotalSlopeParameter()
Definition: kscomet.h:108
KSComet::getTotalMagnitudeParameter
float getTotalMagnitudeParameter()
Definition: kscomet.h:98
dms
An angle, stored as degrees, but expressible in many ways.
Definition: dms.h:42
KSComet::loadData
virtual bool loadData()
Unused virtual function inherited from KSPlanetBase, so it's simply empty here.
Definition: kscomet.cpp:316
KSNumbers
There are several time-dependent values used in position calculations, that are not specific to an ob...
Definition: ksnumbers.h:43
KSComet::KSComet
KSComet(const QString &s, const QString &image_file, long double JD, double q, double e, dms i, dms w, dms N, double Tp, float M1, float M2, float K1, float K2)
Constructor.
Definition: kscomet.cpp:54
KSComet::getNuclearSlopeParameter
float getNuclearSlopeParameter()
Definition: kscomet.h:113
KSComet::setDimensions
void setDimensions(QString dim)
Sets the comet's dimensions.
Definition: kscomet.cpp:285
KSComet::setAlbedo
void setAlbedo(float albedo)
Sets the comet's albedo.
Definition: kscomet.cpp:275
KSComet::setTailSize
void setTailSize(double tailsize)
Sets the comet's tail length in km.
Definition: kscomet.h:118
KSComet::clone
virtual KSComet * clone() const
Create copy of object.
Definition: kscomet.cpp:134
KSPlanetBase
A subclass of TrailObject that provides additional information needed for most solar system objects...
Definition: ksplanetbase.h:63
KSComet::getUID
virtual SkyObject::UID getUID() const
Return UID for object.
Definition: kscomet.cpp:318
KSComet::getRotationPeriod
float getRotationPeriod()
Definition: kscomet.h:218
KSComet::findGeocentricPosition
virtual bool findGeocentricPosition(const KSNumbers *num, const KSPlanetBase *Earth=NULL)
Calculate the geocentric RA, Dec coordinates of the Comet.
Definition: kscomet.cpp:156
KSComet::setNEO
void setNEO(bool neo)
Sets if the comet is a near earth object.
Definition: kscomet.cpp:290
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