Commit: d1b25a08d7a15f6b6b734507ca52c03177af164d
Author: Luca Rood
Date:   Fri Jan 6 21:24:54 2017 -0200
Branches: cloth-improvements
https://developer.blender.org/rBd1b25a08d7a15f6b6b734507ca52c03177af164d

UI Cleanup: Remove cloth pin flag

===================================================================

M       release/scripts/startup/bl_ui/properties_physics_cloth.py
M       source/blender/blenkernel/BKE_cloth.h
M       source/blender/blenkernel/intern/cloth.c
M       source/blender/blenkernel/intern/collision.c
M       source/blender/blenkernel/intern/particle_system.c
M       source/blender/makesrna/intern/rna_cloth.c
M       source/blender/makesrna/intern/rna_particle.c
M       source/blender/physics/intern/BPH_mass_spring.cpp

===================================================================

diff --git a/release/scripts/startup/bl_ui/properties_physics_cloth.py 
b/release/scripts/startup/bl_ui/properties_physics_cloth.py
index 0254db8e94..8eae32755b 100644
--- a/release/scripts/startup/bl_ui/properties_physics_cloth.py
+++ b/release/scripts/startup/bl_ui/properties_physics_cloth.py
@@ -152,11 +152,9 @@ class PHYSICS_PT_cloth(PhysicButtonsPanel, Panel):
 
         col = split.column()
 
