[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [21371] branches/soc-2009-yukishiro: add some UI code for light node
Jingyuan Huang
jingyuan.huang at gmail.com
Sun Jul 5 08:36:57 CEST 2009
Revision: 21371
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=21371
Author: yukishiro
Date: 2009-07-05 08:36:56 +0200 (Sun, 05 Jul 2009)
Log Message:
-----------
add some UI code for light node
Modified Paths:
--------------
branches/soc-2009-yukishiro/release/ui/buttons_data_lattice.py
branches/soc-2009-yukishiro/release/ui/buttons_data_mesh.py
branches/soc-2009-yukishiro/release/ui/buttons_data_modifier.py
branches/soc-2009-yukishiro/release/ui/buttons_particle.py
branches/soc-2009-yukishiro/release/ui/buttons_physic_cloth.py
branches/soc-2009-yukishiro/release/ui/buttons_physics_field.py
branches/soc-2009-yukishiro/release/ui/buttons_physics_fluid.py
branches/soc-2009-yukishiro/release/ui/buttons_physics_softbody.py
branches/soc-2009-yukishiro/source/blender/blenkernel/intern/node.c
branches/soc-2009-yukishiro/source/blender/editors/space_node/node_edit.c
branches/soc-2009-yukishiro/source/blender/editors/space_node/node_header.c
branches/soc-2009-yukishiro/source/blender/editors/space_node/node_intern.h
branches/soc-2009-yukishiro/source/blender/makesdna/DNA_lightenv_types.h
branches/soc-2009-yukishiro/source/blender/nodes/LGT_node.h
branches/soc-2009-yukishiro/source/blender/nodes/intern/LGT_nodes/LGT_lightenv.c
Modified: branches/soc-2009-yukishiro/release/ui/buttons_data_lattice.py
===================================================================
--- branches/soc-2009-yukishiro/release/ui/buttons_data_lattice.py 2009-07-05 04:05:57 UTC (rev 21370)
+++ branches/soc-2009-yukishiro/release/ui/buttons_data_lattice.py 2009-07-05 06:36:56 UTC (rev 21371)
@@ -48,7 +48,7 @@
row.itemR(lat, "interpolation_type_w", expand=True)
row = layout.row()
+ row.itemO("LATTICE_OT_make_regular")
row.itemR(lat, "outside")
- row.itemR(lat, "shape_keys")
bpy.types.register(DATA_PT_lattice)
Modified: branches/soc-2009-yukishiro/release/ui/buttons_data_mesh.py
===================================================================
--- branches/soc-2009-yukishiro/release/ui/buttons_data_mesh.py 2009-07-05 04:05:57 UTC (rev 21370)
+++ branches/soc-2009-yukishiro/release/ui/buttons_data_mesh.py 2009-07-05 06:36:56 UTC (rev 21371)
@@ -131,17 +131,45 @@
def draw(self, context):
layout = self.layout
ob = context.object
+ key = ob.data.shape_keys
+ kb = ob.active_shape_key
row = layout.row()
+ row.template_list(key, "keys", ob, "active_shape_key_index")
- key = ob.data.shape_keys
+ col = row.column()
- row.template_list(key, "keys", ob, "active_shape_key_index")
+ subcol = col.column(align=True)
+ subcol.itemO("OBJECT_OT_shape_key_add", icon="ICON_ZOOMIN", text="")
+ subcol.itemO("OBJECT_OT_shape_key_remove", icon="ICON_ZOOMOUT", text="")
- col = row.column(align=True)
- col.itemO("OBJECT_OT_shape_key_add", icon="ICON_ZOOMIN", text="")
- col.itemO("OBJECT_OT_shape_key_remove", icon="ICON_ZOOMOUT", text="")
+ if kb:
+ col.itemS()
+ subcol = col.column(align=True)
+ subcol.itemR(ob, "shape_key_lock", icon="ICON_PINNED", text="")
+ subcol.itemR(kb, "mute", icon="ICON_MUTE_IPO_ON", text="")
+
+ if key.relative:
+ row = layout.row()
+ row.itemR(key, "relative")
+ row.itemL()
+
+ if ob.active_shape_key_index != 0:
+ if not ob.shape_key_lock:
+ row = layout.row(align=True)
+ row.itemR(kb, "value", text="")
+ row.itemR(kb, "slider_min", text="Min")
+ row.itemR(kb, "slider_max", text="Max")
+
+ row = layout.row()
+ row.item_pointerR(kb, "vertex_group", ob, "vertex_groups", text="")
+ row.item_pointerR(kb, "relative_key", key, "keys", text="")
+ else:
+ row = layout.row()
+ row.itemR(key, "relative")
+ row.itemR(key, "slurph")
+
if context.edit_object:
layout.enabled = False
Modified: branches/soc-2009-yukishiro/release/ui/buttons_data_modifier.py
===================================================================
--- branches/soc-2009-yukishiro/release/ui/buttons_data_modifier.py 2009-07-05 04:05:57 UTC (rev 21370)
+++ branches/soc-2009-yukishiro/release/ui/buttons_data_modifier.py 2009-07-05 06:36:56 UTC (rev 21371)
@@ -300,10 +300,19 @@
col.itemR(md, "normal")
col.itemR(md, "children")
col.itemR(md, "path")
+ if md.path:
+ col.itemR(md, "keep_shape")
col.itemR(md, "unborn")
col.itemR(md, "alive")
col.itemR(md, "dead")
+ if md.path:
+ col.itemR(md, "axis", text="")
+ if md.path:
+ row = layout.row()
+ row.itemR(md, "position", slider=True)
+ row.itemR(md, "random_position", text = "Random", slider=True)
+
def particlesystem(self, layout, ob, md):
layout.itemL(text="See Particle panel.")
Modified: branches/soc-2009-yukishiro/release/ui/buttons_particle.py
===================================================================
--- branches/soc-2009-yukishiro/release/ui/buttons_particle.py 2009-07-05 04:05:57 UTC (rev 21370)
+++ branches/soc-2009-yukishiro/release/ui/buttons_particle.py 2009-07-05 06:36:56 UTC (rev 21371)
@@ -353,19 +353,14 @@
colsub.itemR(part, "adaptive_pix")
sub.itemR(part, "hair_bspline")
sub.itemR(part, "render_step", text="Steps")
- sub = split.column()
- sub.itemL(text="Length:")
- sub.itemR(part, "abs_length", text="Absolute")
- sub.itemR(part, "absolute_length", text="Maximum")
+ sub = split.column()
+
+ sub.itemL(text="Timing:")
+ sub.itemR(part, "abs_path_time")
+ sub.itemR(part, "path_start", text="Start", slider= not part.abs_path_time)
+ sub.itemR(part, "path_end", text="End", slider= not part.abs_path_time)
sub.itemR(part, "random_length", text="Random", slider=True)
- #row = layout.row()
- #row.itemR(part, "timed_path")
- #col = row.column(align=True)
- #col.active = part.timed_path == True
- #col.itemR(part, "line_length_tail", text="Start")
- #col.itemR(part, "line_length_head", text="End")
-
row = layout.row()
col = row.column()
@@ -384,7 +379,6 @@
elif part.ren_as == 'OBJECT':
- #sub = split.column()
sub.itemR(part, "dupli_object")
elif part.ren_as == 'GROUP':
sub.itemR(part, "dupli_group")
@@ -428,7 +422,19 @@
row.itemR(part, "billboard_animation", expand=True)
row.itemL(text="Offset:")
row.itemR(part, "billboard_split_offset", expand=True)
-
+ if part.ren_as == 'HALO' or part.ren_as == 'LINE' or part.ren_as=='BILLBOARD':
+ row = layout.row()
+ col = row.column()
+ col.itemR(part, "trail_count")
+ if part.trail_count > 1:
+ col.itemR(part, "abs_path_time", text="Length in frames")
+ col = row.column()
+ col.itemR(part, "path_end", text="Length", slider=not part.abs_path_time)
+ col.itemR(part, "random_length", text="Random", slider=True)
+ else:
+ col = row.column()
+ col.itemL(text="")
+
class PARTICLE_PT_draw(ParticleButtonsPanel):
__idname__= "PARTICLE_PT_draw"
__label__ = "Display"
@@ -475,11 +481,12 @@
col.itemR(part, "draw_health")
col = row.column()
+ col.itemR(part, "material_color", text="Use material color")
+
if (path):
box = col.box()
box.itemR(part, "draw_step")
else:
- col.itemR(part, "material_color", text="Use material color")
subcol = col.column()
subcol.active = part.material_color==False
#subcol.itemL(text="color")
Modified: branches/soc-2009-yukishiro/release/ui/buttons_physic_cloth.py
===================================================================
--- branches/soc-2009-yukishiro/release/ui/buttons_physic_cloth.py 2009-07-05 04:05:57 UTC (rev 21370)
+++ branches/soc-2009-yukishiro/release/ui/buttons_physic_cloth.py 2009-07-05 06:36:56 UTC (rev 21371)
@@ -7,7 +7,8 @@
__context__ = "physics"
def poll(self, context):
- return (context.object != None)
+ ob = context.object
+ return (ob and ob.type == 'MESH')
class PHYSICS_PT_cloth(PhysicButtonsPanel):
__idname__ = "PHYSICS_PT_cloth"
Modified: branches/soc-2009-yukishiro/release/ui/buttons_physics_field.py
===================================================================
--- branches/soc-2009-yukishiro/release/ui/buttons_physics_field.py 2009-07-05 04:05:57 UTC (rev 21370)
+++ branches/soc-2009-yukishiro/release/ui/buttons_physics_field.py 2009-07-05 06:36:56 UTC (rev 21371)
@@ -30,6 +30,11 @@
class PHYSICS_PT_collision(PhysicButtonsPanel):
__idname__ = "PHYSICS_PT_collision"
__label__ = "Collision"
+ __default_closed__ = True
+
+ def poll(self, context):
+ ob = context.object
+ return (ob and ob.type == 'MESH')
def draw_header(self, context):
settings = context.object.collision
@@ -40,9 +45,22 @@
md = context.collision
settings = context.object.collision
- if settings.enabled:
- pass
+ layout.active = settings.enabled
+
+ split = layout.split()
+
+ col = split.column()
+ col.itemL(text="Damping:")
+ col.itemR(settings, "damping_factor", text="Factor");
+ col.itemR(settings, "random_damping", text="Random");
+
+ col = split.column()
+ col.itemL(text="Friction:")
+ col.itemR(settings, "friction_factor", text="Factor");
+ col.itemR(settings, "random_friction", text="Random");
+
+ layout.itemR(settings, "permeability");
+ layout.itemR(settings, "kill_particles");
bpy.types.register(PHYSICS_PT_field)
bpy.types.register(PHYSICS_PT_collision)
-
Modified: branches/soc-2009-yukishiro/release/ui/buttons_physics_fluid.py
===================================================================
--- branches/soc-2009-yukishiro/release/ui/buttons_physics_fluid.py 2009-07-05 04:05:57 UTC (rev 21370)
+++ branches/soc-2009-yukishiro/release/ui/buttons_physics_fluid.py 2009-07-05 06:36:56 UTC (rev 21371)
@@ -49,14 +49,175 @@
row.item_enumR(fluid, "type", "PARTICLE")
row.item_enumR(fluid, "type", "CONTROL")
- if fluid.type == "DOMAIN":
+ if fluid.type == 'DOMAIN':
layout.itemO("FLUID_OT_bake", text="BAKE")
+ layout.itemL(text="Required Memory: " + fluid.memory_estimate)
+
+ layout.itemL(text="Resolution:")
+
+ split = layout.split()
+
+ col = split.column()
+ colsub = col.column(align=True)
+ colsub.itemR(fluid, "resolution", text="Final")
+ colsub.itemR(fluid, "render_display_mode", text="")
+ colsub = col.column(align=True)
+ colsub.itemL(text="Time:")
+ colsub.itemR(fluid, "start_time", text="Start")
+ colsub.itemR(fluid, "end_time", text="End")
+
+ col = split.column()
+ colsub = col.column(align=True)
+ colsub.itemR(fluid, "preview_resolution", text="Preview", slider=True)
+ colsub.itemR(fluid, "viewport_display_mode", text="")
+ colsub = col.column()
+ colsub.itemR(fluid, "reverse_frames")
+ colsub.itemR(fluid, "generate_speed_vectors")
+ colsub.itemR(fluid, "path", text="")
+
+ if fluid.type in ('FLUID', 'OBSTACLE', 'INFLOW', 'OUTFLOW'):
+ layout.itemR(fluid, "volume_initialization")
+
+ if fluid.type == 'FLUID':
+ row = layout.row()
+ row.column().itemR(fluid, "initial_velocity")
+ row.itemR(fluid, "export_animated_mesh")
+
+ if fluid.type == 'OBSTACLE':
+ row = layout.row()
+ row.itemL()
+ row.itemR(fluid, "export_animated_mesh")
+ layout.itemR(fluid, "slip_type", expand=True)
+ if fluid.slip_type == 'PARTIALSLIP':
+ layout.itemR(fluid, "partial_slip_amount", text="Amount")
+
+ layout.itemR(fluid, "impact_factor")
+
+ if fluid.type == 'INFLOW':
+ row = layout.row()
+ row.column().itemR(fluid, "inflow_velocity")
+ row.itemR(fluid, "export_animated_mesh")
+ layout.itemR(fluid, "local_coordinates")
+
+ if fluid.type == 'OUTFLOW':
+ row = layout.row()
+ row.itemL()
+ row.itemR(fluid, "export_animated_mesh")
+
+ if fluid.type == 'PARTICLE':
+ split = layout.split()
+
+ col = split.column()
+ col.itemL(text="Type:")
+ col.itemR(fluid, "drops")
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list