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

buttons_data_metaball.py « ui « release - git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 88c0066c67fcadc0d4a6d07993b88cb0d44d8061 (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
107
108
109
110
111
112
import bpy

class DataButtonsPanel(bpy.types.Panel):
	__space_type__ = 'PROPERTIES'
	__region_type__ = 'WINDOW'
	__context__ = "data"
	
	def poll(self, context):
		return (context.meta_ball)

class DATA_PT_context_metaball(DataButtonsPanel):
	__show_header__ = False
	
	def draw(self, context):
		layout = self.layout
		
		ob = context.object
		mball = context.meta_ball
		space = context.space_data

		split = layout.split(percentage=0.65)

		if ob:
			split.template_ID(ob, "data")
			split.itemS()
		elif mball:
			split.template_ID(space, "pin_id")
			split.itemS()

class DATA_PT_metaball(DataButtonsPanel):
	__label__ = "Metaball"

	def draw(self, context):
		layout = self.layout
		
		mball = context.meta_ball
		
		split = layout.split()
		
		col = split.column()
		col.itemL(text="Resolution:")
		sub = col.column(align=True)
		sub.itemR(mball, "wire_size", text="View")
		sub.itemR(mball, "render_size", text="Render")	
		
		col = split.column()
		col.itemL(text="Settings:")
		col.itemR(mball, "threshold", text="Threshold")

		layout.itemL(text="Update:")
		layout.itemR(mball, "flag", expand=True)

class DATA_PT_metaball_element(DataButtonsPanel):
	__label__ = "Active Element"
	
	def poll(self, context):
		return (context.meta_ball and context.meta_ball.active_element)

	def draw(self, context):
		layout = self.layout
		
		metaelem = context.meta_ball.active_element
		
		split = layout.split(percentage=0.3)
		split.itemL(text="Type:")	
		split.itemR(metaelem, "type", text="")
		
		split = layout.split()
			
		col = split.column()
		col.itemL(text="Settings:")
		col.itemR(metaelem, "stiffness", text="Stiffness")
		col.itemR(metaelem, "negative", text="Negative")
		col.itemR(metaelem, "hide", text="Hide")
		
		if metaelem.type == 'BALL':
		
			col = split.column(align=True)
			
		elif metaelem.type == 'CUBE':
		
			col = split.column(align=True)
			col.itemL(text="Size:")	
			col.itemR(metaelem, "size_x", text="X")
			col.itemR(metaelem, "size_y", text="Y")
			col.itemR(metaelem, "size_z", text="Z")
			
		elif metaelem.type == 'TUBE':
		
			col = split.column(align=True)
			col.itemL(text="Size:")	
			col.itemR(metaelem, "size_x", text="X")
			
		elif metaelem.type == 'PLANE':
			
			col = split.column(align=True)
			col.itemL(text="Size:")	
			col.itemR(metaelem, "size_x", text="X")
			col.itemR(metaelem, "size_y", text="Y")
			
		elif metaelem.type == 'ELLIPSOID':
			
			col = split.column(align=True)
			col.itemL(text="Size:")	
			col.itemR(metaelem, "size_x", text="X")
			col.itemR(metaelem, "size_y", text="Y")
			col.itemR(metaelem, "size_z", text="Z")
		

bpy.types.register(DATA_PT_context_metaball)
bpy.types.register(DATA_PT_metaball)
bpy.types.register(DATA_PT_metaball_element)