本文整理汇总了Python中qad_ssget_cmd.QadSSGetClass类的典型用法代码示例。如果您正苦于以下问题:Python QadSSGetClass类的具体用法?Python QadSSGetClass怎么用?Python QadSSGetClass使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了QadSSGetClass类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: QadVirtualSelCommandClass
class QadVirtualSelCommandClass(QadCommandClass):
def instantiateNewCmd(self):
""" istanzia un nuovo comando dello stesso tipo """
return QadVirtualSelCommandClass(self.plugIn)
def getName(self):
return "QadVirtualSelCommandClass"
def __init__(self, plugIn):
QadCommandClass.__init__(self, plugIn)
self.SSGetClass = QadSSGetClass(plugIn)
self.SSGetClass.entitySet.set(plugIn.tool.entitySet) # da usare solo con QadMapTool
self.SSGetClass.exitAfterSelection = True
self.SSGetClass.step = 1
def __del__(self):
QadCommandClass.__del__(self)
del self.SSGetClass
def getPointMapTool(self, drawMode = QadGetPointDrawModeEnum.NONE):
return self.SSGetClass.getPointMapTool(drawMode)
def run(self, msgMapTool = False, msg = None):
res = self.SSGetClass.run(msgMapTool, msg)
if res == True:
self.plugIn.tool.entitySet.set(self.SSGetClass.entitySet) # da usare solo con QadMapTool
self.plugIn.tool.entitySet.selectOnLayer()
return res
示例2: reinitSSGetClass
def reinitSSGetClass(self):
checkPointLayer = self.SSGetClass.checkPointLayer
del self.SSGetClass
self.SSGetClass = QadSSGetClass(self.plugIn)
self.SSGetClass.onlyEditableLayers = False
self.SSGetClass.checkDimLayers = False # scarto le quote
self.SSGetClass.checkPointLayer = checkPointLayer
示例3: __init__
def __init__(self, plugIn):
QadCommandClass.__init__(self, plugIn)
self.SSGetClass = QadSSGetClass(plugIn)
self.SSGetClass.onlyEditableLayers = True
self.entitySet = QadEntitySet()
self.firstMirrorPt = QgsPoint()
self.secondMirrorPt = QgsPoint()
self.copyFeatures = True
示例4: canvasPressEvent
def canvasPressEvent(self, event):
# volevo mettere questo evento nel canvasReleaseEvent
# ma il tasto destro non genera quel tipo di evento
if event.button() == Qt.RightButton:
self.displayPopupMenuOnQuiescentState(event.pos())
elif event.button() == Qt.LeftButton:
# verifico se tasto shift premuto
shiftKey = True if event.modifiers() & Qt.ShiftModifier else False
# posizione corrente del mouse
point = self.toMapCoordinates(event.pos())
# leggo il punto grip che si interseca alla posizione del mouse
entityGripPoint = self.entitySetGripPoints.isIntersecting(point)
if entityGripPoint is not None:
if shiftKey == False: # lancio il comando
selectedEntityGripPoints = self.entitySetGripPoints.getSelectedEntityGripPoints()
# se non ci sono già grip selezionati
if len(selectedEntityGripPoints) == 0:
# seleziono il corrente
if self.entitySetGripPoints.selectIntersectingGripPoints(point) > 0:
selectedEntityGripPoints = self.entitySetGripPoints.getSelectedEntityGripPoints()
# lancio il comando
self.plugIn.runCommand("QadVirtualGripCommandsClass", [QadVirtualGripCommandsEnum.STRECTH, \
self.entitySetGripPoints, entityGripPoint.getPoint()])
else: # shift premuto
# inverto lo stato ai grip che intersecano il punto
self.entitySetGripPoints.toggleSelectIntersectingGripPoints(point)
else:
result = qad_utils.getEntSel(event.pos(), self, \
QadVariables.get(QadMsg.translate("Environment variables", "PICKBOX")))
if result is not None:
feature = result[0]
layer = result[1]
tmpEntity = QadEntity()
tmpEntity.set(layer, feature.id())
SSGetClass = QadSSGetClass(self.plugIn)
SSGetClass.entitySet.set(self.entitySet)
SSGetClass.elaborateEntity(tmpEntity, shiftKey)
self.plugIn.showMsg("\n", True) # ripete il prompt
self.entitySet.set(SSGetClass.entitySet)
del SSGetClass # che deseleziona gli oggetti
self.entitySet.selectOnLayer(False)
self.refreshEntityGripPoints(self.entitySet)
else:
self.plugIn.runCommand("QadVirtualSelCommandClass", point)
示例5: __init__
def __init__(self, plugIn):
QadCommandClass.__init__(self, plugIn)
# se questo flag = True il comando serve all'interno di un altro comando per disegnare un buffer
# che non verrà salvato su un layer
self.virtualCmd = False
self.SSGetClass = QadSSGetClass(plugIn)
self.entitySet = QadEntitySet()
self.width = 0
self.segments = self.plugIn.segments
self.segments = 3 # roby
示例6: __init__
def __init__(self, plugIn):
QadCommandClass.__init__(self, plugIn)
self.SSGetClass = QadSSGetClass(plugIn)
self.PLINECommand = None
self.RECTANGLECommand = None
self.entitySet = QadEntitySet() # entità da tagliare o estendere
self.limitEntitySet = QadEntitySet() # entità che fanno da limiti
self.edgeMode = QadVariables.get(QadMsg.translate("Environment variables", "EDGEMODE"))
self.defaultValue = None # usato per gestire il tasto dx del mouse
self.nOperationsToUndo = 0
示例7: __init__
def __init__(self, plugIn):
QadCommandClass.__init__(self, plugIn)
self.SSGetClass = QadSSGetClass(plugIn)
self.SSGetClass.onlyEditableLayers = True
self.entitySet = QadEntitySet()
self.basePt = None
self.copyFeatures = False
self.Pt1ReferenceLen = None
self.ReferenceLen = 1
self.Pt1NewLen = None
示例8: __init__
def __init__(self, plugIn):
QadCommandClass.__init__(self, plugIn)
# se questo flag = True il comando serve all'interno di un altro comando per disegnare un buffer
# che non verrà salvato su un layer
self.virtualCmd = False
self.rubberBandBorderColor = None
self.rubberBandFillColor = None
self.SSGetClass = QadSSGetClass(plugIn)
self.entitySet = QadEntitySet()
self.width = 0
self.segments = self.plugIn.segments # il numero di segmenti per l'approssimazione delle curve
示例9: __init__
def __init__(self, plugIn):
QadCommandClass.__init__(self, plugIn)
self.SSGetClass = QadSSGetClass(plugIn)
self.SSGetClass.onlyEditableLayers = True
self.entitySet = QadEntitySet()
self.basePt = QgsPoint()
self.series = False
self.seriesLen = 2
self.adjust = False
self.copyMode = QadVariables.get(QadMsg.translate("Environment variables", "COPYMODE"))
self.featureCache = [] # lista di (layer, feature)
self.nOperationsToUndo = 0
示例10: __init__
def __init__(self, plugIn):
QadCommandClass.__init__(self, plugIn)
self.poligonEntity = QadEntity()
self.SSGetClass = QadSSGetClass(plugIn)
self.SSGetClass.onlyEditableLayers = False
self.SSGetClass.checkDimLayers = False # scarto le quote
self.entSelClass = None
self.currSubGeom = None
self.currAtSubGeom = None
self.nOperationsToUndo = 0
示例11: reinitSSGetClass
def reinitSSGetClass(self):
if self.SSGetClass is not None: del self.SSGetClass
self.SSGetClass = QadSSGetClass(self.plugIn)
self.SSGetClass.onlyEditableLayers = True
self.SSGetClass.checkDimLayers = False # scarto le quote
geometryType = self.entity.layer.geometryType()
if geometryType == QGis.Point:
self.SSGetClass.checkPointLayer = True
self.SSGetClass.checkLineLayer = False
self.SSGetClass.checkPolygonLayer = False
elif geometryType == QGis.Line:
self.SSGetClass.checkPointLayer = False
self.SSGetClass.checkLineLayer = True
self.SSGetClass.checkPolygonLayer = True
elif geometryType == QGis.Polygon:
self.SSGetClass.checkPointLayer = False
self.SSGetClass.checkLineLayer = True
self.SSGetClass.checkPolygonLayer = True
示例12: QadMOVECommandClass
class QadMOVECommandClass(QadCommandClass):
def instantiateNewCmd(self):
""" istanzia un nuovo comando dello stesso tipo """
return QadMOVECommandClass(self.plugIn)
def getName(self):
return QadMsg.translate("Command_list", "MOVE")
def getEnglishName(self):
return "MOVE"
def connectQAction(self, action):
QObject.connect(action, SIGNAL("triggered()"), self.plugIn.runMOVECommand)
def getIcon(self):
return QIcon(":/plugins/qad/icons/move.png")
def getNote(self):
# impostare le note esplicative del comando
return QadMsg.translate("Command_MOVE", "Moves the selected objects.")
def __init__(self, plugIn):
QadCommandClass.__init__(self, plugIn)
self.SSGetClass = QadSSGetClass(plugIn)
self.SSGetClass.onlyEditableLayers = True
self.entitySet = QadEntitySet()
self.basePt = QgsPoint()
def __del__(self):
QadCommandClass.__del__(self)
del self.SSGetClass
def getPointMapTool(self, drawMode = QadGetPointDrawModeEnum.NONE):
if self.step == 0: # quando si é in fase di selezione entità
return self.SSGetClass.getPointMapTool()
else:
if (self.plugIn is not None):
if self.PointMapTool is None:
self.PointMapTool = Qad_move_maptool(self.plugIn)
return self.PointMapTool
else:
return None
#============================================================================
# move
#============================================================================
def move(self, f, offSetX, offSetY, layerEntitySet, entitySet):
# verifico se l'entità appartiene ad uno stile di quotatura
dimEntity = QadDimStyles.getDimEntity(layerEntitySet.layer, f.id())
if dimEntity is None:
# sposto la feature e la rimuovo da entitySet (é la prima)
f.setGeometry(qad_utils.moveQgsGeometry(f.geometry(), offSetX, offSetY))
# plugIn, layer, feature, refresh, check_validity
if qad_layer.updateFeatureToLayer(self.plugIn, layerEntitySet.layer, f, False, False) == False:
return False
del layerEntitySet.featureIds[0]
else:
# sposto la quota e la rimuovo da entitySet
dimEntitySet = dimEntity.getEntitySet()
if dimEntity.deleteToLayers(self.plugIn) == False:
return False
newDimEntity = QadDimEntity(dimEntity) # la copio
if newDimEntity.move(offSetX, offSetY) == False:
return False
if newDimEntity.addToLayers(self.plugIn) == False:
return False
entitySet.subtract(dimEntitySet)
return True
#============================================================================
# moveGeoms
#============================================================================
def moveGeoms(self, newPt):
# copio entitySet
entitySet = QadEntitySet(self.entitySet)
self.plugIn.beginEditCommand("Feature moved", entitySet.getLayerList())
for layerEntitySet in entitySet.layerEntitySetList:
transformedBasePt = self.mapToLayerCoordinates(layerEntitySet.layer, self.basePt)
transformedNewPt = self.mapToLayerCoordinates(layerEntitySet.layer, newPt)
offSetX = transformedNewPt.x() - transformedBasePt.x()
offSetY = transformedNewPt.y() - transformedBasePt.y()
while len(layerEntitySet.featureIds) > 0:
featureId = layerEntitySet.featureIds[0]
f = layerEntitySet.getFeature(featureId)
if self.move(f, offSetX, offSetY, layerEntitySet, entitySet) == False:
self.plugIn.destroyEditCommand()
return
self.plugIn.endEditCommand()
def run(self, msgMapTool = False, msg = None):
#.........这里部分代码省略.........
示例13: QadCOPYCommandClass
class QadCOPYCommandClass(QadCommandClass):
def instantiateNewCmd(self):
""" istanzia un nuovo comando dello stesso tipo """
return QadCOPYCommandClass(self.plugIn)
def getName(self):
return QadMsg.translate("Command_list", "COPY")
def getEnglishName(self):
return "COPY"
def connectQAction(self, action):
QObject.connect(action, SIGNAL("triggered()"), self.plugIn.runCOPYCommand)
def getIcon(self):
return QIcon(":/plugins/qad/icons/copyEnt.png")
def getNote(self):
# impostare le note esplicative del comando
return QadMsg.translate("Command_COPY", "Copies selected objects a specified distance in a specified direction.")
def __init__(self, plugIn):
QadCommandClass.__init__(self, plugIn)
self.SSGetClass = QadSSGetClass(plugIn)
self.SSGetClass.onlyEditableLayers = True
self.entitySet = QadEntitySet()
self.basePt = QgsPoint()
self.series = False
self.seriesLen = 2
self.adjust = False
self.copyMode = QadVariables.get(QadMsg.translate("Environment variables", "COPYMODE"))
self.featureCache = [] # lista di (layer, feature)
self.nOperationsToUndo = 0
def __del__(self):
QadCommandClass.__del__(self)
del self.SSGetClass
def getPointMapTool(self, drawMode = QadGetPointDrawModeEnum.NONE):
if self.step == 0: # quando si é in fase di selezione entità
return self.SSGetClass.getPointMapTool()
else:
if (self.plugIn is not None):
if self.PointMapTool is None:
self.PointMapTool = Qad_copy_maptool(self.plugIn)
return self.PointMapTool
else:
return None
#============================================================================
# move
#============================================================================
def move(self, f, offSetX, offSetY, layerEntitySet, entitySet, dimEntity):
if dimEntity is None:
# sposto la feature e la rimuovo da entitySet (é la prima)
f.setGeometry(qad_utils.moveQgsGeometry(f.geometry(), offSetX, offSetY))
# plugIn, layer, feature, coordTransform, refresh, check_validity
if qad_layer.addFeatureToLayer(self.plugIn, layerEntitySet.layer, f, None, False, False) == False:
return False
else:
# sposto la quota
dimEntity.move(offSetX, offSetY)
if dimEntity.addToLayers(self.plugIn) == False:
return False
return True
#============================================================================
# copyGeoms
#============================================================================
def copyGeoms(self, newPt):
# copio entitySet
entitySet = QadEntitySet(self.entitySet)
self.plugIn.beginEditCommand("Feature copied", entitySet.getLayerList())
for layerEntitySet in entitySet.layerEntitySetList:
layer = layerEntitySet.layer
transformedBasePt = self.mapToLayerCoordinates(layer, self.basePt)
transformedNewPt = self.mapToLayerCoordinates(layer, newPt)
offSetX = transformedNewPt.x() - transformedBasePt.x()
offSetY = transformedNewPt.y() - transformedBasePt.y()
while len(layerEntitySet.featureIds) > 0:
featureId = layerEntitySet.featureIds[0]
f = layerEntitySet.getFeature(featureId)
# verifico se l'entità appartiene ad uno stile di quotatura
dimEntity = self.plugIn.dimStyles.getDimEntity(layerEntitySet.layer, f.id())
if self.series and self.seriesLen > 0: # devo fare una serie
if self.adjust == True:
offSetX = offSetX / (self.seriesLen - 1)
offSetY = offSetY / (self.seriesLen - 1)
#.........这里部分代码省略.........
示例14: QadJOINCommandClass
class QadJOINCommandClass(QadCommandClass):
def instantiateNewCmd(self):
""" istanzia un nuovo comando dello stesso tipo """
return QadJOINCommandClass(self.plugIn)
def getName(self):
return QadMsg.translate("Command_list", "JOIN")
def getEnglishName(self):
return "JOIN"
def connectQAction(self, action):
QObject.connect(action, SIGNAL("triggered()"), self.plugIn.runJOINCommand)
def getIcon(self):
return QIcon(":/plugins/qad/icons/join.png")
def getNote(self):
# impostare le note esplicative del comando
return QadMsg.translate("Command_JOIN", "Join existing geometries.")
def __init__(self, plugIn):
QadCommandClass.__init__(self, plugIn)
self.entity = QadEntity()
self.SSGetClass = None
self.entSelClass = None
def __del__(self):
QadCommandClass.__del__(self)
if self.SSGetClass is not None: del self.SSGetClass
def getPointMapTool(self, drawMode = QadGetPointDrawModeEnum.NONE):
if self.step == 1: # quando si é in fase di selezione entità
return self.entSelClass.getPointMapTool(drawMode)
elif self.step == 2: # quando si é in fase di selezione gruppo entità
return self.SSGetClass.getPointMapTool()
else:
return QadCommandClass.getPointMapTool(self, drawMode)
def getCurrentContextualMenu(self):
if self.step == 1: # quando si é in fase di selezione entità
return self.entSelClass.getCurrentContextualMenu()
elif self.step == 2: # quando si é in fase di selezione gruppo entità
return self.SSGetClass.getCurrentContextualMenu()()
else:
return self.contextualMenu
def reinitSSGetClass(self):
if self.SSGetClass is not None: del self.SSGetClass
self.SSGetClass = QadSSGetClass(self.plugIn)
self.SSGetClass.onlyEditableLayers = True
self.SSGetClass.checkDimLayers = False # scarto le quote
geometryType = self.entity.layer.geometryType()
if geometryType == QGis.Point:
self.SSGetClass.checkPointLayer = True
self.SSGetClass.checkLineLayer = False
self.SSGetClass.checkPolygonLayer = False
elif geometryType == QGis.Line:
self.SSGetClass.checkPointLayer = False
self.SSGetClass.checkLineLayer = True
self.SSGetClass.checkPolygonLayer = True
elif geometryType == QGis.Polygon:
self.SSGetClass.checkPointLayer = False
self.SSGetClass.checkLineLayer = True
self.SSGetClass.checkPolygonLayer = True
#============================================================================
# addEntitySetToPoint
#============================================================================
def addEntitySetToPoint(self, entitySet, removeOriginals = True):
"""
Aggiunge il set di entità al punto da modificare
"""
geom = self.entity.getGeometry()
layerList = []
layerList.append(self.entity.layer)
for layerEntitySet in entitySet.layerEntitySetList:
layer = layerEntitySet.layer
if layer.geometryType() != QGis.Point:
self.showMsg(QadMsg.translate("QAD", "Invalid object."))
return False
if removeOriginals: layerList.append(layer)
coordTransform = QgsCoordinateTransform(layer.crs(), self.entity.layer.crs())
for featureId in layerEntitySet.featureIds:
# se la feature è quella di entity è errore
if layer.id() == self.entity.layerId() and featureId == self.entity.featureId:
self.showMsg(QadMsg.translate("QAD", "Invalid object."))
return False
#.........这里部分代码省略.........
示例15: QadSCALECommandClass
class QadSCALECommandClass(QadCommandClass):
def instantiateNewCmd(self):
""" istanzia un nuovo comando dello stesso tipo """
return QadSCALECommandClass(self.plugIn)
def getName(self):
return QadMsg.translate("Command_list", "SCALE")
def getEnglishName(self):
return "SCALE"
def connectQAction(self, action):
QObject.connect(action, SIGNAL("triggered()"), self.plugIn.runSCALECommand)
def getIcon(self):
return QIcon(":/plugins/qad/icons/scale.png")
def getNote(self):
# impostare le note esplicative del comando
return QadMsg.translate("Command_SCALE", "Enlarges or reduces selected objects.")
def __init__(self, plugIn):
QadCommandClass.__init__(self, plugIn)
self.SSGetClass = QadSSGetClass(plugIn)
self.SSGetClass.onlyEditableLayers = True
self.entitySet = QadEntitySet()
self.basePt = None
self.copyFeatures = False
self.Pt1ReferenceLen = None
self.ReferenceLen = 1
self.Pt1NewLen = None
def __del__(self):
QadCommandClass.__del__(self)
del self.SSGetClass
def getPointMapTool(self, drawMode = QadGetPointDrawModeEnum.NONE):
if self.step == 0: # quando si é in fase di selezione entità
return self.SSGetClass.getPointMapTool()
else:
if (self.plugIn is not None):
if self.PointMapTool is None:
self.PointMapTool = Qad_scale_maptool(self.plugIn)
return self.PointMapTool
else:
return None
#============================================================================
# scale
#============================================================================
def scale(self, f, basePt, scale, sizeFldName, layerEntitySet, entitySet):
# verifico se l'entità appartiene ad uno stile di quotatura
dimEntity = self.plugIn.dimStyles.getDimEntity(layerEntitySet.layer, f.id())
if dimEntity is None:
# scalo la feature e la rimuovo da entitySet (é la prima)
f.setGeometry(qad_utils.scaleQgsGeometry(f.geometry(), basePt, scale))
if sizeFldName is not None:
sizeValue = f.attribute(sizeFldName)
if sizeValue is None:
sizeValue = 1
sizeValue = sizeValue * scale
f.setAttribute(sizeFldName, sizeValue)
if self.copyFeatures == False:
# plugIn, layer, feature, refresh, check_validity
if qad_layer.updateFeatureToLayer(self.plugIn, layerEntitySet.layer, f, False, False) == False:
self.plugIn.destroyEditCommand()
return False
else:
# plugIn, layer, features, coordTransform, refresh, check_validity
if qad_layer.addFeatureToLayer(self.plugIn, layerEntitySet.layer, f, None, False, False) == False:
self.plugIn.destroyEditCommand()
return False
del layerEntitySet.featureIds[0]
else:
# scalo la quota e la rimuovo da entitySet
dimEntitySet = dimEntity.getEntitySet()
if self.copyFeatures == False:
if dimEntity.deleteToLayers(self.plugIn) == False:
return False
dimEntity.scale(self.plugIn,basePt, scale)
if dimEntity.addToLayers(self.plugIn) == False:
return False
entitySet.subtract(dimEntitySet)
def scaleGeoms(self, scale):
# copio entitySet
entitySet = QadEntitySet(self.entitySet)
self.plugIn.beginEditCommand("Feature scaled", self.entitySet.getLayerList())
for layerEntitySet in entitySet.layerEntitySetList:
layer = layerEntitySet.layer
transformedBasePt = self.mapToLayerCoordinates(layer, self.basePt)
#.........这里部分代码省略.........