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