Mercurial > fem-fenics-eugenio
changeset 114:af287918111e
Use boost::shared_ptr.
author | gedeone-octave <marcovass89@hotmail.it> |
---|---|
date | Tue, 27 Aug 2013 19:53:32 +0200 |
parents | 065ae2bff9ef |
children | 41614aa82191 |
files | src/Mesh.cc |
diffstat | 1 files changed, 14 insertions(+), 15 deletions(-) [+] |
line wrap: on
line diff
--- a/src/Mesh.cc Sat Aug 24 15:41:11 2013 +0200 +++ b/src/Mesh.cc Tue Aug 27 19:53:32 2013 +0200 @@ -90,8 +90,8 @@ else { dolfin::MeshEditor editor; - dolfin::Mesh msh; - editor.open (msh, D, D); + boost::shared_ptr<dolfin::Mesh> msh (new dolfin::Mesh ()); + editor.open (*msh, D, D); editor.init_vertices (p.cols ()); editor.init_cells (t.cols ()); @@ -119,7 +119,7 @@ editor.close (); // store information associated with e - msh.init (D - 1); + msh->init (D - 1); dolfin::MeshValueCollection<std::size_t> facet (D - 1); std::size_t num_side_edges = e.cols (); @@ -127,7 +127,7 @@ { for (uint i = 0; i < num_side_edges; ++i) { - dolfin::Vertex v (msh, e.xelem (0, i) - 1); + dolfin::Vertex v (*msh, e.xelem (0, i) - 1); for (dolfin::FacetIterator f (v); ! f.end (); ++f) { if ((*f).entities(0)[0] == e.xelem (0, i) - 1 @@ -135,7 +135,7 @@ || (*f).entities(0)[0] == e.xelem (1, i) - 1 && (*f).entities(0)[1] == e.xelem (0, i) - 1) { - facet.set_value ((*f).index (), e.xelem (4, i), msh); + facet.set_value ((*f).index (), e.xelem (4, i), *msh); break; } } @@ -148,7 +148,7 @@ { for (uint i = 0; i < num_side_edges; ++i) { - dolfin::Vertex v (msh, e.xelem (0, i) - 1); + dolfin::Vertex v (*msh, e.xelem (0, i) - 1); for (dolfin::FacetIterator f (v); ! f.end (); ++f) { if ((*f).entities(0)[0] == e(0, i) - 1 @@ -170,14 +170,14 @@ && (*f).entities(0)[1] == e.xelem (1, i) - 1 && (*f).entities(0)[2] == e.xelem (0, i) - 1) { - facet.set_value ((*f).index (), e.xelem (9, i), msh); + facet.set_value ((*f).index (), e.xelem (9, i), *msh); break; } } } } - *(msh.domains ().markers (D - 1)) = facet; + *(msh->domains ().markers (D - 1)) = facet; // store information associated with t dolfin::MeshValueCollection<std::size_t> cell (D); @@ -187,7 +187,7 @@ { for (uint i = 0; i < num_cells; ++i) { - dolfin::Vertex v (msh, t.xelem (0, i) - 1); + dolfin::Vertex v (*msh, t.xelem (0, i) - 1); for (dolfin::CellIterator f (v); ! f.end (); ++f) { if ((*f).entities(0)[0] == t.xelem (0, i) - 1 @@ -209,7 +209,7 @@ && (*f).entities(0)[1] == t.xelem (1, i) - 1 && (*f).entities(0)[2] == t.xelem (0, i) - 1) { - cell.set_value ((*f).index (), t.xelem (3, i), msh); + cell.set_value ((*f).index (), t.xelem (3, i), *msh); break; } } @@ -222,7 +222,7 @@ { for (uint i = 0; i < num_cells; ++i) { - dolfin::Vertex v (msh, t.xelem (0, i) - 1); + dolfin::Vertex v (*msh, t.xelem (0, i) - 1); for (dolfin::CellIterator f (v); ! f.end (); ++f) { if ((*f).entities(0)[0] == t.xelem (0, i) - 1 @@ -325,16 +325,15 @@ && (*f).entities(0)[2] == t.xelem (1, i) - 1 && (*f).entities(0)[3] == t.xelem (0, i) - 1) { - cell.set_value ((*f).index (), t.xelem (4, i), msh); + cell.set_value ((*f).index (), t.xelem (4, i), *msh); break; } } } } - *(msh.domains ().markers (D)) = cell; + *(msh->domains ().markers (D)) = cell; - boost::shared_ptr<const dolfin::Mesh> my_m (new dolfin::Mesh (msh)); - pmsh = my_m; + pmsh = msh; } }