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

git.blender.org/blender-addons.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSpivak Vladimir (cwolf3d) <cwolf3d@gmail.com>2019-10-08 02:13:01 +0300
committerSpivak Vladimir (cwolf3d) <cwolf3d@gmail.com>2019-10-08 02:13:01 +0300
commit4d3b1dcc35881a641620389c3255b70ff8c60153 (patch)
tree053fe80c251cc1268cbae5cde2ffb57dc0c9b99a /mesh_bsurfaces.py
parent998d5e9d0d121f3c8b2e33a085566e3e88639854 (diff)
Addon: BSurfaces: Fixed bugs
Diffstat (limited to 'mesh_bsurfaces.py')
-rw-r--r--mesh_bsurfaces.py44
1 files changed, 16 insertions, 28 deletions
diff --git a/mesh_bsurfaces.py b/mesh_bsurfaces.py
index b2a6edeb..9e9ae09d 100644
--- a/mesh_bsurfaces.py
+++ b/mesh_bsurfaces.py
@@ -1386,7 +1386,7 @@ class GPENCIL_OT_SURFSK_add_surface(Operator):
return
# Part of the Crosshatch process that is repeated when the operator is tweaked
- def crosshatch_surface_execute(self):
+ def crosshatch_surface_execute(self, context):
# If the main object uses modifiers deactivate them temporarily until the surface is joined
# (without this the surface verts merging with the main object doesn't work well)
self.modifiers_prev_viewport_state = []
@@ -1413,12 +1413,7 @@ class GPENCIL_OT_SURFSK_add_surface(Operator):
all_edges.append((len(all_verts_coords) - 2, len(all_verts_coords) - 1))
me.from_pydata(all_verts_coords, all_edges, [])
-
- me.update()
-
- ob = bpy.data.objects.new(me_name, me)
- ob.data = me
- bpy.context.collection.objects.link(ob)
+ ob = object_utils.object_data_add(context, me)
bpy.ops.object.select_all('INVOKE_REGION_WIN', action='DESELECT')
ob.select_set(True)
@@ -1590,13 +1585,8 @@ class GPENCIL_OT_SURFSK_add_surface(Operator):
# Build the mesh
surf_me_name = "SURFSKIO_surface"
me_surf = bpy.data.meshes.new(surf_me_name)
-
me_surf.from_pydata(all_surface_verts_co, [], all_surface_faces)
-
- me_surf.update()
-
- ob_surface = bpy.data.objects.new(surf_me_name, me_surf)
- bpy.context.collection.objects.link(ob_surface)
+ ob_surface = object_utils.object_data_add(context, me_surf)
# Delete final points temporal object
bpy.ops.object.delete({"selected_objects": [final_points_ob]})
@@ -1765,7 +1755,7 @@ class GPENCIL_OT_SURFSK_add_surface(Operator):
return {'FINISHED'}
- def rectangular_surface(self):
+ def rectangular_surface(self, context):
# Selected edges
all_selected_edges_idx = []
all_selected_verts = []
@@ -3043,13 +3033,8 @@ class GPENCIL_OT_SURFSK_add_surface(Operator):
# Build the mesh
surf_me_name = "SURFSKIO_surface"
me_surf = bpy.data.meshes.new(surf_me_name)
-
me_surf.from_pydata(all_surface_verts_co, [], all_surface_faces)
-
- me_surf.update()
-
- ob_surface = bpy.data.objects.new(surf_me_name, me_surf)
- bpy.context.collection.objects.link(ob_surface)
+ ob_surface = object_utils.object_data_add(context, me_surf)
# Select all the "unselected but participating" verts, from closed selection
# or double selections with middle-vertex, for later join with remove doubles
@@ -3165,7 +3150,7 @@ class GPENCIL_OT_SURFSK_add_surface(Operator):
bpy.ops.object.editmode_toggle('INVOKE_REGION_WIN')
if strokes_for_rectangular_surface:
- self.rectangular_surface()
+ self.rectangular_surface(context)
elif strokes_for_crosshatch:
self.crosshatch_surface_execute()
@@ -3241,7 +3226,6 @@ class GPENCIL_OT_SURFSK_add_surface(Operator):
self.update()
self.main_object_selected_verts_count = len([v for v in self.main_object.data.vertices if v.select])
- print(self.main_object_selected_verts_count)
bpy.ops.wm.context_set_value(data_path='tool_settings.mesh_select_mode',
value='True, False, False')
@@ -3520,10 +3504,13 @@ class GPENCIL_OT_SURFSK_init(Operator):
bpy.ops.object.mode_set('INVOKE_REGION_WIN', mode='OBJECT')
+ global global_color
+ global global_offset
+ global global_in_front
+ global global_mesh_object
+ global global_gpencil_object
+
if bs.SURFSK_mesh == None:
- global global_color
- global global_offset
- global global_in_front
bpy.ops.object.select_all('INVOKE_REGION_WIN', action='DESELECT')
mesh = bpy.data.meshes.new('BSurfaceMesh')
mesh_object = object_utils.object_data_add(context, mesh)
@@ -3546,8 +3533,7 @@ class GPENCIL_OT_SURFSK_init(Operator):
modifier.show_on_cage = True
global_offset = bpy.context.scene.bsurfaces.SURFSK_Shrinkwrap_offset
modifier.offset = global_offset
-
- global global_mesh_object
+
global_mesh_object = mesh_object.name
bpy.context.scene.bsurfaces.SURFSK_mesh = bpy.data.objects[global_mesh_object]
@@ -3570,7 +3556,6 @@ class GPENCIL_OT_SURFSK_init(Operator):
gpencil_object.select_set(True)
bpy.context.view_layer.objects.active = gpencil_object
bpy.ops.object.mode_set('INVOKE_REGION_WIN', mode='PAINT_GPENCIL')
- global global_gpencil_object
global_gpencil_object = gpencil_object.name
bpy.context.scene.bsurfaces.SURFSK_gpencil = bpy.data.objects[global_gpencil_object]
gpencil_object.data.stroke_depth_order = '3D'
@@ -3580,6 +3565,9 @@ class GPENCIL_OT_SURFSK_init(Operator):
if context.scene.bsurfaces.SURFSK_guide == 'Annotation':
bpy.ops.wm.tool_set_by_id(name="builtin.annotate")
bpy.context.scene.tool_settings.annotation_stroke_placement_view3d = 'SURFACE'
+
+ if context.scene.bsurfaces.SURFSK_guide == 'Curve':
+ bpy.data.objects[global_mesh_object].data.vertices.add(1)
return {"FINISHED"}