]> git.mxchange.org Git - simgear.git/commitdiff
Updated to eliminate rendering component and allow initialization without a
authorcurt <curt>
Thu, 16 Mar 2000 03:00:58 +0000 (03:00 +0000)
committercurt <curt>
Thu, 16 Mar 2000 03:00:58 +0000 (03:00 +0000)
known time.

18 files changed:
simgear/ephemeris/celestialBody.cxx
simgear/ephemeris/ephemeris.cxx
simgear/ephemeris/ephemeris.hxx
simgear/ephemeris/jupiter.cxx
simgear/ephemeris/jupiter.hxx
simgear/ephemeris/mars.cxx
simgear/ephemeris/mars.hxx
simgear/ephemeris/mercury.cxx
simgear/ephemeris/mercury.hxx
simgear/ephemeris/neptune.cxx
simgear/ephemeris/neptune.hxx
simgear/ephemeris/pluto.hxx
simgear/ephemeris/saturn.cxx
simgear/ephemeris/saturn.hxx
simgear/ephemeris/uranus.cxx
simgear/ephemeris/uranus.hxx
simgear/ephemeris/venus.cxx
simgear/ephemeris/venus.hxx

index a46a34dfca3c416f5efcaf9f923c8fb405c6505f..d8ea4b36871d3673c4401c372b38535268003a10 100644 (file)
@@ -87,8 +87,8 @@ void CelestialBody::updatePosition(FGTime *t, Star *ourSun)
   ze = yg * sin(ecl) + zg * cos(ecl);
   rightAscension = atan2(ye, xe);
   declination = atan2(ze, sqrt(xe*xe + ye*ye));
-  FG_LOG(FG_GENERAL, FG_INFO, "Planet found at : " 
-        << rightAscension << " (ra), " << declination << " (dec)" );
+  /* FG_LOG(FG_GENERAL, FG_INFO, "Planet found at : " 
+        << rightAscension << " (ra), " << declination << " (dec)" ); */
 
   //calculate some variables specific to calculating the magnitude 
   //of the planet
index 86a6047e5773f87689ddbd62b7b1ebc533899502..c795a8584100139be4f0b2bcf0cad2504d300423 100644 (file)
 FGEphemeris::FGEphemeris( void ) {
     our_sun = new Star;
     moon = new Moon;
+    mercury = new Mercury;
+    venus = new Venus;
+    mars = new Mars;
+    jupiter = new Jupiter;
+    saturn = new Saturn;
+    uranus = new Uranus;
+    neptune = new Neptune;
 }
 
 
