[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [12466] trunk/blender/source/blender/src/ editmesh_lib.c: Bug fix to handle extruding with a mirror modifier, now that axes are
Chris Want
cwant at ualberta.ca
Sun Nov 4 03:25:33 CET 2007
Revision: 12466
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=12466
Author: hos
Date: 2007-11-04 03:25:32 +0100 (Sun, 04 Nov 2007)
Log Message:
-----------
Bug fix to handle extruding with a mirror modifier, now that axes are
specified with a bitmask rather than only operating on a single axis.
This is a reworking of the fix done in blender 2.42 that was mentioned
in the sixth on item on this page:
http://www.blender.org/development/release-logs/blender-242/mesh-tools/
Modified Paths:
--------------
trunk/blender/source/blender/src/editmesh_lib.c
Modified: trunk/blender/source/blender/src/editmesh_lib.c
===================================================================
--- trunk/blender/source/blender/src/editmesh_lib.c 2007-11-04 00:53:37 UTC (rev 12465)
+++ trunk/blender/source/blender/src/editmesh_lib.c 2007-11-04 02:25:32 UTC (rev 12466)
@@ -1145,23 +1145,20 @@
for (eed= em->edges.first; eed; eed= eed->next) {
if(eed->f2 == 1) {
- switch(mmd->axis){
- case 0:
- if ( (fabs(eed->v1->co[0]) < mmd->tolerance) &&
- (fabs(eed->v2->co[0]) < mmd->tolerance) )
- ++eed->f2;
- break;
- case 1:
- if ( (fabs(eed->v1->co[1]) < mmd->tolerance) &&
- (fabs(eed->v2->co[1]) < mmd->tolerance) )
- ++eed->f2;
- break;
- case 2:
- if ( (fabs(eed->v1->co[2]) < mmd->tolerance) &&
- (fabs(eed->v2->co[2]) < mmd->tolerance) )
- ++eed->f2;
- break;
- }
+ if (mmd->flag & MOD_MIR_AXIS_X)
+ if ( (fabs(eed->v1->co[0]) < mmd->tolerance) &&
+ (fabs(eed->v2->co[0]) < mmd->tolerance) )
+ ++eed->f2;
+
+ if (mmd->flag & MOD_MIR_AXIS_Y)
+ if ( (fabs(eed->v1->co[1]) < mmd->tolerance) &&
+ (fabs(eed->v2->co[1]) < mmd->tolerance) )
+ ++eed->f2;
+
+ if (mmd->flag & MOD_MIR_AXIS_Z)
+ if ( (fabs(eed->v1->co[2]) < mmd->tolerance) &&
+ (fabs(eed->v2->co[2]) < mmd->tolerance) )
+ ++eed->f2;
}
}
}
@@ -1414,23 +1411,19 @@
for (eed= em->edges.first; eed; eed= eed->next) {
if(eed->f2 == 2) {
- switch(mmd->axis){
- case 0:
- if ( (fabs(eed->v1->co[0]) < mmd->tolerance) &&
- (fabs(eed->v2->co[0]) < mmd->tolerance) )
- ++eed->f2;
- break;
- case 1:
- if ( (fabs(eed->v1->co[1]) < mmd->tolerance) &&
- (fabs(eed->v2->co[1]) < mmd->tolerance) )
- ++eed->f2;
- break;
- case 2:
- if ( (fabs(eed->v1->co[2]) < mmd->tolerance) &&
- (fabs(eed->v2->co[2]) < mmd->tolerance) )
- ++eed->f2;
- break;
- }
+ if (mmd->flag & MOD_MIR_AXIS_X)
+ if ( (fabs(eed->v1->co[0]) < mmd->tolerance) &&
+ (fabs(eed->v2->co[0]) < mmd->tolerance) )
+ ++eed->f2;
+
+ if (mmd->flag & MOD_MIR_AXIS_Y)
+ if ( (fabs(eed->v1->co[1]) < mmd->tolerance) &&
+ (fabs(eed->v2->co[1]) < mmd->tolerance) )
+ ++eed->f2;
+ if (mmd->flag & MOD_MIR_AXIS_Z)
+ if ( (fabs(eed->v1->co[2]) < mmd->tolerance) &&
+ (fabs(eed->v2->co[2]) < mmd->tolerance) )
+ ++eed->f2;
}
}
}
More information about the Bf-blender-cvs
mailing list