[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