From ef2d4a6a54373e5263485c802a9136f3f8574e45 Mon Sep 17 00:00:00 2001 From: Tristan Carrier Baudouin <tristan.carrier@uclouvain.be> Date: Tue, 5 Mar 2013 13:20:09 +0000 Subject: [PATCH] hexahedra --- Mesh/directions3D.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/Mesh/directions3D.cpp b/Mesh/directions3D.cpp index a386b3e84b..ffab31c090 100644 --- a/Mesh/directions3D.cpp +++ b/Mesh/directions3D.cpp @@ -179,6 +179,7 @@ bool Frame_field::improved_translate(GFace* gf,MVertex* vertex,SVector3& v1,SVec SPoint2 point; SVector3 s1,s2; SVector3 normal; + SVector3 basis_u,basis_v; Pair<SVector3,SVector3> derivatives; reparamMeshVertexOnFace(vertex,gf,point); @@ -192,7 +193,12 @@ bool Frame_field::improved_translate(GFace* gf,MVertex* vertex,SVector3& v1,SVec s2 = derivatives.second(); normal = crossprod(s1,s2); - v1 = s1*cos(angle) + s2*sin(angle); + basis_u = s1; + basis_u.normalize(); + basis_v = crossprod(normal,basis_u); + basis_v.normalize(); + + v1 = basis_u*cos(angle) + basis_v*sin(angle); v2 = crossprod(v1,normal); return 1; -- GitLab