def __init__(self, plugIn): QadCommandClass.__init__(self, plugIn) self.entity = QadEntity() self.subGeom = None self.subGeomSelectedPt = None self.offSet = QadVariables.get(QadMsg.translate("Environment variables", "OFFSETDIST")) self.lastOffSetOnLeftSide = 0 self.lastOffSetOnRightSide = 0 self.firstPt = QgsPoint() self.eraseEntity = False self.multi = False self.OnlySegment = False self.gapType = QadVariables.get(QadMsg.translate("Environment variables", "OFFSETGAPTYPE")) self.featureCache = [] # lista di (layer, feature) self.undoFeatureCacheIndexes = [] # posizioni in featureCache dei punti di undo self.rubberBand = createRubberBand(self.plugIn.canvas, QGis.Line) self.rubberBandPolygon = createRubberBand(self.plugIn.canvas, QGis.Polygon)
def __init__(self, plugIn): QadCommandClass.__init__(self, plugIn) self.vertices = [] self.rubberBand = createRubberBand(self.plugIn.canvas, QGis.Line) self.firstPtTan = None self.firstPtPer = None # se questo flag = True il comando serve all'interno di un altro comando per disegnare una linea # che non verrà salvata su un layer self.virtualCmd = False
def getLineMarker(self, pt1, pt2): """ Crea un marcatore lineare """ lineMarker = createRubberBand(self.__mapCanvas, QGis.Line, True) lineMarker.setColor(self.__color) lineMarker.setLineStyle(Qt.DashLine) lineMarker.addPoint(pt1, False) lineMarker.addPoint(pt2, True) return lineMarker
def getArcMarker(self, arc): """ Crea un marcatore lineare x arco """ lineMarker = createRubberBand(self.__mapCanvas, QGis.Line, True) lineMarker.setColor(self.__color) lineMarker.setLineStyle(Qt.DotLine) points = arc.asPolyline() if points is None: return None tot = len(points) i = 0 while i < (tot - 1): lineMarker.addPoint(points[i], False) i = i + 1 lineMarker.addPoint(points[i], True) return lineMarker