]> git.mxchange.org Git - flightgear.git/blobdiff - Astro/moon.hxx
C++-ifying.
[flightgear.git] / Astro / moon.hxx
index c1838004219e38109ef4d6fe7aa5993d6b577dd8..677dcfca189b30c118e29a3a57570482e25f583e 100644 (file)
@@ -1,7 +1,9 @@
 /**************************************************************************
- * moon.h
- *
- * Written 1997 by Durk Talsma, started October, 1997.
+ * moon.hxx
+ * Written by Durk Talsma. Originally started October 1997, for distribution  
+ * with the FlightGear project. Version 2 was written in August and 
+ * September 1998. This code is based upon algorithms and data kindly 
+ * provided by Mr. Paul Schlyter. (pausch@saaf.se). 
  *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License as
  * $Id$
  * (Log is kept at end of this file)
  **************************************************************************/
-
-
-#ifndef _MOON_HXX
-#define _MOON_HXX
-
-
-#ifndef __cplusplus                                                          
-# error This library requires C++
-#endif                                   
-
-
-#include <math.h>
-
-#include <Time/fg_time.h>
-
-#include "orbits.hxx"
-
-
-/* Initialize the Moon Display management Subsystem */
-void fgMoonInit( void );
-
-/* Draw the Moon */
-void fgMoonRender( void );
-
-struct CelestialCoord fgCalculateMoon(struct OrbElements Params,
-                                      struct OrbElements sunParams,
-                                      struct fgTIME t);
-
-extern struct OrbElements pltOrbElements[9];
-
-
-#endif /* _MOON_HXX */
-
-
-/* $Log$
-/* Revision 1.1  1998/04/22 13:21:28  curt
-/* C++ - ifing the code a bit.
-/*
- * Revision 1.7  1998/04/21 17:02:30  curt
- * Prepairing for C++ integration.
- *
- * Revision 1.6  1998/02/23 19:07:54  curt
- * Incorporated Durk's Astro/ tweaks.  Includes unifying the sun position
- * calculation code between sun display, and other FG sections that use this
- * for things like lighting.
- *
- * Revision 1.5  1998/02/02 20:53:21  curt
- * To version 0.29
- *
- * Revision 1.4  1998/01/22 02:59:27  curt
- * Changed #ifdef FILE_H to #ifdef _FILE_H
- *
- * Revision 1.3  1998/01/19 19:26:58  curt
- * Merged in make system changes from Bob Kuehne <rpk@sgi.com>
- * This should simplify things tremendously.
- *
- * Revision 1.2  1998/01/19 18:40:17  curt
- * Tons of little changes to clean up the code and to remove fatal errors
- * when building with the c++ compiler.
- *
- * Revision 1.1  1998/01/07 03:16:16  curt
- * Moved from .../Src/Scenery/ to .../Src/Astro/
- *
- * Revision 1.4  1997/12/11 04:43:56  curt
- * Fixed sun vector and lighting problems.  I thing the moon is now lit
- * correctly.
- *
- * Revision 1.3  1997/11/25 19:25:35  curt
- * Changes to integrate Durk's moon/sun code updates + clean up.
- *
- * Revision 1.2  1997/10/25 03:24:23  curt
- * Incorporated sun, moon, and star positioning code contributed by Durk Talsma.
- *
- * Revision 1.1  1997/10/25 03:16:09  curt
- * Initial revision of code contributed by Durk Talsma.
- *
- */
+#ifndef _MOON_HXX_
+#define _MOON_HXX_
+
+#include <Aircraft/aircraft.hxx>
+#include <Debug/fg_debug.h>
+#include <Include/fg_constants.h>
+#include <Include/general.h>
+#include <Main/views.hxx>
+#include <Time/fg_time.hxx>
+
+#include "celestialBody.hxx"
+#include "star.hxx"
+
+class Moon : public CelestialBody
+{
+private:
+  void TexInit();  // This should move to the constructor eventually.
+
+  GLUquadricObj *Object;
+  GLuint Sphere;
+  
+public:
+  Moon ( fgTIME *t);
+  void updatePosition(fgTIME *t, Star *ourSun);
+  void newImage(float, float);
+};
+
+
+#endif // _MOON_HXX_