Revision: 23410
          
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=23410
Author:   blendix
Date:     2009-09-21 23:19:58 +0200 (Mon, 21 Sep 2009)

Log Message:
-----------
RNA: added a "factor" subtype next to "percentage", and only display
% sign for percentage assuming it is between 0-100, while factor is
for values 0-1.

Move collision setting absorption from modifier to collision settings,
was inconsistent to have it there as the only one, and made it have
range 0.0-1.0 instead of 0-100.

Modified Paths:
--------------
    trunk/blender/release/ui/buttons_object_constraint.py
    trunk/blender/release/ui/buttons_physics_field.py
    trunk/blender/source/blender/blenkernel/BKE_collision.h
    trunk/blender/source/blender/blenkernel/intern/collision.c
    trunk/blender/source/blender/blenkernel/intern/effect.c
    trunk/blender/source/blender/editors/curve/editcurve.c
    trunk/blender/source/blender/editors/interface/interface_utils.c
    trunk/blender/source/blender/editors/mesh/editmesh_mods.c
    trunk/blender/source/blender/editors/transform/transform_ops.c
    trunk/blender/source/blender/editors/uvedit/uvedit_unwrap_ops.c
    trunk/blender/source/blender/makesdna/DNA_modifier_types.h
    trunk/blender/source/blender/makesdna/DNA_object_force.h
    trunk/blender/source/blender/makesrna/RNA_define.h
    trunk/blender/source/blender/makesrna/RNA_types.h
    trunk/blender/source/blender/makesrna/intern/makesrna.c
    trunk/blender/source/blender/makesrna/intern/rna_camera.c
    trunk/blender/source/blender/makesrna/intern/rna_constraint.c
    trunk/blender/source/blender/makesrna/intern/rna_define.c
    trunk/blender/source/blender/makesrna/intern/rna_material.c
    trunk/blender/source/blender/makesrna/intern/rna_modifier.c
    trunk/blender/source/blender/makesrna/intern/rna_nodetree.c
    trunk/blender/source/blender/makesrna/intern/rna_object_force.c
    trunk/blender/source/blender/makesrna/intern/rna_rna.c
    trunk/blender/source/blender/makesrna/intern/rna_scene.c
    trunk/blender/source/blender/makesrna/intern/rna_userdef.c

Modified: trunk/blender/release/ui/buttons_object_constraint.py
===================================================================
--- trunk/blender/release/ui/buttons_object_constraint.py       2009-09-21 
21:03:50 UTC (rev 23409)
+++ trunk/blender/release/ui/buttons_object_constraint.py       2009-09-21 
21:19:58 UTC (rev 23410)
@@ -130,7 +130,7 @@
                col = split.column()
                col.itemR(con, "use_fixed_position")
                if con.use_fixed_position:
-                       col.itemR(con, "offset_percentage", text="Offset")
+                       col.itemR(con, "offset_factor", text="Offset")
                else:
                        col.itemR(con, "offset")
                

Modified: trunk/blender/release/ui/buttons_physics_field.py
===================================================================
--- trunk/blender/release/ui/buttons_physics_field.py   2009-09-21 21:03:50 UTC 
(rev 23409)
+++ trunk/blender/release/ui/buttons_physics_field.py   2009-09-21 21:19:58 UTC 
(rev 23410)
@@ -212,7 +212,7 @@
                        sub.itemR(settings, "inner_thickness", text="Inner", 
slider=True)
                
                        layout.itemL(text="Force Fields:")
-                       layout.itemR(md, "absorption", text="Absorption")
+                       layout.itemR(settings, "absorption", text="Absorption")
                
                        col = split.column()
                        col.itemL(text="")

Modified: trunk/blender/source/blender/blenkernel/BKE_collision.h
===================================================================
--- trunk/blender/source/blender/blenkernel/BKE_collision.h     2009-09-21 
21:03:50 UTC (rev 23409)
+++ trunk/blender/source/blender/blenkernel/BKE_collision.h     2009-09-21 
21:19:58 UTC (rev 23410)
@@ -139,7 +139,7 @@
 /////////////////////////////////////////////////
 // used in effect.c
 /////////////////////////////////////////////////
-CollisionModifierData **get_collisionobjects(struct Scene *scene, Object 
*self, int *numcollobj);
+Object **get_collisionobjects(struct Scene *scene, Object *self, int 
*numcollobj);
 
 /////////////////////////////////////////////////
 

Modified: trunk/blender/source/blender/blenkernel/intern/collision.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/collision.c  2009-09-21 
21:03:50 UTC (rev 23409)
+++ trunk/blender/source/blender/blenkernel/intern/collision.c  2009-09-21 
21:19:58 UTC (rev 23410)
@@ -1296,15 +1296,15 @@
 
 // return all collision objects in scene
 // collision object will exclude self 
