From be21034ae4a235f9a9dbc311fc2fd2f9e91367fe Mon Sep 17 00:00:00 2001 From: Thomas Dinges Date: Wed, 23 Jan 2013 11:40:35 +0000 Subject: UI / Layout scripts: * Code cleanup for new Rigid Body panels. * Removed some unneeded split() calls. * Remove redundant check for "ob.rigid_body_constraint" in the draw() function of the "Rigid Body Constraint" panel. The check is already made in the poll. --- .../startup/bl_ui/properties_physics_rigidbody.py | 8 +- .../properties_physics_rigidbody_constraint.py | 303 ++++++++++----------- release/scripts/startup/bl_ui/properties_scene.py | 21 +- 3 files changed, 161 insertions(+), 171 deletions(-) (limited to 'release/scripts') diff --git a/release/scripts/startup/bl_ui/properties_physics_rigidbody.py b/release/scripts/startup/bl_ui/properties_physics_rigidbody.py index afc654f30be..f335c560f7b 100644 --- a/release/scripts/startup/bl_ui/properties_physics_rigidbody.py +++ b/release/scripts/startup/bl_ui/properties_physics_rigidbody.py @@ -50,13 +50,10 @@ class PHYSICS_PT_rigid_body(PHYSICS_PT_rigidbody_panel, Panel): if rbo is not None: layout.prop(rbo, "type", text="Type") - - row = layout.row() - row.prop(rbo, "kinematic", text="Animated") + layout.prop(rbo, "kinematic", text="Animated") if rbo.type == 'ACTIVE': - col = layout.column() - col.prop(rbo, "mass") + layout.prop(rbo, "mass") class PHYSICS_PT_rigid_body_collisions(PHYSICS_PT_rigidbody_panel, Panel): @@ -91,6 +88,7 @@ class PHYSICS_PT_rigid_body_collisions(PHYSICS_PT_rigidbody_panel, Panel): sub = col.column() sub.active = rbo.use_margin sub.prop(rbo, "collision_margin", text="Margin") + layout.prop(rbo, "collision_groups") diff --git a/release/scripts/startup/bl_ui/properties_physics_rigidbody_constraint.py b/release/scripts/startup/bl_ui/properties_physics_rigidbody_constraint.py index 8bd64d0324a..49b760ef546 100644 --- a/release/scripts/startup/bl_ui/properties_physics_rigidbody_constraint.py +++ b/release/scripts/startup/bl_ui/properties_physics_rigidbody_constraint.py @@ -42,174 +42,167 @@ class PHYSICS_PT_rigid_body_constraint(PHYSICS_PT_rigidbody_constraint_panel, Pa ob = context.object rbc = ob.rigid_body_constraint - if rbc: - layout.prop(rbc, "type") - - split = layout.split() - - row = split.row() - row.prop(rbc, "enabled") - row.prop(rbc, "disable_collisions") - - split = layout.split() - split.prop(rbc, "object1") - split = layout.split() - split.prop(rbc, "object2") - - split = layout.split() - col = split.row() - col.prop(rbc, "use_breaking") - sub = col.column() - sub.active = rbc.use_breaking - sub.prop(rbc, "breaking_threshold", text="Threshold") - - split = layout.split() - col = split.row() - col.prop(rbc, "override_solver_iterations", text="Override Iterations") - sub = col.split() - sub.active = rbc.override_solver_iterations - sub.prop(rbc, "num_solver_iterations", text="Iterations") - - if rbc.type == 'HINGE': + layout.prop(rbc, "type") + + row = layout.row() + row.prop(rbc, "enabled") + row.prop(rbc, "disable_collisions") + + layout.prop(rbc, "object1") + layout.prop(rbc, "object2") + + row = layout.row() + row.prop(rbc, "use_breaking") + sub = row.row() + sub.active = rbc.use_breaking + sub.prop(rbc, "breaking_threshold", text="Threshold") + + row = layout.row() + row.prop(rbc, "override_solver_iterations", text="Override Iterations") + sub = row.row() + sub.active = rbc.override_solver_iterations + sub.prop(rbc, "num_solver_iterations", text="Iterations") + + if rbc.type == 'HINGE': + col = layout.column(align=True) + col.label("Limits:") + + row = col.row() + sub = row.row() + sub.scale_x = 0.5 + sub.prop(rbc, "use_limit_ang_z", toggle=True) + sub = row.row() + sub.active = rbc.use_limit_ang_z + sub.prop(rbc, "limit_ang_z_lower", text="Lower") + sub.prop(rbc, "limit_ang_z_upper", text="Upper") + + elif rbc.type == 'SLIDER': + col = layout.column(align=True) + col.label("Limits:") + + row = col.row() + sub = row.row() + sub.scale_x = 0.5 + sub.prop(rbc, "use_limit_lin_x", toggle=True) + sub = row.row() + sub.active = rbc.use_limit_lin_x + sub.prop(rbc, "limit_lin_x_lower", text="Lower") + sub.prop(rbc, "limit_lin_x_upper", text="Upper") + + elif rbc.type == 'PISTON': + col = layout.column(align=True) + col.label("Limits:") + + row = col.row() + sub = row.row() + sub.scale_x = 0.5 + sub.prop(rbc, "use_limit_lin_x", toggle=True) + sub = row.row() + sub.active = rbc.use_limit_lin_x + sub.prop(rbc, "limit_lin_x_lower", text="Lower") + sub.prop(rbc, "limit_lin_x_upper", text="Upper") + + col = layout.column(align=True) + + row = col.row() + sub = row.row() + sub.scale_x = 0.5 + sub.prop(rbc, "use_limit_ang_x", toggle=True) + sub = row.row() + sub.active = rbc.use_limit_ang_x + sub.prop(rbc, "limit_ang_x_lower", text="Lower") + sub.prop(rbc, "limit_ang_x_upper", text="Upper") + + elif rbc.type in {'GENERIC', 'GENERIC_SPRING'}: + col = layout.column(align=True) + col.label("Limits:") + + row = col.row() + sub = row.row() + sub.scale_x = 0.5 + sub.prop(rbc, "use_limit_lin_x", toggle=True) + sub = row.row() + sub.active = rbc.use_limit_lin_x + sub.prop(rbc, "limit_lin_x_lower", text="Lower") + sub.prop(rbc, "limit_lin_x_upper", text="Upper") + + row = col.row() + sub = row.row() + sub.scale_x = 0.5 + sub.prop(rbc, "use_limit_lin_y", toggle=True) + sub = row.row() + sub.active = rbc.use_limit_lin_y + sub.prop(rbc, "limit_lin_y_lower", text="Lower") + sub.prop(rbc, "limit_lin_y_upper", text="Upper") + + row = col.row() + sub = row.row() + sub.scale_x = 0.5 + sub.prop(rbc, "use_limit_lin_z", toggle=True) + sub = row.row() + sub.active = rbc.use_limit_lin_z + sub.prop(rbc, "limit_lin_z_lower", text="Lower") + sub.prop(rbc, "limit_lin_z_upper", text="Upper") + + col = layout.column(align=True) + + row = col.row() + sub = row.row() + sub.scale_x = 0.5 + sub.prop(rbc, "use_limit_ang_x", toggle=True) + sub = row.row() + sub.active = rbc.use_limit_ang_x + sub.prop(rbc, "limit_ang_x_lower", text="Lower") + sub.prop(rbc, "limit_ang_x_upper", text="Upper") + + row = col.row() + sub = row.row() + sub.scale_x = 0.5 + sub.prop(rbc, "use_limit_ang_y", toggle=True) + sub = row.row() + sub.active = rbc.use_limit_ang_y + sub.prop(rbc, "limit_ang_y_lower", text="Lower") + sub.prop(rbc, "limit_ang_y_upper", text="Upper") + + row = col.row() + sub = row.row() + sub.scale_x = 0.5 + sub.prop(rbc, "use_limit_ang_z", toggle=True) + sub = row.row() + sub.active = rbc.use_limit_ang_z + sub.prop(rbc, "limit_ang_z_lower", text="Lower") + sub.prop(rbc, "limit_ang_z_upper", text="Upper") + + if rbc.type == 'GENERIC_SPRING': col = layout.column(align=True) - col.label("Limits:") + col.label("Springs:") row = col.row() sub = row.row() - sub.scale_x = 0.5 - sub.prop(rbc, "use_limit_ang_z", toggle=True) + sub.scale_x = 0.1 + sub.prop(rbc, "use_spring_x", toggle=True, text="X") sub = row.row() - sub.active = rbc.use_limit_ang_z - sub.prop(rbc, "limit_ang_z_lower", text="Lower") - sub.prop(rbc, "limit_ang_z_upper", text="Upper") - - elif rbc.type == 'SLIDER': - col = layout.column(align=True) - col.label("Limits:") - - row = col.row() - sub = row.row() - sub.scale_x = 0.5 - sub.prop(rbc, "use_limit_lin_x", toggle=True) - sub = row.row() - sub.active = rbc.use_limit_lin_x - sub.prop(rbc, "limit_lin_x_lower", text="Lower") - sub.prop(rbc, "limit_lin_x_upper", text="Upper") - - elif rbc.type == 'PISTON': - col = layout.column(align=True) - col.label("Limits:") - - row = col.row() - sub = row.row() - sub.scale_x = 0.5 - sub.prop(rbc, "use_limit_lin_x", toggle=True) - sub = row.row() - sub.active = rbc.use_limit_lin_x - sub.prop(rbc, "limit_lin_x_lower", text="Lower") - sub.prop(rbc, "limit_lin_x_upper", text="Upper") - - col = layout.column(align=True) - - row = col.row() - sub = row.row() - sub.scale_x = 0.5 - sub.prop(rbc, "use_limit_ang_x", toggle=True) - sub = row.row() - sub.active = rbc.use_limit_ang_x - sub.prop(rbc, "limit_ang_x_lower", text="Lower") - sub.prop(rbc, "limit_ang_x_upper", text="Upper") - - elif rbc.type in {'GENERIC', 'GENERIC_SPRING'}: - col = layout.column(align=True) - col.label("Limits:") - - row = col.row() - sub = row.row() - sub.scale_x = 0.5 - sub.prop(rbc, "use_limit_lin_x", toggle=True) - sub = row.row() - sub.active = rbc.use_limit_lin_x - sub.prop(rbc, "limit_lin_x_lower", text="Lower") - sub.prop(rbc, "limit_lin_x_upper", text="Upper") - - row = col.row() - sub = row.row() - sub.scale_x = 0.5 - sub.prop(rbc, "use_limit_lin_y", toggle=True) - sub = row.row() - sub.active = rbc.use_limit_lin_y - sub.prop(rbc, "limit_lin_y_lower", text="Lower") - sub.prop(rbc, "limit_lin_y_upper", text="Upper") - - row = col.row() - sub = row.row() - sub.scale_x = 0.5 - sub.prop(rbc, "use_limit_lin_z", toggle=True) - sub = row.row() - sub.active = rbc.use_limit_lin_z - sub.prop(rbc, "limit_lin_z_lower", text="Lower") - sub.prop(rbc, "limit_lin_z_upper", text="Upper") - - col = layout.column(align=True) - - row = col.row() - sub = row.row() - sub.scale_x = 0.5 - sub.prop(rbc, "use_limit_ang_x", toggle=True) - sub = row.row() - sub.active = rbc.use_limit_ang_x - sub.prop(rbc, "limit_ang_x_lower", text="Lower") - sub.prop(rbc, "limit_ang_x_upper", text="Upper") + sub.active = rbc.use_spring_x + sub.prop(rbc, "spring_stiffness_x", text="Stiffness") + sub.prop(rbc, "spring_damping_x") row = col.row() sub = row.row() - sub.scale_x = 0.5 - sub.prop(rbc, "use_limit_ang_y", toggle=True) + sub.scale_x = 0.1 + sub.prop(rbc, "use_spring_y", toggle=True, text="Y") sub = row.row() - sub.active = rbc.use_limit_ang_y - sub.prop(rbc, "limit_ang_y_lower", text="Lower") - sub.prop(rbc, "limit_ang_y_upper", text="Upper") + sub.active = rbc.use_spring_y + sub.prop(rbc, "spring_stiffness_y", text="Stiffness") + sub.prop(rbc, "spring_damping_y") row = col.row() sub = row.row() - sub.scale_x = 0.5 - sub.prop(rbc, "use_limit_ang_z", toggle=True) + sub.scale_x = 0.1 + sub.prop(rbc, "use_spring_z", toggle=True, text="Z") sub = row.row() - sub.active = rbc.use_limit_ang_z - sub.prop(rbc, "limit_ang_z_lower", text="Lower") - sub.prop(rbc, "limit_ang_z_upper", text="Upper") - - if rbc.type == 'GENERIC_SPRING': - col = layout.column(align=True) - col.label("Springs:") - - row = col.row() - sub = row.row() - sub.scale_x = 0.1 - sub.prop(rbc, "use_spring_x", toggle=True, text="X") - sub = row.row() - sub.active = rbc.use_spring_x - sub.prop(rbc, "spring_stiffness_x", text="Stiffness") - sub.prop(rbc, "spring_damping_x") - - row = col.row() - sub = row.row() - sub.scale_x = 0.1 - sub.prop(rbc, "use_spring_y", toggle=True, text="Y") - sub = row.row() - sub.active = rbc.use_spring_y - sub.prop(rbc, "spring_stiffness_y", text="Stiffness") - sub.prop(rbc, "spring_damping_y") - - row = col.row() - sub = row.row() - sub.scale_x = 0.1 - sub.prop(rbc, "use_spring_z", toggle=True, text="Z") - sub = row.row() - sub.active = rbc.use_spring_z - sub.prop(rbc, "spring_stiffness_z", text="Stiffness") - sub.prop(rbc, "spring_damping_z") + sub.active = rbc.use_spring_z + sub.prop(rbc, "spring_stiffness_z", text="Stiffness") + sub.prop(rbc, "spring_damping_z") if __name__ == "__main__": # only for live edit. bpy.utils.register_module(__name__) diff --git a/release/scripts/startup/bl_ui/properties_scene.py b/release/scripts/startup/bl_ui/properties_scene.py index afd9632b207..e0f4fd1f75b 100644 --- a/release/scripts/startup/bl_ui/properties_scene.py +++ b/release/scripts/startup/bl_ui/properties_scene.py @@ -272,25 +272,24 @@ class SCENE_PT_rigid_body_world(SceneButtonsPanel, Panel): if rbw is None: layout.operator("rigidbody.world_add") else: - col = layout.column() - col.operator("rigidbody.world_remove") + layout.operator("rigidbody.world_remove") col = layout.column() col.active = rbw.enabled - colsub = col.column() - colsub.prop(rbw, "group") - colsub.prop(rbw, "constraints") + col = col.column() + col.prop(rbw, "group") + col.prop(rbw, "constraints") split = col.split() - colsub = split.column() - colsub.prop(rbw, "time_scale", text="Speed") - colsub.prop(rbw, "use_split_impulse") + col = split.column() + col.prop(rbw, "time_scale", text="Speed") + col.prop(rbw, "use_split_impulse") - colsub = split.column() - colsub.prop(rbw, "steps_per_second", text="Steps Per Second") - colsub.prop(rbw, "num_solver_iterations", text="Solver Iterations") + col = split.column() + col.prop(rbw, "steps_per_second", text="Steps Per Second") + col.prop(rbw, "num_solver_iterations", text="Solver Iterations") class SCENE_PT_rigid_body_cache(SceneButtonsPanel, Panel): -- cgit v1.2.3