[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [33059] trunk/blender/source/blender/ editors/transform/transform_generics.c: [#24639] Snap to Face (retopo) doesn't work when clipping is enabled in mirror modifier.
Martin Poirier
theeth at yahoo.com
Sun Nov 14 17:31:06 CET 2010
Revision: 33059
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=33059
Author: theeth
Date: 2010-11-14 17:31:06 +0100 (Sun, 14 Nov 2010)
Log Message:
-----------
[#24639] Snap to Face (retopo) doesn't work when clipping is enabled in mirror modifier.
Apply project snap at the very end.
Modified Paths:
--------------
trunk/blender/source/blender/editors/transform/transform_generics.c
Modified: trunk/blender/source/blender/editors/transform/transform_generics.c
===================================================================
--- trunk/blender/source/blender/editors/transform/transform_generics.c 2010-11-14 11:59:42 UTC (rev 33058)
+++ trunk/blender/source/blender/editors/transform/transform_generics.c 2010-11-14 16:31:06 UTC (rev 33059)
@@ -622,11 +622,6 @@
}
else if (t->spacetype == SPACE_VIEW3D) {
- /* project */
- if(t->state != TRANS_CANCEL) {
- applyProject(t);
- }
-
if (t->obedit) {
if ELEM(t->obedit->type, OB_CURVE, OB_SURF) {
Curve *cu= t->obedit->data;
@@ -635,6 +630,7 @@
if(t->state != TRANS_CANCEL) {
clipMirrorModifier(t, t->obedit);
+ applyProject(t);
}
DAG_id_flush_update(t->obedit->data, OB_RECALC_DATA); /* sets recalc flags */
@@ -655,6 +651,11 @@
}
else if(t->obedit->type==OB_LATTICE) {
Lattice *la= t->obedit->data;
+
+ if(t->state != TRANS_CANCEL) {
+ applyProject(t);
+ }
+
DAG_id_flush_update(t->obedit->data, OB_RECALC_DATA); /* sets recalc flags */
if(la->editlatt->latt->flag & LT_OUTSIDE) outside_lattice(la->editlatt->latt);
@@ -664,6 +665,7 @@
/* mirror modifier clipping? */
if(t->state != TRANS_CANCEL) {
clipMirrorModifier(t, t->obedit);
+ applyProject(t);
}
if((t->options & CTX_NO_MIRROR) == 0 && (t->flag & T_MIRROR))
editmesh_apply_to_mirror(t);
@@ -679,6 +681,10 @@
TransData *td = t->data;
int i;
+ if(t->state != TRANS_CANCEL) {
+ applyProject(t);
+ }
+
/* Ensure all bones are correctly adjusted */
for (ebo = edbo->first; ebo; ebo = ebo->next){
@@ -751,7 +757,12 @@
}
else
+ {
+ if(t->state != TRANS_CANCEL) {
+ applyProject(t);
+ }
DAG_id_flush_update(t->obedit->data, OB_RECALC_DATA); /* sets recalc flags */
+ }
}
else if( (t->flag & T_POSE) && t->poseobj) {
Object *ob= t->poseobj;
@@ -777,11 +788,18 @@
where_is_pose(scene, ob);
}
else if(base && (base->object->mode & OB_MODE_PARTICLE_EDIT) && PE_get_current(scene, base->object)) {
+ if(t->state != TRANS_CANCEL) {
+ applyProject(t);
+ }
flushTransParticles(t);
}
else {
int i;
+ if(t->state != TRANS_CANCEL) {
+ applyProject(t);
+ }
+
for (i = 0; i < t->total; i++) {
TransData *td = t->data + i;
Object *ob = td->ob;
More information about the Bf-blender-cvs
mailing list