Fix for Freestyle face marks incorrectly reset when feature edges are split at 2D...
authorTamito Kajiyama <rd6t-kjym@asahi-net.or.jp>
Sun, 16 Jun 2013 00:14:28 +0000 (00:14 +0000)
committerTamito Kajiyama <rd6t-kjym@asahi-net.or.jp>
Sun, 16 Jun 2013 00:14:28 +0000 (00:14 +0000)
Problem report by an anonymous forum user with a .blend file for reproducing the bug, thanks!

source/blender/freestyle/intern/view_map/Silhouette.h

index e0bf2ff61200a0f5e42599dc6b63087934be5cdc..02d3698c9141eb8ed8ec1cae564754c5c93c2af1 100644 (file)
@@ -1668,6 +1668,7 @@ public:
                        FEdgeSmooth *fes = dynamic_cast<FEdgeSmooth*>(ioEdge);
                        se->setNormal(fes->normal());
                        se->setFrsMaterialIndex(fes->frs_materialIndex());
+                       se->setFaceMark(fes->faceMark());
                }
                else {
                        newEdge = new FEdgeSharp(ioNewVertex, B);
@@ -1677,6 +1678,8 @@ public:
                        se->setNormalB(fes->normalB());
                        se->setaFrsMaterialIndex(fes->aFrsMaterialIndex());
                        se->setbFrsMaterialIndex(fes->bFrsMaterialIndex());
+                       se->setaFaceMark(fes->aFaceMark());
+                       se->setbFaceMark(fes->bFaceMark());
                }
                newEdge->setNature(ioEdge->getNature());