blender/release/ui/space_logic.py
Campbell Barton bf74f105bc small changes...
- allow RNA_property_enum_items to take the totitems int pointer as NULL (spares a loop on all the enum items). this change also makes enums types with no enum array crash in some places, could support these though Id rather disallow them, generating docs is a quick way to test for this.
- open recent file operator used and enum to open the recent file without an enum array, changed to an int type.
- added space_logic.py poll functions
2009-06-23 12:36:15 +00:00

89 lines
2.1 KiB
Python

import bpy
class LOGIC_PT_physics(bpy.types.Panel):
__space_type__ = "LOGIC_EDITOR"
__region_type__ = "UI"
__label__ = "Physics"
def poll(self, context):
ob = context.active_object
return ob and ob.game
def draw(self, context):
layout = self.layout
ob = context.active_object
game = ob.game
flow = layout.column_flow()
flow.active = True
flow.itemR(game, "physics_type")
flow.itemR(game, "actor")
row = layout.row()
row.itemR(game, "ghost")
row.itemR(ob, "restrict_render", text="Invisible") # out of place but useful
flow = layout.column_flow()
flow.itemR(game, "mass")
flow.itemR(game, "radius")
flow.itemR(game, "no_sleeping")
flow.itemR(game, "damping")
flow.itemR(game, "rotation_damping")
flow.itemR(game, "minimum_velocity")
flow.itemR(game, "maximum_velocity")
row = layout.row()
row.itemR(game, "do_fh")
row.itemR(game, "rotation_fh")
flow = layout.column_flow()
flow.itemR(game, "form_factor")
flow.itemR(game, "anisotropic_friction")
flow = layout.column_flow()
flow.active = game.anisotropic_friction
flow.itemR(game, "friction_coefficients")
split = layout.split()
sub = split.column()
sub.itemR(game, "lock_x_axis")
sub.itemR(game, "lock_y_axis")
sub.itemR(game, "lock_z_axis")
sub = split.column()
sub.itemR(game, "lock_x_rot_axis")
sub.itemR(game, "lock_y_rot_axis")
sub.itemR(game, "lock_z_rot_axis")
class LOGIC_PT_collision_bounds(bpy.types.Panel):
__space_type__ = "LOGIC_EDITOR"
__region_type__ = "UI"
__label__ = "Collision Bounds"
def poll(self, context):
ob = context.active_object
return ob and ob.game
def draw_header(self, context):
layout = self.layout
ob = context.active_object
game = ob.game
layout.itemR(game, "use_collision_bounds", text="")
def draw(self, context):
layout = self.layout
ob = context.scene.objects[0]
game = ob.game
flow = layout.column_flow()
flow.active = game.use_collision_bounds
flow.itemR(game, "collision_bounds")
flow.itemR(game, "collision_compound")
flow.itemR(game, "collision_margin")
bpy.types.register(LOGIC_PT_physics)
bpy.types.register(LOGIC_PT_collision_bounds)