Close gaps in dragged brushes by drawing lines
This commit is contained in:
parent
f82c7a5ea8
commit
2458f3cae5
@ -18,6 +18,7 @@ from mcedit2.rendering.scenegraph.matrix import Translate
|
|||||||
from mcedit2.rendering.scenegraph.scenenode import Node
|
from mcedit2.rendering.scenegraph.scenenode import Node
|
||||||
from mcedit2.rendering.selection import SelectionBoxNode
|
from mcedit2.rendering.selection import SelectionBoxNode
|
||||||
from mcedit2.ui.editortools.brush import Ui_brushWidget
|
from mcedit2.ui.editortools.brush import Ui_brushWidget
|
||||||
|
from mcedit2.util import bresenham
|
||||||
from mcedit2.util.showprogress import showProgress
|
from mcedit2.util.showprogress import showProgress
|
||||||
from mcedit2.util.worldloader import WorldLoader
|
from mcedit2.util.worldloader import WorldLoader
|
||||||
from mceditlib.geometry import Vector
|
from mceditlib.geometry import Vector
|
||||||
@ -188,7 +189,13 @@ class BrushTool(EditorTool):
|
|||||||
def mouseDrag(self, event):
|
def mouseDrag(self, event):
|
||||||
pos = event.blockPosition
|
pos = event.blockPosition
|
||||||
vector = (event.blockFace.vector * self.hoverDistance)
|
vector = (event.blockFace.vector * self.hoverDistance)
|
||||||
self.dragPoints.append(pos + vector)
|
p2 = pos + vector
|
||||||
|
if len(self.dragPoints):
|
||||||
|
p1 = self.dragPoints.pop(-1)
|
||||||
|
points = list(bresenham.bresenham(p1, p2))
|
||||||
|
self.dragPoints.extend(points)
|
||||||
|
else:
|
||||||
|
self.dragPoints.append(p2)
|
||||||
|
|
||||||
def mouseRelease(self, event):
|
def mouseRelease(self, event):
|
||||||
dragPoints = sorted(set(self.dragPoints))
|
dragPoints = sorted(set(self.dragPoints))
|
||||||
|
Reference in New Issue
Block a user