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-08 16:49:13 +0300
committerSergey Sharybin <sergey.vfx@gmail.com>2010-03-08 16:49:13 +0300
commit838842581cdae1030a0e49a80792a39c303a7a80 (patch)
tree71651dbadafdf490ca1bb8972b29238ecd270393 /source/blender/blenkernel/intern/mesh.c
parent38f3b8ab9226e8a670830b35f8549e7608b10e78 (diff)
- Fixed trouble with rendering curves with disabled modifiers, which are
disabled for realtime displaying but enabled for rendering. - Calculate tex space for curves before modifiers applying.
Diffstat (limited to 'source/blender/blenkernel/intern/mesh.c')
-rw-r--r--source/blender/blenkernel/intern/mesh.c15
1 files changed, 12 insertions, 3 deletions
diff --git a/source/blender/blenkernel/intern/mesh.c b/source/blender/blenkernel/intern/mesh.c
index 2a6fc281624..b7efc0c626b 100644
--- a/source/blender/blenkernel/intern/mesh.c
+++ b/source/blender/blenkernel/intern/mesh.c
@@ -746,7 +746,16 @@ void mball_to_mesh(ListBase *lb, Mesh *me)
/* Initialize mverts, medges and, faces for converting nurbs to mesh and derived mesh */
/* return non-zero on error */
-int nurbs_to_mdata(Object *ob, MVert **allvert, int *_totvert,
+int nurbs_to_mdata(Object *ob, MVert **allvert, int *totvert,
+ MEdge **alledge, int *totedge, MFace **allface, int *totface)
+{
+ return nurbs_to_mdata_customdb(ob, &((Curve *)ob->data)->disp,
+ allvert, totvert, alledge, totedge, allface, totface);
+}
+
+/* Initialize mverts, medges and, faces for converting nurbs to mesh and derived mesh */
+/* use specified dispbase */
+int nurbs_to_mdata_customdb(Object *ob, ListBase *dispbase, MVert **allvert, int *_totvert,
MEdge **alledge, int *_totedge, MFace **allface, int *_totface)
{
DispList *dl;
@@ -760,7 +769,7 @@ int nurbs_to_mdata(Object *ob, MVert **allvert, int *_totvert,
cu= ob->data;
/* count */
- dl= cu->disp.first;
+ dl= dispbase->first;
while(dl) {
if(dl->type==DL_SEGM) {
totvert+= dl->parts*dl->nr;
@@ -796,7 +805,7 @@ int nurbs_to_mdata(Object *ob, MVert **allvert, int *_totvert,
/* verts and faces */
vertcount= 0;
- dl= cu->disp.first;
+ dl= dispbase->first;
while(dl) {
int smooth= dl->rt & CU_SMOOTH ? 1 : 0;