Commit e0f34db5 authored by Praetorius, Simon's avatar Praetorius, Simon
Browse files

Merge branch 'issue/factory_parametrization' into 'master'

Make FactoryParametrization compatible to dune 2.7

See merge request !40
parents 2c7ee1ed ea26a4b9
......@@ -28,7 +28,6 @@ namespace AMDiS
namespace Dune
/// \brief A factory class for \ref SimpleGrid.
template <class Grid, class Projection>
class GridFactory<AMDiS::Parametrization<Grid, Projection>>
......@@ -50,8 +49,7 @@ namespace Dune
/// Default constructor
GridFactory() = default;
/// Insert a vertex into the coarse grid
virtual void insertVertex(GlobalCoordinate const& pos) override
......@@ -73,7 +71,7 @@ namespace Dune
for (std::size_t i = 0; i < vertices.size(); ++i)
corners[i] = coordinates[vertices[i]];
factory.insertElement(type, vertices, std::shared_ptr<ProjectionBase>(new Projection(std::move(corners))) );
factory.insertElement(type, vertices, std::make_shared<Projection>(std::move(corners)) );
virtual void insertBoundarySegment(std::vector<unsigned int> const& /*vertices*/) override
......@@ -82,22 +80,24 @@ namespace Dune
/// Finalize grid creation and hand over the grid.
Grid* create()
std::unique_ptr<Grid> create()
return factory.createGrid();
return std::unique_ptr<Grid>(factory.createGrid());
virtual ToUniquePtr<GridWrapper> createGrid() override
virtual GridWrapper* createGrid() override
AMDiS::warning("Should not be created. Use non-virtual method `create()` instead, to create the underlying grid!");
return nullptr;
// buffers for the mesh data
std::vector<GlobalCoordinate> coordinates;
GridFactory<Grid> factory;
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment