From 75bc07dc420a1d4ad1753d6b5164b2c1b45496e9 Mon Sep 17 00:00:00 2001 From: curt Date: Sun, 18 Oct 1998 01:17:11 +0000 Subject: [PATCH] Point3D tweaks. --- Math/fg_geodesy.hxx | 8 +++++++- Math/point3d.hxx | 32 ++++++++++++++++++++------------ Math/polar3d.cxx | 20 ++++++++++++-------- Misc/strutils.cxx | 5 +++++ 4 files changed, 44 insertions(+), 21 deletions(-) diff --git a/Math/fg_geodesy.hxx b/Math/fg_geodesy.hxx index c4480d91..4f7fd267 100644 --- a/Math/fg_geodesy.hxx +++ b/Math/fg_geodesy.hxx @@ -69,7 +69,7 @@ inline Point3D fgGeodToCart(const Point3D& geod) { // printf("A geocentric point is (%.2f, %.2f, %.2f)\n", gc_lon, // gc_lat, sl_radius+geod[2]); - pp.setvals(gc_lon, gc_lat, sl_radius + geod.radius()); + pp = Point3D(gc_lon, gc_lat, sl_radius + geod.radius()); cp = fgPolarToCart3d(pp); // printf("A cart point is (%.8f, %.8f, %.8f)\n", cp.x, cp.y, cp.z); @@ -120,6 +120,9 @@ inline Point3D fgGeodToCart(const Point3D& geod) { $Header$ $Log$ +Revision 1.3 1998/10/18 01:17:11 curt +Point3D tweaks. + Revision 1.2 1998/10/16 23:36:37 curt c++-ifying. @@ -193,6 +196,9 @@ Initial Flight Gear revision. // $Log$ +// Revision 1.3 1998/10/18 01:17:11 curt +// Point3D tweaks. +// // Revision 1.2 1998/10/16 23:36:37 curt // c++-ifying. // diff --git a/Math/point3d.hxx b/Math/point3d.hxx index ab30d94e..7e178350 100644 --- a/Math/point3d.hxx +++ b/Math/point3d.hxx @@ -38,12 +38,6 @@ using namespace std; #endif -/* -#include -#include -#include -*/ - #include #include @@ -80,7 +74,7 @@ public: Point3D& operator -= ( const Point3D& p ); // decrementation by a Point3D Point3D& operator *= ( const double d ); // multiplication by a constant Point3D& operator /= ( const double d ); // division by a constant - void setvals(const double x, const double y, const double z); + void setx(const double x); void sety(const double y); void setz(const double z); @@ -115,6 +109,21 @@ public: }; +// output to stream +inline ostream& +operator << ( ostream& out, Point3D& p) +{ + double x, y, z; + + x = p.x(); + y = p.y(); + z = p.z(); + + out << x << " " << y << " " << z; + + return out; +} + // input from stream inline istream& operator >> ( istream& in, Point3D& p) @@ -146,7 +155,7 @@ operator >> ( istream& in, Point3D& p) in >> z; - p.setvals(x, y, z); + p = Point3D(x, y, z); return in; } @@ -204,10 +213,6 @@ inline Point3D& Point3D::operator /= ( const double d ) return *this; } -inline void Point3D::setvals(const double x, const double y, const double z) { - n[PX] = x; n[PY] = y; n[PZ] = z; -} - inline void Point3D::setx(const double x) { n[PX] = x; } @@ -312,6 +317,9 @@ inline double distance3D(const Point3D& a, const Point3D& b) // $Log$ +// Revision 1.2 1998/10/18 01:17:12 curt +// Point3D tweaks. +// // Revision 1.1 1998/10/16 00:50:29 curt // Added point3d.hxx to replace cheezy fgPoint3d struct. // diff --git a/Math/polar3d.cxx b/Math/polar3d.cxx index daaaffa8..c0de1e0f 100644 --- a/Math/polar3d.cxx +++ b/Math/polar3d.cxx @@ -39,11 +39,11 @@ Point3D fgPolarToCart3d(const Point3D& p) { tmp = cos( p.lat() ) * p.radius(); - pnew.setvals( cos( p.lon() ) * tmp, - sin( p.lon() ) * tmp, - sin( p.lat() ) * p.radius() ); + pnew = Point3D ( cos( p.lon() ) * tmp, + sin( p.lon() ) * tmp, + sin( p.lat() ) * p.radius() ); - return(pnew); + return pnew; } @@ -52,14 +52,15 @@ Point3D fgPolarToCart3d(const Point3D& p) { Point3D fgCartToPolar3d(const Point3D& cp) { Point3D pp; - pp.setvals( atan2( cp.y(), cp.x() ), - FG_PI_2 - atan2( sqrt(cp.x()*cp.x() + cp.y()*cp.y()), cp.z() ), - sqrt(cp.x()*cp.x() + cp.y()*cp.y() + cp.z()*cp.z()) ); + pp = Point3D( atan2( cp.y(), cp.x() ), + FG_PI_2 - + atan2( sqrt(cp.x()*cp.x() + cp.y()*cp.y()), cp.z() ), + sqrt(cp.x()*cp.x() + cp.y()*cp.y() + cp.z()*cp.z()) ); // printf("lon = %.2f lat = %.2f radius = %.2f\n", // pp.lon, pp.lat, pp.radius); - return(pp); + return pp; } @@ -94,6 +95,9 @@ double fgGeodAltFromCart(const Point3D& cp) // $Log$ +// Revision 1.5 1998/10/18 01:17:13 curt +// Point3D tweaks. +// // Revision 1.4 1998/10/16 19:30:09 curt // C++-ified the comments. // diff --git a/Misc/strutils.cxx b/Misc/strutils.cxx index 4c2f520e..2f23d83f 100644 --- a/Misc/strutils.cxx +++ b/Misc/strutils.cxx @@ -27,6 +27,8 @@ #include "strutils.hxx" +const string whitespace = " \n\r\t"; + // string trimleft( const string& s, const string& trimmings ) @@ -69,6 +71,9 @@ trim( const string& s, const string& trimmings ) } // $Log$ +// Revision 1.2 1998/10/18 01:17:15 curt +// Point3D tweaks. +// // Revision 1.1 1998/09/01 19:06:30 curt // Initial revision. // -- 2.39.5