diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2011-05-04 17:15:42 +0400 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2011-05-04 17:15:42 +0400 |
commit | d000103e80c076fb5bbdfbc87dc978b5e693564d (patch) | |
tree | 17540c107989f234e4b2028c1d273f4a72bbe0f5 /source/blender/blenkernel/intern/cdderivedmesh.c | |
parent | 5d1fdb73ce1457b39df893887951fe6571580897 (diff) |
Own TODO item: sculpting on constructive modifiers
- Constructive modifiers are enabled by default in sculpt mode.
- There's option to disable all constructive modifiers in the "Options"
panel of toolbox in sculpt mode,
- Use one column in options panel to make strings easier to read
- No modifiers would still be applied on multires
Diffstat (limited to 'source/blender/blenkernel/intern/cdderivedmesh.c')
-rw-r--r-- | source/blender/blenkernel/intern/cdderivedmesh.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/source/blender/blenkernel/intern/cdderivedmesh.c b/source/blender/blenkernel/intern/cdderivedmesh.c index baf89f9f494..72ee9b55800 100644 --- a/source/blender/blenkernel/intern/cdderivedmesh.c +++ b/source/blender/blenkernel/intern/cdderivedmesh.c @@ -231,19 +231,21 @@ static struct PBVH *cdDM_getPBVH(Object *ob, DerivedMesh *dm) this derivedmesh is just original mesh. it's the multires subsurf dm that this is actually for, to support a pbvh on a modified mesh */ if(!cddm->pbvh && ob->type == OB_MESH) { + SculptSession *ss= ob->sculpt; Mesh *me= ob->data; cddm->pbvh = BLI_pbvh_new(); cddm->pbvh_draw = can_pbvh_draw(ob, dm); BLI_pbvh_build_mesh(cddm->pbvh, me->mface, me->mvert, me->totface, me->totvert); - if(ob->sculpt->modifiers_active) { + if(ss->modifiers_active && ob->derivedDeform) { + DerivedMesh *deformdm= ob->derivedDeform; float (*vertCos)[3]; int totvert; - totvert= dm->getNumVerts(dm); + totvert= deformdm->getNumVerts(deformdm); vertCos= MEM_callocN(3*totvert*sizeof(float), "cdDM_getPBVH vertCos"); - dm->getVertCos(dm, vertCos); + deformdm->getVertCos(deformdm, vertCos); BLI_pbvh_apply_vertCos(cddm->pbvh, vertCos); MEM_freeN(vertCos); } |