Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'release/scripts/ui/properties_physics_field.py')
-rw-r--r--release/scripts/ui/properties_physics_field.py105
1 files changed, 40 insertions, 65 deletions
diff --git a/release/scripts/ui/properties_physics_field.py b/release/scripts/ui/properties_physics_field.py
index e0be01d4c1c..07d748e8c28 100644
--- a/release/scripts/ui/properties_physics_field.py
+++ b/release/scripts/ui/properties_physics_field.py
@@ -19,24 +19,23 @@
# <pep8 compliant>
import bpy
-narrowui = 180
-
from properties_physics_common import basic_force_field_settings_ui
from properties_physics_common import basic_force_field_falloff_ui
-class PhysicButtonsPanel(bpy.types.Panel):
+class PhysicButtonsPanel():
bl_space_type = 'PROPERTIES'
bl_region_type = 'WINDOW'
bl_context = "physics"
- def poll(self, context):
+ @classmethod
+ def poll(cls, context):
rd = context.scene.render
return (context.object) and (not rd.use_game_engine)
-class PHYSICS_PT_field(PhysicButtonsPanel):
+class PHYSICS_PT_field(PhysicButtonsPanel, bpy.types.Panel):
bl_label = "Force Fields"
def draw(self, context):
@@ -44,22 +43,15 @@ class PHYSICS_PT_field(PhysicButtonsPanel):
ob = context.object
field = ob.field
- wide_ui = context.region.width > narrowui
- if wide_ui:
- split = layout.split(percentage=0.2)
- split.label(text="Type:")
- else:
- split = layout.split()
+ split = layout.split(percentage=0.2)
+ split.label(text="Type:")
split.prop(field, "type", text="")
if field.type not in ('NONE', 'GUIDE', 'TEXTURE'):
- if wide_ui:
- split = layout.split(percentage=0.2)
- split.label(text="Shape:")
- else:
- split = layout.split()
+ split = layout.split(percentage=0.2)
+ split.label(text="Shape:")
split.prop(field, "shape", text="")
split = layout.split()
@@ -71,10 +63,10 @@ class PHYSICS_PT_field(PhysicButtonsPanel):
col.prop(field, "guide_minimum")
col.prop(field, "guide_free")
col.prop(field, "falloff_power")
- col.prop(field, "guide_path_add")
+ col.prop(field, "use_guide_path_add")
+ col.prop(field, "use_guide_path_weight")
- if wide_ui:
- col = split.column()
+ col = split.column()
col.label(text="Clumping:")
col.prop(field, "guide_clump_amount")
col.prop(field, "guide_clump_shape")
@@ -83,7 +75,7 @@ class PHYSICS_PT_field(PhysicButtonsPanel):
row.prop(field, "use_max_distance")
sub = row.row()
sub.active = field.use_max_distance
- sub.prop(field, "maximum_distance")
+ sub.prop(field, "distance_max")
layout.separator()
@@ -97,8 +89,7 @@ class PHYSICS_PT_field(PhysicButtonsPanel):
col.prop(field, "guide_kink_frequency")
col.prop(field, "guide_kink_shape")
- if wide_ui:
- col = split.column()
+ col = split.column()
col.prop(field, "guide_kink_amplitude")
elif field.type == 'TEXTURE':
@@ -108,11 +99,10 @@ class PHYSICS_PT_field(PhysicButtonsPanel):
col.prop(field, "texture_mode", text="")
col.prop(field, "texture_nabla")
- if wide_ui:
- col = split.column()
- col.prop(field, "use_coordinates")
- col.prop(field, "root_coordinates")
- col.prop(field, "force_2d")
+ col = split.column()
+ col.prop(field, "use_object_coords")
+ col.prop(field, "use_root_coords")
+ col.prop(field, "use_2d_force")
else:
basic_force_field_settings_ui(self, context, field)
@@ -133,17 +123,16 @@ class PHYSICS_PT_field(PhysicButtonsPanel):
col.prop(field, "use_radial_min", text="Use Minimum")
col.prop(field, "use_radial_max", text="Use Maximum")
- if wide_ui:
- col = split.column()
+ col = split.column()
col.prop(field, "radial_falloff", text="Power")
sub = col.column()
sub.active = field.use_radial_min
- sub.prop(field, "radial_minimum", text="Angle")
+ sub.prop(field, "radial_min", text="Angle")
sub = col.column()
sub.active = field.use_radial_max
- sub.prop(field, "radial_maximum", text="Angle")
+ sub.prop(field, "radial_max", text="Angle")
elif field.falloff_type == 'TUBE':
layout.separator()
@@ -155,24 +144,24 @@ class PHYSICS_PT_field(PhysicButtonsPanel):
col.prop(field, "use_radial_min", text="Use Minimum")
col.prop(field, "use_radial_max", text="Use Maximum")
- if wide_ui:
- col = split.column()
+ col = split.column()
col.prop(field, "radial_falloff", text="Power")
sub = col.column()
sub.active = field.use_radial_min
- sub.prop(field, "radial_minimum", text="Distance")
+ sub.prop(field, "radial_min", text="Distance")
sub = col.column()
sub.active = field.use_radial_max
- sub.prop(field, "radial_maximum", text="Distance")
+ sub.prop(field, "radial_max", text="Distance")
-class PHYSICS_PT_collision(PhysicButtonsPanel):
+class PHYSICS_PT_collision(PhysicButtonsPanel, bpy.types.Panel):
bl_label = "Collision"
- #bl_default_closed = True
+ #bl_options = {'DEFAULT_CLOSED'}
- def poll(self, context):
+ @classmethod
+ def poll(cls, context):
ob = context.object
rd = context.scene.render
return (ob and ob.type == 'MESH') and (not rd.use_game_engine)
@@ -181,36 +170,32 @@ class PHYSICS_PT_collision(PhysicButtonsPanel):
layout = self.layout
md = context.collision
- wide_ui = context.region.width > narrowui
split = layout.split()
- split.operator_context = 'EXEC_DEFAULT'
if md:
# remove modifier + settings
split.set_context_pointer("modifier", md)
split.operator("object.modifier_remove", text="Remove")
- if wide_ui:
- col = split.column()
+ col = split.column()
#row = split.row(align=True)
- #row.prop(md, "render", text="")
- #row.prop(md, "realtime", text="")
+ #row.prop(md, "show_render", text="")
+ #row.prop(md, "show_viewport", text="")
coll = md.settings
else:
# add modifier
split.operator("object.modifier_add", text="Add").type = 'COLLISION'
- if wide_ui:
- split.label()
+ split.label()
coll = None
if coll:
settings = context.object.collision
- layout.active = settings.enabled
+ layout.active = settings.use
split = layout.split()
@@ -218,23 +203,22 @@ class PHYSICS_PT_collision(PhysicButtonsPanel):
col.label(text="Particle:")
col.prop(settings, "permeability", slider=True)
col.prop(settings, "stickness")
- col.prop(settings, "kill_particles")
+ col.prop(settings, "use_particle_kill")
col.label(text="Particle Damping:")
sub = col.column(align=True)
sub.prop(settings, "damping_factor", text="Factor", slider=True)
- sub.prop(settings, "random_damping", text="Random", slider=True)
+ sub.prop(settings, "damping_random", text="Random", slider=True)
col.label(text="Particle Friction:")
sub = col.column(align=True)
sub.prop(settings, "friction_factor", text="Factor", slider=True)
- sub.prop(settings, "random_friction", text="Random", slider=True)
+ sub.prop(settings, "friction_random", text="Random", slider=True)
- if wide_ui:
- col = split.column()
+ col = split.column()
col.label(text="Soft Body and Cloth:")
sub = col.column(align=True)
- sub.prop(settings, "outer_thickness", text="Outer", slider=True)
- sub.prop(settings, "inner_thickness", text="Inner", slider=True)
+ sub.prop(settings, "thickness_outer", text="Outer", slider=True)
+ sub.prop(settings, "thickness_inner", text="Inner", slider=True)
col.label(text="Soft Body Damping:")
col.prop(settings, "damping", text="Factor", slider=True)
@@ -243,21 +227,12 @@ class PHYSICS_PT_collision(PhysicButtonsPanel):
col.prop(settings, "absorption", text="Absorption")
-classes = [
- PHYSICS_PT_field,
- PHYSICS_PT_collision]
-
-
def register():
- register = bpy.types.register
- for cls in classes:
- register(cls)
+ pass
def unregister():
- unregister = bpy.types.unregister
- for cls in classes:
- unregister(cls)
+ pass
if __name__ == "__main__":
register()