[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Getfem-commits] r4645 - in /trunk/getfem/src: getfem/getfem_deformable_
From: |
andriy . andreykiv |
Subject: |
[Getfem-commits] r4645 - in /trunk/getfem/src: getfem/getfem_deformable_mesh.h getfem_deformable_mesh.cc |
Date: |
Mon, 12 May 2014 15:11:43 -0000 |
Author: andrico
Date: Mon May 12 17:11:43 2014
New Revision: 4645
URL: http://svn.gna.org/viewcvs/getfem?rev=4645&view=rev
Log:
thread-safing mesh deformation
Modified:
trunk/getfem/src/getfem/getfem_deformable_mesh.h
trunk/getfem/src/getfem_deformable_mesh.cc
Modified: trunk/getfem/src/getfem/getfem_deformable_mesh.h
URL:
http://svn.gna.org/viewcvs/getfem/trunk/getfem/src/getfem/getfem_deformable_mesh.h?rev=4645&r1=4644&r2=4645&view=diff
==============================================================================
--- trunk/getfem/src/getfem/getfem_deformable_mesh.h (original)
+++ trunk/getfem/src/getfem/getfem_deformable_mesh.h Mon May 12 17:11:43 2014
@@ -144,25 +144,21 @@
deform_on_construct_(deform_on_construct),
is_deformed_(false)
{
- if (deform_on_construct_)
- {
- m.deform_mesh(dU,mf);
- is_deformed_ = true;
- }
+ if (deform_on_construct_) deform();
}
void deform()
{
- GMM_ASSERT1(!is_deformed_, "trying to deformed an already deformed
mesh");
+ omp_guard lock;
+ if (is_deformed_) return;
m.deform_mesh(dU,mf);
is_deformed_ = true;
}
void undeform()
{
- GMM_ASSERT1(is_deformed_, "trying to restored yet undeformed mesh");
- GMM_ASSERT1(!deform_on_construct_,
- "undeformed() should not be called if it was asked to deformed on
construct");
+ omp_guard lock;
+ if (!is_deformed_) return;
m.deform_mesh(gmm::scaled(dU,scalar_type(-1.0)),mf);
is_deformed_ = false;
}
Modified: trunk/getfem/src/getfem_deformable_mesh.cc
URL:
http://svn.gna.org/viewcvs/getfem/trunk/getfem/src/getfem_deformable_mesh.cc?rev=4645&r1=4644&r2=4645&view=diff
==============================================================================
--- trunk/getfem/src/getfem_deformable_mesh.cc (original)
+++ trunk/getfem/src/getfem_deformable_mesh.cc Mon May 12 17:11:43 2014
@@ -37,6 +37,6 @@
getfem::deformable_mesh& getfem::make_deformable_mesh(const getfem::mesh& m){
getfem::mesh* pmesh = &(const_cast<getfem::mesh&>(m));
getfem::deformable_mesh* pm_deformable =
dynamic_cast<getfem::deformable_mesh*>(pmesh);
- GMM_ASSERT1(pm_deformable,"Cannot deform getfem::mesh. Use
getfem::deformable_mesh !!!")
+ GMM_ASSERT1(pm_deformable,"Cannot deform getfem::mesh. Use
getfem::deformable_mesh !!!");
return *pm_deformable;
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Getfem-commits] r4645 - in /trunk/getfem/src: getfem/getfem_deformable_mesh.h getfem_deformable_mesh.cc,
andriy . andreykiv <=