Esempio n. 1
0
 def modal(self, context, event):
     self.header_text = "Place Object: (Left Click = Place Object) (Hold Shift = Place Multiple) (Esc = Cancel)"
     context.area.tag_redraw()
     selected_point, selected_obj = fd.get_selection_point(context,event)
     self.obj.location = selected_point
     rotation = object_utils.get_z_rotation(selected_obj, 0)
     self.obj.rotation_euler.z = rotation
     if event.type == 'LEFTMOUSE' and event.value == 'PRESS':
         self.obj.draw_type = 'TEXTURED'
         item = context.scene.objectlib.scene_objects.add()
         item.name = self.obj.name
         if event.shift:
             self.get_object(context)
         else:
             return self.cancel_drop(context,event)
     
     if event.type in {'MIDDLEMOUSE', 'WHEELUPMOUSE', 'WHEELDOWNMOUSE'}:
         return {'PASS_THROUGH'}
     
     if event.type == 'ESC':
         obj_list = []
         obj_list.append(self.obj)
         fd.delete_obj_list(obj_list)
         return self.cancel_drop(context,event)
     
     return {'RUNNING_MODAL'}
Esempio n. 2
0
    def modal(self, context, event):
        self.header_text = "Place Group: (Left Click = Place Group) (Hold Shift = Place Multiple) (Esc = Cancel)"
        context.area.tag_redraw()
        selected_point, selected_obj = fd.get_selection_point(context,event)
        obj_wall_bp = fd.get_wall_bp(selected_obj)
        for obj_bp in self.obj_bps:
            if obj_wall_bp:
                obj_bp.location.x = selected_point[0]
                obj_bp.location.y = selected_point[1]
                obj_bp.location.z = self.grp_z_loc
                obj_bp.rotation_euler = obj_wall_bp.rotation_euler
            else:
                obj_bp.location = selected_point

        if event.type == 'LEFTMOUSE' and event.value == 'PRESS':
            self.place_group(context,selected_obj)
            if event.shift:
                self.get_group(context)
            else:
                return self.cancel_drop(context,event)

        if event.type in {'MIDDLEMOUSE', 'WHEELUPMOUSE', 'WHEELDOWNMOUSE'}:
            return {'PASS_THROUGH'}
         
        if event.type == 'ESC':
            obj_list = []
            for obj in self.grp.objects:
                obj_list.append(obj)
            fd.delete_obj_list(obj_list)
            return self.cancel_drop(context,event)
         
        return {'RUNNING_MODAL'}
 def execute(self, context):
     obj_bp = self.get_bp(context)
     self.make_opening_available(obj_bp)
     bool_list = []
     self.get_boolean_objects(obj_bp, bool_list)
     for bool_obj in bool_list:
         self.remove_referenced_modifiers(context, bool_obj)
     obj_list = []
     obj_list = fd.get_child_objects(obj_bp,obj_list)
     fd.delete_obj_list(obj_list)
     return {'FINISHED'}
Esempio n. 4
0
 def execute(self, context):
     ob = context.scene.objectlib.scene_objects[self.object_name]
     if ob:
         obj = bpy.data.objects[ob.name]
         objects = []
         objects.append(obj)
         fd.delete_obj_list(objects)          
         for index, obj2 in enumerate(context.scene.objectlib.scene_objects):
             if obj2.name == ob.name:
                 context.scene.objectlib.scene_objects.remove(index)
                 break
         
     return {'FINISHED'}
Esempio n. 5
0
 def execute(self,context):
     if self.group_name in bpy.data.groups:
         grp = bpy.data.groups[self.group_name]
         obj_list = []
         for obj in grp.objects:
             obj_list.append(obj)
         fd.delete_obj_list(obj_list)
         bpy.data.groups.remove(grp)
     for index, group in enumerate(context.scene.grouplib.scene_groups):
         if group.name == self.group_name:
             context.scene.grouplib.scene_groups.remove(index)
             break
     return{'FINISHED'}
Esempio n. 6
0
 def place_group(self,context,selected_obj):
     obj_wall_bp = fd.get_wall_bp(selected_obj)
     for obj_bp in self.obj_bps:
         self.set_xray(obj_bp, False)
         if obj_wall_bp:
             self.set_wall_as_parent(obj_wall_bp, obj_bp)
     self.assign_boolean(selected_obj)
     fd.delete_obj_list(self.cages)
     group = context.scene.grouplib.scene_groups.add()
     group.name = self.grp.name
     for obj_bp in self.obj_bps:
         obj_bp.select = True
         context.scene.objects.active = obj_bp
 def cancel_drop(self,context,event):
     fd.delete_object_and_children(self.wall.obj_bp)
     context.window.cursor_set('DEFAULT')
     fd.delete_obj_list([self.drawing_plane])
     return {'FINISHED'}