diff options
author | Robert Wenzlaff <rwenzlaff@soylent-green.com> | 2004-01-10 04:22:07 +0300 |
---|---|---|
committer | Robert Wenzlaff <rwenzlaff@soylent-green.com> | 2004-01-10 04:22:07 +0300 |
commit | 6a9d29d1dbaf8d35243c4aeac4340d9f08c5ec5d (patch) | |
tree | a2f3452975a1b4438dfa1b4dff9a2508e8abdcf7 /source/blender/blenkernel/intern/subsurf.c | |
parent | e3080c9580cc47c0329a62618a7b178d9da42ccb (diff) |
-Changed "Simple" button to pulldown menu or subsurf type.
Paves way for additional subsurf types, and avoids confusion
where Simple is on, but Subsurf is off.
Diffstat (limited to 'source/blender/blenkernel/intern/subsurf.c')
-rw-r--r-- | source/blender/blenkernel/intern/subsurf.c | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/source/blender/blenkernel/intern/subsurf.c b/source/blender/blenkernel/intern/subsurf.c index 4aab0fb6d8f..96e3c090b69 100644 --- a/source/blender/blenkernel/intern/subsurf.c +++ b/source/blender/blenkernel/intern/subsurf.c @@ -919,7 +919,8 @@ static DispListMesh *hypermesh_to_displistmesh(HyperMesh *hme, short flag) { } /* flag is me->flag, for handles and 'optim' */ -static DispListMesh *subsurf_subdivide_to_displistmesh(HyperMesh *hme, short subdiv, short flag) { +static DispListMesh *subsurf_subdivide_to_displistmesh(HyperMesh *hme, short subdiv, + short flag, short type) { DispListMesh *dlm; int i; @@ -929,7 +930,7 @@ static DispListMesh *subsurf_subdivide_to_displistmesh(HyperMesh *hme, short sub tmp->hasuvco= hme->hasuvco; tmp->orig_me= hme->orig_me; - if (flag & ME_SIMPLE_DIV) hypermesh_simple_subdivide(hme, tmp); + if (type & ME_SIMPLE_SUBSURF) hypermesh_simple_subdivide(hme, tmp); else hypermesh_subdivide(hme, tmp); /* default to CC subdiv. */ hypermesh_free(hme); @@ -942,22 +943,24 @@ static DispListMesh *subsurf_subdivide_to_displistmesh(HyperMesh *hme, short sub return dlm; } -DispListMesh *subsurf_make_dispListMesh_from_editmesh(ListBase *verts, ListBase *edges, ListBase *faces, int subdivLevels, int flags) { +DispListMesh *subsurf_make_dispListMesh_from_editmesh(ListBase *verts, ListBase *edges, + ListBase *faces, int subdivLevels, int flags, short type) { if (subdivLevels<1) { return displistmesh_from_editmesh(verts, edges, faces); } else { HyperMesh *hme= hypermesh_from_editmesh(verts->first, edges->first, faces->first); - return subsurf_subdivide_to_displistmesh(hme, subdivLevels, flags); + return subsurf_subdivide_to_displistmesh(hme, subdivLevels, flags, type); } } + DispListMesh *subsurf_make_dispListMesh_from_mesh(Mesh *me, float *extverts, int subdivLevels, int flags) { if (subdivLevels<1) { return displistmesh_from_mesh(me, extverts); } else { HyperMesh *hme= hypermesh_from_mesh(me, extverts); - return subsurf_subdivide_to_displistmesh(hme, subdivLevels, flags); + return subsurf_subdivide_to_displistmesh(hme, subdivLevels, flags, me->subsurftype); } } |