[cig-commits] r13550 - cs/cigma/trunk/src
luis at geodynamics.org
luis at geodynamics.org
Tue Dec 9 18:14:03 PST 2008
Author: luis
Date: 2008-12-09 18:14:03 -0800 (Tue, 09 Dec 2008)
New Revision: 13550
Modified:
cs/cigma/trunk/src/core_readers.cpp
cs/cigma/trunk/src/core_readers.h
Log:
Promote ReadArray method, and commented out old factory methods
Modified: cs/cigma/trunk/src/core_readers.cpp
===================================================================
--- cs/cigma/trunk/src/core_readers.cpp 2008-12-10 02:14:02 UTC (rev 13549)
+++ cs/cigma/trunk/src/core_readers.cpp 2008-12-10 02:14:03 UTC (rev 13550)
@@ -1,5 +1,4 @@
#include "core_readers.h"
-#include "core_array.h"
#include "nc_array.h"
#include "eb_array.h"
#include "AnnLocator.h"
@@ -14,22 +13,29 @@
// ----------------------------------------------------------------------------
-static cigma::array<double>* ReadArray(const DataPath& array_path)
+cigma::array<double>* cigma::ReadArray(const DataPath& array_path)
{
cigma::array<double>* a = 0;
string filename = array_path.filename();
+ string location = array_path.location();
shared_ptr<FileReader> reader = FileReader::New(filename, "r");
const FileReader::ReaderType rt = reader->getReaderType();
if (rt == FileReader::HDF5_FILE_READER)
{
- int status;
- throw cigma::Exception("ReadArray", "Error in HDF5 reader");
+ a = new cigma::array<double>();
+ int status = reader->getDataset(location.c_str(), &(a->_data), &(a->npts), &(a->ndim));
+ if (status < 0)
+ {
+ delete a;
+ throw cigma::Exception("ReadArray", "Error in HDF5 reader");
+ }
+ return a;
}
else if (rt == FileReader::VTK_FILE_READER)
{
int status;
- throw cigma::Exception("ReadNodeCoordinates", "Error in VTK reader");
+ throw cigma::Exception("ReadArray", "Error in VTK reader");
}
else if (rt == FileReader::TEXT_FILE_READER)
{
@@ -38,13 +44,13 @@
if (status < 0)
{
delete a;
- throw cigma::Exception("ReadArray", "error in text reader");
+ throw cigma::Exception("ReadArray", "Error in text reader");
}
return a;
}
else
{
- throw cigma::Exception("ReadArray", "could not load data path");
+ throw cigma::Exception("ReadArray", "Could not load data path");
}
return a;
@@ -164,6 +170,7 @@
// ----------------------------------------------------------------------------
+/*
shared_ptr<MeshPart> cigma::ReadMeshPart(const MeshInfo& mesh_info)
{
TRI_LOG_STR("cigma::ReadMeshPart()");
@@ -213,10 +220,11 @@
}
return mesh_ptr;
-}
+} // */
// ----------------------------------------------------------------------------
+/*
shared_ptr<Quadrature> cigma::ReadQuadrature(const QuadratureInfo& quadrature_info)
{
TRI_LOG_STR("cigma::ReadQuadrature()");
@@ -331,10 +339,11 @@
}
return q_ptr;
-}
+} // */
// ----------------------------------------------------------------------------
+/*
shared_ptr<FE> cigma::ReadFE(const FE_Info& fe_info)
{
TRI_LOG_STR("cigma::ReadFE()");
@@ -360,7 +369,7 @@
}
return fe_ptr;
-}
+} // */
// ----------------------------------------------------------------------------
@@ -417,6 +426,7 @@
// ----------------------------------------------------------------------------
+/*
shared_ptr<Field> cigma::ReadField(const FieldInfo& field_info)
{
TRI_LOG_STR("cigma::ReadField()");
@@ -442,6 +452,6 @@
field_ptr->setDofHandler(dofs_ptr);
return field_ptr;
-}
+} // */
// ----------------------------------------------------------------------------
Modified: cs/cigma/trunk/src/core_readers.h
===================================================================
--- cs/cigma/trunk/src/core_readers.h 2008-12-10 02:14:02 UTC (rev 13549)
+++ cs/cigma/trunk/src/core_readers.h 2008-12-10 02:14:03 UTC (rev 13550)
@@ -2,6 +2,9 @@
#define __CIGMA_READERS_H__
#include <boost/shared_ptr.hpp>
+#include "core_array.h"
+
+#include "DataPath.h"
#include "NodeCoordinates.h"
#include "ElementBlock.h"
#include "MeshPart.h"
@@ -10,25 +13,26 @@
#include "FE.h"
#include "Field.h"
#include "Cell.h"
-#include "DataPath.h"
-#include "core_args.h"
+//#include "core_args.h"
namespace cigma
{
+ cigma::array<double>* ReadArray(const DataPath& array_path);
+
boost::shared_ptr<NodeCoordinates> ReadNodeCoordinates(const DataPath& nc_path);
boost::shared_ptr<ElementBlock> ReadElementBlock(const DataPath& eb_path);
- boost::shared_ptr<MeshPart> ReadMeshPart(const MeshInfo& mesh_info);
+ //boost::shared_ptr<MeshPart> ReadMeshPart(const MeshInfo& mesh_info);
- boost::shared_ptr<Quadrature> ReadQuadrature(const QuadratureInfo& quadrature_info);
+ //boost::shared_ptr<Quadrature> ReadQuadrature(const QuadratureInfo& quadrature_info);
- boost::shared_ptr<FE> ReadFE(const FE_Info& fe_info);
+ //boost::shared_ptr<FE> ReadFE(const FE_Info& fe_info);
boost::shared_ptr<DofHandler> ReadDofHandler(const DataPath& dofs_path);
- boost::shared_ptr<Field> ReadField(const FieldInfo& field_info);
+ //boost::shared_ptr<Field> ReadField(const FieldInfo& field_info);
}
More information about the CIG-COMMITS
mailing list