from base import pContext from . import Area class GuiRoom: def draw(self, context, layout): o = context.scene.objects.active layout.prop(o, "name") layout.operator("prk.set_material_from_texture") layout.operator("prk.extruded_add") class Room(Area): type = "room" name = "Room" pContext.register(Room, GuiRoom)
break loop = vert.link_loops[1] if vert.link_loops[ 0] == loop else vert.link_loops[0] if loop == _loop: break e1 = e2 setBmesh(o, bm) def getInitialLoop(self, bm): # find the first occurrence of a number in the names of vertex groups for g in self.obj.vertex_groups: g = g.name if g.isdigit(): break # getting bottom <vb> and top <vt> vertices vb, vt = getVertsForVertexGroup(self.obj, bm, g) if vb.co.z > vt.co.z: vb, vt = vt, vb if len(vb.link_loops) == 1: # <vb> and <vt> are located at an open end of the finish loop1 = vb.link_loops[0] else: # len(vb.link_loops) == 2 loop1, loop2 = vb.link_loops # ensure that loop1 goes horizontally if loop1.link_loop_next.vert == vt: loop1 = loop2 return loop1 pContext.register(FinFlat, GuiFinish)
from item.opening import Opening from gui.workshop import common class GuiDoor: itemName = "door" def draw(self, context, layout): layout.label("A door") def draw_workshop(self, context, layout): common(context, layout, self) layout.separator() layout.label("Handle:") box = layout.box() box.label("test") class Door(Opening): type = "door" name = "Door" floorToWindow = 0. pContext.register(Door, GuiDoor)
prk = context.scene.prk layout.prop(prk, "textureWidth") layout.prop(prk, "textureHeight") class Texture: """ A proxy for Blender material made of a diffuse texture from a file """ type = "texture" def __init__(self, createBlenderMaterial=False, **kwargs): if createBlenderMaterial: self.m = self.create(kwargs) def create(self, kwargs): m = loadMaterialFromFile(materialsPath, materialName) nodes = m.node_tree.nodes nodes["Image Texture"].image = bpy.data.images.load(kwargs["texturePath"]) if "w" in kwargs and "h" in kwargs: n = nodes["Mapping"] n.scale.x = 1./kwargs["w"] n.scale.y = 1./kwargs["h"] nodes["UV Map"].uv_map = defaultUvMap return m pContext.register(Texture, GuiTexture)
# reached the opposite end (end if the finish sequence isn't a closed sequence) break loop = vert.link_loops[1] if vert.link_loops[0] == loop else vert.link_loops[0] if loop == _loop: break e1 = e2 setBmesh(o, bm) def getInitialLoop(self, bm): # find the first occurrence of a number in the names of vertex groups for g in self.obj.vertex_groups: g = g.name if g.isdigit(): break # getting bottom <vb> and top <vt> vertices vb, vt = getVertsForVertexGroup(self.obj, bm, g) if vb.co.z > vt.co.z: vb, vt = vt, vb if len(vb.link_loops) == 1: # <vb> and <vt> are located at an open end of the finish loop1 = vb.link_loops[0] else: # len(vb.link_loops) == 2 loop1, loop2 = vb.link_loops # ensure that loop1 goes horizontally if loop1.link_loop_next.vert == vt: loop1 = loop2 return loop1 pContext.register(FinFlat, GuiFinish)
return def lookup(parent): for o in parent.children: if o.type == "MESH" and o.data.shape_keys: keyBlock = o.data.shape_keys.key_blocks.get("frame_width") if keyBlock: keyBlock.value = value/shapeKeyOffset if o.children: lookup(o) # perform lookup starting from <o> lookup(o) def getFrameWidth(self): keyBlock = None def lookup(parent): for o in parent.children: if o.type == "MESH" and o.data.shape_keys: keyBlock = o.data.shape_keys.key_blocks.get("frame_width") if keyBlock: return keyBlock if o.children: return lookup(o) # Get the first encountered Blender MESH with the shape key <frame_width>, # perform lookup starting from <o> for that keyBlock = lookup(bpy.context.object) return shapeKeyOffset * keyBlock.value if keyBlock else 0. pContext.register(Window, GuiWindow)
if o.type == "MESH" and o.data.shape_keys: keyBlock = o.data.shape_keys.key_blocks.get("frame_width") if keyBlock: keyBlock.value = value / shapeKeyOffset if o.children: lookup(o) # perform lookup starting from <o> lookup(o) def getFrameWidth(self): keyBlock = None def lookup(parent): for o in parent.children: if o.type == "MESH" and o.data.shape_keys: keyBlock = o.data.shape_keys.key_blocks.get("frame_width") if keyBlock: return keyBlock if o.children: return lookup(o) # Get the first encountered Blender MESH with the shape key <frame_width>, # perform lookup starting from <o> for that keyBlock = lookup(bpy.context.object) return shapeKeyOffset * keyBlock.value if keyBlock else 0. pContext.register(Window, GuiWindow)
prk = context.scene.prk layout.prop(prk, "textureWidth") layout.prop(prk, "textureHeight") class Texture: """ A proxy for Blender material made of a diffuse texture from a file """ type = "texture" def __init__(self, createBlenderMaterial=False, **kwargs): if createBlenderMaterial: self.m = self.create(kwargs) def create(self, kwargs): m = loadMaterialFromFile(materialsPath, materialName) nodes = m.node_tree.nodes nodes["Image Texture"].image = bpy.data.images.load( kwargs["texturePath"]) if "w" in kwargs and "h" in kwargs: n = nodes["Mapping"] n.scale.x = 1. / kwargs["w"] n.scale.y = 1. / kwargs["h"] nodes["UV Map"].uv_map = defaultUvMap return m pContext.register(Texture, GuiTexture)