diff options
author | Tamito Kajiyama <rd6t-kjym@asahi-net.or.jp> | 2012-04-07 04:37:01 +0400 |
---|---|---|
committer | Tamito Kajiyama <rd6t-kjym@asahi-net.or.jp> | 2012-04-07 04:37:01 +0400 |
commit | 04a9f393d869b3a68c61abce13170c2869f9b6a0 (patch) | |
tree | 6b578e57c9f8e0562d32308b3b6708ddea6a3446 /source/blender/freestyle | |
parent | 21484ba52ccde92e59adefc36d689966b5dd8373 (diff) |
Fix for broken face normals in FEdgeSharp and FEdgeSmooth, resulting from
splitting of FEdges at 2D intersections (i.e., at TVertices).
Diffstat (limited to 'source/blender/freestyle')
-rwxr-xr-x | source/blender/freestyle/intern/view_map/Silhouette.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/source/blender/freestyle/intern/view_map/Silhouette.h b/source/blender/freestyle/intern/view_map/Silhouette.h index d0952ec8933..b75f023ee8d 100755 --- a/source/blender/freestyle/intern/view_map/Silhouette.h +++ b/source/blender/freestyle/intern/view_map/Silhouette.h @@ -1310,11 +1310,14 @@ public: newEdge = new FEdgeSmooth(ioNewVertex, B); FEdgeSmooth * se = dynamic_cast<FEdgeSmooth*>(newEdge); FEdgeSmooth * fes = dynamic_cast<FEdgeSmooth*>(ioEdge); + se->setNormal(fes->normal()); se->setFrsMaterialIndex(fes->frs_materialIndex()); }else{ newEdge = new FEdgeSharp(ioNewVertex, B); FEdgeSharp * se = dynamic_cast<FEdgeSharp*>(newEdge); FEdgeSharp * fes = dynamic_cast<FEdgeSharp*>(ioEdge); + se->setNormalA(fes->normalA()); + se->setNormalB(fes->normalB()); se->setaFrsMaterialIndex(fes->aFrsMaterialIndex()); se->setbFrsMaterialIndex(fes->bFrsMaterialIndex()); } |