[cig-commits] r14618 - in short/3D/PyLith/branches/pylith-swig: libsrc/meshio unittests/libtests/meshio

brad at geodynamics.org brad at geodynamics.org
Tue Apr 7 16:07:21 PDT 2009


Author: brad
Date: 2009-04-07 16:07:21 -0700 (Tue, 07 Apr 2009)
New Revision: 14618

Modified:
   short/3D/PyLith/branches/pylith-swig/libsrc/meshio/DataWriterVTK.cc
   short/3D/PyLith/branches/pylith-swig/libsrc/meshio/DataWriterVTK.hh
   short/3D/PyLith/branches/pylith-swig/libsrc/meshio/DataWriterVTK.icc
   short/3D/PyLith/branches/pylith-swig/unittests/libtests/meshio/Makefile.am
   short/3D/PyLith/branches/pylith-swig/unittests/libtests/meshio/TestDataWriterVTK.cc
   short/3D/PyLith/branches/pylith-swig/unittests/libtests/meshio/TestDataWriterVTK.hh
Log:
Worked on DataWriterVTK and corresponding unit tests.

Modified: short/3D/PyLith/branches/pylith-swig/libsrc/meshio/DataWriterVTK.cc
===================================================================
--- short/3D/PyLith/branches/pylith-swig/libsrc/meshio/DataWriterVTK.cc	2009-04-07 22:50:02 UTC (rev 14617)
+++ short/3D/PyLith/branches/pylith-swig/libsrc/meshio/DataWriterVTK.cc	2009-04-07 23:07:21 UTC (rev 14618)
@@ -44,8 +44,8 @@
 // ----------------------------------------------------------------------
 // Copy constructor.
 template<typename mesh_type>
-pylith::meshio::DataWriterVTK<mesh_type>::DataWriterVTK(const DataWriterVTK& w) :
-  DataWriter(w),
+pylith::meshio::DataWriterVTK<mesh_type>::DataWriterVTK(const DataWriterVTK<mesh_type>& w) :
+  DataWriter<mesh_type>(w),
   _timeConstant(w._timeConstant),
   _filename(w._filename),
   _timeFormat(w._timeFormat),
@@ -85,28 +85,31 @@
 
     const std::string& filename = _vtkFilename(t);
 
-    err = PetscViewerCreate(mesh->comm(), &_viewer);
+    err = PetscViewerCreate(mesh.comm(), &_viewer);
     CHECK_PETSC_ERROR(err);
     err = PetscViewerSetType(_viewer, PETSC_VIEWER_ASCII);
     CHECK_PETSC_ERROR(err);
     err = PetscViewerSetFormat(_viewer, PETSC_VIEWER_ASCII_VTK);
     CHECK_PETSC_ERROR(err);
     err = PetscViewerFileSetName(_viewer, filename.c_str());
-    CHECK_PETSC_ERROR_MSF(err);
+    CHECK_PETSC_ERROR(err);
+
+    const ALE::Obj<typename mesh_type::SieveMesh>& sieveMesh = mesh.sieveMesh();
     
     err = VTKViewer::writeHeader(_viewer);
     CHECK_PETSC_ERROR(err);
     //std::cout << "Wrote header for " << filename << std::endl;
-    err = VTKViewer::writeVertices(mesh, _viewer);
+    err = VTKViewer::writeVertices(sieveMesh, _viewer);
     CHECK_PETSC_ERROR(err);
     //std::cout << "Wrote vertices for " << filename << std::endl;
     if (0 == label) {
-      err = VTKViewer::writeElements(mesh, _viewer);
+      err = VTKViewer::writeElements(sieveMesh, _viewer);
       CHECK_PETSC_ERROR(err);
     } else {
       const std::string labelName = 
-	(mesh->hasLabel("censored depth")) ? "censored depth" : "depth";
-      err = VTKViewer::writeElements(mesh, label, labelId, labelName, 0, _viewer);      
+	(sieveMesh->hasLabel("censored depth")) ? "censored depth" : "depth";
+      err = VTKViewer::writeElements(sieveMesh, label, labelId, labelName,
+				     0, _viewer);      
       CHECK_PETSC_ERROR(err);
     } // if
     //std::cout << "Wrote elements for " << filename << std::endl;
