getfem-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Getfem-commits] r5179 - in /trunk/getfem/src: getfem/getfem_context.h g


From: Yves . Renard
Subject: [Getfem-commits] r5179 - in /trunk/getfem/src: getfem/getfem_context.h getfem_context.cc getfem_mesh.cc getfem_mesh_im.cc
Date: Thu, 10 Dec 2015 20:11:54 -0000

Author: renard
Date: Thu Dec 10 21:11:53 2015
New Revision: 5179

URL: http://svn.gna.org/viewcvs/getfem?rev=5179&view=rev
Log:
minor change

Modified:
    trunk/getfem/src/getfem/getfem_context.h
    trunk/getfem/src/getfem_context.cc
    trunk/getfem/src/getfem_mesh.cc
    trunk/getfem/src/getfem_mesh_im.cc

Modified: trunk/getfem/src/getfem/getfem_context.h
URL: 
http://svn.gna.org/viewcvs/getfem/trunk/getfem/src/getfem/getfem_context.h?rev=5179&r1=5178&r2=5179&view=diff
==============================================================================
--- trunk/getfem/src/getfem/getfem_context.h    (original)
+++ trunk/getfem/src/getfem/getfem_context.h    Thu Dec 10 21:11:53 2015
@@ -122,6 +122,9 @@
       sup_dependency_(cd); 
     }
 
+    void clear_dependencies();
+
+
     bool is_context_valid(void) const { return (state != CONTEXT_INVALID); }
     bool is_context_changed() const { return (state == CONTEXT_CHANGED); }
     /** return true if update_from_context was called */
@@ -136,4 +139,4 @@
 }  /* end of namespace getfem.                                             */
 
 
-#endif /* GETFEM_CONTEXT_H__  */
+#endif /* GETFEM_CONTEXT_H__  */

Modified: trunk/getfem/src/getfem_context.cc
URL: 
http://svn.gna.org/viewcvs/getfem/trunk/getfem/src/getfem_context.cc?rev=5179&r1=5178&r2=5179&view=diff
==============================================================================
--- trunk/getfem/src/getfem_context.cc  (original)
+++ trunk/getfem/src/getfem_context.cc  Thu Dec 10 21:11:53 2015
@@ -112,6 +112,12 @@
       touched = true;
     }
   }
+
+  void context_dependencies::clear_dependencies() {
+    iterator_list it = dependencies.begin(), ite = dependencies.end();
+    for (; it != ite; ++it) (*it)->sup_dependent_(*this);
+    dependencies.clear();
+  }
  
   context_dependencies::~context_dependencies() {
     invalid_context();
@@ -121,4 +127,4 @@
     for (; it != ite; ++it) (*it)->sup_dependency_(*this);
   }
   
-}
+}

Modified: trunk/getfem/src/getfem_mesh.cc
URL: 
http://svn.gna.org/viewcvs/getfem/trunk/getfem/src/getfem_mesh.cc?rev=5179&r1=5178&r2=5179&view=diff
==============================================================================
--- trunk/getfem/src/getfem_mesh.cc     (original)
+++ trunk/getfem/src/getfem_mesh.cc     Thu Dec 10 21:11:53 2015
@@ -131,11 +131,15 @@
 
   mesh::mesh(const std::string name) : name_(name)  { init(); }
 
-  mesh::mesh(const bgeot::basic_mesh &m, const std::string name) : 
bgeot::basic_mesh(m), name_(name)  { init(); }
-
-  mesh::mesh(const mesh &m) { copy_from(m); }
+  mesh::mesh(const bgeot::basic_mesh &m, const std::string name)
+    : bgeot::basic_mesh(m), name_(name)  { init(); }
+
+  mesh::mesh(const mesh &m) : context_dependencies(),
+                             std::enable_shared_from_this<getfem::mesh>()
+  { copy_from(m); }
 
   mesh &mesh::operator=(const mesh &m) {
+    clear_dependencies();
     clear();
     copy_from(m);
     return *this;

Modified: trunk/getfem/src/getfem_mesh_im.cc
URL: 
http://svn.gna.org/viewcvs/getfem/trunk/getfem/src/getfem_mesh_im.cc?rev=5179&r1=5178&r2=5179&view=diff
==============================================================================
--- trunk/getfem/src/getfem_mesh_im.cc  (original)
+++ trunk/getfem/src/getfem_mesh_im.cc  Thu Dec 10 21:11:53 2015
@@ -127,7 +127,7 @@
   }
 
   void mesh_im::copy_from(const mesh_im &mim) {
-    if (linked_mesh_) this->sup_dependency(*linked_mesh_);
+    clear_dependencies();
     linked_mesh_ = 0;
     init_with_mesh(*(const_cast<mesh *>(mim.linked_mesh_)));
     is_lower_dim = mim.is_lower_dim;




reply via email to

[Prev in Thread] Current Thread [Next in Thread]