[cig-commits] r5634 - cs/spatialdata-0.1/trunk/libsrc/geocoords

brad at geodynamics.org brad at geodynamics.org
Wed Jan 3 08:13:36 PST 2007


Author: brad
Date: 2007-01-03 08:13:35 -0800 (Wed, 03 Jan 2007)
New Revision: 5634

Modified:
   cs/spatialdata-0.1/trunk/libsrc/geocoords/CSCart.cc
   cs/spatialdata-0.1/trunk/libsrc/geocoords/CSCart.hh
   cs/spatialdata-0.1/trunk/libsrc/geocoords/CSCart.icc
   cs/spatialdata-0.1/trunk/libsrc/geocoords/CSGeo.cc
   cs/spatialdata-0.1/trunk/libsrc/geocoords/CSGeo.hh
   cs/spatialdata-0.1/trunk/libsrc/geocoords/CSGeo.icc
   cs/spatialdata-0.1/trunk/libsrc/geocoords/CSGeoLocalCart.cc
   cs/spatialdata-0.1/trunk/libsrc/geocoords/CSGeoLocalCart.hh
   cs/spatialdata-0.1/trunk/libsrc/geocoords/CSGeoLocalCart.icc
   cs/spatialdata-0.1/trunk/libsrc/geocoords/CSGeoProj.cc
   cs/spatialdata-0.1/trunk/libsrc/geocoords/CoordSys.cc
   cs/spatialdata-0.1/trunk/libsrc/geocoords/CoordSys.hh
   cs/spatialdata-0.1/trunk/libsrc/geocoords/CoordSys.icc
Log:
Added spaceDim to CoordSys and eliminated overloading of spaceDim to prevent conflicts (only set method is inherited).

Modified: cs/spatialdata-0.1/trunk/libsrc/geocoords/CSCart.cc
===================================================================
--- cs/spatialdata-0.1/trunk/libsrc/geocoords/CSCart.cc	2007-01-03 07:05:39 UTC (rev 5633)
+++ cs/spatialdata-0.1/trunk/libsrc/geocoords/CSCart.cc	2007-01-03 16:13:35 UTC (rev 5634)
@@ -22,8 +22,7 @@
 // ----------------------------------------------------------------------
 // Default constructor
 spatialdata::geocoords::CSCart::CSCart(void) :
-  _toMeters(1.0),
-  _spaceDim(3)
+  _toMeters(1.0)
 { // constructor
   csType(CARTESIAN);
 } // constructor
@@ -38,8 +37,7 @@
 // Copy constructor
 spatialdata::geocoords::CSCart::CSCart(const CSCart& cs) :
   CoordSys(cs),
-  _toMeters(cs._toMeters),
-  _spaceDim(cs._spaceDim)
+  _toMeters(cs._toMeters)
 { // copy constructor
 } // copy constructor
 
@@ -66,28 +64,13 @@
 } // toMeters
 
 // ----------------------------------------------------------------------
-// Set number of spatial dimensions in coordinate system.
-void
-spatialdata::geocoords::CSCart::spaceDim(const int ndims)
-{ // spaceDim
-  if (ndims < 1 || ndims > 3) {
-    std::ostringstream msg;
-    msg
-      << "Number of spatial dimensions (" << ndims
-      << ") must be >= 1 and <= 3.";
-    throw std::runtime_error(msg.str());
-  } // if
-  _spaceDim = ndims;
-} // spaceDim
-
-// ----------------------------------------------------------------------
 // Pickle coordinate system to ascii stream.
 void
 spatialdata::geocoords::CSCart::pickle(std::ostream& s) const
 { // pickle
   s << "cartesian {\n"
     << "  to-meters = " << _toMeters << "\n"
-    << "  space-dim = " << _spaceDim << "\n"
+    << "  space-dim = " << spaceDim() << "\n"
     << "}\n";
 } // pickle
 