@@ -150,17 +153,21 @@
 				       const double t,
 				       const topology::Field<mesh_type>& field)
 { // writeVertexField
+  typedef typename mesh_type::SieveMesh SieveMesh;
+  typedef typename mesh_type::RealSection RealSection;
+
   try {
-    const ALE::Obj<SieveMesh>& sievemesh = field.mesh().sieveMesh();
+    const ALE::Obj<SieveMesh>& sieveMesh = field.mesh().sieveMesh();
     assert(!sieveMesh.isNull());
-    const ALE::Obj<SieveMesh::label_sequence>& vertices = sievMesh->depthStratum(0);
+    const ALE::Obj<typename SieveMesh::label_sequence>& vertices = 
+      sieveMesh->depthStratum(0);
     assert(!vertices.isNull());
     int rank = 0;
-    MPI_Comm_rank(field.mesh.comm(), &rank);
+    MPI_Comm_rank(field.mesh().comm(), &rank);
 
     const std::string labelName = 
       (sieveMesh->hasLabel("censored depth")) ? "censored depth" : "depth";
-    const ALE::Obj<SieveMesh::numbering_type>& numbering =
+    const ALE::Obj<typename SieveMesh::numbering_type>& numbering =
       sieveMesh->getFactory()->getNumbering(sieveMesh, labelName, 0);
     assert(!numbering.isNull());
 
@@ -170,16 +177,16 @@
     const int localFiberDim = 
       section->getFiberDimension(*sieveMesh->getLabelStratum(labelName, 0)->begin());
     int fiberDim = 0;
-    MPI_Allreduce((void *) &localFiberDim, (void *) &fiberDim, 1, MPI_INT, MPI_MAX,
-		  field.mesh.comm());
+    MPI_Allreduce((void *) &localFiberDim, (void *) &fiberDim, 1, 
+		  MPI_INT, MPI_MAX, field.mesh().comm());
     assert(fiberDim > 0);
     const int enforceDim =
-      (field.vectorFieldType() != FieldBase::VECTOR) ? fiberDim : 3;
+      (field.vectorFieldType() != topology::FieldBase::VECTOR) ? fiberDim : 3;
 
     PetscErrorCode err = 0;
     if (!_wroteVertexHeader) {
       err = PetscViewerASCIIPrintf(_viewer, "POINT_DATA %d\n", 
-						  numbering->getGlobalSize());
+				   numbering->getGlobalSize());
       CHECK_PETSC_ERROR(err);
       _wroteVertexHeader = true;
     } // if
@@ -210,10 +217,13 @@
 				       const char* label,
 				       const int labelId)
 { // writeCellField
+  typedef typename mesh_type::SieveMesh SieveMesh;
+  typedef typename mesh_type::RealSection RealSection;
+
   try {
-    const ALE::Obj<SieveMesh>& sievemesh = field.mesh().sieveMesh();
+    const ALE::Obj<SieveMesh>& sieveMesh = field.mesh().sieveMesh();
     assert(!sieveMesh.isNull());
-    const ALE::Obj<SieveMesh::label_sequence>& cells = (0 == label) ?
+    const ALE::Obj<typename SieveMesh::label_sequence>& cells = (0 == label) ?
       sieveMesh->heightStratum(0) :
       sieveMesh->getLabelStratum(label, labelId);
     assert(!cells.isNull());
@@ -227,9 +237,9 @@
     const std::string labelName = (0 == label) ?
       ((sieveMesh->hasLabel("censored depth")) ?
        "censored depth" : "depth") : label;
-    assert(!sieveMesh->getFactor().isNull());
-    const ALE::Obj<SieveMesh::numbering_type>& numbering = 
-      sieveMesh->getFactory()->getNumbering(mesh, labelName, depth);
+    assert(!sieveMesh->getFactory().isNull());
+    const ALE::Obj<typename SieveMesh::numbering_type>& numbering = 
+      sieveMesh->getFactory()->getNumbering(sieveMesh, labelName, depth);
     assert(!numbering.isNull());
     assert(!sieveMesh->getLabelStratum(labelName, depth).isNull());
     const ALE::Obj<RealSection>& section = field.section();
@@ -237,17 +247,17 @@
     const int localFiberDim = 
       section->getFiberDimension(*sieveMesh->getLabelStratum(labelName, depth)->begin());
     int fiberDim = 0;
-    MPI_Allreduce((void *) &localFiberDim, (void *) &fiberDim, 1, MPI_INT, MPI_MAX, 
-		  field.mesh()->comm());
+    MPI_Allreduce((void *) &localFiberDim, (void *) &fiberDim, 1, 
+		  MPI_INT, MPI_MAX, field.mesh().comm());
     assert(fiberDim > 0);
     const int enforceDim =
-      (field.vectorFieldType() != FieldBase::VECTOR) ? fiberDim : 3;
+      (field.vectorFieldType() != topology::FieldBase::VECTOR) ? fiberDim : 3;
 
     PetscErrorCode err = 0;
     if (!_wroteCellHeader) {
       err = PetscViewerASCIIPrintf(_viewer, "CELL_DATA %d\n", 
 				   numbering->getGlobalSize());
-      CHECK_PETSC_ERROR(err)l
+      CHECK_PETSC_ERROR(err);
       _wroteCellHeader = true;
     } // if
 
@@ -274,7 +284,7 @@
 { // _vtkFilename
   std::ostringstream filename;
   const int indexExt = _filename.find(".vtk");
-  if (_numTimeSteps > 0) {
+  if (DataWriter<mesh_type>::_numTimeSteps > 0) {
     // If data with multiple time steps, then add time stamp to filename
     char sbuffer[256];
     sprintf(sbuffer, _timeFormat.c_str(), t/_timeConstant);

Modified: short/3D/PyLith/branches/pylith-swig/libsrc/meshio/DataWriterVTK.hh
===================================================================
--- short/3D/PyLith/branches/pylith-swig/libsrc/meshio/DataWriterVTK.hh	2009-04-07 22:50:02 UTC (rev 14617)
+++ short/3D/PyLith/branches/pylith-swig/libsrc/meshio/DataWriterVTK.hh	2009-04-07 23:07:21 UTC (rev 14618)
@@ -20,11 +20,11 @@
 #define pylith_meshio_datawritervtk_hh
 
 // Include directives ---------------------------------------------------
-#include "meshiofwd.hh" // forward declarations
+#include "DataWriter.hh" // ISA DataWriter
 
 // DataWriterVTK --------------------------------------------------------
 template<typename mesh_type>
-class pylith::meshio::DataWriterVTK : public DataWriter
+class pylith::meshio::DataWriterVTK : public DataWriter<mesh_type>
 { // DataWriterVTK
   friend class TestDataWriterVTK; // unit testing
 
@@ -41,7 +41,7 @@
    *
    * @returns Copy of this.
    */
-  DataWriter* clone(void) const;
+  DataWriter<mesh_type>* clone(void) const;
 
   /** Set filename for VTK file.
    *

Modified: short/3D/PyLith/branches/pylith-swig/libsrc/meshio/DataWriterVTK.icc
===================================================================
--- short/3D/PyLith/branches/pylith-swig/libsrc/meshio/DataWriterVTK.icc	2009-04-07 22:50:02 UTC (rev 14617)
+++ short/3D/PyLith/branches/pylith-swig/libsrc/meshio/DataWriterVTK.icc	2009-04-07 23:07:21 UTC (rev 14618)
@@ -23,6 +23,7 @@
 }
 
 // Set filename for VTK file.
+template<typename mesh_type>
 inline
 void
 pylith::meshio::DataWriterVTK<mesh_type>::filename(const char* filename) {
@@ -30,6 +31,7 @@
 }
 
 // Set time format for time stamp in name of VTK file.
+template<typename mesh_type>
 inline
 void
 pylith::meshio::DataWriterVTK<mesh_type>::timeFormat(const char* format) {

Modified: short/3D/PyLith/branches/pylith-swig/unittests/libtests/meshio/Makefile.am
===================================================================
--- short/3D/PyLith/branches/pylith-swig/unittests/libtests/meshio/Makefile.am	2009-04-07 22:50:02 UTC (rev 14617)
+++ short/3D/PyLith/branches/pylith-swig/unittests/libtests/meshio/Makefile.am	2009-04-07 23:07:21 UTC (rev 14618)
@@ -26,31 +26,31 @@
 	TestMeshIOLagrit.cc \
 	TestCellFilterAvg.cc \
 	TestVertexFilterVecNorm.cc \
+	TestDataWriterVTK.cc \
 	test_meshio.cc
 
 
-# 	TestDataWriterVTK.cc \
-# 	TestDataWriterVTKMesh.cc \
-# 	TestDataWriterVTKMeshLine2.cc \
-# 	TestDataWriterVTKMeshTri3.cc \
-# 	TestDataWriterVTKMeshQuad4.cc \
-# 	TestDataWriterVTKMeshTet4.cc \
-# 	TestDataWriterVTKMeshHex8.cc \
-# 	TestDataWriterVTKSubMeshLine2.cc \
-# 	TestDataWriterVTKSubMeshTri3.cc \
-# 	TestDataWriterVTKSubMeshQuad4.cc \
-# 	TestDataWriterVTKSubMeshTet4.cc \
-# 	TestDataWriterVTKSubMeshHex8.cc \
-# 	TestDataWriterVTKFaultMesh.cc \
-# 	TestDataWriterVTKFaultMeshTri3.cc \
-# 	TestDataWriterVTKFaultMeshQuad4.cc \
-# 	TestDataWriterVTKFaultMeshTet4.cc \
-# 	TestDataWriterVTKFaultMeshHex8.cc \
-# 	TestDataWriterVTKBCMesh.cc \
-# 	TestDataWriterVTKBCMeshTri3.cc \
-# 	TestDataWriterVTKBCMeshQuad4.cc \
-# 	TestDataWriterVTKBCMeshTet4.cc \
-# 	TestDataWriterVTKBCMeshHex8.cc
+#	TestDataWriterVTKMesh.cc \
+#	TestDataWriterVTKMeshLine2.cc \
+#	TestDataWriterVTKMeshTri3.cc \
+#	TestDataWriterVTKMeshQuad4.cc \
+#	TestDataWriterVTKMeshTet4.cc \
+#	TestDataWriterVTKMeshHex8.cc \
+#	TestDataWriterVTKSubMeshLine2.cc \
+#	TestDataWriterVTKSubMeshTri3.cc \
+#	TestDataWriterVTKSubMeshQuad4.cc \
+#	TestDataWriterVTKSubMeshTet4.cc \
+#	TestDataWriterVTKSubMeshHex8.cc \
+#	TestDataWriterVTKFaultMesh.cc \
+#	TestDataWriterVTKFaultMeshTri3.cc \
+#	TestDataWriterVTKFaultMeshQuad4.cc \
+#	TestDataWriterVTKFaultMeshTet4.cc \
+#	TestDataWriterVTKFaultMeshHex8.cc \
+#	TestDataWriterVTKBCMesh.cc \
+#	TestDataWriterVTKBCMeshTri3.cc \
+#	TestDataWriterVTKBCMeshQuad4.cc \
+#	TestDataWriterVTKBCMeshTet4.cc \
+#	TestDataWriterVTKBCMeshHex8.cc
 #	TestOutputManager.cc \
 #	TestOutputSolnSubset.cc
 

Modified: short/3D/PyLith/branches/pylith-swig/unittests/libtests/meshio/TestDataWriterVTK.cc
===================================================================
--- short/3D/PyLith/branches/pylith-swig/unittests/libtests/meshio/TestDataWriterVTK.cc	2009-04-07 22:50:02 UTC (rev 14617)
+++ short/3D/PyLith/branches/pylith-swig/unittests/libtests/meshio/TestDataWriterVTK.cc	2009-04-07 23:07:21 UTC (rev 14618)
@@ -16,6 +16,9 @@
 
 #include "data/DataWriterVTKData.hh" // USES DataWriterVTKData
 
+#include "pylith/topology/Mesh.hh" // USES Mesh
+#include "pylith/topology/Field.hh" // USES Field
+#include "pylith/topology/Fields.hh" // USES Fields
 #include "pylith/meshio/DataWriterVTK.hh" // USES DataWriterVTK
 
 #include <string.h> // USES strcmp()
@@ -140,7 +143,7 @@
 
   DataWriterVTK<topology::Mesh> writer;
 
-  topology::Fields<topology::Mesh> vertexFields(*_mesh);
+  topology::Fields<topology::Field<topology::Mesh> > vertexFields(*_mesh);
   _createVertexFields(&vertexFields);
 
   writer.filename(_data->vertexFilename);
@@ -160,10 +163,9 @@
     writer.openTimeStep(t, *_mesh, label, id);
   } // else
   for (int i=0; i < nfields; ++i) {
-    writer.writeVertexField(t, _data->vertexFieldsInfo[i].name,
-			    vertexFields[i], 
-			    _data->vertexFieldsInfo[i].field_type,
-			    _mesh);
+    const topology::Field<topology::Mesh>& field = 
+      vertexFields.get(_data->vertexFieldsInfo[i].name);
+    writer.writeVertexField(t, field);
     CPPUNIT_ASSERT(writer._wroteVertexHeader);
     CPPUNIT_ASSERT(false == writer._wroteCellHeader);
   } // for
@@ -185,7 +187,7 @@
 
   DataWriterVTK<topology::Mesh> writer;
 
-  std::vector<topology::Field<topology::Mesh> > cellFields;
+  topology::Fields<topology::Field<topology::Mesh> > cellFields(*_mesh);
   _createCellFields(&cellFields);
 
   writer.filename(_data->cellFilename);
@@ -199,10 +201,9 @@
     writer.open(*_mesh, numTimeSteps);
     writer.openTimeStep(t, *_mesh);
     for (int i=0; i < nfields; ++i) {
-      writer.writeCellField(t, _data->cellFieldsInfo[i].name,
-                            cellFields[i], 
-                            _data->cellFieldsInfo[i].field_type,
-                            _mesh);
+      const topology::Field<topology::Mesh>& field = 
+	cellFields.get(_data->cellFieldsInfo[i].name);
+      writer.writeCellField(t, field);
       CPPUNIT_ASSERT(false == writer._wroteVertexHeader);
       CPPUNIT_ASSERT(writer._wroteCellHeader);
     } // for
@@ -210,12 +211,11 @@
     const char* label = _data->cellsLabel;
     const int id = _data->labelId;
     writer.open(*_mesh, numTimeSteps, label, id);
-    writer.openTimeStep(t, _mesh, &cs, label, id);
+    writer.openTimeStep(t, *_mesh, label, id);
     for (int i=0; i < nfields; ++i) {
-      writer.writeCellField(t, _data->cellFieldsInfo[i].name,
-                            cellFields[i], 
-                            _data->cellFieldsInfo[i].field_type,
-                            _mesh, label, id);
+      const topology::Field<topology::Mesh>& field = 
+	cellFields.get(_data->cellFieldsInfo[i].name);
+      writer.writeCellField(t, field, label, id);
       CPPUNIT_ASSERT(false == writer._wroteVertexHeader);
       CPPUNIT_ASSERT(writer._wroteCellHeader);
     } // for
@@ -259,7 +259,7 @@
 // Create vertex fields.
 void
 pylith::meshio::TestDataWriterVTK::_createVertexFields(
-	     topology::Fields<topology::Mesh> >* fields) const
+	    topology::Fields<topology::Field<topology::Mesh> >* fields) const
 { // _createVertexFields
   CPPUNIT_ASSERT(0 != fields);
   CPPUNIT_ASSERT(0 != _mesh);
@@ -268,25 +268,27 @@
   try {
     const int nfields = _data->numVertexFields;
 
-    const ALE::Obj<SieveMesh>& sieveMesh = _mesh->sieveMesh();
+    const ALE::Obj<topology::Mesh::SieveMesh>& sieveMesh = _mesh->sieveMesh();
     CPPUNIT_ASSERT(!sieveMesh.isNull());
-    const ALE::Obj<label_sequence>& vertices = sieveMesh->depthStratum(0);
+    const ALE::Obj<topology::Mesh::SieveMesh::label_sequence>& vertices =
+      sieveMesh->depthStratum(0);
     CPPUNIT_ASSERT(!vertices.isNull());
-    const label_sequence::iterator verticesEnd = vertices->end();
+    const topology::Mesh::SieveMesh::label_sequence::iterator verticesEnd =
+      vertices->end();
 
     // Set vertex fields
     for (int i=0; i < nfields; ++i) {
-      const char* name = _data->VertexFieldsInfo[i].label;
+      const char* name = _data->vertexFieldsInfo[i].name;
       const int fiberDim = _data->vertexFieldsInfo[i].fiber_dim;
-      fields->add(name);
+      fields->add(name, name);
       topology::Field<topology::Mesh>& field = fields->get(name);
       field.newSection(topology::FieldBase::VERTICES_FIELD, fiberDim);
       field.allocate();
 
-      const ALE::Obj<RealSection>& section = field.section();
+      const ALE::Obj<topology::Mesh::RealSection>& section = field.section();
       CPPUNIT_ASSERT(!section.isNull());
       int ipt = 0;
-      for (label_sequence::iterator v_iter=vertices->begin();
+      for (topology::Mesh::SieveMesh::label_sequence::iterator v_iter=vertices->begin();
 	   v_iter != verticesEnd;
 	   ++v_iter, ++ipt) {
 	const double* values = &_data->vertexFields[i][ipt*fiberDim];
@@ -303,7 +305,7 @@
 // Create cell fields.
 void
 pylith::meshio::TestDataWriterVTK::_createCellFields(
-                       topology::Fields<topology::Mesh> >* fields) const
+	     topology::Fields<topology::Field<topology::Mesh> >* fields) const
 { // _createCellFields
   CPPUNIT_ASSERT(0 != fields);
   CPPUNIT_ASSERT(0 != _mesh);
@@ -312,27 +314,32 @@
   try {
     const int nfields = _data->numCellFields;
 
-    const ALE::Obj<Mesh::label_sequence>& cells = 
+    const ALE::Obj<topology::Mesh::SieveMesh>& sieveMesh = _mesh->sieveMesh();
+    CPPUNIT_ASSERT(!sieveMesh.isNull());
+    const ALE::Obj<topology::Mesh::SieveMesh::label_sequence>& cells = 
       (0 == _data->cellsLabel) ? 
-      _mesh->depthStratum(1) :
-      _mesh->getLabelStratum(_data->cellsLabel, _data->labelId);
-    const Mesh::label_sequence::iterator cellsEnd = cells->end();
+      sieveMesh->depthStratum(1) :
+      sieveMesh->getLabelStratum(_data->cellsLabel, _data->labelId);
+    const topology::Mesh::SieveMesh::label_sequence::iterator cellsEnd = 
+      cells->end();
 
     // Set cell fields
-    fields->resize(nfields);
     for (int i=0; i < nfields; ++i) {
-      (*fields)[i] = new real_section_type(_mesh->comm(), _mesh->debug());
-      (*fields)[i]->setChart(_mesh->getSieve()->getChart());
+      const char* name = _data->cellFieldsInfo[i].name;
       const int fiberDim = _data->cellFieldsInfo[i].fiber_dim;
-      (*fields)[i]->setFiberDimension(cells, fiberDim);
-      _mesh->allocate((*fields)[i]);
+      fields->add(name, name);
+      topology::Field<topology::Mesh>& field = fields->get(name);
+      field.newSection(topology::FieldBase::CELLS_FIELD, fiberDim);
+      field.allocate();
 
+      const ALE::Obj<topology::Mesh::RealSection>& section = field.section();
+      CPPUNIT_ASSERT(!section.isNull());
       int icell = 0;
-      for (Mesh::label_sequence::iterator c_iter=cells->begin();
+      for (topology::Mesh::SieveMesh::label_sequence::iterator c_iter=cells->begin();
 	   c_iter != cellsEnd;
 	   ++c_iter, ++icell) {
 	const double* values = &_data->cellFields[i][icell*fiberDim];
-	(*fields)[i]->updatePoint(*c_iter, values);
+	section->updatePoint(*c_iter, values);
       } // for
       CPPUNIT_ASSERT_EQUAL(_data->numCells, icell);
     } // for

Modified: short/3D/PyLith/branches/pylith-swig/unittests/libtests/meshio/TestDataWriterVTK.hh
===================================================================
--- short/3D/PyLith/branches/pylith-swig/unittests/libtests/meshio/TestDataWriterVTK.hh	2009-04-07 22:50:02 UTC (rev 14617)
+++ short/3D/PyLith/branches/pylith-swig/unittests/libtests/meshio/TestDataWriterVTK.hh	2009-04-07 23:07:21 UTC (rev 14618)
@@ -21,10 +21,8 @@
 #if !defined(pylith_meshio_testdatawritervtk_hh)
 #define pylith_meshio_testdatawritervtk_hh
 
-#include "pylith/utils/sievetypes.hh" // USES PETSc Mesh
+#include "pylith/topology/topologyfwd.hh" // USES Mesh, Field
 
-#include <vector> // USES std::vector
-
 #include <cppunit/extensions/HelperMacros.h>
 
 /// Namespace for pylith package
@@ -113,14 +111,14 @@
    * @param fields Vertex fields.
    */
   void
-  _createVertexFields(topology::Fields<topology::Mesh>* fields) const;
+  _createVertexFields(topology::Fields<topology::Field<topology::Mesh> >* fields) const;
 
   /** Create cell fields.
    *
    * @param fields Cell fields.
    */
   void
-  _createCellFields(topology::Fields<topology::Mesh>* fields) const;
+  _createCellFields(topology::Fields<topology::Field<topology::Mesh> >* fields) const;
 
 }; // class TestDataWriterVTK
 



More information about the CIG-COMMITS mailing list