NLA SoC: Merge from 2.5
authorJoshua Leung <aligorith@gmail.com>
Sun, 21 Jun 2009 00:01:37 +0000 (00:01 +0000)
committerJoshua Leung <aligorith@gmail.com>
Sun, 21 Jun 2009 00:01:37 +0000 (00:01 +0000)
21021 to 21042

1  2 
source/blender/editors/space_view3d/space_view3d.c
source/blender/makesrna/intern/rna_object.c

index eaff77aabe92511d7da1de517bbe43812563e1fb,2d6a57d5a34673d6c098ec1a8f1aa085fa0827e6..0cb0fd90860c6228a67fd263fbcedc6ea37f1c00
@@@ -393,6 -393,7 +393,6 @@@ static void view3d_main_area_listener(A
                                case ND_GEOM_DATA:
                                case ND_DRAW:
                                case ND_MODIFIER:
 -                              case ND_CONSTRAINT:
                                case ND_KEYS:
                                case ND_PARTICLE:
                                        ED_region_tag_redraw(ar);
@@@ -564,7 -565,17 +564,17 @@@ static int view3d_context(const bContex
  
        if(v3d==NULL) return 0;
  
-       if(CTX_data_equals(member, "selected_objects") || CTX_data_equals(member, "selected_bases")) {
+       if(CTX_data_dir(member)) {
+               static const char *dir[] = {
+                       "selected_objects", "selected_bases" "selected_editable_objects",
+                       "selected_editable_bases" "visible_objects", "visible_bases",
+                       "active_base", "active_object", "visible_bones", "editable_bones",
+                       "selected_bones", "selected_editable_bones" "visible_pchans",
+                       "selected_pchans", "active_bone", "active_pchan", NULL};
+               CTX_data_dir_set(result, dir);
+       }
+       else if(CTX_data_equals(member, "selected_objects") || CTX_data_equals(member, "selected_bases")) {
                int selected_objects= CTX_data_equals(member, "selected_objects");
  
                for(base=scene->base.first; base; base=base->next) {
index a17cc1aca3df376d2661d1f0cae199c63976ebf4,9e8dbbb12b3bc3324a2e0f4b4015e7ce25005ac2..85e68ec4877dfd968a7fc12eff2b5ccd3638acc5
@@@ -92,7 -92,7 +92,7 @@@ static void rna_Object_data_set(Pointer
                ob->data= id;
                test_object_materials(id);
  
-               if(GS(id->name)==ID_CU )
+               if(GS(id->name)==ID_CU)
                        test_curve_type(ob);
                else if(ob->type==OB_ARMATURE)
                        armature_rebuild_pose(ob, ob->data);
@@@ -522,6 -522,49 +522,49 @@@ static void rna_def_object_game_setting
        RNA_def_property_range(prop, 0.0, 1.0);
        RNA_def_property_ui_text(prop, "Rotation Damping", "General rotation damping.");
  
+       prop= RNA_def_property(srna, "minimum_velocity", PROP_FLOAT, PROP_NONE);
+       RNA_def_property_float_sdna(prop, NULL, "min_vel");
+       RNA_def_property_range(prop, 0.0, 1000.0);
+       RNA_def_property_ui_text(prop, "Velocity Min", "Clamp velocity to this minimum speed (except when totally still).");
+       prop= RNA_def_property(srna, "maximum_velocity", PROP_FLOAT, PROP_NONE);
+       RNA_def_property_float_sdna(prop, NULL, "max_vel");
+       RNA_def_property_range(prop, 0.0, 1000.0);
+       RNA_def_property_ui_text(prop, "Velocity Max", "Clamp velocity to this maximum speed.");
+       /* lock position */
+       prop= RNA_def_property(srna, "lock_x_axis", PROP_BOOLEAN, PROP_NONE);
+       RNA_def_property_boolean_sdna(prop, NULL, "gameflag2", OB_LOCK_RIGID_BODY_X_AXIS);
+       RNA_def_property_ui_text(prop, "Lock X Axis", "Disable simulation of linear motion along the X axis.");
+       
+       prop= RNA_def_property(srna, "lock_y_axis", PROP_BOOLEAN, PROP_NONE);
+       RNA_def_property_boolean_sdna(prop, NULL, "gameflag2", OB_LOCK_RIGID_BODY_Y_AXIS);
+       RNA_def_property_ui_text(prop, "Lock Y Axis", "Disable simulation of linear motion along the Y axis.");
+       
+       prop= RNA_def_property(srna, "lock_z_axis", PROP_BOOLEAN, PROP_NONE);
+       RNA_def_property_boolean_sdna(prop, NULL, "gameflag2", OB_LOCK_RIGID_BODY_Z_AXIS);
+       RNA_def_property_ui_text(prop, "Lock Z Axis", "Disable simulation of linear motion along the Z axis.");
+       
+       
+       /* lock rotation */
+       prop= RNA_def_property(srna, "lock_x_rot_axis", PROP_BOOLEAN, PROP_NONE);
+       RNA_def_property_boolean_sdna(prop, NULL, "gameflag2", OB_LOCK_RIGID_BODY_X_ROT_AXIS);
+       RNA_def_property_ui_text(prop, "Lock X Rotation Axis", "Disable simulation of angular  motion along the X axis.");
+       
+       prop= RNA_def_property(srna, "lock_y_rot_axis", PROP_BOOLEAN, PROP_NONE);
+       RNA_def_property_boolean_sdna(prop, NULL, "gameflag2", OB_LOCK_RIGID_BODY_Y_ROT_AXIS);
+       RNA_def_property_ui_text(prop, "Lock Y Rotation Axis", "Disable simulation of angular  motion along the Y axis.");
+       
+       prop= RNA_def_property(srna, "lock_z_rot_axis", PROP_BOOLEAN, PROP_NONE);
+       RNA_def_property_boolean_sdna(prop, NULL, "gameflag2", OB_LOCK_RIGID_BODY_Z_ROT_AXIS);
+       RNA_def_property_ui_text(prop, "Lock Z Rotation Axis", "Disable simulation of angular  motion along the Z axis.");
+       
+       /* is this used anywhere ? */
+       prop= RNA_def_property(srna, "use_activity_culling", PROP_BOOLEAN, PROP_NONE);
+       RNA_def_property_boolean_negative_sdna(prop, NULL, "gameflag2", OB_NEVER_DO_ACTIVITY_CULLING);
+       RNA_def_property_ui_text(prop, "Lock Z Rotation Axis", "Disable simulation of angular  motion along the Z axis.");      
+       
        prop= RNA_def_property(srna, "do_fh", PROP_BOOLEAN, PROP_NONE);
        RNA_def_property_boolean_sdna(prop, NULL, "gameflag", OB_DO_FH);
        RNA_def_property_ui_text(prop, "Do Fh", "Use Fh settings in materials.");
@@@ -1075,6 -1118,29 +1118,6 @@@ static void rna_def_object(BlenderRNA *
        RNA_def_property_clear_flag(prop, PROP_EDITABLE);
        RNA_def_property_ui_text(prop, "Pose Mode", "Object with armature data is in pose mode.");
  
 -      // XXX this stuff should be moved to AnimData...
 -/*
 -      prop= RNA_def_property(srna, "nla_disable_path", PROP_BOOLEAN, PROP_NONE);
 -      RNA_def_property_boolean_sdna(prop, NULL, "nlaflag", OB_DISABLE_PATH);
 -      RNA_def_property_ui_text(prop, "NLA Disable Path", "Disable path temporally, for editing cycles.");
 -
 -      prop= RNA_def_property(srna, "nla_collapsed", PROP_BOOLEAN, PROP_NONE);
 -      RNA_def_property_boolean_sdna(prop, NULL, "nlaflag", OB_NLA_COLLAPSED);
 -      RNA_def_property_clear_flag(prop, PROP_EDITABLE);
 -      RNA_def_property_ui_text(prop, "NLA Collapsed", "");
 -
 -      prop= RNA_def_property(srna, "nla_override", PROP_BOOLEAN, PROP_NONE);
 -      RNA_def_property_boolean_sdna(prop, NULL, "nlaflag", OB_NLA_OVERRIDE);
 -      RNA_def_property_clear_flag(prop, PROP_EDITABLE);
 -      RNA_def_property_ui_text(prop, "NLA Override", "");
 -
 -      prop= RNA_def_property(srna, "nla_strips", PROP_COLLECTION, PROP_NONE);
 -      RNA_def_property_collection_sdna(prop, NULL, "nlastrips", NULL);
 -      RNA_def_property_struct_type(prop, "UnknownType");
 -      RNA_def_property_clear_flag(prop, PROP_EDITABLE);
 -      RNA_def_property_ui_text(prop, "NLA Strips", "NLA strips of the object.");
 -*/
 -      
        /* shape keys */
  
        prop= RNA_def_property(srna, "shape_key_lock", PROP_BOOLEAN, PROP_NONE);