[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [55611] branches/soc-2008-mxcurioni/source /blender/blenkernel/intern: Fix for Freestyle edge/ face marks not working with most modifiers (except for Subdivision Surface) .

Tamito Kajiyama rd6t-kjym at asahi-net.or.jp
Wed Mar 27 03:06:38 CET 2013


Revision: 55611
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=55611
Author:   kjym3
Date:     2013-03-27 02:06:36 +0000 (Wed, 27 Mar 2013)
Log Message:
-----------
Fix for Freestyle edge/face marks not working with most modifiers (except for Subdivision Surface).

Modified Paths:
--------------
    branches/soc-2008-mxcurioni/source/blender/blenkernel/intern/customdata.c
    branches/soc-2008-mxcurioni/source/blender/blenkernel/intern/mesh.c

Modified: branches/soc-2008-mxcurioni/source/blender/blenkernel/intern/customdata.c
===================================================================
--- branches/soc-2008-mxcurioni/source/blender/blenkernel/intern/customdata.c	2013-03-26 23:46:54 UTC (rev 55610)
+++ branches/soc-2008-mxcurioni/source/blender/blenkernel/intern/customdata.c	2013-03-27 02:06:36 UTC (rev 55611)
@@ -1168,7 +1168,8 @@
 
 
 const CustomDataMask CD_MASK_BAREMESH =
-    CD_MASK_MVERT | CD_MASK_MEDGE | CD_MASK_MFACE | CD_MASK_MLOOP | CD_MASK_MPOLY | CD_MASK_BWEIGHT;
+    CD_MASK_MVERT | CD_MASK_MEDGE | CD_MASK_MFACE | CD_MASK_MLOOP | CD_MASK_MPOLY | CD_MASK_BWEIGHT |
+    CD_MASK_FREESTYLE_EDGE | CD_MASK_FREESTYLE_FACE;
 const CustomDataMask CD_MASK_MESH =
     CD_MASK_MVERT | CD_MASK_MEDGE | CD_MASK_MFACE |
     CD_MASK_MSTICKY | CD_MASK_MDEFORMVERT | CD_MASK_MTFACE | CD_MASK_MCOL |

Modified: branches/soc-2008-mxcurioni/source/blender/blenkernel/intern/mesh.c
===================================================================
--- branches/soc-2008-mxcurioni/source/blender/blenkernel/intern/mesh.c	2013-03-26 23:46:54 UTC (rev 55610)
+++ branches/soc-2008-mxcurioni/source/blender/blenkernel/intern/mesh.c	2013-03-27 02:06:36 UTC (rev 55611)
@@ -2636,6 +2636,16 @@
 		}
 	}
 
+#ifdef WITH_FREESTYLE
+	if (CustomData_has_layer(pdata, CD_FREESTYLE_FACE)) {
+		FreestyleEdge *poly_ffa = CustomData_get_layer(pdata, CD_FREESTYLE_FACE);
+		FreestyleEdge *face_ffa = CustomData_add_layer(fdata, CD_FREESTYLE_FACE, CD_CALLOC, NULL, totface);
+		for (mface_index = 0; mface_index < totface; mface_index++) {
+			face_ffa[mface_index] = poly_ffa[mface_to_poly_map[mface_index]];
+		}
+	}
+#endif
+
 	mf = mface;
 	for (mface_index = 0; mface_index < totface; mface_index++, mf++) {
 




More information about the Bf-blender-cvs mailing list