-CollisionModifierData **get_collisionobjects(Scene *scene, Object *self, int 
*numcollobj)
+Object **get_collisionobjects(Scene *scene, Object *self, int *numcollobj)
 {
        Base *base=NULL;
-       CollisionModifierData **objs = NULL;
+       Object **objs = NULL;
        Object *coll_ob = NULL;
        CollisionModifierData *collmd = NULL;
        int numobj = 0, maxobj = 100;
        
-       objs = MEM_callocN(sizeof(CollisionModifierData *)*maxobj, 
"CollisionObjectsArray");
+       objs = MEM_callocN(sizeof(Object *)*maxobj, "CollisionObjectsArray");
        // check all collision objects
        for ( base = scene->base.first; base; base = base->next )
        {
@@ -1330,16 +1330,16 @@
                        {
                                // realloc
                                int oldmax = maxobj;
-                               CollisionModifierData **tmp;
+                               Object **tmp;
                                maxobj *= 2;
-                               tmp = MEM_callocN(sizeof(CollisionModifierData 
*)*maxobj, "CollisionObjectsArray");
-                               memcpy(tmp, objs, sizeof(CollisionModifierData 
*)*oldmax);
+                               tmp = MEM_callocN(sizeof(Object *)*maxobj, 
"CollisionObjectsArray");
+                               memcpy(tmp, objs, sizeof(Object *)*oldmax);
                                MEM_freeN(objs);
                                objs = tmp;
                                
                        }
                        
-                       objs[numobj] = collmd;
+                       objs[numobj] = coll_ob;
                        numobj++;
                }
                else
@@ -1374,15 +1374,15 @@
                                        {
                                                // realloc
                                                int oldmax = maxobj;
-                                               CollisionModifierData **tmp;
+                                               Object **tmp;
                                                maxobj *= 2;
-                                               tmp = 
MEM_callocN(sizeof(CollisionModifierData *)*maxobj, "CollisionObjectsArray");
-                                               memcpy(tmp, objs, 
sizeof(CollisionModifierData *)*oldmax);
+                                               tmp = MEM_callocN(sizeof(Object 
*)*maxobj, "CollisionObjectsArray");
+                                               memcpy(tmp, objs, sizeof(Object 
*)*oldmax);
                                                MEM_freeN(objs);
                                                objs = tmp;
                                        }
                                        
-                                       objs[numobj] = collmd;
+                                       objs[numobj] = coll_ob;
                                        numobj++;
                                }
                        }
@@ -1459,7 +1459,7 @@
        int rounds = 0; // result counts applied collisions; ic is for debug 
output;
        ClothVertex *verts = NULL;
        int ret = 0, ret2 = 0;
