[Bf-extensions-cvs] [7c3da5f] master: ewoc_projects_tools version 1.4.0
Gert De Roost
noreply at git.blender.org
Tue Oct 28 00:20:17 CET 2014
Commit: 7c3da5fa681a5827173070bb049db7aba193ab51
Author: Gert De Roost
Date: Mon Oct 27 20:01:53 2014 +0100
Branches: master
https://developer.blender.org/rBAC7c3da5fa681a5827173070bb049db7aba193ab51
ewoc_projects_tools version 1.4.0
===================================================================
M ewoc_projects_tools/__init__.py
M ewoc_projects_tools/mesh_edgegrow.py
M ewoc_projects_tools/mesh_edgetune.py
M ewoc_projects_tools/mesh_fanconnect.py
M ewoc_projects_tools/mesh_floodsel.py
M ewoc_projects_tools/mesh_paredge.py
M ewoc_projects_tools/object_decouple.py
M ewoc_projects_tools/object_keeptrans.py
===================================================================
diff --git a/ewoc_projects_tools/__init__.py b/ewoc_projects_tools/__init__.py
index ab28f24..a98e95e 100644
--- a/ewoc_projects_tools/__init__.py
+++ b/ewoc_projects_tools/__init__.py
@@ -21,9 +21,9 @@
bl_info = {
"name": "EWOCprojects tools",
"author": "Gert De Roost - paleajed",
- "version": (1, 3, 1),
- "blender": (2, 71, 0),
- "location": "View3D > Tool Shelf > Addons & Specials (W-key)",
+ "version": (1, 4, 0),
+ "blender": (2, 65, 0),
+ "location": "View3D > Toolbar and View3D > Specials (W-key)",
"description": "Edit mode tools - contrib version",
"warning": "",
"wiki_url": "",
@@ -115,9 +115,7 @@ class PaleajedPanel(bpy.types.Panel):
bl_label = "EWOCprojects tools"
bl_space_type = 'VIEW_3D'
bl_region_type = 'TOOLS'
- bl_options = {'DEFAULT_CLOSED'}
- bl_category = "Addons"
-
+ bl_category = 'Tools'
def draw(self, context):
scn = bpy.context.scene
diff --git a/ewoc_projects_tools/mesh_edgegrow.py b/ewoc_projects_tools/mesh_edgegrow.py
index 272a724..c6395f2 100644
--- a/ewoc_projects_tools/mesh_edgegrow.py
+++ b/ewoc_projects_tools/mesh_edgegrow.py
@@ -43,8 +43,8 @@ Save as Default (Optional).
bl_info = {
"name": "EdgeGrow",
"author": "Gert De Roost",
- "version": (0, 4, 0),
- "blender": (2, 68, 0),
+ "version": (0, 4, 1),
+ "blender": (2, 65, 0),
"location": "View3D > Tools",
"description": "Growing edgeloops with arrowkeys",
"warning": "",
@@ -342,7 +342,7 @@ class EdgeGrow(bpy.types.Operator):
if len(self.edgelist[i]) == 1:
if i == 0:
x1, y = self.getscreencoords(v.co)
- x2, y = self.getscreencoords(edgelist[i][0].other_vert(v).co)
+ x2, y = self.getscreencoords(self.edgelist[i][0].other_vert(v).co)
if x1 < x2:
self.singledir[0] = v
else:
@@ -618,7 +618,7 @@ class EdgeGrow(bpy.types.Operator):
glEnd()
- def setcursors(self, v):
+ def setcursors(self, v, posn):
# what it says
if self.oldstate[posn] == 'START':
@@ -653,7 +653,7 @@ class EdgeGrow(bpy.types.Operator):
# if snake is one edge, use singledir vert for orientation
v = lst[0].verts[0]
self.drawedges(v, lst[0])
- self.setcursors(v)
+ self.setcursors(v, posn)
if self.oldstate[posn] == 'INIT':
if self.singledir[posn] == v:
self.startcur[posn] = self.tempcur
@@ -661,7 +661,7 @@ class EdgeGrow(bpy.types.Operator):
self.endcur[posn] = self.tempcur
v = lst[0].verts[1]
self.drawedges(v, lst[0])
- self.setcursors(v)
+ self.setcursors(v, posn)
if self.oldstate[posn] == 'INIT':
if self.singledir[posn] == v:
self.startcur[posn] = self.tempcur
diff --git a/ewoc_projects_tools/mesh_edgetune.py b/ewoc_projects_tools/mesh_edgetune.py
index 81453f4..b459948 100644
--- a/ewoc_projects_tools/mesh_edgetune.py
+++ b/ewoc_projects_tools/mesh_edgetune.py
@@ -61,8 +61,8 @@ This script is an implementation of the concept of sliding vertices around
bl_info = {
"name": "EdgeTune",
"author": "Gert De Roost",
- "version": (3, 5, 0),
- "blender": (2, 63, 0),
+ "version": (3, 5, 1),
+ "blender": (2, 65, 0),
"location": "View3D > Tools",
"description": "Tuning edgeloops by redrawing them manually, sliding verts.",
"warning": "",
@@ -125,7 +125,6 @@ class EdgeTune(bpy.types.Operator):
if event.type == 'RIGHTMOUSE':
# cancel operation, reset to bmumdo mesh
bpy.types.SpaceView3D.draw_handler_remove(self._handle, 'WINDOW')
- self.bm.free()
bpy.ops.object.editmode_toggle()
self.bmundo.to_mesh(self.mesh)
bpy.ops.object.editmode_toggle()
@@ -155,9 +154,9 @@ class EdgeTune(bpy.types.Operator):
elif event.type == 'RET':
# Consolidate changes.
# Free the bmesh.
- self.bm.free()
self.bmundo.free()
bpy.types.SpaceView3D.draw_handler_remove(self._handle, 'WINDOW')
+ self.region.tag_redraw()
return {'FINISHED'}
elif event.type == 'MOUSEMOVE':
diff --git a/ewoc_projects_tools/mesh_fanconnect.py b/ewoc_projects_tools/mesh_fanconnect.py
index bb87f8f..a93547d 100644
--- a/ewoc_projects_tools/mesh_fanconnect.py
+++ b/ewoc_projects_tools/mesh_fanconnect.py
@@ -37,8 +37,8 @@ Save as Default (Optional).
bl_info = {
"name": "FanConnect",
"author": "Gert De Roost",
- "version": (0, 2, 0),
- "blender": (2, 63, 0),
+ "version": (0, 2, 1),
+ "blender": (2, 65, 0),
"location": "View3D > Tools",
"description": "Connects multiple selected verts to one single other vert.",
"warning": "",
@@ -101,7 +101,7 @@ class FanConnect(bpy.types.Operator):
for f in actvert.link_faces:
if v in f.verts:
# when already face: split it
- bmesh.utils.face_split(f, v, actvert)
+ bmesh.ops.connect_verts(self.bm, verts=[v, actvert])
for v in vertlist:
v2 = None
for e in v.link_edges:
diff --git a/ewoc_projects_tools/mesh_floodsel.py b/ewoc_projects_tools/mesh_floodsel.py
index 1428fb9..e308970 100644
--- a/ewoc_projects_tools/mesh_floodsel.py
+++ b/ewoc_projects_tools/mesh_floodsel.py
@@ -42,8 +42,8 @@ Save as Default (Optional).
bl_info = {
"name": "FloodSel",
"author": "Gert De Roost",
- "version": (1, 0, 0),
- "blender": (2, 63, 0),
+ "version": (1, 1, 2),
+ "blender": (2, 65, 0),
"location": "View3D > Tools",
"description": "Flood-(de)select areas.",
"warning": "",
@@ -142,6 +142,7 @@ class FloodSel(bpy.types.Operator):
for elem in self.doneset:
elem.select = not(self.state)
if not(self.Multiple):
+ started = False
self.bm.free()
bpy.ops.object.editmode_toggle()
bpy.ops.object.editmode_toggle()
@@ -170,14 +171,14 @@ class FloodSel(bpy.types.Operator):
if not(a.type == 'VIEW_3D'):
continue
for r in a.regions:
- if not(r.type == 'WINDOW'):
- continue
if mxa > r.x and mya > r.y and mxa < r.x + r.width and mya < r.y + r.height:
+ if not(r.type == 'WINDOW'):
+ self.region = None
+ break
self.region = r
for sp in a.spaces:
if sp.type == 'VIEW_3D':
self.space = sp
- break
if not(self.region):
if len(self.doneset):
@@ -236,7 +237,7 @@ class FloodSel(bpy.types.Operator):
if 'EDGE' in self.bm.select_mode:
startlist = []
for e in face.edges:
- if e.select == state:
+ if e.select == self.state:
startlist.append(e)
scanlist = list(startlist)
self.doneset = set(startlist)
@@ -271,7 +272,7 @@ class FloodSel(bpy.types.Operator):
for f in v.link_faces:
cands.append(f)
for f in cands:
- if f != face and not(f in doneset) and f.select == self.state:
+ if f != face and not(f in self.doneset) and f.select == self.state:
self.doneset.add(f)
scanlist.append(f)
if self.Preselection:
diff --git a/ewoc_projects_tools/mesh_paredge.py b/ewoc_projects_tools/mesh_paredge.py
index b3e87ce..472d888 100644
--- a/ewoc_projects_tools/mesh_paredge.py
+++ b/ewoc_projects_tools/mesh_paredge.py
@@ -42,8 +42,8 @@ Save as Default (Optional).
bl_info = {
"name": "ParEdge",
"author": "Gert De Roost",
- "version": (0, 5, 0),
- "blender": (2, 63, 0),
+ "version": (0, 5, 3),
+ "blender": (2, 65, 0),
"location": "View3D > Tools",
"description": "Inserting of parallel edges",
"warning": "",
@@ -134,11 +134,11 @@ class ParEdge(bpy.types.Operator):
if not(a.type == 'VIEW_3D'):
continue
for r in a.regions:
- if not(r.type == 'WINDOW'):
- continue
if mxa > r.x and mya > r.y and mxa < r.x + r.width and mya < r.y + r.height:
+ if not(r.type == 'WINDOW'):
+ self.region = None
+ break
self.region = r
- break
if event.type in {'RIGHTMOUSE', 'ESC'} or self.wrongsel or self.stop:
self.area.header_text_set()
@@ -178,7 +178,7 @@ class ParEdge(bpy.types.Operator):
bpy.ops.mesh.select_all(action = 'DESELECT')
for posn in range(len(self.vertlist)):
if self.capped:
- for e in capsellist:
+ for e in self.capsellist:
if e == None:
continue
e.select = True
@@ -203,7 +203,7 @@ class ParEdge(bpy.types.Operator):
vert.select = True
for edge in self.dissedges1[posn]:
edge.select = True
- bpy.ops.mesh.dissolve_limited()
+ bpy.ops.mesh.dissolve_edges(use_verts=True)
self.mesh.calc_tessface()
self.negsubd[posn] = False
self.possubd[posn] = False
@@ -213,7 +213,7 @@ class ParEdge(bpy.types.Operator):
vert.select = True
for edge in self.dissedges2[posn]:
edge.select = True
- bpy.ops.mesh.dissolve_limited()
+ bpy.ops.mesh.dissolve_edges(use_verts=True)
self.mesh.calc_tessface()
self.negsubd[posn] = False
self.possubd[posn] = False
@@ -290,7 +290,7 @@ class ParEdge(bpy.types.Operator):
vert.select = True
for edge in self.dissedges2[posn]:
edge.select = True
- bpy.ops.mesh.dissolve_limited()
+ bpy.ops.mesh.dissolve_edges(use_verts=True)
self.mesh.calc_tessface()
for vert in self.dissverts1[posn]:
vert.select = True
@@ -309,7 +309,7 @@ class ParEdge(bpy.types.Operator):
vert.select = True
for edge in self.dissedges1[posn]:
edge.select = True
- bpy.ops.mesh.dissolve_limited()
+ bpy.ops.mesh.dissolve_edges(use_verts=True)
self.mesh.calc_tessface()
for vert in self.dissverts2[posn]:
vert.select = True
@@ -343,7 +343,7 @@ class ParEdge(bpy.types.Operator):
# dont do anything if zero - removing edges will be handled once exiting with ENTER
if self.Distance == 0:
return
-
+
#negative side handling
if self.dist < 0 or self.Both == True:
for posn in range(len(self.vertlist)):
@@ -356,7 +356,8 @@ class ParEdge(bpy.types.Operator):
vert.select = True
for edge in self.dissedges2[posn]:
edge.select = True
- bpy.ops.mesh.dissolve_limited()
+ self.mesh.update()
+ bpy.ops.mesh.dissolve_edges(use_verts=True, use_face_split=False)
self.railedges2[posn] = []
self.railverts2[posn] = []
self.dissverts2[posn] = []
@@ -372,11 +373,11 @@ class ParEdge(bpy.types.Operator):
if not(self.negsubd[posn]):
self.negsubd[posn] = True
# if just switched sides: loo
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-extensions-cvs
mailing list