[cig-commits] r13783 - cs/cigma/trunk/src

luis at geodynamics.org luis at geodynamics.org
Wed Dec 17 02:34:09 PST 2008


Author: luis
Date: 2008-12-17 02:34:09 -0800 (Wed, 17 Dec 2008)
New Revision: 13783

Modified:
   cs/cigma/trunk/src/io_vtk_reader.cpp
Log:
Take first PointData array if no vtk dataset is given

Modified: cs/cigma/trunk/src/io_vtk_reader.cpp
===================================================================
--- cs/cigma/trunk/src/io_vtk_reader.cpp	2008-12-17 10:34:08 UTC (rev 13782)
+++ cs/cigma/trunk/src/io_vtk_reader.cpp	2008-12-17 10:34:09 UTC (rev 13783)
@@ -330,8 +330,29 @@
     TRI_LOG_STR("VtkReader::getDofHandler()");
     TRI_LOG(loc);
 
+    string name = loc;
+
+    if (name == "")
+    {
+        vtkPointData* pointData = dataset->GetPointData();
+        int numArrays = pointData->GetNumberOfArrays();
+        if (numArrays > 0)
+        {
+            name = pointData->GetArrayName(0);
+            TRI_LOG_STR("Took first dataset in file");
+            TRI_LOG(name);
+        }
+        else
+        {
+            std::ostringstream stream;
+            stream << "No dataset name was given for VTK file '"
+                   << filename << "'" << std::ends;
+            throw cigma::Exception("VtkReader::getDofHandler", stream.str());
+        }
+    }
+
     shared_ptr<DofHandler> dh(new DofHandler);
-    int status = this->getDataset(loc, &(dh->dofs), &(dh->nno), &(dh->rank));
+    int status = this->getDataset(name.c_str(), &(dh->dofs), &(dh->nno), &(dh->rank));
     if (status < 0)
     {
         std::ostringstream stream;



More information about the CIG-COMMITS mailing list