]> git.mxchange.org Git - simgear.git/blobdiff - simgear/math/point3d.hxx
Adjust the fog punch through effect for oursun
[simgear.git] / simgear / math / point3d.hxx
index 35931087509955c697ac4d8670b8237deef17764..11445ea0240209b961f9322a5696b0ff7469e984 100644 (file)
@@ -1,7 +1,13 @@
-// point3d.hxx -- a 3d point class.  
-//
-// Adapted from algebra3 by Jean-Francois Doue, started October 1998.
-//
+/**
+ * \file point3d.hxx
+ * A 3d point class (depricated).  This class is depricated and we are
+ * in the process of removing all usage of it in favor of plib's "sg"
+ * library of point, vector, and math routines.  Plib's sg lib is less
+ * object oriented, but integrates more seamlessly with opengl.
+ *
+ * Adapted from algebra3 by Jean-Francois Doue, started October 1998.
+ */
+
 // Copyright (C) 1998  Curtis L. Olson  - curt@me.umn.edu
 //
 // This library is free software; you can redistribute it and/or
 // already depending on how you defined SG_HAVE_STD_INCLUDES, but I
 // can go ahead and add this -- CLO
 #ifdef __MWERKS__
-FG_USING_NAMESPACE(std);
+SG_USING_NAMESPACE(std);
 #endif
 
-#ifndef FG_HAVE_NATIVE_SGI_COMPILERS
-FG_USING_STD(ostream);
-FG_USING_STD(istream);
-#endif
+SG_USING_STD(ostream);
+SG_USING_STD(istream);
 
 
 const double fgPoint3_Epsilon = 0.0000001;
@@ -73,11 +77,9 @@ Point3D operator- (const Point3D& p);                    // -p1
 bool operator== (const Point3D& a, const Point3D& b);  // p1 == p2?
 
 
-///////////////////////////
-//
-// 3D Point
-//
-///////////////////////////
+/**
+ * 3D Point class.
+ */
 
 class Point3D {
 
@@ -87,8 +89,7 @@ protected:
 
 public:
 
-    // Constructors
-
+    /** Default constructor */
     Point3D();
     Point3D(const double x, const double y, const double z);
     explicit Point3D(const double d);
@@ -105,6 +106,10 @@ public:
     void setx(const double x);
     void sety(const double y);
     void setz(const double z);
+    void setlon(const double x);
+    void setlat(const double y);
+    void setradius(const double z);
+    void setelev(const double z);
 
     // Queries 
 
@@ -237,6 +242,22 @@ inline void Point3D::setz(const double z) {
     n[PZ] = z;
 }
 
+inline void Point3D::setlon(const double x) {
+    n[PX] = x;
+}
+
+inline void Point3D::setlat(const double y) {
+    n[PY] = y;
+}
+
+inline void Point3D::setradius(const double z) {
+    n[PZ] = z;
+}
+
+inline void Point3D::setelev(const double z) {
+    n[PZ] = z;
+}
+
 // QUERIES
 
 inline double& Point3D::operator [] ( int i)