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

buttons_physic_cloth.py « ui « release - git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: bd65392ad63426d5d2350b74d84b73bf95f66d6e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106

import bpy

class PhysicButtonsPanel(bpy.types.Panel):
	__space_type__ = "BUTTONS_WINDOW"
	__region_type__ = "WINDOW"
	__context__ = "physics"

	def poll(self, context):
		return (context.cloth != None)
		
class Physic_PT_cloth(PhysicButtonsPanel):
	__idname__ = "Physic_PT_cloth"
	__label__ = "Cloth"

	def draw(self, context):
		layout = self.layout
		cloth = context.cloth.settings
		
		split = layout.split()
		
		col = split.column()
		col.itemR(cloth, "quality", slider=True)
		col.itemR(cloth, "gravity")
		col.itemR(cloth, "mass")
		col.itemR(cloth, "mass_vertex_group", text="Vertex Group")

		col = split.column()
		col.itemL(text="Stiffness:")
		col.itemR(cloth, "structural_stiffness", text="Structural")
		col.itemR(cloth, "bending_stiffness", text="Bending")
		col.itemL(text="Damping:")
		col.itemR(cloth, "spring_damping", text="Spring")
		col.itemR(cloth, "air_damping", text="Air")
		
		# Disabled for now
		"""
		if cloth.mass_vertex_group:
			layout.itemL(text="Goal:")
		
			col = layout.column_flow()
			col.itemR(cloth, "goal_default", text="Default")
			col.itemR(cloth, "goal_spring", text="Stiffness")
			col.itemR(cloth, "goal_friction", text="Friction")
		"""
	
class Physic_PT_cloth_collision(PhysicButtonsPanel):
	__idname__ = "Physic_PT_clothcollision"
	__label__ = "Cloth Collision"
	
	def draw_header(self, context):
		layout = self.layout
		cloth = context.cloth.collision_settings
	
		layout.itemR(cloth, "enable_collision", text="")

	def draw(self, context):
		layout = self.layout
		cloth = context.cloth.collision_settings
		
		layout.active = cloth.enable_collision	
		
		col = layout.column_flow()
		col.itemR(cloth, "collision_quality", slider=True)
		col.itemR(cloth, "friction")
		col.itemR(cloth, "min_distance", text="MinDistance")
		
		
		layout.itemR(cloth, "enable_self_collision", text="Self Collision")
		
		col = layout.column_flow()
		col.active = cloth.enable_self_collision
		col.itemR(cloth, "self_collision_quality", slider=True)
		col.itemR(cloth, "self_min_distance", text="MinDistance")

class Physic_PT_cloth_stiffness(PhysicButtonsPanel):
	__idname__ = "Physic_PT_stiffness"
	__label__ = "Cloth Stiffness Scaling"
	
	def draw_header(self, context):
		layout = self.layout
		cloth = context.cloth.settings
	
		layout.itemR(cloth, "stiffness_scaling", text="")

	def draw(self, context):
		layout = self.layout
		cloth = context.cloth.settings
		
		layout.active = cloth.stiffness_scaling	
		
		split = layout.split()
		
		sub = split.column()
		sub.itemL(text="Structural Stiffness:")
		sub.column().itemR(cloth, "structural_stiffness_vertex_group", text="VGroup")
		sub.itemR(cloth, "structural_stiffness_max", text="Max")
		
		sub = split.column()
		sub.itemL(text="Bending Stiffness:")
		sub.column().itemR(cloth, "bending_vertex_group", text="VGroup")
		sub.itemR(cloth, "bending_stiffness_max", text="Max")
		
bpy.types.register(Physic_PT_cloth)
bpy.types.register(Physic_PT_cloth_collision)
bpy.types.register(Physic_PT_cloth_stiffness)