Page Menu
Home
Search
Configure Global Search
Log In
Files
F4608
mmod3.txt
Public
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Authored By
Juho Vepsalainen (bebraw)
Nov 13 2013, 1:17 PM
Size
4 KB
Subscribers
None
mmod3.txt
View Options
Index: source/blender/blenkernel/intern/modifier.c
===================================================================
RCS file: /cvsroot/bf-blender/blender/source/blender/blenkernel/intern/modifier.c,v
retrieving revision 1.88
diff -u -p -u -r1.88 modifier.c
--- source/blender/blenkernel/intern/modifier.c 23 Dec 2006 11:56:22 -0000 1.88
+++ source/blender/blenkernel/intern/modifier.c 7 Jan 2007 10:37:42 -0000
@@ -1032,11 +1032,13 @@ static void mirrorModifier_copyData(Modi
tmmd->tolerance = mmd->tolerance;
}
-static DerivedMesh *mirrorModifier__doMirror(MirrorModifierData *mmd,
- DerivedMesh *dm,
- int initFlags)
+static DerivedMesh *doMirrorOnAxis(MirrorModifierData *mmd,
+ DerivedMesh *dm,
+ int initFlags,
+ int axis)
{
- int i, axis = mmd->axis;
+
+ int i;
float tolerance = mmd->tolerance;
DerivedMesh *result;
int numVerts, numEdges, numFaces;
@@ -1048,9 +1050,9 @@ static DerivedMesh *mirrorModifier__doMi
numVerts = numEdges = numFaces = 0;
indexMap = MEM_mallocN(sizeof(*indexMap) * maxVerts, "indexmap");
-
+
result = CDDM_from_template(dm, maxVerts * 2, maxEdges * 2, maxFaces * 2);
-
+
for(i = 0; i < maxVerts; i++) {
MVert inMV;
MVert *mv = CDDM_get_vert(result, numVerts);
@@ -1156,6 +1158,23 @@ static DerivedMesh *mirrorModifier__doMi
CDDM_lower_num_edges(result, numEdges);
CDDM_lower_num_faces(result, numFaces);
+ return result;
+}
+
+static DerivedMesh *mirrorModifier__doMirror(MirrorModifierData *mmd,
+ DerivedMesh *dm,
+ int initFlags)
+{
+ DerivedMesh *result = dm;
+
+ /* check which axis' have been toggled and mirror accordingly */
+ if(mmd->axis & MIRROR_X)
+ result = doMirrorOnAxis(mmd, result, initFlags, 0);
+ if(mmd->axis & MIRROR_Y)
+ result = doMirrorOnAxis(mmd, result, initFlags, 1);
+ if(mmd->axis & MIRROR_Z)
+ result = doMirrorOnAxis(mmd, result, initFlags, 2);
+
return result;
}
Index: source/blender/makesdna/DNA_effect_types.h
===================================================================
RCS file: /cvsroot/bf-blender/blender/source/blender/makesdna/DNA_effect_types.h,v
retrieving revision 1.14
diff -u -p -u -r1.14 DNA_effect_types.h
--- source/blender/makesdna/DNA_effect_types.h 16 Nov 2006 20:23:00 -0000 1.14
+++ source/blender/makesdna/DNA_effect_types.h 7 Jan 2007 10:37:42 -0000
@@ -82,6 +82,11 @@
#define WAV_Y 4
#define WAV_CYCL 8
+ /* mmd->axis */
+#define MIRROR_X 2
+#define MIRROR_Y 4
+#define MIRROR_Z 8
+
typedef struct Effect {
struct Effect *next, *prev;
short type, flag, buttype, rt;
@@ -146,4 +151,3 @@ typedef struct WaveEff {
} WaveEff;
#endif
-
Index: source/blender/src/buttons_editing.c
===================================================================
RCS file: /cvsroot/bf-blender/blender/source/blender/src/buttons_editing.c,v
retrieving revision 1.336
diff -u -p -u -r1.336 buttons_editing.c
--- source/blender/src/buttons_editing.c 6 Jan 2007 20:47:34 -0000 1.336
+++ source/blender/src/buttons_editing.c 7 Jan 2007 10:37:42 -0000
@@ -1545,9 +1545,9 @@ static void draw_modifier(uiBlock *block
} else if (md->type==eModifierType_Mirror) {
MirrorModifierData *mmd = (MirrorModifierData*) md;
uiDefButF(block, NUM, B_MODIFIER_RECALC, "Merge Limit:", lx, (cy-=19), buttonWidth,19, &mmd->tolerance, 0.0, 1.0, 10, 10, "Distance from axis within which mirrored vertices are merged");
- uiDefButS(block, ROW, B_MODIFIER_RECALC, "X", lx, (cy-=19), 20,19, &mmd->axis, 1, 0, 0, 0, "Specify the axis to mirror about");
- uiDefButS(block, ROW, B_MODIFIER_RECALC, "Y", lx+20, cy, 20,19, &mmd->axis, 1, 1, 0, 0, "Specify the axis to mirror about");
- uiDefButS(block, ROW, B_MODIFIER_RECALC, "Z", lx+40, cy, 20,19, &mmd->axis, 1, 2, 0, 0, "Specify the axis to mirror about");
+ uiDefButBitS(block, TOG, MIRROR_X, B_MODIFIER_RECALC, "X", lx,(cy-=19),20,19, &mmd->axis, 0, 0, 0, 0, "Enable X axis mirror");
+ uiDefButBitS(block, TOG, MIRROR_Y, B_MODIFIER_RECALC, "Y", lx+20,cy,20,19, &mmd->axis, 0, 0, 0, 0, "Enable Y axis mirror");
+ uiDefButBitS(block, TOG, MIRROR_Z, B_MODIFIER_RECALC, "Z", lx+40,cy,20,19, &mmd->axis, 0, 0, 0, 0, "Enable Z axis mirror");
uiDefButBitS(block, TOG, MOD_MIR_CLIPPING, B_MODIFIER_RECALC, "Do Clipping", lx+60, cy, buttonWidth-60,19, &mmd->flag, 1, 2, 0, 0, "Prevents during Transform vertices to go through Mirror");
} else if (md->type==eModifierType_EdgeSplit) {
EdgeSplitModifierData *emd = (EdgeSplitModifierData*) md;
File Metadata
Details
Mime Type
text/x-diff
Storage Engine
local-disk
Storage Format
Raw Data
Storage Handle
81/53/0a3ca386dedabb353de8f5a1c847
Event Timeline
Log In to Comment