@@ -106,7 +89,9 @@
     if (0 == strcasecmp(token.c_str(), "to-meters")) {
       s >> _toMeters;
     } else if (0 == strcasecmp(token.c_str(), "space-dim")) {
-      s >> _spaceDim;
+      int dim;
+      s >> dim;
+      setSpaceDim(dim);
     } else {
       std::ostringstream msg;
       msg << "Could not parse '" << token << "' into a CSCart token.\n"

Modified: cs/spatialdata-0.1/trunk/libsrc/geocoords/CSCart.hh
===================================================================
--- cs/spatialdata-0.1/trunk/libsrc/geocoords/CSCart.hh	2007-01-03 07:05:39 UTC (rev 5633)
+++ cs/spatialdata-0.1/trunk/libsrc/geocoords/CSCart.hh	2007-01-03 16:13:35 UTC (rev 5634)
@@ -64,18 +64,6 @@
    */
   double toMeters(void) const;
 
-  /** Set number of spatial dimensions in coordinate system.
-   *
-   * @param ndims Number of dimensions
-   */
-  void spaceDim(const int ndims);
-
-  /** Get number of spatial dimensions in coordinate system.
-   *
-   * @returns Number of dimensions
-   */
-  int spaceDim(void) const;
-
   /** Pickle coordinate system to ascii stream.
    *
    * @param s Output stream
@@ -101,7 +89,6 @@
   // PRIVATE MEMBERS ////////////////////////////////////////////////////
 
   double _toMeters; ///< Scale factor to convert coordinates to meters
-  int _spaceDim; ///< Number of spatial dimensions in coordinate system
 
 }; // class CSCart
 

Modified: cs/spatialdata-0.1/trunk/libsrc/geocoords/CSCart.icc
===================================================================
--- cs/spatialdata-0.1/trunk/libsrc/geocoords/CSCart.icc	2007-01-03 07:05:39 UTC (rev 5633)
+++ cs/spatialdata-0.1/trunk/libsrc/geocoords/CSCart.icc	2007-01-03 16:13:35 UTC (rev 5634)
@@ -28,12 +28,5 @@
   return _toMeters;
 }
 
-// Get number of spatial dimensions in coordinate system.
-inline
-int
-spatialdata::geocoords::CSCart::spaceDim(void) const {
-  return _spaceDim;
-}
 
-
 // End of file 

Modified: cs/spatialdata-0.1/trunk/libsrc/geocoords/CSGeo.cc
===================================================================
--- cs/spatialdata-0.1/trunk/libsrc/geocoords/CSGeo.cc	2007-01-03 07:05:39 UTC (rev 5633)
+++ cs/spatialdata-0.1/trunk/libsrc/geocoords/CSGeo.cc	2007-01-03 16:13:35 UTC (rev 5634)
@@ -30,13 +30,13 @@
 // Default constructor
 spatialdata::geocoords::CSGeo::CSGeo(void) :
   _toMeters(1.0),
-  _spaceDim(3),
   _ellipsoid("WGS84"),
   _datumHoriz("WGS84"),
   _datumVert("ellipsoid"),
   _pCS(0),
   _isGeocentric(false)
 { // constructor
+  setSpaceDim(3);
   csType(GEOGRAPHIC);
 } // constructor
 
@@ -54,7 +54,6 @@
 spatialdata::geocoords::CSGeo::CSGeo(const CSGeo& cs) :
   CoordSys(cs),
   _toMeters(cs._toMeters),
-  _spaceDim(cs._spaceDim),
   _ellipsoid(cs._ellipsoid),
   _datumHoriz(cs._datumHoriz),
   _datumVert(cs._datumVert),
@@ -66,8 +65,8 @@
 // ----------------------------------------------------------------------
 // Set number of spatial dimensions in coordinate system.
 void
-spatialdata::geocoords::CSGeo::spaceDim(const int ndims)
-{ // spaceDim
+spatialdata::geocoords::CSGeo::setSpaceDim(const int ndims)
+{ // setSpaceDim
   if (ndims < 2 || ndims > 3) {
     std::ostringstream msg;
     msg
@@ -75,8 +74,8 @@
       << ") must be >= 2 and <= 3.";
     throw std::runtime_error(msg.str());
   } // if
-  _spaceDim = ndims;
-} // spaceDim
+  CoordSys::setSpaceDim(ndims);
+} // setSpaceDim
 
 // ----------------------------------------------------------------------
 // Initialize coordinate system.
@@ -108,12 +107,12 @@
 { // toProjForm
   assert( (0 < numLocs && 0 != coords) ||
 	  (0 == numLocs && 0 == coords) );
-  if (numDims != _spaceDim) {
+  if (numDims != spaceDim()) {
     std::ostringstream msg;
     msg
       << "Number of spatial dimensions of coordinates ("
       << numDims << ") does not match number of spatial dimensions ("
-      << _spaceDim << ") of coordinate system.";
+      << spaceDim() << ") of coordinate system.";
     throw std::runtime_error(msg.str());
   } // if
   if (!_isGeocentric) {
@@ -145,12 +144,12 @@
 { // fromProjForm
   assert( (0 < numLocs && 0 != coords) ||
 	  (0 == numLocs && 0 == coords) );
-  if (numDims != _spaceDim) {
+  if (numDims != spaceDim()) {
     std::ostringstream msg;
     msg
       << "Number of spatial dimensions of coordinates ("
       << numDims << ") does not match number of spatial dimensions ("
-      << _spaceDim << ") of coordinate system.";
+      << spaceDim() << ") of coordinate system.";
     throw std::runtime_error(msg.str());
   } // if
   if (!_isGeocentric) {
@@ -197,7 +196,7 @@
 { // pickle
   s << "geographic {\n"
     << "  to-meters = " << _toMeters << "\n"
-    << "  space-dim = " << _spaceDim << "\n"
+    << "  space-dim = " << spaceDim() << "\n"
     << "  ellipsoid = " << _ellipsoid << "\n"
     << "  datum-horiz = " << _datumHoriz << "\n"
     << "  datum-vert = " << _datumVert << "\n"
@@ -221,7 +220,9 @@
     if (0 == strcasecmp(token.c_str(), "to-meters")) {
       s >> _toMeters;
     } else if (0 == strcasecmp(token.c_str(), "space-dim")) {
-      s >> _spaceDim;
+      int ndims;
+      s >> ndims;
+      setSpaceDim(ndims);
     } else if (0 == strcasecmp(token.c_str(), "ellipsoid")) {
       s >> _ellipsoid;
     } else if (0 == strcasecmp(token.c_str(), "datum-horiz")) {

Modified: cs/spatialdata-0.1/trunk/libsrc/geocoords/CSGeo.hh
===================================================================
--- cs/spatialdata-0.1/trunk/libsrc/geocoords/CSGeo.hh	2007-01-03 07:05:39 UTC (rev 5633)
+++ cs/spatialdata-0.1/trunk/libsrc/geocoords/CSGeo.hh	2007-01-03 16:13:35 UTC (rev 5634)
@@ -120,14 +120,8 @@
    *
    * @param ndims Number of dimensions
    */
-  virtual void spaceDim(const int ndims);
+  virtual void setSpaceDim(const int ndims);
 
-  /** Get number of spatial dimensions in coordinate system.
-   *
-   * @returns Number of dimensions
-   */
-  int spaceDim(void) const;
-
   /** Get proj form vertical datum.
    *
    * @returns Name of datum

Modified: cs/spatialdata-0.1/trunk/libsrc/geocoords/CSGeo.icc
===================================================================
--- cs/spatialdata-0.1/trunk/libsrc/geocoords/CSGeo.icc	2007-01-03 07:05:39 UTC (rev 5633)
+++ cs/spatialdata-0.1/trunk/libsrc/geocoords/CSGeo.icc	2007-01-03 16:13:35 UTC (rev 5634)
@@ -81,13 +81,6 @@
 spatialdata::geocoords::CSGeo::toMeters(void) const
 { return _toMeters; }
 
-// Get number of spatial dimensions in coordinate system.
-inline
-int
-spatialdata::geocoords::CSGeo::spaceDim(void) const {
-  return _spaceDim;
-}
-
 // Get proj form vertical datum.
 inline
 const char*

Modified: cs/spatialdata-0.1/trunk/libsrc/geocoords/CSGeoLocalCart.cc
===================================================================
--- cs/spatialdata-0.1/trunk/libsrc/geocoords/CSGeoLocalCart.cc	2007-01-03 07:05:39 UTC (rev 5633)
+++ cs/spatialdata-0.1/trunk/libsrc/geocoords/CSGeoLocalCart.cc	2007-01-03 16:13:35 UTC (rev 5634)
@@ -39,7 +39,7 @@
   _localOrientation(0)
 { // constructor
   CSGeo::isGeocentric(true);
-  CSGeo::spaceDim(3);
+  CSGeo::setSpaceDim(3);
 } // constructor
 
 // ----------------------------------------------------------------------
@@ -183,12 +183,12 @@
 	  (0 == numLocs && 0 == coords));
   assert(0 != _localOrientation);
 
-  if (numDims != CSGeo::spaceDim()) {
+  if (numDims != spaceDim()) {
     std::ostringstream msg;
     msg
       << "Number of spatial dimensions of coordinates ("
       << numDims << ") does not match number of spatial dimensions ("
-      << CSGeo::spaceDim() << ") of coordinate system.";
+      << spaceDim() << ") of coordinate system.";
     throw std::runtime_error(msg.str());
   } // if
 
@@ -225,12 +225,12 @@
 	  (0 == numLocs && 0 == coords) );
   assert(0 != _localOrientation);
 
-  if (numDims != CSGeo::spaceDim()) {
+  if (numDims != spaceDim()) {
     std::ostringstream msg;
     msg
       << "Number of spatial dimensions of coordinates ("
       << numDims << ") does not match number of spatial dimensions ("
-      << CSGeo::spaceDim() << ") of coordinate system.";
+      << spaceDim() << ") of coordinate system.";
     throw std::runtime_error(msg.str());
   } // if
 

Modified: cs/spatialdata-0.1/trunk/libsrc/geocoords/CSGeoLocalCart.hh
===================================================================
--- cs/spatialdata-0.1/trunk/libsrc/geocoords/CSGeoLocalCart.hh	2007-01-03 07:05:39 UTC (rev 5633)
+++ cs/spatialdata-0.1/trunk/libsrc/geocoords/CSGeoLocalCart.hh	2007-01-03 16:13:35 UTC (rev 5634)
@@ -170,7 +170,7 @@
   // PRIVATE METHODS ///////////////////////////////////////////////////
 
   void isGecentric(const bool isGeocentric); ///< Not implemented
-  void spaceDim(const int ndims); ///< Not implemented
+  void setSpaceDim(const int dim); ///< Not implemented
 
 private :
  // PRIVATE MEMBERS ////////////////////////////////////////////////////

Modified: cs/spatialdata-0.1/trunk/libsrc/geocoords/CSGeoLocalCart.icc
===================================================================
--- cs/spatialdata-0.1/trunk/libsrc/geocoords/CSGeoLocalCart.icc	2007-01-03 07:05:39 UTC (rev 5633)
+++ cs/spatialdata-0.1/trunk/libsrc/geocoords/CSGeoLocalCart.icc	2007-01-03 16:13:35 UTC (rev 5634)
@@ -42,7 +42,7 @@
 // Not implemented
 inline
 void
-spatialdata::geocoords::CSGeoLocalCart::spaceDim(const int ndims) {}
+spatialdata::geocoords::CSGeoLocalCart::setSpaceDim(const int ndims) {}
 
 
 // End of file 

Modified: cs/spatialdata-0.1/trunk/libsrc/geocoords/CSGeoProj.cc
===================================================================
--- cs/spatialdata-0.1/trunk/libsrc/geocoords/CSGeoProj.cc	2007-01-03 07:05:39 UTC (rev 5633)
+++ cs/spatialdata-0.1/trunk/libsrc/geocoords/CSGeoProj.cc	2007-01-03 16:13:35 UTC (rev 5634)
@@ -75,12 +75,12 @@
   assert( (0 < numLocs && 0 != coords) ||
 	  (0 == numLocs && 0 == coords));
   assert(0 != _pProjector);
-  if (numDims != CSGeo::spaceDim()) {
+  if (numDims != spaceDim()) {
     std::ostringstream msg;
     msg
       << "Number of spatial dimensions of coordinates ("
       << numDims << ") does not match number of spatial dimensions ("
-      << CSGeo::spaceDim() << ") of coordinate system.";
+      << spaceDim() << ") of coordinate system.";
     throw std::runtime_error(msg.str());
   } // if
 
@@ -106,12 +106,12 @@
   assert( (0 < numLocs && 0 != coords) ||
 	  (0 == numLocs && 0 == coords));
   assert(0 != _pProjector);
-  if (numDims != CSGeo::spaceDim()) {
+  if (numDims != spaceDim()) {
     std::ostringstream msg;
     msg
       << "Number of spatial dimensions of coordinates ("
       << numDims << ") does not match number of spatial dimensions ("
-      << CSGeo::spaceDim() << ") of coordinate system.";
+      << spaceDim() << ") of coordinate system.";
     throw std::runtime_error(msg.str());
   } // if
 

Modified: cs/spatialdata-0.1/trunk/libsrc/geocoords/CoordSys.cc
===================================================================
--- cs/spatialdata-0.1/trunk/libsrc/geocoords/CoordSys.cc	2007-01-03 07:05:39 UTC (rev 5633)
+++ cs/spatialdata-0.1/trunk/libsrc/geocoords/CoordSys.cc	2007-01-03 16:13:35 UTC (rev 5634)
@@ -14,9 +14,13 @@
 
 #include "CoordSys.hh" // implementation of class methods
 
+#include <sstream> // USES std::ostringstream
+#include <stdexcept> // USES std::runtime_error
+
 // ----------------------------------------------------------------------
 // Default constructor
 spatialdata::geocoords::CoordSys::CoordSys(void) :
+  _spaceDim(3),
   _csType(CARTESIAN)
 { // constructor
 } // constructor
@@ -24,6 +28,7 @@
 // ----------------------------------------------------------------------
 // Copy destructor
 spatialdata::geocoords::CoordSys::CoordSys(const CoordSys& cs) :
+  _spaceDim(cs._spaceDim),
   _csType(cs._csType)
 { // copy constructor
 } // copy constructor
@@ -34,7 +39,20 @@
 { // destructor
 } // destructor
 
-// version
-// $Id$
+// ----------------------------------------------------------------------
+// Set number of spatial dimensions in coordinate system.
+void
+spatialdata::geocoords::CoordSys::setSpaceDim(const int ndims)
+{ // setSpaceDim
+  if (ndims < 1) {
+    std::ostringstream msg;
+    msg
+      << "Number of spatial dimensions (" << ndims
+      << ") must be >= 1.";
+    throw std::runtime_error(msg.str());
+  } // if
+  _spaceDim = ndims;
+} // setSpaceDim
 
+
 // End of file 

Modified: cs/spatialdata-0.1/trunk/libsrc/geocoords/CoordSys.hh
===================================================================
--- cs/spatialdata-0.1/trunk/libsrc/geocoords/CoordSys.hh	2007-01-03 07:05:39 UTC (rev 5633)
+++ cs/spatialdata-0.1/trunk/libsrc/geocoords/CoordSys.hh	2007-01-03 16:13:35 UTC (rev 5634)
@@ -55,6 +55,18 @@
    */
   virtual CoordSys* clone(void) const = 0;
 
+  /** Set number of spatial dimensions in coordinate system.
+   *
+   * @param ndims Number of dimensions
+   */
+  virtual void setSpaceDim(const int ndims);
+
+  /** Get number of spatial dimensions in coordinate system.
+   *
+   * @returns Number of dimensions
+   */
+  int spaceDim(void) const;
+
   /// Initialize the coordinate system.
   virtual void initialize(void) = 0;
 
@@ -91,6 +103,7 @@
 private :
   // PRIVATE MEMBERS ////////////////////////////////////////////////////
 
+  int _spaceDim; ///< Number of spatial dimensions in coordinate system
   CSTypeEnum _csType; ///< Type of coordinate system
 
 }; // class CoordSys
@@ -99,7 +112,5 @@
 
 #endif // spatialdata_geocoords_coordsys_hh
 
-// version
-// $Id$
 
 // End of file 

Modified: cs/spatialdata-0.1/trunk/libsrc/geocoords/CoordSys.icc
===================================================================
--- cs/spatialdata-0.1/trunk/libsrc/geocoords/CoordSys.icc	2007-01-03 07:05:39 UTC (rev 5633)
+++ cs/spatialdata-0.1/trunk/libsrc/geocoords/CoordSys.icc	2007-01-03 16:13:35 UTC (rev 5634)
@@ -14,6 +14,13 @@
 #error "CoordSys.icc must only be included from CoordSys.hh"
 #endif
 
+// Get number of spatial dimensions in coordinate system.
+inline
+int
+spatialdata::geocoords::CoordSys::spaceDim(void) const {
+  return _spaceDim;
+}
+
 // Get type of coordinate system
 inline
 spatialdata::geocoords::CoordSys::CSTypeEnum



More information about the cig-commits mailing list