[cig-commits] r13706 - cs/cigma/trunk/src
luis at geodynamics.org
luis at geodynamics.org
Wed Dec 17 02:31:38 PST 2008
Author: luis
Date: 2008-12-17 02:31:38 -0800 (Wed, 17 Dec 2008)
New Revision: 13706
Modified:
cs/cigma/trunk/src/io_vtk_reader.cpp
cs/cigma/trunk/src/io_vtk_reader.h
Log:
Use io_vtk.h functions in io_vtk_reader.cpp
Modified: cs/cigma/trunk/src/io_vtk_reader.cpp
===================================================================
--- cs/cigma/trunk/src/io_vtk_reader.cpp 2008-12-17 10:31:36 UTC (rev 13705)
+++ cs/cigma/trunk/src/io_vtk_reader.cpp 2008-12-17 10:31:38 UTC (rev 13706)
@@ -1,4 +1,5 @@
#include "io_vtk_reader.h"
+#include "io_vtk.h"
#ifdef HAVE_VTK
@@ -7,6 +8,8 @@
//
//
+#include "Filesystem.h"
+
#include "vtkUnstructuredGridReader.h"
#include "vtkStructuredGridReader.h"
#include "vtkRectilinearGridReader.h"
@@ -39,7 +42,7 @@
dataset = 0;
legacy_reader = 0;
xml_reader = 0;
- gridType = NULL_GRID;
+ gridType = GRID_NULL;
}
@@ -62,7 +65,7 @@
if (ext == ".vtk")
{
-
+ /*
legacy_reader = vtkDataSetReader::New();
legacy_reader->SetFileName(filename);
gridType = VTK;
@@ -75,14 +78,26 @@
return -1;
}
-
legacy_reader->Update();
- dataset = legacy_reader->GetOutput();
- dataset->Update();
+ */
+ legacyReader = vtk_read_legacy(filename, this->gridType);
+
+ if (legacyReader)
+ {
+ legacyReader->Update();
+ this->dataset = legacyReader->GetOutput();
+ this->dataset->Update();
+ }
+ else
+ {
+ cerr << "Could not read legacy VTK file '" << filename << "'" << endl;
+ return -1;
+ }
}
- else
+ else if (is_vtk_extension(ext.c_str()))
{
+ /*
if (ext == ".vtu")
{
xml_reader = vtkXMLUnstructuredGridReader::New();
@@ -134,7 +149,27 @@
dataset = xml_reader->GetOutputAsDataSet();
dataset->Update();
+ */
+
+ xmlReader = vtk_read_xml(filename, this->gridType);
+
+ if (xmlReader)
+ {
+ xmlReader->GetPointDataArraySelection()->EnableAllArrays();
+ this->dataset = xmlReader->GetOutputAsDataSet();
+ this->dataset->Update();
+ }
+ else
+ {
+ cerr << "Could not read VTK file '" << filename << "'" << endl;
+ return -2;
+ }
}
+ else
+ {
+ cerr << "Unsupported VTK file (" << ext << ")" << endl;
+ return -1;
+ }
return 0;
}
@@ -142,29 +177,30 @@
int VtkReader::close()
{
- gridType = NULL_GRID;
+ gridType = GRID_NULL;
if (dataset != 0)
{
dataset = 0;
}
- if (legacy_reader)
+ if (legacyReader)
{
- legacy_reader->Delete();
- legacy_reader = 0;
+ legacyReader->Delete();
+ legacyReader = 0;
}
- if (xml_reader)
+ if (xmlReader)
{
- xml_reader->Delete();
- xml_reader = 0;
+ xmlReader->Delete();
+ xmlReader = 0;
}
return 0;
}
+/*
static int GetDimensionFromCellType(int cellType)
{
if ((cellType == VTK_TRIANGLE) ||
@@ -202,12 +238,14 @@
return -1;
}
+*/
int VtkReader::getDataset(const char *loc, double **data, int *num, int *dim)
{
+ /*
TRI_LOG_STR("VtkReader::getDataset()");
-
+
int i,j;
int n_points;
int rank;
@@ -227,13 +265,13 @@
vtkDataArray *dataArray = pointData->GetArray(loc);
assert(dataArray != 0);
- /* XXX: verify that we are loading a dataset of the correct type
- int dataType = dataArray->GetDataType();
- if ((dataType != VTK_DOUBLE) || (dataType != VTK_FLOAT))
- {
- assert(false); // XXX
- return -1;
- }*/
+ // XXX: verify that we are loading a dataset of the correct type
+ //int dataType = dataArray->GetDataType();
+ //if ((dataType != VTK_DOUBLE) || (dataType != VTK_FLOAT))
+ //{
+ // assert(false); // XXX
+ // return -1;
+ //}
n_points = dataArray->GetNumberOfTuples();
rank = dataArray->GetNumberOfComponents();
@@ -264,11 +302,16 @@
TRI_LOG(rank);
return 0;
+ */
+
+ TRI_LOG_STR("VtkReader::getDataset()");
+ return vtk_read_pointdata<double>(this->dataset, loc, data, num, dim);
}
int VtkReader::getCoordinates(const char *loc, double **coordinates, int *nno, int *nsd)
{
+ /*
TRI_LOG_STR("VtkReader::getCoordinates()");
int i,j;
@@ -315,10 +358,15 @@
TRI_LOG(n_dims);
return 0;
+ */
+
+ TRI_LOG_STR("VtkReader::getCoordinates()");
+ return vtk_read_coordinates(this->dataset, loc, coords, nno, nsd);
}
int VtkReader::getConnectivity(const char *loc, int **connectivity, int *nel, int *ndofs)
{
+ /*
TRI_LOG_STR("VtkReader::getConnectivity()");
int i,j;
@@ -355,6 +403,10 @@
TRI_LOG(n_dofs);
return 0;
+ */
+
+ TRI_LOG_STR("VtkReader::getConnectivity()");
+ return vtk_read_connectivity<int>(this->dataset, loc, connectivity, nel, ndofs);
}
Modified: cs/cigma/trunk/src/io_vtk_reader.h
===================================================================
--- cs/cigma/trunk/src/io_vtk_reader.h 2008-12-17 10:31:36 UTC (rev 13705)
+++ cs/cigma/trunk/src/io_vtk_reader.h 2008-12-17 10:31:38 UTC (rev 13706)
@@ -1,8 +1,9 @@
#ifndef __CIGMA_VTK_READER_H__
#define __CIGMA_VTK_READER_H__
+#include "Common.h"
#include "io_file_reader.h"
-#include "io_vtk.h"
+#include "io_vtk.h" // for GridType enum
#ifdef HAVE_VTK
#include "vtkDataSetReader.h"
@@ -34,8 +35,8 @@
#ifdef HAVE_VTK
public:
vtkGridType gridType;
- vtkDataSetReader *legacy_reader;
- vtkXMLReader *xml_reader;
+ vtkDataSetReader *legacyReader;
+ vtkXMLReader *xmlReader;
vtkDataSet *dataset;
#endif
};
More information about the CIG-COMMITS
mailing list