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

brad at geodynamics.org brad at geodynamics.org
Mon Oct 22 17:01:14 PDT 2012


Author: brad
Date: 2012-10-22 17:01:14 -0700 (Mon, 22 Oct 2012)
New Revision: 20878

Added:
   cs/spatialdata/trunk/tests/libtests/spatialdb/data/grid_area2d.spatialdb
   cs/spatialdata/trunk/tests/libtests/spatialdb/data/grid_area3d.spatialdb
   cs/spatialdata/trunk/tests/libtests/spatialdb/data/grid_line1d.spatialdb
   cs/spatialdata/trunk/tests/libtests/spatialdb/data/grid_line2d.spatialdb
   cs/spatialdata/trunk/tests/libtests/spatialdb/data/grid_line3d.spatialdb
   cs/spatialdata/trunk/tests/libtests/spatialdb/data/grid_volume3d.spatialdb
Modified:
   cs/spatialdata/trunk/libsrc/spatialdb/SimpleGridDB.cc
   cs/spatialdata/trunk/tests/libtests/spatialdb/TestSimpleGridDB.cc
   cs/spatialdata/trunk/tests/libtests/spatialdb/TestSimpleGridDB.hh
   cs/spatialdata/trunk/tests/libtests/spatialdb/TestSimpleGridDBCases.cc
   cs/spatialdata/trunk/tests/libtests/spatialdb/TestSimpleGridDBCases.hh
   cs/spatialdata/trunk/tests/libtests/spatialdb/data/Makefile.am
   cs/spatialdata/trunk/tests/libtests/spatialdb/data/SimpleGridDBTestData.cc
   cs/spatialdata/trunk/tests/libtests/spatialdb/data/SimpleGridDBTestData.hh
   cs/spatialdata/trunk/tests/libtests/spatialdb/data/SimpleGridDBTestDataArea2D.cc
   cs/spatialdata/trunk/tests/libtests/spatialdb/data/SimpleGridDBTestDataArea2D.hh
   cs/spatialdata/trunk/tests/libtests/spatialdb/data/SimpleGridDBTestDataArea3D.cc
   cs/spatialdata/trunk/tests/libtests/spatialdb/data/SimpleGridDBTestDataArea3D.hh
   cs/spatialdata/trunk/tests/libtests/spatialdb/data/SimpleGridDBTestDataLine1D.cc
   cs/spatialdata/trunk/tests/libtests/spatialdb/data/SimpleGridDBTestDataLine1D.hh
   cs/spatialdata/trunk/tests/libtests/spatialdb/data/SimpleGridDBTestDataLine2D.cc
   cs/spatialdata/trunk/tests/libtests/spatialdb/data/SimpleGridDBTestDataLine2D.hh
   cs/spatialdata/trunk/tests/libtests/spatialdb/data/SimpleGridDBTestDataLine3D.cc
   cs/spatialdata/trunk/tests/libtests/spatialdb/data/SimpleGridDBTestDataLine3D.hh
   cs/spatialdata/trunk/tests/libtests/spatialdb/data/SimpleGridDBTestDataVolume3D.cc
   cs/spatialdata/trunk/tests/libtests/spatialdb/data/SimpleGridDBTestDataVolume3D.hh
Log:
Improved SimpleGridDB test setup. Added test for read().

Modified: cs/spatialdata/trunk/libsrc/spatialdb/SimpleGridDB.cc
===================================================================
--- cs/spatialdata/trunk/libsrc/spatialdb/SimpleGridDB.cc	2012-10-22 22:14:26 UTC (rev 20877)
+++ cs/spatialdata/trunk/libsrc/spatialdb/SimpleGridDB.cc	2012-10-23 00:01:14 UTC (rev 20878)
@@ -476,17 +476,6 @@
   if (!ok)
     throw std::runtime_error(msg.str());
 
