Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey Sharybin <sergey.vfx@gmail.com>2010-03-17 00:09:53 +0300
committerSergey Sharybin <sergey.vfx@gmail.com>2010-03-17 00:09:53 +0300
commit14e29a62dc33abb0339020c284e564aa8d0b088f (patch)
tree8f6edc9e1ea759224e9ff6972aa3f1cbad0e0063 /source/blender/blenkernel/intern/displist.c
parent8ac0359852f1eb8597bfc847c5a4891d61adae20 (diff)
"Fill deformed" option for 2D curves
Add new option named "Fill deformed". If this option is switched on. 2D curve will be first deformed by modifiers and only then be filled with faces.
Diffstat (limited to 'source/blender/blenkernel/intern/displist.c')
-rw-r--r--source/blender/blenkernel/intern/displist.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/source/blender/blenkernel/intern/displist.c b/source/blender/blenkernel/intern/displist.c
index b9588f4520c..56eabc0f5ef 100644
--- a/source/blender/blenkernel/intern/displist.c
+++ b/source/blender/blenkernel/intern/displist.c
@@ -1391,6 +1391,10 @@ static void curve_calc_modifiers_post(Scene *scene, Object *ob, ListBase *dispba
CDDM_calc_normals(dm);
}
} else {
+ if (ELEM(ob->type, OB_CURVE, OB_FONT) && (cu->flag & CU_DEFORM_FILL)) {
+ curve_to_filledpoly(cu, nurb, &cu->disp);
+ }
+
dm= CDDM_from_curve_customDB(ob, dispbase);
if(dmDeformedVerts) {
@@ -1801,7 +1805,9 @@ static void do_makeDispListCurveTypes(Scene *scene, Object *ob, ListBase *dispba
freedisplist(&dlbev);
}
- curve_to_filledpoly(cu, nubase, dispbase);
+ if (!(cu->flag & CU_DEFORM_FILL)) {
+ curve_to_filledpoly(cu, nubase, dispbase);
+ }
if(cu->flag & CU_PATH) calc_curvepath(ob);
@@ -1810,6 +1816,10 @@ static void do_makeDispListCurveTypes(Scene *scene, Object *ob, ListBase *dispba
}
if(!forOrco) curve_calc_modifiers_post(scene, ob, dispbase, derivedFinal, forRender, originalVerts, deformedVerts);
+
+ if (cu->flag & CU_DEFORM_FILL && !ob->derivedFinal) {
+ curve_to_filledpoly(cu, nubase, dispbase);
+ }
}
}