From 4200953b57399f8779eaa00e60c110456858a836 Mon Sep 17 00:00:00 2001 From: Tristan Carrier Baudouin <tristan.carrier@uclouvain.be> Date: Sat, 17 Aug 2013 16:33:17 +0000 Subject: [PATCH] The parametrization needs to be reconstructed after the 3D meshing. --- Geo/GFaceCompound.cpp | 4 ++++ Geo/GFaceCompound.h | 2 ++ Mesh/directions3D.cpp | 5 +++++ 3 files changed, 11 insertions(+) diff --git a/Geo/GFaceCompound.cpp b/Geo/GFaceCompound.cpp index 39639edb15..0df3769d1e 100644 --- a/Geo/GFaceCompound.cpp +++ b/Geo/GFaceCompound.cpp @@ -1279,6 +1279,10 @@ GFaceCompound::~GFaceCompound() _deleteInternals(); } +void GFaceCompound::deleteInternals(){ + _deleteInternals(); +} + void GFaceCompound::_deleteInternals() { for (unsigned int i = 0; i < myParamVert.size(); i++) diff --git a/Geo/GFaceCompound.h b/Geo/GFaceCompound.h index 6e1b0e22f3..e086c40a65 100644 --- a/Geo/GFaceCompound.h +++ b/Geo/GFaceCompound.h @@ -178,6 +178,8 @@ class GFaceCompound : public GFace { GPoint intersectionWithCircle (const SVector3 &n1, const SVector3 &n2, const SVector3 &p, const double &d, double uv[2]) const; + void deleteInternals(); + private: void _deleteInternals(); mutable typeOfCompound _toc; diff --git a/Mesh/directions3D.cpp b/Mesh/directions3D.cpp index bba0a7b171..1c355b1d7c 100644 --- a/Mesh/directions3D.cpp +++ b/Mesh/directions3D.cpp @@ -13,6 +13,7 @@ #include "MTetrahedron.h" #include "directions3D.h" #include "OS.h" +#include "GFaceCompound.h" #if defined(HAVE_PETSC) #include "dofManager.h" @@ -79,6 +80,10 @@ void Frame_field::init_face(GFace* gf){ MElementOctree* octree; STensor3 m(1.0); + if(gf->geomType()==GEntity::CompoundSurface){ + ((GFaceCompound*)gf)->deleteInternals(); + ((GFaceCompound*)gf)->parametrize(); + } backgroundMesh::set(gf); octree = backgroundMesh::current()->get_octree(); -- GitLab