-       CollisionModifierData **collobjs = NULL;
+       Object **collobjs = NULL;
        int numcollobj = 0;
 
        if ( ( clmd->sim_parms->flags & CLOTH_SIMSETTINGS_FLAG_COLLOBJ ) || ! ( 
( ( Cloth * ) clmd->clothObject )->bvhtree ) )
@@ -1498,7 +1498,8 @@
                // check all collision objects
                for(i = 0; i < numcollobj; i++)
                {
-                       CollisionModifierData *collmd = collobjs[i];
+                       Object *collob= collobjs[i];
+                       CollisionModifierData *collmd = 
(CollisionModifierData*)modifiers_findByType(collob, eModifierType_Collision);
                        BVHTreeOverlap *overlap = NULL;
                        int result = 0;
                        

Modified: trunk/blender/source/blender/blenkernel/intern/effect.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/effect.c     2009-09-21 
21:03:50 UTC (rev 23409)
+++ trunk/blender/source/blender/blenkernel/intern/effect.c     2009-09-21 
21:19:58 UTC (rev 23410)
@@ -258,10 +258,10 @@
 // get visibility of a wind ray
 static float eff_calc_visibility(Scene *scene, Object *ob, float *co, float 
*dir)
 {
-       CollisionModifierData **collobjs = NULL;
+       Object **collobjs = NULL;
        int numcollobj = 0, i;
        float norm[3], len = 0.0;
-       float visibility = 1.0;
+       float visibility = 1.0, absorption = 0.0;
        
        collobjs = get_collisionobjects(scene, ob, &numcollobj);
        
@@ -275,7 +275,8 @@
        // check all collision objects
        for(i = 0; i < numcollobj; i++)
        {
-               CollisionModifierData *collmd = collobjs[i];
+               Object *collob= collobjs[i];
+               CollisionModifierData *collmd = 
(CollisionModifierData*)modifiers_findByType(collob, eModifierType_Collision);
                
                if(collmd->bvhtree)
                {
@@ -287,8 +288,10 @@
                        // check if the way is blocked
                        if(BLI_bvhtree_ray_cast(collmd->bvhtree, co, norm, 
0.0f, &hit, eff_tri_ray_hit, NULL)>=0)
                        {
+                               absorption= (collob->pd)? 
collob->pd->absorption: 0.0f;
+
                                // visibility is only between 0 and 1, 
calculated from 1-absorption
-                               visibility *= MAX2(0.0, MIN2(1.0, 
(1.0-((float)collmd->absorption)*0.01)));
+                               visibility *= CLAMPIS(1.0f-absorption, 0.0f, 
1.0f);
                                
                                if(visibility <= 0.0f)
                                        break;

Modified: trunk/blender/source/blender/editors/curve/editcurve.c
===================================================================
--- trunk/blender/source/blender/editors/curve/editcurve.c      2009-09-21 
21:03:50 UTC (rev 23409)
+++ trunk/blender/source/blender/editors/curve/editcurve.c      2009-09-21 
21:19:58 UTC (rev 23410)
@@ -1078,7 +1078,7 @@
        ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
 
        /* properties */
-       RNA_def_float_percentage(ot->srna, "weight", 1.0f, 0.0f, 1.0f, 
"Weight", "", 0.0f, 1.0f);
+       RNA_def_float_factor(ot->srna, "weight", 1.0f, 0.0f, 1.0f, "Weight", 
"", 0.0f, 1.0f);
 }
 
 /******************* set radius operator ******************/

Modified: trunk/blender/source/blender/editors/interface/interface_utils.c
===================================================================
--- trunk/blender/source/blender/editors/interface/interface_utils.c    
2009-09-21 21:03:50 UTC (rev 23409)
+++ trunk/blender/source/blender/editors/interface/interface_utils.c    
2009-09-21 21:19:58 UTC (rev 23410)
@@ -73,7 +73,7 @@
                                if(RNA_property_subtype(prop) == PROP_COLOR)
                                        but= uiDefButR(block, COL, 0, name, x1, 
y1, x2, y2, ptr, propname, 0, 0, 0, -1, -1, NULL);
                        }
-                       else if(RNA_property_subtype(prop) == PROP_PERCENTAGE)
+                       else if(RNA_property_subtype(prop) == PROP_PERCENTAGE 
|| RNA_property_subtype(prop) == PROP_FACTOR)
                                but= uiDefButR(block, NUMSLI, 0, name, x1, y1, 
x2, y2, ptr, propname, index, 0, 0, -1, -1, NULL);
                        else
                                but= uiDefButR(block, NUM, 0, name, x1, y1, x2, 
y2, ptr, propname, index, 0, 0, -1, -1, NULL);

Modified: trunk/blender/source/blender/editors/mesh/editmesh_mods.c
===================================================================
--- trunk/blender/source/blender/editors/mesh/editmesh_mods.c   2009-09-21 
21:03:50 UTC (rev 23409)
+++ trunk/blender/source/blender/editors/mesh/editmesh_mods.c   2009-09-21 
21:19:58 UTC (rev 23410)
@@ -3553,7 +3553,7 @@
        ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
        
        /* props */
-       RNA_def_float_percentage(ot->srna, "percent", 0.5f, 0.0f, 1.0f, 
"Percent", "Percentage of vertices to select randomly.", 0.0001f, 1.0f);
+       RNA_def_float_percentage(ot->srna, "percent", 50.0f, 0.0f, 100.0f, 
"Percent", "Percentage of vertices to select randomly.", 0.0001f, 1.0f);
 }
 
 void EM_select_by_material(EditMesh *em, int index) 

Modified: trunk/blender/source/blender/editors/transform/transform_ops.c
===================================================================
--- trunk/blender/source/blender/editors/transform/transform_ops.c      
2009-09-21 21:03:50 UTC (rev 23409)
+++ trunk/blender/source/blender/editors/transform/transform_ops.c      
2009-09-21 21:19:58 UTC (rev 23410)
@@ -523,7 +523,7 @@
        ot->cancel  = transform_cancel;
        ot->poll   = ED_operator_areaactive;
 
-       RNA_def_float_percentage(ot->srna, "value", 0, 0, 1, "Percentage", "", 
0, 1);
+       RNA_def_float_factor(ot->srna, "value", 0, 0, 1, "Factor", "", 0, 1);
 
        Properties_Proportional(ot);
 

Modified: trunk/blender/source/blender/editors/uvedit/uvedit_unwrap_ops.c
===================================================================
--- trunk/blender/source/blender/editors/uvedit/uvedit_unwrap_ops.c     
2009-09-21 21:03:50 UTC (rev 23409)
+++ trunk/blender/source/blender/editors/uvedit/uvedit_unwrap_ops.c     
2009-09-21 21:19:58 UTC (rev 23410)
@@ -423,7 +423,7 @@
 
        /* properties */
        RNA_def_boolean(ot->srna, "fill_holes", 1, "Fill Holes", "Virtual fill 
holes in mesh before unwrapping, to better avoid overlaps and preserve 
symmetry.");
-       RNA_def_float_percentage(ot->srna, "blend", 0.0f, 0.0f, 1.0f, "Blend", 
"Blend factor between stretch minimized and original.", 0.0f, 1.0f);
+       RNA_def_float_factor(ot->srna, "blend", 0.0f, 0.0f, 1.0f, "Blend", 
"Blend factor between stretch minimized and original.", 0.0f, 1.0f);
        RNA_def_int(ot->srna, "iterations", 0, 0, INT_MAX, "Iterations", 
"Number of iterations to run, 0 is unlimited when run interactively.", 0, 100);
 }
 

Modified: trunk/blender/source/blender/makesdna/DNA_modifier_types.h
===================================================================

@@ Diff output truncated at 10240 characters. @@

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

Reply via email to