-        col.prop(cloth, "use_pin_cloth", text="Pinning:")
-        sub = col.column()
-        sub.active = cloth.use_pin_cloth
-        sub.prop_search(cloth, "vertex_group_mass", ob, "vertex_groups", 
text="")
-        sub.prop(cloth, "pin_stiffness", text="Stiffness")
+        col.label("Pinning:")
+        col.prop_search(cloth, "vertex_group_mass", ob, "vertex_groups", 
text="")
+        col.prop(cloth, "pin_stiffness", text="Stiffness")
 
         # Disabled for now
         """
diff --git a/source/blender/blenkernel/BKE_cloth.h 
b/source/blender/blenkernel/BKE_cloth.h
index b9507a7f18..6a1a415af4 100644
--- a/source/blender/blenkernel/BKE_cloth.h
+++ b/source/blender/blenkernel/BKE_cloth.h
@@ -168,7 +168,6 @@ typedef struct ClothSpring {
 /* These are the bits used in SimSettings.flags. */
 typedef enum {
        CLOTH_SIMSETTINGS_FLAG_COLLOBJ = ( 1 << 2 ),// object is only collision 
object, no cloth simulation is done
-       CLOTH_SIMSETTINGS_FLAG_GOAL = ( 1 << 3 ),       // we have goals enabled
        CLOTH_SIMSETTINGS_FLAG_TEARING = ( 1 << 4 ),// true if tearing is 
enabled
        CLOTH_SIMSETTINGS_FLAG_SCALING = ( 1 << 8 ), /* is advanced scaling 
active? */
        CLOTH_SIMSETTINGS_FLAG_CCACHE_EDIT = (1 << 12), /* edit cache in 
editmode */
diff --git a/source/blender/blenkernel/intern/cloth.c 
b/source/blender/blenkernel/intern/cloth.c
index 9a35e52eaf..38b7bb0c9a 100644
--- a/source/blender/blenkernel/intern/cloth.c
+++ b/source/blender/blenkernel/intern/cloth.c
@@ -684,15 +684,14 @@ static void cloth_to_object (Object *ob,  
ClothModifierData *clmd, float (*verte
 
 int cloth_uses_vgroup(ClothModifierData *clmd)
 {
-       return (((clmd->sim_parms->flags & CLOTH_SIMSETTINGS_FLAG_SCALING ) || 
-               (clmd->sim_parms->flags & CLOTH_SIMSETTINGS_FLAG_GOAL ) ||
+       return ((((clmd->sim_parms->flags & CLOTH_SIMSETTINGS_FLAG_SCALING ) ||
                (clmd->sim_parms->flags & CLOTH_SIMSETTINGS_FLAG_SEW) ||
                (clmd->coll_parms->flags & CLOTH_COLLSETTINGS_FLAG_SELF)) && 
-               ((clmd->sim_parms->vgroup_mass>0) || 
-               (clmd->sim_parms->vgroup_struct>0)||
+               ((clmd->sim_parms->vgroup_struct>0)||
                (clmd->sim_parms->vgroup_bend>0)  ||
                (clmd->sim_parms->vgroup_shrink>0) ||
-               (clmd->coll_parms->vgroup_selfcol>0)));
+               (clmd->coll_parms->vgroup_selfcol>0))) ||
+               (clmd->sim_parms->vgroup_mass>0));
 }
 
 /**
@@ -722,7 +721,7 @@ static void cloth_apply_vgroup ( ClothModifierData *clmd, 
DerivedMesh *dm )
                for (i = 0; i < mvert_num; i++, verts++) {
 
                        /* Reset Goal values to standard */
-                       if ( clmd->sim_parms->flags & 
CLOTH_SIMSETTINGS_FLAG_GOAL )
+                       if ( clmd->sim_parms->vgroup_mass>0 )
                                verts->goal= clmd->sim_parms->defgoal;
                        else
                                verts->goal= 0.0f;
@@ -737,7 +736,7 @@ static void cloth_apply_vgroup ( ClothModifierData *clmd, 
DerivedMesh *dm )
                        dvert = dm->getVertData ( dm, i, CD_MDEFORMVERT );
                        if ( dvert ) {
                                for ( j = 0; j < dvert->totweight; j++ ) {
-                                       if (( dvert->dw[j].def_nr == 
(clmd->sim_parms->vgroup_mass-1)) && (clmd->sim_parms->flags & 
CLOTH_SIMSETTINGS_FLAG_GOAL )) {
+                                       if ( dvert->dw[j].def_nr == 
(clmd->sim_parms->vgroup_mass-1)) {
                                                verts->goal = dvert->dw 
[j].weight;
 
                                                /* goalfac= 1.0f; */ /* UNUSED 
*/
@@ -870,7 +869,7 @@ static int cloth_from_object(Object *ob, ClothModifierData 
*clmd, DerivedMesh *d
                verts->mass = clmd->sim_parms->mass; 
                verts->impulse_count = 0;
 
-               if ( clmd->sim_parms->flags & CLOTH_SIMSETTINGS_FLAG_GOAL )
+               if ( clmd->sim_parms->vgroup_mass>0 )
                        verts->goal= clmd->sim_parms->defgoal;
                else
                        verts->goal= 0.0f;
diff --git a/source/blender/blenkernel/intern/collision.c 
b/source/blender/blenkernel/intern/collision.c
index 18ca1407ba..858cfbdde3 100644
--- a/source/blender/blenkernel/intern/collision.c
+++ b/source/blender/blenkernel/intern/collision.c
@@ -770,7 +770,7 @@ int cloth_bvh_objcollision(Object *ob, ClothModifierData 
*clmd, float step, floa
 
                /* verts come from clmd */
                for (i = 0; i < mvert_num; i++) {
-                       if ( clmd->sim_parms->flags & 
CLOTH_SIMSETTINGS_FLAG_GOAL ) {
+                       if ( clmd->sim_parms->vgroup_mass>0 ) {
                                if ( verts [i].flags & CLOTH_VERT_FLAG_PINNED ) 
{
                                        continue;
                                }
@@ -813,7 +813,7 @@ int cloth_bvh_objcollision(Object *ob, ClothModifierData 
*clmd, float step, floa
        
                                                mindistance = 
clmd->coll_parms->selfepsilon* ( cloth->verts[i].avg_spring_len + 
cloth->verts[j].avg_spring_len );
        
-                                               if ( clmd->sim_parms->flags & 
CLOTH_SIMSETTINGS_FLAG_GOAL ) {
+                                               if ( 
clmd->sim_parms->vgroup_mass>0 ) {
                                                        if ( ( cloth->verts 
[i].flags & CLOTH_VERT_FLAG_PINNED ) &&
                                                             ( cloth->verts 
[j].flags & CLOTH_VERT_FLAG_PINNED ) )
                                                        {
@@ -1297,7 +1297,7 @@ int cloth_points_objcollision(Object *ob, 
ClothModifierData *clmd, float step, f
 
                // verts come from clmd
                for (i = 0; i < mvert_num; i++) {
-                       if ( clmd->sim_parms->flags & 
CLOTH_SIMSETTINGS_FLAG_GOAL ) {
+                       if ( clmd->sim_parms->vgroup_mass>0 ) {
                                if ( verts [i].flags & CLOTH_VERT_FLAG_PINNED ) 
{
                                        continue;
                                }
@@ -1421,7 +1421,7 @@ void cloth_find_point_contacts(Object *ob, 
ClothModifierData *clmd, float step,
        
        // verts come from clmd
        for (i = 0; i < mvert_num; i++) {
-               if (clmd->sim_parms->flags & CLOTH_SIMSETTINGS_FLAG_GOAL) {
+               if ( clmd->sim_parms->vgroup_mass>0 ) {
                        if (verts [i].flags & CLOTH_VERT_FLAG_PINNED) {
                                continue;
                        }
diff --git a/source/blender/blenkernel/intern/particle_system.c 
b/source/blender/blenkernel/intern/particle_system.c
index ee43505115..50ef55a8c8 100644
--- a/source/blender/blenkernel/intern/particle_system.c
+++ b/source/blender/blenkernel/intern/particle_system.c
@@ -3144,7 +3144,7 @@ static void do_hair_dynamics(ParticleSimulationData *sim)
                psys->clmd = 
(ClothModifierData*)modifier_new(eModifierType_Cloth);
                psys->clmd->sim_parms->goalspring = 0.0f;
                psys->clmd->sim_parms->vel_damping = 1.0f;
-               psys->clmd->sim_parms->flags |= 
CLOTH_SIMSETTINGS_FLAG_GOAL|CLOTH_SIMSETTINGS_FLAG_NO_SPRING_COMPRESS;
+               psys->clmd->sim_parms->flags |= 
CLOTH_SIMSETTINGS_FLAG_NO_SPRING_COMPRESS;
                psys->clmd->coll_parms->flags &= ~CLOTH_COLLSETTINGS_FLAG_SELF;
        }
        
diff --git a/source/blender/makesrna/intern/rna_cloth.c 
b/source/blender/makesrna/intern/rna_cloth.c
index ffc713454f..b67e419174 100644
--- a/source/blender/makesrna/intern/rna_cloth.c
+++ b/source/blender/makesrna/intern/rna_cloth.c
@@ -513,12 +513,6 @@ static void rna_def_cloth_sim_settings(BlenderRNA *brna)
                                 "(1.0 = no damping, 0.0 = fully dampened)");
        RNA_def_property_update(prop, 0, "rna_cloth_update");
 
-       prop = RNA_def_property(srna, "use_pin_cloth", PROP_BOOLEAN, PROP_NONE);
-       RNA_def_property_boolean_sdna(prop, NULL, "flags", 
CLOTH_SIMSETTINGS_FLAG_GOAL);
-       RNA_def_property_ui_text(prop, "Pin Cloth", "Enable pinning of cloth 
vertices to other objects/positions");
-       RNA_def_property_update(prop, 0, "rna_cloth_pinning_changed");
-       RNA_def_property_clear_flag(prop, PROP_ANIMATABLE);
-
        prop = RNA_def_property(srna, "pin_stiffness", PROP_FLOAT, PROP_NONE);
        RNA_def_property_float_sdna(prop, NULL, "goalspring");
        RNA_def_property_range(prop, 0.0f, 50.0);
diff --git a/source/blender/makesrna/intern/rna_particle.c 
b/source/blender/makesrna/intern/rna_particle.c
index 5e3fa4b467..0810a91876 100644
--- a/source/blender/makesrna/intern/rna_particle.c
+++ b/source/blender/makesrna/intern/rna_particle.c
@@ -729,7 +729,7 @@ static void rna_Particle_hair_dynamics(Main *bmain, Scene 
*scene, PointerRNA *pt
        if (psys && !psys->clmd) {
                psys->clmd = (ClothModifierData 
*)modifier_new(eModifierType_Cloth);
                psys->clmd->sim_parms->goalspring = 0.0f;
-               psys->clmd->sim_parms->flags |= CLOTH_SIMSETTINGS_FLAG_GOAL | 
CLOTH_SIMSETTINGS_FLAG_NO_SPRING_COMPRESS;
+               psys->clmd->sim_parms->flags |= 
CLOTH_SIMSETTINGS_FLAG_NO_SPRING_COMPRESS;
                psys->clmd->coll_parms->flags &= ~CLOTH_COLLSETTINGS_FLAG_SELF;
                rna_Particle_redo(bmain, scene, ptr);
        }
diff --git a/source/blender/physics/intern/BPH_mass_spring.cpp 
b/source/blender/physics/intern/BPH_mass_spring.cpp
index 92b40e67fa..334d1681a2 100644
--- a/source/blender/physics/intern/BPH_mass_spring.cpp
+++ b/source/blender/physics/intern/BPH_mass_spring.cpp
@@ -979,7 +979,7 @@ static void cloth_collision_solve_extra(Object *ob, 
ClothModifierData *clmd, Lis
                
                        float newv[3];
                        
-                       if ((clmd->sim_parms->flags & 
CLOTH_SIMSETTINGS_FLAG_GOAL) && (verts [i].flags & CLOTH_VERT_FLAG_PINNED))
+                       if ((clmd->sim_parms->vgroup_mass>0) && (verts 
[i].flags & CLOTH_VERT_FLAG_PINNED))
                                continue;
                        
                        BPH_mass_spring_set_new_position(id, i, verts[i].tx);
@@ -1074,7 +1074,7 @@ int BPH_cloth_solve(Object *ob, float frame, 
ClothModifierData *clmd, ListBase *
                clmd->solver_result = (ClothSolverResult 
*)MEM_callocN(sizeof(ClothSolverResult), "cloth solver result");
        cloth_clear_result(clmd);
        
-       if (clmd->sim_parms->flags & CLOTH_SIMSETTINGS_FLAG_GOAL) { /* do goal 
stuff */
+       if (clmd->sim_parms->vgroup_mass>0) { /* do goal stuff */
                for (i = 0; i < mvert_num; i++) {
                        // update velocities with constrained velocities from 
pinned verts
                        if (verts[i].flags & CLOTH_VERT_FLAG_PINNED) {
@@ -1146,7 +1146,7 @@ int BPH_cloth_solve(Object *ob, float frame, 
ClothModifierData *clmd, ListBase *
                
                /* move pinned verts to correct position */
                for (i = 0; i < mvert_num; i++) {
-                       if (clmd->sim_parms->flags & 
CLOTH_SIMSETTINGS_FLAG_GOAL) {
+                       if (clmd->sim_parms->vgroup_mass>0) {
                                if (verts[i].flags & CLOTH_VERT_FLAG_PINNED) {
                                        float x[3];
                                        /* divide by time_scale to prevent 
pinned vertices' delta locations from being multiplied */

_______________________________________________
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to