-  // Set dimensions without any data to 1.
-  if (0 == _numX) {
-    _numX = 1;
-  } // if
-  if (0 == _numY) {
-    _numY = 1;
-  } // if
-  if (0 == _numZ) {
-    _numZ = 1;
-  } // if
-
   // Set data dimension based on dimensions of data.
   _dataDim = 0;
   if (_numX > 1) {
@@ -525,7 +514,7 @@
   std::istringstream buffer;
 
   int numLocs = 1;
-  if (numX > 1) {
+  if (numX >= 1) {
     numLocs *= numX;
     _x = new double[numX];
     buffer.str(parser.next());
@@ -541,7 +530,7 @@
       _x[i] = xVec[i];
   } // if
 
-  if (numY > 1) {
+  if (numY >= 1) {
     numLocs *= numY;
     _y = new double[numY];
     buffer.str(parser.next());
@@ -557,7 +546,7 @@
       _y[i] = yVec[i];
   } // if
 
-  if (numZ > 1) {
+  if (numZ >= 1) {
     numLocs *= numZ;
     _z = new double[numZ];
     buffer.str(parser.next());
@@ -611,6 +600,17 @@
   if (!filein.good())
     throw std::runtime_error("I/O error while reading SimpleGridDB data.");
 
+  // Set dimensions without any data to 1.
+  if (0 == _numX) {
+    _numX = 1;
+  } // if
+  if (0 == _numY) {
+    _numY = 1;
+  } // if
+  if (0 == _numZ) {
+    _numZ = 1;
+  } // if
+
   // Check compatibility of dimension of data, spatial dimension and
   // number of points
   _checkCompatibility();

Modified: cs/spatialdata/trunk/tests/libtests/spatialdb/TestSimpleGridDB.cc
===================================================================
--- cs/spatialdata/trunk/tests/libtests/spatialdb/TestSimpleGridDB.cc	2012-10-22 22:14:26 UTC (rev 20877)
+++ cs/spatialdata/trunk/tests/libtests/spatialdb/TestSimpleGridDB.cc	2012-10-23 00:01:14 UTC (rev 20878)
@@ -30,6 +30,23 @@
 CPPUNIT_TEST_SUITE_REGISTRATION( spatialdata::spatialdb::TestSimpleGridDB );
 
 // ----------------------------------------------------------------------
+// Setup testing data.
+void
+spatialdata::spatialdb::TestSimpleGridDB::setUp(void)
+{ // setUp
+  _data = 0;
+} // setUp
+
+
+// ----------------------------------------------------------------------
+// Tear down testing data.
+void
+spatialdata::spatialdb::TestSimpleGridDB::tearDown(void)
+{ // tearDown
+  delete _data; _data = 0;
+} // tearDown
+
+// ----------------------------------------------------------------------
 // Test constructor
 void
 spatialdata::spatialdb::TestSimpleGridDB::testConstructor(void)
@@ -166,37 +183,106 @@
 } // testDataIndex
 
 // ----------------------------------------------------------------------
-// Test query() using nearest neighbor
+// Test query() using nearest neighbor.
 void
-spatialdata::spatialdb::TestSimpleGridDB::_testQueryNearest(const SimpleGridDBTestData& data)
+spatialdata::spatialdb::TestSimpleGridDB::testQueryNearest(void)
 { // _testQueryNearest
+  CPPUNIT_ASSERT(_data);
+
   SimpleGridDB db;
-  _setupDB(&db, data);
+  _setupDB(&db);
   db.queryType(SimpleGridDB::NEAREST);
-  _checkQuery(db, data.names, data.queryNearest, 0,
-	      data.numQueries, data.spaceDim, data.numVals);
+  _checkQuery(db, _data->names, _data->queryNearest, 0,
+	      _data->numQueries, _data->spaceDim, _data->numVals);
 } // _testQueryNearest
 
 // ----------------------------------------------------------------------
-// Test query() using linear interpolation
+// Test query() using linear interpolation.
 void
-spatialdata::spatialdb::TestSimpleGridDB::_testQueryLinear(const SimpleGridDBTestData& data)
+spatialdata::spatialdb::TestSimpleGridDB::testQueryLinear(void)
 { // _testQueryLinear
+  CPPUNIT_ASSERT(_data);
+
   SimpleGridDB db;
-  _setupDB(&db, data);
+  _setupDB(&db);
   db.queryType(SimpleGridDB::LINEAR);
-  _checkQuery(db, data.names, data.queryLinear, data.errFlags,
-	      data.numQueries, data.spaceDim, data.numVals);
+  _checkQuery(db, _data->names, _data->queryLinear, _data->errFlags,
+	      _data->numQueries, _data->spaceDim, _data->numVals);
 } // _testQueryLinear
 
 // ----------------------------------------------------------------------
+// Test read().
+void
+spatialdata::spatialdb::TestSimpleGridDB::testRead(void)
+{ // _testRead
+  CPPUNIT_ASSERT(_data);
+
+  SimpleGridDB db;
+  db.filename(_data->filename);
+  db.open();
+
+  CPPUNIT_ASSERT_EQUAL(_data->spaceDim, db._spaceDim);
+  CPPUNIT_ASSERT_EQUAL(_data->numVals, db._numValues);
+  CPPUNIT_ASSERT_EQUAL(_data->dataDim, db._dataDim);
+
+  const int numVals = _data->numVals;
+  for (int i=0; i < numVals; ++i) {
+    CPPUNIT_ASSERT_EQUAL(std::string(_data->names[i]), db._names[i]);
+    CPPUNIT_ASSERT_EQUAL(std::string(_data->units[i]), db._units[i]);
+  } // for
+
+  if (_data->numX > 0) {
+    CPPUNIT_ASSERT_EQUAL(_data->numX, db._numX);
+  } else {
+    CPPUNIT_ASSERT_EQUAL(1, db._numX);
+  } // if/else
+
+  if (_data->numY > 0) {
+    CPPUNIT_ASSERT_EQUAL(_data->numY, db._numY);
+  } else {
+    CPPUNIT_ASSERT_EQUAL(1, db._numY);
+  } // if/else
+
+  if (_data->numZ > 0) {
+    CPPUNIT_ASSERT_EQUAL(_data->numZ, db._numZ);
+  } else {
+    CPPUNIT_ASSERT_EQUAL(1, db._numZ);
+  } // if/else
+
+  const double tolerance = 1.0e-6;
+  int totalSize = 1;
+  if (_data->numX > 1) {
+    totalSize *= _data->numX;
+    for (int i=0; i < _data->numX; ++i) {
+      CPPUNIT_ASSERT_DOUBLES_EQUAL(_data->dbX[i], db._x[i], tolerance);
+    } // for
+  } // if
+  if (_data->numY > 1) {
+    totalSize *= _data->numY;
+    for (int i=0; i < _data->numY; ++i) {
+      CPPUNIT_ASSERT_DOUBLES_EQUAL(_data->dbY[i], db._y[i], tolerance);
+    } // for
+  } // if
+  if (_data->numZ > 1) {
+    totalSize *= _data->numZ;
+    for (int i=0; i < _data->numZ; ++i) {
+      CPPUNIT_ASSERT_DOUBLES_EQUAL(_data->dbZ[i], db._z[i], tolerance);
+    } // for
+  } // if
+
+  for (int i=0; i < totalSize; ++i) {
+    CPPUNIT_ASSERT_DOUBLES_EQUAL(_data->dbData[i], db._data[i], tolerance);
+  } // for
+} // _testRead
+
+// ----------------------------------------------------------------------
 // Populate database with data.
 void
-spatialdata::spatialdb::TestSimpleGridDB::_setupDB(SimpleGridDB* const db,
-						    const SimpleGridDBTestData& data)
+spatialdata::spatialdb::TestSimpleGridDB::_setupDB(SimpleGridDB* const db)
 { // _setupDB
   CPPUNIT_ASSERT(db);
-  CPPUNIT_ASSERT(data.numVals > 0);
+  CPPUNIT_ASSERT(_data);
+  CPPUNIT_ASSERT(_data->numVals > 0);
 
   delete[] db->_x; db->_x = 0;
   delete[] db->_y; db->_y = 0;
@@ -206,53 +292,53 @@
   delete[] db->_units; db->_units = 0;
 
   db->label("GeoProjGrid test database");
-  db->_numValues = data.numVals;
-  db->_spaceDim = data.spaceDim;
-  db->_dataDim = data.dataDim;
-  db->_numX = data.numX;
-  db->_numY = data.numY;
-  db->_numZ = data.numZ;
+  db->_numValues = _data->numVals;
+  db->_spaceDim = _data->spaceDim;
+  db->_dataDim = _data->dataDim;
+  db->_numX = _data->numX;
+  db->_numY = _data->numY;
+  db->_numZ = _data->numZ;
 
   int numLocs = 1;
-  if (data.numX > 1) {
-    numLocs *= data.numX;
-    db->_x = new double[data.numX];
-    for (int i=0; i < data.numX; ++i) {
-      db->_x[i] = data.dbX[i];
+  if (_data->numX > 1) {
+    numLocs *= _data->numX;
+    db->_x = new double[_data->numX];
+    for (int i=0; i < _data->numX; ++i) {
+      db->_x[i] = _data->dbX[i];
     } // for
   } // if
-  if (data.numY > 1) {
-    numLocs *= data.numY;
-    db->_y = new double[data.numY];
-    for (int i=0; i < data.numY; ++i) {
-      db->_y[i] = data.dbY[i];
+  if (_data->numY > 1) {
+    numLocs *= _data->numY;
+    db->_y = new double[_data->numY];
+    for (int i=0; i < _data->numY; ++i) {
+      db->_y[i] = _data->dbY[i];
     } // for
   } // if
-  if (data.numZ > 1) {
-    numLocs *= data.numZ;
-    db->_z = new double[data.numZ];
-    for (int i=0; i < data.numZ; ++i) {
-      db->_z[i] = data.dbZ[i];
+  if (_data->numZ > 1) {
+    numLocs *= _data->numZ;
+    db->_z = new double[_data->numZ];
+    for (int i=0; i < _data->numZ; ++i) {
+      db->_z[i] = _data->dbZ[i];
     } // for
   } // if
 
-  db->_data = (numLocs > 0) ? new double[numLocs*data.numVals] : 0;
-  for (int i=0; i < numLocs*data.numVals; ++i) {
-    db->_data[i] = data.dbData[i];
+  db->_data = (numLocs > 0) ? new double[numLocs*_data->numVals] : 0;
+  for (int i=0; i < numLocs*_data->numVals; ++i) {
+    db->_data[i] = _data->dbData[i];
   } // for
 
-  db->_names = (data.numVals > 0) ? new std::string[data.numVals] : 0;
-  for (int i=0; i < data.numVals; ++i) {
-    db->_names[i] = data.names[i];
+  db->_names = (_data->numVals > 0) ? new std::string[_data->numVals] : 0;
+  for (int i=0; i < _data->numVals; ++i) {
+    db->_names[i] = _data->names[i];
   } // for
 
-  db->_units = (data.numVals > 0) ? new std::string[data.numVals] : 0;
-  for (int i=0; i < data.numVals; ++i) {
-    db->_units[i] = data.units[i];
+  db->_units = (_data->numVals > 0) ? new std::string[_data->numVals] : 0;
+  for (int i=0; i < _data->numVals; ++i) {
+    db->_units[i] = _data->units[i];
   } // for
 
   db->_cs = new spatialdata::geocoords::CSCart();
-  db->_cs->setSpaceDim(data.spaceDim);
+  db->_cs->setSpaceDim(_data->spaceDim);
 } // _setupDB
 
 // ----------------------------------------------------------------------

Modified: cs/spatialdata/trunk/tests/libtests/spatialdb/TestSimpleGridDB.hh
===================================================================
--- cs/spatialdata/trunk/tests/libtests/spatialdb/TestSimpleGridDB.hh	2012-10-22 22:14:26 UTC (rev 20877)
+++ cs/spatialdata/trunk/tests/libtests/spatialdb/TestSimpleGridDB.hh	2012-10-23 00:01:14 UTC (rev 20878)
@@ -56,6 +56,12 @@
   // PUBLIC METHODS /////////////////////////////////////////////////////
 public :
 
+  /// Setup testing data.
+  void setUp(void);
+
+  /// Tear down testing data.
+  void tearDown(void);
+
   /// Test constructor
   void testConstructor(void);
 
@@ -74,21 +80,20 @@
   /// Test _dataIndex()
   void testDataIndex(void);
 
-protected :
-  // PROTECTED METHODS //////////////////////////////////////////////////
+  // PUBLIC METHODS /////////////////////////////////////////////////////
+public :
 
-  /** Test query() using nearest neighbor
-   *
-   * @param data Data for database
-   */
-  void _testQueryNearest(const SimpleGridDBTestData& data);
+  // Tests in derived classes.
 
-  /** Test query() using linear interpolation
-   *
-   * @param data Data for database
-   */
-  void _testQueryLinear(const SimpleGridDBTestData& data);
+  /// Test query() using nearest neighbor.
+  void testQueryNearest(void);
 
+  /// Test query() using linear interpolation.
+  void testQueryLinear(void);
+
+  /// Test read().
+  void testRead(void);
+
   // PRIVATE METHODS ////////////////////////////////////////////////////
 private :
 
@@ -97,8 +102,7 @@
    * @param db Database
    * @param data Data for database
    */
-  void _setupDB(SimpleGridDB* const db,
-		const SimpleGridDBTestData& data);
+  void _setupDB(SimpleGridDB* const db);
 
   /** Test query method by doing query and checking values returned.
    * 
@@ -118,6 +122,11 @@
 		   const int spaceDim,
 		   const int numVals);
 
+protected :
+  // PROTECTED MEMBERS //////////////////////////////////////////////////
+
+  SimpleGridDBTestData* _data; ///< Test data.
+
 }; // class TestSimpleGridDB
 
 #endif // spatialdata_spatialdb_testsimplegriddb_hh

Modified: cs/spatialdata/trunk/tests/libtests/spatialdb/TestSimpleGridDBCases.cc
===================================================================
--- cs/spatialdata/trunk/tests/libtests/spatialdb/TestSimpleGridDBCases.cc	2012-10-22 22:14:26 UTC (rev 20877)
+++ cs/spatialdata/trunk/tests/libtests/spatialdb/TestSimpleGridDBCases.cc	2012-10-23 00:01:14 UTC (rev 20878)
@@ -34,129 +34,52 @@
 CPPUNIT_TEST_SUITE_REGISTRATION( spatialdata::spatialdb::TestSimpleGridDBVolume3D );
 
 // ----------------------------------------------------------------------
-// Test queryLinear()
+// Setup for 1-D line.
 void
-spatialdata::spatialdb::TestSimpleGridDBLine1D::testQueryLinear(void)
-{ // testQueryLinear
-  SimpleGridDBTestDataLine1D data;
+spatialdata::spatialdb::TestSimpleGridDBLine1D::setUp(void)
+{ // setUp
+  delete _data; _data = new SimpleGridDBTestDataLine1D;
+} // setUp
 
-  _testQueryLinear(data);
-} // testQueryLinear
-
 // ----------------------------------------------------------------------
-// Test queryNearest()
+// Setup for 2-D line.
 void
-spatialdata::spatialdb::TestSimpleGridDBLine1D::testQueryNearest(void)
-{ // testQueryNearest
-  SimpleGridDBTestDataLine1D data;
+spatialdata::spatialdb::TestSimpleGridDBLine2D::setUp(void)
+{ // setUp
+  delete _data; _data = new SimpleGridDBTestDataLine2D;
+} // setUp
 
-  _testQueryNearest(data);
-} // testQueryNearest
-
-
 // ----------------------------------------------------------------------
-// Test queryLinear()
+// Setup for 3-D line.
 void
-spatialdata::spatialdb::TestSimpleGridDBLine2D::testQueryLinear(void)
-{ // testQueryLinear
-  SimpleGridDBTestDataLine2D data;
+spatialdata::spatialdb::TestSimpleGridDBLine3D::setUp(void)
+{ // setUp
+  delete _data; _data = new SimpleGridDBTestDataLine3D;
+} // setUp
 
-  _testQueryLinear(data);
-} // testQueryLinear
-
 // ----------------------------------------------------------------------
-// Test queryNearest()
+// Setup for 2-D area.
 void
-spatialdata::spatialdb::TestSimpleGridDBLine2D::testQueryNearest(void)
-{ // testQueryNearest
-  SimpleGridDBTestDataLine2D data;
+spatialdata::spatialdb::TestSimpleGridDBArea2D::setUp(void)
+{ // setUp
+  delete _data; _data = new SimpleGridDBTestDataArea2D;
+} // setUp
 
-  _testQueryNearest(data);
-} // testQueryNearest
-
-
 // ----------------------------------------------------------------------
-// Test queryLinear()
+// Setup for 3-D area.
 void
-spatialdata::spatialdb::TestSimpleGridDBLine3D::testQueryLinear(void)
-{ // testQueryLinear
-  SimpleGridDBTestDataLine3D data;
+spatialdata::spatialdb::TestSimpleGridDBArea3D::setUp(void)
+{ // setUp
+  delete _data; _data = new SimpleGridDBTestDataArea3D;
+} // setUp
 
-  _testQueryLinear(data);
-} // testQueryLinear
-
 // ----------------------------------------------------------------------
-// Test queryNearest()
+// Setup for 3-D volume.
 void
-spatialdata::spatialdb::TestSimpleGridDBLine3D::testQueryNearest(void)
-{ // testQueryNearest
-  SimpleGridDBTestDataLine3D data;
+spatialdata::spatialdb::TestSimpleGridDBVolume3D::setUp(void)
+{ // setUp
+  delete _data; _data = new SimpleGridDBTestDataVolume3D;
+} // setUp
 
-  _testQueryNearest(data);
-} // testQueryNearest
 
-
-// ----------------------------------------------------------------------
-// Test queryLinear()
-void
-spatialdata::spatialdb::TestSimpleGridDBArea2D::testQueryLinear(void)
-{ // testQueryLinear
-  SimpleGridDBTestDataArea2D data;
-
-  _testQueryLinear(data);
-} // testQueryLinear
-
-// ----------------------------------------------------------------------
-// Test queryNearest()
-void
-spatialdata::spatialdb::TestSimpleGridDBArea2D::testQueryNearest(void)
-{ // testQueryNearest
-  SimpleGridDBTestDataArea2D data;
-
-  _testQueryNearest(data);
-} // testQueryNearest
-
-
-// ----------------------------------------------------------------------
-// Test queryLinear()
-void
-spatialdata::spatialdb::TestSimpleGridDBArea3D::testQueryLinear(void)
-{ // testQueryLinear
-  SimpleGridDBTestDataArea3D data;
-
-  _testQueryLinear(data);
-} // testQueryLinear
-
-// ----------------------------------------------------------------------
-// Test queryNearest()
-void
-spatialdata::spatialdb::TestSimpleGridDBArea3D::testQueryNearest(void)
-{ // testQueryNearest
-  SimpleGridDBTestDataArea3D data;
-
-  _testQueryNearest(data);
-} // testQueryNearest
-
-
-// ----------------------------------------------------------------------
-// Test queryLinear()
-void
-spatialdata::spatialdb::TestSimpleGridDBVolume3D::testQueryLinear(void)
-{ // testQueryLinear
-  SimpleGridDBTestDataVolume3D data;
-
-  _testQueryLinear(data);
-} // testQueryLinear
-
-// ----------------------------------------------------------------------
-// Test queryNearest()
-void
-spatialdata::spatialdb::TestSimpleGridDBVolume3D::testQueryNearest(void)
-{ // testQueryNearest
-  SimpleGridDBTestDataVolume3D data;
-
-  _testQueryNearest(data);
-} // testQueryNearest
-
-
 // End of file 

Modified: cs/spatialdata/trunk/tests/libtests/spatialdb/TestSimpleGridDBCases.hh
===================================================================
--- cs/spatialdata/trunk/tests/libtests/spatialdb/TestSimpleGridDBCases.hh	2012-10-22 22:14:26 UTC (rev 20877)
+++ cs/spatialdata/trunk/tests/libtests/spatialdb/TestSimpleGridDBCases.hh	2012-10-23 00:01:14 UTC (rev 20878)
@@ -48,18 +48,16 @@
 
   CPPUNIT_TEST( testQueryNearest );
   CPPUNIT_TEST( testQueryLinear );
+  CPPUNIT_TEST( testRead );
 
   CPPUNIT_TEST_SUITE_END();
 
   // PUBLIC METHODS /////////////////////////////////////////////////////
 public :
 
-  /// Test queryNearest()
-  void testQueryNearest(void);
+  /// Setup data.
+  void setUp();
 
-  /// Test queryLinear()
-  void testQueryLinear(void);
-
 }; // class TestSimpleGridDBLine1D
 
 
@@ -73,18 +71,16 @@
 
   CPPUNIT_TEST( testQueryNearest );
   CPPUNIT_TEST( testQueryLinear );
+  CPPUNIT_TEST( testRead );
 
   CPPUNIT_TEST_SUITE_END();
 
   // PUBLIC METHODS /////////////////////////////////////////////////////
 public :
 
-  /// Test queryNearest()
-  void testQueryNearest(void);
+  /// Setup data.
+  void setUp();
 
-  /// Test queryLinear()
-  void testQueryLinear(void);
-
 }; // class TestSimpleGridDBLine2D
 
 
@@ -98,18 +94,16 @@
 
   CPPUNIT_TEST( testQueryNearest );
   CPPUNIT_TEST( testQueryLinear );
+  CPPUNIT_TEST( testRead );
 
   CPPUNIT_TEST_SUITE_END();
 
   // PUBLIC METHODS /////////////////////////////////////////////////////
 public :
 
-  /// Test queryNearest()
-  void testQueryNearest(void);
+  /// Setup data.
+  void setUp();
 
-  /// Test queryLinear()
-  void testQueryLinear(void);
-
 }; // class TestSimpleGridDBLine3D
 
 
@@ -123,18 +117,16 @@
 
   CPPUNIT_TEST( testQueryNearest );
   CPPUNIT_TEST( testQueryLinear );
+  CPPUNIT_TEST( testRead );
 
   CPPUNIT_TEST_SUITE_END();
 
   // PUBLIC METHODS /////////////////////////////////////////////////////
 public :
 
-  /// Test queryNearest()
-  void testQueryNearest(void);
+  /// Setup data.
+  void setUp();
 
-  /// Test queryLinear()
-  void testQueryLinear(void);
-
 }; // class TestSimpleGridDBArea2D
 
 
@@ -148,18 +140,16 @@
 
   CPPUNIT_TEST( testQueryNearest );
   CPPUNIT_TEST( testQueryLinear );
+  CPPUNIT_TEST( testRead );
 
   CPPUNIT_TEST_SUITE_END();
 
   // PUBLIC METHODS /////////////////////////////////////////////////////
 public :
 
-  /// Test queryNearest()
-  void testQueryNearest(void);
+  /// Setup data.
+  void setUp();
 
-  /// Test queryLinear()
-  void testQueryLinear(void);
-
 }; // class TestSimpleGridDBArea3D
 
 
@@ -173,18 +163,16 @@
 
   CPPUNIT_TEST( testQueryNearest );
   CPPUNIT_TEST( testQueryLinear );
+  CPPUNIT_TEST( testRead );
 
   CPPUNIT_TEST_SUITE_END();
 
   // PUBLIC METHODS /////////////////////////////////////////////////////
 public :
 
-  /// Test queryNearest()
-  void testQueryNearest(void);
+  /// Setup data.
+  void setUp();
 
-  /// Test queryLinear()
-  void testQueryLinear(void);
-
 }; // class TestSimpleGridDBVolume3D
 
 #endif // spatialdata_spatialdb_testsimplegriddbcases_hh

Modified: cs/spatialdata/trunk/tests/libtests/spatialdb/data/Makefile.am
===================================================================
--- cs/spatialdata/trunk/tests/libtests/spatialdb/data/Makefile.am	2012-10-22 22:14:26 UTC (rev 20877)
+++ cs/spatialdata/trunk/tests/libtests/spatialdb/data/Makefile.am	2012-10-23 00:01:14 UTC (rev 20878)
@@ -17,6 +17,12 @@
 dist_noinst_DATA = \
 	spatialdb.dat \
 	spatial_comments.dat \
+	grid_line1d.spatialdb \
+	grid_line2d.spatialdb \
+	grid_line3d.spatialdb \
+	grid_area2d.spatialdb \
+	grid_area3d.spatialdb \
+	grid_volume3d.spatialdb \
 	timehistory_comments.dat \
 	timehistory.timedb
 

Modified: cs/spatialdata/trunk/tests/libtests/spatialdb/data/SimpleGridDBTestData.cc
===================================================================
--- cs/spatialdata/trunk/tests/libtests/spatialdb/data/SimpleGridDBTestData.cc	2012-10-22 22:14:26 UTC (rev 20877)
+++ cs/spatialdata/trunk/tests/libtests/spatialdb/data/SimpleGridDBTestData.cc	2012-10-23 00:01:14 UTC (rev 20878)
@@ -34,7 +34,8 @@
   units(0),
   numQueries(0),
   queryNearest(0),
-  queryLinear(0)
+  queryLinear(0),
+  filename(0)
 { // constructor
 } // constructor
 

Modified: cs/spatialdata/trunk/tests/libtests/spatialdb/data/SimpleGridDBTestData.hh
===================================================================
--- cs/spatialdata/trunk/tests/libtests/spatialdb/data/SimpleGridDBTestData.hh	2012-10-22 22:14:26 UTC (rev 20877)
+++ cs/spatialdata/trunk/tests/libtests/spatialdb/data/SimpleGridDBTestData.hh	2012-10-23 00:01:14 UTC (rev 20878)
@@ -62,6 +62,11 @@
   int* errFlags; ///< Expected return values for queries
   //@}
 
+  /// @io I/O information
+  //@{
+  char* filename; ///< Filename of matching spatial database.
+  //@}
+
 };
 
 #endif // spatialdata_spatialdb_simplegriddbtestdata_hh

Modified: cs/spatialdata/trunk/tests/libtests/spatialdb/data/SimpleGridDBTestDataArea2D.cc
===================================================================
--- cs/spatialdata/trunk/tests/libtests/spatialdb/data/SimpleGridDBTestDataArea2D.cc	2012-10-22 22:14:26 UTC (rev 20877)
+++ cs/spatialdata/trunk/tests/libtests/spatialdb/data/SimpleGridDBTestDataArea2D.cc	2012-10-23 00:01:14 UTC (rev 20878)
@@ -74,6 +74,8 @@
 const int spatialdata::spatialdb::SimpleGridDBTestDataArea2D::_errFlags[_numQueries] = {
  0, 0, 0, 1, 1,};
 
+const char* spatialdata::spatialdb::SimpleGridDBTestDataArea2D::_filename = "data/grid_area2d.spatialdb";
+
 spatialdata::spatialdb::SimpleGridDBTestDataArea2D::SimpleGridDBTestDataArea2D(void)
 { // constructor
   numX = _numX;
@@ -92,6 +94,7 @@
   queryNearest = const_cast<double*>(_queryNearest);
   queryLinear = const_cast<double*>(_queryLinear);
   errFlags = const_cast<int*>(_errFlags);
+  filename = const_cast<char*>(_filename);
 } // constructor
 
 spatialdata::spatialdb::SimpleGridDBTestDataArea2D::~SimpleGridDBTestDataArea2D(void)

Modified: cs/spatialdata/trunk/tests/libtests/spatialdb/data/SimpleGridDBTestDataArea2D.hh
===================================================================
--- cs/spatialdata/trunk/tests/libtests/spatialdb/data/SimpleGridDBTestDataArea2D.hh	2012-10-22 22:14:26 UTC (rev 20877)
+++ cs/spatialdata/trunk/tests/libtests/spatialdb/data/SimpleGridDBTestDataArea2D.hh	2012-10-23 00:01:14 UTC (rev 20878)
@@ -70,6 +70,8 @@
 
   static const int _errFlags[];
 
+  static const char* _filename;
+
 };
 
 #endif // spatialdata_spatialdb_simplegriddbtestdataarea2d_hh

Modified: cs/spatialdata/trunk/tests/libtests/spatialdb/data/SimpleGridDBTestDataArea3D.cc
===================================================================
--- cs/spatialdata/trunk/tests/libtests/spatialdb/data/SimpleGridDBTestDataArea3D.cc	2012-10-22 22:14:26 UTC (rev 20877)
+++ cs/spatialdata/trunk/tests/libtests/spatialdb/data/SimpleGridDBTestDataArea3D.cc	2012-10-23 00:01:14 UTC (rev 20878)
@@ -76,6 +76,8 @@
 const int spatialdata::spatialdb::SimpleGridDBTestDataArea3D::_errFlags[_numQueries] = {
  0, 0, 0, 1, 1,};
 
+const char* spatialdata::spatialdb::SimpleGridDBTestDataArea3D::_filename = "data/grid_area3d.spatialdb";
+
 spatialdata::spatialdb::SimpleGridDBTestDataArea3D::SimpleGridDBTestDataArea3D(void)
 { // constructor
   numX = _numX;
@@ -94,6 +96,7 @@
   queryNearest = const_cast<double*>(_queryNearest);
   queryLinear = const_cast<double*>(_queryLinear);
   errFlags = const_cast<int*>(_errFlags);
+  filename = const_cast<char*>(_filename);
 } // constructor
 
 spatialdata::spatialdb::SimpleGridDBTestDataArea3D::~SimpleGridDBTestDataArea3D(void)

Modified: cs/spatialdata/trunk/tests/libtests/spatialdb/data/SimpleGridDBTestDataArea3D.hh
===================================================================
--- cs/spatialdata/trunk/tests/libtests/spatialdb/data/SimpleGridDBTestDataArea3D.hh	2012-10-22 22:14:26 UTC (rev 20877)
+++ cs/spatialdata/trunk/tests/libtests/spatialdb/data/SimpleGridDBTestDataArea3D.hh	2012-10-23 00:01:14 UTC (rev 20878)
@@ -70,6 +70,8 @@
 
   static const int _errFlags[];
 
+  static const char* _filename;
+
 };
 
 #endif // spatialdata_spatialdb_simplegriddbtestdataarea3d_hh

Modified: cs/spatialdata/trunk/tests/libtests/spatialdb/data/SimpleGridDBTestDataLine1D.cc
===================================================================
--- cs/spatialdata/trunk/tests/libtests/spatialdb/data/SimpleGridDBTestDataLine1D.cc	2012-10-22 22:14:26 UTC (rev 20877)
+++ cs/spatialdata/trunk/tests/libtests/spatialdb/data/SimpleGridDBTestDataLine1D.cc	2012-10-23 00:01:14 UTC (rev 20878)
@@ -69,6 +69,8 @@
 const int spatialdata::spatialdb::SimpleGridDBTestDataLine1D::_errFlags[_numQueries] = {
  0, 0, 0, 1, 1,};
 
+const char* spatialdata::spatialdb::SimpleGridDBTestDataLine1D::_filename = "data/grid_line1d.spatialdb";
+
 spatialdata::spatialdb::SimpleGridDBTestDataLine1D::SimpleGridDBTestDataLine1D(void)
 { // constructor
   numX = _numX;
@@ -87,6 +89,7 @@
   queryNearest = const_cast<double*>(_queryNearest);
   queryLinear = const_cast<double*>(_queryLinear);
   errFlags = const_cast<int*>(_errFlags);
+  filename = const_cast<char*>(_filename);
 } // constructor
 
 spatialdata::spatialdb::SimpleGridDBTestDataLine1D::~SimpleGridDBTestDataLine1D(void)

Modified: cs/spatialdata/trunk/tests/libtests/spatialdb/data/SimpleGridDBTestDataLine1D.hh
===================================================================
--- cs/spatialdata/trunk/tests/libtests/spatialdb/data/SimpleGridDBTestDataLine1D.hh	2012-10-22 22:14:26 UTC (rev 20877)
+++ cs/spatialdata/trunk/tests/libtests/spatialdb/data/SimpleGridDBTestDataLine1D.hh	2012-10-23 00:01:14 UTC (rev 20878)
@@ -70,6 +70,8 @@
 
   static const int _errFlags[];
 
+  static const char* _filename;
+
 };
 
 #endif // spatialdata_spatialdb_simplegriddbtestdataline1d_hh

Modified: cs/spatialdata/trunk/tests/libtests/spatialdb/data/SimpleGridDBTestDataLine2D.cc
===================================================================
--- cs/spatialdata/trunk/tests/libtests/spatialdb/data/SimpleGridDBTestDataLine2D.cc	2012-10-22 22:14:26 UTC (rev 20877)
+++ cs/spatialdata/trunk/tests/libtests/spatialdb/data/SimpleGridDBTestDataLine2D.cc	2012-10-23 00:01:14 UTC (rev 20878)
@@ -71,6 +71,8 @@
 const int spatialdata::spatialdb::SimpleGridDBTestDataLine2D::_errFlags[_numQueries] = {
  0, 0, 0, 1, 1,};
 
+const char* spatialdata::spatialdb::SimpleGridDBTestDataLine2D::_filename = "data/grid_line2d.spatialdb";
+
 spatialdata::spatialdb::SimpleGridDBTestDataLine2D::SimpleGridDBTestDataLine2D(void)
 { // constructor
   numX = _numX;
@@ -89,6 +91,7 @@
   queryNearest = const_cast<double*>(_queryNearest);
   queryLinear = const_cast<double*>(_queryLinear);
   errFlags = const_cast<int*>(_errFlags);
+  filename = const_cast<char*>(_filename);
 } // constructor
 
 spatialdata::spatialdb::SimpleGridDBTestDataLine2D::~SimpleGridDBTestDataLine2D(void)

Modified: cs/spatialdata/trunk/tests/libtests/spatialdb/data/SimpleGridDBTestDataLine2D.hh
===================================================================
--- cs/spatialdata/trunk/tests/libtests/spatialdb/data/SimpleGridDBTestDataLine2D.hh	2012-10-22 22:14:26 UTC (rev 20877)
+++ cs/spatialdata/trunk/tests/libtests/spatialdb/data/SimpleGridDBTestDataLine2D.hh	2012-10-23 00:01:14 UTC (rev 20878)
@@ -70,6 +70,8 @@
 
   static const int _errFlags[];
 
+  static const char* _filename;
+
 };
 
 #endif // spatialdata_spatialdb_simplegriddbtestdataline2d_hh

Modified: cs/spatialdata/trunk/tests/libtests/spatialdb/data/SimpleGridDBTestDataLine3D.cc
===================================================================
--- cs/spatialdata/trunk/tests/libtests/spatialdb/data/SimpleGridDBTestDataLine3D.cc	2012-10-22 22:14:26 UTC (rev 20877)
+++ cs/spatialdata/trunk/tests/libtests/spatialdb/data/SimpleGridDBTestDataLine3D.cc	2012-10-23 00:01:14 UTC (rev 20878)
@@ -73,6 +73,8 @@
 const int spatialdata::spatialdb::SimpleGridDBTestDataLine3D::_errFlags[_numQueries] = {
  0, 0, 0, 1, 1,};
 
+const char* spatialdata::spatialdb::SimpleGridDBTestDataLine3D::_filename = "data/grid_line3d.spatialdb";
+
 spatialdata::spatialdb::SimpleGridDBTestDataLine3D::SimpleGridDBTestDataLine3D(void)
 { // constructor
   numX = _numX;
@@ -91,6 +93,7 @@
   queryNearest = const_cast<double*>(_queryNearest);
   queryLinear = const_cast<double*>(_queryLinear);
   errFlags = const_cast<int*>(_errFlags);
+  filename = const_cast<char*>(_filename);
 } // constructor
 
 spatialdata::spatialdb::SimpleGridDBTestDataLine3D::~SimpleGridDBTestDataLine3D(void)

Modified: cs/spatialdata/trunk/tests/libtests/spatialdb/data/SimpleGridDBTestDataLine3D.hh
===================================================================
--- cs/spatialdata/trunk/tests/libtests/spatialdb/data/SimpleGridDBTestDataLine3D.hh	2012-10-22 22:14:26 UTC (rev 20877)
+++ cs/spatialdata/trunk/tests/libtests/spatialdb/data/SimpleGridDBTestDataLine3D.hh	2012-10-23 00:01:14 UTC (rev 20878)
@@ -70,6 +70,8 @@
 
   static const int _errFlags[];
 
+  static const char* _filename;
+
 };
 
 #endif // spatialdata_spatialdb_simplegriddbtestdataline3d_hh

Modified: cs/spatialdata/trunk/tests/libtests/spatialdb/data/SimpleGridDBTestDataVolume3D.cc
===================================================================
--- cs/spatialdata/trunk/tests/libtests/spatialdb/data/SimpleGridDBTestDataVolume3D.cc	2012-10-22 22:14:26 UTC (rev 20877)
+++ cs/spatialdata/trunk/tests/libtests/spatialdb/data/SimpleGridDBTestDataVolume3D.cc	2012-10-23 00:01:14 UTC (rev 20878)
@@ -94,6 +94,8 @@
 const int spatialdata::spatialdb::SimpleGridDBTestDataVolume3D::_errFlags[_numQueries] = {
  0, 0, 0, 1, 1,};
 
+const char* spatialdata::spatialdb::SimpleGridDBTestDataVolume3D::_filename = "data/grid_volume3d.spatialdb";
+
 spatialdata::spatialdb::SimpleGridDBTestDataVolume3D::SimpleGridDBTestDataVolume3D(void)
 { // constructor
   numX = _numX;
@@ -112,6 +114,7 @@
   queryNearest = const_cast<double*>(_queryNearest);
   queryLinear = const_cast<double*>(_queryLinear);
   errFlags = const_cast<int*>(_errFlags);
+  filename = const_cast<char*>(_filename);
 } // constructor
 
 spatialdata::spatialdb::SimpleGridDBTestDataVolume3D::~SimpleGridDBTestDataVolume3D(void)

Modified: cs/spatialdata/trunk/tests/libtests/spatialdb/data/SimpleGridDBTestDataVolume3D.hh
===================================================================
--- cs/spatialdata/trunk/tests/libtests/spatialdb/data/SimpleGridDBTestDataVolume3D.hh	2012-10-22 22:14:26 UTC (rev 20877)
+++ cs/spatialdata/trunk/tests/libtests/spatialdb/data/SimpleGridDBTestDataVolume3D.hh	2012-10-23 00:01:14 UTC (rev 20878)
@@ -70,6 +70,8 @@
 
   static const int _errFlags[];
 
+  static const char* _filename;
+
 };
 
 #endif // spatialdata_spatialdb_simplegriddbtestdatavolume3d_hh

Added: cs/spatialdata/trunk/tests/libtests/spatialdb/data/grid_area2d.spatialdb
===================================================================
--- cs/spatialdata/trunk/tests/libtests/spatialdb/data/grid_area2d.spatialdb	                        (rev 0)
+++ cs/spatialdata/trunk/tests/libtests/spatialdb/data/grid_area2d.spatialdb	2012-10-23 00:01:14 UTC (rev 20878)
@@ -0,0 +1,27 @@
+#SPATIAL_GRID.ascii 1
+SimpleGridDB {
+  num-x = 3
+  num-y = 2
+  num-z = 0
+  num-values = 2
+  space-dim = 2
+  value-names = One Two
+  value-units = m  m
+  cs-data = cartesian {
+    space-dim = 2
+  }
+}
+
+// x coordinates
+-3.0  1.0  2.0
+
+// y coordinates
+2.0  4.0
+
+// x, y, one, two
+-3.0  2.0   1.00000000e-01  1.10000000e+00 // 0,0
+ 1.0  2.0   0.00000000e-01  1.20000000e+00 // 1,0
+ 2.0  2.0   5.00000000e-01  1.60000000e+00 // 2,0
+-3.0  4.0   4.00000000e-01  4.60000000e+00 // 0,1
+ 1.0  4.0   9.00000000e-01  4.70000000e+00 // 1,1
+ 2.0  4.0   7.00000000e-01  4.80000000e+00 // 2,1

Added: cs/spatialdata/trunk/tests/libtests/spatialdb/data/grid_area3d.spatialdb
===================================================================
--- cs/spatialdata/trunk/tests/libtests/spatialdb/data/grid_area3d.spatialdb	                        (rev 0)
+++ cs/spatialdata/trunk/tests/libtests/spatialdb/data/grid_area3d.spatialdb	2012-10-23 00:01:14 UTC (rev 20878)
@@ -0,0 +1,30 @@
+#SPATIAL_GRID.ascii 1
+SimpleGridDB {
+  num-x = 3
+  num-y = 1
+  num-z = 2
+  num-values = 2
+  space-dim = 3
+  value-names = One Two
+  value-units = m  m
+  cs-data = cartesian {
+    space-dim = 3
+  }
+}
+
+// x coordinates
+-3.0  1.0  2.0
+
+// y coordinates
+8.0
+
+// z coordinates
+2.0  4.0
+
+// x, y, z, one, two
+-3.0  8.0  2.0    1.00000000e-01  1.10000000e+00 // 0,0,0
+ 1.0  8.0  2.0    0.00000000e-01  1.20000000e+00 // 1,0,0
+ 2.0  8.0  2.0    5.00000000e-01  1.60000000e+00 // 2,0,0
+-3.0  8.0  4.0    4.00000000e-01  4.60000000e+00 // 0,0,1
+ 1.0  8.0  4.0    9.00000000e-01  4.70000000e+00 // 1,0,1
+ 2.0  8.0  4.0    7.00000000e-01  4.80000000e+00 // 2,0,1

Added: cs/spatialdata/trunk/tests/libtests/spatialdb/data/grid_line1d.spatialdb
===================================================================
--- cs/spatialdata/trunk/tests/libtests/spatialdb/data/grid_line1d.spatialdb	                        (rev 0)
+++ cs/spatialdata/trunk/tests/libtests/spatialdb/data/grid_line1d.spatialdb	2012-10-23 00:01:14 UTC (rev 20878)
@@ -0,0 +1,19 @@
+#SPATIAL_GRID.ascii 1
+SimpleGridDB {
+  num-x = 3
+  num-values = 2
+  space-dim = 1
+  value-names = One Two
+  value-units = m  m
+  cs-data = cartesian {
+    space-dim = 1
+  }
+}
+
+// x coordinates
+-3.0  1.0  2.0
+
+// x, one, two
+-3.0    1.00000000e-01  1.10000000e+00 // 0
+ 1.0    0.00000000e-01  1.20000000e+00 // 1
+ 2.0    5.00000000e-01  1.60000000e+00 // 2

Added: cs/spatialdata/trunk/tests/libtests/spatialdb/data/grid_line2d.spatialdb
===================================================================
--- cs/spatialdata/trunk/tests/libtests/spatialdb/data/grid_line2d.spatialdb	                        (rev 0)
+++ cs/spatialdata/trunk/tests/libtests/spatialdb/data/grid_line2d.spatialdb	2012-10-23 00:01:14 UTC (rev 20878)
@@ -0,0 +1,22 @@
+#SPATIAL_GRID.ascii 1
+SimpleGridDB {
+  num-x = 1
+  num-y = 3
+  num-values = 2
+  space-dim = 2
+  value-names = One Two
+  value-units = m  m
+  cs-data = cartesian {
+    space-dim = 2
+  }
+}
+// x coordinates
+2.0
+
+// y coordinates
+-3.0  1.0  2.0
+
+// x, y, one, two
+2.0  -3.0    1.00000000e-01  1.10000000e+00 // 0
+2.0   1.0    0.00000000e-01  1.20000000e+00 // 1
+2.0   2.0    5.00000000e-01  1.60000000e+00 // 2

Added: cs/spatialdata/trunk/tests/libtests/spatialdb/data/grid_line3d.spatialdb
===================================================================
--- cs/spatialdata/trunk/tests/libtests/spatialdb/data/grid_line3d.spatialdb	                        (rev 0)
+++ cs/spatialdata/trunk/tests/libtests/spatialdb/data/grid_line3d.spatialdb	2012-10-23 00:01:14 UTC (rev 20878)
@@ -0,0 +1,27 @@
+#SPATIAL_GRID.ascii 1
+SimpleGridDB {
+  num-x = 1
+  num-y = 1
+  num-z = 3
+  num-values = 2
+  space-dim = 3
+  value-names = One Two
+  value-units = m  m
+  cs-data = cartesian {
+    space-dim = 3
+  }
+}
+
+// x coordinates
+2.0
+
+// y coordinates
+0.6
+
+// z coordinates
+-3.0  1.0  2.0
+
+// x, y, z, one, two
+2.0  0.6 -3.0   1.00000000e-01  1.10000000e+00 // 0
+2.0  0.6  1.0   0.00000000e-01  1.20000000e+00 // 1
+2.0  0.6  2.0   5.00000000e-01  1.60000000e+00 // 2

Added: cs/spatialdata/trunk/tests/libtests/spatialdb/data/grid_volume3d.spatialdb
===================================================================
--- cs/spatialdata/trunk/tests/libtests/spatialdb/data/grid_volume3d.spatialdb	                        (rev 0)
+++ cs/spatialdata/trunk/tests/libtests/spatialdb/data/grid_volume3d.spatialdb	2012-10-23 00:01:14 UTC (rev 20878)
@@ -0,0 +1,48 @@
+#SPATIAL_GRID.ascii 1
+SimpleGridDB {
+  num-x = 3
+  num-y = 2
+  num-z = 4
+  num-values = 2
+  space-dim = 3
+  value-names = One Two
+  value-units = m  m
+  cs-data = cartesian {
+    space-dim = 3
+  }
+}
+
+// x coordinates
+-3.0  1.0  2.0
+
+// y coordinates
+2.0  4.0
+
+// z coordinates
+-0.5  0.0  1.0  4.0
+
+// x, y, z, one, two
+-3.0  2.0   4.0   1.00000000e-01  1.10000000e+00 // 0,0,3
+ 1.0  2.0   4.0   6.00000000e-01  1.40000000e+00 // 1,0,3
+ 2.0  2.0   4.0   3.00000000e-01  1.50000000e+00 // 2,0,3
+-3.0  4.0   4.0   5.00000000e-01  4.60000000e+00 // 0,1,3
+ 1.0  4.0   4.0   6.00000000e-01  4.70000000e+00 // 1,1,3
+ 2.0  4.0   4.0   4.00000000e-01  4.50000000e+00 // 2,1,3
+-3.0  2.0   1.0   2.00000000e-01  2.20000000e+00 // 0,0,2
+ 1.0  2.0   1.0   2.00000000e-01  2.10000000e+00 // 1,0,2
+ 2.0  2.0   1.0   8.00000000e-01  2.80000000e+00 // 2,0,2
+-3.0  4.0   1.0   7.00000000e-01  5.20000000e+00 // 0,1,2
+ 1.0  4.0   1.0   7.00000000e-01  5.50000000e+00 // 1,1,2
+ 2.0  4.0   1.0   3.00000000e-01  5.70000000e+00 // 2,1,2
+-3.0  2.0   0.0   3.00000000e-01  3.30000000e+00 // 0,0,1
+ 1.0  2.0   0.0   1.00000000e-01  3.40000000e+00 // 1,0,1
+ 2.0  2.0   0.0   3.00000000e-01  3.30000000e+00 // 2,0,1
+-3.0  4.0   0.0   3.00000000e-01  3.20000000e+00 // 0,1,1
+ 1.0  4.0   0.0   4.00000000e-01  3.30000000e+00 // 1,1,1
+ 2.0  4.0   0.0   4.00000000e-01  3.40000000e+00 // 2,1,1
+-3.0  2.0  -0.5   1.00000000e-01  1.10000000e+00 // 0,0,0
+ 1.0  2.0  -0.5   0.00000000e-01  1.20000000e+00 // 1,0,0
+ 2.0  2.0  -0.5   5.00000000e-01  1.60000000e+00 // 2,0,0
+-3.0  4.0  -0.5   4.00000000e-01  4.60000000e+00 // 0,1,0
+ 1.0  4.0  -0.5   9.00000000e-01  4.70000000e+00 // 1,1,0
+ 2.0  4.0  -0.5   7.00000000e-01  4.80000000e+00 // 2,1,0



More information about the CIG-COMMITS mailing list