diff options
author | Campbell Barton <ideasman42@gmail.com> | 2013-12-23 05:12:40 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2013-12-23 05:12:40 +0400 |
commit | 0a61116e549cedcca6dff3b792b4b05cafa45658 (patch) | |
tree | c6bce856b72b6d16e9e920677a2189c159aaacfe /source/blender | |
parent | 7b8622457ba06b60320bb2e3c8e0a908b1b17d60 (diff) |
Fix for converting unfilled 3d text into a mesh
Diffstat (limited to 'source/blender')
-rw-r--r-- | source/blender/blenkernel/BKE_curve.h | 3 | ||||
-rw-r--r-- | source/blender/blenkernel/intern/displist.c | 5 | ||||
-rw-r--r-- | source/blender/blenkernel/intern/mesh.c | 2 |
3 files changed, 5 insertions, 5 deletions
diff --git a/source/blender/blenkernel/BKE_curve.h b/source/blender/blenkernel/BKE_curve.h index 90e2bcd37a9..589ca68c798 100644 --- a/source/blender/blenkernel/BKE_curve.h +++ b/source/blender/blenkernel/BKE_curve.h @@ -60,6 +60,9 @@ typedef struct CurveCache { #define CU_DO_TILT(cu, nu) (((nu->flag & CU_2D) && (cu->flag & CU_3D) == 0) ? 0 : 1) #define CU_DO_RADIUS(cu, nu) ((CU_DO_TILT(cu, nu) || ((cu)->flag & CU_PATH_RADIUS) || (cu)->bevobj || (cu)->ext1 != 0.0f || (cu)->ext2 != 0.0f) ? 1 : 0) +/* not 3d and not unfilled */ +#define CU_DO_2DFILL(cu) ((((cu)->flag & CU_3D) == 0) && (((cu)->flag & (CU_FRONT | CU_BACK)) != 0)) + /* ** Curve ** */ void BKE_curve_unlink(struct Curve *cu); void BKE_curve_free(struct Curve *cu); diff --git a/source/blender/blenkernel/intern/displist.c b/source/blender/blenkernel/intern/displist.c index 861153971a3..1abb738608e 100644 --- a/source/blender/blenkernel/intern/displist.c +++ b/source/blender/blenkernel/intern/displist.c @@ -645,10 +645,7 @@ static void bevels_to_filledpoly(Curve *cu, ListBase *dispbase) static void curve_to_filledpoly(Curve *cu, ListBase *UNUSED(nurb), ListBase *dispbase) { - if (cu->flag & CU_3D) - return; - - if ((cu->flag & (CU_FRONT | CU_BACK)) == 0) + if (!CU_DO_2DFILL(cu)) return; if (dispbase->first && ((DispList *) dispbase->first)->type == DL_SURF) { diff --git a/source/blender/blenkernel/intern/mesh.c b/source/blender/blenkernel/intern/mesh.c index af23a84a26b..694c835d62f 100644 --- a/source/blender/blenkernel/intern/mesh.c +++ b/source/blender/blenkernel/intern/mesh.c @@ -1151,7 +1151,7 @@ int BKE_mesh_nurbs_displist_to_mdata(Object *ob, ListBase *dispbase, float *data; int a, b, ofs, vertcount, startvert, totvert = 0, totedge = 0, totloop = 0, totvlak = 0; int p1, p2, p3, p4, *index; - const bool conv_polys = ((cu->flag & CU_3D) || /* 2d polys are filled with DL_INDEX3 displists */ + const bool conv_polys = ((CU_DO_2DFILL(cu) == false) || /* 2d polys are filled with DL_INDEX3 displists */ (ob->type == OB_SURF)); /* surf polys are never filled */ /* count */ |