diff --git a/Gui/mainwindow.cpp b/Gui/mainwindow.cpp index 11c6ea15f2909a50d093ac79e7f181ea86acb6a7..9c92aeb90a23877a8444aa69d708882e16e73848 100644 --- a/Gui/mainwindow.cpp +++ b/Gui/mainwindow.cpp @@ -127,8 +127,6 @@ MainWindow::MainWindow(QWidget* parent /* = 0*/) setupUi(this); // Setup various models - _geoModels = new GEOModels(); - _project.setGEOObjects(_geoModels); _meshModels = new MshModel(_project); _elementModel = new ElementTreeModel(); _processModel = new ProcessModel(_project); diff --git a/OGS/ProjectData.cpp b/OGS/ProjectData.cpp index 2f5bc5f3713f946141d14a0647fa9f42d1e972f5..2eade0df63e3f19b20acbaf9010a1a5f6d5e810c 100644 --- a/OGS/ProjectData.cpp +++ b/OGS/ProjectData.cpp @@ -13,13 +13,21 @@ */ #include "ProjectData.h" + +// BaseLib #include "StringTools.h" #include "Mesh.h" ProjectData::ProjectData() -: _geoObjects (NULL) -{} +: +#ifdef OGS_BUILD_GUI + _geoObjects(new GEOModels()) +#else + _geoObjects(new GeoLib::GEOObjects()) +#endif +{ +} ProjectData::~ProjectData() { diff --git a/OGS/ProjectData.h b/OGS/ProjectData.h index 5d4e5436ac481cccc3976d9092f56e7fb9362ea1..57b14e8e1ce685b5e20b6d5c22a5957c9f297a9a 100644 --- a/OGS/ProjectData.h +++ b/OGS/ProjectData.h @@ -19,6 +19,9 @@ #include "FEMEnums.h" #include "GEOObjects.h" +// Gui/DataView +#include "Gui/DataView/GEOModels.h" + namespace MeshLib { class Mesh; } @@ -44,9 +47,6 @@ public: // Returns the GEOObjects containing all points, polylines and surfaces GeoLib::GEOObjects* getGEOObjects() { return _geoObjects; } - // Returns the GEOObjects containing all points, polylines and surfaces - void setGEOObjects(GeoLib::GEOObjects* geo_objects) { _geoObjects = geo_objects; } - //** Mesh functionality **// /// Adds a new mesh @@ -106,7 +106,11 @@ public: FEMCondition::CondType cond_type = FEMCondition::UNSPECIFIED); private: - GeoLib::GEOObjects* _geoObjects; +#ifdef OGS_BUILD_GUI + GEOModels *_geoObjects; +#else + GeoLib::GEOObjects *_geoObjects; +#endif std::vector<MeshLib::Mesh*> _msh_vec; std::vector<ProcessInfo*> _pcs_vec; std::vector<FEMCondition*> _cond_vec; diff --git a/Tests/FileIO/TestXmlGmlReader.cpp b/Tests/FileIO/TestXmlGmlReader.cpp index 872ab65b68a3f3a46cd22e52f5f7ec904ed3eb80..6327e29a2330e8a9b6e0be2bc1364ba1a73e314d 100644 --- a/Tests/FileIO/TestXmlGmlReader.cpp +++ b/Tests/FileIO/TestXmlGmlReader.cpp @@ -32,8 +32,7 @@ TEST(FileIO, XmlGmlWriterTest) std::string test_data_file(std::string(SOURCEPATH).append("/Tests/FileIO/xmlgmltestdata.gml")); ProjectData project; - GeoLib::GEOObjects* geo_objects = new GeoLib::GEOObjects; - project.setGEOObjects(geo_objects); + GeoLib::GEOObjects* geo_objects (project.getGEOObjects()); //setup test data std::string geo_name("TestData"); @@ -94,8 +93,7 @@ TEST(FileIO, XmlGmlReaderTest) std::string geo_name("TestData"); ProjectData project; - GeoLib::GEOObjects* geo_objects = new GeoLib::GEOObjects; - project.setGEOObjects(geo_objects); + GeoLib::GEOObjects* geo_objects (project.getGEOObjects()); const std::string schemaName(std::string(SOURCEPATH).append("/FileIO/OpenGeoSysGLI.xsd")); FileIO::XmlGmlInterface xml(&project, schemaName); diff --git a/Utils/FileConverter/ConvertSHPToGLI.cpp b/Utils/FileConverter/ConvertSHPToGLI.cpp index f3474e8333f518be21c002c21f0d3b777a485de7..9509bed6bf343cf9f281f36297deabceec1b9881 100644 --- a/Utils/FileConverter/ConvertSHPToGLI.cpp +++ b/Utils/FileConverter/ConvertSHPToGLI.cpp @@ -82,7 +82,8 @@ void convertPoints (DBFHandle dbf_handle, } } - GeoLib::GEOObjects* geo_objs (new GeoLib::GEOObjects()); + ProjectData* project_data (new ProjectData); + GeoLib::GEOObjects* geo_objs (project_data->getGEOObjects()); if (station) geo_objs->addStationVec(points, points_group_name); else @@ -93,8 +94,7 @@ void convertPoints (DBFHandle dbf_handle, schema_name = "OpenGeoSysSTN.xsd"; else schema_name = "OpenGeoSysGLI.xsd"; - ProjectData* project_data (new ProjectData); - project_data->setGEOObjects (geo_objs); + if (station) { FileIO::XmlStnInterface xml (project_data, schema_name); xml.setNameForExport(points_group_name); diff --git a/Utils/FileConverter/generateBCFromPolyline.cpp b/Utils/FileConverter/generateBCFromPolyline.cpp index 08864ed905334e0f8f65ca25ea418324ca19d02f..4d0108d9e79ec46d9dc5404ac436c44ca9aca89c 100644 --- a/Utils/FileConverter/generateBCFromPolyline.cpp +++ b/Utils/FileConverter/generateBCFromPolyline.cpp @@ -37,11 +37,11 @@ int main (int argc, char* argv[]) std::endl; return -1; } - GeoLib::GEOObjects* geo_objs (new GeoLib::GEOObjects); + std::string schema_name( "/home/fischeth/workspace/OGS-FirstFloor/sources/FileIO/OpenGeoSysGLI.xsd"); ProjectData* project_data (new ProjectData); - project_data->setGEOObjects (geo_objs); + GeoLib::GEOObjects* geo_objs (project_data->getGEOObjects()); FileIO::XmlGmlInterface xml(project_data, schema_name); std::string fname (argv[1]); xml.readFile(QString::fromStdString (fname)); diff --git a/Utils/FileConverter/generateBCandGLI.cpp b/Utils/FileConverter/generateBCandGLI.cpp index c05c03b0423e9dbfcc06b9adc4080097744fcd0b..50ad2db4a0f34134eef8b2bf988b92dc1805e26c 100644 --- a/Utils/FileConverter/generateBCandGLI.cpp +++ b/Utils/FileConverter/generateBCandGLI.cpp @@ -36,9 +36,8 @@ int main (int argc, char* argv[]) std::cout << "Usage: " << argv[0] << " gml-file" << std::endl; return -1; } - GeoLib::GEOObjects* geo_objs (new GeoLib::GEOObjects); ProjectData* project_data (new ProjectData); - project_data->setGEOObjects (geo_objs); + GeoLib::GEOObjects* geo_objs(project_data->getGEOObjects ()); std::string schema_name( "/home/fischeth/workspace/OGS-FirstFloor/sources/FileIO/OpenGeoSysGLI.xsd"); FileIO::XmlGmlInterface xml(project_data, schema_name);