@@ -36,13 +43,38 @@ FGEphemeris::FGEphemeris( void ) {
 FGEphemeris::~FGEphemeris( void ) {
     delete our_sun;
     delete moon;
+    delete mercury;
+    delete venus;
+    delete mars;
+    delete jupiter;
+    delete saturn;
+    delete uranus;
+    delete neptune;
 }
 
 
 // Update (recalculate) the positions of all objects for the specified
 // time
 void FGEphemeris::update( FGTime *t ) {
+    // update object positions
     our_sun->updatePosition( t );
     moon->updatePosition( t, our_sun );
+    mercury->updatePosition( t, our_sun );
+    venus->updatePosition( t, our_sun );
+    mars->updatePosition( t, our_sun );
+    jupiter->updatePosition( t, our_sun );
+    saturn->updatePosition( t, our_sun );
+    uranus->updatePosition( t, our_sun );
+    neptune->updatePosition( t, our_sun );
+
+    // update planets list
+    mercury->getPos( &planets[0][0], &planets[0][1], &planets[0][2] );
+    venus  ->getPos( &planets[1][0], &planets[1][1], &planets[1][2] );
+    mars   ->getPos( &planets[2][0], &planets[2][1], &planets[2][2] );
+    jupiter->getPos( &planets[3][0], &planets[3][1], &planets[3][2] );
+    saturn ->getPos( &planets[4][0], &planets[4][1], &planets[4][2] );
+    uranus ->getPos( &planets[5][0], &planets[5][1], &planets[5][2] );
+    neptune->getPos( &planets[6][0], &planets[6][1], &planets[6][2] );
+    
 }
 
index 59c876f0c7ab0e308d5b5127cb03fd59a03c7e8c..b57fc02c95883f59bed3bd5a22567acefa2d3b07 100644 (file)
 #define _EPHEMERIS_HXX
 
 
+#include <plib/sg.h>
+
 #include <Time/fg_time.hxx>
 
 #include "star.hxx"
 #include "moon.hxx"
+#include "mercury.hxx"
+#include "venus.hxx"
+#include "mars.hxx"
+#include "jupiter.hxx"
+#include "saturn.hxx"
+#include "uranus.hxx"
+#include "neptune.hxx"
 
 
 class FGEphemeris {
 
     Star *our_sun;
     Moon *moon;
+    Mercury *mercury;
+    Venus *venus;
+    Mars *mars;
+    Jupiter *jupiter;
+    Saturn *saturn;
+    Uranus *uranus;
+    Neptune *neptune;
+
+    // 9 planets - earth - pluto which we don't draw = 7
+    // planets[i][0] = Right Ascension
+    // planets[i][1] = Declination
+    // planets[i][2] = Magnitude
+    sgdVec3 planets[7];
 
 public:
 
@@ -50,20 +72,25 @@ public:
     void update(FGTime *t);
 
     // sun position
-    inline double getSunRightAscension() {
+    inline double getSunRightAscension() const {
        return our_sun->getRightAscension();
     }
-    inline double getSunDeclination() {
+    inline double getSunDeclination() const {
        return our_sun->getDeclination();
     }
 
     // moon position
-    inline double getMoonRightAscension() {
+    inline double getMoonRightAscension() const {
        return moon->getRightAscension();
     }
-    inline double getMoonDeclination() {
+    inline double getMoonDeclination() const {
        return moon->getDeclination();
     }
+
+    // planets
+    inline sgdVec3 *getPlanets() const {
+       return planets;
+    }
 };
 
 
index 668b586fba9af48cac32f8e496e83dd182db3e6e..fe490d848d4cbdfbe1f1a3839102a111b59b181d 100644 (file)
@@ -47,6 +47,16 @@ Jupiter::Jupiter(FGTime *t) :
 {
 }
 
+Jupiter::Jupiter() :
+  CelestialBody(100.4542,  2.7685400E-5,       
+               1.3030,   -1.557E-7,
+               273.8777,  1.6450500E-5,
+               5.2025600, 0.000000,
+               0.048498,  4.469E-9,
+               19.89500,  0.08308530010)
+{
+}
+
 /*************************************************************************
  * void Jupiter::updatePosition(FGTime *t, Star *ourSun)
  * 
index fe8aadbf390e23bc6b596fad13891f57b1538e41..a490fa2fdca153a999b280ad2c20c7c1e468c976 100644 (file)
@@ -32,6 +32,7 @@ class Jupiter : public CelestialBody
 {
 public:
   Jupiter (FGTime *t);
+  Jupiter ();
   void updatePosition(FGTime *t, Star *ourSun);
 };
 
index b5d269e6f7ca6c5c4347e06aef7a2fd5f556301b..14bc9222d141151af673434f36db7475678d96f3 100644 (file)
@@ -45,6 +45,15 @@ Mars::Mars(FGTime *t) :
                18.60210,  0.52402077660, t)
 {
 }
+Mars::Mars() :
+  CelestialBody(49.55740,  2.1108100E-5,
+               1.8497,   -1.78E-8,
+               286.5016,  2.9296100E-5,
+               1.5236880, 0.000000,
+               0.093405,  2.516E-9,
+               18.60210,  0.52402077660)
+{
+}
 /*************************************************************************
  * void Mars::updatePosition(FGTime *t, Star *ourSun)
  * 
index 2cc47c0c71a247aac72dcbd9e38ddcbecad68ee1..9501f3c212fe6f9e2bf4ccb8874f3db0ae01e80b 100644 (file)
@@ -32,6 +32,7 @@ class Mars : public CelestialBody
 {
 public:
   Mars ( FGTime *t);
+  Mars ();
   void updatePosition(FGTime *t, Star *ourSun);
 };
 
index e100dd98994deec171885b23f99835695bf9023a..b55eb3a5688c09f46c886e1f2c6b91c6eef55f6f 100644 (file)
@@ -45,6 +45,15 @@ Mercury::Mercury(FGTime *t) :
                   168.6562,  4.09233443680, t)
 {
 }
+Mercury::Mercury() :
+  CelestialBody (48.33130,   3.2458700E-5,
+                  7.0047,    5.00E-8,
+                  29.12410,  1.0144400E-5,
+                  0.3870980, 0.000000,
+                  0.205635,  5.59E-10,
+                  168.6562,  4.09233443680)
+{
+}
 /*************************************************************************
  * void Mercury::updatePosition(FGTime *t, Star *ourSun)
  * 
index 914370b9ddb2b5c03721e8a1304fbedd3eb58cf2..2404785136026f89834dd78014008476335189b2 100644 (file)
@@ -32,6 +32,7 @@ class Mercury : public CelestialBody
 {
 public:
   Mercury ( FGTime *t);
+  Mercury ();
   void updatePosition(FGTime *t, Star* ourSun);
 };
 
index bbb5df6c7ecbc338f244680b4bf441e0115963eb..241bf651cee191ab1d93c7f5526330e0b4f32bf9 100644 (file)
@@ -45,6 +45,15 @@ Neptune::Neptune(FGTime *t) :
                260.2471,   0.00599514700, t)
 {
 }
+Neptune::Neptune() :
+  CelestialBody(131.7806,   3.0173000E-5,
+               1.7700,    -2.550E-7,
+               272.8461,  -6.027000E-6,        
+               30.058260,  3.313E-8,
+               0.008606,   2.150E-9,
+               260.2471,   0.00599514700)
+{
+}
 /*************************************************************************
  * void Neptune::updatePosition(FGTime *t, Star *ourSun)
  * 
index 8a8d00f1f5c356f5d3666d573522829e71cda5a7..b837eab5cbc643d9e29d6dc38d9789a6c6c69ae7 100644 (file)
@@ -32,6 +32,7 @@ class Neptune : public CelestialBody
 {
 public:
   Neptune ( FGTime *t);
+  Neptune ();
   void updatePosition(FGTime *t, Star *ourSun);
 };
 
index 2f8393aabb08761994950dcec0e77c24aa01592c..3bd055fdb04aae335257ff90c475c79a9f72d174 100644 (file)
@@ -30,7 +30,8 @@
 class Pluto : public CelestialBody
 {
 public:
-  Pluto ( FGTime t);
+  Pluto ( FGTime *t);
+  Pluto ();
 };
 
 #endif // _PLUTO_HXX_
index 10cce47d9d1fc4528061eb22daedcf2f46ea36a0..eb61496f398f0128278309ac7305527d0cc8b292 100644 (file)
@@ -45,6 +45,15 @@ Saturn::Saturn(FGTime *t) :
                316.9670,   0.03344422820, t)
 {
 }
+Saturn::Saturn() :
+  CelestialBody(113.6634,   2.3898000E-5,
+               2.4886,    -1.081E-7,
+               339.3939,   2.9766100E-5,
+               9.5547500,  0.000000,
+               0.055546,  -9.499E-9,
+               316.9670,   0.03344422820)
+{
+}
 
 /*************************************************************************
  * void Saturn::updatePosition(FGTime *t, Star *ourSun)
index 4cf4d004e45bfce7d7b797d1ca05ce0b5b40f9c8..1b5033772fec4008a5bf265fec7eac5f03bf225a 100644 (file)
@@ -32,6 +32,7 @@ class Saturn : public CelestialBody
 {
 public:
   Saturn ( FGTime *t);
+  Saturn ();
   void updatePosition(FGTime *t, Star *ourSun);
 };
 
index c749a105aa4cae338cfeeb5d273e9e9d04f3a3e8..eb4581ce1e1d9224fde64e8faa02a9a906b2acc2 100644 (file)
@@ -45,6 +45,15 @@ Uranus::Uranus(FGTime *t) :
                142.5905,   0.01172580600, t)
 {
 }
+Uranus::Uranus() :
+  CelestialBody(74.00050,   1.3978000E-5,
+               0.7733,     1.900E-8,
+               96.66120,   3.0565000E-5,
+               19.181710, -1.55E-8,
+               0.047318,   7.450E-9,
+               142.5905,   0.01172580600)
+{
+}
 
 /*************************************************************************
  * void Uranus::updatePosition(FGTime *t, Star *ourSun)
index ed55a144c4d7f7e6ee4ed7f9933cf8f63a8303f0..5773c0d5d4dac4021b7bf0ebaa3c0916ffbb3e71 100644 (file)
@@ -32,6 +32,7 @@ class Uranus : public CelestialBody
 {
 public:
   Uranus ( FGTime *t);
+  Uranus ();
   void updatePosition(FGTime *t, Star *ourSun);
 };
 
index 95be711b8c9be401f72e7505660cc98086cae3fe..89e8737e55e1879f8acef3f411165f64570f3e20 100644 (file)
@@ -45,6 +45,15 @@ Venus::Venus(FGTime *t) :
                48.00520,  1.60213022440, t)
 {
 }
+Venus::Venus() :
+  CelestialBody(76.67990,  2.4659000E-5, 
+               3.3946,    2.75E-8,
+               54.89100,  1.3837400E-5,
+               0.7233300, 0.000000,
+               0.006773, -1.302E-9,
+               48.00520,  1.60213022440)
+{
+}
 
 /*************************************************************************
  * void Venus::updatePosition(FGTime *t, Star *ourSun)
index ba498c84a45105d799ac9a1a875f884c671e752f..71b7dd04e87517663f625607da07e5c6644e1fad 100644 (file)
@@ -32,6 +32,7 @@ class Venus : public CelestialBody
 {
 public:
   Venus ( FGTime *t);
+  Venus ();
   void updatePosition(FGTime *t, Star *ourSun);
 };