From ddbfb05c84d1b20df82d8b1264d897dd55006695 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Thu, 2 Sep 2010 04:53:05 +0000 Subject: rna context rename * context.main & bpy.types.Main --> context.blend_data & bpy.types.BlendData * context.manager --> context.window_manager --- source/blender/modifiers/intern/MOD_screw.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'source/blender/modifiers/intern') diff --git a/source/blender/modifiers/intern/MOD_screw.c b/source/blender/modifiers/intern/MOD_screw.c index d65d0b6039a..067567b9cda 100644 --- a/source/blender/modifiers/intern/MOD_screw.c +++ b/source/blender/modifiers/intern/MOD_screw.c @@ -436,7 +436,7 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob, vc= vert_connect; for (i=0; i < totvert; i++, vc++) { int v_best=-1, ed_loop_closed=0; /* vert and vert new */ - int ed_loop_flip; + int ed_loop_flip= 0; /* compiler complains if not initialized, but it should be initialized below */ float fl= -1.0f; ScrewVertIter lt_iter; -- cgit v1.2.3 From 7e23353b08ae979a4fe87083be6900c6e64f6a59 Mon Sep 17 00:00:00 2001 From: Sergey Sharybin Date: Sun, 5 Sep 2010 12:17:35 +0000 Subject: Fix #23680: Explode with Split Edges over SubSurf - crash Edge splitting function used CDDM_get_faces to get faces array, which isn't correct for this case: dm's type is ccgDM. Use dm->getFaceArray instead. --- source/blender/modifiers/intern/MOD_explode.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'source/blender/modifiers/intern') diff --git a/source/blender/modifiers/intern/MOD_explode.c b/source/blender/modifiers/intern/MOD_explode.c index 7d506ebfae0..9a42c9909a7 100644 --- a/source/blender/modifiers/intern/MOD_explode.c +++ b/source/blender/modifiers/intern/MOD_explode.c @@ -187,7 +187,7 @@ static int edgesplit_get(EdgeHash *edgehash, int v1, int v2) static DerivedMesh * splitEdges(ExplodeModifierData *emd, DerivedMesh *dm){ DerivedMesh *splitdm; MFace *mf=0,*df1=0,*df2=0,*df3=0; - MFace *mface=CDDM_get_faces(dm); + MFace *mface=dm->getFaceArray(dm); MVert *dupve, *mv; EdgeHash *edgehash; EdgeHashIterator *ehi; -- cgit v1.2.3 From 4eaa10aa02994c4609e1c12e38d0eda6355f9077 Mon Sep 17 00:00:00 2001 From: Nicholas Bishop Date: Thu, 9 Sep 2010 00:14:51 +0000 Subject: == Multires == Fixed bug #23657, "Modifiers dosen't work when you select diffrent mesh for object" Multires modifier now adds empty mdisps if they're missing, rather than displaying a warning Switching an object's mesh will now check for a multires modifier; if found the modifier's total number of levels are reset to match the mesh's mdisps Switching the mesh also forces a multires update so that sculpted changes aren't lost --- source/blender/modifiers/intern/MOD_multires.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'source/blender/modifiers/intern') diff --git a/source/blender/modifiers/intern/MOD_multires.c b/source/blender/modifiers/intern/MOD_multires.c index 766a3756d4a..dd99c88a684 100644 --- a/source/blender/modifiers/intern/MOD_multires.c +++ b/source/blender/modifiers/intern/MOD_multires.c @@ -72,8 +72,8 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob, DerivedMesh *dm, if(mmd->totlvl) { if(!CustomData_get_layer(&me->fdata, CD_MDISPS)) { - /* multires can't work without displacement layer */ - modifier_setError(md, "Modifier needs mesh with displacement data."); + /* multires always needs a displacement layer */ + CustomData_add_layer(&me->fdata, CD_MDISPS, CD_CALLOC, NULL, me->totface); return dm; } } -- cgit v1.2.3 From f88ad3f04894d37028bb35ffdbd39636d57a37cb Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Thu, 23 Sep 2010 12:03:34 +0000 Subject: bugfix [#23595] Texture paint with a node based brush produces artifacts also changed displace modifier not to link object depgraph when not using object texturespace. --- source/blender/modifiers/intern/MOD_displace.c | 2 +- source/blender/modifiers/intern/MOD_solidify.c | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) (limited to 'source/blender/modifiers/intern') diff --git a/source/blender/modifiers/intern/MOD_displace.c b/source/blender/modifiers/intern/MOD_displace.c index 29ace805543..efe57410441 100644 --- a/source/blender/modifiers/intern/MOD_displace.c +++ b/source/blender/modifiers/intern/MOD_displace.c @@ -134,7 +134,7 @@ static void updateDepgraph( { DisplaceModifierData *dmd = (DisplaceModifierData*) md; - if(dmd->map_object) { + if(dmd->map_object && dmd->texmapping == MOD_DISP_MAP_OBJECT) { DagNode *curNode = dag_get_node(forest, dmd->map_object); dag_add_relation(forest, curNode, obNode, diff --git a/source/blender/modifiers/intern/MOD_solidify.c b/source/blender/modifiers/intern/MOD_solidify.c index a6d99ad72ae..ee608c7cf31 100644 --- a/source/blender/modifiers/intern/MOD_solidify.c +++ b/source/blender/modifiers/intern/MOD_solidify.c @@ -442,11 +442,11 @@ static DerivedMesh *applyModifier(ModifierData *md, j= 2; } - for(; j>=0; j--) { + do { vidx = *(&mf->v1 + j); vert_accum[vidx] += face_angles[j]; vert_angles[vidx]+= shell_angle_to_dist(angle_normalized_v3v3(vert_nors[vidx], face_nors[i])) * face_angles[j]; - } + } while(j--); } /* vertex group support */ -- cgit v1.2.3 From 57527cb0ac8b153a4aa89baf655c8d58c488d3a6 Mon Sep 17 00:00:00 2001 From: Sergey Sharybin Date: Sun, 26 Sep 2010 18:29:54 +0000 Subject: - Save MDISPS layer when applying modifier. All sculpting used to disappear before. Save MDISPS if new mesh has got the same faces amount. NOTE: maybe some other layers should be saved? - Apply multires modififier if MDISPS was auto-created. Multires's applyModifier used to return unchanged DM when MDISPS was auto-created. - Set multires totlvl from MDISPS layer when new multires was added to mesh with existing MDISPS layer. --- source/blender/modifiers/intern/MOD_multires.c | 1 - 1 file changed, 1 deletion(-) (limited to 'source/blender/modifiers/intern') diff --git a/source/blender/modifiers/intern/MOD_multires.c b/source/blender/modifiers/intern/MOD_multires.c index dd99c88a684..988ce3921a7 100644 --- a/source/blender/modifiers/intern/MOD_multires.c +++ b/source/blender/modifiers/intern/MOD_multires.c @@ -74,7 +74,6 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob, DerivedMesh *dm, if(!CustomData_get_layer(&me->fdata, CD_MDISPS)) { /* multires always needs a displacement layer */ CustomData_add_layer(&me->fdata, CD_MDISPS, CD_CALLOC, NULL, me->totface); - return dm; } } -- cgit v1.2.3 From bbfbbe8e134f2836bb764fb9474167106668987a Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Mon, 27 Sep 2010 20:48:50 +0000 Subject: bugfix, screw modifier was overwriting its own calculated normals of the original verts. --- source/blender/modifiers/intern/MOD_screw.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'source/blender/modifiers/intern') diff --git a/source/blender/modifiers/intern/MOD_screw.c b/source/blender/modifiers/intern/MOD_screw.c index 067567b9cda..2221e8cc1bf 100644 --- a/source/blender/modifiers/intern/MOD_screw.c +++ b/source/blender/modifiers/intern/MOD_screw.c @@ -304,6 +304,8 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob, medge_new = result->getEdgeArray(result); origindex= result->getFaceDataArray(result, CD_ORIGINDEX); + + DM_copy_vert_data(dm, result, 0, 0, totvert); /* copy first otherwise this overwrites our own vertex normals */ /* Set the locations of the first set of verts */ @@ -665,8 +667,6 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob, } /* done with edge connectivity based normal flipping */ - DM_copy_vert_data(dm, result, 0, 0, totvert); - /* Add Faces */ for (step=1; step < step_tot; step++) { const int varray_stride= totvert * step; -- cgit v1.2.3 From 81b6d308a771405ef326b1e4cebbc3359e830a6c Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Thu, 30 Sep 2010 10:51:36 +0000 Subject: [#23673] Modifier construction gives correct result in viewport but incorrect in render. When there are 2+ consecutive deform modifiers, the second modifier was getting incorrect normals, this only showed up for the displace modifier since its the only deform modifier that uses vertex normals. It would have been easy to fix this by always calculating normals on deform modifiers, but slow. To fix this I added a function to check if a deform modifier needs normals, so the normal calculation function only runs if there are 2 modifiers in a row and the second uses normals. --- source/blender/modifiers/intern/MOD_armature.c | 1 + source/blender/modifiers/intern/MOD_array.c | 1 + source/blender/modifiers/intern/MOD_bevel.c | 1 + source/blender/modifiers/intern/MOD_boolean.c | 1 + source/blender/modifiers/intern/MOD_build.c | 1 + source/blender/modifiers/intern/MOD_cast.c | 1 + source/blender/modifiers/intern/MOD_cloth.c | 1 + source/blender/modifiers/intern/MOD_collision.c | 1 + source/blender/modifiers/intern/MOD_curve.c | 1 + source/blender/modifiers/intern/MOD_decimate.c | 1 + source/blender/modifiers/intern/MOD_displace.c | 7 +++++++ source/blender/modifiers/intern/MOD_edgesplit.c | 1 + source/blender/modifiers/intern/MOD_explode.c | 1 + source/blender/modifiers/intern/MOD_fluidsim.c | 1 + source/blender/modifiers/intern/MOD_hook.c | 1 + source/blender/modifiers/intern/MOD_lattice.c | 1 + source/blender/modifiers/intern/MOD_mask.c | 1 + source/blender/modifiers/intern/MOD_meshdeform.c | 1 + source/blender/modifiers/intern/MOD_mirror.c | 1 + source/blender/modifiers/intern/MOD_multires.c | 1 + source/blender/modifiers/intern/MOD_none.c | 1 + source/blender/modifiers/intern/MOD_particleinstance.c | 1 + source/blender/modifiers/intern/MOD_particlesystem.c | 1 + source/blender/modifiers/intern/MOD_screw.c | 1 + source/blender/modifiers/intern/MOD_shapekey.c | 1 + source/blender/modifiers/intern/MOD_shrinkwrap.c | 1 + source/blender/modifiers/intern/MOD_simpledeform.c | 1 + source/blender/modifiers/intern/MOD_smoke.c | 1 + source/blender/modifiers/intern/MOD_smooth.c | 1 + source/blender/modifiers/intern/MOD_softbody.c | 1 + source/blender/modifiers/intern/MOD_solidify.c | 1 + source/blender/modifiers/intern/MOD_subsurf.c | 1 + source/blender/modifiers/intern/MOD_surface.c | 1 + source/blender/modifiers/intern/MOD_uvproject.c | 1 + source/blender/modifiers/intern/MOD_wave.c | 1 + 35 files changed, 41 insertions(+) (limited to 'source/blender/modifiers/intern') diff --git a/source/blender/modifiers/intern/MOD_armature.c b/source/blender/modifiers/intern/MOD_armature.c index d0e36f90ff5..6d2a3e7098f 100644 --- a/source/blender/modifiers/intern/MOD_armature.c +++ b/source/blender/modifiers/intern/MOD_armature.c @@ -174,6 +174,7 @@ ModifierTypeInfo modifierType_Armature = { /* isDisabled */ isDisabled, /* updateDepgraph */ updateDepgraph, /* dependsOnTime */ 0, + /* dependsOnNormals */ 0, /* foreachObjectLink */ foreachObjectLink, /* foreachIDLink */ 0, }; diff --git a/source/blender/modifiers/intern/MOD_array.c b/source/blender/modifiers/intern/MOD_array.c index a6fefbcd863..8331c3474b2 100644 --- a/source/blender/modifiers/intern/MOD_array.c +++ b/source/blender/modifiers/intern/MOD_array.c @@ -775,6 +775,7 @@ ModifierTypeInfo modifierType_Array = { /* isDisabled */ 0, /* updateDepgraph */ updateDepgraph, /* dependsOnTime */ 0, + /* dependsOnNormals */ 0, /* foreachObjectLink */ foreachObjectLink, /* foreachIDLink */ 0, }; diff --git a/source/blender/modifiers/intern/MOD_bevel.c b/source/blender/modifiers/intern/MOD_bevel.c index 62c7dfa5600..68274fbfd78 100644 --- a/source/blender/modifiers/intern/MOD_bevel.c +++ b/source/blender/modifiers/intern/MOD_bevel.c @@ -136,6 +136,7 @@ ModifierTypeInfo modifierType_Bevel = { /* isDisabled */ 0, /* updateDepgraph */ 0, /* dependsOnTime */ 0, + /* dependsOnNormals */ 0, /* foreachObjectLink */ 0, /* foreachIDLink */ 0, }; diff --git a/source/blender/modifiers/intern/MOD_boolean.c b/source/blender/modifiers/intern/MOD_boolean.c index 4e8e3117b7e..496523a310b 100644 --- a/source/blender/modifiers/intern/MOD_boolean.c +++ b/source/blender/modifiers/intern/MOD_boolean.c @@ -135,6 +135,7 @@ ModifierTypeInfo modifierType_Boolean = { /* isDisabled */ isDisabled, /* updateDepgraph */ updateDepgraph, /* dependsOnTime */ 0, + /* dependsOnNormals */ 0, /* foreachObjectLink */ foreachObjectLink, /* foreachIDLink */ 0, }; diff --git a/source/blender/modifiers/intern/MOD_build.c b/source/blender/modifiers/intern/MOD_build.c index 8fc1be7d5ee..de913d79f01 100644 --- a/source/blender/modifiers/intern/MOD_build.c +++ b/source/blender/modifiers/intern/MOD_build.c @@ -295,6 +295,7 @@ ModifierTypeInfo modifierType_Build = { /* isDisabled */ 0, /* updateDepgraph */ 0, /* dependsOnTime */ dependsOnTime, + /* dependsOnNormals */ 0, /* foreachObjectLink */ 0, /* foreachIDLink */ 0, }; diff --git a/source/blender/modifiers/intern/MOD_cast.c b/source/blender/modifiers/intern/MOD_cast.c index 10843cf9677..1872263848b 100644 --- a/source/blender/modifiers/intern/MOD_cast.c +++ b/source/blender/modifiers/intern/MOD_cast.c @@ -623,6 +623,7 @@ ModifierTypeInfo modifierType_Cast = { /* isDisabled */ isDisabled, /* updateDepgraph */ updateDepgraph, /* dependsOnTime */ 0, + /* dependsOnNormals */ 0, /* foreachObjectLink */ foreachObjectLink, /* foreachIDLink */ 0, }; diff --git a/source/blender/modifiers/intern/MOD_cloth.c b/source/blender/modifiers/intern/MOD_cloth.c index bfb5f6ee028..1c0ab34f15c 100644 --- a/source/blender/modifiers/intern/MOD_cloth.c +++ b/source/blender/modifiers/intern/MOD_cloth.c @@ -201,6 +201,7 @@ ModifierTypeInfo modifierType_Cloth = { /* isDisabled */ 0, /* updateDepgraph */ updateDepgraph, /* dependsOnTime */ dependsOnTime, + /* dependsOnNormals */ 0, /* foreachObjectLink */ 0, /* foreachIDLink */ 0, }; diff --git a/source/blender/modifiers/intern/MOD_collision.c b/source/blender/modifiers/intern/MOD_collision.c index 32fbd58839a..2651122231c 100644 --- a/source/blender/modifiers/intern/MOD_collision.c +++ b/source/blender/modifiers/intern/MOD_collision.c @@ -248,6 +248,7 @@ ModifierTypeInfo modifierType_Collision = { /* isDisabled */ 0, /* updateDepgraph */ 0, /* dependsOnTime */ dependsOnTime, + /* dependsOnNormals */ 0, /* foreachObjectLink */ 0, /* foreachIDLink */ 0, }; diff --git a/source/blender/modifiers/intern/MOD_curve.c b/source/blender/modifiers/intern/MOD_curve.c index 97c7a4b01d6..998bf375e79 100644 --- a/source/blender/modifiers/intern/MOD_curve.c +++ b/source/blender/modifiers/intern/MOD_curve.c @@ -145,6 +145,7 @@ ModifierTypeInfo modifierType_Curve = { /* isDisabled */ isDisabled, /* updateDepgraph */ updateDepgraph, /* dependsOnTime */ 0, + /* dependsOnNormals */ 0, /* foreachObjectLink */ foreachObjectLink, /* foreachIDLink */ 0, }; diff --git a/source/blender/modifiers/intern/MOD_decimate.c b/source/blender/modifiers/intern/MOD_decimate.c index 9163a9771f0..03307934e00 100644 --- a/source/blender/modifiers/intern/MOD_decimate.c +++ b/source/blender/modifiers/intern/MOD_decimate.c @@ -194,6 +194,7 @@ ModifierTypeInfo modifierType_Decimate = { /* isDisabled */ 0, /* updateDepgraph */ 0, /* dependsOnTime */ 0, + /* dependsOnNormals */ 0, /* foreachObjectLink */ 0, /* foreachIDLink */ 0, }; diff --git a/source/blender/modifiers/intern/MOD_displace.c b/source/blender/modifiers/intern/MOD_displace.c index efe57410441..2e811eb742d 100644 --- a/source/blender/modifiers/intern/MOD_displace.c +++ b/source/blender/modifiers/intern/MOD_displace.c @@ -103,6 +103,12 @@ static int dependsOnTime(ModifierData *md) } } +static int dependsOnNormals(ModifierData *md) +{ + DisplaceModifierData *dmd = (DisplaceModifierData *)md; + return (dmd->direction == MOD_DISP_DIR_NOR); +} + static void foreachObjectLink(ModifierData *md, Object *ob, ObjectWalkFunc walk, void *userData) { @@ -349,6 +355,7 @@ ModifierTypeInfo modifierType_Displace = { /* isDisabled */ isDisabled, /* updateDepgraph */ updateDepgraph, /* dependsOnTime */ dependsOnTime, + /* dependsOnNormals */ dependsOnNormals, /* foreachObjectLink */ foreachObjectLink, /* foreachIDLink */ foreachIDLink, }; diff --git a/source/blender/modifiers/intern/MOD_edgesplit.c b/source/blender/modifiers/intern/MOD_edgesplit.c index 6614625a650..e80b80abdb5 100644 --- a/source/blender/modifiers/intern/MOD_edgesplit.c +++ b/source/blender/modifiers/intern/MOD_edgesplit.c @@ -1290,6 +1290,7 @@ ModifierTypeInfo modifierType_EdgeSplit = { /* isDisabled */ 0, /* updateDepgraph */ 0, /* dependsOnTime */ 0, + /* dependsOnNormals */ 0, /* foreachObjectLink */ 0, /* foreachIDLink */ 0, }; diff --git a/source/blender/modifiers/intern/MOD_explode.c b/source/blender/modifiers/intern/MOD_explode.c index 9a42c9909a7..cbf5f3c3b98 100644 --- a/source/blender/modifiers/intern/MOD_explode.c +++ b/source/blender/modifiers/intern/MOD_explode.c @@ -898,6 +898,7 @@ ModifierTypeInfo modifierType_Explode = { /* isDisabled */ 0, /* updateDepgraph */ 0, /* dependsOnTime */ dependsOnTime, + /* dependsOnNormals */ 0, /* foreachObjectLink */ 0, /* foreachIDLink */ 0, }; diff --git a/source/blender/modifiers/intern/MOD_fluidsim.c b/source/blender/modifiers/intern/MOD_fluidsim.c index c683bee0b35..619891e136f 100644 --- a/source/blender/modifiers/intern/MOD_fluidsim.c +++ b/source/blender/modifiers/intern/MOD_fluidsim.c @@ -153,6 +153,7 @@ ModifierTypeInfo modifierType_Fluidsim = { /* isDisabled */ 0, /* updateDepgraph */ updateDepgraph, /* dependsOnTime */ dependsOnTime, + /* dependsOnNormals */ 0, /* foreachObjectLink */ 0, /* foreachIDLink */ 0, }; diff --git a/source/blender/modifiers/intern/MOD_hook.c b/source/blender/modifiers/intern/MOD_hook.c index 2c9ae311585..f2ffd486aa5 100644 --- a/source/blender/modifiers/intern/MOD_hook.c +++ b/source/blender/modifiers/intern/MOD_hook.c @@ -274,6 +274,7 @@ ModifierTypeInfo modifierType_Hook = { /* isDisabled */ isDisabled, /* updateDepgraph */ updateDepgraph, /* dependsOnTime */ 0, + /* dependsOnNormals */ 0, /* foreachObjectLink */ foreachObjectLink, /* foreachIDLink */ 0, }; diff --git a/source/blender/modifiers/intern/MOD_lattice.c b/source/blender/modifiers/intern/MOD_lattice.c index 4270f2ff6e8..532475a3466 100644 --- a/source/blender/modifiers/intern/MOD_lattice.c +++ b/source/blender/modifiers/intern/MOD_lattice.c @@ -139,6 +139,7 @@ ModifierTypeInfo modifierType_Lattice = { /* isDisabled */ isDisabled, /* updateDepgraph */ updateDepgraph, /* dependsOnTime */ 0, + /* dependsOnNormals */ 0, /* foreachObjectLink */ foreachObjectLink, /* foreachIDLink */ 0, }; diff --git a/source/blender/modifiers/intern/MOD_mask.c b/source/blender/modifiers/intern/MOD_mask.c index 94eb2380b66..c1565352133 100644 --- a/source/blender/modifiers/intern/MOD_mask.c +++ b/source/blender/modifiers/intern/MOD_mask.c @@ -404,6 +404,7 @@ ModifierTypeInfo modifierType_Mask = { /* isDisabled */ 0, /* updateDepgraph */ updateDepgraph, /* dependsOnTime */ 0, + /* dependsOnNormals */ 0, /* foreachObjectLink */ foreachObjectLink, /* foreachIDLink */ 0, }; diff --git a/source/blender/modifiers/intern/MOD_meshdeform.c b/source/blender/modifiers/intern/MOD_meshdeform.c index fa1ee7e3159..af87fb6ef74 100644 --- a/source/blender/modifiers/intern/MOD_meshdeform.c +++ b/source/blender/modifiers/intern/MOD_meshdeform.c @@ -447,6 +447,7 @@ ModifierTypeInfo modifierType_MeshDeform = { /* isDisabled */ isDisabled, /* updateDepgraph */ updateDepgraph, /* dependsOnTime */ 0, + /* dependsOnNormals */ 0, /* foreachObjectLink */ foreachObjectLink, /* foreachIDLink */ 0, }; diff --git a/source/blender/modifiers/intern/MOD_mirror.c b/source/blender/modifiers/intern/MOD_mirror.c index 06c93eefc59..9289c44c414 100644 --- a/source/blender/modifiers/intern/MOD_mirror.c +++ b/source/blender/modifiers/intern/MOD_mirror.c @@ -344,6 +344,7 @@ ModifierTypeInfo modifierType_Mirror = { /* isDisabled */ 0, /* updateDepgraph */ updateDepgraph, /* dependsOnTime */ 0, + /* dependsOnNormals */ 0, /* foreachObjectLink */ foreachObjectLink, /* foreachIDLink */ 0, }; diff --git a/source/blender/modifiers/intern/MOD_multires.c b/source/blender/modifiers/intern/MOD_multires.c index 988ce3921a7..758809ff7ec 100644 --- a/source/blender/modifiers/intern/MOD_multires.c +++ b/source/blender/modifiers/intern/MOD_multires.c @@ -117,6 +117,7 @@ ModifierTypeInfo modifierType_Multires = { /* isDisabled */ 0, /* updateDepgraph */ 0, /* dependsOnTime */ 0, + /* dependsOnNormals */ 0, /* foreachObjectLink */ 0, /* foreachIDLink */ 0, }; diff --git a/source/blender/modifiers/intern/MOD_none.c b/source/blender/modifiers/intern/MOD_none.c index 0c749b79f5a..8cfb2a59376 100644 --- a/source/blender/modifiers/intern/MOD_none.c +++ b/source/blender/modifiers/intern/MOD_none.c @@ -65,6 +65,7 @@ ModifierTypeInfo modifierType_None = { /* isDisabled */ isDisabled, /* updateDepgraph */ 0, /* dependsOnTime */ 0, + /* dependsOnNormals */ 0, /* foreachObjectLink */ 0, /* foreachIDLink */ 0, }; diff --git a/source/blender/modifiers/intern/MOD_particleinstance.c b/source/blender/modifiers/intern/MOD_particleinstance.c index 4f5acc60cda..bbd0219d3f8 100644 --- a/source/blender/modifiers/intern/MOD_particleinstance.c +++ b/source/blender/modifiers/intern/MOD_particleinstance.c @@ -336,6 +336,7 @@ ModifierTypeInfo modifierType_ParticleInstance = { /* isDisabled */ 0, /* updateDepgraph */ updateDepgraph, /* dependsOnTime */ dependsOnTime, + /* dependsOnNormals */ 0, /* foreachObjectLink */ foreachObjectLink, /* foreachIDLink */ 0, }; diff --git a/source/blender/modifiers/intern/MOD_particlesystem.c b/source/blender/modifiers/intern/MOD_particlesystem.c index 02480b8d2a3..602b6dd1d56 100644 --- a/source/blender/modifiers/intern/MOD_particlesystem.c +++ b/source/blender/modifiers/intern/MOD_particlesystem.c @@ -227,6 +227,7 @@ ModifierTypeInfo modifierType_ParticleSystem = { /* isDisabled */ 0, /* updateDepgraph */ 0, /* dependsOnTime */ 0, + /* dependsOnNormals */ 0, /* foreachObjectLink */ 0, /* foreachIDLink */ 0, }; diff --git a/source/blender/modifiers/intern/MOD_screw.c b/source/blender/modifiers/intern/MOD_screw.c index 2221e8cc1bf..0016fd2d266 100644 --- a/source/blender/modifiers/intern/MOD_screw.c +++ b/source/blender/modifiers/intern/MOD_screw.c @@ -894,6 +894,7 @@ ModifierTypeInfo modifierType_Screw = { /* isDisabled */ 0, /* updateDepgraph */ updateDepgraph, /* dependsOnTime */ dependsOnTime, + /* dependsOnNormals */ 0, /* foreachObjectLink */ foreachObjectLink, /* foreachIDLink */ 0, }; diff --git a/source/blender/modifiers/intern/MOD_shapekey.c b/source/blender/modifiers/intern/MOD_shapekey.c index f73dcc25235..bf675b874f6 100644 --- a/source/blender/modifiers/intern/MOD_shapekey.c +++ b/source/blender/modifiers/intern/MOD_shapekey.c @@ -107,6 +107,7 @@ ModifierTypeInfo modifierType_ShapeKey = { /* isDisabled */ 0, /* updateDepgraph */ 0, /* dependsOnTime */ 0, + /* dependsOnNormals */ 0, /* foreachObjectLink */ 0, /* foreachIDLink */ 0, }; diff --git a/source/blender/modifiers/intern/MOD_shrinkwrap.c b/source/blender/modifiers/intern/MOD_shrinkwrap.c index 6526be4cb53..6baee9f0d98 100644 --- a/source/blender/modifiers/intern/MOD_shrinkwrap.c +++ b/source/blender/modifiers/intern/MOD_shrinkwrap.c @@ -166,6 +166,7 @@ ModifierTypeInfo modifierType_Shrinkwrap = { /* isDisabled */ isDisabled, /* updateDepgraph */ updateDepgraph, /* dependsOnTime */ 0, + /* dependsOnNormals */ 0, /* foreachObjectLink */ foreachObjectLink, /* foreachIDLink */ 0, }; diff --git a/source/blender/modifiers/intern/MOD_simpledeform.c b/source/blender/modifiers/intern/MOD_simpledeform.c index c64fec4075d..ab580781351 100644 --- a/source/blender/modifiers/intern/MOD_simpledeform.c +++ b/source/blender/modifiers/intern/MOD_simpledeform.c @@ -372,6 +372,7 @@ ModifierTypeInfo modifierType_SimpleDeform = { /* isDisabled */ 0, /* updateDepgraph */ updateDepgraph, /* dependsOnTime */ 0, + /* dependsOnNormals */ 0, /* foreachObjectLink */ foreachObjectLink, /* foreachIDLink */ 0, }; diff --git a/source/blender/modifiers/intern/MOD_smoke.c b/source/blender/modifiers/intern/MOD_smoke.c index 25153de7be4..f89ff0bb1b5 100644 --- a/source/blender/modifiers/intern/MOD_smoke.c +++ b/source/blender/modifiers/intern/MOD_smoke.c @@ -141,6 +141,7 @@ ModifierTypeInfo modifierType_Smoke = { /* isDisabled */ 0, /* updateDepgraph */ updateDepgraph, /* dependsOnTime */ dependsOnTime, + /* dependsOnNormals */ 0, /* foreachObjectLink */ 0, /* foreachIDLink */ 0, }; diff --git a/source/blender/modifiers/intern/MOD_smooth.c b/source/blender/modifiers/intern/MOD_smooth.c index a42bf8abbaf..96269c092c9 100644 --- a/source/blender/modifiers/intern/MOD_smooth.c +++ b/source/blender/modifiers/intern/MOD_smooth.c @@ -264,6 +264,7 @@ ModifierTypeInfo modifierType_Smooth = { /* isDisabled */ isDisabled, /* updateDepgraph */ 0, /* dependsOnTime */ 0, + /* dependsOnNormals */ 0, /* foreachObjectLink */ 0, /* foreachIDLink */ 0, }; diff --git a/source/blender/modifiers/intern/MOD_softbody.c b/source/blender/modifiers/intern/MOD_softbody.c index 8f629001e0b..931cfe2e2d3 100644 --- a/source/blender/modifiers/intern/MOD_softbody.c +++ b/source/blender/modifiers/intern/MOD_softbody.c @@ -72,6 +72,7 @@ ModifierTypeInfo modifierType_Softbody = { /* isDisabled */ 0, /* updateDepgraph */ 0, /* dependsOnTime */ dependsOnTime, + /* dependsOnNormals */ 0, /* foreachObjectLink */ 0, /* foreachIDLink */ 0, }; diff --git a/source/blender/modifiers/intern/MOD_solidify.c b/source/blender/modifiers/intern/MOD_solidify.c index ee608c7cf31..57155c4e1dc 100644 --- a/source/blender/modifiers/intern/MOD_solidify.c +++ b/source/blender/modifiers/intern/MOD_solidify.c @@ -661,6 +661,7 @@ ModifierTypeInfo modifierType_Solidify = { /* isDisabled */ 0, /* updateDepgraph */ 0, /* dependsOnTime */ 0, + /* dependsOnNormals */ 0, /* foreachObjectLink */ 0, /* foreachIDLink */ 0, }; diff --git a/source/blender/modifiers/intern/MOD_subsurf.c b/source/blender/modifiers/intern/MOD_subsurf.c index 799df64b2b5..cd3657b9674 100644 --- a/source/blender/modifiers/intern/MOD_subsurf.c +++ b/source/blender/modifiers/intern/MOD_subsurf.c @@ -139,6 +139,7 @@ ModifierTypeInfo modifierType_Subsurf = { /* isDisabled */ isDisabled, /* updateDepgraph */ 0, /* dependsOnTime */ 0, + /* dependsOnNormals */ 0, /* foreachObjectLink */ 0, /* foreachIDLink */ 0, }; diff --git a/source/blender/modifiers/intern/MOD_surface.c b/source/blender/modifiers/intern/MOD_surface.c index 223d8e7792f..b2f55bde360 100644 --- a/source/blender/modifiers/intern/MOD_surface.c +++ b/source/blender/modifiers/intern/MOD_surface.c @@ -178,6 +178,7 @@ ModifierTypeInfo modifierType_Surface = { /* isDisabled */ 0, /* updateDepgraph */ 0, /* dependsOnTime */ dependsOnTime, + /* dependsOnNormals */ 0, /* foreachObjectLink */ 0, /* foreachIDLink */ 0, }; diff --git a/source/blender/modifiers/intern/MOD_uvproject.c b/source/blender/modifiers/intern/MOD_uvproject.c index 1a595cbf051..211640ad777 100644 --- a/source/blender/modifiers/intern/MOD_uvproject.c +++ b/source/blender/modifiers/intern/MOD_uvproject.c @@ -418,6 +418,7 @@ ModifierTypeInfo modifierType_UVProject = { /* isDisabled */ 0, /* updateDepgraph */ updateDepgraph, /* dependsOnTime */ 0, + /* dependsOnNormals */ 0, /* foreachObjectLink */ foreachObjectLink, /* foreachIDLink */ foreachIDLink, }; diff --git a/source/blender/modifiers/intern/MOD_wave.c b/source/blender/modifiers/intern/MOD_wave.c index 191c702903a..42cbddce233 100644 --- a/source/blender/modifiers/intern/MOD_wave.c +++ b/source/blender/modifiers/intern/MOD_wave.c @@ -455,6 +455,7 @@ ModifierTypeInfo modifierType_Wave = { /* isDisabled */ 0, /* updateDepgraph */ updateDepgraph, /* dependsOnTime */ dependsOnTime, + /* dependsOnNormals */ 0, /* foreachObjectLink */ foreachObjectLink, /* foreachIDLink */ foreachIDLink, }; -- cgit v1.2.3 From fbf208d63fe0ba9770cb225726eb94888aa0994d Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Thu, 14 Oct 2010 06:29:17 +0000 Subject: add UNUSED() to modifiers, also removed some unused args. --- source/blender/modifiers/intern/MOD_armature.c | 21 +++++++----- source/blender/modifiers/intern/MOD_array.c | 8 ++--- source/blender/modifiers/intern/MOD_bevel.c | 15 +++++---- source/blender/modifiers/intern/MOD_boolean.c | 19 ++++++----- source/blender/modifiers/intern/MOD_build.c | 7 ++-- source/blender/modifiers/intern/MOD_cast.c | 25 +++++++++------ source/blender/modifiers/intern/MOD_cloth.c | 5 +-- source/blender/modifiers/intern/MOD_collision.c | 12 ++++--- source/blender/modifiers/intern/MOD_curve.c | 21 +++++++----- source/blender/modifiers/intern/MOD_decimate.c | 8 +++-- source/blender/modifiers/intern/MOD_displace.c | 25 +++++++++------ source/blender/modifiers/intern/MOD_edgesplit.c | 37 ++++++++++------------ source/blender/modifiers/intern/MOD_explode.c | 23 +++++++------- source/blender/modifiers/intern/MOD_fluidsim.c | 3 +- .../blender/modifiers/intern/MOD_fluidsim_util.c | 14 +++++--- source/blender/modifiers/intern/MOD_hook.c | 20 ++++++++---- source/blender/modifiers/intern/MOD_lattice.c | 20 ++++++++---- source/blender/modifiers/intern/MOD_mask.c | 13 +++++--- source/blender/modifiers/intern/MOD_meshdeform.c | 35 ++++++++++++-------- source/blender/modifiers/intern/MOD_mirror.c | 19 ++++++----- source/blender/modifiers/intern/MOD_none.c | 3 +- .../modifiers/intern/MOD_particleinstance.c | 19 ++++++----- .../blender/modifiers/intern/MOD_particlesystem.c | 12 ++++--- source/blender/modifiers/intern/MOD_screw.c | 19 +++++++---- source/blender/modifiers/intern/MOD_shapekey.c | 28 ++++++++++------ source/blender/modifiers/intern/MOD_shrinkwrap.c | 21 ++++++++---- source/blender/modifiers/intern/MOD_simpledeform.c | 24 ++++++++++---- source/blender/modifiers/intern/MOD_smoke.c | 21 +++++++----- source/blender/modifiers/intern/MOD_smooth.c | 11 ++++--- source/blender/modifiers/intern/MOD_softbody.c | 12 ++++--- source/blender/modifiers/intern/MOD_solidify.c | 13 ++++---- source/blender/modifiers/intern/MOD_subsurf.c | 14 ++++---- source/blender/modifiers/intern/MOD_surface.c | 14 +++++--- source/blender/modifiers/intern/MOD_util.c | 12 +++---- source/blender/modifiers/intern/MOD_util.h | 6 ++-- source/blender/modifiers/intern/MOD_uvproject.c | 22 +++++++------ source/blender/modifiers/intern/MOD_wave.c | 29 ++++++++++------- 37 files changed, 378 insertions(+), 252 deletions(-) (limited to 'source/blender/modifiers/intern') diff --git a/source/blender/modifiers/intern/MOD_armature.c b/source/blender/modifiers/intern/MOD_armature.c index 6d2a3e7098f..2f802ee67c8 100644 --- a/source/blender/modifiers/intern/MOD_armature.c +++ b/source/blender/modifiers/intern/MOD_armature.c @@ -35,6 +35,7 @@ #include "DNA_armature_types.h" #include "DNA_object_types.h" +#include "BKE_utildefines.h" #include "BKE_cdderivedmesh.h" #include "BKE_lattice.h" #include "BKE_modifier.h" @@ -63,7 +64,7 @@ static void copyData(ModifierData *md, ModifierData *target) strncpy(tamd->defgrp_name, amd->defgrp_name, 32); } -static CustomDataMask requiredDataMask(Object *ob, ModifierData *md) +static CustomDataMask requiredDataMask(Object *UNUSED(ob), ModifierData *UNUSED(md)) { CustomDataMask dataMask = 0; @@ -73,7 +74,7 @@ static CustomDataMask requiredDataMask(Object *ob, ModifierData *md) return dataMask; } -static int isDisabled(ModifierData *md, int useRenderParams) +static int isDisabled(ModifierData *md, int UNUSED(useRenderParams)) { ArmatureModifierData *amd = (ArmatureModifierData*) md; @@ -90,9 +91,10 @@ static void foreachObjectLink( walk(userData, ob, &amd->object); } -static void updateDepgraph( - ModifierData *md, DagForest *forest, struct Scene *scene, Object *ob, - DagNode *obNode) +static void updateDepgraph(ModifierData *md, DagForest *forest, + struct Scene *UNUSED(scene), + Object *UNUSED(ob), + DagNode *obNode) { ArmatureModifierData *amd = (ArmatureModifierData*) md; @@ -104,9 +106,12 @@ static void updateDepgraph( } } -static void deformVerts( - ModifierData *md, Object *ob, DerivedMesh *derivedData, - float (*vertexCos)[3], int numVerts, int useRenderParams, int isFinalCalc) +static void deformVerts(ModifierData *md, Object *ob, + DerivedMesh *derivedData, + float (*vertexCos)[3], + int numVerts, + int UNUSED(useRenderParams), + int UNUSED(isFinalCalc)) { ArmatureModifierData *amd = (ArmatureModifierData*) md; diff --git a/source/blender/modifiers/intern/MOD_array.c b/source/blender/modifiers/intern/MOD_array.c index 8331c3474b2..839bfef6226 100644 --- a/source/blender/modifiers/intern/MOD_array.c +++ b/source/blender/modifiers/intern/MOD_array.c @@ -101,8 +101,8 @@ static void foreachObjectLink( walk(userData, ob, &amd->offset_ob); } -static void updateDepgraph(ModifierData *md, DagForest *forest, struct Scene *scene, - Object *ob, DagNode *obNode) +static void updateDepgraph(ModifierData *md, DagForest *forest, + struct Scene *UNUSED(scene), Object *UNUSED(ob), DagNode *obNode) { ArrayModifierData *amd = (ArrayModifierData*) md; @@ -731,7 +731,7 @@ static DerivedMesh *arrayModifier_doArray(ArrayModifierData *amd, static DerivedMesh *applyModifier( ModifierData *md, Object *ob, DerivedMesh *derivedData, - int useRenderParams, int isFinalCalc) + int UNUSED(useRenderParams), int UNUSED(isFinalCalc)) { DerivedMesh *result; ArrayModifierData *amd = (ArrayModifierData*) md; @@ -745,7 +745,7 @@ static DerivedMesh *applyModifier( } static DerivedMesh *applyModifierEM( - ModifierData *md, Object *ob, struct EditMesh *editData, + ModifierData *md, Object *ob, struct EditMesh *UNUSED(editData), DerivedMesh *derivedData) { return applyModifier(md, ob, derivedData, 0, 1); diff --git a/source/blender/modifiers/intern/MOD_bevel.c b/source/blender/modifiers/intern/MOD_bevel.c index 68274fbfd78..937c8cd7eac 100644 --- a/source/blender/modifiers/intern/MOD_bevel.c +++ b/source/blender/modifiers/intern/MOD_bevel.c @@ -66,7 +66,7 @@ static void copyData(ModifierData *md, ModifierData *target) strncpy(tbmd->defgrp_name, bmd->defgrp_name, 32); } -static CustomDataMask requiredDataMask(Object *ob, ModifierData *md) +static CustomDataMask requiredDataMask(Object *UNUSED(ob), ModifierData *md) { BevelModifierData *bmd = (BevelModifierData *)md; CustomDataMask dataMask = 0; @@ -77,9 +77,10 @@ static CustomDataMask requiredDataMask(Object *ob, ModifierData *md) return dataMask; } -static DerivedMesh *applyModifier( - ModifierData *md, Object *ob, DerivedMesh *derivedData, - int useRenderParams, int isFinalCalc) +static DerivedMesh *applyModifier(ModifierData *md, Object *UNUSED(ob), + DerivedMesh *derivedData, + int UNUSED(useRenderParams), + int UNUSED(isFinalCalc)) { DerivedMesh *result; BME_Mesh *bm; @@ -107,9 +108,9 @@ static DerivedMesh *applyModifier( return result; } -static DerivedMesh *applyModifierEM( - ModifierData *md, Object *ob, EditMesh *editData, - DerivedMesh *derivedData) +static DerivedMesh *applyModifierEM(ModifierData *md, Object *ob, + EditMesh *UNUSED(editData), + DerivedMesh *derivedData) { return applyModifier(md, ob, derivedData, 0, 1); } diff --git a/source/blender/modifiers/intern/MOD_boolean.c b/source/blender/modifiers/intern/MOD_boolean.c index 496523a310b..dfcfd55f3d9 100644 --- a/source/blender/modifiers/intern/MOD_boolean.c +++ b/source/blender/modifiers/intern/MOD_boolean.c @@ -32,6 +32,7 @@ #include "DNA_object_types.h" +#include "BKE_utildefines.h" #include "BKE_cdderivedmesh.h" #include "BKE_modifier.h" @@ -49,7 +50,7 @@ static void copyData(ModifierData *md, ModifierData *target) tbmd->operation = bmd->operation; } -static int isDisabled(ModifierData *md, int useRenderParams) +static int isDisabled(ModifierData *md, int UNUSED(useRenderParams)) { BooleanModifierData *bmd = (BooleanModifierData*) md; @@ -66,9 +67,10 @@ static void foreachObjectLink( walk(userData, ob, &bmd->object); } -static void updateDepgraph( - ModifierData *md, DagForest *forest, struct Scene *scene, Object *ob, - DagNode *obNode) +static void updateDepgraph(ModifierData *md, DagForest *forest, + struct Scene *UNUSED(scene), + Object *UNUSED(ob), + DagNode *obNode) { BooleanModifierData *bmd = (BooleanModifierData*) md; @@ -81,9 +83,10 @@ static void updateDepgraph( } -static DerivedMesh *applyModifier( - ModifierData *md, Object *ob, DerivedMesh *derivedData, - int useRenderParams, int isFinalCalc) +static DerivedMesh *applyModifier(ModifierData *md, Object *ob, + DerivedMesh *derivedData, + int UNUSED(useRenderParams), + int UNUSED(isFinalCalc)) { BooleanModifierData *bmd = (BooleanModifierData*) md; DerivedMesh *dm = bmd->object->derivedFinal; @@ -105,7 +108,7 @@ static DerivedMesh *applyModifier( return derivedData; } -static CustomDataMask requiredDataMask(Object *ob, ModifierData *md) +static CustomDataMask requiredDataMask(Object *UNUSED(ob), ModifierData *UNUSED(md)) { CustomDataMask dataMask = (1 << CD_MTFACE) + (1 << CD_MEDGE); diff --git a/source/blender/modifiers/intern/MOD_build.c b/source/blender/modifiers/intern/MOD_build.c index de913d79f01..960db7fa925 100644 --- a/source/blender/modifiers/intern/MOD_build.c +++ b/source/blender/modifiers/intern/MOD_build.c @@ -65,14 +65,15 @@ static void copyData(ModifierData *md, ModifierData *target) tbmd->seed = bmd->seed; } -static int dependsOnTime(ModifierData *md) +static int dependsOnTime(ModifierData *UNUSED(md)) { return 1; } static DerivedMesh *applyModifier(ModifierData *md, Object *ob, - DerivedMesh *derivedData, - int useRenderParams, int isFinalCalc) + DerivedMesh *derivedData, + int UNUSED(useRenderParams), + int UNUSED(isFinalCalc)) { DerivedMesh *dm = derivedData; DerivedMesh *result; diff --git a/source/blender/modifiers/intern/MOD_cast.c b/source/blender/modifiers/intern/MOD_cast.c index 1872263848b..c39aa288b18 100644 --- a/source/blender/modifiers/intern/MOD_cast.c +++ b/source/blender/modifiers/intern/MOD_cast.c @@ -35,6 +35,7 @@ #include "BLI_math.h" +#include "BKE_utildefines.h" #include "BKE_deform.h" #include "BKE_DerivedMesh.h" #include "BKE_modifier.h" @@ -73,7 +74,7 @@ static void copyData(ModifierData *md, ModifierData *target) strncpy(tcmd->defgrp_name, cmd->defgrp_name, 32); } -static int isDisabled(ModifierData *md, int useRenderParams) +static int isDisabled(ModifierData *md, int UNUSED(useRenderParams)) { CastModifierData *cmd = (CastModifierData*) md; short flag; @@ -85,7 +86,7 @@ static int isDisabled(ModifierData *md, int useRenderParams) return 0; } -static CustomDataMask requiredDataMask(Object *ob, ModifierData *md) +static CustomDataMask requiredDataMask(Object *UNUSED(ob), ModifierData *md) { CastModifierData *cmd = (CastModifierData *)md; CustomDataMask dataMask = 0; @@ -106,9 +107,10 @@ static void foreachObjectLink( walk (userData, ob, &cmd->object); } -static void updateDepgraph( - ModifierData *md, DagForest *forest, struct Scene *scene, Object *ob, - DagNode *obNode) +static void updateDepgraph(ModifierData *md, DagForest *forest, + struct Scene *UNUSED(scene), + Object *UNUSED(ob), + DagNode *obNode) { CastModifierData *cmd = (CastModifierData*) md; @@ -566,14 +568,17 @@ static void cuboid_do( } } -static void deformVerts( - ModifierData *md, Object *ob, DerivedMesh *derivedData, - float (*vertexCos)[3], int numVerts, int useRenderParams, int isFinalCalc) +static void deformVerts(ModifierData *md, Object *ob, + DerivedMesh *derivedData, + float (*vertexCos)[3], + int numVerts, + int UNUSED(useRenderParams), + int UNUSED(isFinalCalc)) { DerivedMesh *dm = NULL; CastModifierData *cmd = (CastModifierData *)md; - dm = get_dm(md->scene, ob, NULL, derivedData, NULL, 0); + dm = get_dm(ob, NULL, derivedData, NULL, 0); if (cmd->type == MOD_CAST_TYPE_CUBOID) { cuboid_do(cmd, ob, dm, vertexCos, numVerts); @@ -589,7 +594,7 @@ static void deformVertsEM( ModifierData *md, Object *ob, struct EditMesh *editData, DerivedMesh *derivedData, float (*vertexCos)[3], int numVerts) { - DerivedMesh *dm = get_dm(md->scene, ob, editData, derivedData, NULL, 0); + DerivedMesh *dm = get_dm(ob, editData, derivedData, NULL, 0); CastModifierData *cmd = (CastModifierData *)md; if (cmd->type == MOD_CAST_TYPE_CUBOID) { diff --git a/source/blender/modifiers/intern/MOD_cloth.c b/source/blender/modifiers/intern/MOD_cloth.c index 1c0ab34f15c..0c6c1e87a72 100644 --- a/source/blender/modifiers/intern/MOD_cloth.c +++ b/source/blender/modifiers/intern/MOD_cloth.c @@ -36,6 +36,7 @@ #include "MEM_guardedalloc.h" +#include "BKE_utildefines.h" #include "BKE_cloth.h" #include "BKE_cdderivedmesh.h" #include "BKE_global.h" @@ -111,7 +112,7 @@ static void updateDepgraph( } } -static CustomDataMask requiredDataMask(Object *ob, ModifierData *md) +static CustomDataMask requiredDataMask(Object *UNUSED(ob), ModifierData *md) { CustomDataMask dataMask = 0; ClothModifierData *clmd = (ClothModifierData*)md; @@ -150,7 +151,7 @@ static void copyData(ModifierData *md, ModifierData *target) tclmd->clothObject = NULL; } -static int dependsOnTime(ModifierData *md) +static int dependsOnTime(ModifierData *UNUSED(md)) { return 1; } diff --git a/source/blender/modifiers/intern/MOD_collision.c b/source/blender/modifiers/intern/MOD_collision.c index 2651122231c..20319b8c65f 100644 --- a/source/blender/modifiers/intern/MOD_collision.c +++ b/source/blender/modifiers/intern/MOD_collision.c @@ -38,6 +38,7 @@ #include "BLI_math.h" +#include "BKE_utildefines.h" #include "BKE_collision.h" #include "BKE_cdderivedmesh.h" #include "BKE_global.h" @@ -94,14 +95,17 @@ static void freeData(ModifierData *md) } } -static int dependsOnTime(ModifierData *md) +static int dependsOnTime(ModifierData *UNUSED(md)) { return 1; } -static void deformVerts( - ModifierData *md, Object *ob, DerivedMesh *derivedData, - float (*vertexCos)[3], int numVerts, int useRenderParams, int isFinalCalc) +static void deformVerts(ModifierData *md, Object *ob, + DerivedMesh *derivedData, + float (*vertexCos)[3], + int UNUSED(numVerts), + int UNUSED(useRenderParams), + int UNUSED(isFinalCalc)) { CollisionModifierData *collmd = (CollisionModifierData*) md; DerivedMesh *dm = NULL; diff --git a/source/blender/modifiers/intern/MOD_curve.c b/source/blender/modifiers/intern/MOD_curve.c index 998bf375e79..8009ad0589c 100644 --- a/source/blender/modifiers/intern/MOD_curve.c +++ b/source/blender/modifiers/intern/MOD_curve.c @@ -35,6 +35,7 @@ #include "DNA_scene_types.h" #include "DNA_object_types.h" +#include "BKE_utildefines.h" #include "BKE_cdderivedmesh.h" #include "BKE_lattice.h" #include "BKE_modifier.h" @@ -59,7 +60,7 @@ static void copyData(ModifierData *md, ModifierData *target) strncpy(tcmd->name, cmd->name, 32); } -static CustomDataMask requiredDataMask(Object *ob, ModifierData *md) +static CustomDataMask requiredDataMask(Object *UNUSED(ob), ModifierData *md) { CurveModifierData *cmd = (CurveModifierData *)md; CustomDataMask dataMask = 0; @@ -70,7 +71,7 @@ static CustomDataMask requiredDataMask(Object *ob, ModifierData *md) return dataMask; } -static int isDisabled(ModifierData *md, int userRenderParams) +static int isDisabled(ModifierData *md, int UNUSED(userRenderParams)) { CurveModifierData *cmd = (CurveModifierData*) md; @@ -87,9 +88,10 @@ static void foreachObjectLink( walk(userData, ob, &cmd->object); } -static void updateDepgraph( - ModifierData *md, DagForest *forest, Scene *scene, - Object *ob, DagNode *obNode) +static void updateDepgraph(ModifierData *md, DagForest *forest, + Scene *UNUSED(scene), + Object *UNUSED(ob), + DagNode *obNode) { CurveModifierData *cmd = (CurveModifierData*) md; @@ -101,9 +103,12 @@ static void updateDepgraph( } } -static void deformVerts( - ModifierData *md, Object *ob, DerivedMesh *derivedData, - float (*vertexCos)[3], int numVerts, int useRenderParams, int isFinalCalc) +static void deformVerts(ModifierData *md, Object *ob, + DerivedMesh *derivedData, + float (*vertexCos)[3], + int numVerts, + int UNUSED(useRenderParams), + int UNUSED(isFinalCalc)) { CurveModifierData *cmd = (CurveModifierData*) md; diff --git a/source/blender/modifiers/intern/MOD_decimate.c b/source/blender/modifiers/intern/MOD_decimate.c index 03307934e00..8df0c0be3eb 100644 --- a/source/blender/modifiers/intern/MOD_decimate.c +++ b/source/blender/modifiers/intern/MOD_decimate.c @@ -34,6 +34,7 @@ #include "BLI_math.h" +#include "BKE_utildefines.h" #include "BKE_cdderivedmesh.h" #include "BKE_mesh.h" #include "BKE_modifier.h" @@ -59,9 +60,10 @@ static void copyData(ModifierData *md, ModifierData *target) tdmd->percent = dmd->percent; } -static DerivedMesh *applyModifier( - ModifierData *md, Object *ob, DerivedMesh *derivedData, - int useRenderParams, int isFinalCalc) +static DerivedMesh *applyModifier(ModifierData *md, Object *UNUSED(ob), + DerivedMesh *derivedData, + int UNUSED(useRenderParams), + int UNUSED(isFinalCalc)) { DecimateModifierData *dmd = (DecimateModifierData*) md; DerivedMesh *dm = derivedData, *result = NULL; diff --git a/source/blender/modifiers/intern/MOD_displace.c b/source/blender/modifiers/intern/MOD_displace.c index 2e811eb742d..95e8a9ce4cc 100644 --- a/source/blender/modifiers/intern/MOD_displace.c +++ b/source/blender/modifiers/intern/MOD_displace.c @@ -35,6 +35,7 @@ #include "BLI_math.h" +#include "BKE_utildefines.h" #include "BKE_cdderivedmesh.h" #include "BKE_modifier.h" #include "BKE_texture.h" @@ -75,7 +76,7 @@ static void copyData(ModifierData *md, ModifierData *target) strncpy(tdmd->uvlayer_name, dmd->uvlayer_name, 32); } -static CustomDataMask requiredDataMask(Object *ob, ModifierData *md) +static CustomDataMask requiredDataMask(Object *UNUSED(ob), ModifierData *md) { DisplaceModifierData *dmd = (DisplaceModifierData *)md; CustomDataMask dataMask = 0; @@ -127,16 +128,17 @@ static void foreachIDLink(ModifierData *md, Object *ob, foreachObjectLink(md, ob, (ObjectWalkFunc)walk, userData); } -static int isDisabled(ModifierData *md, int useRenderParams) +static int isDisabled(ModifierData *md, int UNUSED(useRenderParams)) { DisplaceModifierData *dmd = (DisplaceModifierData*) md; return (!dmd->texture || dmd->strength == 0.0f); } -static void updateDepgraph( - ModifierData *md, DagForest *forest, struct Scene *scene, - Object *ob, DagNode *obNode) +static void updateDepgraph(ModifierData *md, DagForest *forest, + struct Scene *UNUSED(scene), + Object *UNUSED(ob), + DagNode *obNode) { DisplaceModifierData *dmd = (DisplaceModifierData*) md; @@ -308,11 +310,14 @@ static void displaceModifier_do( MEM_freeN(tex_co); } -static void deformVerts( - ModifierData *md, Object *ob, DerivedMesh *derivedData, - float (*vertexCos)[3], int numVerts, int useRenderParams, int isFinalCalc) +static void deformVerts(ModifierData *md, Object *ob, + DerivedMesh *derivedData, + float (*vertexCos)[3], + int numVerts, + int UNUSED(useRenderParams), + int UNUSED(isFinalCalc)) { - DerivedMesh *dm= get_cddm(md->scene, ob, NULL, derivedData, vertexCos); + DerivedMesh *dm= get_cddm(ob, NULL, derivedData, vertexCos); displaceModifier_do((DisplaceModifierData *)md, ob, dm, vertexCos, numVerts); @@ -325,7 +330,7 @@ static void deformVertsEM( ModifierData *md, Object *ob, struct EditMesh *editData, DerivedMesh *derivedData, float (*vertexCos)[3], int numVerts) { - DerivedMesh *dm= get_cddm(md->scene, ob, editData, derivedData, vertexCos); + DerivedMesh *dm= get_cddm(ob, editData, derivedData, vertexCos); displaceModifier_do((DisplaceModifierData *)md, ob, dm, vertexCos, numVerts); diff --git a/source/blender/modifiers/intern/MOD_edgesplit.c b/source/blender/modifiers/intern/MOD_edgesplit.c index e80b80abdb5..daf9d76cf51 100644 --- a/source/blender/modifiers/intern/MOD_edgesplit.c +++ b/source/blender/modifiers/intern/MOD_edgesplit.c @@ -40,6 +40,7 @@ #include "BLI_edgehash.h" #include "BLI_math.h" +#include "BKE_utildefines.h" #include "BKE_cdderivedmesh.h" #include "BKE_modifier.h" #include "BKE_particle.h" @@ -730,8 +731,7 @@ static int edge_is_loose(SmoothEdge *edge) return !(edge->faces && edge->faces->next); } -static int edge_is_sharp(SmoothEdge *edge, int flags, - float threshold) +static int edge_is_sharp(SmoothEdge *edge) { #ifdef EDGESPLIT_DEBUG_1 printf("edge %d: ", edge->newIndex); @@ -761,8 +761,7 @@ static int edge_is_sharp(SmoothEdge *edge, int flags, * - hits a sharp edge (the edge is returned) * - returns to the start edge (NULL is returned) */ -static SmoothEdge *find_other_sharp_edge(SmoothVert *vert, SmoothEdge *edge, - LinkNode **visited_faces, float threshold, int flags) +static SmoothEdge *find_other_sharp_edge(SmoothVert *vert, SmoothEdge *edge, LinkNode **visited_faces) { SmoothFace *face = NULL; SmoothEdge *edge2 = NULL; @@ -790,7 +789,7 @@ static SmoothEdge *find_other_sharp_edge(SmoothVert *vert, SmoothEdge *edge, /* search until we hit a loose edge or a sharp edge or an edge we've * seen before */ - while(face && !edge_is_sharp(edge2, flags, threshold) + while(face && !edge_is_sharp(edge2) && !linklist_contains(visited_edges, edge2)) { #ifdef EDGESPLIT_DEBUG_3 printf("current face %4d; current edge %4d\n", face->newIndex, @@ -902,8 +901,7 @@ static void propagate_split(SmoothEdge *edge, SmoothVert *vert, edge->newIndex, vert->newIndex); #endif - edge2 = find_other_sharp_edge(vert, edge, &visited_faces, - mesh->threshold, mesh->flags); + edge2 = find_other_sharp_edge(vert, edge, &visited_faces); if(!edge2) { /* didn't find a sharp or loose edge, so we've hit a dead end */ @@ -912,7 +910,7 @@ static void propagate_split(SmoothEdge *edge, SmoothVert *vert, if(edge_is_loose(edge)) { /* edge is loose, so we can split edge2 at this vert */ split_edge(edge2, vert, mesh); - } else if(edge_is_sharp(edge, mesh->flags, mesh->threshold)) { + } else if(edge_is_sharp(edge)) { /* both edges are sharp, so we can split the pair at vert */ split_edge(edge, vert, mesh); } else { @@ -961,8 +959,7 @@ static void split_edge(SmoothEdge *edge, SmoothVert *vert, SmoothMesh *mesh) edge->newIndex, vert->newIndex); #endif - edge2 = find_other_sharp_edge(vert, edge, &visited_faces, - mesh->threshold, mesh->flags); + edge2 = find_other_sharp_edge(vert, edge, &visited_faces); if(!edge2) { /* didn't find a sharp or loose edge, so try the other vert */ @@ -1111,7 +1108,7 @@ static void split_sharp_edges(SmoothMesh *mesh, float split_angle, int flags) for(i = 0; i < mesh->num_edges; i++) { SmoothEdge *edge = &mesh->edges[i]; - if(edge_is_sharp(edge, flags, mesh->threshold)) { + if(edge_is_sharp(edge)) { split_edge(edge, edge->verts[0], mesh); do { @@ -1190,8 +1187,7 @@ static void split_bridge_verts(SmoothMesh *mesh) } } -static DerivedMesh *edgesplitModifier_do(EdgeSplitModifierData *emd, - Object *ob, DerivedMesh *dm) +static DerivedMesh *edgesplitModifier_do(EdgeSplitModifierData *emd, DerivedMesh *dm) { SmoothMesh *mesh; DerivedMesh *result; @@ -1244,14 +1240,15 @@ static DerivedMesh *edgesplitModifier_do(EdgeSplitModifierData *emd, return result; } -static DerivedMesh *applyModifier( - ModifierData *md, Object *ob, DerivedMesh *derivedData, - int useRenderParams, int isFinalCalc) +static DerivedMesh *applyModifier(ModifierData *md, Object *UNUSED(ob), + DerivedMesh *derivedData, + int UNUSED(useRenderParams), + int UNUSED(isFinalCalc)) { DerivedMesh *result; EdgeSplitModifierData *emd = (EdgeSplitModifierData*) md; - result = edgesplitModifier_do(emd, ob, derivedData); + result = edgesplitModifier_do(emd, derivedData); if(result != derivedData) CDDM_calc_normals(result); @@ -1259,9 +1256,9 @@ static DerivedMesh *applyModifier( return result; } -static DerivedMesh *applyModifierEM( - ModifierData *md, Object *ob, struct EditMesh *editData, - DerivedMesh *derivedData) +static DerivedMesh *applyModifierEM(ModifierData *md, Object *ob, + struct EditMesh *UNUSED(editData), + DerivedMesh *derivedData) { return applyModifier(md, ob, derivedData, 0, 1); } diff --git a/source/blender/modifiers/intern/MOD_explode.c b/source/blender/modifiers/intern/MOD_explode.c index cbf5f3c3b98..67f1f2a3e59 100644 --- a/source/blender/modifiers/intern/MOD_explode.c +++ b/source/blender/modifiers/intern/MOD_explode.c @@ -74,11 +74,11 @@ static void copyData(ModifierData *md, ModifierData *target) temd->protect = emd->protect; temd->vgroup = emd->vgroup; } -static int dependsOnTime(ModifierData *md) +static int dependsOnTime(ModifierData *UNUSED(md)) { return 1; } -static CustomDataMask requiredDataMask(Object *ob, ModifierData *md) +static CustomDataMask requiredDataMask(Object *UNUSED(ob), ModifierData *md) { ExplodeModifierData *emd= (ExplodeModifierData*) md; CustomDataMask dataMask = 0; @@ -90,8 +90,8 @@ static CustomDataMask requiredDataMask(Object *ob, ModifierData *md) } static void createFacepa(ExplodeModifierData *emd, - ParticleSystemModifierData *psmd, - Object *ob, DerivedMesh *dm) + ParticleSystemModifierData *psmd, + DerivedMesh *dm) { ParticleSystem *psys=psmd->psys; MFace *fa=0, *mface=0; @@ -833,9 +833,10 @@ static ParticleSystemModifierData * findPrecedingParticlesystem(Object *ob, Modi } return psmd; } -static DerivedMesh * applyModifier( - ModifierData *md, Object *ob, DerivedMesh *derivedData, - int useRenderParams, int isFinalCalc) +static DerivedMesh * applyModifier(ModifierData *md, Object *ob, + DerivedMesh *derivedData, + int UNUSED(useRenderParams), + int UNUSED(isFinalCalc)) { DerivedMesh *dm = derivedData; ExplodeModifierData *emd= (ExplodeModifierData*) md; @@ -852,16 +853,16 @@ static DerivedMesh * applyModifier( if(emd->facepa==0 || psmd->flag&eParticleSystemFlag_Pars || emd->flag&eExplodeFlag_CalcFaces - || MEM_allocN_len(emd->facepa)/sizeof(int) != dm->getNumFaces(dm)){ + || MEM_allocN_len(emd->facepa)/sizeof(int) != dm->getNumFaces(dm)) + { if(psmd->flag & eParticleSystemFlag_Pars) psmd->flag &= ~eParticleSystemFlag_Pars; if(emd->flag & eExplodeFlag_CalcFaces) emd->flag &= ~eExplodeFlag_CalcFaces; - createFacepa(emd,psmd,ob,derivedData); - } - + createFacepa(emd,psmd,derivedData); + } /* 2. create new mesh */ if(emd->flag & eExplodeFlag_EdgeSplit){ int *facepa = emd->facepa; diff --git a/source/blender/modifiers/intern/MOD_fluidsim.c b/source/blender/modifiers/intern/MOD_fluidsim.c index 619891e136f..14fb09f1c1f 100644 --- a/source/blender/modifiers/intern/MOD_fluidsim.c +++ b/source/blender/modifiers/intern/MOD_fluidsim.c @@ -34,6 +34,7 @@ #include "DNA_object_fluidsim.h" #include "DNA_object_types.h" +#include "BKE_utildefines.h" #include "BKE_cdderivedmesh.h" #include "BKE_modifier.h" @@ -125,7 +126,7 @@ static void updateDepgraph( } } -static int dependsOnTime(ModifierData *md) +static int dependsOnTime(ModifierData *UNUSED(md)) { return 1; } diff --git a/source/blender/modifiers/intern/MOD_fluidsim_util.c b/source/blender/modifiers/intern/MOD_fluidsim_util.c index 0c5428cc9d8..42c2fc5bbe4 100644 --- a/source/blender/modifiers/intern/MOD_fluidsim_util.c +++ b/source/blender/modifiers/intern/MOD_fluidsim_util.c @@ -443,7 +443,7 @@ void fluidsim_read_vel_cache(FluidsimModifierData *fluidmd, DerivedMesh *dm, cha gzclose(gzf); } -DerivedMesh *fluidsim_read_cache(Object *ob, DerivedMesh *orgdm, FluidsimModifierData *fluidmd, int framenr, int useRenderParams) +DerivedMesh *fluidsim_read_cache(DerivedMesh *orgdm, FluidsimModifierData *fluidmd, int framenr, int useRenderParams) { int displaymode = 0; int curFrame = framenr - 1 /*scene->r.sfra*/; /* start with 0 at start frame */ @@ -537,7 +537,11 @@ DerivedMesh *fluidsim_read_cache(Object *ob, DerivedMesh *orgdm, FluidsimModifie #endif // DISABLE_ELBEEM -DerivedMesh *fluidsimModifier_do(FluidsimModifierData *fluidmd, Scene *scene, Object *ob, DerivedMesh *dm, int useRenderParams, int isFinalCalc) +DerivedMesh *fluidsimModifier_do(FluidsimModifierData *fluidmd, Scene *scene, + Object *UNUSED(ob), + DerivedMesh *dm, + int useRenderParams, + int UNUSED(isFinalCalc)) { #ifndef DISABLE_ELBEEM DerivedMesh *result = NULL; @@ -567,7 +571,7 @@ DerivedMesh *fluidsimModifier_do(FluidsimModifierData *fluidmd, Scene *scene, Ob } /* try to read from cache */ - if(((fss->lastgoodframe >= framenr) || (fss->lastgoodframe < 0)) && (result = fluidsim_read_cache(ob, dm, fluidmd, framenr, useRenderParams))) + if(((fss->lastgoodframe >= framenr) || (fss->lastgoodframe < 0)) && (result = fluidsim_read_cache(dm, fluidmd, framenr, useRenderParams))) { // fss->lastgoodframe = framenr; // set also in src/fluidsim.c return result; @@ -577,7 +581,7 @@ DerivedMesh *fluidsimModifier_do(FluidsimModifierData *fluidmd, Scene *scene, Ob // display last known good frame if(fss->lastgoodframe >= 0) { - if((result = fluidsim_read_cache(ob, dm, fluidmd, fss->lastgoodframe, useRenderParams))) + if((result = fluidsim_read_cache(dm, fluidmd, fss->lastgoodframe, useRenderParams))) { return result; } @@ -587,7 +591,7 @@ DerivedMesh *fluidsimModifier_do(FluidsimModifierData *fluidmd, Scene *scene, Ob // this could be likely the case when you load an old fluidsim - if((result = fluidsim_read_cache(ob, dm, fluidmd, fss->lastgoodframe, useRenderParams))) + if((result = fluidsim_read_cache(dm, fluidmd, fss->lastgoodframe, useRenderParams))) { return result; } diff --git a/source/blender/modifiers/intern/MOD_hook.c b/source/blender/modifiers/intern/MOD_hook.c index f2ffd486aa5..8ad3c9aaf5b 100644 --- a/source/blender/modifiers/intern/MOD_hook.c +++ b/source/blender/modifiers/intern/MOD_hook.c @@ -40,6 +40,7 @@ #include "BKE_cdderivedmesh.h" #include "BKE_modifier.h" #include "BKE_deform.h" +#include "BKE_utildefines.h" #include "depsgraph_private.h" #include "MEM_guardedalloc.h" @@ -68,7 +69,7 @@ static void copyData(ModifierData *md, ModifierData *target) strncpy(thmd->subtarget, hmd->subtarget, 32); } -static CustomDataMask requiredDataMask(Object *ob, ModifierData *md) +static CustomDataMask requiredDataMask(Object *UNUSED(ob), ModifierData *md) { HookModifierData *hmd = (HookModifierData *)md; CustomDataMask dataMask = 0; @@ -86,7 +87,7 @@ static void freeData(ModifierData *md) if (hmd->indexar) MEM_freeN(hmd->indexar); } -static int isDisabled(ModifierData *md, int useRenderParams) +static int isDisabled(ModifierData *md, int UNUSED(useRenderParams)) { HookModifierData *hmd = (HookModifierData*) md; @@ -103,8 +104,10 @@ static void foreachObjectLink( walk(userData, ob, &hmd->object); } -static void updateDepgraph(ModifierData *md, DagForest *forest, struct Scene *scene, - Object *ob, DagNode *obNode) +static void updateDepgraph(ModifierData *md, DagForest *forest, + struct Scene *UNUSED(scene), + Object *UNUSED(ob), + DagNode *obNode) { HookModifierData *hmd = (HookModifierData*) md; @@ -118,9 +121,12 @@ static void updateDepgraph(ModifierData *md, DagForest *forest, struct Scene *sc } } -static void deformVerts( - ModifierData *md, Object *ob, DerivedMesh *derivedData, - float (*vertexCos)[3], int numVerts, int useRenderParams, int isFinalCalc) +static void deformVerts(ModifierData *md, Object *ob, + DerivedMesh *derivedData, + float (*vertexCos)[3], + int numVerts, + int UNUSED(useRenderParams), + int UNUSED(isFinalCalc)) { HookModifierData *hmd = (HookModifierData*) md; bPoseChannel *pchan= get_pose_channel(hmd->object->pose, hmd->subtarget); diff --git a/source/blender/modifiers/intern/MOD_lattice.c b/source/blender/modifiers/intern/MOD_lattice.c index 532475a3466..fdbc3fa0a50 100644 --- a/source/blender/modifiers/intern/MOD_lattice.c +++ b/source/blender/modifiers/intern/MOD_lattice.c @@ -34,6 +34,7 @@ #include "DNA_object_types.h" +#include "BKE_utildefines.h" #include "BKE_cdderivedmesh.h" #include "BKE_lattice.h" #include "BKE_modifier.h" @@ -52,7 +53,7 @@ static void copyData(ModifierData *md, ModifierData *target) strncpy(tlmd->name, lmd->name, 32); } -static CustomDataMask requiredDataMask(Object *ob, ModifierData *md) +static CustomDataMask requiredDataMask(Object *UNUSED(ob), ModifierData *md) { LatticeModifierData *lmd = (LatticeModifierData *)md; CustomDataMask dataMask = 0; @@ -63,7 +64,7 @@ static CustomDataMask requiredDataMask(Object *ob, ModifierData *md) return dataMask; } -static int isDisabled(ModifierData *md, int userRenderParams) +static int isDisabled(ModifierData *md, int UNUSED(userRenderParams)) { LatticeModifierData *lmd = (LatticeModifierData*) md; @@ -80,8 +81,10 @@ static void foreachObjectLink( walk(userData, ob, &lmd->object); } -static void updateDepgraph(ModifierData *md, DagForest *forest, struct Scene *scene, - Object *ob, DagNode *obNode) +static void updateDepgraph(ModifierData *md, DagForest *forest, + struct Scene *UNUSED(scene), + Object *UNUSED(ob), + DagNode *obNode) { LatticeModifierData *lmd = (LatticeModifierData*) md; @@ -93,9 +96,12 @@ static void updateDepgraph(ModifierData *md, DagForest *forest, struct Scene *sc } } -static void deformVerts( - ModifierData *md, Object *ob, DerivedMesh *derivedData, - float (*vertexCos)[3], int numVerts, int useRenderParams, int isFinalCalc) +static void deformVerts(ModifierData *md, Object *ob, + DerivedMesh *derivedData, + float (*vertexCos)[3], + int numVerts, + int UNUSED(useRenderParams), + int UNUSED(isFinalCalc)) { LatticeModifierData *lmd = (LatticeModifierData*) md; diff --git a/source/blender/modifiers/intern/MOD_mask.c b/source/blender/modifiers/intern/MOD_mask.c index c1565352133..eddb21596a6 100644 --- a/source/blender/modifiers/intern/MOD_mask.c +++ b/source/blender/modifiers/intern/MOD_mask.c @@ -55,7 +55,7 @@ static void copyData(ModifierData *md, ModifierData *target) strcpy(tmmd->vgroup, mmd->vgroup); } -static CustomDataMask requiredDataMask(Object *ob, ModifierData *md) +static CustomDataMask requiredDataMask(Object *UNUSED(ob), ModifierData *UNUSED(md)) { return (1 << CD_MDEFORMVERT); } @@ -69,8 +69,10 @@ static void foreachObjectLink( walk(userData, ob, &mmd->ob_arm); } -static void updateDepgraph(ModifierData *md, DagForest *forest, struct Scene *scene, - Object *ob, DagNode *obNode) +static void updateDepgraph(ModifierData *md, DagForest *forest, + struct Scene *UNUSED(scene), + Object *UNUSED(ob), + DagNode *obNode) { MaskModifierData *mmd = (MaskModifierData *)md; @@ -84,8 +86,9 @@ static void updateDepgraph(ModifierData *md, DagForest *forest, struct Scene *sc } static DerivedMesh *applyModifier(ModifierData *md, Object *ob, - DerivedMesh *derivedData, - int useRenderParams, int isFinalCalc) + DerivedMesh *derivedData, + int UNUSED(useRenderParams), + int UNUSED(isFinalCalc)) { MaskModifierData *mmd= (MaskModifierData *)md; DerivedMesh *dm= derivedData, *result= NULL; diff --git a/source/blender/modifiers/intern/MOD_meshdeform.c b/source/blender/modifiers/intern/MOD_meshdeform.c index af87fb6ef74..587b3b8f053 100644 --- a/source/blender/modifiers/intern/MOD_meshdeform.c +++ b/source/blender/modifiers/intern/MOD_meshdeform.c @@ -35,6 +35,7 @@ #include "BLI_math.h" +#include "BKE_utildefines.h" #include "BKE_cdderivedmesh.h" #include "BKE_global.h" #include "BKE_mesh.h" @@ -76,7 +77,7 @@ static void copyData(ModifierData *md, ModifierData *target) tmmd->object = mmd->object; } -static CustomDataMask requiredDataMask(Object *ob, ModifierData *md) +static CustomDataMask requiredDataMask(Object *UNUSED(ob), ModifierData *md) { MeshDeformModifierData *mmd = (MeshDeformModifierData *)md; CustomDataMask dataMask = 0; @@ -87,7 +88,7 @@ static CustomDataMask requiredDataMask(Object *ob, ModifierData *md) return dataMask; } -static int isDisabled(ModifierData *md, int useRenderParams) +static int isDisabled(ModifierData *md, int UNUSED(useRenderParams)) { MeshDeformModifierData *mmd = (MeshDeformModifierData*) md; @@ -104,9 +105,10 @@ static void foreachObjectLink( walk(userData, ob, &mmd->object); } -static void updateDepgraph( - ModifierData *md, DagForest *forest, struct Scene *scene, Object *ob, - DagNode *obNode) +static void updateDepgraph(ModifierData *md, DagForest *forest, + struct Scene *UNUSED(scene), + Object *UNUSED(ob), + DagNode *obNode) { MeshDeformModifierData *mmd = (MeshDeformModifierData*) md; @@ -204,7 +206,7 @@ static void meshdeformModifier_do( /* if we don't have one computed, use derivedmesh from data * without any modifiers */ if(!cagedm) { - cagedm= get_dm(md->scene, mmd->object, NULL, NULL, NULL, 0); + cagedm= get_dm(mmd->object, NULL, NULL, NULL, 0); if(cagedm) cagedm->needsFree= 1; } @@ -338,11 +340,14 @@ static void meshdeformModifier_do( cagedm->release(cagedm); } -static void deformVerts( - ModifierData *md, Object *ob, DerivedMesh *derivedData, - float (*vertexCos)[3], int numVerts, int useRenderParams, int isFinalCalc) +static void deformVerts(ModifierData *md, Object *ob, + DerivedMesh *derivedData, + float (*vertexCos)[3], + int numVerts, + int UNUSED(useRenderParams), + int UNUSED(isFinalCalc)) { - DerivedMesh *dm= get_dm(md->scene, ob, NULL, derivedData, NULL, 0);; + DerivedMesh *dm= get_dm(ob, NULL, derivedData, NULL, 0);; modifier_vgroup_cache(md, vertexCos); /* if next modifier needs original vertices */ @@ -352,11 +357,13 @@ static void deformVerts( dm->release(dm); } -static void deformVertsEM( - ModifierData *md, Object *ob, struct EditMesh *editData, - DerivedMesh *derivedData, float (*vertexCos)[3], int numVerts) +static void deformVertsEM(ModifierData *md, Object *ob, + struct EditMesh *UNUSED(editData), + DerivedMesh *derivedData, + float (*vertexCos)[3], + int numVerts) { - DerivedMesh *dm= get_dm(md->scene, ob, NULL, derivedData, NULL, 0);; + DerivedMesh *dm= get_dm(ob, NULL, derivedData, NULL, 0);; meshdeformModifier_do(md, ob, dm, vertexCos, numVerts); diff --git a/source/blender/modifiers/intern/MOD_mirror.c b/source/blender/modifiers/intern/MOD_mirror.c index 9289c44c414..6405f0e9d76 100644 --- a/source/blender/modifiers/intern/MOD_mirror.c +++ b/source/blender/modifiers/intern/MOD_mirror.c @@ -74,8 +74,10 @@ static void foreachObjectLink( walk(userData, ob, &mmd->mirror_ob); } -static void updateDepgraph(ModifierData *md, DagForest *forest, struct Scene *scene, - Object *ob, DagNode *obNode) +static void updateDepgraph(ModifierData *md, DagForest *forest, + struct Scene *UNUSED(scene), + Object *UNUSED(ob), + DagNode *obNode) { MirrorModifierData *mmd = (MirrorModifierData*) md; @@ -298,9 +300,10 @@ static DerivedMesh *mirrorModifier__doMirror(MirrorModifierData *mmd, return result; } -static DerivedMesh *applyModifier( - ModifierData *md, Object *ob, DerivedMesh *derivedData, - int useRenderParams, int isFinalCalc) +static DerivedMesh *applyModifier(ModifierData *md, Object *ob, + DerivedMesh *derivedData, + int UNUSED(useRenderParams), + int UNUSED(isFinalCalc)) { DerivedMesh *result; MirrorModifierData *mmd = (MirrorModifierData*) md; @@ -313,9 +316,9 @@ static DerivedMesh *applyModifier( return result; } -static DerivedMesh *applyModifierEM( - ModifierData *md, Object *ob, struct EditMesh *editData, - DerivedMesh *derivedData) +static DerivedMesh *applyModifierEM(ModifierData *md, Object *ob, + struct EditMesh *UNUSED(editData), + DerivedMesh *derivedData) { return applyModifier(md, ob, derivedData, 0, 1); } diff --git a/source/blender/modifiers/intern/MOD_none.c b/source/blender/modifiers/intern/MOD_none.c index 8cfb2a59376..1b6a709e7f4 100644 --- a/source/blender/modifiers/intern/MOD_none.c +++ b/source/blender/modifiers/intern/MOD_none.c @@ -34,13 +34,14 @@ * ***** END GPL LICENSE BLOCK ***** */ +#include "BKE_utildefines.h" #include "MOD_modifiertypes.h" /* We only need to define isDisabled; because it always returns 1, * no other functions will be called */ -static int isDisabled(ModifierData *md, int userRenderParams) +static int isDisabled(ModifierData *UNUSED(md), int UNUSED(userRenderParams)) { return 1; } diff --git a/source/blender/modifiers/intern/MOD_particleinstance.c b/source/blender/modifiers/intern/MOD_particleinstance.c index bbd0219d3f8..9fcefdba49a 100644 --- a/source/blender/modifiers/intern/MOD_particleinstance.c +++ b/source/blender/modifiers/intern/MOD_particleinstance.c @@ -72,12 +72,14 @@ static void copyData(ModifierData *md, ModifierData *target) tpimd->random_position = pimd->random_position; } -static int dependsOnTime(ModifierData *md) +static int dependsOnTime(ModifierData *UNUSED(md)) { return 0; } static void updateDepgraph(ModifierData *md, DagForest *forest, - struct Scene *scene,Object *ob, DagNode *obNode) + struct Scene *UNUSED(scene), + Object *UNUSED(ob), + DagNode *obNode) { ParticleInstanceModifierData *pimd = (ParticleInstanceModifierData*) md; @@ -98,9 +100,10 @@ static void foreachObjectLink(ModifierData *md, Object *ob, walk(userData, ob, &pimd->ob); } -static DerivedMesh * applyModifier( - ModifierData *md, Object *ob, DerivedMesh *derivedData, - int useRenderParams, int isFinalCalc) +static DerivedMesh * applyModifier(ModifierData *md, Object *ob, + DerivedMesh *derivedData, + int UNUSED(useRenderParams), + int UNUSED(isFinalCalc)) { DerivedMesh *dm = derivedData, *result; ParticleInstanceModifierData *pimd= (ParticleInstanceModifierData*) md; @@ -306,9 +309,9 @@ static DerivedMesh * applyModifier( return result; } -static DerivedMesh *applyModifierEM( - ModifierData *md, Object *ob, struct EditMesh *editData, - DerivedMesh *derivedData) +static DerivedMesh *applyModifierEM(ModifierData *md, Object *ob, + struct EditMesh *UNUSED(editData), + DerivedMesh *derivedData) { return applyModifier(md, ob, derivedData, 0, 1); } diff --git a/source/blender/modifiers/intern/MOD_particlesystem.c b/source/blender/modifiers/intern/MOD_particlesystem.c index 602b6dd1d56..0feea3b6bf5 100644 --- a/source/blender/modifiers/intern/MOD_particlesystem.c +++ b/source/blender/modifiers/intern/MOD_particlesystem.c @@ -34,6 +34,7 @@ #include "DNA_material_types.h" +#include "BKE_utildefines.h" #include "BKE_cdderivedmesh.h" #include "BKE_material.h" #include "BKE_modifier.h" @@ -119,9 +120,12 @@ static CustomDataMask requiredDataMask(Object *ob, ModifierData *md) } /* saves the current emitter state for a particle system and calculates particles */ -static void deformVerts( - ModifierData *md, Object *ob, DerivedMesh *derivedData, - float (*vertexCos)[3], int numVerts, int useRenderParams, int isFinalCalc) +static void deformVerts(ModifierData *md, Object *ob, + DerivedMesh *derivedData, + float (*vertexCos)[3], + int UNUSED(numVerts), + int UNUSED(useRenderParams), + int UNUSED(isFinalCalc)) { DerivedMesh *dm = derivedData; ParticleSystemModifierData *psmd= (ParticleSystemModifierData*) md; @@ -137,7 +141,7 @@ static void deformVerts( return; if(dm==0) { - dm= get_dm(md->scene, ob, NULL, NULL, vertexCos, 1); + dm= get_dm(ob, NULL, NULL, vertexCos, 1); if(!dm) return; diff --git a/source/blender/modifiers/intern/MOD_screw.c b/source/blender/modifiers/intern/MOD_screw.c index 0016fd2d266..668f0a086d1 100644 --- a/source/blender/modifiers/intern/MOD_screw.c +++ b/source/blender/modifiers/intern/MOD_screw.c @@ -37,6 +37,7 @@ #include "BLI_math.h" +#include "BKE_utildefines.h" #include "BKE_cdderivedmesh.h" #include "depsgraph_private.h" @@ -128,8 +129,9 @@ static void copyData(ModifierData *md, ModifierData *target) } static DerivedMesh *applyModifier(ModifierData *md, Object *ob, - DerivedMesh *derivedData, - int useRenderParams, int isFinalCalc) + DerivedMesh *derivedData, + int useRenderParams, + int UNUSED(isFinalCalc)) { DerivedMesh *dm= derivedData; DerivedMesh *result; @@ -832,9 +834,10 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob, } -static void updateDepgraph( - ModifierData *md, DagForest *forest, - struct Scene *scene, Object *ob, DagNode *obNode) +static void updateDepgraph(ModifierData *md, DagForest *forest, + struct Scene *UNUSED(scene), + Object *UNUSED(ob), + DagNode *obNode) { ScrewModifierData *ltmd= (ScrewModifierData*) md; @@ -859,13 +862,15 @@ static void foreachObjectLink( /* This dosnt work with material*/ static DerivedMesh *applyModifierEM( - ModifierData *md, Object *ob, struct EditMesh *editData, + ModifierData *md, + Object *ob, + struct EditMesh *UNUSED(editData), DerivedMesh *derivedData) { return applyModifier(md, ob, derivedData, 0, 1); } -static int dependsOnTime(ModifierData *md) +static int dependsOnTime(ModifierData *UNUSED(md)) { return 0; } diff --git a/source/blender/modifiers/intern/MOD_shapekey.c b/source/blender/modifiers/intern/MOD_shapekey.c index bf675b874f6..3a3150022d8 100644 --- a/source/blender/modifiers/intern/MOD_shapekey.c +++ b/source/blender/modifiers/intern/MOD_shapekey.c @@ -34,6 +34,7 @@ #include "DNA_key_types.h" +#include "BKE_utildefines.h" #include "BKE_cdderivedmesh.h" #include "BKE_key.h" #include "BKE_particle.h" @@ -42,9 +43,12 @@ #include "MEM_guardedalloc.h" -static void deformVerts( - ModifierData *md, Object *ob, DerivedMesh *derivedData, - float (*vertexCos)[3], int numVerts, int useRenderParams, int isFinalCalc) +static void deformVerts(ModifierData *md, Object *ob, + DerivedMesh *UNUSED(derivedData), + float (*vertexCos)[3], + int numVerts, + int UNUSED(useRenderParams), + int UNUSED(isFinalCalc)) { KeyBlock *kb= ob_get_keyblock(ob); float (*deformedVerts)[3]; @@ -58,9 +62,11 @@ static void deformVerts( } } -static void deformVertsEM( - ModifierData *md, Object *ob, struct EditMesh *editData, - DerivedMesh *derivedData, float (*vertexCos)[3], int numVerts) +static void deformVertsEM(ModifierData *md, Object *ob, + struct EditMesh *UNUSED(editData), + DerivedMesh *derivedData, + float (*vertexCos)[3], + int numVerts) { Key *key= ob_get_key(ob); @@ -68,10 +74,12 @@ static void deformVertsEM( deformVerts(md, ob, derivedData, vertexCos, numVerts, 0, 0); } -static void deformMatricesEM( - ModifierData *md, Object *ob, struct EditMesh *editData, - DerivedMesh *derivedData, float (*vertexCos)[3], - float (*defMats)[3][3], int numVerts) +static void deformMatricesEM(ModifierData *UNUSED(md), Object *ob, + struct EditMesh *UNUSED(editData), + DerivedMesh *UNUSED(derivedData), + float UNUSED((*vertexCos)[3]), + float (*defMats)[3][3], + int numVerts) { Key *key= ob_get_key(ob); KeyBlock *kb= ob_get_keyblock(ob); diff --git a/source/blender/modifiers/intern/MOD_shrinkwrap.c b/source/blender/modifiers/intern/MOD_shrinkwrap.c index 6baee9f0d98..6eebe9b5e5e 100644 --- a/source/blender/modifiers/intern/MOD_shrinkwrap.c +++ b/source/blender/modifiers/intern/MOD_shrinkwrap.c @@ -32,6 +32,7 @@ #include +#include "BKE_utildefines.h" #include "BKE_cdderivedmesh.h" #include "BKE_modifier.h" #include "BKE_shrinkwrap.h" @@ -71,7 +72,7 @@ static void copyData(ModifierData *md, ModifierData *target) tsmd->subsurfLevels = smd->subsurfLevels; } -static CustomDataMask requiredDataMask(Object *ob, ModifierData *md) +static CustomDataMask requiredDataMask(Object *UNUSED(ob), ModifierData *md) { ShrinkwrapModifierData *smd = (ShrinkwrapModifierData *)md; CustomDataMask dataMask = 0; @@ -87,7 +88,7 @@ static CustomDataMask requiredDataMask(Object *ob, ModifierData *md) return dataMask; } -static int isDisabled(ModifierData *md, int useRenderParams) +static int isDisabled(ModifierData *md, int UNUSED(useRenderParams)) { ShrinkwrapModifierData *smd = (ShrinkwrapModifierData*) md; return !smd->target; @@ -102,14 +103,19 @@ static void foreachObjectLink(ModifierData *md, Object *ob, ObjectWalkFunc walk, walk(userData, ob, &smd->auxTarget); } -static void deformVerts(ModifierData *md, Object *ob, DerivedMesh *derivedData, float (*vertexCos)[3], int numVerts, int useRenderParams, int isFinalCalc) +static void deformVerts(ModifierData *md, Object *ob, + DerivedMesh *derivedData, + float (*vertexCos)[3], + int numVerts, + int UNUSED(useRenderParams), + int UNUSED(isFinalCalc)) { DerivedMesh *dm = derivedData; CustomDataMask dataMask = requiredDataMask(ob, md); /* ensure we get a CDDM with applied vertex coords */ if(dataMask) - dm= get_cddm(md->scene, ob, NULL, dm, vertexCos); + dm= get_cddm(ob, NULL, dm, vertexCos); shrinkwrapModifier_deform((ShrinkwrapModifierData*)md, md->scene, ob, dm, vertexCos, numVerts); @@ -124,7 +130,7 @@ static void deformVertsEM(ModifierData *md, Object *ob, struct EditMesh *editDat /* ensure we get a CDDM with applied vertex coords */ if(dataMask) - dm= get_cddm(md->scene, ob, editData, dm, vertexCos); + dm= get_cddm(ob, editData, dm, vertexCos); shrinkwrapModifier_deform((ShrinkwrapModifierData*)md, md->scene, ob, dm, vertexCos, numVerts); @@ -132,7 +138,10 @@ static void deformVertsEM(ModifierData *md, Object *ob, struct EditMesh *editDat dm->release(dm); } -static void updateDepgraph(ModifierData *md, DagForest *forest, struct Scene *scene, Object *ob, DagNode *obNode) +static void updateDepgraph(ModifierData *md, DagForest *forest, + struct Scene *UNUSED(scene), + Object *UNUSED(ob), + DagNode *obNode) { ShrinkwrapModifierData *smd = (ShrinkwrapModifierData*) md; diff --git a/source/blender/modifiers/intern/MOD_simpledeform.c b/source/blender/modifiers/intern/MOD_simpledeform.c index ab580781351..7c47ab02157 100644 --- a/source/blender/modifiers/intern/MOD_simpledeform.c +++ b/source/blender/modifiers/intern/MOD_simpledeform.c @@ -290,7 +290,7 @@ static void copyData(ModifierData *md, ModifierData *target) strcpy(tsmd->vgroup_name, smd->vgroup_name); } -static CustomDataMask requiredDataMask(Object *ob, ModifierData *md) +static CustomDataMask requiredDataMask(Object *UNUSED(ob), ModifierData *md) { SimpleDeformModifierData *smd = (SimpleDeformModifierData *)md; CustomDataMask dataMask = 0; @@ -308,7 +308,10 @@ static void foreachObjectLink(ModifierData *md, Object *ob, void (*walk)(void *u walk(userData, ob, &smd->origin); } -static void updateDepgraph(ModifierData *md, DagForest *forest, struct Scene *scene, Object *ob, DagNode *obNode) +static void updateDepgraph(ModifierData *md, DagForest *forest, + struct Scene *UNUSED(scene), + Object *UNUSED(ob), + DagNode *obNode) { SimpleDeformModifierData *smd = (SimpleDeformModifierData*)md; @@ -316,7 +319,12 @@ static void updateDepgraph(ModifierData *md, DagForest *forest, struct Scene *sc dag_add_relation(forest, dag_get_node(forest, smd->origin), obNode, DAG_RL_OB_DATA, "SimpleDeform Modifier"); } -static void deformVerts(ModifierData *md, Object *ob, DerivedMesh *derivedData, float (*vertexCos)[3], int numVerts, int useRenderParams, int isFinalCalc) +static void deformVerts(ModifierData *md, Object *ob, + DerivedMesh *derivedData, + float (*vertexCos)[3], + int numVerts, + int UNUSED(useRenderParams), + int UNUSED(isFinalCalc)) { DerivedMesh *dm = derivedData; CustomDataMask dataMask = requiredDataMask(ob, md); @@ -324,7 +332,7 @@ static void deformVerts(ModifierData *md, Object *ob, DerivedMesh *derivedData, /* we implement requiredDataMask but thats not really usefull since mesh_calc_modifiers pass a NULL derivedData */ if(dataMask) - dm= get_dm(md->scene, ob, NULL, dm, NULL, 0); + dm= get_dm(ob, NULL, dm, NULL, 0); SimpleDeformModifier_do((SimpleDeformModifierData*)md, ob, dm, vertexCos, numVerts); @@ -332,7 +340,11 @@ static void deformVerts(ModifierData *md, Object *ob, DerivedMesh *derivedData, dm->release(dm); } -static void deformVertsEM(ModifierData *md, Object *ob, struct EditMesh *editData, DerivedMesh *derivedData, float (*vertexCos)[3], int numVerts) +static void deformVertsEM(ModifierData *md, Object *ob, + struct EditMesh *editData, + DerivedMesh *derivedData, + float (*vertexCos)[3], + int numVerts) { DerivedMesh *dm = derivedData; CustomDataMask dataMask = requiredDataMask(ob, md); @@ -340,7 +352,7 @@ static void deformVertsEM(ModifierData *md, Object *ob, struct EditMesh *editDat /* we implement requiredDataMask but thats not really usefull since mesh_calc_modifiers pass a NULL derivedData */ if(dataMask) - dm= get_dm(md->scene, ob, editData, dm, NULL, 0); + dm= get_dm(ob, editData, dm, NULL, 0); SimpleDeformModifier_do((SimpleDeformModifierData*)md, ob, dm, vertexCos, numVerts); diff --git a/source/blender/modifiers/intern/MOD_smoke.c b/source/blender/modifiers/intern/MOD_smoke.c index f89ff0bb1b5..aee466802ca 100644 --- a/source/blender/modifiers/intern/MOD_smoke.c +++ b/source/blender/modifiers/intern/MOD_smoke.c @@ -36,6 +36,7 @@ #include "DNA_object_types.h" +#include "BKE_utildefines.h" #include "BKE_cdderivedmesh.h" #include "BKE_modifier.h" #include "BKE_smoke.h" @@ -71,12 +72,15 @@ static void freeData(ModifierData *md) smokeModifier_free (smd); } -static void deformVerts( - ModifierData *md, Object *ob, DerivedMesh *derivedData, - float (*vertexCos)[3], int numVerts, int useRenderParams, int isFinalCalc) +static void deformVerts(ModifierData *md, Object *ob, + DerivedMesh *derivedData, + float (*vertexCos)[3], + int UNUSED(numVerts), + int useRenderParams, + int isFinalCalc) { SmokeModifierData *smd = (SmokeModifierData*) md; - DerivedMesh *dm = dm= get_cddm(md->scene, ob, NULL, derivedData, vertexCos); + DerivedMesh *dm = dm= get_cddm(ob, NULL, derivedData, vertexCos); smokeModifier_do(smd, md->scene, ob, dm, useRenderParams, isFinalCalc); @@ -84,14 +88,15 @@ static void deformVerts( dm->release(dm); } -static int dependsOnTime(ModifierData *md) +static int dependsOnTime(ModifierData *UNUSED(md)) { return 1; } -static void updateDepgraph( - ModifierData *md, DagForest *forest, struct Scene *scene, Object *ob, - DagNode *obNode) +static void updateDepgraph(ModifierData *UNUSED(md), DagForest *UNUSED(forest), + struct Scene *UNUSED(scene), + Object *UNUSED(ob), + DagNode *UNUSED(obNode)) { /*SmokeModifierData *smd = (SmokeModifierData *) md; if(smd && (smd->type & MOD_SMOKE_TYPE_DOMAIN) && smd->domain) diff --git a/source/blender/modifiers/intern/MOD_smooth.c b/source/blender/modifiers/intern/MOD_smooth.c index 96269c092c9..db7013f53ce 100644 --- a/source/blender/modifiers/intern/MOD_smooth.c +++ b/source/blender/modifiers/intern/MOD_smooth.c @@ -37,6 +37,7 @@ #include "BKE_cdderivedmesh.h" #include "BKE_particle.h" #include "BKE_deform.h" +#include "BKE_utildefines.h" #include "MEM_guardedalloc.h" @@ -65,7 +66,7 @@ static void copyData(ModifierData *md, ModifierData *target) strncpy(tsmd->defgrp_name, smd->defgrp_name, 32); } -static int isDisabled(ModifierData *md, int useRenderParams) +static int isDisabled(ModifierData *md, int UNUSED(useRenderParams)) { SmoothModifierData *smd = (SmoothModifierData*) md; short flag; @@ -78,7 +79,7 @@ static int isDisabled(ModifierData *md, int useRenderParams) return 0; } -static CustomDataMask requiredDataMask(Object *ob, ModifierData *md) +static CustomDataMask requiredDataMask(Object *UNUSED(ob), ModifierData *md) { SmoothModifierData *smd = (SmoothModifierData *)md; CustomDataMask dataMask = 0; @@ -219,9 +220,9 @@ static void smoothModifier_do( static void deformVerts( ModifierData *md, Object *ob, DerivedMesh *derivedData, - float (*vertexCos)[3], int numVerts, int useRenderParams, int isFinalCalc) + float (*vertexCos)[3], int numVerts, int UNUSED(useRenderParams), int UNUSED(isFinalCalc)) { - DerivedMesh *dm= get_dm(md->scene, ob, NULL, derivedData, NULL, 0); + DerivedMesh *dm= get_dm(ob, NULL, derivedData, NULL, 0); smoothModifier_do((SmoothModifierData *)md, ob, dm, vertexCos, numVerts); @@ -234,7 +235,7 @@ static void deformVertsEM( ModifierData *md, Object *ob, struct EditMesh *editData, DerivedMesh *derivedData, float (*vertexCos)[3], int numVerts) { - DerivedMesh *dm= get_dm(md->scene, ob, editData, derivedData, NULL, 0); + DerivedMesh *dm= get_dm(ob, editData, derivedData, NULL, 0); smoothModifier_do((SmoothModifierData *)md, ob, dm, vertexCos, numVerts); diff --git a/source/blender/modifiers/intern/MOD_softbody.c b/source/blender/modifiers/intern/MOD_softbody.c index 931cfe2e2d3..8d962395d01 100644 --- a/source/blender/modifiers/intern/MOD_softbody.c +++ b/source/blender/modifiers/intern/MOD_softbody.c @@ -32,20 +32,24 @@ #include "DNA_scene_types.h" +#include "BKE_utildefines.h" #include "BKE_cdderivedmesh.h" #include "BKE_particle.h" #include "BKE_softbody.h" #include "MOD_modifiertypes.h" -static void deformVerts( - ModifierData *md, Object *ob, DerivedMesh *derivedData, - float (*vertexCos)[3], int numVerts, int useRenderParams, int isFinalCalc) +static void deformVerts(ModifierData *md, Object *ob, + DerivedMesh *UNUSED(derivedData), + float (*vertexCos)[3], + int numVerts, + int UNUSED(useRenderParams), + int UNUSED(isFinalCalc)) { sbObjectStep(md->scene, ob, (float)md->scene->r.cfra, vertexCos, numVerts); } -static int dependsOnTime(ModifierData *md) +static int dependsOnTime(ModifierData *UNUSED(md)) { return 1; } diff --git a/source/blender/modifiers/intern/MOD_solidify.c b/source/blender/modifiers/intern/MOD_solidify.c index 57155c4e1dc..6abe1262c0b 100644 --- a/source/blender/modifiers/intern/MOD_solidify.c +++ b/source/blender/modifiers/intern/MOD_solidify.c @@ -179,7 +179,7 @@ static void copyData(ModifierData *md, ModifierData *target) strcpy(tsmd->defgrp_name, smd->defgrp_name); } -static CustomDataMask requiredDataMask(Object *ob, ModifierData *md) +static CustomDataMask requiredDataMask(Object *UNUSED(ob), ModifierData *md) { SolidifyModifierData *smd = (SolidifyModifierData*) md; CustomDataMask dataMask = 0; @@ -191,11 +191,10 @@ static CustomDataMask requiredDataMask(Object *ob, ModifierData *md) } -static DerivedMesh *applyModifier(ModifierData *md, - Object *ob, - DerivedMesh *dm, - int useRenderParams, - int isFinalCalc) +static DerivedMesh *applyModifier(ModifierData *md, Object *ob, + DerivedMesh *dm, + int UNUSED(useRenderParams), + int UNUSED(isFinalCalc)) { int i; DerivedMesh *result; @@ -630,7 +629,7 @@ static DerivedMesh *applyModifier(ModifierData *md, static DerivedMesh *applyModifierEM(ModifierData *md, Object *ob, - struct EditMesh *editData, + struct EditMesh *UNUSED(editData), DerivedMesh *derivedData) { return applyModifier(md, ob, derivedData, 0, 1); diff --git a/source/blender/modifiers/intern/MOD_subsurf.c b/source/blender/modifiers/intern/MOD_subsurf.c index cd3657b9674..3264717c97a 100644 --- a/source/blender/modifiers/intern/MOD_subsurf.c +++ b/source/blender/modifiers/intern/MOD_subsurf.c @@ -35,6 +35,7 @@ #include "DNA_scene_types.h" #include "DNA_object_types.h" +#include "BKE_utildefines.h" #include "BKE_cdderivedmesh.h" #include "BKE_scene.h" #include "BKE_subsurf.h" @@ -83,9 +84,10 @@ static int isDisabled(ModifierData *md, int useRenderParams) return get_render_subsurf_level(&md->scene->r, levels) == 0; } -static DerivedMesh *applyModifier( - ModifierData *md, Object *ob, DerivedMesh *derivedData, - int useRenderParams, int isFinalCalc) +static DerivedMesh *applyModifier(ModifierData *md, Object *UNUSED(ob), + DerivedMesh *derivedData, + int useRenderParams, + int isFinalCalc) { SubsurfModifierData *smd = (SubsurfModifierData*) md; DerivedMesh *result; @@ -102,9 +104,9 @@ static DerivedMesh *applyModifier( return result; } -static DerivedMesh *applyModifierEM( - ModifierData *md, Object *ob, struct EditMesh *editData, - DerivedMesh *derivedData) +static DerivedMesh *applyModifierEM(ModifierData *md, Object *UNUSED(ob), + struct EditMesh *UNUSED(editData), + DerivedMesh *derivedData) { SubsurfModifierData *smd = (SubsurfModifierData*) md; DerivedMesh *result; diff --git a/source/blender/modifiers/intern/MOD_surface.c b/source/blender/modifiers/intern/MOD_surface.c index b2f55bde360..a1593df0ffa 100644 --- a/source/blender/modifiers/intern/MOD_surface.c +++ b/source/blender/modifiers/intern/MOD_surface.c @@ -36,6 +36,7 @@ #include "BLI_math.h" +#include "BKE_utildefines.h" #include "BKE_cdderivedmesh.h" #include "MOD_modifiertypes.h" @@ -76,14 +77,17 @@ static void freeData(ModifierData *md) } } -static int dependsOnTime(ModifierData *md) +static int dependsOnTime(ModifierData *UNUSED(md)) { return 1; } -static void deformVerts( - ModifierData *md, Object *ob, DerivedMesh *derivedData, - float (*vertexCos)[3], int numVerts, int useRenderParams, int isFinalCalc) +static void deformVerts(ModifierData *md, Object *ob, + DerivedMesh *derivedData, + float (*vertexCos)[3], + int UNUSED(numVerts), + int UNUSED(useRenderParams), + int UNUSED(isFinalCalc)) { SurfaceModifierData *surmd = (SurfaceModifierData*) md; unsigned int numverts = 0, i = 0; @@ -93,7 +97,7 @@ static void deformVerts( /* if possible use/create DerivedMesh */ if(derivedData) surmd->dm = CDDM_copy(derivedData); - else surmd->dm = get_dm(md->scene, ob, NULL, NULL, NULL, 0); + else surmd->dm = get_dm(ob, NULL, NULL, NULL, 0); if(!ob->pd) { diff --git a/source/blender/modifiers/intern/MOD_util.c b/source/blender/modifiers/intern/MOD_util.c index 754b18bc282..de96684a2dd 100644 --- a/source/blender/modifiers/intern/MOD_util.c +++ b/source/blender/modifiers/intern/MOD_util.c @@ -84,13 +84,13 @@ void validate_layer_name(const CustomData *data, int type, char *name, char *out /* if a layer name was given, try to find that layer */ if(name[0]) - index = CustomData_get_named_layer_index(data, CD_MTFACE, name); + index = CustomData_get_named_layer_index(data, type, name); if(index < 0) { /* either no layer was specified, or the layer we want has been * deleted, so assign the active layer to name */ - index = CustomData_get_active_layer_index(data, CD_MTFACE); + index = CustomData_get_active_layer_index(data, type); strcpy(outname, data->layers[index].name); } else @@ -98,13 +98,13 @@ void validate_layer_name(const CustomData *data, int type, char *name, char *out } /* returns a cdderivedmesh if dm == NULL or is another type of derivedmesh */ -DerivedMesh *get_cddm(struct Scene *scene, Object *ob, struct EditMesh *em, DerivedMesh *dm, float (*vertexCos)[3]) +DerivedMesh *get_cddm(Object *ob, struct EditMesh *em, DerivedMesh *dm, float (*vertexCos)[3]) { if(dm && dm->type == DM_TYPE_CDDM) return dm; if(!dm) { - dm= get_dm(scene, ob, em, dm, vertexCos, 0); + dm= get_dm(ob, em, dm, vertexCos, 0); } else { dm= CDDM_copy(dm); @@ -118,7 +118,7 @@ DerivedMesh *get_cddm(struct Scene *scene, Object *ob, struct EditMesh *em, Deri } /* returns a derived mesh if dm == NULL, for deforming modifiers that need it */ -DerivedMesh *get_dm(struct Scene *scene, Object *ob, struct EditMesh *em, DerivedMesh *dm, float (*vertexCos)[3], int orco) +DerivedMesh *get_dm(Object *ob, struct EditMesh *em, DerivedMesh *dm, float (*vertexCos)[3], int orco) { if(dm) return dm; @@ -143,7 +143,7 @@ DerivedMesh *get_dm(struct Scene *scene, Object *ob, struct EditMesh *em, Derive } /* only called by BKE_modifier.h/modifier.c */ -void modifier_type_init(ModifierTypeInfo *types[], ModifierType type) +void modifier_type_init(ModifierTypeInfo *types[]) { memset(types, 0, sizeof(types)); #define INIT_TYPE(typeName) (types[eModifierType_##typeName] = &modifierType_##typeName) diff --git a/source/blender/modifiers/intern/MOD_util.h b/source/blender/modifiers/intern/MOD_util.h index 5750e042199..6abc29417b5 100644 --- a/source/blender/modifiers/intern/MOD_util.h +++ b/source/blender/modifiers/intern/MOD_util.h @@ -40,9 +40,9 @@ struct ModifierData; void get_texture_value(struct Tex *texture, float *tex_co, struct TexResult *texres); void modifier_vgroup_cache(struct ModifierData *md, float (*vertexCos)[3]); void validate_layer_name(const struct CustomData *data, int type, char *name, char *outname); -struct DerivedMesh *get_cddm(struct Scene *scene, struct Object *ob, struct EditMesh *em, struct DerivedMesh *dm, float (*vertexCos)[3]); -struct DerivedMesh *get_dm(struct Scene *scene, struct Object *ob, struct EditMesh *em, struct DerivedMesh *dm, float (*vertexCos)[3], int orco); +struct DerivedMesh *get_cddm(struct Object *ob, struct EditMesh *em, struct DerivedMesh *dm, float (*vertexCos)[3]); +struct DerivedMesh *get_dm(struct Object *ob, struct EditMesh *em, struct DerivedMesh *dm, float (*vertexCos)[3], int orco); -void modifier_type_init(struct ModifierTypeInfo *types[], ModifierType type); +void modifier_type_init(struct ModifierTypeInfo *types[]); #endif /* MOD_UTIL_H */ diff --git a/source/blender/modifiers/intern/MOD_uvproject.c b/source/blender/modifiers/intern/MOD_uvproject.c index 211640ad777..942b4b0b597 100644 --- a/source/blender/modifiers/intern/MOD_uvproject.c +++ b/source/blender/modifiers/intern/MOD_uvproject.c @@ -39,6 +39,7 @@ #include "BLI_math.h" #include "BLI_uvproject.h" +#include "BKE_utildefines.h" #include "BKE_DerivedMesh.h" #include "MOD_modifiertypes.h" @@ -78,7 +79,7 @@ static void copyData(ModifierData *md, ModifierData *target) tumd->scaley = umd->scaley; } -static CustomDataMask requiredDataMask(Object *ob, ModifierData *md) +static CustomDataMask requiredDataMask(Object *UNUSED(ob), ModifierData *UNUSED(md)) { CustomDataMask dataMask = 0; @@ -109,8 +110,10 @@ static void foreachIDLink(ModifierData *md, Object *ob, userData); } -static void updateDepgraph(ModifierData *md, - DagForest *forest, struct Scene *scene, Object *ob, DagNode *obNode) +static void updateDepgraph(ModifierData *md, DagForest *forest, + struct Scene *UNUSED(scene), + Object *UNUSED(ob), + DagNode *obNode) { UVProjectModifierData *umd = (UVProjectModifierData*) md; int i; @@ -376,9 +379,10 @@ static DerivedMesh *uvprojectModifier_do(UVProjectModifierData *umd, return dm; } -static DerivedMesh *applyModifier( - ModifierData *md, Object *ob, DerivedMesh *derivedData, - int useRenderParams, int isFinalCalc) +static DerivedMesh *applyModifier(ModifierData *md, Object *ob, + DerivedMesh *derivedData, + int UNUSED(useRenderParams), + int UNUSED(isFinalCalc)) { DerivedMesh *result; UVProjectModifierData *umd = (UVProjectModifierData*) md; @@ -388,9 +392,9 @@ static DerivedMesh *applyModifier( return result; } -static DerivedMesh *applyModifierEM( - ModifierData *md, Object *ob, struct EditMesh *editData, - DerivedMesh *derivedData) +static DerivedMesh *applyModifierEM(ModifierData *md, Object *ob, + struct EditMesh *UNUSED(editData), + DerivedMesh *derivedData) { return applyModifier(md, ob, derivedData, 0, 1); } diff --git a/source/blender/modifiers/intern/MOD_wave.c b/source/blender/modifiers/intern/MOD_wave.c index 42cbddce233..acd8c29a6dd 100644 --- a/source/blender/modifiers/intern/MOD_wave.c +++ b/source/blender/modifiers/intern/MOD_wave.c @@ -36,6 +36,7 @@ #include "DNA_scene_types.h" #include "DNA_object_types.h" +#include "BKE_utildefines.h" #include "BKE_DerivedMesh.h" #include "BKE_object.h" #include "BKE_deform.h" @@ -93,7 +94,7 @@ static void copyData(ModifierData *md, ModifierData *target) strncpy(twmd->defgrp_name, wmd->defgrp_name, 32); } -static int dependsOnTime(ModifierData *md) +static int dependsOnTime(ModifierData *UNUSED(md)) { return 1; } @@ -118,9 +119,10 @@ static void foreachIDLink(ModifierData *md, Object *ob, foreachObjectLink(md, ob, (ObjectWalkFunc)walk, userData); } -static void updateDepgraph( - ModifierData *md, DagForest *forest, Scene *scene, Object *ob, - DagNode *obNode) +static void updateDepgraph(ModifierData *md, DagForest *forest, + Scene *UNUSED(scene), + Object *UNUSED(ob), + DagNode *obNode) { WaveModifierData *wmd = (WaveModifierData*) md; @@ -139,7 +141,7 @@ static void updateDepgraph( } } -static CustomDataMask requiredDataMask(Object *ob, ModifierData *md) +static CustomDataMask requiredDataMask(Object *UNUSED(ob), ModifierData *md) { WaveModifierData *wmd = (WaveModifierData *)md; CustomDataMask dataMask = 0; @@ -399,17 +401,20 @@ static void waveModifier_do(WaveModifierData *md, if(wmd->texture) MEM_freeN(tex_co); } -static void deformVerts( - ModifierData *md, Object *ob, DerivedMesh *derivedData, - float (*vertexCos)[3], int numVerts, int useRenderParams, int isFinalCalc) +static void deformVerts(ModifierData *md, Object *ob, + DerivedMesh *derivedData, + float (*vertexCos)[3], + int numVerts, + int UNUSED(useRenderParams), + int UNUSED(isFinalCalc)) { DerivedMesh *dm= derivedData; WaveModifierData *wmd = (WaveModifierData *)md; if(wmd->flag & MOD_WAVE_NORM) - dm= get_cddm(md->scene, ob, NULL, dm, vertexCos); + dm= get_cddm(ob, NULL, dm, vertexCos); else if(wmd->texture || wmd->defgrp_name[0]) - dm= get_dm(md->scene, ob, NULL, dm, NULL, 0); + dm= get_dm(ob, NULL, dm, NULL, 0); waveModifier_do(wmd, md->scene, ob, dm, vertexCos, numVerts); @@ -425,9 +430,9 @@ static void deformVertsEM( WaveModifierData *wmd = (WaveModifierData *)md; if(wmd->flag & MOD_WAVE_NORM) - dm= get_cddm(md->scene, ob, editData, dm, vertexCos); + dm= get_cddm(ob, editData, dm, vertexCos); else if(wmd->texture || wmd->defgrp_name[0]) - dm= get_dm(md->scene, ob, editData, dm, NULL, 0); + dm= get_dm(ob, editData, dm, NULL, 0); waveModifier_do(wmd, md->scene, ob, dm, vertexCos, numVerts); -- cgit v1.2.3 From 7a535ed3d9691d3d7df52848f8a8621633c00de0 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Fri, 15 Oct 2010 08:32:27 +0000 Subject: [#24263] Hooks influence area with vertex group assigned is not effected changes... - use vertex weights when hook indices are used. - use force as well as vertex weights (overall multiplier), before when vertex weights were used force was ignored. - rearranged the loops to be less confusing. - falloff now in its own function. - falloff curve slightly different, smoother towards the center /w 2 less sqrt calls. --- source/blender/modifiers/intern/MOD_hook.c | 176 ++++++++++++++++------------- 1 file changed, 95 insertions(+), 81 deletions(-) (limited to 'source/blender/modifiers/intern') diff --git a/source/blender/modifiers/intern/MOD_hook.c b/source/blender/modifiers/intern/MOD_hook.c index 8ad3c9aaf5b..c26d3ff0967 100644 --- a/source/blender/modifiers/intern/MOD_hook.c +++ b/source/blender/modifiers/intern/MOD_hook.c @@ -75,7 +75,8 @@ static CustomDataMask requiredDataMask(Object *UNUSED(ob), ModifierData *md) CustomDataMask dataMask = 0; /* ask for vertexgroups if we need them */ - if(!hmd->indexar && hmd->name[0]) dataMask |= (1 << CD_MDEFORMVERT); + if(hmd->name[0]) dataMask |= (1 << CD_MDEFORMVERT); + // if(hmd->indexar) dataMask |= CD_MASK_ORIGINDEX; return dataMask; } @@ -121,6 +122,21 @@ static void updateDepgraph(ModifierData *md, DagForest *forest, } } +static float hook_falloff(float *co_1, float *co_2, const float falloff_squared, float fac) +{ + if(falloff_squared) { + float len_squared = len_squared_v3v3(co_1, co_2); + if(len_squared > falloff_squared) { + return 0.0f; + } + else if(len_squared > 0.0) { + return fac * (1.0 - (len_squared / falloff_squared)); + } + } + + return fac; +} + static void deformVerts(ModifierData *md, Object *ob, DerivedMesh *derivedData, float (*vertexCos)[3], @@ -131,8 +147,13 @@ static void deformVerts(ModifierData *md, Object *ob, HookModifierData *hmd = (HookModifierData*) md; bPoseChannel *pchan= get_pose_channel(hmd->object->pose, hmd->subtarget); float vec[3], mat[4][4], dmat[4][4]; - int i; + int i, *index_pt; DerivedMesh *dm = derivedData; + const float falloff_squared= hmd->falloff * hmd->falloff; /* for faster comparisons */ + + int max_dvert= 0; + MDeformVert *dvert= NULL; + int defgrp_index = -1; /* get world-space matrix of target, corrected for the space the verts are in */ if (hmd->subtarget[0] && pchan) { @@ -147,98 +168,91 @@ static void deformVerts(ModifierData *md, Object *ob, mul_serie_m4(mat, ob->imat, dmat, hmd->parentinv, NULL, NULL, NULL, NULL, NULL); - /* vertex indices? */ - if(hmd->indexar) { - for(i = 0; i < hmd->totindex; i++) { - int index = hmd->indexar[i]; - - /* This should always be true and I don't generally like - * "paranoid" style code like this, but old files can have - * indices that are out of range because old blender did - * not correct them on exit editmode. - zr - */ - if(index < numVerts) { - float *co = vertexCos[index]; - float fac = hmd->force; - - /* if DerivedMesh is present and has original index data, - * use it - */ - if(dm && dm->getVertDataArray(dm, CD_ORIGINDEX)) { + if((defgrp_index= defgroup_name_index(ob, hmd->name)) != -1) { + Mesh *me = ob->data; + if(dm) { + dvert= dm->getVertDataArray(dm, CD_MDEFORMVERT); + if(dvert) { + max_dvert = numVerts; + } + } + else if(me->dvert) { + dvert= me->dvert; + if(dvert) { + max_dvert = me->totvert; + } + } + } + + /* Regarding index range checking below. + * + * This should always be true and I don't generally like + * "paranoid" style code like this, but old files can have + * indices that are out of range because old blender did + * not correct them on exit editmode. - zr + */ + + if(hmd->force == 0.0f) { + /* do nothing, avoid annoying checks in the loop */ + } + else if(hmd->indexar) { /* vertex indices? */ + const float fac_orig= hmd->force; + float fac; + const int *origindex_ar; + + /* if DerivedMesh is present and has original index data, + * use it + */ + if(dm && (origindex_ar= dm->getVertDataArray(dm, CD_ORIGINDEX))) { + for(i= 0, index_pt= hmd->indexar; i < hmd->totindex; i++, index_pt++) { + if(*index_pt < numVerts) { int j; - int orig_index; - for(j = 0; j < numVerts; ++j) { - fac = hmd->force; - orig_index = *(int *)dm->getVertData(dm, j, - CD_ORIGINDEX); - if(orig_index == index) { - co = vertexCos[j]; - if(hmd->falloff != 0.0) { - float len = len_v3v3(co, hmd->cent); - if(len > hmd->falloff) fac = 0.0; - else if(len > 0.0) - fac *= sqrt(1.0 - len / hmd->falloff); - } - if(fac != 0.0) { - mul_v3_m4v3(vec, mat, co); - interp_v3_v3v3(co, co, vec, fac); + for(j = 0; j < numVerts; j++) { + if(origindex_ar[j] == *index_pt) { + float *co = vertexCos[j]; + if((fac= hook_falloff(hmd->cent, co, falloff_squared, fac_orig))) { + if(dvert) + fac *= defvert_find_weight(dvert+j, defgrp_index); + + if(fac) { + mul_v3_m4v3(vec, mat, co); + interp_v3_v3v3(co, co, vec, fac); + } } } } - } else { - if(hmd->falloff != 0.0) { - float len = len_v3v3(co, hmd->cent); - if(len > hmd->falloff) fac = 0.0; - else if(len > 0.0) - fac *= sqrt(1.0 - len / hmd->falloff); - } - - if(fac != 0.0) { - mul_v3_m4v3(vec, mat, co); - interp_v3_v3v3(co, co, vec, fac); - } } } } - } - else if(hmd->name[0]) { /* vertex group hook */ - Mesh *me = ob->data; - int use_dverts = 0; - int maxVerts = 0; - int defgrp_index = defgroup_name_index(ob, hmd->name); - - if(dm) { - if(dm->getVertData(dm, 0, CD_MDEFORMVERT)) { - maxVerts = dm->getNumVerts(dm); - use_dverts = 1; + else { /* missing dm or ORIGINDEX */ + for(i= 0, index_pt= hmd->indexar; i < hmd->totindex; i++, index_pt++) { + if(*index_pt < numVerts) { + float *co = vertexCos[*index_pt]; + if((fac= hook_falloff(hmd->cent, co, falloff_squared, fac_orig))) { + if(dvert) + fac *= defvert_find_weight(dvert+(*index_pt), defgrp_index); + + if(fac) { + mul_v3_m4v3(vec, mat, co); + interp_v3_v3v3(co, co, vec, fac); + } + } + } } } - else if(me->dvert) { - maxVerts = me->totvert; - use_dverts = 1; - } + } + else if(dvert) { /* vertex group hook */ + int i; + const float fac_orig= hmd->force; - if(defgrp_index >= 0 && use_dverts) { - MDeformVert *dvert = me->dvert; - int i; + for(i = 0; i < max_dvert; i++, dvert++) { float fac; + float *co = vertexCos[i]; - for(i = 0; i < maxVerts; i++, dvert++) { - if(dm) dvert = dm->getVertData(dm, i, CD_MDEFORMVERT); - - fac= defvert_find_weight(dvert, defgrp_index); - - if(fac > 0.0f) { - float *co = vertexCos[i]; - - if(hmd->falloff != 0.0) { - float len = len_v3v3(co, hmd->cent); - if(len > hmd->falloff) fac = 0.0; - else if(len > 0.0) - fac *= sqrt(1.0 - len / hmd->falloff); - } - + if((fac= hook_falloff(hmd->cent, co, falloff_squared, fac_orig))) { + fac *= defvert_find_weight(dvert, defgrp_index); + if(fac) { mul_v3_m4v3(vec, mat, co); interp_v3_v3v3(co, co, vec, fac); } -- cgit v1.2.3 From 1807beabf5372f297329b6be2ab3ba89f954d33a Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Sat, 16 Oct 2010 02:40:31 +0000 Subject: - UNUSED macro wasn't throwing an error with GCC if a var become used. - made interface, windowmanager, readfile build without unused warnings. - re-arranged CMake's source/blender build order so less changed libs are build later, eg: IK, avi --- source/blender/modifiers/intern/MOD_shapekey.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'source/blender/modifiers/intern') diff --git a/source/blender/modifiers/intern/MOD_shapekey.c b/source/blender/modifiers/intern/MOD_shapekey.c index 3a3150022d8..ff2f7c5e3b7 100644 --- a/source/blender/modifiers/intern/MOD_shapekey.c +++ b/source/blender/modifiers/intern/MOD_shapekey.c @@ -77,7 +77,7 @@ static void deformVertsEM(ModifierData *md, Object *ob, static void deformMatricesEM(ModifierData *UNUSED(md), Object *ob, struct EditMesh *UNUSED(editData), DerivedMesh *UNUSED(derivedData), - float UNUSED((*vertexCos)[3]), + float (*vertexCos)[3], float (*defMats)[3][3], int numVerts) { -- cgit v1.2.3 From 8268a4be71fe326b5b7b43e5e55ef751844dddbc Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Sat, 16 Oct 2010 14:32:17 +0000 Subject: most unused arg warnings corrected. - removed deprecated bitmap arg from IMB_allocImBuf (plugins will need updating). - mostly tagged UNUSED() since some of these functions look like they may need to have the arguments used later. --- source/blender/modifiers/intern/MOD_fluidsim_util.c | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'source/blender/modifiers/intern') diff --git a/source/blender/modifiers/intern/MOD_fluidsim_util.c b/source/blender/modifiers/intern/MOD_fluidsim_util.c index 42c2fc5bbe4..176a52251e7 100644 --- a/source/blender/modifiers/intern/MOD_fluidsim_util.c +++ b/source/blender/modifiers/intern/MOD_fluidsim_util.c @@ -138,6 +138,8 @@ void fluidsim_init(FluidsimModifierData *fluidmd) fss->flag |= OB_FLUIDSIM_ACTIVE; } +#else + (void)fluidmd; /* unused */ #endif return; } @@ -154,7 +156,10 @@ void fluidsim_free(FluidsimModifierData *fluidmd) } MEM_freeN(fluidmd->fss); } +#else + (void)fluidmd; /* unused */ #endif + return; } @@ -607,6 +612,11 @@ DerivedMesh *fluidsimModifier_do(FluidsimModifierData *fluidmd, Scene *scene, return dm; #else + /* unused */ + (void)fluidmd; + (void)scene; + (void)dm; + (void)useRenderParams; return NULL; #endif } -- cgit v1.2.3 From 30b79ddcc6e2737add3a7ebd49b167c1776e4087 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Sun, 17 Oct 2010 06:38:56 +0000 Subject: - fixed remaining unused warnings. - omit render code from this warning (cmake only), until render branch is merged. - moved -Wunused-parameter warning to apply to all C code in blender (not just ./source/blender), (cmake only). --- source/blender/modifiers/intern/MOD_shapekey.c | 2 ++ 1 file changed, 2 insertions(+) (limited to 'source/blender/modifiers/intern') diff --git a/source/blender/modifiers/intern/MOD_shapekey.c b/source/blender/modifiers/intern/MOD_shapekey.c index ff2f7c5e3b7..a43e19a5fc1 100644 --- a/source/blender/modifiers/intern/MOD_shapekey.c +++ b/source/blender/modifiers/intern/MOD_shapekey.c @@ -85,6 +85,8 @@ static void deformMatricesEM(ModifierData *UNUSED(md), Object *ob, KeyBlock *kb= ob_get_keyblock(ob); float scale[3][3]; int a; + + (void)vertexCos; /* unused */ if(kb && kb->totelem==numVerts && kb!=key->refkey) { scale_m3_fl(scale, kb->curval); -- cgit v1.2.3 From 4d37cf90b9d9d8ed2f0339c8ccd72481e29a4514 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Mon, 18 Oct 2010 06:41:16 +0000 Subject: remove G.sce, use G.main->name instead. Both stored the filename of the blend file, but G.sce stored the last opened file. This will make blender act differently in some cases since a relative path to the last opened file will no longer resolve (which is correct IMHO since that file isnt open and the path might not even be valid anymore). Tested linking with durian files and rendering to relative paths when no files is loaded however we may need to have some operators give an error if they are used on the default startup.blend. --- source/blender/modifiers/intern/MOD_fluidsim_util.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'source/blender/modifiers/intern') diff --git a/source/blender/modifiers/intern/MOD_fluidsim_util.c b/source/blender/modifiers/intern/MOD_fluidsim_util.c index 176a52251e7..fb3eb74a919 100644 --- a/source/blender/modifiers/intern/MOD_fluidsim_util.c +++ b/source/blender/modifiers/intern/MOD_fluidsim_util.c @@ -43,10 +43,11 @@ #include "BLI_blenlib.h" #include "BLI_math.h" +#include "BKE_main.h" #include "BKE_cdderivedmesh.h" #include "BKE_mesh.h" #include "BKE_utildefines.h" -#include "BKE_global.h" /* G.sce only */ +#include "BKE_global.h" /* G.main->name only */ #include "MOD_modifiertypes.h" @@ -482,7 +483,7 @@ DerivedMesh *fluidsim_read_cache(DerivedMesh *orgdm, FluidsimModifierData *fluid strcat(targetDir,"fluidsurface_final_####"); } - BLI_path_abs(targetDir, G.sce); + BLI_path_abs(targetDir, G.main->name); BLI_path_frame(targetDir, curFrame, 0); // fixed #frame-no strcpy(targetFile,targetDir); -- cgit v1.2.3 From 6a842c19ae059c235440fb9d43987e3708986e13 Mon Sep 17 00:00:00 2001 From: Sergey Sharybin Date: Tue, 19 Oct 2010 07:10:12 +0000 Subject: Fix #24321: duplicate of multiresolution modifier error --- source/blender/modifiers/intern/MOD_multires.c | 2 ++ 1 file changed, 2 insertions(+) (limited to 'source/blender/modifiers/intern') diff --git a/source/blender/modifiers/intern/MOD_multires.c b/source/blender/modifiers/intern/MOD_multires.c index 758809ff7ec..96dcde12180 100644 --- a/source/blender/modifiers/intern/MOD_multires.c +++ b/source/blender/modifiers/intern/MOD_multires.c @@ -59,6 +59,8 @@ static void copyData(ModifierData *md, ModifierData *target) tmmd->sculptlvl = mmd->sculptlvl; tmmd->renderlvl = mmd->renderlvl; tmmd->totlvl = mmd->totlvl; + tmmd->simple = mmd->simple; + tmmd->flags = mmd->flags; } static DerivedMesh *applyModifier(ModifierData *md, Object *ob, DerivedMesh *dm, -- cgit v1.2.3 From a044486d7d8faf3acc32d7c1d6dbf505c03e3631 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Wed, 20 Oct 2010 09:18:55 +0000 Subject: [#24267] Hook fails after Solidify Solidify modifier wasn't assigning origindex values. - BLI_math.h array functions: range_vni(), mul_vn_fl(), mul_vn_vn_fl(), add_vn_vn(), fill_vni(). - define 'AT' as __FILE__ ":" STRINGIFY(__LINE__), useful for quick debug prints. --- source/blender/modifiers/intern/MOD_solidify.c | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) (limited to 'source/blender/modifiers/intern') diff --git a/source/blender/modifiers/intern/MOD_solidify.c b/source/blender/modifiers/intern/MOD_solidify.c index 6abe1262c0b..b54f8fdf190 100644 --- a/source/blender/modifiers/intern/MOD_solidify.c +++ b/source/blender/modifiers/intern/MOD_solidify.c @@ -196,7 +196,7 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob, int UNUSED(useRenderParams), int UNUSED(isFinalCalc)) { - int i; + int i, *index; DerivedMesh *result; SolidifyModifierData *smd = (SolidifyModifierData*) md; @@ -321,7 +321,7 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob, dm_calc_normal(dm, vert_nors); } - result = CDDM_from_template(dm, numVerts * 2, (numEdges * 2) + newEdges, (numFaces * 2) + newFaces); + result = CDDM_from_template(dm, numVerts * 2, (numEdges * 2) + newEdges, (numFaces * 2) + newFaces); mface = result->getFaceArray(result); medge = result->getEdgeArray(result); @@ -336,6 +336,23 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob, DM_copy_vert_data(dm, result, 0, 0, numVerts); DM_copy_vert_data(dm, result, 0, numVerts, numVerts); + /* CDDM_from_template() gives zero'd ORIGINDEX data, we can know ahead of time what the + * indicies will be however it would be better if we could check if the're needed. */ + index= DM_get_vert_data_layer(result, CD_ORIGINDEX); + range_vni(index, numVerts, 0); + memcpy(index+numVerts, index, numVerts * sizeof(int)); + + index= DM_get_edge_data_layer(result, CD_ORIGINDEX); + range_vni(index, numEdges, 0); + memcpy(index+numEdges, index, numEdges * sizeof(int)); + fill_vni(index+numEdges*2, newEdges, ORIGINDEX_NONE); + + index= DM_get_face_data_layer(result, CD_ORIGINDEX); + range_vni(index, numFaces, 0); + memcpy(index+numFaces, index, numFaces * sizeof(int)); + fill_vni(index+numFaces*2, newFaces, ORIGINDEX_NONE); + /* done setting origindex values */ + { static int corner_indices[4] = {2, 1, 0, 3}; int is_quad; -- cgit v1.2.3 From 16b04834b3e1046118787d40531bf38f73ec9c76 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Thu, 21 Oct 2010 01:08:12 +0000 Subject: improved fix for [#24267] Hook fails after Solidify Rather then have the modifier calculate ORIGINDEX weather its needed or not (incorrect if it wasn't the first modifier on the stack), create ORIGINDEX layer initially if any of the modifiers use it. This way hook also works after Mirror and Screw modifiers which have the ORIGINDEX layer copied implicitly with DM_copy_vert_data(). This wasn't possible to check for before because this flag was always enabled so it would be passed to DM_set_only_copy(). Now just add the flag whenever calling DM_set_only_copy(). --- source/blender/modifiers/intern/MOD_hook.c | 5 ++--- source/blender/modifiers/intern/MOD_solidify.c | 17 ----------------- 2 files changed, 2 insertions(+), 20 deletions(-) (limited to 'source/blender/modifiers/intern') diff --git a/source/blender/modifiers/intern/MOD_hook.c b/source/blender/modifiers/intern/MOD_hook.c index c26d3ff0967..b7d853d757a 100644 --- a/source/blender/modifiers/intern/MOD_hook.c +++ b/source/blender/modifiers/intern/MOD_hook.c @@ -76,7 +76,7 @@ static CustomDataMask requiredDataMask(Object *UNUSED(ob), ModifierData *md) /* ask for vertexgroups if we need them */ if(hmd->name[0]) dataMask |= (1 << CD_MDEFORMVERT); - // if(hmd->indexar) dataMask |= CD_MASK_ORIGINDEX; + if(hmd->indexar) dataMask |= CD_MASK_ORIGINDEX; return dataMask; } @@ -138,7 +138,7 @@ static float hook_falloff(float *co_1, float *co_2, const float falloff_squared, } static void deformVerts(ModifierData *md, Object *ob, - DerivedMesh *derivedData, + DerivedMesh *dm, float (*vertexCos)[3], int numVerts, int UNUSED(useRenderParams), @@ -148,7 +148,6 @@ static void deformVerts(ModifierData *md, Object *ob, bPoseChannel *pchan= get_pose_channel(hmd->object->pose, hmd->subtarget); float vec[3], mat[4][4], dmat[4][4]; int i, *index_pt; - DerivedMesh *dm = derivedData; const float falloff_squared= hmd->falloff * hmd->falloff; /* for faster comparisons */ int max_dvert= 0; diff --git a/source/blender/modifiers/intern/MOD_solidify.c b/source/blender/modifiers/intern/MOD_solidify.c index b54f8fdf190..416dc94d9d2 100644 --- a/source/blender/modifiers/intern/MOD_solidify.c +++ b/source/blender/modifiers/intern/MOD_solidify.c @@ -336,23 +336,6 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob, DM_copy_vert_data(dm, result, 0, 0, numVerts); DM_copy_vert_data(dm, result, 0, numVerts, numVerts); - /* CDDM_from_template() gives zero'd ORIGINDEX data, we can know ahead of time what the - * indicies will be however it would be better if we could check if the're needed. */ - index= DM_get_vert_data_layer(result, CD_ORIGINDEX); - range_vni(index, numVerts, 0); - memcpy(index+numVerts, index, numVerts * sizeof(int)); - - index= DM_get_edge_data_layer(result, CD_ORIGINDEX); - range_vni(index, numEdges, 0); - memcpy(index+numEdges, index, numEdges * sizeof(int)); - fill_vni(index+numEdges*2, newEdges, ORIGINDEX_NONE); - - index= DM_get_face_data_layer(result, CD_ORIGINDEX); - range_vni(index, numFaces, 0); - memcpy(index+numFaces, index, numFaces * sizeof(int)); - fill_vni(index+numFaces*2, newFaces, ORIGINDEX_NONE); - /* done setting origindex values */ - { static int corner_indices[4] = {2, 1, 0, 3}; int is_quad; -- cgit v1.2.3 From fec8292df190c2a38623823bec0b1b78867b1017 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Thu, 21 Oct 2010 01:10:22 +0000 Subject: remove unused args for some modifiers, no functional change. --- source/blender/modifiers/intern/MOD_array.c | 19 ++++++++++--------- source/blender/modifiers/intern/MOD_cloth.c | 10 ++++++---- source/blender/modifiers/intern/MOD_fluidsim.c | 18 +++++++----------- source/blender/modifiers/intern/MOD_fluidsim_util.c | 3 +-- source/blender/modifiers/intern/MOD_smoke.c | 6 +++--- 5 files changed, 27 insertions(+), 29 deletions(-) (limited to 'source/blender/modifiers/intern') diff --git a/source/blender/modifiers/intern/MOD_array.c b/source/blender/modifiers/intern/MOD_array.c index 839bfef6226..9916afcfe55 100644 --- a/source/blender/modifiers/intern/MOD_array.c +++ b/source/blender/modifiers/intern/MOD_array.c @@ -729,26 +729,27 @@ static DerivedMesh *arrayModifier_doArray(ArrayModifierData *amd, return result; } -static DerivedMesh *applyModifier( - ModifierData *md, Object *ob, DerivedMesh *derivedData, - int UNUSED(useRenderParams), int UNUSED(isFinalCalc)) +static DerivedMesh *applyModifier(ModifierData *md, Object *ob, + DerivedMesh *dm, + int UNUSED(useRenderParams), + int UNUSED(isFinalCalc)) { DerivedMesh *result; ArrayModifierData *amd = (ArrayModifierData*) md; - result = arrayModifier_doArray(amd, md->scene, ob, derivedData, 0); + result = arrayModifier_doArray(amd, md->scene, ob, dm, 0); - if(result != derivedData) + if(result != dm) CDDM_calc_normals(result); return result; } -static DerivedMesh *applyModifierEM( - ModifierData *md, Object *ob, struct EditMesh *UNUSED(editData), - DerivedMesh *derivedData) +static DerivedMesh *applyModifierEM(ModifierData *md, Object *ob, + struct EditMesh *UNUSED(editData), + DerivedMesh *dm) { - return applyModifier(md, ob, derivedData, 0, 1); + return applyModifier(md, ob, dm, 0, 1); } diff --git a/source/blender/modifiers/intern/MOD_cloth.c b/source/blender/modifiers/intern/MOD_cloth.c index 0c6c1e87a72..95c7fbf262e 100644 --- a/source/blender/modifiers/intern/MOD_cloth.c +++ b/source/blender/modifiers/intern/MOD_cloth.c @@ -62,7 +62,9 @@ static void initData(ModifierData *md) } static DerivedMesh *applyModifier(ModifierData *md, Object *ob, - DerivedMesh *derivedData, int useRenderParams, int isFinalCalc) + DerivedMesh *dm, + int UNUSED(useRenderParams), + int UNUSED(isFinalCalc)) { ClothModifierData *clmd = (ClothModifierData*) md; DerivedMesh *result=NULL; @@ -73,17 +75,17 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob, initData(md); if(!clmd->sim_parms || !clmd->coll_parms) - return derivedData; + return dm; } - result = clothModifier_do(clmd, md->scene, ob, derivedData, useRenderParams, isFinalCalc); + result = clothModifier_do(clmd, md->scene, ob, dm); if(result) { CDDM_calc_normals(result); return result; } - return derivedData; + return dm; } static void updateDepgraph( diff --git a/source/blender/modifiers/intern/MOD_fluidsim.c b/source/blender/modifiers/intern/MOD_fluidsim.c index 14fb09f1c1f..d3cc653d992 100644 --- a/source/blender/modifiers/intern/MOD_fluidsim.c +++ b/source/blender/modifiers/intern/MOD_fluidsim.c @@ -70,9 +70,10 @@ static void copyData(ModifierData *md, ModifierData *target) -static DerivedMesh * applyModifier( - ModifierData *md, Object *ob, DerivedMesh *derivedData, - int useRenderParams, int isFinalCalc) +static DerivedMesh *applyModifier(ModifierData *md, Object *ob, + DerivedMesh *dm, + int useRenderParams, + int isFinalCalc) { FluidsimModifierData *fluidmd= (FluidsimModifierData*) md; DerivedMesh *result = NULL; @@ -83,17 +84,12 @@ static DerivedMesh * applyModifier( initData(md); if(!fluidmd->fss) - return derivedData; + return dm; } - result = fluidsimModifier_do(fluidmd, md->scene, ob, derivedData, useRenderParams, isFinalCalc); + result= fluidsimModifier_do(fluidmd, md->scene, ob, dm, useRenderParams, isFinalCalc); - if(result) - { - return result; - } - - return derivedData; + return result ? result : dm; } static void updateDepgraph( diff --git a/source/blender/modifiers/intern/MOD_fluidsim_util.c b/source/blender/modifiers/intern/MOD_fluidsim_util.c index fb3eb74a919..6e6b9f43c54 100644 --- a/source/blender/modifiers/intern/MOD_fluidsim_util.c +++ b/source/blender/modifiers/intern/MOD_fluidsim_util.c @@ -546,8 +546,7 @@ DerivedMesh *fluidsim_read_cache(DerivedMesh *orgdm, FluidsimModifierData *fluid DerivedMesh *fluidsimModifier_do(FluidsimModifierData *fluidmd, Scene *scene, Object *UNUSED(ob), DerivedMesh *dm, - int useRenderParams, - int UNUSED(isFinalCalc)) + int useRenderParams) { #ifndef DISABLE_ELBEEM DerivedMesh *result = NULL; diff --git a/source/blender/modifiers/intern/MOD_smoke.c b/source/blender/modifiers/intern/MOD_smoke.c index aee466802ca..a183018da30 100644 --- a/source/blender/modifiers/intern/MOD_smoke.c +++ b/source/blender/modifiers/intern/MOD_smoke.c @@ -76,13 +76,13 @@ static void deformVerts(ModifierData *md, Object *ob, DerivedMesh *derivedData, float (*vertexCos)[3], int UNUSED(numVerts), - int useRenderParams, - int isFinalCalc) + int UNUSED(useRenderParams), + int UNUSED(isFinalCalc)) { SmokeModifierData *smd = (SmokeModifierData*) md; DerivedMesh *dm = dm= get_cddm(ob, NULL, derivedData, vertexCos); - smokeModifier_do(smd, md->scene, ob, dm, useRenderParams, isFinalCalc); + smokeModifier_do(smd, md->scene, ob, dm); if(dm != derivedData) dm->release(dm); -- cgit v1.2.3 From e2f1740761936b49c7ff0e71c6194e0d954ec415 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Thu, 21 Oct 2010 01:55:39 +0000 Subject: use custom data mask defines, no functional changes. --- source/blender/modifiers/intern/MOD_armature.c | 2 +- source/blender/modifiers/intern/MOD_bevel.c | 2 +- source/blender/modifiers/intern/MOD_boolean.c | 4 ++-- source/blender/modifiers/intern/MOD_cast.c | 2 +- source/blender/modifiers/intern/MOD_cloth.c | 4 ++-- source/blender/modifiers/intern/MOD_curve.c | 2 +- source/blender/modifiers/intern/MOD_displace.c | 4 ++-- source/blender/modifiers/intern/MOD_explode.c | 2 +- source/blender/modifiers/intern/MOD_hook.c | 2 +- source/blender/modifiers/intern/MOD_lattice.c | 2 +- source/blender/modifiers/intern/MOD_mask.c | 2 +- source/blender/modifiers/intern/MOD_meshdeform.c | 2 +- source/blender/modifiers/intern/MOD_particlesystem.c | 6 +++--- source/blender/modifiers/intern/MOD_shrinkwrap.c | 4 ++-- source/blender/modifiers/intern/MOD_simpledeform.c | 2 +- source/blender/modifiers/intern/MOD_smooth.c | 2 +- source/blender/modifiers/intern/MOD_solidify.c | 4 ++-- source/blender/modifiers/intern/MOD_uvproject.c | 2 +- source/blender/modifiers/intern/MOD_wave.c | 4 ++-- 19 files changed, 27 insertions(+), 27 deletions(-) (limited to 'source/blender/modifiers/intern') diff --git a/source/blender/modifiers/intern/MOD_armature.c b/source/blender/modifiers/intern/MOD_armature.c index 2f802ee67c8..71be58c9982 100644 --- a/source/blender/modifiers/intern/MOD_armature.c +++ b/source/blender/modifiers/intern/MOD_armature.c @@ -69,7 +69,7 @@ static CustomDataMask requiredDataMask(Object *UNUSED(ob), ModifierData *UNUSED( CustomDataMask dataMask = 0; /* ask for vertexgroups */ - dataMask |= (1 << CD_MDEFORMVERT); + dataMask |= CD_MASK_MDEFORMVERT; return dataMask; } diff --git a/source/blender/modifiers/intern/MOD_bevel.c b/source/blender/modifiers/intern/MOD_bevel.c index 937c8cd7eac..a21d27180ba 100644 --- a/source/blender/modifiers/intern/MOD_bevel.c +++ b/source/blender/modifiers/intern/MOD_bevel.c @@ -72,7 +72,7 @@ static CustomDataMask requiredDataMask(Object *UNUSED(ob), ModifierData *md) CustomDataMask dataMask = 0; /* ask for vertexgroups if we need them */ - if(bmd->defgrp_name[0]) dataMask |= (1 << CD_MDEFORMVERT); + if(bmd->defgrp_name[0]) dataMask |= CD_MASK_MDEFORMVERT; return dataMask; } diff --git a/source/blender/modifiers/intern/MOD_boolean.c b/source/blender/modifiers/intern/MOD_boolean.c index dfcfd55f3d9..b2f7c685248 100644 --- a/source/blender/modifiers/intern/MOD_boolean.c +++ b/source/blender/modifiers/intern/MOD_boolean.c @@ -110,9 +110,9 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob, static CustomDataMask requiredDataMask(Object *UNUSED(ob), ModifierData *UNUSED(md)) { - CustomDataMask dataMask = (1 << CD_MTFACE) + (1 << CD_MEDGE); + CustomDataMask dataMask = CD_MASK_MTFACE | CD_MASK_MEDGE; - dataMask |= (1 << CD_MDEFORMVERT); + dataMask |= CD_MASK_MDEFORMVERT; return dataMask; } diff --git a/source/blender/modifiers/intern/MOD_cast.c b/source/blender/modifiers/intern/MOD_cast.c index c39aa288b18..2d45ea19f01 100644 --- a/source/blender/modifiers/intern/MOD_cast.c +++ b/source/blender/modifiers/intern/MOD_cast.c @@ -92,7 +92,7 @@ static CustomDataMask requiredDataMask(Object *UNUSED(ob), ModifierData *md) CustomDataMask dataMask = 0; /* ask for vertexgroups if we need them */ - if(cmd->defgrp_name[0]) dataMask |= (1 << CD_MDEFORMVERT); + if(cmd->defgrp_name[0]) dataMask |= CD_MASK_MDEFORMVERT; return dataMask; } diff --git a/source/blender/modifiers/intern/MOD_cloth.c b/source/blender/modifiers/intern/MOD_cloth.c index 95c7fbf262e..97a79cce414 100644 --- a/source/blender/modifiers/intern/MOD_cloth.c +++ b/source/blender/modifiers/intern/MOD_cloth.c @@ -120,10 +120,10 @@ static CustomDataMask requiredDataMask(Object *UNUSED(ob), ModifierData *md) ClothModifierData *clmd = (ClothModifierData*)md; if(cloth_uses_vgroup(clmd)) - dataMask |= (1 << CD_MDEFORMVERT); + dataMask |= CD_MASK_MDEFORMVERT; if(clmd->sim_parms->shapekey_rest != 0) - dataMask |= (1 << CD_CLOTH_ORCO); + dataMask |= CD_MASK_CLOTH_ORCO; return dataMask; } diff --git a/source/blender/modifiers/intern/MOD_curve.c b/source/blender/modifiers/intern/MOD_curve.c index 8009ad0589c..39816d1ff12 100644 --- a/source/blender/modifiers/intern/MOD_curve.c +++ b/source/blender/modifiers/intern/MOD_curve.c @@ -66,7 +66,7 @@ static CustomDataMask requiredDataMask(Object *UNUSED(ob), ModifierData *md) CustomDataMask dataMask = 0; /* ask for vertexgroups if we need them */ - if(cmd->name[0]) dataMask |= (1 << CD_MDEFORMVERT); + if(cmd->name[0]) dataMask |= CD_MASK_MDEFORMVERT; return dataMask; } diff --git a/source/blender/modifiers/intern/MOD_displace.c b/source/blender/modifiers/intern/MOD_displace.c index 95e8a9ce4cc..ce41f6dfc1d 100644 --- a/source/blender/modifiers/intern/MOD_displace.c +++ b/source/blender/modifiers/intern/MOD_displace.c @@ -82,10 +82,10 @@ static CustomDataMask requiredDataMask(Object *UNUSED(ob), ModifierData *md) CustomDataMask dataMask = 0; /* ask for vertexgroups if we need them */ - if(dmd->defgrp_name[0]) dataMask |= (1 << CD_MDEFORMVERT); + if(dmd->defgrp_name[0]) dataMask |= CD_MASK_MDEFORMVERT; /* ask for UV coordinates if we need them */ - if(dmd->texmapping == MOD_DISP_MAP_UV) dataMask |= (1 << CD_MTFACE); + if(dmd->texmapping == MOD_DISP_MAP_UV) dataMask |= CD_MASK_MTFACE; return dataMask; } diff --git a/source/blender/modifiers/intern/MOD_explode.c b/source/blender/modifiers/intern/MOD_explode.c index 67f1f2a3e59..dd2c4b6efb6 100644 --- a/source/blender/modifiers/intern/MOD_explode.c +++ b/source/blender/modifiers/intern/MOD_explode.c @@ -84,7 +84,7 @@ static CustomDataMask requiredDataMask(Object *UNUSED(ob), ModifierData *md) CustomDataMask dataMask = 0; if(emd->vgroup) - dataMask |= (1 << CD_MDEFORMVERT); + dataMask |= CD_MASK_MDEFORMVERT; return dataMask; } diff --git a/source/blender/modifiers/intern/MOD_hook.c b/source/blender/modifiers/intern/MOD_hook.c index b7d853d757a..e29b4b456ae 100644 --- a/source/blender/modifiers/intern/MOD_hook.c +++ b/source/blender/modifiers/intern/MOD_hook.c @@ -75,7 +75,7 @@ static CustomDataMask requiredDataMask(Object *UNUSED(ob), ModifierData *md) CustomDataMask dataMask = 0; /* ask for vertexgroups if we need them */ - if(hmd->name[0]) dataMask |= (1 << CD_MDEFORMVERT); + if(hmd->name[0]) dataMask |= CD_MASK_MDEFORMVERT; if(hmd->indexar) dataMask |= CD_MASK_ORIGINDEX; return dataMask; diff --git a/source/blender/modifiers/intern/MOD_lattice.c b/source/blender/modifiers/intern/MOD_lattice.c index fdbc3fa0a50..deb4446fa4e 100644 --- a/source/blender/modifiers/intern/MOD_lattice.c +++ b/source/blender/modifiers/intern/MOD_lattice.c @@ -59,7 +59,7 @@ static CustomDataMask requiredDataMask(Object *UNUSED(ob), ModifierData *md) CustomDataMask dataMask = 0; /* ask for vertexgroups if we need them */ - if(lmd->name[0]) dataMask |= (1 << CD_MDEFORMVERT); + if(lmd->name[0]) dataMask |= CD_MASK_MDEFORMVERT; return dataMask; } diff --git a/source/blender/modifiers/intern/MOD_mask.c b/source/blender/modifiers/intern/MOD_mask.c index eddb21596a6..feaf5d5fd00 100644 --- a/source/blender/modifiers/intern/MOD_mask.c +++ b/source/blender/modifiers/intern/MOD_mask.c @@ -57,7 +57,7 @@ static void copyData(ModifierData *md, ModifierData *target) static CustomDataMask requiredDataMask(Object *UNUSED(ob), ModifierData *UNUSED(md)) { - return (1 << CD_MDEFORMVERT); + return CD_MASK_MDEFORMVERT; } static void foreachObjectLink( diff --git a/source/blender/modifiers/intern/MOD_meshdeform.c b/source/blender/modifiers/intern/MOD_meshdeform.c index 587b3b8f053..8000bceb014 100644 --- a/source/blender/modifiers/intern/MOD_meshdeform.c +++ b/source/blender/modifiers/intern/MOD_meshdeform.c @@ -83,7 +83,7 @@ static CustomDataMask requiredDataMask(Object *UNUSED(ob), ModifierData *md) CustomDataMask dataMask = 0; /* ask for vertexgroups if we need them */ - if(mmd->defgrp_name[0]) dataMask |= (1 << CD_MDEFORMVERT); + if(mmd->defgrp_name[0]) dataMask |= CD_MASK_MDEFORMVERT; return dataMask; } diff --git a/source/blender/modifiers/intern/MOD_particlesystem.c b/source/blender/modifiers/intern/MOD_particlesystem.c index 0feea3b6bf5..9d99174b7c4 100644 --- a/source/blender/modifiers/intern/MOD_particlesystem.c +++ b/source/blender/modifiers/intern/MOD_particlesystem.c @@ -95,17 +95,17 @@ static CustomDataMask requiredDataMask(Object *ob, ModifierData *md) mtex=ma->mtex[i]; if(mtex && (ma->septex & (1<pmapto && (mtex->texco & TEXCO_UV)) - dataMask |= (1 << CD_MTFACE); + dataMask |= CD_MASK_MTFACE; } } if(psmd->psys->part->tanfac!=0.0) - dataMask |= (1 << CD_MTFACE); + dataMask |= CD_MASK_MTFACE; /* ask for vertexgroups if we need them */ for(i=0; ipsys->vgroup[i]){ - dataMask |= (1 << CD_MDEFORMVERT); + dataMask |= CD_MASK_MDEFORMVERT; break; } } diff --git a/source/blender/modifiers/intern/MOD_shrinkwrap.c b/source/blender/modifiers/intern/MOD_shrinkwrap.c index 6eebe9b5e5e..417c73eba98 100644 --- a/source/blender/modifiers/intern/MOD_shrinkwrap.c +++ b/source/blender/modifiers/intern/MOD_shrinkwrap.c @@ -79,11 +79,11 @@ static CustomDataMask requiredDataMask(Object *UNUSED(ob), ModifierData *md) /* ask for vertexgroups if we need them */ if(smd->vgroup_name[0]) - dataMask |= (1 << CD_MDEFORMVERT); + dataMask |= CD_MASK_MDEFORMVERT; if(smd->shrinkType == MOD_SHRINKWRAP_PROJECT && smd->projAxis == MOD_SHRINKWRAP_PROJECT_OVER_NORMAL) - dataMask |= (1 << CD_MVERT); + dataMask |= CD_MASK_MVERT; return dataMask; } diff --git a/source/blender/modifiers/intern/MOD_simpledeform.c b/source/blender/modifiers/intern/MOD_simpledeform.c index 7c47ab02157..9e2d8e16c52 100644 --- a/source/blender/modifiers/intern/MOD_simpledeform.c +++ b/source/blender/modifiers/intern/MOD_simpledeform.c @@ -297,7 +297,7 @@ static CustomDataMask requiredDataMask(Object *UNUSED(ob), ModifierData *md) /* ask for vertexgroups if we need them */ if(smd->vgroup_name[0]) - dataMask |= (1 << CD_MDEFORMVERT); + dataMask |= CD_MASK_MDEFORMVERT; return dataMask; } diff --git a/source/blender/modifiers/intern/MOD_smooth.c b/source/blender/modifiers/intern/MOD_smooth.c index db7013f53ce..e3740a42fff 100644 --- a/source/blender/modifiers/intern/MOD_smooth.c +++ b/source/blender/modifiers/intern/MOD_smooth.c @@ -85,7 +85,7 @@ static CustomDataMask requiredDataMask(Object *UNUSED(ob), ModifierData *md) CustomDataMask dataMask = 0; /* ask for vertexgroups if we need them */ - if(smd->defgrp_name[0]) dataMask |= (1 << CD_MDEFORMVERT); + if(smd->defgrp_name[0]) dataMask |= CD_MASK_MDEFORMVERT; return dataMask; } diff --git a/source/blender/modifiers/intern/MOD_solidify.c b/source/blender/modifiers/intern/MOD_solidify.c index 416dc94d9d2..ae68d42a4bb 100644 --- a/source/blender/modifiers/intern/MOD_solidify.c +++ b/source/blender/modifiers/intern/MOD_solidify.c @@ -185,7 +185,7 @@ static CustomDataMask requiredDataMask(Object *UNUSED(ob), ModifierData *md) CustomDataMask dataMask = 0; /* ask for vertexgroups if we need them */ - if(smd->defgrp_name[0]) dataMask |= (1 << CD_MDEFORMVERT); + if(smd->defgrp_name[0]) dataMask |= CD_MASK_MDEFORMVERT; return dataMask; } @@ -196,7 +196,7 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob, int UNUSED(useRenderParams), int UNUSED(isFinalCalc)) { - int i, *index; + int i; DerivedMesh *result; SolidifyModifierData *smd = (SolidifyModifierData*) md; diff --git a/source/blender/modifiers/intern/MOD_uvproject.c b/source/blender/modifiers/intern/MOD_uvproject.c index 942b4b0b597..08c6477ead3 100644 --- a/source/blender/modifiers/intern/MOD_uvproject.c +++ b/source/blender/modifiers/intern/MOD_uvproject.c @@ -84,7 +84,7 @@ static CustomDataMask requiredDataMask(Object *UNUSED(ob), ModifierData *UNUSED( CustomDataMask dataMask = 0; /* ask for UV coordinates */ - dataMask |= (1 << CD_MTFACE); + dataMask |= CD_MASK_MTFACE; return dataMask; } diff --git a/source/blender/modifiers/intern/MOD_wave.c b/source/blender/modifiers/intern/MOD_wave.c index acd8c29a6dd..255d896fbc0 100644 --- a/source/blender/modifiers/intern/MOD_wave.c +++ b/source/blender/modifiers/intern/MOD_wave.c @@ -149,11 +149,11 @@ static CustomDataMask requiredDataMask(Object *UNUSED(ob), ModifierData *md) /* ask for UV coordinates if we need them */ if(wmd->texture && wmd->texmapping == MOD_WAV_MAP_UV) - dataMask |= (1 << CD_MTFACE); + dataMask |= CD_MASK_MTFACE; /* ask for vertexgroups if we need them */ if(wmd->defgrp_name[0]) - dataMask |= (1 << CD_MDEFORMVERT); + dataMask |= CD_MASK_MDEFORMVERT; return dataMask; } -- cgit v1.2.3 From 98621570877f884e5fa178268d68cbcfd21d585d Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Thu, 21 Oct 2010 04:21:09 +0000 Subject: fix for fix [#24344] crash on adding new image when composite is open and there is no Nodetree also use const prefix in solidify modifier where possible. --- source/blender/modifiers/intern/MOD_solidify.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) (limited to 'source/blender/modifiers/intern') diff --git a/source/blender/modifiers/intern/MOD_solidify.c b/source/blender/modifiers/intern/MOD_solidify.c index ae68d42a4bb..935a3cc627a 100644 --- a/source/blender/modifiers/intern/MOD_solidify.c +++ b/source/blender/modifiers/intern/MOD_solidify.c @@ -198,15 +198,15 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob, { int i; DerivedMesh *result; - SolidifyModifierData *smd = (SolidifyModifierData*) md; + const SolidifyModifierData *smd = (SolidifyModifierData*) md; MFace *mf, *mface, *orig_mface; MEdge *ed, *medge, *orig_medge; MVert *mv, *mvert, *orig_mvert; - int numVerts = dm->getNumVerts(dm); - int numEdges = dm->getNumEdges(dm); - int numFaces = dm->getNumFaces(dm); + const int numVerts = dm->getNumVerts(dm); + const int numEdges = dm->getNumEdges(dm); + const int numFaces = dm->getNumFaces(dm); /* use for edges */ int *new_vert_arr= NULL; @@ -220,13 +220,13 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob, float (*vert_nors)[3]= NULL; - float ofs_orig= - (((-smd->offset_fac + 1.0f) * 0.5f) * smd->offset); - float ofs_new= smd->offset - (((-smd->offset_fac + 1.0f) * 0.5f) * smd->offset); + float const ofs_orig= - (((-smd->offset_fac + 1.0f) * 0.5f) * smd->offset); + float const ofs_new= smd->offset - (((-smd->offset_fac + 1.0f) * 0.5f) * smd->offset); /* weights */ MDeformVert *dvert= NULL, *dv= NULL; - int defgrp_invert = ((smd->flag & MOD_SOLIDIFY_VGROUP_INV) != 0); - int defgrp_index= defgroup_name_index(ob, smd->defgrp_name); + const int defgrp_invert = ((smd->flag & MOD_SOLIDIFY_VGROUP_INV) != 0); + const int defgrp_index= defgroup_name_index(ob, smd->defgrp_name); if (defgrp_index >= 0) dvert = dm->getVertDataArray(dm, CD_MDEFORMVERT); -- cgit v1.2.3 From 05b297c52f025b8d2068b742d944ecd92c402256 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Sat, 23 Oct 2010 15:40:13 +0000 Subject: CMake options to disable Decimate and Boolean Modifiers: WITH_MOD_BOOLEAN, WITH_MOD_DECIMATE, renamed WITH_FLUID to WITH_MOD_FLUID --- source/blender/modifiers/intern/MOD_boolean.c | 11 ++++++++++- source/blender/modifiers/intern/MOD_decimate.c | 14 ++++++++++++-- 2 files changed, 22 insertions(+), 3 deletions(-) (limited to 'source/blender/modifiers/intern') diff --git a/source/blender/modifiers/intern/MOD_boolean.c b/source/blender/modifiers/intern/MOD_boolean.c index b2f7c685248..07300065659 100644 --- a/source/blender/modifiers/intern/MOD_boolean.c +++ b/source/blender/modifiers/intern/MOD_boolean.c @@ -82,7 +82,7 @@ static void updateDepgraph(ModifierData *md, DagForest *forest, } } - +#ifdef WITH_MOD_BOOLEAN static DerivedMesh *applyModifier(ModifierData *md, Object *ob, DerivedMesh *derivedData, int UNUSED(useRenderParams), @@ -107,6 +107,15 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob, return derivedData; } +#else // WITH_MOD_BOOLEAN +static DerivedMesh *applyModifier(ModifierData *UNUSED(md), Object *UNUSED(ob), + DerivedMesh *derivedData, + int UNUSED(useRenderParams), + int UNUSED(isFinalCalc)) +{ + return derivedData; +} +#endif // WITH_MOD_BOOLEAN static CustomDataMask requiredDataMask(Object *UNUSED(ob), ModifierData *UNUSED(md)) { diff --git a/source/blender/modifiers/intern/MOD_decimate.c b/source/blender/modifiers/intern/MOD_decimate.c index 8df0c0be3eb..d7e0ff4702b 100644 --- a/source/blender/modifiers/intern/MOD_decimate.c +++ b/source/blender/modifiers/intern/MOD_decimate.c @@ -42,8 +42,9 @@ #include "MEM_guardedalloc.h" +#ifdef WITH_MOD_DECIMATE #include "LOD_decimation.h" - +#endif static void initData(ModifierData *md) { @@ -60,6 +61,7 @@ static void copyData(ModifierData *md, ModifierData *target) tdmd->percent = dmd->percent; } +#ifdef WITH_MOD_DECIMATE static DerivedMesh *applyModifier(ModifierData *md, Object *UNUSED(ob), DerivedMesh *derivedData, int UNUSED(useRenderParams), @@ -176,7 +178,15 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *UNUSED(ob), exit: return result; } - +#else // WITH_MOD_DECIMATE +static DerivedMesh *applyModifier(ModifierData *UNUSED(md), Object *UNUSED(ob), + DerivedMesh *derivedData, + int UNUSED(useRenderParams), + int UNUSED(isFinalCalc)) +{ + return derivedData; +} +#endif // WITH_MOD_DECIMATE ModifierTypeInfo modifierType_Decimate = { /* name */ "Decimate", -- cgit v1.2.3 From 1de1d6537ee208b9e57b293c816bacc2e8fb990f Mon Sep 17 00:00:00 2001 From: "Guillermo S. Romero" Date: Sun, 24 Oct 2010 00:09:23 +0000 Subject: Fully disable AUD's FFTW3 usage. --- source/blender/modifiers/intern/MOD_screw.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'source/blender/modifiers/intern') diff --git a/source/blender/modifiers/intern/MOD_screw.c b/source/blender/modifiers/intern/MOD_screw.c index 668f0a086d1..b71249880a6 100644 --- a/source/blender/modifiers/intern/MOD_screw.c +++ b/source/blender/modifiers/intern/MOD_screw.c @@ -212,9 +212,8 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob, float totlen = len_v3(mtx_tx[3]); if(totlen != 0.0f) { - float zero[3]={0.0f, 0.0f, 0.0f}; float cp[3]; - screw_ofs= closest_to_line_v3(cp, mtx_tx[3], zero, axis_vec); + screw_ofs= closest_to_line_v3(cp, mtx_tx[3], (float []){0,0,0}, axis_vec); } else { screw_ofs= 0.0f; -- cgit v1.2.3 From 715fa82769a2d239bdf73701719ae354ca527c59 Mon Sep 17 00:00:00 2001 From: Nathan Letwory Date: Sun, 24 Oct 2010 12:45:47 +0000 Subject: Make sure separation between modifier keys is communicated from GHOST upwards too (BGE at least uses this). --- source/blender/modifiers/intern/MOD_screw.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'source/blender/modifiers/intern') diff --git a/source/blender/modifiers/intern/MOD_screw.c b/source/blender/modifiers/intern/MOD_screw.c index b71249880a6..668f0a086d1 100644 --- a/source/blender/modifiers/intern/MOD_screw.c +++ b/source/blender/modifiers/intern/MOD_screw.c @@ -212,8 +212,9 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob, float totlen = len_v3(mtx_tx[3]); if(totlen != 0.0f) { + float zero[3]={0.0f, 0.0f, 0.0f}; float cp[3]; - screw_ofs= closest_to_line_v3(cp, mtx_tx[3], (float []){0,0,0}, axis_vec); + screw_ofs= closest_to_line_v3(cp, mtx_tx[3], zero, axis_vec); } else { screw_ofs= 0.0f; -- cgit v1.2.3 From a12d0fc8366d459d386f005e8b97bfdb72ea2f26 Mon Sep 17 00:00:00 2001 From: Janne Karhu Date: Sat, 30 Oct 2010 10:19:30 +0000 Subject: Fix for [#24409] Particle corruption after rendering with multires * Also removed some unused flags from the particle modifier. --- source/blender/modifiers/intern/MOD_particlesystem.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'source/blender/modifiers/intern') diff --git a/source/blender/modifiers/intern/MOD_particlesystem.c b/source/blender/modifiers/intern/MOD_particlesystem.c index 9d99174b7c4..cd56bd3c8bc 100644 --- a/source/blender/modifiers/intern/MOD_particlesystem.c +++ b/source/blender/modifiers/intern/MOD_particlesystem.c @@ -154,6 +154,10 @@ static void deformVerts(ModifierData *md, Object *ob, psmd->dm->needsFree = 1; psmd->dm->release(psmd->dm); } + else { + /* no dm before, so recalc particles fully */ + psys->recalc |= PSYS_RECALC_RESET; + } /* make new dm */ psmd->dm=CDDM_copy(dm); @@ -175,7 +179,6 @@ static void deformVerts(ModifierData *md, Object *ob, /* in file read dm hasn't really changed but just wasn't saved in file */ psys->recalc |= PSYS_RECALC_RESET; - psmd->flag |= eParticleSystemFlag_DM_changed; psmd->totdmvert= psmd->dm->getNumVerts(psmd->dm); psmd->totdmedge= psmd->dm->getNumEdges(psmd->dm); @@ -186,7 +189,6 @@ static void deformVerts(ModifierData *md, Object *ob, psmd->flag &= ~eParticleSystemFlag_psys_updated; particle_system_update(md->scene, ob, psys); psmd->flag |= eParticleSystemFlag_psys_updated; - psmd->flag &= ~eParticleSystemFlag_DM_changed; } } -- cgit v1.2.3 From 369a5cc29e80d0ac30f9db444f2c0f9c1da32e01 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Tue, 2 Nov 2010 13:12:30 +0000 Subject: fix for compiling with the c90 standard, support for non-static variable initializers is a c99 feature. --- source/blender/modifiers/intern/MOD_explode.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'source/blender/modifiers/intern') diff --git a/source/blender/modifiers/intern/MOD_explode.c b/source/blender/modifiers/intern/MOD_explode.c index dd2c4b6efb6..9e93557968d 100644 --- a/source/blender/modifiers/intern/MOD_explode.c +++ b/source/blender/modifiers/intern/MOD_explode.c @@ -663,7 +663,7 @@ static DerivedMesh * explodeMesh(ExplodeModifierData *emd, DerivedMesh *explode, *dm=to_explode; MFace *mf=0, *mface; ParticleSettings *part=psmd->psys->part; - ParticleSimulationData sim = {scene, ob, psmd->psys, psmd}; + ParticleSimulationData sim= {0}; ParticleData *pa=NULL, *pars=psmd->psys->particles; ParticleKey state; EdgeHash *vertpahash; @@ -680,6 +680,11 @@ static DerivedMesh * explodeMesh(ExplodeModifierData *emd, mface= dm->getFaceArray(dm); totpart= psmd->psys->totpart; + sim.scene= scene; + sim.ob= ob; + sim.psys= psmd->psys; + sim.psmd= psmd; + timestep= psys_get_timestep(&sim); //if(part->flag & PART_GLOB_TIME) -- cgit v1.2.3 From 5d1ea9e340d5a276ccf5e1f97fd0df536ba2a099 Mon Sep 17 00:00:00 2001 From: Sergey Sharybin Date: Sat, 6 Nov 2010 17:19:40 +0000 Subject: Fix crash in several cases when adding bevel on array modifier with merging switched on Check if edge would be collapsed to single point after mapping in array modifier --- source/blender/modifiers/intern/MOD_array.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'source/blender/modifiers/intern') diff --git a/source/blender/modifiers/intern/MOD_array.c b/source/blender/modifiers/intern/MOD_array.c index 9916afcfe55..2c672ed8e33 100644 --- a/source/blender/modifiers/intern/MOD_array.c +++ b/source/blender/modifiers/intern/MOD_array.c @@ -436,6 +436,10 @@ static DerivedMesh *arrayModifier_doArray(ArrayModifierData *amd, { vert1 = calc_mapping(indexMap, inMED.v1, j); vert2 = calc_mapping(indexMap, inMED.v2, j); + + /* edge could collapse to single point after mapping */ + if(vert1 == vert2) continue; + /* avoid duplicate edges */ if(!BLI_edgehash_haskey(edges, vert1, vert2)) { med2 = &medge[numEdges]; -- cgit v1.2.3 From 4d0a5451c5ca870f3cb7c693a7fe61c28b368228 Mon Sep 17 00:00:00 2001 From: Ton Roosendaal Date: Thu, 11 Nov 2010 11:06:15 +0000 Subject: Makefile fix: new compile flag moved to correct Makefile --- source/blender/modifiers/intern/Makefile | 2 ++ 1 file changed, 2 insertions(+) (limited to 'source/blender/modifiers/intern') diff --git a/source/blender/modifiers/intern/Makefile b/source/blender/modifiers/intern/Makefile index 94ea068a1bc..9ba41efbd47 100644 --- a/source/blender/modifiers/intern/Makefile +++ b/source/blender/modifiers/intern/Makefile @@ -34,6 +34,8 @@ DIR = $(OCGDIR)/blender/$(LIBNAME) include nan_compile.mk CFLAGS += $(LEVEL_1_C_WARNINGS) +CFLAGS += -DWITH_MOD_BOOLEAN +CFLAGS += -DWITH_MOD_DECIMATE CPPFLAGS += -I.. -- cgit v1.2.3 From d9e7e716758467627557a29294653411f419130b Mon Sep 17 00:00:00 2001 From: Ton Roosendaal Date: Thu, 11 Nov 2010 15:33:28 +0000 Subject: Bugfix #19534 Crash in Array Modifier. The merging-vertices option (mysteriously named "First Last") caused invalid indices in faces to exist. This commit solves the crash, but not the cause. For that Ben Batt's assistance is needed. --- source/blender/modifiers/intern/MOD_array.c | 32 +++++++++++++++++++++++++---- 1 file changed, 28 insertions(+), 4 deletions(-) (limited to 'source/blender/modifiers/intern') diff --git a/source/blender/modifiers/intern/MOD_array.c b/source/blender/modifiers/intern/MOD_array.c index 2c672ed8e33..c02ccd1fbcd 100644 --- a/source/blender/modifiers/intern/MOD_array.c +++ b/source/blender/modifiers/intern/MOD_array.c @@ -151,6 +151,30 @@ static float vertarray_size(MVert *mvert, int numVerts, int axis) return max_co - min_co; } +/* XXX This function fixes bad merging code, in some cases removing vertices creates indices > maxvert */ + +static int test_index_face_maxvert(MFace *mface, CustomData *fdata, int mfindex, int nr, int maxvert) +{ + if(mface->v1 >= maxvert) { + // printf("bad index in array\n"); + mface->v1= maxvert - 1; + } + if(mface->v2 >= maxvert) { + // printf("bad index in array\n"); + mface->v2= maxvert - 1; + } + if(mface->v3 >= maxvert) { + // printf("bad index in array\n"); + mface->v3= maxvert - 1; + } + if(mface->v4 >= maxvert) { + // printf("bad index in array\n"); + mface->v4= maxvert - 1; + } + + return test_index_face(mface, fdata, mfindex, nr); +} + typedef struct IndexMapEntry { /* the new vert index that this old vert index maps to */ int new; @@ -485,7 +509,7 @@ static DerivedMesh *arrayModifier_doArray(ArrayModifierData *amd, if(inMF.v4 && indexMap[inMF.v4].merge_final) mf->v4 = calc_mapping(indexMap, indexMap[inMF.v4].merge, count-1); - if(test_index_face(mf, &result->faceData, numFaces, inMF.v4?4:3) < 3) + if(test_index_face_maxvert(mf, &result->faceData, numFaces, inMF.v4?4:3, numVerts) < 3) continue; numFaces++; @@ -509,7 +533,7 @@ static DerivedMesh *arrayModifier_doArray(ArrayModifierData *amd, if (inMF.v4) mf2->v4 = calc_mapping(indexMap, inMF.v4, j); - test_index_face(mf2, &result->faceData, numFaces, inMF.v4?4:3); + test_index_face_maxvert(mf2, &result->faceData, numFaces, inMF.v4?4:3, numVerts); numFaces++; /* if the face has fewer than 3 vertices, don't create it */ @@ -605,8 +629,8 @@ static DerivedMesh *arrayModifier_doArray(ArrayModifierData *amd, if(mface[numFaces].v4) { mface[numFaces].v4 = vert_map[mface[numFaces].v4]; - test_index_face(&mface[numFaces], &result->faceData, - numFaces, 4); + test_index_face_maxvert(&mface[numFaces], &result->faceData, + numFaces, 4, numVerts); } else { -- cgit v1.2.3 From 2d6cf9ee6b5864117a32fcbcaaadbee2bce8a930 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Wed, 17 Nov 2010 01:50:25 +0000 Subject: the 'Multi' option was not being copied with the armature modifier. --- source/blender/modifiers/intern/MOD_armature.c | 1 + 1 file changed, 1 insertion(+) (limited to 'source/blender/modifiers/intern') diff --git a/source/blender/modifiers/intern/MOD_armature.c b/source/blender/modifiers/intern/MOD_armature.c index 71be58c9982..56c3bd3acb5 100644 --- a/source/blender/modifiers/intern/MOD_armature.c +++ b/source/blender/modifiers/intern/MOD_armature.c @@ -61,6 +61,7 @@ static void copyData(ModifierData *md, ModifierData *target) tamd->object = amd->object; tamd->deformflag = amd->deformflag; + tamd->multi = amd->multi; strncpy(tamd->defgrp_name, amd->defgrp_name, 32); } -- cgit v1.2.3 From 2512c6ce881e11b7cdc96d12a1de2f712237d7c3 Mon Sep 17 00:00:00 2001 From: Janne Karhu Date: Wed, 24 Nov 2010 10:56:15 +0000 Subject: Fixes for [#24862] Fluid Simulator issues * Fluid baking (using the job system) didn't update the "lastgoodframe" anymore, so reversing the frames didn't work. Now the last valid frame is checked by going through all fluid bake files when "reverse frames" is selected. * There was all kinds of fancy checks done in the fluid modifier for reading a different frame in different cases, but as the "lastgoodframe" was really not working I don't see the point of this whole code, so removed it for now. The new functionality is: if the fluid data for current frame exists use it, otherwise just return unmodified domain mesh without any fancy backup plans. * There were also some errors on reading uncompleted files (scrubbing timeline while bake was running), so I made the fluid file reader just return null if the number of faces didn't correspond to to actually read data. Previously this just printed an error to the console. --- .../blender/modifiers/intern/MOD_fluidsim_util.c | 44 +++++----------------- 1 file changed, 9 insertions(+), 35 deletions(-) (limited to 'source/blender/modifiers/intern') diff --git a/source/blender/modifiers/intern/MOD_fluidsim_util.c b/source/blender/modifiers/intern/MOD_fluidsim_util.c index 6e6b9f43c54..07de73766f4 100644 --- a/source/blender/modifiers/intern/MOD_fluidsim_util.c +++ b/source/blender/modifiers/intern/MOD_fluidsim_util.c @@ -275,8 +275,13 @@ DerivedMesh *fluidsim_read_obj(char *filename) /* read no. of triangles */ gotBytes = gzread(gzf, &wri, sizeof(wri)); - if(wri!=numfaces) + if(wri!=numfaces) { printf("Fluidsim: error in reading data from file.\n"); + if(dm) + dm->release(dm); + gzclose( gzf ); + return NULL; + } // read triangles from file mface = CDDM_get_faces(dm); @@ -540,7 +545,6 @@ DerivedMesh *fluidsim_read_cache(DerivedMesh *orgdm, FluidsimModifierData *fluid return dm; } - #endif // DISABLE_ELBEEM DerivedMesh *fluidsimModifier_do(FluidsimModifierData *fluidmd, Scene *scene, @@ -567,7 +571,7 @@ DerivedMesh *fluidsimModifier_do(FluidsimModifierData *fluidmd, Scene *scene, // timescale not supported yet // clmd->sim_parms->timescale= timescale; - + // support reversing of baked fluid frames here if((fss->flag & OB_FLUIDSIM_REVERSE) && (fss->lastgoodframe >= 0)) { @@ -576,39 +580,9 @@ DerivedMesh *fluidsimModifier_do(FluidsimModifierData *fluidmd, Scene *scene, } /* try to read from cache */ - if(((fss->lastgoodframe >= framenr) || (fss->lastgoodframe < 0)) && (result = fluidsim_read_cache(dm, fluidmd, framenr, useRenderParams))) - { - // fss->lastgoodframe = framenr; // set also in src/fluidsim.c + /* if the frame is there, fine, otherwise don't do anything */ + if((result = fluidsim_read_cache(dm, fluidmd, framenr, useRenderParams))) return result; - } - else - { - // display last known good frame - if(fss->lastgoodframe >= 0) - { - if((result = fluidsim_read_cache(dm, fluidmd, fss->lastgoodframe, useRenderParams))) - { - return result; - } - - // it was supposed to be a valid frame but it isn't! - fss->lastgoodframe = framenr - 1; - - - // this could be likely the case when you load an old fluidsim - if((result = fluidsim_read_cache(dm, fluidmd, fss->lastgoodframe, useRenderParams))) - { - return result; - } - } - - result = CDDM_copy(dm); - - if(result) - { - return result; - } - } return dm; #else -- cgit v1.2.3 From 8df8b42144500b61f6126f48d984bada274fb925 Mon Sep 17 00:00:00 2001 From: Janne Karhu Date: Wed, 24 Nov 2010 11:37:09 +0000 Subject: Fix for [#24877] Cloth + hair bug * Particles needed the original index layer, but didn't ask for it. --- source/blender/modifiers/intern/MOD_particlesystem.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'source/blender/modifiers/intern') diff --git a/source/blender/modifiers/intern/MOD_particlesystem.c b/source/blender/modifiers/intern/MOD_particlesystem.c index cd56bd3c8bc..f2b580aca9a 100644 --- a/source/blender/modifiers/intern/MOD_particlesystem.c +++ b/source/blender/modifiers/intern/MOD_particlesystem.c @@ -112,7 +112,7 @@ static CustomDataMask requiredDataMask(Object *ob, ModifierData *md) /* particles only need this if they are after a non deform modifier, and * the modifier stack will only create them in that case. */ - dataMask |= CD_MASK_ORIGSPACE; + dataMask |= CD_MASK_ORIGSPACE|CD_MASK_ORIGINDEX; dataMask |= CD_MASK_ORCO; -- cgit v1.2.3 From 34ea1cf0b23977ab76b23b06f6ceb1fda5631f88 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Sun, 28 Nov 2010 06:03:30 +0000 Subject: minor changes to the python api. - pep8 script was giving an error on non utf8 scons source files. - use PyList_SET_ITEM macro when list type is ensured. - all mathutils types use subtypes to create new types when available. - use defines MAT3_UNITY, MAT4_UNITY to initialize unit matrices. --- source/blender/modifiers/intern/MOD_screw.c | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) (limited to 'source/blender/modifiers/intern') diff --git a/source/blender/modifiers/intern/MOD_screw.c b/source/blender/modifiers/intern/MOD_screw.c index 668f0a086d1..f7d4744134f 100644 --- a/source/blender/modifiers/intern/MOD_screw.c +++ b/source/blender/modifiers/intern/MOD_screw.c @@ -168,11 +168,6 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob, ScrewVertConnect *vc, *vc_tmp, *vert_connect= NULL; - float mat[4][4] = {{0.0f, 0.0f, 0.0f, 0.0f}, - {0.0f, 0.0f, 0.0f, 0.0f}, - {0.0f, 0.0f, 0.0f, 0.0f}, - {0.0f, 0.0f, 0.0f, 1.0f}}; - /* dont do anything? */ if (!totvert) return CDDM_from_template(dm, 0, 0, 0); @@ -674,6 +669,7 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob, const int varray_stride= totvert * step; float step_angle; float nor_tx[3]; + float mat[4][4]; /* Rotation Matrix */ step_angle= (angle / (step_tot - (!close))) * step; -- cgit v1.2.3 From 61c0de3f48beafd127153bae103a6e0b9b952a1c Mon Sep 17 00:00:00 2001 From: Ton Roosendaal Date: Tue, 30 Nov 2010 15:39:38 +0000 Subject: Bugfix #24986 When duplicating a mesh that has a mask modifier on it, the invert option of that modifier dis not copy over. Report + fix provided by Jacob F. Thanks! --- source/blender/modifiers/intern/MOD_mask.c | 1 + 1 file changed, 1 insertion(+) (limited to 'source/blender/modifiers/intern') diff --git a/source/blender/modifiers/intern/MOD_mask.c b/source/blender/modifiers/intern/MOD_mask.c index feaf5d5fd00..90fe8b81e53 100644 --- a/source/blender/modifiers/intern/MOD_mask.c +++ b/source/blender/modifiers/intern/MOD_mask.c @@ -53,6 +53,7 @@ static void copyData(ModifierData *md, ModifierData *target) MaskModifierData *tmmd = (MaskModifierData*) target; strcpy(tmmd->vgroup, mmd->vgroup); + tmmd->flag = mmd->flag; } static CustomDataMask requiredDataMask(Object *UNUSED(ob), ModifierData *UNUSED(md)) -- cgit v1.2.3 From 3e214bd72c537067f8e96e08d9ac0653ba7a4b77 Mon Sep 17 00:00:00 2001 From: Ton Roosendaal Date: Wed, 1 Dec 2010 17:47:38 +0000 Subject: Bugfix #24999 Array Modifier: edge indices could be equal to numVerts, causing bad crashes in derivedmesh. Similar fix to previous here with face indices. Should poke the coder of this... for now it survives OK. --- source/blender/modifiers/intern/MOD_array.c | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) (limited to 'source/blender/modifiers/intern') diff --git a/source/blender/modifiers/intern/MOD_array.c b/source/blender/modifiers/intern/MOD_array.c index c02ccd1fbcd..f371bfd5567 100644 --- a/source/blender/modifiers/intern/MOD_array.c +++ b/source/blender/modifiers/intern/MOD_array.c @@ -443,7 +443,13 @@ static DerivedMesh *arrayModifier_doArray(ArrayModifierData *amd, } if(med.v1 == med.v2) continue; - + + /* XXX Unfortunately the calc_mapping returns sometimes numVerts... leads to bad crashes */ + if(med.v1 >= numVerts) + med.v1= numVerts-1; + if(med.v2 >= numVerts) + med.v2= numVerts-1; + if (initFlags) { med.flag |= ME_EDGEDRAW | ME_EDGERENDER; } @@ -460,9 +466,15 @@ static DerivedMesh *arrayModifier_doArray(ArrayModifierData *amd, { vert1 = calc_mapping(indexMap, inMED.v1, j); vert2 = calc_mapping(indexMap, inMED.v2, j); - + /* edge could collapse to single point after mapping */ if(vert1 == vert2) continue; + + /* XXX Unfortunately the calc_mapping returns sometimes numVerts... leads to bad crashes */ + if(vert1 >= numVerts) + vert1= numVerts-1; + if(vert2 >= numVerts) + vert2= numVerts-1; /* avoid duplicate edges */ if(!BLI_edgehash_haskey(edges, vert1, vert2)) { -- cgit v1.2.3 From b45c3363fd65a734a87d0917988fda6ae9d9df3c Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Fri, 3 Dec 2010 01:52:28 +0000 Subject: fix for some pedantic warnings. --- source/blender/modifiers/intern/MOD_meshdeform.c | 4 ++-- source/blender/modifiers/intern/MOD_mirror.c | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) (limited to 'source/blender/modifiers/intern') diff --git a/source/blender/modifiers/intern/MOD_meshdeform.c b/source/blender/modifiers/intern/MOD_meshdeform.c index 8000bceb014..249effa15f5 100644 --- a/source/blender/modifiers/intern/MOD_meshdeform.c +++ b/source/blender/modifiers/intern/MOD_meshdeform.c @@ -347,7 +347,7 @@ static void deformVerts(ModifierData *md, Object *ob, int UNUSED(useRenderParams), int UNUSED(isFinalCalc)) { - DerivedMesh *dm= get_dm(ob, NULL, derivedData, NULL, 0);; + DerivedMesh *dm= get_dm(ob, NULL, derivedData, NULL, 0); modifier_vgroup_cache(md, vertexCos); /* if next modifier needs original vertices */ @@ -363,7 +363,7 @@ static void deformVertsEM(ModifierData *md, Object *ob, float (*vertexCos)[3], int numVerts) { - DerivedMesh *dm= get_dm(ob, NULL, derivedData, NULL, 0);; + DerivedMesh *dm= get_dm(ob, NULL, derivedData, NULL, 0); meshdeformModifier_do(md, ob, dm, vertexCos, numVerts); diff --git a/source/blender/modifiers/intern/MOD_mirror.c b/source/blender/modifiers/intern/MOD_mirror.c index 6405f0e9d76..c04c85c21f7 100644 --- a/source/blender/modifiers/intern/MOD_mirror.c +++ b/source/blender/modifiers/intern/MOD_mirror.c @@ -61,7 +61,7 @@ static void copyData(ModifierData *md, ModifierData *target) tmmd->axis = mmd->axis; tmmd->flag = mmd->flag; tmmd->tolerance = mmd->tolerance; - tmmd->mirror_ob = mmd->mirror_ob;; + tmmd->mirror_ob = mmd->mirror_ob; } static void foreachObjectLink( -- cgit v1.2.3 From fa4bbbb249bf9706e9c71d34748fbde87fa385fb Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Sat, 4 Dec 2010 13:00:28 +0000 Subject: Maintenance, - remove some redundant declarations - changed VertexTangent and Path structs to avoid compiler alignment padding. --- source/blender/modifiers/intern/MOD_util.h | 2 -- 1 file changed, 2 deletions(-) (limited to 'source/blender/modifiers/intern') diff --git a/source/blender/modifiers/intern/MOD_util.h b/source/blender/modifiers/intern/MOD_util.h index 6abc29417b5..0ba35ad23e6 100644 --- a/source/blender/modifiers/intern/MOD_util.h +++ b/source/blender/modifiers/intern/MOD_util.h @@ -43,6 +43,4 @@ void validate_layer_name(const struct CustomData *data, int type, char *name, ch struct DerivedMesh *get_cddm(struct Object *ob, struct EditMesh *em, struct DerivedMesh *dm, float (*vertexCos)[3]); struct DerivedMesh *get_dm(struct Object *ob, struct EditMesh *em, struct DerivedMesh *dm, float (*vertexCos)[3], int orco); -void modifier_type_init(struct ModifierTypeInfo *types[]); - #endif /* MOD_UTIL_H */ -- cgit v1.2.3 From b110c7c8f2c5fafa6412e01d21d751a884bfe8b2 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Sun, 5 Dec 2010 18:59:23 +0000 Subject: Dependency graph: changed DAG_id_flush_update to DAG_id_tag_update. Now it only tags the ID and does the actual flush/update delayed, before the next redraw. For objects the update was already delayed, just flushing wasn't yet. This should help performance in python and animation editors, by making calls to RNA property update quicker. Still need to add calls in a few places where this was previously avoided due to bad performance. --- source/blender/modifiers/intern/MOD_boolean_util.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'source/blender/modifiers/intern') diff --git a/source/blender/modifiers/intern/MOD_boolean_util.c b/source/blender/modifiers/intern/MOD_boolean_util.c index 2fba4c6a603..b31c3f19017 100644 --- a/source/blender/modifiers/intern/MOD_boolean_util.c +++ b/source/blender/modifiers/intern/MOD_boolean_util.c @@ -577,7 +577,7 @@ int NewBooleanMesh(Scene *scene, Base *base, Base *base_select, int int_op_type) MEM_freeN(mat); /* update dag */ - DAG_id_flush_update(&ob_new->id, OB_RECALC_DATA); + DAG_id_tag_update(&ob_new->id, OB_RECALC_DATA); return 1; } -- cgit v1.2.3 From 0efdb860f195edc5899d4698f62d21dc0599ab83 Mon Sep 17 00:00:00 2001 From: Ton Roosendaal Date: Wed, 15 Dec 2010 13:08:34 +0000 Subject: Bugfix #22982 Displace modifier: mapping "Global" didn't set a dependency entry. Fix provided by the reporter himself, thanks Jacob F! --- source/blender/modifiers/intern/MOD_displace.c | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'source/blender/modifiers/intern') diff --git a/source/blender/modifiers/intern/MOD_displace.c b/source/blender/modifiers/intern/MOD_displace.c index ce41f6dfc1d..f6e5b9c119a 100644 --- a/source/blender/modifiers/intern/MOD_displace.c +++ b/source/blender/modifiers/intern/MOD_displace.c @@ -148,6 +148,12 @@ static void updateDepgraph(ModifierData *md, DagForest *forest, dag_add_relation(forest, curNode, obNode, DAG_RL_DATA_DATA | DAG_RL_OB_DATA, "Displace Modifier"); } + + + if(dmd->texmapping == MOD_DISP_MAP_GLOBAL) + dag_add_relation(forest, obNode, obNode, + DAG_RL_DATA_DATA | DAG_RL_OB_DATA, "Displace Modifier"); + } static void get_texture_coords(DisplaceModifierData *dmd, Object *ob, -- cgit v1.2.3 From 6b2b56c35eaf1ea8d2b0d0edd2412288f0e67e19 Mon Sep 17 00:00:00 2001 From: Janne Karhu Date: Wed, 15 Dec 2010 17:05:34 +0000 Subject: Fix for [#25218] No smoke is emitted when particle system starts and ends on same frame * Depsgraph wasn't updated properly for smoke flow collision object dependencies. * Smoke also wasn't properly using the actual emission frame of the flow particles. * There was a lot of bloated logic in some parts of particle code so this fix turned into a small scale cleanup operation. ** As a result particle updating and cache usage should be a bit more stable too. --- source/blender/modifiers/intern/MOD_smoke.c | 30 ++++++++++++++++++++++------- 1 file changed, 23 insertions(+), 7 deletions(-) (limited to 'source/blender/modifiers/intern') diff --git a/source/blender/modifiers/intern/MOD_smoke.c b/source/blender/modifiers/intern/MOD_smoke.c index a183018da30..91197376ae9 100644 --- a/source/blender/modifiers/intern/MOD_smoke.c +++ b/source/blender/modifiers/intern/MOD_smoke.c @@ -34,7 +34,10 @@ #include "MEM_guardedalloc.h" +#include "DNA_group_types.h" #include "DNA_object_types.h" +#include "DNA_scene_types.h" +#include "DNA_smoke_types.h" #include "BKE_utildefines.h" #include "BKE_cdderivedmesh.h" @@ -93,12 +96,13 @@ static int dependsOnTime(ModifierData *UNUSED(md)) return 1; } -static void updateDepgraph(ModifierData *UNUSED(md), DagForest *UNUSED(forest), - struct Scene *UNUSED(scene), - Object *UNUSED(ob), - DagNode *UNUSED(obNode)) +static void updateDepgraph(ModifierData *md, DagForest *forest, + struct Scene *scene, + Object *ob, + DagNode *obNode) { - /*SmokeModifierData *smd = (SmokeModifierData *) md; + SmokeModifierData *smd = (SmokeModifierData *) md; + if(smd && (smd->type & MOD_SMOKE_TYPE_DOMAIN) && smd->domain) { if(smd->domain->fluid_group) @@ -112,7 +116,7 @@ static void updateDepgraph(ModifierData *UNUSED(md), DagForest *UNUSED(forest), SmokeModifierData *smd2 = (SmokeModifierData *)modifiers_findByType(go->ob, eModifierType_Smoke); // check for initialized smoke object - if(smd2 && (smd2->type & MOD_SMOKE_TYPE_FLOW) && smd2->flow) + if(smd2 && (((smd2->type & MOD_SMOKE_TYPE_FLOW) && smd2->flow) || ((smd->type & MOD_SMOKE_TYPE_COLL) && smd2->coll))) { DagNode *curNode = dag_get_node(forest, go->ob); dag_add_relation(forest, curNode, obNode, DAG_RL_DATA_DATA|DAG_RL_OB_DATA, "Smoke Flow"); @@ -120,8 +124,20 @@ static void updateDepgraph(ModifierData *UNUSED(md), DagForest *UNUSED(forest), } } } + else { + Base *base = scene->base.first; + + for(; base; base = base->next) { + SmokeModifierData *smd2 = (SmokeModifierData *)modifiers_findByType(base->object, eModifierType_Smoke); + + if(smd2 && (((smd2->type & MOD_SMOKE_TYPE_FLOW) && smd2->flow) || ((smd->type & MOD_SMOKE_TYPE_COLL) && smd2->coll))) + { + DagNode *curNode = dag_get_node(forest, base->object); + dag_add_relation(forest, curNode, obNode, DAG_RL_DATA_DATA|DAG_RL_OB_DATA, "Smoke Flow"); + } + } + } } - */ } -- cgit v1.2.3 From 7e10a9e6ce3d788e28ee39c9d2e94605d2a0ba47 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Wed, 15 Dec 2010 17:36:08 +0000 Subject: ensure pasted graph keys are always selected. --- source/blender/modifiers/intern/MOD_smoke.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'source/blender/modifiers/intern') diff --git a/source/blender/modifiers/intern/MOD_smoke.c b/source/blender/modifiers/intern/MOD_smoke.c index 91197376ae9..fc7d66b278e 100644 --- a/source/blender/modifiers/intern/MOD_smoke.c +++ b/source/blender/modifiers/intern/MOD_smoke.c @@ -98,7 +98,7 @@ static int dependsOnTime(ModifierData *UNUSED(md)) static void updateDepgraph(ModifierData *md, DagForest *forest, struct Scene *scene, - Object *ob, + Object *UNUSED(ob), DagNode *obNode) { SmokeModifierData *smd = (SmokeModifierData *) md; -- cgit v1.2.3 From 8b28c24d16386db7e68326d8607de5d20c9833b0 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Fri, 17 Dec 2010 20:13:54 +0000 Subject: Fix #25272: shrinkwrap with dependency cycle could lead to eternal loop and increasing memory usage. Modifiers should never call mesh_get_derived_final or similar, only use ob->derivedFinal if it exists, if the dependencies are set correct and there are no cycles, it will be there. --- source/blender/modifiers/intern/MOD_shrinkwrap.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'source/blender/modifiers/intern') diff --git a/source/blender/modifiers/intern/MOD_shrinkwrap.c b/source/blender/modifiers/intern/MOD_shrinkwrap.c index 417c73eba98..ff0ed5d841a 100644 --- a/source/blender/modifiers/intern/MOD_shrinkwrap.c +++ b/source/blender/modifiers/intern/MOD_shrinkwrap.c @@ -117,7 +117,7 @@ static void deformVerts(ModifierData *md, Object *ob, if(dataMask) dm= get_cddm(ob, NULL, dm, vertexCos); - shrinkwrapModifier_deform((ShrinkwrapModifierData*)md, md->scene, ob, dm, vertexCos, numVerts); + shrinkwrapModifier_deform((ShrinkwrapModifierData*)md, ob, dm, vertexCos, numVerts); if(dm != derivedData) dm->release(dm); @@ -132,7 +132,7 @@ static void deformVertsEM(ModifierData *md, Object *ob, struct EditMesh *editDat if(dataMask) dm= get_cddm(ob, editData, dm, vertexCos); - shrinkwrapModifier_deform((ShrinkwrapModifierData*)md, md->scene, ob, dm, vertexCos, numVerts); + shrinkwrapModifier_deform((ShrinkwrapModifierData*)md, ob, dm, vertexCos, numVerts); if(dm != derivedData) dm->release(dm); -- cgit v1.2.3 From b2be78c0ccbeb24995584ad7d5c70ae9f49ef04a Mon Sep 17 00:00:00 2001 From: Ton Roosendaal Date: Mon, 27 Dec 2010 19:26:38 +0000 Subject: Bugfix #25392 Compositor: Texture node didn't use texture-nodes itself. Now composites initialize texture nodes correctly. Also reviewed the fix for crashing texture nodes for displace. It appears texture nodes also are used for sculpt/paint brushes, in these cases it can be allowed again. But, don't do this during rendering for now! --- source/blender/modifiers/intern/MOD_util.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'source/blender/modifiers/intern') diff --git a/source/blender/modifiers/intern/MOD_util.c b/source/blender/modifiers/intern/MOD_util.c index de96684a2dd..cbf2bd8af4b 100644 --- a/source/blender/modifiers/intern/MOD_util.c +++ b/source/blender/modifiers/intern/MOD_util.c @@ -53,7 +53,8 @@ void get_texture_value(Tex *texture, float *tex_co, TexResult *texres) { int result_type; - result_type = multitex_ext(texture, tex_co, NULL, NULL, 0, texres); + /* no node textures for now */ + result_type = multitex_ext_safe(texture, tex_co, texres); /* if the texture gave an RGB value, we assume it didn't give a valid * intensity, so calculate one (formula from do_material_tex). -- cgit v1.2.3 From 03e0f28ea054923d1bb682ad8cd6ee931caea89f Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Fri, 7 Jan 2011 11:48:35 +0000 Subject: bugfix [#25528] lack of update and crash using hook modifier. --- source/blender/modifiers/intern/MOD_hook.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'source/blender/modifiers/intern') diff --git a/source/blender/modifiers/intern/MOD_hook.c b/source/blender/modifiers/intern/MOD_hook.c index e29b4b456ae..9c855e4c96c 100644 --- a/source/blender/modifiers/intern/MOD_hook.c +++ b/source/blender/modifiers/intern/MOD_hook.c @@ -268,7 +268,7 @@ static void deformVertsEM( if(!derivedData) dm = CDDM_from_editmesh(editData, ob->data); - deformVerts(md, ob, derivedData, vertexCos, numVerts, 0, 0); + deformVerts(md, ob, dm, vertexCos, numVerts, 0, 0); if(!derivedData) dm->release(dm); } -- cgit v1.2.3 From a601fd889331c319803daa7505c2c8016f15a47f Mon Sep 17 00:00:00 2001 From: Janne Karhu Date: Fri, 7 Jan 2011 17:27:27 +0000 Subject: Bug fix: unbaked particle cache was cleared from current frame onwards on file load. --- source/blender/modifiers/intern/MOD_particlesystem.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'source/blender/modifiers/intern') diff --git a/source/blender/modifiers/intern/MOD_particlesystem.c b/source/blender/modifiers/intern/MOD_particlesystem.c index f2b580aca9a..d7e61b7210e 100644 --- a/source/blender/modifiers/intern/MOD_particlesystem.c +++ b/source/blender/modifiers/intern/MOD_particlesystem.c @@ -154,6 +154,10 @@ static void deformVerts(ModifierData *md, Object *ob, psmd->dm->needsFree = 1; psmd->dm->release(psmd->dm); } + else if(psmd->flag & eParticleSystemFlag_file_loaded) { + /* in file read dm just wasn't saved in file so no need to reset everything */ + psmd->flag &= ~eParticleSystemFlag_file_loaded; + } else { /* no dm before, so recalc particles fully */ psys->recalc |= PSYS_RECALC_RESET; @@ -176,7 +180,6 @@ static void deformVerts(ModifierData *md, Object *ob, if(psmd->dm->getNumVerts(psmd->dm)!=psmd->totdmvert || psmd->dm->getNumEdges(psmd->dm)!=psmd->totdmedge || psmd->dm->getNumFaces(psmd->dm)!=psmd->totdmface){ - /* in file read dm hasn't really changed but just wasn't saved in file */ psys->recalc |= PSYS_RECALC_RESET; -- cgit v1.2.3 From 8f21a43535cb200c0569566a1b012aec883aa53c Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Fri, 7 Jan 2011 18:36:47 +0000 Subject: split BKE_utildefines.h, now it only has blender specific defines like GS() MAKE_ID, FILE_MAXDIR, moved the generic defines to BLI_utildefines.h. no functional changes. --- source/blender/modifiers/intern/MOD_armature.c | 2 ++ source/blender/modifiers/intern/MOD_array.c | 1 + source/blender/modifiers/intern/MOD_bevel.c | 2 ++ source/blender/modifiers/intern/MOD_boolean.c | 2 ++ source/blender/modifiers/intern/MOD_boolean_util.c | 1 + source/blender/modifiers/intern/MOD_build.c | 1 + source/blender/modifiers/intern/MOD_cast.c | 1 + source/blender/modifiers/intern/MOD_cloth.c | 2 ++ source/blender/modifiers/intern/MOD_collision.c | 1 + source/blender/modifiers/intern/MOD_curve.c | 2 ++ source/blender/modifiers/intern/MOD_decimate.c | 1 + source/blender/modifiers/intern/MOD_displace.c | 1 + source/blender/modifiers/intern/MOD_edgesplit.c | 1 + source/blender/modifiers/intern/MOD_explode.c | 1 + source/blender/modifiers/intern/MOD_fluidsim.c | 2 ++ source/blender/modifiers/intern/MOD_fluidsim_util.c | 1 + source/blender/modifiers/intern/MOD_hook.c | 1 + source/blender/modifiers/intern/MOD_lattice.c | 2 ++ source/blender/modifiers/intern/MOD_mask.c | 1 + source/blender/modifiers/intern/MOD_meshdeform.c | 1 + source/blender/modifiers/intern/MOD_mirror.c | 1 + source/blender/modifiers/intern/MOD_none.c | 3 +++ source/blender/modifiers/intern/MOD_particleinstance.c | 1 + source/blender/modifiers/intern/MOD_particlesystem.c | 2 ++ source/blender/modifiers/intern/MOD_screw.c | 1 + source/blender/modifiers/intern/MOD_shapekey.c | 2 ++ source/blender/modifiers/intern/MOD_shrinkwrap.c | 2 ++ source/blender/modifiers/intern/MOD_simpledeform.c | 1 + source/blender/modifiers/intern/MOD_smoke.c | 2 ++ source/blender/modifiers/intern/MOD_smooth.c | 1 + source/blender/modifiers/intern/MOD_softbody.c | 2 ++ source/blender/modifiers/intern/MOD_solidify.c | 1 + source/blender/modifiers/intern/MOD_subsurf.c | 2 ++ source/blender/modifiers/intern/MOD_surface.c | 1 + source/blender/modifiers/intern/MOD_util.c | 2 ++ source/blender/modifiers/intern/MOD_uvproject.c | 1 + source/blender/modifiers/intern/MOD_wave.c | 2 ++ 37 files changed, 54 insertions(+) (limited to 'source/blender/modifiers/intern') diff --git a/source/blender/modifiers/intern/MOD_armature.c b/source/blender/modifiers/intern/MOD_armature.c index 56c3bd3acb5..4f62a4d435d 100644 --- a/source/blender/modifiers/intern/MOD_armature.c +++ b/source/blender/modifiers/intern/MOD_armature.c @@ -35,6 +35,8 @@ #include "DNA_armature_types.h" #include "DNA_object_types.h" +#include "BLI_utildefines.h" + #include "BKE_utildefines.h" #include "BKE_cdderivedmesh.h" #include "BKE_lattice.h" diff --git a/source/blender/modifiers/intern/MOD_array.c b/source/blender/modifiers/intern/MOD_array.c index f371bfd5567..f6d497b763f 100644 --- a/source/blender/modifiers/intern/MOD_array.c +++ b/source/blender/modifiers/intern/MOD_array.c @@ -35,6 +35,7 @@ #include "MEM_guardedalloc.h" #include "BLI_math.h" +#include "BLI_utildefines.h" #include "BLI_ghash.h" #include "BLI_edgehash.h" diff --git a/source/blender/modifiers/intern/MOD_bevel.c b/source/blender/modifiers/intern/MOD_bevel.c index a21d27180ba..e775d7e4262 100644 --- a/source/blender/modifiers/intern/MOD_bevel.c +++ b/source/blender/modifiers/intern/MOD_bevel.c @@ -31,6 +31,8 @@ */ #include "MEM_guardedalloc.h" +#include "BLI_utildefines.h" + #include "BKE_bmesh.h" #include "BKE_cdderivedmesh.h" #include "BKE_modifier.h" diff --git a/source/blender/modifiers/intern/MOD_boolean.c b/source/blender/modifiers/intern/MOD_boolean.c index 07300065659..d4ede54d1df 100644 --- a/source/blender/modifiers/intern/MOD_boolean.c +++ b/source/blender/modifiers/intern/MOD_boolean.c @@ -32,6 +32,8 @@ #include "DNA_object_types.h" +#include "BLI_utildefines.h" + #include "BKE_utildefines.h" #include "BKE_cdderivedmesh.h" #include "BKE_modifier.h" diff --git a/source/blender/modifiers/intern/MOD_boolean_util.c b/source/blender/modifiers/intern/MOD_boolean_util.c index b31c3f19017..900a94487e5 100644 --- a/source/blender/modifiers/intern/MOD_boolean_util.c +++ b/source/blender/modifiers/intern/MOD_boolean_util.c @@ -37,6 +37,7 @@ #include "MEM_guardedalloc.h" #include "BLI_math.h" +#include "BLI_utildefines.h" #include "BLI_ghash.h" #include "BKE_cdderivedmesh.h" diff --git a/source/blender/modifiers/intern/MOD_build.c b/source/blender/modifiers/intern/MOD_build.c index 960db7fa925..1588d1f44d5 100644 --- a/source/blender/modifiers/intern/MOD_build.c +++ b/source/blender/modifiers/intern/MOD_build.c @@ -32,6 +32,7 @@ #include "MEM_guardedalloc.h" +#include "BLI_utildefines.h" #include "BLI_rand.h" #include "BLI_ghash.h" diff --git a/source/blender/modifiers/intern/MOD_cast.c b/source/blender/modifiers/intern/MOD_cast.c index 2d45ea19f01..fa494c28031 100644 --- a/source/blender/modifiers/intern/MOD_cast.c +++ b/source/blender/modifiers/intern/MOD_cast.c @@ -34,6 +34,7 @@ #include "DNA_object_types.h" #include "BLI_math.h" +#include "BLI_utildefines.h" #include "BKE_utildefines.h" #include "BKE_deform.h" diff --git a/source/blender/modifiers/intern/MOD_cloth.c b/source/blender/modifiers/intern/MOD_cloth.c index 97a79cce414..864a2cbbcb1 100644 --- a/source/blender/modifiers/intern/MOD_cloth.c +++ b/source/blender/modifiers/intern/MOD_cloth.c @@ -36,6 +36,8 @@ #include "MEM_guardedalloc.h" +#include "BLI_utildefines.h" + #include "BKE_utildefines.h" #include "BKE_cloth.h" #include "BKE_cdderivedmesh.h" diff --git a/source/blender/modifiers/intern/MOD_collision.c b/source/blender/modifiers/intern/MOD_collision.c index 20319b8c65f..46dbb0d9a6e 100644 --- a/source/blender/modifiers/intern/MOD_collision.c +++ b/source/blender/modifiers/intern/MOD_collision.c @@ -37,6 +37,7 @@ #include "MEM_guardedalloc.h" #include "BLI_math.h" +#include "BLI_utildefines.h" #include "BKE_utildefines.h" #include "BKE_collision.h" diff --git a/source/blender/modifiers/intern/MOD_curve.c b/source/blender/modifiers/intern/MOD_curve.c index 39816d1ff12..686e32ac5d5 100644 --- a/source/blender/modifiers/intern/MOD_curve.c +++ b/source/blender/modifiers/intern/MOD_curve.c @@ -35,6 +35,8 @@ #include "DNA_scene_types.h" #include "DNA_object_types.h" +#include "BLI_utildefines.h" + #include "BKE_utildefines.h" #include "BKE_cdderivedmesh.h" #include "BKE_lattice.h" diff --git a/source/blender/modifiers/intern/MOD_decimate.c b/source/blender/modifiers/intern/MOD_decimate.c index d7e0ff4702b..f2af4f42532 100644 --- a/source/blender/modifiers/intern/MOD_decimate.c +++ b/source/blender/modifiers/intern/MOD_decimate.c @@ -33,6 +33,7 @@ #include "DNA_meshdata_types.h" #include "BLI_math.h" +#include "BLI_utildefines.h" #include "BKE_utildefines.h" #include "BKE_cdderivedmesh.h" diff --git a/source/blender/modifiers/intern/MOD_displace.c b/source/blender/modifiers/intern/MOD_displace.c index f6e5b9c119a..b61467fbd59 100644 --- a/source/blender/modifiers/intern/MOD_displace.c +++ b/source/blender/modifiers/intern/MOD_displace.c @@ -34,6 +34,7 @@ #include "DNA_object_types.h" #include "BLI_math.h" +#include "BLI_utildefines.h" #include "BKE_utildefines.h" #include "BKE_cdderivedmesh.h" diff --git a/source/blender/modifiers/intern/MOD_edgesplit.c b/source/blender/modifiers/intern/MOD_edgesplit.c index daf9d76cf51..08f38ed0fc5 100644 --- a/source/blender/modifiers/intern/MOD_edgesplit.c +++ b/source/blender/modifiers/intern/MOD_edgesplit.c @@ -39,6 +39,7 @@ #include "BLI_memarena.h" #include "BLI_edgehash.h" #include "BLI_math.h" +#include "BLI_utildefines.h" #include "BKE_utildefines.h" #include "BKE_cdderivedmesh.h" diff --git a/source/blender/modifiers/intern/MOD_explode.c b/source/blender/modifiers/intern/MOD_explode.c index 9e93557968d..ff2bb3c27ec 100644 --- a/source/blender/modifiers/intern/MOD_explode.c +++ b/source/blender/modifiers/intern/MOD_explode.c @@ -37,6 +37,7 @@ #include "BLI_rand.h" #include "BLI_math.h" #include "BLI_edgehash.h" +#include "BLI_utildefines.h" #include "BKE_cdderivedmesh.h" #include "BKE_deform.h" diff --git a/source/blender/modifiers/intern/MOD_fluidsim.c b/source/blender/modifiers/intern/MOD_fluidsim.c index d3cc653d992..6c8f1fd81cb 100644 --- a/source/blender/modifiers/intern/MOD_fluidsim.c +++ b/source/blender/modifiers/intern/MOD_fluidsim.c @@ -34,6 +34,8 @@ #include "DNA_object_fluidsim.h" #include "DNA_object_types.h" +#include "BLI_utildefines.h" + #include "BKE_utildefines.h" #include "BKE_cdderivedmesh.h" #include "BKE_modifier.h" diff --git a/source/blender/modifiers/intern/MOD_fluidsim_util.c b/source/blender/modifiers/intern/MOD_fluidsim_util.c index 07de73766f4..1ff997f92d7 100644 --- a/source/blender/modifiers/intern/MOD_fluidsim_util.c +++ b/source/blender/modifiers/intern/MOD_fluidsim_util.c @@ -42,6 +42,7 @@ #include "BLI_blenlib.h" #include "BLI_math.h" +#include "BLI_utildefines.h" #include "BKE_main.h" #include "BKE_cdderivedmesh.h" diff --git a/source/blender/modifiers/intern/MOD_hook.c b/source/blender/modifiers/intern/MOD_hook.c index 9c855e4c96c..3f44b0617b8 100644 --- a/source/blender/modifiers/intern/MOD_hook.c +++ b/source/blender/modifiers/intern/MOD_hook.c @@ -35,6 +35,7 @@ #include "DNA_object_types.h" #include "BLI_math.h" +#include "BLI_utildefines.h" #include "BKE_action.h" #include "BKE_cdderivedmesh.h" diff --git a/source/blender/modifiers/intern/MOD_lattice.c b/source/blender/modifiers/intern/MOD_lattice.c index deb4446fa4e..e25d75be5bf 100644 --- a/source/blender/modifiers/intern/MOD_lattice.c +++ b/source/blender/modifiers/intern/MOD_lattice.c @@ -34,6 +34,8 @@ #include "DNA_object_types.h" +#include "BLI_utildefines.h" + #include "BKE_utildefines.h" #include "BKE_cdderivedmesh.h" #include "BKE_lattice.h" diff --git a/source/blender/modifiers/intern/MOD_mask.c b/source/blender/modifiers/intern/MOD_mask.c index 90fe8b81e53..e0a46203905 100644 --- a/source/blender/modifiers/intern/MOD_mask.c +++ b/source/blender/modifiers/intern/MOD_mask.c @@ -32,6 +32,7 @@ #include "MEM_guardedalloc.h" +#include "BLI_utildefines.h" #include "BLI_ghash.h" #include "DNA_armature_types.h" diff --git a/source/blender/modifiers/intern/MOD_meshdeform.c b/source/blender/modifiers/intern/MOD_meshdeform.c index 249effa15f5..4e7e857b2fa 100644 --- a/source/blender/modifiers/intern/MOD_meshdeform.c +++ b/source/blender/modifiers/intern/MOD_meshdeform.c @@ -34,6 +34,7 @@ #include "DNA_object_types.h" #include "BLI_math.h" +#include "BLI_utildefines.h" #include "BKE_utildefines.h" #include "BKE_cdderivedmesh.h" diff --git a/source/blender/modifiers/intern/MOD_mirror.c b/source/blender/modifiers/intern/MOD_mirror.c index c04c85c21f7..b5c38491ecd 100644 --- a/source/blender/modifiers/intern/MOD_mirror.c +++ b/source/blender/modifiers/intern/MOD_mirror.c @@ -34,6 +34,7 @@ #include "DNA_object_types.h" #include "BLI_math.h" +#include "BLI_utildefines.h" #include "BKE_cdderivedmesh.h" #include "BKE_mesh.h" diff --git a/source/blender/modifiers/intern/MOD_none.c b/source/blender/modifiers/intern/MOD_none.c index 1b6a709e7f4..79017823795 100644 --- a/source/blender/modifiers/intern/MOD_none.c +++ b/source/blender/modifiers/intern/MOD_none.c @@ -35,6 +35,9 @@ */ #include "BKE_utildefines.h" + +#include "BLI_utildefines.h" + #include "MOD_modifiertypes.h" /* We only need to define isDisabled; because it always returns 1, diff --git a/source/blender/modifiers/intern/MOD_particleinstance.c b/source/blender/modifiers/intern/MOD_particleinstance.c index 9fcefdba49a..4ac1e5b2f19 100644 --- a/source/blender/modifiers/intern/MOD_particleinstance.c +++ b/source/blender/modifiers/intern/MOD_particleinstance.c @@ -37,6 +37,7 @@ #include "BLI_math.h" #include "BLI_listbase.h" #include "BLI_rand.h" +#include "BLI_utildefines.h" #include "BKE_cdderivedmesh.h" #include "BKE_lattice.h" diff --git a/source/blender/modifiers/intern/MOD_particlesystem.c b/source/blender/modifiers/intern/MOD_particlesystem.c index d7e61b7210e..d47bfaed043 100644 --- a/source/blender/modifiers/intern/MOD_particlesystem.c +++ b/source/blender/modifiers/intern/MOD_particlesystem.c @@ -34,6 +34,8 @@ #include "DNA_material_types.h" +#include "BLI_utildefines.h" + #include "BKE_utildefines.h" #include "BKE_cdderivedmesh.h" #include "BKE_material.h" diff --git a/source/blender/modifiers/intern/MOD_screw.c b/source/blender/modifiers/intern/MOD_screw.c index f7d4744134f..46868abc163 100644 --- a/source/blender/modifiers/intern/MOD_screw.c +++ b/source/blender/modifiers/intern/MOD_screw.c @@ -36,6 +36,7 @@ #include "DNA_object_types.h" #include "BLI_math.h" +#include "BLI_utildefines.h" #include "BKE_utildefines.h" #include "BKE_cdderivedmesh.h" diff --git a/source/blender/modifiers/intern/MOD_shapekey.c b/source/blender/modifiers/intern/MOD_shapekey.c index a43e19a5fc1..30e8a877144 100644 --- a/source/blender/modifiers/intern/MOD_shapekey.c +++ b/source/blender/modifiers/intern/MOD_shapekey.c @@ -34,6 +34,8 @@ #include "DNA_key_types.h" +#include "BLI_utildefines.h" + #include "BKE_utildefines.h" #include "BKE_cdderivedmesh.h" #include "BKE_key.h" diff --git a/source/blender/modifiers/intern/MOD_shrinkwrap.c b/source/blender/modifiers/intern/MOD_shrinkwrap.c index ff0ed5d841a..7a617003dff 100644 --- a/source/blender/modifiers/intern/MOD_shrinkwrap.c +++ b/source/blender/modifiers/intern/MOD_shrinkwrap.c @@ -32,6 +32,8 @@ #include +#include "BLI_utildefines.h" + #include "BKE_utildefines.h" #include "BKE_cdderivedmesh.h" #include "BKE_modifier.h" diff --git a/source/blender/modifiers/intern/MOD_simpledeform.c b/source/blender/modifiers/intern/MOD_simpledeform.c index 9e2d8e16c52..b42d4266b04 100644 --- a/source/blender/modifiers/intern/MOD_simpledeform.c +++ b/source/blender/modifiers/intern/MOD_simpledeform.c @@ -34,6 +34,7 @@ #include "DNA_object_types.h" #include "BLI_math.h" +#include "BLI_utildefines.h" #include "BKE_cdderivedmesh.h" #include "BKE_lattice.h" diff --git a/source/blender/modifiers/intern/MOD_smoke.c b/source/blender/modifiers/intern/MOD_smoke.c index fc7d66b278e..5eeb7374f72 100644 --- a/source/blender/modifiers/intern/MOD_smoke.c +++ b/source/blender/modifiers/intern/MOD_smoke.c @@ -39,6 +39,8 @@ #include "DNA_scene_types.h" #include "DNA_smoke_types.h" +#include "BLI_utildefines.h" + #include "BKE_utildefines.h" #include "BKE_cdderivedmesh.h" #include "BKE_modifier.h" diff --git a/source/blender/modifiers/intern/MOD_smooth.c b/source/blender/modifiers/intern/MOD_smooth.c index e3740a42fff..633ac8c4b28 100644 --- a/source/blender/modifiers/intern/MOD_smooth.c +++ b/source/blender/modifiers/intern/MOD_smooth.c @@ -33,6 +33,7 @@ #include "DNA_meshdata_types.h" #include "BLI_math.h" +#include "BLI_utildefines.h" #include "BKE_cdderivedmesh.h" #include "BKE_particle.h" diff --git a/source/blender/modifiers/intern/MOD_softbody.c b/source/blender/modifiers/intern/MOD_softbody.c index 8d962395d01..04c11651214 100644 --- a/source/blender/modifiers/intern/MOD_softbody.c +++ b/source/blender/modifiers/intern/MOD_softbody.c @@ -32,6 +32,8 @@ #include "DNA_scene_types.h" +#include "BLI_utildefines.h" + #include "BKE_utildefines.h" #include "BKE_cdderivedmesh.h" #include "BKE_particle.h" diff --git a/source/blender/modifiers/intern/MOD_solidify.c b/source/blender/modifiers/intern/MOD_solidify.c index 935a3cc627a..1c1d9eb0279 100644 --- a/source/blender/modifiers/intern/MOD_solidify.c +++ b/source/blender/modifiers/intern/MOD_solidify.c @@ -34,6 +34,7 @@ #include "BLI_math.h" #include "BLI_edgehash.h" +#include "BLI_utildefines.h" #include "BKE_cdderivedmesh.h" #include "BKE_mesh.h" diff --git a/source/blender/modifiers/intern/MOD_subsurf.c b/source/blender/modifiers/intern/MOD_subsurf.c index 3264717c97a..94dc2273e70 100644 --- a/source/blender/modifiers/intern/MOD_subsurf.c +++ b/source/blender/modifiers/intern/MOD_subsurf.c @@ -35,6 +35,8 @@ #include "DNA_scene_types.h" #include "DNA_object_types.h" +#include "BLI_utildefines.h" + #include "BKE_utildefines.h" #include "BKE_cdderivedmesh.h" #include "BKE_scene.h" diff --git a/source/blender/modifiers/intern/MOD_surface.c b/source/blender/modifiers/intern/MOD_surface.c index a1593df0ffa..d546ad444f4 100644 --- a/source/blender/modifiers/intern/MOD_surface.c +++ b/source/blender/modifiers/intern/MOD_surface.c @@ -35,6 +35,7 @@ #include "DNA_meshdata_types.h" #include "BLI_math.h" +#include "BLI_utildefines.h" #include "BKE_utildefines.h" #include "BKE_cdderivedmesh.h" diff --git a/source/blender/modifiers/intern/MOD_util.c b/source/blender/modifiers/intern/MOD_util.c index cbf2bd8af4b..0b92794051c 100644 --- a/source/blender/modifiers/intern/MOD_util.c +++ b/source/blender/modifiers/intern/MOD_util.c @@ -36,6 +36,8 @@ #include "DNA_object_types.h" #include "DNA_curve_types.h" +#include "BLI_utildefines.h" + #include "BKE_cdderivedmesh.h" #include "BKE_mesh.h" #include "BKE_displist.h" diff --git a/source/blender/modifiers/intern/MOD_uvproject.c b/source/blender/modifiers/intern/MOD_uvproject.c index 08c6477ead3..7480e3e8c83 100644 --- a/source/blender/modifiers/intern/MOD_uvproject.c +++ b/source/blender/modifiers/intern/MOD_uvproject.c @@ -38,6 +38,7 @@ #include "BLI_math.h" #include "BLI_uvproject.h" +#include "BLI_utildefines.h" #include "BKE_utildefines.h" #include "BKE_DerivedMesh.h" diff --git a/source/blender/modifiers/intern/MOD_wave.c b/source/blender/modifiers/intern/MOD_wave.c index 255d896fbc0..b4978da9bc1 100644 --- a/source/blender/modifiers/intern/MOD_wave.c +++ b/source/blender/modifiers/intern/MOD_wave.c @@ -36,6 +36,8 @@ #include "DNA_scene_types.h" #include "DNA_object_types.h" +#include "BLI_utildefines.h" + #include "BKE_utildefines.h" #include "BKE_DerivedMesh.h" #include "BKE_object.h" -- cgit v1.2.3 From 89c9aaaa25cc7ce60c305d8e30e1c008cb117cf1 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Fri, 7 Jan 2011 19:18:31 +0000 Subject: remove references to BKE_utildefines where its not needed. - move GS() define into DNA_ID.h - add BLI_utildefines as an automatic include with makesrna generated files. --- source/blender/modifiers/intern/MOD_armature.c | 2 +- source/blender/modifiers/intern/MOD_boolean.c | 2 +- source/blender/modifiers/intern/MOD_cast.c | 4 ++-- source/blender/modifiers/intern/MOD_cloth.c | 2 +- source/blender/modifiers/intern/MOD_collision.c | 2 +- source/blender/modifiers/intern/MOD_curve.c | 2 +- source/blender/modifiers/intern/MOD_decimate.c | 2 +- source/blender/modifiers/intern/MOD_displace.c | 2 +- source/blender/modifiers/intern/MOD_edgesplit.c | 2 +- source/blender/modifiers/intern/MOD_explode.c | 2 +- source/blender/modifiers/intern/MOD_fluidsim.c | 2 +- source/blender/modifiers/intern/MOD_hook.c | 2 +- source/blender/modifiers/intern/MOD_lattice.c | 2 +- source/blender/modifiers/intern/MOD_meshdeform.c | 2 +- source/blender/modifiers/intern/MOD_mirror.c | 2 +- source/blender/modifiers/intern/MOD_none.c | 2 +- source/blender/modifiers/intern/MOD_particleinstance.c | 2 +- source/blender/modifiers/intern/MOD_particlesystem.c | 2 +- source/blender/modifiers/intern/MOD_screw.c | 2 +- source/blender/modifiers/intern/MOD_shapekey.c | 2 +- source/blender/modifiers/intern/MOD_shrinkwrap.c | 2 +- source/blender/modifiers/intern/MOD_simpledeform.c | 2 +- source/blender/modifiers/intern/MOD_smoke.c | 2 +- source/blender/modifiers/intern/MOD_smooth.c | 2 +- source/blender/modifiers/intern/MOD_softbody.c | 2 +- source/blender/modifiers/intern/MOD_solidify.c | 2 +- source/blender/modifiers/intern/MOD_subsurf.c | 2 +- source/blender/modifiers/intern/MOD_surface.c | 2 +- source/blender/modifiers/intern/MOD_util.c | 2 +- source/blender/modifiers/intern/MOD_uvproject.c | 2 +- source/blender/modifiers/intern/MOD_wave.c | 2 +- 31 files changed, 32 insertions(+), 32 deletions(-) (limited to 'source/blender/modifiers/intern') diff --git a/source/blender/modifiers/intern/MOD_armature.c b/source/blender/modifiers/intern/MOD_armature.c index 4f62a4d435d..d06ec92d4df 100644 --- a/source/blender/modifiers/intern/MOD_armature.c +++ b/source/blender/modifiers/intern/MOD_armature.c @@ -37,7 +37,7 @@ #include "BLI_utildefines.h" -#include "BKE_utildefines.h" + #include "BKE_cdderivedmesh.h" #include "BKE_lattice.h" #include "BKE_modifier.h" diff --git a/source/blender/modifiers/intern/MOD_boolean.c b/source/blender/modifiers/intern/MOD_boolean.c index d4ede54d1df..112618a2bd6 100644 --- a/source/blender/modifiers/intern/MOD_boolean.c +++ b/source/blender/modifiers/intern/MOD_boolean.c @@ -34,7 +34,7 @@ #include "BLI_utildefines.h" -#include "BKE_utildefines.h" + #include "BKE_cdderivedmesh.h" #include "BKE_modifier.h" diff --git a/source/blender/modifiers/intern/MOD_cast.c b/source/blender/modifiers/intern/MOD_cast.c index fa494c28031..c3400a6541d 100644 --- a/source/blender/modifiers/intern/MOD_cast.c +++ b/source/blender/modifiers/intern/MOD_cast.c @@ -36,11 +36,11 @@ #include "BLI_math.h" #include "BLI_utildefines.h" -#include "BKE_utildefines.h" + #include "BKE_deform.h" #include "BKE_DerivedMesh.h" #include "BKE_modifier.h" -#include "BKE_utildefines.h" + #include "depsgraph_private.h" diff --git a/source/blender/modifiers/intern/MOD_cloth.c b/source/blender/modifiers/intern/MOD_cloth.c index 864a2cbbcb1..a0566d32c73 100644 --- a/source/blender/modifiers/intern/MOD_cloth.c +++ b/source/blender/modifiers/intern/MOD_cloth.c @@ -38,7 +38,7 @@ #include "BLI_utildefines.h" -#include "BKE_utildefines.h" + #include "BKE_cloth.h" #include "BKE_cdderivedmesh.h" #include "BKE_global.h" diff --git a/source/blender/modifiers/intern/MOD_collision.c b/source/blender/modifiers/intern/MOD_collision.c index 46dbb0d9a6e..bf324030424 100644 --- a/source/blender/modifiers/intern/MOD_collision.c +++ b/source/blender/modifiers/intern/MOD_collision.c @@ -39,7 +39,7 @@ #include "BLI_math.h" #include "BLI_utildefines.h" -#include "BKE_utildefines.h" + #include "BKE_collision.h" #include "BKE_cdderivedmesh.h" #include "BKE_global.h" diff --git a/source/blender/modifiers/intern/MOD_curve.c b/source/blender/modifiers/intern/MOD_curve.c index 686e32ac5d5..b1a5965cbe3 100644 --- a/source/blender/modifiers/intern/MOD_curve.c +++ b/source/blender/modifiers/intern/MOD_curve.c @@ -37,7 +37,7 @@ #include "BLI_utildefines.h" -#include "BKE_utildefines.h" + #include "BKE_cdderivedmesh.h" #include "BKE_lattice.h" #include "BKE_modifier.h" diff --git a/source/blender/modifiers/intern/MOD_decimate.c b/source/blender/modifiers/intern/MOD_decimate.c index f2af4f42532..7903e1adb47 100644 --- a/source/blender/modifiers/intern/MOD_decimate.c +++ b/source/blender/modifiers/intern/MOD_decimate.c @@ -35,7 +35,7 @@ #include "BLI_math.h" #include "BLI_utildefines.h" -#include "BKE_utildefines.h" + #include "BKE_cdderivedmesh.h" #include "BKE_mesh.h" #include "BKE_modifier.h" diff --git a/source/blender/modifiers/intern/MOD_displace.c b/source/blender/modifiers/intern/MOD_displace.c index b61467fbd59..931865409cb 100644 --- a/source/blender/modifiers/intern/MOD_displace.c +++ b/source/blender/modifiers/intern/MOD_displace.c @@ -36,7 +36,7 @@ #include "BLI_math.h" #include "BLI_utildefines.h" -#include "BKE_utildefines.h" + #include "BKE_cdderivedmesh.h" #include "BKE_modifier.h" #include "BKE_texture.h" diff --git a/source/blender/modifiers/intern/MOD_edgesplit.c b/source/blender/modifiers/intern/MOD_edgesplit.c index 08f38ed0fc5..105e4777e87 100644 --- a/source/blender/modifiers/intern/MOD_edgesplit.c +++ b/source/blender/modifiers/intern/MOD_edgesplit.c @@ -41,7 +41,7 @@ #include "BLI_math.h" #include "BLI_utildefines.h" -#include "BKE_utildefines.h" + #include "BKE_cdderivedmesh.h" #include "BKE_modifier.h" #include "BKE_particle.h" diff --git a/source/blender/modifiers/intern/MOD_explode.c b/source/blender/modifiers/intern/MOD_explode.c index ff2bb3c27ec..015b4b649d4 100644 --- a/source/blender/modifiers/intern/MOD_explode.c +++ b/source/blender/modifiers/intern/MOD_explode.c @@ -47,7 +47,7 @@ #include "BKE_object.h" #include "BKE_particle.h" #include "BKE_scene.h" -#include "BKE_utildefines.h" + #include "MEM_guardedalloc.h" diff --git a/source/blender/modifiers/intern/MOD_fluidsim.c b/source/blender/modifiers/intern/MOD_fluidsim.c index 6c8f1fd81cb..bbb88ba09e3 100644 --- a/source/blender/modifiers/intern/MOD_fluidsim.c +++ b/source/blender/modifiers/intern/MOD_fluidsim.c @@ -36,7 +36,7 @@ #include "BLI_utildefines.h" -#include "BKE_utildefines.h" + #include "BKE_cdderivedmesh.h" #include "BKE_modifier.h" diff --git a/source/blender/modifiers/intern/MOD_hook.c b/source/blender/modifiers/intern/MOD_hook.c index 3f44b0617b8..adf19882419 100644 --- a/source/blender/modifiers/intern/MOD_hook.c +++ b/source/blender/modifiers/intern/MOD_hook.c @@ -41,7 +41,7 @@ #include "BKE_cdderivedmesh.h" #include "BKE_modifier.h" #include "BKE_deform.h" -#include "BKE_utildefines.h" + #include "depsgraph_private.h" #include "MEM_guardedalloc.h" diff --git a/source/blender/modifiers/intern/MOD_lattice.c b/source/blender/modifiers/intern/MOD_lattice.c index e25d75be5bf..136998dbc78 100644 --- a/source/blender/modifiers/intern/MOD_lattice.c +++ b/source/blender/modifiers/intern/MOD_lattice.c @@ -36,7 +36,7 @@ #include "BLI_utildefines.h" -#include "BKE_utildefines.h" + #include "BKE_cdderivedmesh.h" #include "BKE_lattice.h" #include "BKE_modifier.h" diff --git a/source/blender/modifiers/intern/MOD_meshdeform.c b/source/blender/modifiers/intern/MOD_meshdeform.c index 4e7e857b2fa..6df57bf372e 100644 --- a/source/blender/modifiers/intern/MOD_meshdeform.c +++ b/source/blender/modifiers/intern/MOD_meshdeform.c @@ -36,7 +36,7 @@ #include "BLI_math.h" #include "BLI_utildefines.h" -#include "BKE_utildefines.h" + #include "BKE_cdderivedmesh.h" #include "BKE_global.h" #include "BKE_mesh.h" diff --git a/source/blender/modifiers/intern/MOD_mirror.c b/source/blender/modifiers/intern/MOD_mirror.c index b5c38491ecd..c07bd10d6fa 100644 --- a/source/blender/modifiers/intern/MOD_mirror.c +++ b/source/blender/modifiers/intern/MOD_mirror.c @@ -40,7 +40,7 @@ #include "BKE_mesh.h" #include "BKE_modifier.h" #include "BKE_deform.h" -#include "BKE_utildefines.h" + #include "MEM_guardedalloc.h" #include "depsgraph_private.h" diff --git a/source/blender/modifiers/intern/MOD_none.c b/source/blender/modifiers/intern/MOD_none.c index 79017823795..cc27d3b659b 100644 --- a/source/blender/modifiers/intern/MOD_none.c +++ b/source/blender/modifiers/intern/MOD_none.c @@ -34,7 +34,7 @@ * ***** END GPL LICENSE BLOCK ***** */ -#include "BKE_utildefines.h" + #include "BLI_utildefines.h" diff --git a/source/blender/modifiers/intern/MOD_particleinstance.c b/source/blender/modifiers/intern/MOD_particleinstance.c index 4ac1e5b2f19..f0e7699c292 100644 --- a/source/blender/modifiers/intern/MOD_particleinstance.c +++ b/source/blender/modifiers/intern/MOD_particleinstance.c @@ -44,7 +44,7 @@ #include "BKE_modifier.h" #include "BKE_particle.h" #include "BKE_pointcache.h" -#include "BKE_utildefines.h" + #include "depsgraph_private.h" diff --git a/source/blender/modifiers/intern/MOD_particlesystem.c b/source/blender/modifiers/intern/MOD_particlesystem.c index d47bfaed043..9b77a904887 100644 --- a/source/blender/modifiers/intern/MOD_particlesystem.c +++ b/source/blender/modifiers/intern/MOD_particlesystem.c @@ -36,7 +36,7 @@ #include "BLI_utildefines.h" -#include "BKE_utildefines.h" + #include "BKE_cdderivedmesh.h" #include "BKE_material.h" #include "BKE_modifier.h" diff --git a/source/blender/modifiers/intern/MOD_screw.c b/source/blender/modifiers/intern/MOD_screw.c index 46868abc163..c340a472504 100644 --- a/source/blender/modifiers/intern/MOD_screw.c +++ b/source/blender/modifiers/intern/MOD_screw.c @@ -38,7 +38,7 @@ #include "BLI_math.h" #include "BLI_utildefines.h" -#include "BKE_utildefines.h" + #include "BKE_cdderivedmesh.h" #include "depsgraph_private.h" diff --git a/source/blender/modifiers/intern/MOD_shapekey.c b/source/blender/modifiers/intern/MOD_shapekey.c index 30e8a877144..5466d240dd2 100644 --- a/source/blender/modifiers/intern/MOD_shapekey.c +++ b/source/blender/modifiers/intern/MOD_shapekey.c @@ -36,7 +36,7 @@ #include "BLI_utildefines.h" -#include "BKE_utildefines.h" + #include "BKE_cdderivedmesh.h" #include "BKE_key.h" #include "BKE_particle.h" diff --git a/source/blender/modifiers/intern/MOD_shrinkwrap.c b/source/blender/modifiers/intern/MOD_shrinkwrap.c index 7a617003dff..a7de27c0bf6 100644 --- a/source/blender/modifiers/intern/MOD_shrinkwrap.c +++ b/source/blender/modifiers/intern/MOD_shrinkwrap.c @@ -34,7 +34,7 @@ #include "BLI_utildefines.h" -#include "BKE_utildefines.h" + #include "BKE_cdderivedmesh.h" #include "BKE_modifier.h" #include "BKE_shrinkwrap.h" diff --git a/source/blender/modifiers/intern/MOD_simpledeform.c b/source/blender/modifiers/intern/MOD_simpledeform.c index b42d4266b04..003b206f9bc 100644 --- a/source/blender/modifiers/intern/MOD_simpledeform.c +++ b/source/blender/modifiers/intern/MOD_simpledeform.c @@ -41,7 +41,7 @@ #include "BKE_modifier.h" #include "BKE_deform.h" #include "BKE_shrinkwrap.h" -#include "BKE_utildefines.h" + #include "depsgraph_private.h" diff --git a/source/blender/modifiers/intern/MOD_smoke.c b/source/blender/modifiers/intern/MOD_smoke.c index 5eeb7374f72..4ec6e82a7dd 100644 --- a/source/blender/modifiers/intern/MOD_smoke.c +++ b/source/blender/modifiers/intern/MOD_smoke.c @@ -41,7 +41,7 @@ #include "BLI_utildefines.h" -#include "BKE_utildefines.h" + #include "BKE_cdderivedmesh.h" #include "BKE_modifier.h" #include "BKE_smoke.h" diff --git a/source/blender/modifiers/intern/MOD_smooth.c b/source/blender/modifiers/intern/MOD_smooth.c index 633ac8c4b28..bc04b253cec 100644 --- a/source/blender/modifiers/intern/MOD_smooth.c +++ b/source/blender/modifiers/intern/MOD_smooth.c @@ -38,7 +38,7 @@ #include "BKE_cdderivedmesh.h" #include "BKE_particle.h" #include "BKE_deform.h" -#include "BKE_utildefines.h" + #include "MEM_guardedalloc.h" diff --git a/source/blender/modifiers/intern/MOD_softbody.c b/source/blender/modifiers/intern/MOD_softbody.c index 04c11651214..24af10fde2b 100644 --- a/source/blender/modifiers/intern/MOD_softbody.c +++ b/source/blender/modifiers/intern/MOD_softbody.c @@ -34,7 +34,7 @@ #include "BLI_utildefines.h" -#include "BKE_utildefines.h" + #include "BKE_cdderivedmesh.h" #include "BKE_particle.h" #include "BKE_softbody.h" diff --git a/source/blender/modifiers/intern/MOD_solidify.c b/source/blender/modifiers/intern/MOD_solidify.c index 1c1d9eb0279..013ca7c231f 100644 --- a/source/blender/modifiers/intern/MOD_solidify.c +++ b/source/blender/modifiers/intern/MOD_solidify.c @@ -40,7 +40,7 @@ #include "BKE_mesh.h" #include "BKE_particle.h" #include "BKE_deform.h" -#include "BKE_utildefines.h" + #include "MOD_modifiertypes.h" diff --git a/source/blender/modifiers/intern/MOD_subsurf.c b/source/blender/modifiers/intern/MOD_subsurf.c index 94dc2273e70..1238c891f33 100644 --- a/source/blender/modifiers/intern/MOD_subsurf.c +++ b/source/blender/modifiers/intern/MOD_subsurf.c @@ -37,7 +37,7 @@ #include "BLI_utildefines.h" -#include "BKE_utildefines.h" + #include "BKE_cdderivedmesh.h" #include "BKE_scene.h" #include "BKE_subsurf.h" diff --git a/source/blender/modifiers/intern/MOD_surface.c b/source/blender/modifiers/intern/MOD_surface.c index d546ad444f4..d68ba84d58b 100644 --- a/source/blender/modifiers/intern/MOD_surface.c +++ b/source/blender/modifiers/intern/MOD_surface.c @@ -37,7 +37,7 @@ #include "BLI_math.h" #include "BLI_utildefines.h" -#include "BKE_utildefines.h" + #include "BKE_cdderivedmesh.h" #include "MOD_modifiertypes.h" diff --git a/source/blender/modifiers/intern/MOD_util.c b/source/blender/modifiers/intern/MOD_util.c index 0b92794051c..036ae276a7b 100644 --- a/source/blender/modifiers/intern/MOD_util.c +++ b/source/blender/modifiers/intern/MOD_util.c @@ -41,7 +41,7 @@ #include "BKE_cdderivedmesh.h" #include "BKE_mesh.h" #include "BKE_displist.h" -#include "BKE_utildefines.h" + #include "BKE_modifier.h" #include "MOD_util.h" diff --git a/source/blender/modifiers/intern/MOD_uvproject.c b/source/blender/modifiers/intern/MOD_uvproject.c index 7480e3e8c83..3f43924d6a2 100644 --- a/source/blender/modifiers/intern/MOD_uvproject.c +++ b/source/blender/modifiers/intern/MOD_uvproject.c @@ -40,7 +40,7 @@ #include "BLI_uvproject.h" #include "BLI_utildefines.h" -#include "BKE_utildefines.h" + #include "BKE_DerivedMesh.h" #include "MOD_modifiertypes.h" diff --git a/source/blender/modifiers/intern/MOD_wave.c b/source/blender/modifiers/intern/MOD_wave.c index b4978da9bc1..69c9f1165ce 100644 --- a/source/blender/modifiers/intern/MOD_wave.c +++ b/source/blender/modifiers/intern/MOD_wave.c @@ -38,7 +38,7 @@ #include "BLI_utildefines.h" -#include "BKE_utildefines.h" + #include "BKE_DerivedMesh.h" #include "BKE_object.h" #include "BKE_deform.h" -- cgit v1.2.3 From 3b74074aec8ad551f210fda9ed13cf654d98876f Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Sat, 8 Jan 2011 12:43:44 +0000 Subject: remove unused code & variables. --- source/blender/modifiers/intern/MOD_explode.c | 8 ++++---- source/blender/modifiers/intern/MOD_screw.c | 4 +--- 2 files changed, 5 insertions(+), 7 deletions(-) (limited to 'source/blender/modifiers/intern') diff --git a/source/blender/modifiers/intern/MOD_explode.c b/source/blender/modifiers/intern/MOD_explode.c index 015b4b649d4..e6a3dc49668 100644 --- a/source/blender/modifiers/intern/MOD_explode.c +++ b/source/blender/modifiers/intern/MOD_explode.c @@ -198,7 +198,7 @@ static DerivedMesh * splitEdges(ExplodeModifierData *emd, DerivedMesh *dm){ int *facesplit = MEM_callocN(sizeof(int)*totface,"explode_facesplit"); int *vertpa = MEM_callocN(sizeof(int)*totvert,"explode_vertpa2"); int *facepa = emd->facepa; - int *fs, totesplit=0,totfsplit=0,totin=0,curdupvert=0,curdupface=0,curdupin=0; + int *fs, totesplit=0,totfsplit=0,totin=0,curdupface=0,curdupin=0; int i,j,v1,v2,v3,v4,esplit; edgehash= BLI_edgehash_new(); @@ -314,7 +314,6 @@ static DerivedMesh * splitEdges(ExplodeModifierData *emd, DerivedMesh *dm){ emd->facepa=facepa; /* create new verts */ - curdupvert=totvert; ehi= BLI_edgehashIterator_new(edgehash); for(; !BLI_edgehashIterator_isDone(ehi); BLI_edgehashIterator_step(ehi)) { BLI_edgehashIterator_getKey(ehi, &i, &j); @@ -671,7 +670,8 @@ static DerivedMesh * explodeMesh(ExplodeModifierData *emd, EdgeHashIterator *ehi; float *vertco=0, imat[4][4]; float loc0[3], nor[3]; - float timestep, cfra; + float cfra; + /* float timestep; */ int *facepa=emd->facepa; int totdup=0,totvert=0,totface=0,totpart=0; int i, j, v, mindex=0; @@ -686,7 +686,7 @@ static DerivedMesh * explodeMesh(ExplodeModifierData *emd, sim.psys= psmd->psys; sim.psmd= psmd; - timestep= psys_get_timestep(&sim); + /* timestep= psys_get_timestep(&sim); */ //if(part->flag & PART_GLOB_TIME) cfra= BKE_curframe(scene); diff --git a/source/blender/modifiers/intern/MOD_screw.c b/source/blender/modifiers/intern/MOD_screw.c index c340a472504..e1c14faa3e1 100644 --- a/source/blender/modifiers/intern/MOD_screw.c +++ b/source/blender/modifiers/intern/MOD_screw.c @@ -143,7 +143,7 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob, int step; int i, j; int i1,i2; - int step_tot= ltmd->steps; + int step_tot= useRenderParams ? ltmd->render_steps : ltmd->steps; const int do_flip = ltmd->flag & MOD_SCREW_NORMAL_FLIP ? 1 : 0; int maxVerts=0, maxEdges=0, maxFaces=0; int totvert= dm->getNumVerts(dm); @@ -173,8 +173,6 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob, if (!totvert) return CDDM_from_template(dm, 0, 0, 0); - step_tot= useRenderParams ? ltmd->render_steps : ltmd->steps; - switch(ltmd->axis) { case 0: other_axis_1=1; -- cgit v1.2.3 From 63018144badeb10c858504c918a3f66047c068b0 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Wed, 12 Jan 2011 03:41:12 +0000 Subject: remove redundant assignments & unused vars. also minor functional changes - OBJECT_OT_make_links_data() type property is now assigned to the operator property (so popup menu can find it) - removing BG image now returns cancelled if no image is removed. --- source/blender/modifiers/intern/MOD_smoke.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'source/blender/modifiers/intern') diff --git a/source/blender/modifiers/intern/MOD_smoke.c b/source/blender/modifiers/intern/MOD_smoke.c index 4ec6e82a7dd..2edfee7e6e4 100644 --- a/source/blender/modifiers/intern/MOD_smoke.c +++ b/source/blender/modifiers/intern/MOD_smoke.c @@ -85,7 +85,7 @@ static void deformVerts(ModifierData *md, Object *ob, int UNUSED(isFinalCalc)) { SmokeModifierData *smd = (SmokeModifierData*) md; - DerivedMesh *dm = dm= get_cddm(ob, NULL, derivedData, vertexCos); + DerivedMesh *dm = get_cddm(ob, NULL, derivedData, vertexCos); smokeModifier_do(smd, md->scene, ob, dm); -- cgit v1.2.3 From 9024b6789eb368c0cb4dc05e6659ddca9f362fbd Mon Sep 17 00:00:00 2001 From: Janne Karhu Date: Thu, 13 Jan 2011 10:10:13 +0000 Subject: Possible fix for [#24924] crash-Fluids * In some rare cases gzread has problems with the fluid files. This could be minor file corruption or some strange thread issue, but checking the amount of read bytes always after read seems to give a graceful way out. --- source/blender/modifiers/intern/MOD_fluidsim_util.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) (limited to 'source/blender/modifiers/intern') diff --git a/source/blender/modifiers/intern/MOD_fluidsim_util.c b/source/blender/modifiers/intern/MOD_fluidsim_util.c index 1ff997f92d7..7392dfbd7d3 100644 --- a/source/blender/modifiers/intern/MOD_fluidsim_util.c +++ b/source/blender/modifiers/intern/MOD_fluidsim_util.c @@ -169,7 +169,7 @@ void fluidsim_free(FluidsimModifierData *fluidmd) /* read .bobj.gz file into a fluidsimDerivedMesh struct */ DerivedMesh *fluidsim_read_obj(char *filename) { - int wri,i,j; + int wri = 0,i,j; float wrf; int gotBytes; gzFile gzf; @@ -193,28 +193,30 @@ DerivedMesh *fluidsim_read_obj(char *filename) numverts = wri; // skip verts - for(i=0; i Date: Thu, 13 Jan 2011 11:06:12 +0000 Subject: speedup fluid file reading, seek past arrays rather then reading them & use fewer function calls to gzread(). also added missing MEM_freeN(), though it would only leak in exceptional cases. --- .../blender/modifiers/intern/MOD_fluidsim_util.c | 55 ++++++++-------------- 1 file changed, 20 insertions(+), 35 deletions(-) (limited to 'source/blender/modifiers/intern') diff --git a/source/blender/modifiers/intern/MOD_fluidsim_util.c b/source/blender/modifiers/intern/MOD_fluidsim_util.c index 7392dfbd7d3..eb556e31aba 100644 --- a/source/blender/modifiers/intern/MOD_fluidsim_util.c +++ b/source/blender/modifiers/intern/MOD_fluidsim_util.c @@ -169,15 +169,15 @@ void fluidsim_free(FluidsimModifierData *fluidmd) /* read .bobj.gz file into a fluidsimDerivedMesh struct */ DerivedMesh *fluidsim_read_obj(char *filename) { - int wri = 0,i,j; - float wrf; + int wri = 0,i; int gotBytes; gzFile gzf; int numverts = 0, numfaces = 0; DerivedMesh *dm = NULL; - MFace *mface; - MVert *mvert; - short *normals; + MFace *mf; + MVert *mv; + short *normals, *no_s; + float no[3]; // ------------------------------------------------ // get numverts + numfaces first @@ -193,20 +193,15 @@ DerivedMesh *fluidsim_read_obj(char *filename) numverts = wri; // skip verts - for(i=0; ico[j] = wrf; - } - } + for(i=0; ico, sizeof(float) * 3); // should be the same as numverts gotBytes = gzread(gzf, &wri, sizeof(wri)); @@ -269,10 +257,10 @@ DerivedMesh *fluidsim_read_obj(char *filename) } // read normals from file (but don't save them yet) - for(i=0; i0; i--, no_s += 3) { - gotBytes = gzread(gzf, &wrf, sizeof( wrf )); - normals[i] = (short)(wrf*32767.0f); + gotBytes = gzread(gzf, no, sizeof(float) * 3); + normal_float_to_short_v3(no_s, no); } /* read no. of triangles */ @@ -283,20 +271,17 @@ DerivedMesh *fluidsim_read_obj(char *filename) if(dm) dm->release(dm); gzclose( gzf ); + MEM_freeN(normals); return NULL; } // read triangles from file - mface = CDDM_get_faces(dm); - for(i=0; i0; i--, mf++) { - int face[4]; - MFace *mf = &mface[i]; + int face[3]; - gotBytes = gzread(gzf, &(face[0]), sizeof( face[0] )); - gotBytes = gzread(gzf, &(face[1]), sizeof( face[1] )); - gotBytes = gzread(gzf, &(face[2]), sizeof( face[2] )); - face[3] = 0; + gotBytes = gzread(gzf, face, sizeof(int) * 3); // check if 3rd vertex has index 0 (not allowed in blender) if(face[2]) @@ -311,7 +296,7 @@ DerivedMesh *fluidsim_read_obj(char *filename) mf->v2 = face[2]; mf->v3 = face[0]; } - mf->v4 = face[3]; + mf->v4 = 0; test_index_face(mf, NULL, 0, 3); } -- cgit v1.2.3 From 8cf1184c045d37b7aecd5b8a08ecefefeed17850 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Tue, 18 Jan 2011 01:58:19 +0000 Subject: bad spelling; 'indicies' --> 'indices' --- source/blender/modifiers/intern/MOD_mask.c | 2 +- source/blender/modifiers/intern/MOD_solidify.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'source/blender/modifiers/intern') diff --git a/source/blender/modifiers/intern/MOD_mask.c b/source/blender/modifiers/intern/MOD_mask.c index e0a46203905..05a7bbecaea 100644 --- a/source/blender/modifiers/intern/MOD_mask.c +++ b/source/blender/modifiers/intern/MOD_mask.c @@ -134,7 +134,7 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob, return derivedData; /* hashes for finding mapping of: - * - vgroups to indicies -> vgroupHash (string, int) + * - vgroups to indices -> vgroupHash (string, int) * - bones to vgroup indices -> boneHash (index of vgroup, dummy) */ vgroupHash= BLI_ghash_new(BLI_ghashutil_strhash, BLI_ghashutil_strcmp, "mask vgroup gh"); diff --git a/source/blender/modifiers/intern/MOD_solidify.c b/source/blender/modifiers/intern/MOD_solidify.c index 013ca7c231f..6485076bde4 100644 --- a/source/blender/modifiers/intern/MOD_solidify.c +++ b/source/blender/modifiers/intern/MOD_solidify.c @@ -127,7 +127,7 @@ static void dm_calc_normal(DerivedMesh *dm, float (*temp_nors)[3]) } for(edge_iter = BLI_edgehashIterator_new(edge_hash); !BLI_edgehashIterator_isDone(edge_iter); BLI_edgehashIterator_step(edge_iter)) { - /* Get the edge vert indicies, and edge value (the face indicies that use it)*/ + /* Get the edge vert indices, and edge value (the face indices that use it)*/ BLI_edgehashIterator_getKey(edge_iter, (int*)&ed_v1, (int*)&ed_v2); edge_ref = BLI_edgehashIterator_getValue(edge_iter); -- cgit v1.2.3 From d7c6ddd7e9bd055e93e076c530c6d578ba23f036 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Fri, 21 Jan 2011 02:32:58 +0000 Subject: correct spelling --- source/blender/modifiers/intern/MOD_screw.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'source/blender/modifiers/intern') diff --git a/source/blender/modifiers/intern/MOD_screw.c b/source/blender/modifiers/intern/MOD_screw.c index e1c14faa3e1..689a30dd2d2 100644 --- a/source/blender/modifiers/intern/MOD_screw.c +++ b/source/blender/modifiers/intern/MOD_screw.c @@ -266,7 +266,7 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob, step_tot = ((step_tot + 1) * ltmd->iter) - (ltmd->iter - 1); /* will the screw be closed? - * Note! smaller then FLT_EPSILON*100 gives problems with float precission so its never closed. */ + * Note! smaller then FLT_EPSILON*100 gives problems with float precision so its never closed. */ if (fabs(screw_ofs) <= (FLT_EPSILON*100) && fabs(fabs(angle) - (M_PI * 2)) <= (FLT_EPSILON*100)) { close= 1; step_tot--; -- cgit v1.2.3 From d2076e38f1b5b605909ba824ba5552fa93e508fa Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Sun, 23 Jan 2011 12:42:07 +0000 Subject: correct own bad spelling --- source/blender/modifiers/intern/MOD_screw.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'source/blender/modifiers/intern') diff --git a/source/blender/modifiers/intern/MOD_screw.c b/source/blender/modifiers/intern/MOD_screw.c index 689a30dd2d2..96e1c6c0d01 100644 --- a/source/blender/modifiers/intern/MOD_screw.c +++ b/source/blender/modifiers/intern/MOD_screw.c @@ -217,7 +217,7 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob, /* angle */ -#if 0 // cant incluide this, not pradictable enough, though quite fun,. +#if 0 // cant incluide this, not predictable enough, though quite fun,. if(ltmd->flag & MOD_SCREW_OBJECT_ANGLE) { float mtx3_tx[3][3]; copy_m3_m4(mtx3_tx, mtx_tx); -- cgit v1.2.3 From 89c617a1168294037b8878752b82daa1311a7b73 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Sun, 30 Jan 2011 15:29:22 +0000 Subject: remove nan-makefiles --- source/blender/modifiers/intern/Makefile | 57 -------------------------------- 1 file changed, 57 deletions(-) delete mode 100644 source/blender/modifiers/intern/Makefile (limited to 'source/blender/modifiers/intern') diff --git a/source/blender/modifiers/intern/Makefile b/source/blender/modifiers/intern/Makefile deleted file mode 100644 index 9ba41efbd47..00000000000 --- a/source/blender/modifiers/intern/Makefile +++ /dev/null @@ -1,57 +0,0 @@ -# -# $Id$ -# -# ***** BEGIN GPL LICENSE BLOCK ***** -# -# This program is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License -# as published by the Free Software Foundation; either version 2 -# of the License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software Foundation, -# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -# -# The Original Code is Copyright (C) 2001-2002 by NaN Holding BV. -# All rights reserved. -# -# The Original Code is: all of this file. -# -# Contributor(s): none yet. -# -# ***** END GPL LICENSE BLOCK ***** -# -# - -LIBNAME = modifiers -DIR = $(OCGDIR)/blender/$(LIBNAME) - -include nan_compile.mk - -CFLAGS += $(LEVEL_1_C_WARNINGS) -CFLAGS += -DWITH_MOD_BOOLEAN -CFLAGS += -DWITH_MOD_DECIMATE - -CPPFLAGS += -I.. - -CPPFLAGS += -I../../makesdna -CPPFLAGS += -I../../makesrna -CPPFLAGS += -I../../blenlib -CPPFLAGS += -I../../blenkernel -CPPFLAGS += -I../../blenkernel/intern -CPPFLAGS += -I../../render/extern/include - -CPPFLAGS += -I$(NAN_GUARDEDALLOC)/include - -CPPFLAGS += -I$(NAN_DECIMATION)/include -CPPFLAGS += -I$(NAN_ELBEEM)/include -CPPFLAGS += -I$(NAN_OPENNL)/include -CPPFLAGS += -I$(NAN_BSP)/include -# CPPFLAGS += -I$(NAN_SMOKE)/include - - -- cgit v1.2.3 From 329e2d8037050e06d16984924a412e8b32ad4351 Mon Sep 17 00:00:00 2001 From: Sergey Sharybin Date: Mon, 31 Jan 2011 20:02:51 +0000 Subject: Todo issue: sculpting on deformed mesh Used a crazyspace approach (like in edit mode), but only modifiers with deformMatricies are allowed atm (currently shapekeys and armature modifiers only). All the rest modifiers had an warning message that they aren't applied because of sculpt mode. Deformation of multires is also unsupported. With all this restictions users will always see the actual "layer" (or maybe mesh state would be more correct word) they are sculpting on. Internal changes: - All modifiers could have deformMatricies callback (the same as deformMatriciesEM but for non-edit mode usage) - Added function to build crazyspace for sculpting (sculpt_get_deform_matrices), but it could be generalized for usage in other painting modes (particle edit mode, i.e) Todo: - Implement crazyspace correction to support all kinds of deformation modifiers - Maybe deformation of multires isn't so difficult? - And maybe we could avoid extra bad-level-stub for ED_sculpt_modifiers_changed without code duplicating? --- source/blender/modifiers/intern/MOD_armature.c | 15 +++++++++++++ source/blender/modifiers/intern/MOD_array.c | 1 + source/blender/modifiers/intern/MOD_bevel.c | 1 + source/blender/modifiers/intern/MOD_boolean.c | 1 + source/blender/modifiers/intern/MOD_build.c | 1 + source/blender/modifiers/intern/MOD_cast.c | 1 + source/blender/modifiers/intern/MOD_cloth.c | 1 + source/blender/modifiers/intern/MOD_collision.c | 1 + source/blender/modifiers/intern/MOD_curve.c | 1 + source/blender/modifiers/intern/MOD_decimate.c | 1 + source/blender/modifiers/intern/MOD_displace.c | 1 + source/blender/modifiers/intern/MOD_edgesplit.c | 1 + source/blender/modifiers/intern/MOD_explode.c | 1 + source/blender/modifiers/intern/MOD_fluidsim.c | 1 + source/blender/modifiers/intern/MOD_hook.c | 1 + source/blender/modifiers/intern/MOD_lattice.c | 1 + source/blender/modifiers/intern/MOD_mask.c | 1 + source/blender/modifiers/intern/MOD_meshdeform.c | 1 + source/blender/modifiers/intern/MOD_mirror.c | 1 + source/blender/modifiers/intern/MOD_multires.c | 1 + source/blender/modifiers/intern/MOD_none.c | 1 + .../modifiers/intern/MOD_particleinstance.c | 1 + .../blender/modifiers/intern/MOD_particlesystem.c | 1 + source/blender/modifiers/intern/MOD_screw.c | 1 + source/blender/modifiers/intern/MOD_shapekey.c | 25 ++++++++++++++++++++-- source/blender/modifiers/intern/MOD_shrinkwrap.c | 1 + source/blender/modifiers/intern/MOD_simpledeform.c | 1 + source/blender/modifiers/intern/MOD_smoke.c | 1 + source/blender/modifiers/intern/MOD_smooth.c | 1 + source/blender/modifiers/intern/MOD_softbody.c | 1 + source/blender/modifiers/intern/MOD_solidify.c | 1 + source/blender/modifiers/intern/MOD_subsurf.c | 1 + source/blender/modifiers/intern/MOD_surface.c | 1 + source/blender/modifiers/intern/MOD_uvproject.c | 1 + source/blender/modifiers/intern/MOD_wave.c | 1 + 35 files changed, 71 insertions(+), 2 deletions(-) (limited to 'source/blender/modifiers/intern') diff --git a/source/blender/modifiers/intern/MOD_armature.c b/source/blender/modifiers/intern/MOD_armature.c index d06ec92d4df..ac25987871d 100644 --- a/source/blender/modifiers/intern/MOD_armature.c +++ b/source/blender/modifiers/intern/MOD_armature.c @@ -34,6 +34,7 @@ #include "DNA_armature_types.h" #include "DNA_object_types.h" +#include "DNA_mesh_types.h" #include "BLI_utildefines.h" @@ -161,6 +162,19 @@ static void deformMatricesEM( if(!derivedData) dm->release(dm); } +static void deformMatrices(ModifierData *md, Object *ob, DerivedMesh *derivedData, + float (*vertexCos)[3], float (*defMats)[3][3], int numVerts) +{ + ArmatureModifierData *amd = (ArmatureModifierData*) md; + DerivedMesh *dm = derivedData; + + if(!derivedData) dm = CDDM_from_mesh((Mesh*)ob->data, ob); + + armature_deform_verts(amd->object, ob, dm, vertexCos, defMats, numVerts, + amd->deformflag, NULL, amd->defgrp_name); + + if(!derivedData) dm->release(dm); +} ModifierTypeInfo modifierType_Armature = { /* name */ "Armature", @@ -172,6 +186,7 @@ ModifierTypeInfo modifierType_Armature = { /* copyData */ copyData, /* deformVerts */ deformVerts, + /* deformMatrices */ deformMatrices, /* deformVertsEM */ deformVertsEM, /* deformMatricesEM */ deformMatricesEM, /* applyModifier */ 0, diff --git a/source/blender/modifiers/intern/MOD_array.c b/source/blender/modifiers/intern/MOD_array.c index f6d497b763f..1fdfe6c192c 100644 --- a/source/blender/modifiers/intern/MOD_array.c +++ b/source/blender/modifiers/intern/MOD_array.c @@ -807,6 +807,7 @@ ModifierTypeInfo modifierType_Array = { /* copyData */ copyData, /* deformVerts */ 0, + /* deformMatrices */ 0, /* deformVertsEM */ 0, /* deformMatricesEM */ 0, /* applyModifier */ applyModifier, diff --git a/source/blender/modifiers/intern/MOD_bevel.c b/source/blender/modifiers/intern/MOD_bevel.c index e775d7e4262..effc376943e 100644 --- a/source/blender/modifiers/intern/MOD_bevel.c +++ b/source/blender/modifiers/intern/MOD_bevel.c @@ -129,6 +129,7 @@ ModifierTypeInfo modifierType_Bevel = { /* copyData */ copyData, /* deformVerts */ 0, + /* deformMatrices */ 0, /* deformVertsEM */ 0, /* deformMatricesEM */ 0, /* applyModifier */ applyModifier, diff --git a/source/blender/modifiers/intern/MOD_boolean.c b/source/blender/modifiers/intern/MOD_boolean.c index 112618a2bd6..c40d6cfb79e 100644 --- a/source/blender/modifiers/intern/MOD_boolean.c +++ b/source/blender/modifiers/intern/MOD_boolean.c @@ -139,6 +139,7 @@ ModifierTypeInfo modifierType_Boolean = { /* copyData */ copyData, /* deformVerts */ 0, + /* deformMatrices */ 0, /* deformVertsEM */ 0, /* deformMatricesEM */ 0, /* applyModifier */ applyModifier, diff --git a/source/blender/modifiers/intern/MOD_build.c b/source/blender/modifiers/intern/MOD_build.c index 1588d1f44d5..704caf0aff8 100644 --- a/source/blender/modifiers/intern/MOD_build.c +++ b/source/blender/modifiers/intern/MOD_build.c @@ -287,6 +287,7 @@ ModifierTypeInfo modifierType_Build = { | eModifierTypeFlag_AcceptsCVs, /* copyData */ copyData, /* deformVerts */ 0, + /* deformMatrices */ 0, /* deformVertsEM */ 0, /* deformMatricesEM */ 0, /* applyModifier */ applyModifier, diff --git a/source/blender/modifiers/intern/MOD_cast.c b/source/blender/modifiers/intern/MOD_cast.c index c3400a6541d..17c2ec40b7e 100644 --- a/source/blender/modifiers/intern/MOD_cast.c +++ b/source/blender/modifiers/intern/MOD_cast.c @@ -619,6 +619,7 @@ ModifierTypeInfo modifierType_Cast = { /* copyData */ copyData, /* deformVerts */ deformVerts, + /* deformMatrices */ 0, /* deformVertsEM */ deformVertsEM, /* deformMatricesEM */ 0, /* applyModifier */ 0, diff --git a/source/blender/modifiers/intern/MOD_cloth.c b/source/blender/modifiers/intern/MOD_cloth.c index a0566d32c73..1cb46c0992f 100644 --- a/source/blender/modifiers/intern/MOD_cloth.c +++ b/source/blender/modifiers/intern/MOD_cloth.c @@ -196,6 +196,7 @@ ModifierTypeInfo modifierType_Cloth = { /* copyData */ copyData, /* deformVerts */ 0, + /* deformMatrices */ 0, /* deformVertsEM */ 0, /* deformMatricesEM */ 0, /* applyModifier */ applyModifier, diff --git a/source/blender/modifiers/intern/MOD_collision.c b/source/blender/modifiers/intern/MOD_collision.c index bf324030424..8decb460d6a 100644 --- a/source/blender/modifiers/intern/MOD_collision.c +++ b/source/blender/modifiers/intern/MOD_collision.c @@ -243,6 +243,7 @@ ModifierTypeInfo modifierType_Collision = { /* copyData */ 0, /* deformVerts */ deformVerts, + /* deformMatrices */ 0, /* deformVertsEM */ 0, /* deformMatricesEM */ 0, /* applyModifier */ 0, diff --git a/source/blender/modifiers/intern/MOD_curve.c b/source/blender/modifiers/intern/MOD_curve.c index b1a5965cbe3..c4e41941acc 100644 --- a/source/blender/modifiers/intern/MOD_curve.c +++ b/source/blender/modifiers/intern/MOD_curve.c @@ -142,6 +142,7 @@ ModifierTypeInfo modifierType_Curve = { /* copyData */ copyData, /* deformVerts */ deformVerts, + /* deformMatrices */ 0, /* deformVertsEM */ deformVertsEM, /* deformMatricesEM */ 0, /* applyModifier */ 0, diff --git a/source/blender/modifiers/intern/MOD_decimate.c b/source/blender/modifiers/intern/MOD_decimate.c index 7903e1adb47..2f1723cf9bb 100644 --- a/source/blender/modifiers/intern/MOD_decimate.c +++ b/source/blender/modifiers/intern/MOD_decimate.c @@ -197,6 +197,7 @@ ModifierTypeInfo modifierType_Decimate = { /* flags */ eModifierTypeFlag_AcceptsMesh, /* copyData */ copyData, /* deformVerts */ 0, + /* deformMatrices */ 0, /* deformVertsEM */ 0, /* deformMatricesEM */ 0, /* applyModifier */ applyModifier, diff --git a/source/blender/modifiers/intern/MOD_displace.c b/source/blender/modifiers/intern/MOD_displace.c index 931865409cb..919814edf59 100644 --- a/source/blender/modifiers/intern/MOD_displace.c +++ b/source/blender/modifiers/intern/MOD_displace.c @@ -357,6 +357,7 @@ ModifierTypeInfo modifierType_Displace = { /* copyData */ copyData, /* deformVerts */ deformVerts, + /* deformMatrices */ 0, /* deformVertsEM */ deformVertsEM, /* deformMatricesEM */ 0, /* applyModifier */ 0, diff --git a/source/blender/modifiers/intern/MOD_edgesplit.c b/source/blender/modifiers/intern/MOD_edgesplit.c index 105e4777e87..56138552000 100644 --- a/source/blender/modifiers/intern/MOD_edgesplit.c +++ b/source/blender/modifiers/intern/MOD_edgesplit.c @@ -1278,6 +1278,7 @@ ModifierTypeInfo modifierType_EdgeSplit = { /* copyData */ copyData, /* deformVerts */ 0, + /* deformMatrices */ 0, /* deformVertsEM */ 0, /* deformMatricesEM */ 0, /* applyModifier */ applyModifier, diff --git a/source/blender/modifiers/intern/MOD_explode.c b/source/blender/modifiers/intern/MOD_explode.c index e6a3dc49668..a0765b56808 100644 --- a/source/blender/modifiers/intern/MOD_explode.c +++ b/source/blender/modifiers/intern/MOD_explode.c @@ -895,6 +895,7 @@ ModifierTypeInfo modifierType_Explode = { /* flags */ eModifierTypeFlag_AcceptsMesh, /* copyData */ copyData, /* deformVerts */ 0, + /* deformMatrices */ 0, /* deformVertsEM */ 0, /* deformMatricesEM */ 0, /* applyModifier */ applyModifier, diff --git a/source/blender/modifiers/intern/MOD_fluidsim.c b/source/blender/modifiers/intern/MOD_fluidsim.c index bbb88ba09e3..19111b0cafc 100644 --- a/source/blender/modifiers/intern/MOD_fluidsim.c +++ b/source/blender/modifiers/intern/MOD_fluidsim.c @@ -142,6 +142,7 @@ ModifierTypeInfo modifierType_Fluidsim = { /* copyData */ copyData, /* deformVerts */ 0, + /* deformMatrices */ 0, /* deformVertsEM */ 0, /* deformMatricesEM */ 0, /* applyModifier */ applyModifier, diff --git a/source/blender/modifiers/intern/MOD_hook.c b/source/blender/modifiers/intern/MOD_hook.c index adf19882419..79493d2c549 100644 --- a/source/blender/modifiers/intern/MOD_hook.c +++ b/source/blender/modifiers/intern/MOD_hook.c @@ -284,6 +284,7 @@ ModifierTypeInfo modifierType_Hook = { | eModifierTypeFlag_SupportsEditmode, /* copyData */ copyData, /* deformVerts */ deformVerts, + /* deformMatrices */ 0, /* deformVertsEM */ deformVertsEM, /* deformMatricesEM */ 0, /* applyModifier */ 0, diff --git a/source/blender/modifiers/intern/MOD_lattice.c b/source/blender/modifiers/intern/MOD_lattice.c index 136998dbc78..c5fb87c8ffc 100644 --- a/source/blender/modifiers/intern/MOD_lattice.c +++ b/source/blender/modifiers/intern/MOD_lattice.c @@ -137,6 +137,7 @@ ModifierTypeInfo modifierType_Lattice = { | eModifierTypeFlag_SupportsEditmode, /* copyData */ copyData, /* deformVerts */ deformVerts, + /* deformMatrices */ 0, /* deformVertsEM */ deformVertsEM, /* deformMatricesEM */ 0, /* applyModifier */ 0, diff --git a/source/blender/modifiers/intern/MOD_mask.c b/source/blender/modifiers/intern/MOD_mask.c index 05a7bbecaea..b2f2c86c46d 100644 --- a/source/blender/modifiers/intern/MOD_mask.c +++ b/source/blender/modifiers/intern/MOD_mask.c @@ -399,6 +399,7 @@ ModifierTypeInfo modifierType_Mask = { /* copyData */ copyData, /* deformVerts */ 0, + /* deformMatrices */ 0, /* deformVertsEM */ 0, /* deformMatricesEM */ 0, /* applyModifier */ applyModifier, diff --git a/source/blender/modifiers/intern/MOD_meshdeform.c b/source/blender/modifiers/intern/MOD_meshdeform.c index 6df57bf372e..61e7f950e0f 100644 --- a/source/blender/modifiers/intern/MOD_meshdeform.c +++ b/source/blender/modifiers/intern/MOD_meshdeform.c @@ -445,6 +445,7 @@ ModifierTypeInfo modifierType_MeshDeform = { /* copyData */ copyData, /* deformVerts */ deformVerts, + /* deformMatrices */ 0, /* deformVertsEM */ deformVertsEM, /* deformMatricesEM */ 0, /* applyModifier */ 0, diff --git a/source/blender/modifiers/intern/MOD_mirror.c b/source/blender/modifiers/intern/MOD_mirror.c index c07bd10d6fa..9546bf1300b 100644 --- a/source/blender/modifiers/intern/MOD_mirror.c +++ b/source/blender/modifiers/intern/MOD_mirror.c @@ -338,6 +338,7 @@ ModifierTypeInfo modifierType_Mirror = { /* copyData */ copyData, /* deformVerts */ 0, + /* deformMatrices */ 0, /* deformVertsEM */ 0, /* deformMatricesEM */ 0, /* applyModifier */ applyModifier, diff --git a/source/blender/modifiers/intern/MOD_multires.c b/source/blender/modifiers/intern/MOD_multires.c index 96dcde12180..10b135aaa77 100644 --- a/source/blender/modifiers/intern/MOD_multires.c +++ b/source/blender/modifiers/intern/MOD_multires.c @@ -109,6 +109,7 @@ ModifierTypeInfo modifierType_Multires = { /* copyData */ copyData, /* deformVerts */ 0, + /* deformMatrices */ 0, /* deformVertsEM */ 0, /* deformMatricesEM */ 0, /* applyModifier */ applyModifier, diff --git a/source/blender/modifiers/intern/MOD_none.c b/source/blender/modifiers/intern/MOD_none.c index cc27d3b659b..c08335d638a 100644 --- a/source/blender/modifiers/intern/MOD_none.c +++ b/source/blender/modifiers/intern/MOD_none.c @@ -59,6 +59,7 @@ ModifierTypeInfo modifierType_None = { /* copyData */ 0, /* deformVerts */ 0, + /* deformMatrices */ 0, /* deformVertsEM */ 0, /* deformMatricesEM */ 0, /* applyModifier */ 0, diff --git a/source/blender/modifiers/intern/MOD_particleinstance.c b/source/blender/modifiers/intern/MOD_particleinstance.c index f0e7699c292..c36581d9317 100644 --- a/source/blender/modifiers/intern/MOD_particleinstance.c +++ b/source/blender/modifiers/intern/MOD_particleinstance.c @@ -330,6 +330,7 @@ ModifierTypeInfo modifierType_ParticleInstance = { /* copyData */ copyData, /* deformVerts */ 0, + /* deformMatrices */ 0, /* deformVertsEM */ 0, /* deformMatricesEM */ 0, /* applyModifier */ applyModifier, diff --git a/source/blender/modifiers/intern/MOD_particlesystem.c b/source/blender/modifiers/intern/MOD_particlesystem.c index 9b77a904887..c7638afbbcc 100644 --- a/source/blender/modifiers/intern/MOD_particlesystem.c +++ b/source/blender/modifiers/intern/MOD_particlesystem.c @@ -229,6 +229,7 @@ ModifierTypeInfo modifierType_ParticleSystem = { /* copyData */ copyData, /* deformVerts */ deformVerts, /* deformVertsEM */ 0 /* deformVertsEM */ , + /* deformMatrices */ 0, /* deformMatricesEM */ 0, /* applyModifier */ 0, /* applyModifierEM */ 0, diff --git a/source/blender/modifiers/intern/MOD_screw.c b/source/blender/modifiers/intern/MOD_screw.c index 96e1c6c0d01..7e8fad2801e 100644 --- a/source/blender/modifiers/intern/MOD_screw.c +++ b/source/blender/modifiers/intern/MOD_screw.c @@ -884,6 +884,7 @@ ModifierTypeInfo modifierType_Screw = { /* copyData */ copyData, /* deformVerts */ 0, + /* deformMatrices */ 0, /* deformVertsEM */ 0, /* deformMatricesEM */ 0, /* applyModifier */ applyModifier, diff --git a/source/blender/modifiers/intern/MOD_shapekey.c b/source/blender/modifiers/intern/MOD_shapekey.c index 5466d240dd2..e03783e8eeb 100644 --- a/source/blender/modifiers/intern/MOD_shapekey.c +++ b/source/blender/modifiers/intern/MOD_shapekey.c @@ -64,6 +64,27 @@ static void deformVerts(ModifierData *md, Object *ob, } } +static void deformMatrices(ModifierData *md, Object *ob, DerivedMesh *derivedData, + float (*vertexCos)[3], float (*defMats)[3][3], int numVerts) +{ + Key *key= ob_get_key(ob); + KeyBlock *kb= ob_get_keyblock(ob); + float scale[3][3]; + int a; + + (void)vertexCos; /* unused */ + + if(kb && kb->totelem==numVerts && kb!=key->refkey) { + if(ob->shapeflag & OB_SHAPE_LOCK) scale_m3_fl(scale, 1); + else scale_m3_fl(scale, kb->curval); + + for(a=0; atotelem==numVerts && kb!=key->refkey) { @@ -98,7 +119,6 @@ static void deformMatricesEM(ModifierData *UNUSED(md), Object *ob, } } - ModifierTypeInfo modifierType_ShapeKey = { /* name */ "ShapeKey", /* structName */ "ShapeKeyModifierData", @@ -109,6 +129,7 @@ ModifierTypeInfo modifierType_ShapeKey = { /* copyData */ 0, /* deformVerts */ deformVerts, + /* deformMatrices */ deformMatrices, /* deformVertsEM */ deformVertsEM, /* deformMatricesEM */ deformMatricesEM, /* applyModifier */ 0, diff --git a/source/blender/modifiers/intern/MOD_shrinkwrap.c b/source/blender/modifiers/intern/MOD_shrinkwrap.c index a7de27c0bf6..56a5b4b8577 100644 --- a/source/blender/modifiers/intern/MOD_shrinkwrap.c +++ b/source/blender/modifiers/intern/MOD_shrinkwrap.c @@ -167,6 +167,7 @@ ModifierTypeInfo modifierType_Shrinkwrap = { /* copyData */ copyData, /* deformVerts */ deformVerts, + /* deformMatrices */ 0, /* deformVertsEM */ deformVertsEM, /* deformMatricesEM */ 0, /* applyModifier */ 0, diff --git a/source/blender/modifiers/intern/MOD_simpledeform.c b/source/blender/modifiers/intern/MOD_simpledeform.c index 003b206f9bc..1c3e40a4193 100644 --- a/source/blender/modifiers/intern/MOD_simpledeform.c +++ b/source/blender/modifiers/intern/MOD_simpledeform.c @@ -375,6 +375,7 @@ ModifierTypeInfo modifierType_SimpleDeform = { /* copyData */ copyData, /* deformVerts */ deformVerts, + /* deformMatrices */ 0, /* deformVertsEM */ deformVertsEM, /* deformMatricesEM */ 0, /* applyModifier */ 0, diff --git a/source/blender/modifiers/intern/MOD_smoke.c b/source/blender/modifiers/intern/MOD_smoke.c index 2edfee7e6e4..0227d2008e5 100644 --- a/source/blender/modifiers/intern/MOD_smoke.c +++ b/source/blender/modifiers/intern/MOD_smoke.c @@ -154,6 +154,7 @@ ModifierTypeInfo modifierType_Smoke = { /* copyData */ copyData, /* deformVerts */ deformVerts, + /* deformMatrices */ 0, /* deformVertsEM */ 0, /* deformMatricesEM */ 0, /* applyModifier */ 0, diff --git a/source/blender/modifiers/intern/MOD_smooth.c b/source/blender/modifiers/intern/MOD_smooth.c index bc04b253cec..7761995a419 100644 --- a/source/blender/modifiers/intern/MOD_smooth.c +++ b/source/blender/modifiers/intern/MOD_smooth.c @@ -256,6 +256,7 @@ ModifierTypeInfo modifierType_Smooth = { /* copyData */ copyData, /* deformVerts */ deformVerts, + /* deformMatrices */ 0, /* deformVertsEM */ deformVertsEM, /* deformMatricesEM */ 0, /* applyModifier */ 0, diff --git a/source/blender/modifiers/intern/MOD_softbody.c b/source/blender/modifiers/intern/MOD_softbody.c index 24af10fde2b..7322628267c 100644 --- a/source/blender/modifiers/intern/MOD_softbody.c +++ b/source/blender/modifiers/intern/MOD_softbody.c @@ -68,6 +68,7 @@ ModifierTypeInfo modifierType_Softbody = { /* copyData */ 0, /* deformVerts */ deformVerts, + /* deformMatrices */ 0, /* deformVertsEM */ 0, /* deformMatricesEM */ 0, /* applyModifier */ 0, diff --git a/source/blender/modifiers/intern/MOD_solidify.c b/source/blender/modifiers/intern/MOD_solidify.c index 6485076bde4..4faf955b953 100644 --- a/source/blender/modifiers/intern/MOD_solidify.c +++ b/source/blender/modifiers/intern/MOD_solidify.c @@ -651,6 +651,7 @@ ModifierTypeInfo modifierType_Solidify = { /* copyData */ copyData, /* deformVerts */ 0, + /* deformMatrices */ 0, /* deformVertsEM */ 0, /* deformMatricesEM */ 0, /* applyModifier */ applyModifier, diff --git a/source/blender/modifiers/intern/MOD_subsurf.c b/source/blender/modifiers/intern/MOD_subsurf.c index 1238c891f33..4ba139305d8 100644 --- a/source/blender/modifiers/intern/MOD_subsurf.c +++ b/source/blender/modifiers/intern/MOD_subsurf.c @@ -133,6 +133,7 @@ ModifierTypeInfo modifierType_Subsurf = { /* copyData */ copyData, /* deformVerts */ 0, + /* deformMatrices */ 0, /* deformVertsEM */ 0, /* deformMatricesEM */ 0, /* applyModifier */ applyModifier, diff --git a/source/blender/modifiers/intern/MOD_surface.c b/source/blender/modifiers/intern/MOD_surface.c index d68ba84d58b..8d6f6954e18 100644 --- a/source/blender/modifiers/intern/MOD_surface.c +++ b/source/blender/modifiers/intern/MOD_surface.c @@ -173,6 +173,7 @@ ModifierTypeInfo modifierType_Surface = { /* copyData */ 0, /* deformVerts */ deformVerts, + /* deformMatrices */ 0, /* deformVertsEM */ 0, /* deformMatricesEM */ 0, /* applyModifier */ 0, diff --git a/source/blender/modifiers/intern/MOD_uvproject.c b/source/blender/modifiers/intern/MOD_uvproject.c index 3f43924d6a2..8eaf0d5fbcb 100644 --- a/source/blender/modifiers/intern/MOD_uvproject.c +++ b/source/blender/modifiers/intern/MOD_uvproject.c @@ -413,6 +413,7 @@ ModifierTypeInfo modifierType_UVProject = { /* copyData */ copyData, /* deformVerts */ 0, + /* deformMatrices */ 0, /* deformVertsEM */ 0, /* deformMatricesEM */ 0, /* applyModifier */ applyModifier, diff --git a/source/blender/modifiers/intern/MOD_wave.c b/source/blender/modifiers/intern/MOD_wave.c index 69c9f1165ce..dae9fc471cd 100644 --- a/source/blender/modifiers/intern/MOD_wave.c +++ b/source/blender/modifiers/intern/MOD_wave.c @@ -452,6 +452,7 @@ ModifierTypeInfo modifierType_Wave = { | eModifierTypeFlag_SupportsEditmode, /* copyData */ copyData, /* deformVerts */ deformVerts, + /* deformMatrices */ 0, /* deformVertsEM */ deformVertsEM, /* deformMatricesEM */ 0, /* applyModifier */ 0, -- cgit v1.2.3 From 08841476983f490c4dbf16934bc05602bbd4d5c5 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Wed, 9 Feb 2011 04:45:53 +0000 Subject: fix [#25968] Crash on changing merge distance in array modifier with edgesplit modifier in chain --- source/blender/modifiers/intern/MOD_array.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) (limited to 'source/blender/modifiers/intern') diff --git a/source/blender/modifiers/intern/MOD_array.c b/source/blender/modifiers/intern/MOD_array.c index 1fdfe6c192c..9b49066d623 100644 --- a/source/blender/modifiers/intern/MOD_array.c +++ b/source/blender/modifiers/intern/MOD_array.c @@ -546,12 +546,10 @@ static DerivedMesh *arrayModifier_doArray(ArrayModifierData *amd, if (inMF.v4) mf2->v4 = calc_mapping(indexMap, inMF.v4, j); - test_index_face_maxvert(mf2, &result->faceData, numFaces, inMF.v4?4:3, numVerts); numFaces++; /* if the face has fewer than 3 vertices, don't create it */ - if(mf2->v3 == 0 || (mf2->v1 && (mf2->v1 == mf2->v3 || mf2->v1 == - mf2->v4))) { + if(test_index_face_maxvert(mf2, &result->faceData, numFaces-1, inMF.v4?4:3, numVerts) < 3) { numFaces--; DM_free_face_data(result, numFaces, 1); } -- cgit v1.2.3 From 446299db1c0a4cf89068312174c7f30fadbd79d2 Mon Sep 17 00:00:00 2001 From: Michael Fox Date: Thu, 10 Feb 2011 00:05:03 +0000 Subject: small feature request from zanqdo, merging in the mirror modifier is now optional, simply turning town the merge limit just simply do anything, and merging is off by default as this seems more logical behaviour --- source/blender/modifiers/intern/MOD_mirror.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'source/blender/modifiers/intern') diff --git a/source/blender/modifiers/intern/MOD_mirror.c b/source/blender/modifiers/intern/MOD_mirror.c index 9546bf1300b..19f21ce655f 100644 --- a/source/blender/modifiers/intern/MOD_mirror.c +++ b/source/blender/modifiers/intern/MOD_mirror.c @@ -142,7 +142,11 @@ static DerivedMesh *doMirrorOnAxis(MirrorModifierData *mmd, if (mmd->mirror_ob) { mul_m4_v3(mtx, co); } - isShared = ABS(co[axis])<=tolerance; + + if(mmd->flag & MOD_MIR_MERGE) + isShared = ABS(co[axis])<=tolerance; + else + isShared = 0; /* Because the topology result (# of vertices) must be the same if * the mesh data is overridden by vertex cos, have to calc sharedness @@ -154,8 +158,8 @@ static DerivedMesh *doMirrorOnAxis(MirrorModifierData *mmd, indexMap[i][0] = numVerts - 1; indexMap[i][1] = !isShared; - - if(isShared) { + // + if(isShared ) { co[axis] = 0; if (mmd->mirror_ob) { mul_m4_v3(imtx, co); -- cgit v1.2.3 From cbe544fb6cdf6eb41f7b82f5ccc16892f18aa9a9 Mon Sep 17 00:00:00 2001 From: Daniel Salazar Date: Thu, 10 Feb 2011 00:25:00 +0000 Subject: Set default for merge mirror to ON --- source/blender/modifiers/intern/MOD_mirror.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'source/blender/modifiers/intern') diff --git a/source/blender/modifiers/intern/MOD_mirror.c b/source/blender/modifiers/intern/MOD_mirror.c index 19f21ce655f..6771aaf493d 100644 --- a/source/blender/modifiers/intern/MOD_mirror.c +++ b/source/blender/modifiers/intern/MOD_mirror.c @@ -49,7 +49,7 @@ static void initData(ModifierData *md) { MirrorModifierData *mmd = (MirrorModifierData*) md; - mmd->flag |= (MOD_MIR_AXIS_X | MOD_MIR_VGROUP); + mmd->flag |= (MOD_MIR_AXIS_X | MOD_MIR_VGROUP | MOD_MIR_MERGE); mmd->tolerance = 0.001; mmd->mirror_ob = NULL; } -- cgit v1.2.3 From 0ebf448beea18856defaddbbfd842f0911cca431 Mon Sep 17 00:00:00 2001 From: Michael Fox Date: Thu, 10 Feb 2011 00:44:26 +0000 Subject: small fix so older files are loaded with merge on in the mirror modifiers --- source/blender/modifiers/intern/MOD_mirror.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'source/blender/modifiers/intern') diff --git a/source/blender/modifiers/intern/MOD_mirror.c b/source/blender/modifiers/intern/MOD_mirror.c index 6771aaf493d..5c73b2f0866 100644 --- a/source/blender/modifiers/intern/MOD_mirror.c +++ b/source/blender/modifiers/intern/MOD_mirror.c @@ -49,7 +49,7 @@ static void initData(ModifierData *md) { MirrorModifierData *mmd = (MirrorModifierData*) md; - mmd->flag |= (MOD_MIR_AXIS_X | MOD_MIR_VGROUP | MOD_MIR_MERGE); + mmd->flag |= (MOD_MIR_AXIS_X | MOD_MIR_VGROUP); mmd->tolerance = 0.001; mmd->mirror_ob = NULL; } @@ -143,10 +143,10 @@ static DerivedMesh *doMirrorOnAxis(MirrorModifierData *mmd, mul_m4_v3(mtx, co); } - if(mmd->flag & MOD_MIR_MERGE) - isShared = ABS(co[axis])<=tolerance; - else + if(mmd->flag & MOD_MIR_NO_MERGE) isShared = 0; + else + isShared = ABS(co[axis])<=tolerance; /* Because the topology result (# of vertices) must be the same if * the mesh data is overridden by vertex cos, have to calc sharedness -- cgit v1.2.3 From 55f68c36574779ae2fac3652466584628b22c633 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Sat, 12 Feb 2011 16:54:24 +0000 Subject: fix for more warnings. - modifier code was using sizeof() without knowing the sizeof the array when clearing the modifier type array. - use BLI_snprintf rather then sprintf where the size of the string is known. - particle drawing code kept a reference to stack float values (not a problem at the moment but would crash if accessed later). --- source/blender/modifiers/intern/MOD_util.c | 1 - 1 file changed, 1 deletion(-) (limited to 'source/blender/modifiers/intern') diff --git a/source/blender/modifiers/intern/MOD_util.c b/source/blender/modifiers/intern/MOD_util.c index 036ae276a7b..8ea717469a3 100644 --- a/source/blender/modifiers/intern/MOD_util.c +++ b/source/blender/modifiers/intern/MOD_util.c @@ -148,7 +148,6 @@ DerivedMesh *get_dm(Object *ob, struct EditMesh *em, DerivedMesh *dm, float (*ve /* only called by BKE_modifier.h/modifier.c */ void modifier_type_init(ModifierTypeInfo *types[]) { - memset(types, 0, sizeof(types)); #define INIT_TYPE(typeName) (types[eModifierType_##typeName] = &modifierType_##typeName) INIT_TYPE(None); INIT_TYPE(Curve); -- cgit v1.2.3 From 867fc4b463ef39ea16103f18f332c3d259624d29 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Sun, 13 Feb 2011 03:21:27 +0000 Subject: enforce string limits (reported by pedantic checking tools & some developers). mostly replace strcpy with BLI_strncpy and multiple strcat's with a BLI_snprintf(). also fix possible crash if CWD isnt available. --- source/blender/modifiers/intern/MOD_collision.c | 9 ++++++--- source/blender/modifiers/intern/MOD_explode.c | 5 ++--- source/blender/modifiers/intern/MOD_fluidsim_util.c | 5 ++--- source/blender/modifiers/intern/MOD_mask.c | 2 +- source/blender/modifiers/intern/MOD_screw.c | 10 +++++----- source/blender/modifiers/intern/MOD_shapekey.c | 5 +++-- source/blender/modifiers/intern/MOD_shrinkwrap.c | 4 ++-- source/blender/modifiers/intern/MOD_simpledeform.c | 3 ++- source/blender/modifiers/intern/MOD_surface.c | 2 +- 9 files changed, 24 insertions(+), 21 deletions(-) (limited to 'source/blender/modifiers/intern') diff --git a/source/blender/modifiers/intern/MOD_collision.c b/source/blender/modifiers/intern/MOD_collision.c index 8decb460d6a..bdc0f0ea2e9 100644 --- a/source/blender/modifiers/intern/MOD_collision.c +++ b/source/blender/modifiers/intern/MOD_collision.c @@ -110,8 +110,6 @@ static void deformVerts(ModifierData *md, Object *ob, { CollisionModifierData *collmd = (CollisionModifierData*) md; DerivedMesh *dm = NULL; - float current_time = 0; - unsigned int numverts = 0, i = 0; MVert *tempVert = NULL; /* if possible use/create DerivedMesh */ @@ -126,6 +124,9 @@ static void deformVerts(ModifierData *md, Object *ob, if(dm) { + float current_time = 0; + unsigned int numverts = 0; + CDDM_apply_vert_coords(dm, vertexCos); CDDM_calc_normals(dm); @@ -137,7 +138,9 @@ static void deformVerts(ModifierData *md, Object *ob, numverts = dm->getNumVerts ( dm ); if((current_time > collmd->time)|| (BKE_ptcache_get_continue_physics())) - { + { + unsigned int i; + // check if mesh has changed if(collmd->x && (numverts != collmd->numverts)) freeData((ModifierData *)collmd); diff --git a/source/blender/modifiers/intern/MOD_explode.c b/source/blender/modifiers/intern/MOD_explode.c index a0765b56808..8c3b4f7db47 100644 --- a/source/blender/modifiers/intern/MOD_explode.c +++ b/source/blender/modifiers/intern/MOD_explode.c @@ -128,11 +128,10 @@ static void createFacepa(ExplodeModifierData *emd, /* set protected verts */ if(emd->vgroup){ MDeformVert *dvert = dm->getVertDataArray(dm, CD_MDEFORMVERT); - float val; if(dvert){ - int defgrp_index= emd->vgroup-1; + const int defgrp_index= emd->vgroup-1; for(i=0; iprotect)*val + emd->protect*0.5f; if(val < defvert_find_weight(dvert, defgrp_index)) vertpa[i] = -1; diff --git a/source/blender/modifiers/intern/MOD_fluidsim_util.c b/source/blender/modifiers/intern/MOD_fluidsim_util.c index eb556e31aba..7d5c9a0ec13 100644 --- a/source/blender/modifiers/intern/MOD_fluidsim_util.c +++ b/source/blender/modifiers/intern/MOD_fluidsim_util.c @@ -459,7 +459,7 @@ DerivedMesh *fluidsim_read_cache(DerivedMesh *orgdm, FluidsimModifierData *fluid displaymode = fss->renderDisplayMode; } - strncpy(targetDir, fss->surfdataPath, FILE_MAXDIR); + BLI_strncpy(targetDir, fss->surfdataPath, sizeof(targetDir)); // use preview or final mesh? if(displaymode==1) @@ -479,8 +479,7 @@ DerivedMesh *fluidsim_read_cache(DerivedMesh *orgdm, FluidsimModifierData *fluid BLI_path_abs(targetDir, G.main->name); BLI_path_frame(targetDir, curFrame, 0); // fixed #frame-no - strcpy(targetFile,targetDir); - strcat(targetFile, ".bobj.gz"); + BLI_snprintf(targetFile, sizeof(targetFile), "%s.bobj.gz", targetDir); dm = fluidsim_read_obj(targetFile); diff --git a/source/blender/modifiers/intern/MOD_mask.c b/source/blender/modifiers/intern/MOD_mask.c index b2f2c86c46d..a8a48eb720f 100644 --- a/source/blender/modifiers/intern/MOD_mask.c +++ b/source/blender/modifiers/intern/MOD_mask.c @@ -53,7 +53,7 @@ static void copyData(ModifierData *md, ModifierData *target) MaskModifierData *mmd = (MaskModifierData*) md; MaskModifierData *tmmd = (MaskModifierData*) target; - strcpy(tmmd->vgroup, mmd->vgroup); + BLI_strncpy(tmmd->vgroup, mmd->vgroup, sizeof(tmmd->vgroup)); tmmd->flag = mmd->flag; } diff --git a/source/blender/modifiers/intern/MOD_screw.c b/source/blender/modifiers/intern/MOD_screw.c index 7e8fad2801e..7bbb07eb658 100644 --- a/source/blender/modifiers/intern/MOD_screw.c +++ b/source/blender/modifiers/intern/MOD_screw.c @@ -433,15 +433,15 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob, /* find the first vert */ vc= vert_connect; for (i=0; i < totvert; i++, vc++) { - int v_best=-1, ed_loop_closed=0; /* vert and vert new */ - int ed_loop_flip= 0; /* compiler complains if not initialized, but it should be initialized below */ - float fl= -1.0f; - ScrewVertIter lt_iter; - /* Now do search for connected verts, order all edges and flip them * so resulting faces are flipped the right way */ vc_tot_linked= 0; /* count the number of linked verts for this loop */ if (vc->flag == 0) { + int v_best=-1, ed_loop_closed=0; /* vert and vert new */ + ScrewVertIter lt_iter; + int ed_loop_flip= 0; /* compiler complains if not initialized, but it should be initialized below */ + float fl= -1.0f; + /*printf("Loop on connected vert: %i\n", i);*/ for(j=0; j<2; j++) { diff --git a/source/blender/modifiers/intern/MOD_shapekey.c b/source/blender/modifiers/intern/MOD_shapekey.c index e03783e8eeb..874efd77c9e 100644 --- a/source/blender/modifiers/intern/MOD_shapekey.c +++ b/source/blender/modifiers/intern/MOD_shapekey.c @@ -70,11 +70,12 @@ static void deformMatrices(ModifierData *md, Object *ob, DerivedMesh *derivedDat Key *key= ob_get_key(ob); KeyBlock *kb= ob_get_keyblock(ob); float scale[3][3]; - int a; (void)vertexCos; /* unused */ if(kb && kb->totelem==numVerts && kb!=key->refkey) { + int a; + if(ob->shapeflag & OB_SHAPE_LOCK) scale_m3_fl(scale, 1); else scale_m3_fl(scale, kb->curval); @@ -107,11 +108,11 @@ static void deformMatricesEM(ModifierData *UNUSED(md), Object *ob, Key *key= ob_get_key(ob); KeyBlock *kb= ob_get_keyblock(ob); float scale[3][3]; - int a; (void)vertexCos; /* unused */ if(kb && kb->totelem==numVerts && kb!=key->refkey) { + int a; scale_m3_fl(scale, kb->curval); for(a=0; a +#include "BLI_string.h" #include "BLI_utildefines.h" - #include "BKE_cdderivedmesh.h" #include "BKE_modifier.h" #include "BKE_shrinkwrap.h" @@ -65,7 +65,7 @@ static void copyData(ModifierData *md, ModifierData *target) tsmd->target = smd->target; tsmd->auxTarget = smd->auxTarget; - strcpy(tsmd->vgroup_name, smd->vgroup_name); + BLI_strncpy(tsmd->vgroup_name, smd->vgroup_name, sizeof(tsmd->vgroup_name)); tsmd->keepDist = smd->keepDist; tsmd->shrinkType= smd->shrinkType; diff --git a/source/blender/modifiers/intern/MOD_simpledeform.c b/source/blender/modifiers/intern/MOD_simpledeform.c index 1c3e40a4193..7c95b460838 100644 --- a/source/blender/modifiers/intern/MOD_simpledeform.c +++ b/source/blender/modifiers/intern/MOD_simpledeform.c @@ -34,6 +34,7 @@ #include "DNA_object_types.h" #include "BLI_math.h" +#include "BLI_string.h" #include "BLI_utildefines.h" #include "BKE_cdderivedmesh.h" @@ -288,7 +289,7 @@ static void copyData(ModifierData *md, ModifierData *target) tsmd->originOpts= smd->originOpts; tsmd->factor= smd->factor; memcpy(tsmd->limit, smd->limit, sizeof(tsmd->limit)); - strcpy(tsmd->vgroup_name, smd->vgroup_name); + BLI_strncpy(tsmd->vgroup_name, smd->vgroup_name, sizeof(tsmd->vgroup_name)); } static CustomDataMask requiredDataMask(Object *UNUSED(ob), ModifierData *md) diff --git a/source/blender/modifiers/intern/MOD_surface.c b/source/blender/modifiers/intern/MOD_surface.c index 8d6f6954e18..b5d25d8e146 100644 --- a/source/blender/modifiers/intern/MOD_surface.c +++ b/source/blender/modifiers/intern/MOD_surface.c @@ -91,7 +91,6 @@ static void deformVerts(ModifierData *md, Object *ob, int UNUSED(isFinalCalc)) { SurfaceModifierData *surmd = (SurfaceModifierData*) md; - unsigned int numverts = 0, i = 0; if(surmd->dm) surmd->dm->release(surmd->dm); @@ -108,6 +107,7 @@ static void deformVerts(ModifierData *md, Object *ob, if(surmd->dm) { + unsigned int numverts = 0, i = 0; int init = 0; float *vec; MVert *x, *v; -- cgit v1.2.3 From 0955c664aa7c5fc5f0bd345c58219c40f04ab9c1 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Sun, 13 Feb 2011 10:52:18 +0000 Subject: fix for warnings from Sparse static source code checker, mostly BKE/BLI and python functions. - use NULL rather then 0 where possible (makes code & function calls more readable IMHO). - set static variables and functions (exposed some unused vars/funcs). - use func(void) rather then func() for definitions. --- source/blender/modifiers/intern/MOD_shapekey.c | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) (limited to 'source/blender/modifiers/intern') diff --git a/source/blender/modifiers/intern/MOD_shapekey.c b/source/blender/modifiers/intern/MOD_shapekey.c index 874efd77c9e..a2fd83b8bcb 100644 --- a/source/blender/modifiers/intern/MOD_shapekey.c +++ b/source/blender/modifiers/intern/MOD_shapekey.c @@ -128,20 +128,20 @@ ModifierTypeInfo modifierType_ShapeKey = { /* flags */ eModifierTypeFlag_AcceptsCVs | eModifierTypeFlag_SupportsEditmode, - /* copyData */ 0, + /* copyData */ NULL, /* deformVerts */ deformVerts, /* deformMatrices */ deformMatrices, /* deformVertsEM */ deformVertsEM, /* deformMatricesEM */ deformMatricesEM, - /* applyModifier */ 0, - /* applyModifierEM */ 0, - /* initData */ 0, - /* requiredDataMask */ 0, - /* freeData */ 0, - /* isDisabled */ 0, - /* updateDepgraph */ 0, - /* dependsOnTime */ 0, - /* dependsOnNormals */ 0, - /* foreachObjectLink */ 0, - /* foreachIDLink */ 0, + /* applyModifier */ NULL, + /* applyModifierEM */ NULL, + /* initData */ NULL, + /* requiredDataMask */ NULL, + /* freeData */ NULL, + /* isDisabled */ NULL, + /* updateDepgraph */ NULL, + /* dependsOnTime */ NULL, + /* dependsOnNormals */ NULL, + /* foreachObjectLink */ NULL, + /* foreachIDLink */ NULL }; -- cgit v1.2.3 From 4124804b4e67c7a1d15abaac220d08497e37d34a Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Sun, 13 Feb 2011 14:16:36 +0000 Subject: many functions in blender are not marked static but should be. most local modifier,GPU,ImBuf and Interface functions are now static. also fixed an error were the fluid modifier definition and the header didnt have the same number of args. --- source/blender/modifiers/intern/MOD_array.c | 2 ++ source/blender/modifiers/intern/MOD_bevel.c | 2 ++ source/blender/modifiers/intern/MOD_boolean.c | 1 + source/blender/modifiers/intern/MOD_boolean_util.c | 4 +++- source/blender/modifiers/intern/MOD_build.c | 1 + source/blender/modifiers/intern/MOD_cloth.c | 1 + source/blender/modifiers/intern/MOD_collision.c | 1 + source/blender/modifiers/intern/MOD_curve.c | 1 + source/blender/modifiers/intern/MOD_decimate.c | 2 ++ source/blender/modifiers/intern/MOD_edgesplit.c | 1 + source/blender/modifiers/intern/MOD_explode.c | 1 + source/blender/modifiers/intern/MOD_fluidsim.c | 1 + source/blender/modifiers/intern/MOD_fluidsim_util.c | 10 ++++++---- source/blender/modifiers/intern/MOD_fluidsim_util.h | 2 +- source/blender/modifiers/intern/MOD_hook.c | 1 + source/blender/modifiers/intern/MOD_mask.c | 1 + source/blender/modifiers/intern/MOD_mirror.c | 2 ++ source/blender/modifiers/intern/MOD_multires.c | 2 ++ source/blender/modifiers/intern/MOD_particleinstance.c | 1 + source/blender/modifiers/intern/MOD_simpledeform.c | 2 +- source/blender/modifiers/intern/MOD_util.h | 3 +++ 21 files changed, 35 insertions(+), 7 deletions(-) (limited to 'source/blender/modifiers/intern') diff --git a/source/blender/modifiers/intern/MOD_array.c b/source/blender/modifiers/intern/MOD_array.c index 9b49066d623..6c729c8519f 100644 --- a/source/blender/modifiers/intern/MOD_array.c +++ b/source/blender/modifiers/intern/MOD_array.c @@ -51,6 +51,8 @@ #include "depsgraph_private.h" +#include "MOD_util.h" + static void initData(ModifierData *md) { ArrayModifierData *amd = (ArrayModifierData*) md; diff --git a/source/blender/modifiers/intern/MOD_bevel.c b/source/blender/modifiers/intern/MOD_bevel.c index effc376943e..09e5016cb2b 100644 --- a/source/blender/modifiers/intern/MOD_bevel.c +++ b/source/blender/modifiers/intern/MOD_bevel.c @@ -38,6 +38,8 @@ #include "BKE_modifier.h" #include "BKE_particle.h" +#include "MOD_util.h" + static void initData(ModifierData *md) { diff --git a/source/blender/modifiers/intern/MOD_boolean.c b/source/blender/modifiers/intern/MOD_boolean.c index c40d6cfb79e..3aa5bff5f61 100644 --- a/source/blender/modifiers/intern/MOD_boolean.c +++ b/source/blender/modifiers/intern/MOD_boolean.c @@ -41,6 +41,7 @@ #include "depsgraph_private.h" #include "MOD_boolean_util.h" +#include "MOD_util.h" static void copyData(ModifierData *md, ModifierData *target) diff --git a/source/blender/modifiers/intern/MOD_boolean_util.c b/source/blender/modifiers/intern/MOD_boolean_util.c index 900a94487e5..8cd032a48c4 100644 --- a/source/blender/modifiers/intern/MOD_boolean_util.c +++ b/source/blender/modifiers/intern/MOD_boolean_util.c @@ -48,6 +48,8 @@ #include "CSG_BooleanOps.h" +#include "MOD_boolean_util.h" + /** * Here's the vertex iterator structure used to walk through * the blender vertex structure. @@ -451,7 +453,7 @@ static void FreeMeshDescriptors( FaceIt_Destruct(face_it); } -DerivedMesh *NewBooleanDerivedMesh_intern( +static DerivedMesh *NewBooleanDerivedMesh_intern( DerivedMesh *dm, struct Object *ob, DerivedMesh *dm_select, struct Object *ob_select, int int_op_type, Material **mat, int *totmat) { diff --git a/source/blender/modifiers/intern/MOD_build.c b/source/blender/modifiers/intern/MOD_build.c index 704caf0aff8..3bf1fa401f9 100644 --- a/source/blender/modifiers/intern/MOD_build.c +++ b/source/blender/modifiers/intern/MOD_build.c @@ -46,6 +46,7 @@ #include "BKE_particle.h" #include "BKE_scene.h" +#include "MOD_util.h" static void initData(ModifierData *md) { diff --git a/source/blender/modifiers/intern/MOD_cloth.c b/source/blender/modifiers/intern/MOD_cloth.c index 1cb46c0992f..bb1fc67ef8b 100644 --- a/source/blender/modifiers/intern/MOD_cloth.c +++ b/source/blender/modifiers/intern/MOD_cloth.c @@ -47,6 +47,7 @@ #include "depsgraph_private.h" +#include "MOD_util.h" static void initData(ModifierData *md) { diff --git a/source/blender/modifiers/intern/MOD_collision.c b/source/blender/modifiers/intern/MOD_collision.c index bdc0f0ea2e9..106e8b3957a 100644 --- a/source/blender/modifiers/intern/MOD_collision.c +++ b/source/blender/modifiers/intern/MOD_collision.c @@ -48,6 +48,7 @@ #include "BKE_pointcache.h" #include "BKE_scene.h" +#include "MOD_util.h" static void initData(ModifierData *md) { diff --git a/source/blender/modifiers/intern/MOD_curve.c b/source/blender/modifiers/intern/MOD_curve.c index c4e41941acc..d458d026c61 100644 --- a/source/blender/modifiers/intern/MOD_curve.c +++ b/source/blender/modifiers/intern/MOD_curve.c @@ -44,6 +44,7 @@ #include "depsgraph_private.h" +#include "MOD_util.h" static void initData(ModifierData *md) { diff --git a/source/blender/modifiers/intern/MOD_decimate.c b/source/blender/modifiers/intern/MOD_decimate.c index 2f1723cf9bb..e90a6ea2ac4 100644 --- a/source/blender/modifiers/intern/MOD_decimate.c +++ b/source/blender/modifiers/intern/MOD_decimate.c @@ -47,6 +47,8 @@ #include "LOD_decimation.h" #endif +#include "MOD_util.h" + static void initData(ModifierData *md) { DecimateModifierData *dmd = (DecimateModifierData*) md; diff --git a/source/blender/modifiers/intern/MOD_edgesplit.c b/source/blender/modifiers/intern/MOD_edgesplit.c index 56138552000..22b7e72adfc 100644 --- a/source/blender/modifiers/intern/MOD_edgesplit.c +++ b/source/blender/modifiers/intern/MOD_edgesplit.c @@ -48,6 +48,7 @@ #include "MEM_guardedalloc.h" +#include "MOD_util.h" #if 0 #define EDGESPLIT_DEBUG_3 diff --git a/source/blender/modifiers/intern/MOD_explode.c b/source/blender/modifiers/intern/MOD_explode.c index 8c3b4f7db47..67476a33a00 100644 --- a/source/blender/modifiers/intern/MOD_explode.c +++ b/source/blender/modifiers/intern/MOD_explode.c @@ -51,6 +51,7 @@ #include "MEM_guardedalloc.h" +#include "MOD_util.h" static void initData(ModifierData *md) { diff --git a/source/blender/modifiers/intern/MOD_fluidsim.c b/source/blender/modifiers/intern/MOD_fluidsim.c index 19111b0cafc..9a1635e3dad 100644 --- a/source/blender/modifiers/intern/MOD_fluidsim.c +++ b/source/blender/modifiers/intern/MOD_fluidsim.c @@ -42,6 +42,7 @@ #include "depsgraph_private.h" +#include "MOD_util.h" #include "MOD_fluidsim_util.h" #include "MEM_guardedalloc.h" diff --git a/source/blender/modifiers/intern/MOD_fluidsim_util.c b/source/blender/modifiers/intern/MOD_fluidsim_util.c index 7d5c9a0ec13..fdf3209b500 100644 --- a/source/blender/modifiers/intern/MOD_fluidsim_util.c +++ b/source/blender/modifiers/intern/MOD_fluidsim_util.c @@ -45,11 +45,13 @@ #include "BLI_utildefines.h" #include "BKE_main.h" +#include "BKE_fluidsim.h" /* ensure definitions here match */ #include "BKE_cdderivedmesh.h" #include "BKE_mesh.h" #include "BKE_utildefines.h" #include "BKE_global.h" /* G.main->name only */ +#include "MOD_fluidsim_util.h" #include "MOD_modifiertypes.h" #include "MEM_guardedalloc.h" @@ -167,7 +169,7 @@ void fluidsim_free(FluidsimModifierData *fluidmd) #ifndef DISABLE_ELBEEM /* read .bobj.gz file into a fluidsimDerivedMesh struct */ -DerivedMesh *fluidsim_read_obj(char *filename) +static DerivedMesh *fluidsim_read_obj(const char *filename) { int wri = 0,i; int gotBytes; @@ -379,7 +381,7 @@ void fluid_estimate_memory(Object *ob, FluidsimSettings *fss, char *value) /* read zipped fluidsim velocities into the co's of the fluidsimsettings normals struct */ -void fluidsim_read_vel_cache(FluidsimModifierData *fluidmd, DerivedMesh *dm, char *filename) +static void fluidsim_read_vel_cache(FluidsimModifierData *fluidmd, DerivedMesh *dm, char *filename) { int wri, i, j; float wrf; @@ -442,7 +444,7 @@ void fluidsim_read_vel_cache(FluidsimModifierData *fluidmd, DerivedMesh *dm, cha gzclose(gzf); } -DerivedMesh *fluidsim_read_cache(DerivedMesh *orgdm, FluidsimModifierData *fluidmd, int framenr, int useRenderParams) +static DerivedMesh *fluidsim_read_cache(DerivedMesh *orgdm, FluidsimModifierData *fluidmd, int framenr, int useRenderParams) { int displaymode = 0; int curFrame = framenr - 1 /*scene->r.sfra*/; /* start with 0 at start frame */ @@ -537,7 +539,7 @@ DerivedMesh *fluidsim_read_cache(DerivedMesh *orgdm, FluidsimModifierData *fluid DerivedMesh *fluidsimModifier_do(FluidsimModifierData *fluidmd, Scene *scene, Object *UNUSED(ob), DerivedMesh *dm, - int useRenderParams) + int useRenderParams, int UNUSED(isFinalCalc)) { #ifndef DISABLE_ELBEEM DerivedMesh *result = NULL; diff --git a/source/blender/modifiers/intern/MOD_fluidsim_util.h b/source/blender/modifiers/intern/MOD_fluidsim_util.h index a06c74cb8dd..522cf379435 100644 --- a/source/blender/modifiers/intern/MOD_fluidsim_util.h +++ b/source/blender/modifiers/intern/MOD_fluidsim_util.h @@ -42,6 +42,6 @@ void fluidsim_free(struct FluidsimModifierData *fluidmd); struct DerivedMesh *fluidsimModifier_do(struct FluidsimModifierData *fluidmd, struct Scene *scene, struct Object *ob, struct DerivedMesh *dm, int useRenderParams, int isFinalCalc); - + #endif diff --git a/source/blender/modifiers/intern/MOD_hook.c b/source/blender/modifiers/intern/MOD_hook.c index 79493d2c549..cbd88f32409 100644 --- a/source/blender/modifiers/intern/MOD_hook.c +++ b/source/blender/modifiers/intern/MOD_hook.c @@ -46,6 +46,7 @@ #include "depsgraph_private.h" #include "MEM_guardedalloc.h" +#include "MOD_util.h" static void initData(ModifierData *md) { diff --git a/source/blender/modifiers/intern/MOD_mask.c b/source/blender/modifiers/intern/MOD_mask.c index a8a48eb720f..19d9c7c9dd8 100644 --- a/source/blender/modifiers/intern/MOD_mask.c +++ b/source/blender/modifiers/intern/MOD_mask.c @@ -47,6 +47,7 @@ #include "depsgraph_private.h" +#include "MOD_util.h" static void copyData(ModifierData *md, ModifierData *target) { diff --git a/source/blender/modifiers/intern/MOD_mirror.c b/source/blender/modifiers/intern/MOD_mirror.c index 5c73b2f0866..007d8eb5197 100644 --- a/source/blender/modifiers/intern/MOD_mirror.c +++ b/source/blender/modifiers/intern/MOD_mirror.c @@ -45,6 +45,8 @@ #include "MEM_guardedalloc.h" #include "depsgraph_private.h" +#include "MOD_util.h" + static void initData(ModifierData *md) { MirrorModifierData *mmd = (MirrorModifierData*) md; diff --git a/source/blender/modifiers/intern/MOD_multires.c b/source/blender/modifiers/intern/MOD_multires.c index 10b135aaa77..3b2c552bb9f 100644 --- a/source/blender/modifiers/intern/MOD_multires.c +++ b/source/blender/modifiers/intern/MOD_multires.c @@ -40,6 +40,8 @@ #include "DNA_mesh_types.h" +#include "MOD_util.h" + static void initData(ModifierData *md) { MultiresModifierData *mmd = (MultiresModifierData*)md; diff --git a/source/blender/modifiers/intern/MOD_particleinstance.c b/source/blender/modifiers/intern/MOD_particleinstance.c index c36581d9317..739d7aa0e6d 100644 --- a/source/blender/modifiers/intern/MOD_particleinstance.c +++ b/source/blender/modifiers/intern/MOD_particleinstance.c @@ -45,6 +45,7 @@ #include "BKE_particle.h" #include "BKE_pointcache.h" +#include "MOD_util.h" #include "depsgraph_private.h" diff --git a/source/blender/modifiers/intern/MOD_simpledeform.c b/source/blender/modifiers/intern/MOD_simpledeform.c index 7c95b460838..9add0e9a67d 100644 --- a/source/blender/modifiers/intern/MOD_simpledeform.c +++ b/source/blender/modifiers/intern/MOD_simpledeform.c @@ -148,7 +148,7 @@ static void simpleDeform_bend(const float factor, const float dcut[3], float *co /* simple deform modifier */ -void SimpleDeformModifier_do(SimpleDeformModifierData *smd, struct Object *ob, struct DerivedMesh *dm, float (*vertexCos)[3], int numVerts) +static void SimpleDeformModifier_do(SimpleDeformModifierData *smd, struct Object *ob, struct DerivedMesh *dm, float (*vertexCos)[3], int numVerts) { static const float lock_axis[2] = {0.0f, 0.0f}; diff --git a/source/blender/modifiers/intern/MOD_util.h b/source/blender/modifiers/intern/MOD_util.h index 0ba35ad23e6..a4d63c6d168 100644 --- a/source/blender/modifiers/intern/MOD_util.h +++ b/source/blender/modifiers/intern/MOD_util.h @@ -28,6 +28,9 @@ #ifndef MOD_UTIL_H #define MOD_UTIL_H +/* so modifier types match their defines */ +#include "MOD_modifiertypes.h" + struct Tex; struct TexResult; struct CustomData; -- cgit v1.2.3 From f6911cfe3839d0eda5bffbb65043732c504667f2 Mon Sep 17 00:00:00 2001 From: Janne Karhu Date: Wed, 16 Feb 2011 11:38:28 +0000 Subject: Fix for [#26102] Particle Texture mismapped on Multires (in some modes) * Particle modifier didn't check for particle textures using uv-coordinates properly. --- source/blender/modifiers/intern/MOD_particlesystem.c | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) (limited to 'source/blender/modifiers/intern') diff --git a/source/blender/modifiers/intern/MOD_particlesystem.c b/source/blender/modifiers/intern/MOD_particlesystem.c index c7638afbbcc..246a1b5391e 100644 --- a/source/blender/modifiers/intern/MOD_particlesystem.c +++ b/source/blender/modifiers/intern/MOD_particlesystem.c @@ -91,14 +91,10 @@ static CustomDataMask requiredDataMask(Object *ob, ModifierData *md) if(!psmd->psys->part) return 0; - ma= give_current_material(ob, psmd->psys->part->omat); - if(ma) { - for(i=0; imtex[i]; - if(mtex && (ma->septex & (1<pmapto && (mtex->texco & TEXCO_UV)) - dataMask |= CD_MASK_MTFACE; - } + for(i=0; ipsys->part->mtex[i]; + if(mtex && mtex->mapto && (mtex->texco & TEXCO_UV)) + dataMask |= CD_MASK_MTFACE; } if(psmd->psys->part->tanfac!=0.0) -- cgit v1.2.3 From aed7eaf0d9171c4bfa7814e141afad773cb31441 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Wed, 16 Feb 2011 17:31:04 +0000 Subject: sphinx doc gen: multiple examples possible and include the scripts docstring inline in sphinx. also tag unused vars --- source/blender/modifiers/intern/MOD_particlesystem.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'source/blender/modifiers/intern') diff --git a/source/blender/modifiers/intern/MOD_particlesystem.c b/source/blender/modifiers/intern/MOD_particlesystem.c index 246a1b5391e..2f3bc0c53f4 100644 --- a/source/blender/modifiers/intern/MOD_particlesystem.c +++ b/source/blender/modifiers/intern/MOD_particlesystem.c @@ -80,11 +80,10 @@ static void copyData(ModifierData *md, ModifierData *target) tpsmd->psys = psmd->psys; } -static CustomDataMask requiredDataMask(Object *ob, ModifierData *md) +static CustomDataMask requiredDataMask(Object *UNUSED(ob), ModifierData *md) { ParticleSystemModifierData *psmd= (ParticleSystemModifierData*) md; CustomDataMask dataMask = 0; - Material *ma; MTex *mtex; int i; -- cgit v1.2.3 From 06aee2ef0e1c810c24b2559838e46045d708b22f Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Sun, 20 Feb 2011 15:48:01 +0000 Subject: misc warnings/fixes - WITH_OPENJPEG wasn't defined for creator.c with CMake. - remove shadowed/redefined vars. - remove some unused RNA report args. - re-arrange IMB_FILE_TYPES so IRIS is not the first format tested, since its not very common test JPEG and PNG first. --- source/blender/modifiers/intern/MOD_build.c | 173 ++++++++++++------------- source/blender/modifiers/intern/MOD_hook.c | 1 - source/blender/modifiers/intern/MOD_solidify.c | 26 ++-- 3 files changed, 96 insertions(+), 104 deletions(-) (limited to 'source/blender/modifiers/intern') diff --git a/source/blender/modifiers/intern/MOD_build.c b/source/blender/modifiers/intern/MOD_build.c index 3bf1fa401f9..bc59c2cba0b 100644 --- a/source/blender/modifiers/intern/MOD_build.c +++ b/source/blender/modifiers/intern/MOD_build.c @@ -82,7 +82,6 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob, BuildModifierData *bmd = (BuildModifierData*) md; int i; int numFaces, numEdges; - int maxVerts, maxEdges, maxFaces; int *vertMap, *edgeMap, *faceMap; float frac; GHashIterator *hashIter; @@ -93,19 +92,15 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob, GHash *edgeHash = BLI_ghash_new(BLI_ghashutil_inthash, BLI_ghashutil_intcmp, "build ed apply gh"); - maxVerts = dm->getNumVerts(dm); - vertMap = MEM_callocN(sizeof(*vertMap) * maxVerts, - "build modifier vertMap"); - for(i = 0; i < maxVerts; ++i) vertMap[i] = i; + const int maxVerts= dm->getNumVerts(dm); + const int maxEdges= dm->getNumEdges(dm); + const int maxFaces= dm->getNumFaces(dm); - maxEdges = dm->getNumEdges(dm); - edgeMap = MEM_callocN(sizeof(*edgeMap) * maxEdges, - "build modifier edgeMap"); + vertMap = MEM_callocN(sizeof(*vertMap) * maxVerts, "build modifier vertMap"); + for(i = 0; i < maxVerts; ++i) vertMap[i] = i; + edgeMap = MEM_callocN(sizeof(*edgeMap) * maxEdges, "build modifier edgeMap"); for(i = 0; i < maxEdges; ++i) edgeMap[i] = i; - - maxFaces = dm->getNumFaces(dm); - faceMap = MEM_callocN(sizeof(*faceMap) * maxFaces, - "build modifier faceMap"); + faceMap = MEM_callocN(sizeof(*faceMap) * maxFaces, "build modifier faceMap"); for(i = 0; i < maxFaces; ++i) faceMap[i] = i; if (ob) { @@ -121,8 +116,6 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob, /* if there's at least one face, build based on faces */ if(numFaces) { - int maxEdges; - if(bmd->randomize) BLI_array_randomize(faceMap, sizeof(*faceMap), maxFaces, bmd->seed); @@ -151,7 +144,6 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob, /* get the set of edges that will be in the new mesh (i.e. all edges * that have both verts in the new mesh) */ - maxEdges = dm->getNumEdges(dm); for(i = 0; i < maxEdges; ++i) { MEdge me; dm->getEdge(dm, i, &me); @@ -211,71 +203,72 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob, BLI_ghash_size(edgeHash), numFaces); /* copy the vertices across */ - for(hashIter = BLI_ghashIterator_new(vertHash); - !BLI_ghashIterator_isDone(hashIter); - BLI_ghashIterator_step(hashIter)) { - MVert source; - MVert *dest; - int oldIndex = GET_INT_FROM_POINTER(BLI_ghashIterator_getKey(hashIter)); - int newIndex = GET_INT_FROM_POINTER(BLI_ghashIterator_getValue(hashIter)); - - dm->getVert(dm, oldIndex, &source); - dest = CDDM_get_vert(result, newIndex); - - DM_copy_vert_data(dm, result, oldIndex, newIndex, 1); - *dest = source; - } - BLI_ghashIterator_free(hashIter); - - /* copy the edges across, remapping indices */ - for(i = 0; i < BLI_ghash_size(edgeHash); ++i) { - MEdge source; - MEdge *dest; - int oldIndex = GET_INT_FROM_POINTER(BLI_ghash_lookup(edgeHash, SET_INT_IN_POINTER(i))); - - dm->getEdge(dm, oldIndex, &source); - dest = CDDM_get_edge(result, i); - - source.v1 = GET_INT_FROM_POINTER(BLI_ghash_lookup(vertHash, SET_INT_IN_POINTER(source.v1))); - source.v2 = GET_INT_FROM_POINTER(BLI_ghash_lookup(vertHash, SET_INT_IN_POINTER(source.v2))); - - DM_copy_edge_data(dm, result, oldIndex, i, 1); - *dest = source; - } - - /* copy the faces across, remapping indices */ - for(i = 0; i < numFaces; ++i) { - MFace source; - MFace *dest; - int orig_v4; - - dm->getFace(dm, faceMap[i], &source); - dest = CDDM_get_face(result, i); - - orig_v4 = source.v4; - - source.v1 = GET_INT_FROM_POINTER(BLI_ghash_lookup(vertHash, SET_INT_IN_POINTER(source.v1))); - source.v2 = GET_INT_FROM_POINTER(BLI_ghash_lookup(vertHash, SET_INT_IN_POINTER(source.v2))); - source.v3 = GET_INT_FROM_POINTER(BLI_ghash_lookup(vertHash, SET_INT_IN_POINTER(source.v3))); - if(source.v4) - source.v4 = GET_INT_FROM_POINTER(BLI_ghash_lookup(vertHash, SET_INT_IN_POINTER(source.v4))); - - DM_copy_face_data(dm, result, faceMap[i], i, 1); - *dest = source; - - test_index_face(dest, &result->faceData, i, (orig_v4 ? 4 : 3)); - } - - CDDM_calc_normals(result); - - BLI_ghash_free(vertHash, NULL, NULL); - BLI_ghash_free(edgeHash, NULL, NULL); + for( hashIter = BLI_ghashIterator_new(vertHash); + !BLI_ghashIterator_isDone(hashIter); + BLI_ghashIterator_step(hashIter) + ) { + MVert source; + MVert *dest; + int oldIndex = GET_INT_FROM_POINTER(BLI_ghashIterator_getKey(hashIter)); + int newIndex = GET_INT_FROM_POINTER(BLI_ghashIterator_getValue(hashIter)); + + dm->getVert(dm, oldIndex, &source); + dest = CDDM_get_vert(result, newIndex); + + DM_copy_vert_data(dm, result, oldIndex, newIndex, 1); + *dest = source; + } + BLI_ghashIterator_free(hashIter); + + /* copy the edges across, remapping indices */ + for(i = 0; i < BLI_ghash_size(edgeHash); ++i) { + MEdge source; + MEdge *dest; + int oldIndex = GET_INT_FROM_POINTER(BLI_ghash_lookup(edgeHash, SET_INT_IN_POINTER(i))); + + dm->getEdge(dm, oldIndex, &source); + dest = CDDM_get_edge(result, i); + + source.v1 = GET_INT_FROM_POINTER(BLI_ghash_lookup(vertHash, SET_INT_IN_POINTER(source.v1))); + source.v2 = GET_INT_FROM_POINTER(BLI_ghash_lookup(vertHash, SET_INT_IN_POINTER(source.v2))); + + DM_copy_edge_data(dm, result, oldIndex, i, 1); + *dest = source; + } - MEM_freeN(vertMap); - MEM_freeN(edgeMap); - MEM_freeN(faceMap); + /* copy the faces across, remapping indices */ + for(i = 0; i < numFaces; ++i) { + MFace source; + MFace *dest; + int orig_v4; + + dm->getFace(dm, faceMap[i], &source); + dest = CDDM_get_face(result, i); + + orig_v4 = source.v4; + + source.v1 = GET_INT_FROM_POINTER(BLI_ghash_lookup(vertHash, SET_INT_IN_POINTER(source.v1))); + source.v2 = GET_INT_FROM_POINTER(BLI_ghash_lookup(vertHash, SET_INT_IN_POINTER(source.v2))); + source.v3 = GET_INT_FROM_POINTER(BLI_ghash_lookup(vertHash, SET_INT_IN_POINTER(source.v3))); + if(source.v4) + source.v4 = GET_INT_FROM_POINTER(BLI_ghash_lookup(vertHash, SET_INT_IN_POINTER(source.v4))); + + DM_copy_face_data(dm, result, faceMap[i], i, 1); + *dest = source; + + test_index_face(dest, &result->faceData, i, (orig_v4 ? 4 : 3)); + } - return result; + CDDM_calc_normals(result); + + BLI_ghash_free(vertHash, NULL, NULL); + BLI_ghash_free(edgeHash, NULL, NULL); + + MEM_freeN(vertMap); + MEM_freeN(edgeMap); + MEM_freeN(faceMap); + + return result; } @@ -287,19 +280,19 @@ ModifierTypeInfo modifierType_Build = { /* flags */ eModifierTypeFlag_AcceptsMesh | eModifierTypeFlag_AcceptsCVs, /* copyData */ copyData, - /* deformVerts */ 0, - /* deformMatrices */ 0, - /* deformVertsEM */ 0, - /* deformMatricesEM */ 0, + /* deformVerts */ NULL, + /* deformMatrices */ NULL, + /* deformVertsEM */ NULL, + /* deformMatricesEM */ NULL, /* applyModifier */ applyModifier, - /* applyModifierEM */ 0, + /* applyModifierEM */ NULL, /* initData */ initData, - /* requiredDataMask */ 0, - /* freeData */ 0, - /* isDisabled */ 0, - /* updateDepgraph */ 0, + /* requiredDataMask */ NULL, + /* freeData */ NULL, + /* isDisabled */ NULL, + /* updateDepgraph */ NULL, /* dependsOnTime */ dependsOnTime, - /* dependsOnNormals */ 0, - /* foreachObjectLink */ 0, - /* foreachIDLink */ 0, + /* dependsOnNormals */ NULL, + /* foreachObjectLink */ NULL, + /* foreachIDLink */ NULL }; diff --git a/source/blender/modifiers/intern/MOD_hook.c b/source/blender/modifiers/intern/MOD_hook.c index cbd88f32409..59c45eb2eec 100644 --- a/source/blender/modifiers/intern/MOD_hook.c +++ b/source/blender/modifiers/intern/MOD_hook.c @@ -244,7 +244,6 @@ static void deformVerts(ModifierData *md, Object *ob, } } else if(dvert) { /* vertex group hook */ - int i; const float fac_orig= hmd->force; for(i = 0; i < max_dvert; i++, dvert++) { diff --git a/source/blender/modifiers/intern/MOD_solidify.c b/source/blender/modifiers/intern/MOD_solidify.c index 4faf955b953..edf149c1580 100644 --- a/source/blender/modifiers/intern/MOD_solidify.c +++ b/source/blender/modifiers/intern/MOD_solidify.c @@ -291,7 +291,7 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob, ehi= BLI_edgehashIterator_new(edgehash); for(; !BLI_edgehashIterator_isDone(ehi); BLI_edgehashIterator_step(ehi)) { - int eidx= GET_INT_FROM_POINTER(BLI_edgehashIterator_getValue(ehi)); + eidx= GET_INT_FROM_POINTER(BLI_edgehashIterator_getValue(ehi)); if(edge_users[eidx] >= 0) { BLI_edgehashIterator_getKey(ehi, &v1, &v2); orig_mvert[v1].flag |= ME_VERT_TMP_TAG; @@ -408,7 +408,7 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob, float *vert_angles= MEM_callocN(sizeof(float) * numVerts * 2, "mod_solid_pair"); /* 2 in 1 */ float *vert_accum= vert_angles + numVerts; float face_angles[4]; - int i, j, vidx; + int j, vidx; face_nors = CustomData_get_layer(&dm->faceData, CD_NORMAL); if(!face_nors) { @@ -650,19 +650,19 @@ ModifierTypeInfo modifierType_Solidify = { | eModifierTypeFlag_EnableInEditmode, /* copyData */ copyData, - /* deformVerts */ 0, - /* deformMatrices */ 0, - /* deformVertsEM */ 0, - /* deformMatricesEM */ 0, + /* deformVerts */ NULL, + /* deformMatrices */ NULL, + /* deformVertsEM */ NULL, + /* deformMatricesEM */ NULL, /* applyModifier */ applyModifier, /* applyModifierEM */ applyModifierEM, /* initData */ initData, /* requiredDataMask */ requiredDataMask, - /* freeData */ 0, - /* isDisabled */ 0, - /* updateDepgraph */ 0, - /* dependsOnTime */ 0, - /* dependsOnNormals */ 0, - /* foreachObjectLink */ 0, - /* foreachIDLink */ 0, + /* freeData */ NULL, + /* isDisabled */ NULL, + /* updateDepgraph */ NULL, + /* dependsOnTime */ NULL, + /* dependsOnNormals */ NULL, + /* foreachObjectLink */ NULL, + /* foreachIDLink */ NULL }; -- cgit v1.2.3 From 5b607701a7541c328cc058e10bd7a8c6d0c998ab Mon Sep 17 00:00:00 2001 From: Nathan Letwory Date: Wed, 23 Feb 2011 10:52:22 +0000 Subject: doxygen: prevent GPL license block from being parsed as doxygen comment. --- source/blender/modifiers/intern/MOD_boolean_util.c | 2 +- source/blender/modifiers/intern/MOD_boolean_util.h | 2 +- source/blender/modifiers/intern/MOD_fluidsim_util.h | 2 +- source/blender/modifiers/intern/MOD_none.c | 2 +- source/blender/modifiers/intern/MOD_util.c | 2 +- source/blender/modifiers/intern/MOD_util.h | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) (limited to 'source/blender/modifiers/intern') diff --git a/source/blender/modifiers/intern/MOD_boolean_util.c b/source/blender/modifiers/intern/MOD_boolean_util.c index 8cd032a48c4..e4526a359e4 100644 --- a/source/blender/modifiers/intern/MOD_boolean_util.c +++ b/source/blender/modifiers/intern/MOD_boolean_util.c @@ -1,4 +1,4 @@ -/** +/* * $Id$ * * ***** BEGIN GPL LICENSE BLOCK ***** diff --git a/source/blender/modifiers/intern/MOD_boolean_util.h b/source/blender/modifiers/intern/MOD_boolean_util.h index e415b368a85..5aef8fe6bc8 100644 --- a/source/blender/modifiers/intern/MOD_boolean_util.h +++ b/source/blender/modifiers/intern/MOD_boolean_util.h @@ -1,4 +1,4 @@ -/** +/* * $Id$ * * ***** BEGIN GPL LICENSE BLOCK ***** diff --git a/source/blender/modifiers/intern/MOD_fluidsim_util.h b/source/blender/modifiers/intern/MOD_fluidsim_util.h index 522cf379435..29f3a1b77ae 100644 --- a/source/blender/modifiers/intern/MOD_fluidsim_util.h +++ b/source/blender/modifiers/intern/MOD_fluidsim_util.h @@ -1,4 +1,4 @@ -/** +/* * $Id$ * * ***** BEGIN GPL LICENSE BLOCK ***** diff --git a/source/blender/modifiers/intern/MOD_none.c b/source/blender/modifiers/intern/MOD_none.c index c08335d638a..d9e25394686 100644 --- a/source/blender/modifiers/intern/MOD_none.c +++ b/source/blender/modifiers/intern/MOD_none.c @@ -1,4 +1,4 @@ -/** +/* * $Id$ * * ***** BEGIN GPL LICENSE BLOCK ***** diff --git a/source/blender/modifiers/intern/MOD_util.c b/source/blender/modifiers/intern/MOD_util.c index 8ea717469a3..2cc9c6601c7 100644 --- a/source/blender/modifiers/intern/MOD_util.c +++ b/source/blender/modifiers/intern/MOD_util.c @@ -1,4 +1,4 @@ -/** +/* * $Id$ * * ***** BEGIN GPL LICENSE BLOCK ***** diff --git a/source/blender/modifiers/intern/MOD_util.h b/source/blender/modifiers/intern/MOD_util.h index a4d63c6d168..b48a3a56092 100644 --- a/source/blender/modifiers/intern/MOD_util.h +++ b/source/blender/modifiers/intern/MOD_util.h @@ -1,4 +1,4 @@ -/** +/* * $Id$ * * ***** BEGIN GPL LICENSE BLOCK ***** -- cgit v1.2.3 From 3bee6abb74f03cb2170c15c14ea76187dbaead48 Mon Sep 17 00:00:00 2001 From: Janne Karhu Date: Wed, 23 Feb 2011 19:29:59 +0000 Subject: Fix for [#26133] Explode modifier doesn't care about UVs (Option "split edges") * This is basically a total rewrite of the edge split algorithm. The old one didn't handle tris at all and quads were cut wrong in some cases too with the addition of not handling uv coordinates at all. * This new algorithm uses a flag system to categorize different splits and the identical but rotated cases in a similar way to how marching cubes indexes different cases. * It cuts quads and tris and creates proper uv's for the new faces too. * I also renamed the option to "edge cut" to differentiate if from the edge split modifier and added an option to override a uv-channel in the exploded mesh with particle age as x-coordinate so that the shrapnel can be faded out nicely etc. --- source/blender/modifiers/intern/MOD_explode.c | 883 +++++++++++++++----------- 1 file changed, 504 insertions(+), 379 deletions(-) (limited to 'source/blender/modifiers/intern') diff --git a/source/blender/modifiers/intern/MOD_explode.c b/source/blender/modifiers/intern/MOD_explode.c index 67476a33a00..a0a658031f0 100644 --- a/source/blender/modifiers/intern/MOD_explode.c +++ b/source/blender/modifiers/intern/MOD_explode.c @@ -180,15 +180,370 @@ static void createFacepa(ExplodeModifierData *emd, BLI_kdtree_free(tree); } -static int edgesplit_get(EdgeHash *edgehash, int v1, int v2) +static int edgecut_get(EdgeHash *edgehash, int v1, int v2) { return GET_INT_FROM_POINTER(BLI_edgehash_lookup(edgehash, v1, v2)); } -static DerivedMesh * splitEdges(ExplodeModifierData *emd, DerivedMesh *dm){ + +const short add_faces[24] = { + 0, + 0, 0, 2, 0, 1, 2, 2, 0, 2, 1, + 2, 2, 2, 2, 3, 0, 0, 0, 1, 0, + 1, 1, 2 + }; + +MFace *get_dface(DerivedMesh *dm, DerivedMesh *split, int cur, int i, MFace *mf) +{ + MFace *df = CDDM_get_face(split, cur); + DM_copy_face_data(dm, split, i, cur, 1); + *df = *mf; + return df; +} + +#define SET_VERTS(a, b, c, d) \ + v[0]=mf->v##a; uv[0]=a-1; \ + v[1]=mf->v##b; uv[1]=b-1; \ + v[2]=mf->v##c; uv[2]=c-1; \ + v[3]=mf->v##d; uv[3]=d-1; + +#define GET_ES(v1, v2) edgecut_get(eh, v1, v2); +#define INT_UV(uvf, c0, c1) interp_v2_v2v2(uvf, mf->uv[c0], mf->uv[c1], 0.5f); + +static void remap_faces_3_6_9_12(DerivedMesh *dm, DerivedMesh *split, MFace *mf, int *facepa, int *vertpa, int i, EdgeHash *eh, int cur, int v1, int v2, int v3, int v4) +{ + MFace *df1 = get_dface(dm, split, cur, i, mf); + MFace *df2 = get_dface(dm, split, cur+1, i, mf); + MFace *df3 = get_dface(dm, split, cur+2, i, mf); + + facepa[cur] = vertpa[v1]; + df1->v1 = v1; + df1->v2 = GET_ES(v1, v2) + df1->v3 = GET_ES(v2, v3) + df1->v4 = v3; + df1->flag |= ME_FACE_SEL; + + facepa[cur+1] = vertpa[v2]; + df2->v1 = GET_ES(v1, v2) + df2->v2 = v2; + df2->v3 = GET_ES(v2, v3) + df2->v4 = 0; + df2->flag &= ~ME_FACE_SEL; + + facepa[cur+2] = vertpa[v1]; + df3->v1 = v1; + df3->v2 = v3; + df3->v3 = v4; + df3->v4 = 0; + df3->flag &= ~ME_FACE_SEL; +} + +static void remap_uvs_3_6_9_12(DerivedMesh *dm, DerivedMesh *split, int numlayer, int i, int cur, int c0, int c1, int c2, int c3) +{ + MTFace *mf, *df1, *df2, *df3; + int l; + + for(l=0; lfaceData, CD_MTFACE, l); + df1 = mf+cur; + df2 = df1 + 1; + df3 = df1 + 2; + mf = CustomData_get_layer_n(&dm->faceData, CD_MTFACE, l); + mf += i; + + copy_v2_v2(df1->uv[0], mf->uv[c0]); + INT_UV(df1->uv[1], c0, c1) + INT_UV(df1->uv[2], c1, c2) + copy_v2_v2(df1->uv[3], mf->uv[c2]); + + INT_UV(df2->uv[0], c0, c1) + copy_v2_v2(df2->uv[1], mf->uv[c1]); + INT_UV(df2->uv[2], c1, c2) + + copy_v2_v2(df3->uv[0], mf->uv[c0]); + copy_v2_v2(df3->uv[1], mf->uv[c2]); + copy_v2_v2(df3->uv[2], mf->uv[c3]); + } +} + +static void remap_faces_5_10(DerivedMesh *dm, DerivedMesh *split, MFace *mf, int *facepa, int *vertpa, int i, EdgeHash *eh, int cur, int v1, int v2, int v3, int v4) +{ + MFace *df1 = get_dface(dm, split, cur, i, mf); + MFace *df2 = get_dface(dm, split, cur+1, i, mf); + + facepa[cur] = vertpa[v1]; + df1->v1 = v1; + df1->v2 = v2; + df1->v3 = GET_ES(v2, v3) + df1->v4 = GET_ES(v1, v4) + df1->flag |= ME_FACE_SEL; + + facepa[cur+1] = vertpa[v3]; + df2->v1 = GET_ES(v1, v4) + df2->v2 = GET_ES(v2, v3) + df2->v3 = v3; + df2->v4 = v4; + df2->flag |= ME_FACE_SEL; +} + +static void remap_uvs_5_10(DerivedMesh *dm, DerivedMesh *split, int numlayer, int i, int cur, int c0, int c1, int c2, int c3) +{ + MTFace *mf, *df1, *df2; + int l; + + for(l=0; lfaceData, CD_MTFACE, l); + df1 = mf+cur; + df2 = df1 + 1; + mf = CustomData_get_layer_n(&dm->faceData, CD_MTFACE, l); + mf += i; + + copy_v2_v2(df1->uv[0], mf->uv[c0]); + copy_v2_v2(df1->uv[1], mf->uv[c1]); + INT_UV(df1->uv[2], c1, c2) + INT_UV(df1->uv[3], c0, c3) + + INT_UV(df2->uv[0], c0, c3) + INT_UV(df2->uv[1], c1, c2) + copy_v2_v2(df2->uv[2], mf->uv[c2]); + copy_v2_v2(df2->uv[3], mf->uv[c3]); + + } +} + +static void remap_faces_15(DerivedMesh *dm, DerivedMesh *split, MFace *mf, int *facepa, int *vertpa, int i, EdgeHash *eh, int cur, int v1, int v2, int v3, int v4) +{ + MFace *df1 = get_dface(dm, split, cur, i, mf); + MFace *df2 = get_dface(dm, split, cur+1, i, mf); + MFace *df3 = get_dface(dm, split, cur+2, i, mf); + MFace *df4 = get_dface(dm, split, cur+3, i, mf); + + facepa[cur] = vertpa[v1]; + df1->v1 = v1; + df1->v2 = GET_ES(v1, v2) + df1->v3 = GET_ES(v1, v3) + df1->v4 = GET_ES(v1, v4) + df1->flag |= ME_FACE_SEL; + + facepa[cur+1] = vertpa[v2]; + df2->v1 = GET_ES(v1, v2) + df2->v2 = v2; + df2->v3 = GET_ES(v2, v3) + df2->v4 = GET_ES(v1, v3) + df2->flag |= ME_FACE_SEL; + + facepa[cur+2] = vertpa[v3]; + df3->v1 = GET_ES(v1, v3) + df3->v2 = GET_ES(v2, v3) + df3->v3 = v3; + df3->v4 = GET_ES(v3, v4) + df3->flag |= ME_FACE_SEL; + + facepa[cur+3] = vertpa[v4]; + df4->v1 = GET_ES(v1, v4) + df4->v2 = GET_ES(v1, v3) + df4->v3 = GET_ES(v3, v4) + df4->v4 = v4; + df4->flag |= ME_FACE_SEL; +} + +static void remap_uvs_15(DerivedMesh *dm, DerivedMesh *split, int numlayer, int i, int cur, int c0, int c1, int c2, int c3) +{ + MTFace *mf, *df1, *df2, *df3, *df4; + int l; + + for(l=0; lfaceData, CD_MTFACE, l); + df1 = mf+cur; + df2 = df1 + 1; + df3 = df1 + 2; + df4 = df1 + 3; + mf = CustomData_get_layer_n(&dm->faceData, CD_MTFACE, l); + mf += i; + + copy_v2_v2(df1->uv[0], mf->uv[c0]); + INT_UV(df1->uv[1], c0, c1) + INT_UV(df1->uv[2], c0, c2) + INT_UV(df1->uv[3], c0, c3) + + INT_UV(df2->uv[0], c0, c1) + copy_v2_v2(df2->uv[1], mf->uv[c1]); + INT_UV(df2->uv[2], c1, c2) + INT_UV(df2->uv[3], c0, c2) + + INT_UV(df3->uv[0], c0, c2) + INT_UV(df3->uv[1], c1, c2) + copy_v2_v2(df3->uv[2], mf->uv[c2]); + INT_UV(df3->uv[3], c2, c3) + + INT_UV(df4->uv[0], c0, c3) + INT_UV(df4->uv[1], c0, c2) + INT_UV(df4->uv[2], c2, c3) + copy_v2_v2(df4->uv[3], mf->uv[c3]); + } +} + +static void remap_faces_7_11_13_14(DerivedMesh *dm, DerivedMesh *split, MFace *mf, int *facepa, int *vertpa, int i, EdgeHash *eh, int cur, int v1, int v2, int v3, int v4) +{ + MFace *df1 = get_dface(dm, split, cur, i, mf); + MFace *df2 = get_dface(dm, split, cur+1, i, mf); + MFace *df3 = get_dface(dm, split, cur+2, i, mf); + + facepa[cur] = vertpa[v1]; + df1->v1 = v1; + df1->v2 = GET_ES(v1, v2) + df1->v3 = GET_ES(v2, v3) + df1->v4 = GET_ES(v1, v4) + df1->flag |= ME_FACE_SEL; + + facepa[cur+1] = vertpa[v2]; + df2->v1 = GET_ES(v1, v2) + df2->v2 = v2; + df2->v3 = GET_ES(v2, v3) + df2->v4 = 0; + df2->flag &= ~ME_FACE_SEL; + + facepa[cur+2] = vertpa[v4]; + df3->v1 = GET_ES(v1, v4) + df3->v2 = GET_ES(v2, v3) + df3->v3 = v3; + df3->v4 = v4; + df3->flag |= ME_FACE_SEL; +} + +static void remap_uvs_7_11_13_14(DerivedMesh *dm, DerivedMesh *split, int numlayer, int i, int cur, int c0, int c1, int c2, int c3) +{ + MTFace *mf, *df1, *df2, *df3; + int l; + + for(l=0; lfaceData, CD_MTFACE, l); + df1 = mf+cur; + df2 = df1 + 1; + df3 = df1 + 2; + mf = CustomData_get_layer_n(&dm->faceData, CD_MTFACE, l); + mf += i; + + copy_v2_v2(df1->uv[0], mf->uv[c0]); + INT_UV(df1->uv[1], c0, c1) + INT_UV(df1->uv[2], c1, c2) + INT_UV(df1->uv[3], c0, c3) + + INT_UV(df2->uv[0], c0, c1) + copy_v2_v2(df2->uv[1], mf->uv[c1]); + INT_UV(df2->uv[2], c1, c2) + + INT_UV(df3->uv[0], c0, c3) + INT_UV(df3->uv[1], c1, c2) + copy_v2_v2(df3->uv[2], mf->uv[c2]); + copy_v2_v2(df3->uv[3], mf->uv[c3]); + } +} + +static void remap_faces_19_21_22(DerivedMesh *dm, DerivedMesh *split, MFace *mf, int *facepa, int *vertpa, int i, EdgeHash *eh, int cur, int v1, int v2, int v3) +{ + MFace *df1 = get_dface(dm, split, cur, i, mf); + MFace *df2 = get_dface(dm, split, cur+1, i, mf); + + facepa[cur] = vertpa[v1]; + df1->v1 = v1; + df1->v2 = GET_ES(v1, v2) + df1->v3 = GET_ES(v1, v3) + df1->v4 = 0; + df1->flag &= ~ME_FACE_SEL; + + facepa[cur+1] = vertpa[v2]; + df2->v1 = GET_ES(v1, v2) + df2->v2 = v2; + df2->v3 = v3; + df2->v4 = GET_ES(v1, v3) + df2->flag |= ME_FACE_SEL; +} + +static void remap_uvs_19_21_22(DerivedMesh *dm, DerivedMesh *split, int numlayer, int i, int cur, int c0, int c1, int c2) +{ + MTFace *mf, *df1, *df2; + int l; + + for(l=0; lfaceData, CD_MTFACE, l); + df1 = mf+cur; + df2 = df1 + 1; + mf = CustomData_get_layer_n(&dm->faceData, CD_MTFACE, l); + mf += i; + + copy_v2_v2(df1->uv[0], mf->uv[c0]); + INT_UV(df1->uv[1], c0, c1) + INT_UV(df1->uv[2], c0, c2) + + INT_UV(df2->uv[0], c0, c1) + copy_v2_v2(df2->uv[1], mf->uv[c1]); + copy_v2_v2(df2->uv[2], mf->uv[c2]); + INT_UV(df2->uv[3], c0, c2) + } +} + +static void remap_faces_23(DerivedMesh *dm, DerivedMesh *split, MFace *mf, int *facepa, int *vertpa, int i, EdgeHash *eh, int cur, int v1, int v2, int v3) +{ + MFace *df1 = get_dface(dm, split, cur, i, mf); + MFace *df2 = get_dface(dm, split, cur+1, i, mf); + MFace *df3 = get_dface(dm, split, cur+2, i, mf); + + facepa[cur] = vertpa[v1]; + df1->v1 = v1; + df1->v2 = GET_ES(v1, v2) + df1->v3 = GET_ES(v2, v3) + df1->v4 = GET_ES(v1, v3) + df1->flag |= ME_FACE_SEL; + + facepa[cur+1] = vertpa[v2]; + df2->v1 = GET_ES(v1, v2) + df2->v2 = v2; + df2->v3 = GET_ES(v2, v3) + df2->v4 = 0; + df2->flag &= ~ME_FACE_SEL; + + facepa[cur+2] = vertpa[v3]; + df3->v1 = GET_ES(v1, v3) + df3->v2 = GET_ES(v2, v3) + df3->v3 = v3; + df3->v4 = 0; + df3->flag &= ~ME_FACE_SEL; +} + +static void remap_uvs_23(DerivedMesh *dm, DerivedMesh *split, int numlayer, int i, int cur, int c0, int c1, int c2) +{ + MTFace *mf, *df1, *df2, *df3; + int l; + + for(l=0; lfaceData, CD_MTFACE, l); + df1 = mf+cur; + df2 = df1 + 1; + df3 = df1 + 2; + mf = CustomData_get_layer_n(&dm->faceData, CD_MTFACE, l); + mf += i; + + copy_v2_v2(df1->uv[0], mf->uv[c0]); + INT_UV(df1->uv[1], c0, c1) + INT_UV(df1->uv[2], c1, c2) + INT_UV(df1->uv[3], c0, c2) + + INT_UV(df2->uv[0], c0, c1) + copy_v2_v2(df2->uv[1], mf->uv[c1]); + INT_UV(df2->uv[2], c1, c2) + + INT_UV(df2->uv[0], c0, c2) + INT_UV(df2->uv[1], c1, c2) + copy_v2_v2(df2->uv[2], mf->uv[c2]); + } +} + +static DerivedMesh * cutEdges(ExplodeModifierData *emd, DerivedMesh *dm){ DerivedMesh *splitdm; - MFace *mf=0,*df1=0,*df2=0,*df3=0; + MFace *mf=NULL,*df1=NULL,*df2=NULL,*df3=NULL,*df4=NULL; MFace *mface=dm->getFaceArray(dm); + MTFace *mtf = NULL, *dtf1=NULL, *dtf2=NULL, *dtf3=NULL, *dtf4=NULL; MVert *dupve, *mv; EdgeHash *edgehash; EdgeHashIterator *ehi; @@ -199,7 +554,8 @@ static DerivedMesh * splitEdges(ExplodeModifierData *emd, DerivedMesh *dm){ int *vertpa = MEM_callocN(sizeof(int)*totvert,"explode_vertpa2"); int *facepa = emd->facepa; int *fs, totesplit=0,totfsplit=0,totin=0,curdupface=0,curdupin=0; - int i,j,v1,v2,v3,v4,esplit; + int i,j,v1,v2,v3,v4,esplit, v[4], uv[4]; + int numlayer; edgehash= BLI_edgehash_new(); @@ -214,52 +570,48 @@ static DerivedMesh * splitEdges(ExplodeModifierData *emd, DerivedMesh *dm){ /* mark edges for splitting and how to split faces */ for (i=0,mf=mface,fs=facesplit; iv4){ - v1=vertpa[mf->v1]; - v2=vertpa[mf->v2]; - v3=vertpa[mf->v3]; - v4=vertpa[mf->v4]; + v1=vertpa[mf->v1]; + v2=vertpa[mf->v2]; + v3=vertpa[mf->v3]; - if(v1!=v2){ - BLI_edgehash_insert(edgehash, mf->v1, mf->v2, NULL); - (*fs)++; - } + if(v1!=v2){ + BLI_edgehash_insert(edgehash, mf->v1, mf->v2, NULL); + (*fs) |= 1; + } - if(v2!=v3){ - BLI_edgehash_insert(edgehash, mf->v2, mf->v3, NULL); - (*fs)++; - } + if(v2!=v3){ + BLI_edgehash_insert(edgehash, mf->v2, mf->v3, NULL); + (*fs) |= 2; + } + + if(mf->v4){ + v4=vertpa[mf->v4]; if(v3!=v4){ BLI_edgehash_insert(edgehash, mf->v3, mf->v4, NULL); - (*fs)++; + (*fs) |= 4; } if(v1!=v4){ BLI_edgehash_insert(edgehash, mf->v1, mf->v4, NULL); - (*fs)++; + (*fs) |= 8; } - if(*fs==2){ - if((v1==v2 && v3==v4) || (v1==v4 && v2==v3)) - *fs=1; - else if(v1!=v2){ - if(v1!=v4) - BLI_edgehash_insert(edgehash, mf->v2, mf->v3, NULL); - else - BLI_edgehash_insert(edgehash, mf->v3, mf->v4, NULL); - } - else{ - if(v1!=v4) - BLI_edgehash_insert(edgehash, mf->v1, mf->v2, NULL); - else - BLI_edgehash_insert(edgehash, mf->v1, mf->v4, NULL); - } + /* mark center vertex as a fake edge split */ + if(*fs == 15) + BLI_edgehash_insert(edgehash, mf->v1, mf->v3, NULL); + } + else { + (*fs) |= 16; /* mark face as tri */ + + if(v1!=v3){ + BLI_edgehash_insert(edgehash, mf->v1, mf->v3, NULL); + (*fs) |= 4; } } } - /* count splits & reindex */ + /* count splits & create indexes for new verts */ ehi= BLI_edgehashIterator_new(edgehash); totesplit=totvert; for(; !BLI_edgehashIterator_isDone(ehi); BLI_edgehashIterator_step(ehi)) { @@ -269,24 +621,11 @@ static DerivedMesh * splitEdges(ExplodeModifierData *emd, DerivedMesh *dm){ BLI_edgehashIterator_free(ehi); /* count new faces due to splitting */ - for(i=0,fs=facesplit; igetFaceData(dm,i,CD_MFACE);//CDDM_get_face(dm,i); - - if(vertpa[mf->v1]!=vertpa[mf->v2] && vertpa[mf->v2]!=vertpa[mf->v3]) - totin++; - } - } + for(i=0,fs=facesplit; igetNumEdges(dm),totface+totfsplit); + splitdm= CDDM_from_template(dm, totesplit, 0, totface+totfsplit); + numlayer = CustomData_number_of_layers(&splitdm->faceData, CD_MTFACE); /* copy new faces & verts (is it really this painful with custom data??) */ for(i=0; igetFace(dm, i, &source); - dest = CDDM_get_face(splitdm, i); - - DM_copy_face_data(dm, splitdm, i, i, 1); - *dest = source; - } /* override original facepa (original pointer is saved in caller function) */ facepa= MEM_callocN(sizeof(int)*(totface+totfsplit),"explode_facepa"); - memcpy(facepa,emd->facepa,totface*sizeof(int)); + //memcpy(facepa,emd->facepa,totface*sizeof(int)); emd->facepa=facepa; /* create new verts */ @@ -333,320 +663,101 @@ static DerivedMesh * splitEdges(ExplodeModifierData *emd, DerivedMesh *dm){ BLI_edgehashIterator_free(ehi); /* create new faces */ - curdupface=totface; - curdupin=totesplit; + curdupface=0;//=totface; + //curdupin=totesplit; for(i=0,fs=facesplit; iv1]; - v2=vertpa[mf->v2]; - v3=vertpa[mf->v3]; - v4=vertpa[mf->v4]; - /* ouch! creating new faces & remapping them to new verts is no fun */ - if(*fs==1){ - df1=CDDM_get_face(splitdm,curdupface); - DM_copy_face_data(splitdm,splitdm,i,curdupface,1); - *df1=*mf; - curdupface++; - - if(v1==v2){ - df1->v1=edgesplit_get(edgehash, mf->v1, mf->v4); - df1->v2=edgesplit_get(edgehash, mf->v2, mf->v3); - mf->v3=df1->v2; - mf->v4=df1->v1; - } - else{ - df1->v1=edgesplit_get(edgehash, mf->v1, mf->v2); - df1->v4=edgesplit_get(edgehash, mf->v3, mf->v4); - mf->v2=df1->v1; - mf->v3=df1->v4; - } - - facepa[i]=v1; - facepa[curdupface-1]=v3; - - test_index_face(df1, &splitdm->faceData, curdupface, (df1->v4 ? 4 : 3)); - } - if(*fs==2){ - df1=CDDM_get_face(splitdm,curdupface); - DM_copy_face_data(splitdm,splitdm,i,curdupface,1); - *df1=*mf; - curdupface++; - - df2=CDDM_get_face(splitdm,curdupface); - DM_copy_face_data(splitdm,splitdm,i,curdupface,1); - *df2=*mf; - curdupface++; - - if(v1!=v2){ - if(v1!=v4){ - df1->v1=edgesplit_get(edgehash, mf->v1, mf->v4); - df1->v2=edgesplit_get(edgehash, mf->v1, mf->v2); - df2->v1=df1->v3=mf->v2; - df2->v3=df1->v4=mf->v4; - df2->v2=mf->v3; - - mf->v2=df1->v2; - mf->v3=df1->v1; - - df2->v4=mf->v4=0; - - facepa[i]=v1; - } - else{ - df1->v2=edgesplit_get(edgehash, mf->v1, mf->v2); - df1->v3=edgesplit_get(edgehash, mf->v2, mf->v3); - df1->v4=mf->v3; - df2->v2=mf->v3; - df2->v3=mf->v4; - - mf->v1=df1->v2; - mf->v3=df1->v3; - - df2->v4=mf->v4=0; - - facepa[i]=v2; - } - facepa[curdupface-1]=facepa[curdupface-2]=v3; - } - else{ - if(v1!=v4){ - df1->v3=edgesplit_get(edgehash, mf->v3, mf->v4); - df1->v4=edgesplit_get(edgehash, mf->v1, mf->v4); - df1->v2=mf->v3; - - mf->v1=df1->v4; - mf->v2=df1->v3; - mf->v3=mf->v4; - - df2->v4=mf->v4=0; - - facepa[i]=v4; - } - else{ - df1->v3=edgesplit_get(edgehash, mf->v2, mf->v3); - df1->v4=edgesplit_get(edgehash, mf->v3, mf->v4); - df1->v1=mf->v4; - df1->v2=mf->v2; - df2->v3=mf->v4; - - mf->v1=df1->v4; - mf->v2=df1->v3; - - df2->v4=mf->v4=0; - - facepa[i]=v3; - } - - facepa[curdupface-1]=facepa[curdupface-2]=v1; - } - - test_index_face(df1, &splitdm->faceData, curdupface-2, (df1->v4 ? 4 : 3)); - test_index_face(df1, &splitdm->faceData, curdupface-1, (df1->v4 ? 4 : 3)); - } - else if(*fs==3){ - df1=CDDM_get_face(splitdm,curdupface); - DM_copy_face_data(splitdm,splitdm,i,curdupface,1); - *df1=*mf; - curdupface++; - - df2=CDDM_get_face(splitdm,curdupface); - DM_copy_face_data(splitdm,splitdm,i,curdupface,1); - *df2=*mf; - curdupface++; - - df3=CDDM_get_face(splitdm,curdupface); - DM_copy_face_data(splitdm,splitdm,i,curdupface,1); - *df3=*mf; - curdupface++; - - if(v1==v2){ - df2->v1=df1->v1=edgesplit_get(edgehash, mf->v1, mf->v4); - df3->v1=df1->v2=edgesplit_get(edgehash, mf->v2, mf->v3); - df3->v3=df2->v2=df1->v3=edgesplit_get(edgehash, mf->v3, mf->v4); - df3->v2=mf->v3; - df2->v3=mf->v4; - df1->v4=df2->v4=df3->v4=0; - - mf->v3=df1->v2; - mf->v4=df1->v1; - - facepa[i]=facepa[curdupface-3]=v1; - facepa[curdupface-1]=v3; - facepa[curdupface-2]=v4; - } - else if(v2==v3){ - df3->v1=df2->v3=df1->v1=edgesplit_get(edgehash, mf->v1, mf->v4); - df2->v2=df1->v2=edgesplit_get(edgehash, mf->v1, mf->v2); - df3->v2=df1->v3=edgesplit_get(edgehash, mf->v3, mf->v4); - - df3->v3=mf->v4; - df2->v1=mf->v1; - df1->v4=df2->v4=df3->v4=0; - - mf->v1=df1->v2; - mf->v4=df1->v3; - - facepa[i]=facepa[curdupface-3]=v2; - facepa[curdupface-1]=v4; - facepa[curdupface-2]=v1; - } - else if(v3==v4){ - df3->v2=df2->v1=df1->v1=edgesplit_get(edgehash, mf->v1, mf->v2); - df2->v3=df1->v2=edgesplit_get(edgehash, mf->v2, mf->v3); - df3->v3=df1->v3=edgesplit_get(edgehash, mf->v1, mf->v4); - - df3->v1=mf->v1; - df2->v2=mf->v2; - df1->v4=df2->v4=df3->v4=0; - - mf->v1=df1->v3; - mf->v2=df1->v2; - - facepa[i]=facepa[curdupface-3]=v3; - facepa[curdupface-1]=v1; - facepa[curdupface-2]=v2; - } - else{ - df3->v1=df1->v1=edgesplit_get(edgehash, mf->v1, mf->v2); - df3->v3=df2->v1=df1->v2=edgesplit_get(edgehash, mf->v2, mf->v3); - df2->v3=df1->v3=edgesplit_get(edgehash, mf->v3, mf->v4); - - df3->v2=mf->v2; - df2->v2=mf->v3; - df1->v4=df2->v4=df3->v4=0; - - mf->v2=df1->v1; - mf->v3=df1->v3; - - facepa[i]=facepa[curdupface-3]=v1; - facepa[curdupface-1]=v2; - facepa[curdupface-2]=v3; - } - - test_index_face(df1, &splitdm->faceData, curdupface-3, (df1->v4 ? 4 : 3)); - test_index_face(df1, &splitdm->faceData, curdupface-2, (df1->v4 ? 4 : 3)); - test_index_face(df1, &splitdm->faceData, curdupface-1, (df1->v4 ? 4 : 3)); - } - else if(*fs==4){ - if(v1!=v2 && v2!=v3){ - - /* set new vert to face center */ - mv=CDDM_get_vert(splitdm,mf->v1); - dupve=CDDM_get_vert(splitdm,curdupin); - DM_copy_vert_data(splitdm,splitdm,mf->v1,curdupin,1); - *dupve=*mv; - - mv=CDDM_get_vert(splitdm,mf->v2); - VECADD(dupve->co,dupve->co,mv->co); - mv=CDDM_get_vert(splitdm,mf->v3); - VECADD(dupve->co,dupve->co,mv->co); - mv=CDDM_get_vert(splitdm,mf->v4); - VECADD(dupve->co,dupve->co,mv->co); - mul_v3_fl(dupve->co,0.25); - - - df1=CDDM_get_face(splitdm,curdupface); - DM_copy_face_data(splitdm,splitdm,i,curdupface,1); - *df1=*mf; - curdupface++; - - df2=CDDM_get_face(splitdm,curdupface); - DM_copy_face_data(splitdm,splitdm,i,curdupface,1); - *df2=*mf; - curdupface++; - - df3=CDDM_get_face(splitdm,curdupface); - DM_copy_face_data(splitdm,splitdm,i,curdupface,1); - *df3=*mf; - curdupface++; - - df1->v1=edgesplit_get(edgehash, mf->v1, mf->v2); - df3->v2=df1->v3=edgesplit_get(edgehash, mf->v2, mf->v3); - - df2->v1=edgesplit_get(edgehash, mf->v1, mf->v4); - df3->v4=df2->v3=edgesplit_get(edgehash, mf->v3, mf->v4); - - df3->v1=df2->v2=df1->v4=curdupin; - - mf->v2=df1->v1; - mf->v3=curdupin; - mf->v4=df2->v1; - - curdupin++; - - facepa[i]=v1; - facepa[curdupface-3]=v2; - facepa[curdupface-2]=v3; - facepa[curdupface-1]=v4; - - test_index_face(df1, &splitdm->faceData, curdupface-3, (df1->v4 ? 4 : 3)); - - test_index_face(df1, &splitdm->faceData, curdupface-2, (df1->v4 ? 4 : 3)); - test_index_face(df1, &splitdm->faceData, curdupface-1, (df1->v4 ? 4 : 3)); - } - else{ - df1=CDDM_get_face(splitdm,curdupface); - DM_copy_face_data(splitdm,splitdm,i,curdupface,1); - *df1=*mf; - curdupface++; - - df2=CDDM_get_face(splitdm,curdupface); - DM_copy_face_data(splitdm,splitdm,i,curdupface,1); - *df2=*mf; - curdupface++; - - df3=CDDM_get_face(splitdm,curdupface); - DM_copy_face_data(splitdm,splitdm,i,curdupface,1); - *df3=*mf; - curdupface++; - - if(v2==v3){ - df1->v1=edgesplit_get(edgehash, mf->v1, mf->v2); - df3->v1=df1->v2=df1->v3=edgesplit_get(edgehash, mf->v2, mf->v3); - df2->v1=df1->v4=edgesplit_get(edgehash, mf->v1, mf->v4); - - df3->v3=df2->v3=edgesplit_get(edgehash, mf->v3, mf->v4); - - df3->v2=mf->v3; - df3->v4=0; - - mf->v2=df1->v1; - mf->v3=df1->v4; - mf->v4=0; - - facepa[i]=v1; - facepa[curdupface-3]=facepa[curdupface-2]=v2; - facepa[curdupface-1]=v3; - } - else{ - df3->v1=df2->v1=df1->v2=edgesplit_get(edgehash, mf->v1, mf->v2); - df2->v4=df1->v3=edgesplit_get(edgehash, mf->v3, mf->v4); - df1->v4=edgesplit_get(edgehash, mf->v1, mf->v4); - - df3->v3=df2->v2=edgesplit_get(edgehash, mf->v2, mf->v3); - - df3->v4=0; - - mf->v1=df1->v4; - mf->v2=df1->v3; - mf->v3=mf->v4; - mf->v4=0; - - facepa[i]=v4; - facepa[curdupface-3]=facepa[curdupface-2]=v1; - facepa[curdupface-1]=v2; - } - - test_index_face(df1, &splitdm->faceData, curdupface-3, (df1->v4 ? 4 : 3)); - test_index_face(df1, &splitdm->faceData, curdupface-2, (df1->v4 ? 4 : 3)); - test_index_face(df1, &splitdm->faceData, curdupface-1, (df1->v4 ? 4 : 3)); - } - } + mf = dm->getFaceData(dm, i, CD_MFACE); + + switch(*fs) { + case 3: + case 10: + case 11: + case 15: + SET_VERTS(1, 2, 3, 4) + break; + case 5: + case 6: + case 7: + SET_VERTS(2, 3, 4, 1) + break; + case 9: + case 13: + SET_VERTS(4, 1, 2, 3) + break; + case 12: + case 14: + SET_VERTS(3, 4, 1, 2) + break; + case 21: + case 23: + SET_VERTS(1, 2, 3, 4) + break; + case 19: + SET_VERTS(2, 3, 1, 4) + break; + case 22: + SET_VERTS(3, 1, 2, 4) + break; + } - test_index_face(df1, &splitdm->faceData, i, (df1->v4 ? 4 : 3)); + switch(*fs) { + case 3: + case 6: + case 9: + case 12: + remap_faces_3_6_9_12(dm, splitdm, mf, facepa, vertpa, i, edgehash, curdupface, v[0], v[1], v[2], v[3]); + if(numlayer) + remap_uvs_3_6_9_12(dm, splitdm, numlayer, i, curdupface, uv[0], uv[1], uv[2], uv[3]); + break; + case 5: + case 10: + remap_faces_5_10(dm, splitdm, mf, facepa, vertpa, i, edgehash, curdupface, v[0], v[1], v[2], v[3]); + if(numlayer) + remap_uvs_5_10(dm, splitdm, numlayer, i, curdupface, uv[0], uv[1], uv[2], uv[3]); + break; + case 15: + remap_faces_15(dm, splitdm, mf, facepa, vertpa, i, edgehash, curdupface, v[0], v[1], v[2], v[3]); + if(numlayer) + remap_uvs_15(dm, splitdm, numlayer, i, curdupface, uv[0], uv[1], uv[2], uv[3]); + break; + case 7: + case 11: + case 13: + case 14: + remap_faces_7_11_13_14(dm, splitdm, mf, facepa, vertpa, i, edgehash, curdupface, v[0], v[1], v[2], v[3]); + if(numlayer) + remap_uvs_7_11_13_14(dm, splitdm, numlayer, i, curdupface, uv[0], uv[1], uv[2], uv[3]); + break; + case 19: + case 21: + case 22: + remap_faces_19_21_22(dm, splitdm, mf, facepa, vertpa, i, edgehash, curdupface, v[0], v[1], v[2]); + if(numlayer) + remap_uvs_19_21_22(dm, splitdm, numlayer, i, curdupface, uv[0], uv[1], uv[2]); + break; + case 23: + remap_faces_23(dm, splitdm, mf, facepa, vertpa, i, edgehash, curdupface, v[0], v[1], v[2]); + if(numlayer) + remap_uvs_23(dm, splitdm, numlayer, i, curdupface, uv[0], uv[1], uv[2]); + break; + case 0: + case 16: + df1 = get_dface(dm, splitdm, curdupface, i, mf); + facepa[curdupface] = vertpa[mf->v1]; + + if(df1->v4) + df1->flag |= ME_FACE_SEL; + else + df1->flag &= ~ME_FACE_SEL; + break; } + + curdupface += add_faces[*fs]+1; + } + + for(i=0; ifaceData, i, (mf->flag & ME_FACE_SEL ? 4 : 3)); } BLI_edgehash_free(edgehash, NULL); @@ -675,6 +786,7 @@ static DerivedMesh * explodeMesh(ExplodeModifierData *emd, int *facepa=emd->facepa; int totdup=0,totvert=0,totface=0,totpart=0; int i, j, v, mindex=0; + MTFace *mtface = NULL, *mtf; totface= dm->getNumFaces(dm); totvert= dm->getNumVerts(dm); @@ -724,6 +836,7 @@ static DerivedMesh * explodeMesh(ExplodeModifierData *emd, /* the final duplicated vertices */ explode= CDDM_from_template(dm, totdup, 0,totface); + mtface = CustomData_get_layer_named(&explode->faceData, CD_MTFACE, emd->uvname); /*dupvert= CDDM_get_verts(explode);*/ /* getting back to object space */ @@ -800,16 +913,28 @@ static DerivedMesh * explodeMesh(ExplodeModifierData *emd, else mindex = totvert+facepa[i]; - source.v1 = edgesplit_get(vertpahash, source.v1, mindex); - source.v2 = edgesplit_get(vertpahash, source.v2, mindex); - source.v3 = edgesplit_get(vertpahash, source.v3, mindex); + source.v1 = edgecut_get(vertpahash, source.v1, mindex); + source.v2 = edgecut_get(vertpahash, source.v2, mindex); + source.v3 = edgecut_get(vertpahash, source.v3, mindex); if(source.v4) - source.v4 = edgesplit_get(vertpahash, source.v4, mindex); + source.v4 = edgecut_get(vertpahash, source.v4, mindex); DM_copy_face_data(dm,explode,i,i,1); *mf = source; + /* override uv channel for particle age */ + if(mtface) { + float age = (cfra - pa->time)/pa->lifetime; + /* Clamp to this range to avoid flipping to the other side of the coordinates. */ + CLAMP(age, 0.001f, 0.999f); + + mtf = mtface + i; + + mtf->uv[0][0] = mtf->uv[1][0] = mtf->uv[2][0] = mtf->uv[3][0] = age; + mtf->uv[0][1] = mtf->uv[1][1] = mtf->uv[2][1] = mtf->uv[3][1] = 0.5f; + } + test_index_face(mf, &explode->faceData, i, (orig_v4 ? 4 : 3)); } @@ -870,9 +995,9 @@ static DerivedMesh * applyModifier(ModifierData *md, Object *ob, createFacepa(emd,psmd,derivedData); } /* 2. create new mesh */ - if(emd->flag & eExplodeFlag_EdgeSplit){ + if(emd->flag & eExplodeFlag_EdgeCut){ int *facepa = emd->facepa; - DerivedMesh *splitdm=splitEdges(emd,dm); + DerivedMesh *splitdm=cutEdges(emd,dm); DerivedMesh *explode=explodeMesh(emd, psmd, md->scene, ob, splitdm); MEM_freeN(emd->facepa); -- cgit v1.2.3 From b357033f5e7b0c39586f53512f47a3df23ba914e Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Thu, 24 Feb 2011 05:41:03 +0000 Subject: remove unused vars. --- source/blender/modifiers/intern/MOD_explode.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'source/blender/modifiers/intern') diff --git a/source/blender/modifiers/intern/MOD_explode.c b/source/blender/modifiers/intern/MOD_explode.c index a0a658031f0..b29f0ecc39f 100644 --- a/source/blender/modifiers/intern/MOD_explode.c +++ b/source/blender/modifiers/intern/MOD_explode.c @@ -541,9 +541,8 @@ static void remap_uvs_23(DerivedMesh *dm, DerivedMesh *split, int numlayer, int static DerivedMesh * cutEdges(ExplodeModifierData *emd, DerivedMesh *dm){ DerivedMesh *splitdm; - MFace *mf=NULL,*df1=NULL,*df2=NULL,*df3=NULL,*df4=NULL; + MFace *mf=NULL,*df1=NULL; MFace *mface=dm->getFaceArray(dm); - MTFace *mtf = NULL, *dtf1=NULL, *dtf2=NULL, *dtf3=NULL, *dtf4=NULL; MVert *dupve, *mv; EdgeHash *edgehash; EdgeHashIterator *ehi; @@ -553,7 +552,7 @@ static DerivedMesh * cutEdges(ExplodeModifierData *emd, DerivedMesh *dm){ int *facesplit = MEM_callocN(sizeof(int)*totface,"explode_facesplit"); int *vertpa = MEM_callocN(sizeof(int)*totvert,"explode_vertpa2"); int *facepa = emd->facepa; - int *fs, totesplit=0,totfsplit=0,totin=0,curdupface=0,curdupin=0; + int *fs, totesplit=0,totfsplit=0,curdupface=0; int i,j,v1,v2,v3,v4,esplit, v[4], uv[4]; int numlayer; -- cgit v1.2.3 From caa7bea1c591277556b5cf3a076e90f1804a84f6 Mon Sep 17 00:00:00 2001 From: Nathan Letwory Date: Fri, 25 Feb 2011 13:57:17 +0000 Subject: doxygendoxygen: blender/modifiers tagged. --- source/blender/modifiers/intern/MOD_armature.c | 5 +++++ source/blender/modifiers/intern/MOD_array.c | 5 +++++ source/blender/modifiers/intern/MOD_bevel.c | 5 +++++ source/blender/modifiers/intern/MOD_boolean.c | 5 +++++ source/blender/modifiers/intern/MOD_boolean_util.c | 5 +++++ source/blender/modifiers/intern/MOD_boolean_util.h | 5 +++++ source/blender/modifiers/intern/MOD_build.c | 5 +++++ source/blender/modifiers/intern/MOD_cast.c | 5 +++++ source/blender/modifiers/intern/MOD_cloth.c | 5 +++++ source/blender/modifiers/intern/MOD_collision.c | 5 +++++ source/blender/modifiers/intern/MOD_curve.c | 5 +++++ source/blender/modifiers/intern/MOD_decimate.c | 5 +++++ source/blender/modifiers/intern/MOD_displace.c | 5 +++++ source/blender/modifiers/intern/MOD_edgesplit.c | 5 +++++ source/blender/modifiers/intern/MOD_explode.c | 5 +++++ source/blender/modifiers/intern/MOD_fluidsim.c | 5 +++++ source/blender/modifiers/intern/MOD_fluidsim_util.c | 5 +++++ source/blender/modifiers/intern/MOD_fluidsim_util.h | 5 +++++ source/blender/modifiers/intern/MOD_hook.c | 5 +++++ source/blender/modifiers/intern/MOD_lattice.c | 5 +++++ source/blender/modifiers/intern/MOD_mask.c | 5 +++++ source/blender/modifiers/intern/MOD_meshdeform.c | 5 +++++ source/blender/modifiers/intern/MOD_mirror.c | 5 +++++ source/blender/modifiers/intern/MOD_multires.c | 5 +++++ source/blender/modifiers/intern/MOD_none.c | 5 +++++ source/blender/modifiers/intern/MOD_particleinstance.c | 5 +++++ source/blender/modifiers/intern/MOD_particlesystem.c | 5 +++++ source/blender/modifiers/intern/MOD_screw.c | 5 +++++ source/blender/modifiers/intern/MOD_shapekey.c | 5 +++++ source/blender/modifiers/intern/MOD_shrinkwrap.c | 5 +++++ source/blender/modifiers/intern/MOD_simpledeform.c | 5 +++++ source/blender/modifiers/intern/MOD_smoke.c | 5 +++++ source/blender/modifiers/intern/MOD_smooth.c | 5 +++++ source/blender/modifiers/intern/MOD_softbody.c | 5 +++++ source/blender/modifiers/intern/MOD_solidify.c | 5 +++++ source/blender/modifiers/intern/MOD_subsurf.c | 5 +++++ source/blender/modifiers/intern/MOD_surface.c | 5 +++++ source/blender/modifiers/intern/MOD_util.c | 5 +++++ source/blender/modifiers/intern/MOD_util.h | 5 +++++ source/blender/modifiers/intern/MOD_uvproject.c | 5 +++++ source/blender/modifiers/intern/MOD_wave.c | 5 +++++ 41 files changed, 205 insertions(+) (limited to 'source/blender/modifiers/intern') diff --git a/source/blender/modifiers/intern/MOD_armature.c b/source/blender/modifiers/intern/MOD_armature.c index ac25987871d..fa39c197c7b 100644 --- a/source/blender/modifiers/intern/MOD_armature.c +++ b/source/blender/modifiers/intern/MOD_armature.c @@ -30,6 +30,11 @@ * */ +/** \file blender/modifiers/intern/MOD_armature.c + * \ingroup modifiers + */ + + #include #include "DNA_armature_types.h" diff --git a/source/blender/modifiers/intern/MOD_array.c b/source/blender/modifiers/intern/MOD_array.c index 6c729c8519f..0a8caee5241 100644 --- a/source/blender/modifiers/intern/MOD_array.c +++ b/source/blender/modifiers/intern/MOD_array.c @@ -30,6 +30,11 @@ * */ +/** \file blender/modifiers/intern/MOD_array.c + * \ingroup modifiers + */ + + /* Array modifier: duplicates the object multiple times along an axis */ #include "MEM_guardedalloc.h" diff --git a/source/blender/modifiers/intern/MOD_bevel.c b/source/blender/modifiers/intern/MOD_bevel.c index 09e5016cb2b..a1bd3abc176 100644 --- a/source/blender/modifiers/intern/MOD_bevel.c +++ b/source/blender/modifiers/intern/MOD_bevel.c @@ -29,6 +29,11 @@ * ***** END GPL LICENSE BLOCK ***** * */ + +/** \file blender/modifiers/intern/MOD_bevel.c + * \ingroup modifiers + */ + #include "MEM_guardedalloc.h" #include "BLI_utildefines.h" diff --git a/source/blender/modifiers/intern/MOD_boolean.c b/source/blender/modifiers/intern/MOD_boolean.c index 3aa5bff5f61..d4be9d3d03a 100644 --- a/source/blender/modifiers/intern/MOD_boolean.c +++ b/source/blender/modifiers/intern/MOD_boolean.c @@ -30,6 +30,11 @@ * */ +/** \file blender/modifiers/intern/MOD_boolean.c + * \ingroup modifiers + */ + + #include "DNA_object_types.h" #include "BLI_utildefines.h" diff --git a/source/blender/modifiers/intern/MOD_boolean_util.c b/source/blender/modifiers/intern/MOD_boolean_util.c index e4526a359e4..9d83e351b2b 100644 --- a/source/blender/modifiers/intern/MOD_boolean_util.c +++ b/source/blender/modifiers/intern/MOD_boolean_util.c @@ -28,6 +28,11 @@ * CSG operations. */ +/** \file blender/modifiers/intern/MOD_boolean_util.c + * \ingroup modifiers + */ + + #include "DNA_material_types.h" #include "DNA_mesh_types.h" #include "DNA_meshdata_types.h" diff --git a/source/blender/modifiers/intern/MOD_boolean_util.h b/source/blender/modifiers/intern/MOD_boolean_util.h index 5aef8fe6bc8..2a4191de407 100644 --- a/source/blender/modifiers/intern/MOD_boolean_util.h +++ b/source/blender/modifiers/intern/MOD_boolean_util.h @@ -27,6 +27,11 @@ * ***** END GPL LICENSE BLOCK ***** */ +/** \file blender/modifiers/intern/MOD_boolean_util.h + * \ingroup modifiers + */ + + #ifndef MOD_BOOLEAN_UTILS_H #define MOD_BOOLEAN_UTILS_H diff --git a/source/blender/modifiers/intern/MOD_build.c b/source/blender/modifiers/intern/MOD_build.c index bc59c2cba0b..0d04476c618 100644 --- a/source/blender/modifiers/intern/MOD_build.c +++ b/source/blender/modifiers/intern/MOD_build.c @@ -30,6 +30,11 @@ * */ +/** \file blender/modifiers/intern/MOD_build.c + * \ingroup modifiers + */ + + #include "MEM_guardedalloc.h" #include "BLI_utildefines.h" diff --git a/source/blender/modifiers/intern/MOD_cast.c b/source/blender/modifiers/intern/MOD_cast.c index 17c2ec40b7e..68e9e173ee6 100644 --- a/source/blender/modifiers/intern/MOD_cast.c +++ b/source/blender/modifiers/intern/MOD_cast.c @@ -30,6 +30,11 @@ * */ +/** \file blender/modifiers/intern/MOD_cast.c + * \ingroup modifiers + */ + + #include "DNA_meshdata_types.h" #include "DNA_object_types.h" diff --git a/source/blender/modifiers/intern/MOD_cloth.c b/source/blender/modifiers/intern/MOD_cloth.c index bb1fc67ef8b..999349dca7f 100644 --- a/source/blender/modifiers/intern/MOD_cloth.c +++ b/source/blender/modifiers/intern/MOD_cloth.c @@ -30,6 +30,11 @@ * */ +/** \file blender/modifiers/intern/MOD_cloth.c + * \ingroup modifiers + */ + + #include "DNA_cloth_types.h" #include "DNA_scene_types.h" #include "DNA_object_types.h" diff --git a/source/blender/modifiers/intern/MOD_collision.c b/source/blender/modifiers/intern/MOD_collision.c index 106e8b3957a..e1371b3b86c 100644 --- a/source/blender/modifiers/intern/MOD_collision.c +++ b/source/blender/modifiers/intern/MOD_collision.c @@ -30,6 +30,11 @@ * */ +/** \file blender/modifiers/intern/MOD_collision.c + * \ingroup modifiers + */ + + #include "DNA_scene_types.h" #include "DNA_object_types.h" #include "DNA_meshdata_types.h" diff --git a/source/blender/modifiers/intern/MOD_curve.c b/source/blender/modifiers/intern/MOD_curve.c index d458d026c61..84fee7b5102 100644 --- a/source/blender/modifiers/intern/MOD_curve.c +++ b/source/blender/modifiers/intern/MOD_curve.c @@ -30,6 +30,11 @@ * */ +/** \file blender/modifiers/intern/MOD_curve.c + * \ingroup modifiers + */ + + #include #include "DNA_scene_types.h" diff --git a/source/blender/modifiers/intern/MOD_decimate.c b/source/blender/modifiers/intern/MOD_decimate.c index e90a6ea2ac4..64d6b72a176 100644 --- a/source/blender/modifiers/intern/MOD_decimate.c +++ b/source/blender/modifiers/intern/MOD_decimate.c @@ -30,6 +30,11 @@ * */ +/** \file blender/modifiers/intern/MOD_decimate.c + * \ingroup modifiers + */ + + #include "DNA_meshdata_types.h" #include "BLI_math.h" diff --git a/source/blender/modifiers/intern/MOD_displace.c b/source/blender/modifiers/intern/MOD_displace.c index 919814edf59..2ab6921dc8a 100644 --- a/source/blender/modifiers/intern/MOD_displace.c +++ b/source/blender/modifiers/intern/MOD_displace.c @@ -30,6 +30,11 @@ * */ +/** \file blender/modifiers/intern/MOD_displace.c + * \ingroup modifiers + */ + + #include "DNA_meshdata_types.h" #include "DNA_object_types.h" diff --git a/source/blender/modifiers/intern/MOD_edgesplit.c b/source/blender/modifiers/intern/MOD_edgesplit.c index 22b7e72adfc..05e195d9b8f 100644 --- a/source/blender/modifiers/intern/MOD_edgesplit.c +++ b/source/blender/modifiers/intern/MOD_edgesplit.c @@ -30,6 +30,11 @@ * */ +/** \file blender/modifiers/intern/MOD_edgesplit.c + * \ingroup modifiers + */ + + /* EdgeSplit modifier: Splits edges in the mesh according to sharpness flag * or edge angle (can be used to achieve autosmoothing) */ diff --git a/source/blender/modifiers/intern/MOD_explode.c b/source/blender/modifiers/intern/MOD_explode.c index b29f0ecc39f..aea6997c5d5 100644 --- a/source/blender/modifiers/intern/MOD_explode.c +++ b/source/blender/modifiers/intern/MOD_explode.c @@ -30,6 +30,11 @@ * */ +/** \file blender/modifiers/intern/MOD_explode.c + * \ingroup modifiers + */ + + #include "DNA_meshdata_types.h" #include "DNA_scene_types.h" diff --git a/source/blender/modifiers/intern/MOD_fluidsim.c b/source/blender/modifiers/intern/MOD_fluidsim.c index 9a1635e3dad..1cce9863ccc 100644 --- a/source/blender/modifiers/intern/MOD_fluidsim.c +++ b/source/blender/modifiers/intern/MOD_fluidsim.c @@ -30,6 +30,11 @@ * */ +/** \file blender/modifiers/intern/MOD_fluidsim.c + * \ingroup modifiers + */ + + #include "DNA_scene_types.h" #include "DNA_object_fluidsim.h" #include "DNA_object_types.h" diff --git a/source/blender/modifiers/intern/MOD_fluidsim_util.c b/source/blender/modifiers/intern/MOD_fluidsim_util.c index fdf3209b500..02912e38204 100644 --- a/source/blender/modifiers/intern/MOD_fluidsim_util.c +++ b/source/blender/modifiers/intern/MOD_fluidsim_util.c @@ -30,6 +30,11 @@ * */ +/** \file blender/modifiers/intern/MOD_fluidsim_util.c + * \ingroup modifiers + */ + + #include #include diff --git a/source/blender/modifiers/intern/MOD_fluidsim_util.h b/source/blender/modifiers/intern/MOD_fluidsim_util.h index 29f3a1b77ae..f8af8e6f583 100644 --- a/source/blender/modifiers/intern/MOD_fluidsim_util.h +++ b/source/blender/modifiers/intern/MOD_fluidsim_util.h @@ -27,6 +27,11 @@ * ***** END GPL LICENSE BLOCK ***** */ +/** \file blender/modifiers/intern/MOD_fluidsim_util.h + * \ingroup modifiers + */ + + #ifndef MOD_FLUIDSIM_UTIL_H #define MOD_FLUIDSIM_UTIL_H diff --git a/source/blender/modifiers/intern/MOD_hook.c b/source/blender/modifiers/intern/MOD_hook.c index 59c45eb2eec..2a85378f987 100644 --- a/source/blender/modifiers/intern/MOD_hook.c +++ b/source/blender/modifiers/intern/MOD_hook.c @@ -30,6 +30,11 @@ * */ +/** \file blender/modifiers/intern/MOD_hook.c + * \ingroup modifiers + */ + + #include "DNA_mesh_types.h" #include "DNA_meshdata_types.h" #include "DNA_object_types.h" diff --git a/source/blender/modifiers/intern/MOD_lattice.c b/source/blender/modifiers/intern/MOD_lattice.c index c5fb87c8ffc..22427d04338 100644 --- a/source/blender/modifiers/intern/MOD_lattice.c +++ b/source/blender/modifiers/intern/MOD_lattice.c @@ -30,6 +30,11 @@ * */ +/** \file blender/modifiers/intern/MOD_lattice.c + * \ingroup modifiers + */ + + #include #include "DNA_object_types.h" diff --git a/source/blender/modifiers/intern/MOD_mask.c b/source/blender/modifiers/intern/MOD_mask.c index 19d9c7c9dd8..9519e5b9131 100644 --- a/source/blender/modifiers/intern/MOD_mask.c +++ b/source/blender/modifiers/intern/MOD_mask.c @@ -30,6 +30,11 @@ * */ +/** \file blender/modifiers/intern/MOD_mask.c + * \ingroup modifiers + */ + + #include "MEM_guardedalloc.h" #include "BLI_utildefines.h" diff --git a/source/blender/modifiers/intern/MOD_meshdeform.c b/source/blender/modifiers/intern/MOD_meshdeform.c index 61e7f950e0f..a6b4a5dabcd 100644 --- a/source/blender/modifiers/intern/MOD_meshdeform.c +++ b/source/blender/modifiers/intern/MOD_meshdeform.c @@ -30,6 +30,11 @@ * */ +/** \file blender/modifiers/intern/MOD_meshdeform.c + * \ingroup modifiers + */ + + #include "DNA_meshdata_types.h" #include "DNA_object_types.h" diff --git a/source/blender/modifiers/intern/MOD_mirror.c b/source/blender/modifiers/intern/MOD_mirror.c index 007d8eb5197..cf31e86a2f5 100644 --- a/source/blender/modifiers/intern/MOD_mirror.c +++ b/source/blender/modifiers/intern/MOD_mirror.c @@ -30,6 +30,11 @@ * */ +/** \file blender/modifiers/intern/MOD_mirror.c + * \ingroup modifiers + */ + + #include "DNA_meshdata_types.h" #include "DNA_object_types.h" diff --git a/source/blender/modifiers/intern/MOD_multires.c b/source/blender/modifiers/intern/MOD_multires.c index 3b2c552bb9f..7653511da10 100644 --- a/source/blender/modifiers/intern/MOD_multires.c +++ b/source/blender/modifiers/intern/MOD_multires.c @@ -30,6 +30,11 @@ * */ +/** \file blender/modifiers/intern/MOD_multires.c + * \ingroup modifiers + */ + + #include #include "BKE_cdderivedmesh.h" diff --git a/source/blender/modifiers/intern/MOD_none.c b/source/blender/modifiers/intern/MOD_none.c index d9e25394686..bebb9b58774 100644 --- a/source/blender/modifiers/intern/MOD_none.c +++ b/source/blender/modifiers/intern/MOD_none.c @@ -34,6 +34,11 @@ * ***** END GPL LICENSE BLOCK ***** */ +/** \file blender/modifiers/intern/MOD_none.c + * \ingroup modifiers + */ + + #include "BLI_utildefines.h" diff --git a/source/blender/modifiers/intern/MOD_particleinstance.c b/source/blender/modifiers/intern/MOD_particleinstance.c index 739d7aa0e6d..1fa0ff7beed 100644 --- a/source/blender/modifiers/intern/MOD_particleinstance.c +++ b/source/blender/modifiers/intern/MOD_particleinstance.c @@ -30,6 +30,11 @@ * */ +/** \file blender/modifiers/intern/MOD_particleinstance.c + * \ingroup modifiers + */ + + #include "DNA_meshdata_types.h" #include "MEM_guardedalloc.h" diff --git a/source/blender/modifiers/intern/MOD_particlesystem.c b/source/blender/modifiers/intern/MOD_particlesystem.c index 2f3bc0c53f4..a23a53335ef 100644 --- a/source/blender/modifiers/intern/MOD_particlesystem.c +++ b/source/blender/modifiers/intern/MOD_particlesystem.c @@ -30,6 +30,11 @@ * */ +/** \file blender/modifiers/intern/MOD_particlesystem.c + * \ingroup modifiers + */ + + #include "stddef.h" #include "DNA_material_types.h" diff --git a/source/blender/modifiers/intern/MOD_screw.c b/source/blender/modifiers/intern/MOD_screw.c index 7bbb07eb658..ac48a9682a1 100644 --- a/source/blender/modifiers/intern/MOD_screw.c +++ b/source/blender/modifiers/intern/MOD_screw.c @@ -30,6 +30,11 @@ * */ +/** \file blender/modifiers/intern/MOD_screw.c + * \ingroup modifiers + */ + + /* Screw modifier: revolves the edges about an axis */ #include "DNA_meshdata_types.h" diff --git a/source/blender/modifiers/intern/MOD_shapekey.c b/source/blender/modifiers/intern/MOD_shapekey.c index a2fd83b8bcb..94d23de6573 100644 --- a/source/blender/modifiers/intern/MOD_shapekey.c +++ b/source/blender/modifiers/intern/MOD_shapekey.c @@ -30,6 +30,11 @@ * */ +/** \file blender/modifiers/intern/MOD_shapekey.c + * \ingroup modifiers + */ + + #include "BLI_math.h" #include "DNA_key_types.h" diff --git a/source/blender/modifiers/intern/MOD_shrinkwrap.c b/source/blender/modifiers/intern/MOD_shrinkwrap.c index c7f15a94bf2..cfd12833a38 100644 --- a/source/blender/modifiers/intern/MOD_shrinkwrap.c +++ b/source/blender/modifiers/intern/MOD_shrinkwrap.c @@ -30,6 +30,11 @@ * */ +/** \file blender/modifiers/intern/MOD_shrinkwrap.c + * \ingroup modifiers + */ + + #include #include "BLI_string.h" diff --git a/source/blender/modifiers/intern/MOD_simpledeform.c b/source/blender/modifiers/intern/MOD_simpledeform.c index 9add0e9a67d..0150322ae8c 100644 --- a/source/blender/modifiers/intern/MOD_simpledeform.c +++ b/source/blender/modifiers/intern/MOD_simpledeform.c @@ -30,6 +30,11 @@ * */ +/** \file blender/modifiers/intern/MOD_simpledeform.c + * \ingroup modifiers + */ + + #include "DNA_meshdata_types.h" #include "DNA_object_types.h" diff --git a/source/blender/modifiers/intern/MOD_smoke.c b/source/blender/modifiers/intern/MOD_smoke.c index 0227d2008e5..46f0483dbff 100644 --- a/source/blender/modifiers/intern/MOD_smoke.c +++ b/source/blender/modifiers/intern/MOD_smoke.c @@ -30,6 +30,11 @@ * */ +/** \file blender/modifiers/intern/MOD_smoke.c + * \ingroup modifiers + */ + + #include "stddef.h" #include "MEM_guardedalloc.h" diff --git a/source/blender/modifiers/intern/MOD_smooth.c b/source/blender/modifiers/intern/MOD_smooth.c index 7761995a419..526b54d1cf8 100644 --- a/source/blender/modifiers/intern/MOD_smooth.c +++ b/source/blender/modifiers/intern/MOD_smooth.c @@ -30,6 +30,11 @@ * */ +/** \file blender/modifiers/intern/MOD_smooth.c + * \ingroup modifiers + */ + + #include "DNA_meshdata_types.h" #include "BLI_math.h" diff --git a/source/blender/modifiers/intern/MOD_softbody.c b/source/blender/modifiers/intern/MOD_softbody.c index 7322628267c..0abf2fa6281 100644 --- a/source/blender/modifiers/intern/MOD_softbody.c +++ b/source/blender/modifiers/intern/MOD_softbody.c @@ -30,6 +30,11 @@ * */ +/** \file blender/modifiers/intern/MOD_softbody.c + * \ingroup modifiers + */ + + #include "DNA_scene_types.h" #include "BLI_utildefines.h" diff --git a/source/blender/modifiers/intern/MOD_solidify.c b/source/blender/modifiers/intern/MOD_solidify.c index edf149c1580..14a07b62a91 100644 --- a/source/blender/modifiers/intern/MOD_solidify.c +++ b/source/blender/modifiers/intern/MOD_solidify.c @@ -30,6 +30,11 @@ * */ +/** \file blender/modifiers/intern/MOD_solidify.c + * \ingroup modifiers + */ + + #include "DNA_meshdata_types.h" #include "BLI_math.h" diff --git a/source/blender/modifiers/intern/MOD_subsurf.c b/source/blender/modifiers/intern/MOD_subsurf.c index 4ba139305d8..823cc03cff2 100644 --- a/source/blender/modifiers/intern/MOD_subsurf.c +++ b/source/blender/modifiers/intern/MOD_subsurf.c @@ -30,6 +30,11 @@ * */ +/** \file blender/modifiers/intern/MOD_subsurf.c + * \ingroup modifiers + */ + + #include "stddef.h" #include "DNA_scene_types.h" diff --git a/source/blender/modifiers/intern/MOD_surface.c b/source/blender/modifiers/intern/MOD_surface.c index b5d25d8e146..e0bdb063331 100644 --- a/source/blender/modifiers/intern/MOD_surface.c +++ b/source/blender/modifiers/intern/MOD_surface.c @@ -30,6 +30,11 @@ * */ +/** \file blender/modifiers/intern/MOD_surface.c + * \ingroup modifiers + */ + + #include "DNA_scene_types.h" #include "DNA_object_types.h" #include "DNA_meshdata_types.h" diff --git a/source/blender/modifiers/intern/MOD_util.c b/source/blender/modifiers/intern/MOD_util.c index 2cc9c6601c7..8c94e6f65bc 100644 --- a/source/blender/modifiers/intern/MOD_util.c +++ b/source/blender/modifiers/intern/MOD_util.c @@ -30,6 +30,11 @@ * ***** END GPL LICENSE BLOCK ***** */ +/** \file blender/modifiers/intern/MOD_util.c + * \ingroup modifiers + */ + + #include #include "DNA_modifier_types.h" diff --git a/source/blender/modifiers/intern/MOD_util.h b/source/blender/modifiers/intern/MOD_util.h index b48a3a56092..a42151904e9 100644 --- a/source/blender/modifiers/intern/MOD_util.h +++ b/source/blender/modifiers/intern/MOD_util.h @@ -25,6 +25,11 @@ * ***** END GPL LICENSE BLOCK ***** */ +/** \file blender/modifiers/intern/MOD_util.h + * \ingroup modifiers + */ + + #ifndef MOD_UTIL_H #define MOD_UTIL_H diff --git a/source/blender/modifiers/intern/MOD_uvproject.c b/source/blender/modifiers/intern/MOD_uvproject.c index 8eaf0d5fbcb..1a572984fe3 100644 --- a/source/blender/modifiers/intern/MOD_uvproject.c +++ b/source/blender/modifiers/intern/MOD_uvproject.c @@ -30,6 +30,11 @@ * */ +/** \file blender/modifiers/intern/MOD_uvproject.c + * \ingroup modifiers + */ + + /* UV Project modifier: Generates UVs projected from an object */ #include "DNA_meshdata_types.h" diff --git a/source/blender/modifiers/intern/MOD_wave.c b/source/blender/modifiers/intern/MOD_wave.c index dae9fc471cd..575c454c980 100644 --- a/source/blender/modifiers/intern/MOD_wave.c +++ b/source/blender/modifiers/intern/MOD_wave.c @@ -30,6 +30,11 @@ * */ +/** \file blender/modifiers/intern/MOD_wave.c + * \ingroup modifiers + */ + + #include "BLI_math.h" #include "DNA_meshdata_types.h" -- cgit v1.2.3