• 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
  • tools
ksconjunct.h
Go to the documentation of this file.
1 /***************************************************************************
2  ksconjunct.h - K Desktop Planetarium
3  -------------------
4  begin : Sat Mar 15 2008
5  copyright : (C) 2008 by Akarsh Simha
6  email : kstar@bas.org.in
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 
19 #ifndef KSCONJUNCT_H_
20 #define KSCONJUNCT_H_
21 
22 #include <QMap>
23 #include <QObject>
24 
25 #include "dms.h"
26 #include "skyobjects/skyobject.h"
27 #include "skyobjects/ksplanet.h"
28 #include "skyobjects/ksplanetbase.h"
29 #include "ksnumbers.h"
30 
31 class SkyObject;
32 class KSNumbers;
33 class KSPlanetBase;
34 class KSPlanet;
35 class dms;
36 
47 class KSConjunct :public QObject {
48  Q_OBJECT
49 
50  public:
55  KSConjunct();
56 
61  ~KSConjunct() { }
62 
68  void setGeoLocation( GeoLocation *geo );
69 
83  QMap<long double, dms> findClosestApproach(SkyObject& Object1, KSPlanetBase& Object2, long double startJD, long double stopJD, dms maxSeparation, bool _opposition=false);
84 
85  signals:
86  void madeProgress( int progress );
87 
88  private:
89 
100  // TODO: Make pointers to Object1 and Object2 private objects instead of passing them to the methods again and again.
101  // Should improve performance, at least marginally.
102 
103  dms findDistance(long double jd, SkyObject *Object1, KSPlanetBase *Object2);
104 
118  bool findPrecise(QPair<long double, dms> *out, SkyObject *Object1, KSPlanetBase *Object2, long double jd, double step, int prevSign);
119 
128  int sgn(dms a);
129 
130  bool opposition;
131  GeoLocation *geoPlace;
132 };
133 
134 #endif
135 
KSConjunct::setGeoLocation
void setGeoLocation(GeoLocation *geo)
Sets the geographic location to compute conjunctions at.
Definition: ksconjunct.cpp:33
ksplanetbase.h
KSPlanet
A subclass of KSPlanetBase for seven of the major planets in the solar system (Earth and Pluto have t...
Definition: ksplanet.h:40
skyobject.h
QObject
dms.h
ksplanet.h
KSConjunct::findClosestApproach
QMap< long double, dms > findClosestApproach(SkyObject &Object1, KSPlanetBase &Object2, long double startJD, long double stopJD, dms maxSeparation, bool _opposition=false)
Compute the closest approach of two planets in the given range.
Definition: ksconjunct.cpp:40
GeoLocation
Contains all relevant information for specifying a location on Earth: City Name, State/Province name...
Definition: geolocation.h:39
KSConjunct::madeProgress
void madeProgress(int progress)
ksnumbers.h
dms
An angle, stored as degrees, but expressible in many ways.
Definition: dms.h:42
KSConjunct
A class that implements a method to compute close conjunctions between any two solar system objects e...
Definition: ksconjunct.h:47
KSNumbers
There are several time-dependent values used in position calculations, that are not specific to an ob...
Definition: ksnumbers.h:43
KSConjunct::KSConjunct
KSConjunct()
Constructor.
Definition: ksconjunct.cpp:29
KSPlanetBase
A subclass of TrailObject that provides additional information needed for most solar system objects...
Definition: ksplanetbase.h:63
KSConjunct::~KSConjunct
~KSConjunct()
Destructor.
Definition: ksconjunct.h:61
SkyObject
Provides all necessary information about an object in the sky: its coordinates, name(s), type, magnitude, and QStringLists of URLs for images and webpages regarding the object.
Definition: skyobject.h:46
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