[cig-commits] r20433 - in cs/spatialdata/trunk: libsrc/spatialdb tests/libtests/spatialdb/data

brad at geodynamics.org brad at geodynamics.org
Thu Jun 28 15:59:37 PDT 2012


Author: brad
Date: 2012-06-28 15:59:37 -0700 (Thu, 28 Jun 2012)
New Revision: 20433

Modified:
   cs/spatialdata/trunk/libsrc/spatialdb/SpatialDB.cc
   cs/spatialdata/trunk/tests/libtests/spatialdb/data/GeoProjGridDBTestDataVolume3D.cc
Log:
Added SpatialDB::_convertToSI.

Modified: cs/spatialdata/trunk/libsrc/spatialdb/SpatialDB.cc
===================================================================
--- cs/spatialdata/trunk/libsrc/spatialdb/SpatialDB.cc	2012-06-28 22:44:40 UTC (rev 20432)
+++ cs/spatialdata/trunk/libsrc/spatialdb/SpatialDB.cc	2012-06-28 22:59:37 UTC (rev 20433)
@@ -19,7 +19,13 @@
 #include "SpatialDB.hh" // Implementation of class methods
 
 #include <cassert> // USES assert()
+#include <vector> // USES std::vector
 
+// Include ios here to avoid some Python/gcc issues
+#include <ios>
+
+#include "spatialdata/units/Parser.hh" // USES Parser
+
 // ----------------------------------------------------------------------
 /// Default constructor
 spatialdata::spatialdb::SpatialDB::SpatialDB(void) :
@@ -134,7 +140,25 @@
 						const int numLocs,
 						const int numVals)
 { // _convertToSI
-  assert(false);
+  assert(vals);
+  assert(units);
+
+  spatialdata::units::Parser parser;
+
+  const std::string& none = "none";
+  std::vector<double> scales(numVals);
+  for (int iVal=0; iVal < numVals; ++iVal) {
+    if (none == units[iVal])
+      scales[iVal] = parser.parse(units[iVal].c_str());
+    else
+      scales[iVal] = 1.0;
+  } // for
+
+  for (int iLoc=0; iLoc < numLocs; ++iLoc) {
+    for (int iVal=0; iVal < numVals; ++iVal) {
+      vals[iVal] *= scales[iVal];
+    } // for
+  } // for
 } // _convertToSI
 
 // End of file 

Modified: cs/spatialdata/trunk/tests/libtests/spatialdb/data/GeoProjGridDBTestDataVolume3D.cc
===================================================================
--- cs/spatialdata/trunk/tests/libtests/spatialdb/data/GeoProjGridDBTestDataVolume3D.cc	2012-06-28 22:44:40 UTC (rev 20432)
+++ cs/spatialdata/trunk/tests/libtests/spatialdb/data/GeoProjGridDBTestDataVolume3D.cc	2012-06-28 22:59:37 UTC (rev 20433)
@@ -72,7 +72,7 @@
 
 const char* spatialdata::spatialdb::GeoProjGridDBTestDataVolume3D::_units[] = {
   "m",
-  "cm",
+  "m",
 };
 
 const double spatialdata::spatialdb::GeoProjGridDBTestDataVolume3D::_queryNearest[] = {



More information about the CIG-COMMITS mailing list