本文整理汇总了Python中qad_rubberband.QadRubberBand类的典型用法代码示例。如果您正苦于以下问题:Python QadRubberBand类的具体用法?Python QadRubberBand怎么用?Python QadRubberBand使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了QadRubberBand类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。
示例1: __init__
def __init__(self, plugIn, asToolForMPolygon = False):
QadGetPoint.__init__(self, plugIn)
self.firstPt = None
self.mode = None
self.asToolForMPolygon = asToolForMPolygon # se True significa che è usato per disegnare un poligono
if self.asToolForMPolygon:
self.__polygonRubberBand = QadRubberBand(self.plugIn.canvas, True)
self.endVertex = None # punta al vertice iniziale e finale del poligono di QadPLINECommandClass
else:
self.__polylineTraceRubberBand = QadRubberBand(self.plugIn.canvas, True) # da usare in trace di un oggetto esistente
开发者ID:gam17,项目名称:QAD,代码行数:12,代码来源:qad_pline_maptool.py
示例2: __init__
def __init__(self, plugIn):
QadGetPoint.__init__(self, plugIn)
dimStyle = None
self.dimPt1 = None
self.dimPt2 = None
self.dimCircle = None
self.forcedTextRot = None # rotazione del testo di quota
self.measure = None # misura della quota (se None viene calcolato)
self.preferredAlignment = QadDimStyleAlignmentEnum.HORIZONTAL # allineamento della linea di quota
self.forcedDimLineAlignment = None # allineamento della linea di quota forzato
self.forcedDimLineRot = 0.0 # rotazione della linea di quota forzato
self.__rubberBand = QadRubberBand(self.canvas)
self.centerPt = None
self.radius = None
self.dimPt1 = None
self.dimPt2 = None
self.firstDiamPt = None
self.tan1 = None
self.tan2 = None
self.startPtForRadius = None
self.geomType = QGis.Polygon
开发者ID:lao-tseu-is-alive,项目名称:QAD,代码行数:26,代码来源:qad_dim_maptool.py
示例3: __init__
def __init__(self, plugIn, asToolForMPolygon = False):
QadGetPoint.__init__(self, plugIn)
self.arcStartPt = None
self.arcSecondPt = None
self.arcEndPt = None
self.arcCenterPt = None
self.arcTanOnStartPt = None
self.arcAngle = None
self.arcStartPtForRadius = None
self.arcRadius = None
self.__rubberBand = QadRubberBand(self.canvas)
self.asToolForMPolygon = asToolForMPolygon # se True significa che è usato per disegnare un poligono
if self.asToolForMPolygon:
self.__polygonRubberBand = QadRubberBand(self.plugIn.canvas, True)
self.endVertex = None # punta al vertice iniziale e finale del poligono di QadPLINECommandClass
开发者ID:lao-tseu-is-alive,项目名称:QAD,代码行数:17,代码来源:qad_arc_maptool.py
示例4: __init__
def __init__(self, plugIn):
QadGetPoint.__init__(self, plugIn)
self.basePt = None
self.entitySet = QadEntitySet()
self.seriesLen = 0
self.adjust = False
self.__rubberBand = QadRubberBand(self.canvas)
开发者ID:tudorbarascu,项目名称:QAD,代码行数:8,代码来源:qad_copy_maptool.py
示例5: __init__
def __init__(self, plugIn):
QadGetPoint.__init__(self, plugIn)
self.firstPt = None
self.tan1 = None
self.per1 = None
self.geom1 = None
self.__rubberBand = QadRubberBand(self.canvas)
开发者ID:gam17,项目名称:QAD,代码行数:8,代码来源:qad_line_maptool.py
示例6: __init__
def __init__(self, plugIn):
QadGetPoint.__init__(self, plugIn)
self.basePt = None
self.Pt1ReferenceLen = None
self.ReferenceLen = 0
self.Pt1NewLen = None
self.entitySet = QadEntitySet()
self.__rubberBand = QadRubberBand(self.canvas)
开发者ID:ermati,项目名称:QAD,代码行数:9,代码来源:qad_scale_maptool.py
示例7: __init__
def __init__(self, plugIn):
QadGetPoint.__init__(self, plugIn)
self.OpMode = None # "DElta" o "Percent" o "Total" o "DYnamic"
self.OpType = None # "length" o "Angle"
self.value = None
self.tmpLinearObjectList = None
self.__rubberBand = QadRubberBand(self.canvas)
开发者ID:gam17,项目名称:QAD,代码行数:9,代码来源:qad_lengthen_maptool.py
示例8: __init__
def __init__(self, plugIn):
QadGetPoint.__init__(self, plugIn)
self.startPtForBufferWidth = None
# vedi il numero minimo di punti affinché venga riconosciuto un arco o un cerchio
# nei files qad_arc.py e qad_circle.py
self.segments = 12
self.entitySet = QadEntitySet()
self.geomType = QGis.Polygon
self.__rubberBand = QadRubberBand(self.canvas, True)
开发者ID:resistor4u,项目名称:QAD,代码行数:10,代码来源:qad_mbuffer_maptool.py
示例9: __init__
def __init__(self, plugIn):
QadGetPoint.__init__(self, plugIn)
self.firstPt = None
self.layer = None
self.linearObjectList = qad_utils.QadLinearObjectList()
self.tolerance2ApproxCurve = None
self.vertexAt = 0
self.after = True
self.__rubberBand = QadRubberBand(self.canvas)
开发者ID:ermati,项目名称:QAD,代码行数:11,代码来源:qad_pedit_maptool.py
示例10: __init__
def __init__(self, plugIn):
QadGetPoint.__init__(self, plugIn)
self.firstPt = None
self.layer = None
self.subGeom = None
self.offSet = 0
self.lastOffSetOnLeftSide = 0
self.lastOffSetOnRightSide = 0
self.gapType = 0
self.__rubberBand = QadRubberBand(self.canvas)
开发者ID:ermati,项目名称:QAD,代码行数:11,代码来源:qad_offset_maptool.py
示例11: __init__
def __init__(self, plugIn):
QadGetPoint.__init__(self, plugIn)
self.arcStartPt = None
self.arcSecondPt = None
self.arcEndPt = None
self.arcCenterPt = None
self.arcTanOnStartPt = None
self.arcAngle = None
self.arcStartPtForRadius = None
self.arcRadius = None
self.__rubberBand = QadRubberBand(self.canvas)
开发者ID:resistor4u,项目名称:QAD,代码行数:12,代码来源:qad_arc_maptool.py
示例12: __init__
def __init__(self, plugIn):
QadGetPoint.__init__(self, plugIn)
self.mode = None
self.sideNumber = None
self.centerPt = None
self.constructionModeByCenter = None
self.firstEdgePt = None
self.vertices = []
self.__rubberBand = QadRubberBand(self.canvas, True)
self.geomType = QGis.Polygon
开发者ID:gam17,项目名称:QAD,代码行数:12,代码来源:qad_polygon_maptool.py
示例13: __init__
def __init__(self, plugIn):
QadGetPoint.__init__(self, plugIn)
self.centerPt = None
self.radius = None
self.firstPt = None
self.secondPt = None
self.firstDiamPt = None
self.tan1 = None
self.tan2 = None
self.startPtForRadius = None
self.__rubberBand = QadRubberBand(self.canvas)
self.geomType = QGis.Polygon
开发者ID:ermati,项目名称:QAD,代码行数:13,代码来源:qad_circle_maptool.py
示例14: __init__
def __init__(self, plugIn):
QadGetPoint.__init__(self, plugIn)
self.firstCorner = None
self.secondCorner = None
self.basePt = None
self.gapType = 0 # 0 = Angoli retti; 1 = Raccorda i segmenti; 2 = Cima i segmenti
self.gapValue1 = 0 # se gapType = 1 -> raggio di curvatura; se gapType = 2 -> prima distanza di cimatura
self.gapValue2 = 0 # se gapType = 2 -> seconda distanza di cimatura
self.rot = 0
self.vertices = []
self.__rubberBand = QadRubberBand(self.canvas, True)
self.geomType = QGis.Polygon
开发者ID:geosim,项目名称:QAD,代码行数:14,代码来源:qad_rectangle_maptool.py
示例15: __init__
def __init__(self, plugIn):
QadGetPoint.__init__(self, plugIn)
self.filletMode = 1 # modalità di raccordo; 1=Taglia-estendi, 2=Non taglia-estendi
self.radius = 0.0
self.layer = None
self.linearObjectList = qad_utils.QadLinearObjectList()
self.partAt1 = 0
self.vertexAt1 = 0
self.tolerance2ApproxCurve = None
self.__rubberBand = QadRubberBand(self.canvas)
开发者ID:resistor4u,项目名称:QAD,代码行数:14,代码来源:qad_fillet_maptool.py
示例16: __init__
def __init__(self, plugIn):
QadGetPoint.__init__(self, plugIn)
dimStyle = None
self.dimPt1 = None
self.dimPt2 = None
self.dimCircle = None
self.dimArc = None # per quotatura arco
self.forcedTextRot = None # rotazione del testo di quota
self.measure = None # misura della quota (se None viene calcolato)
self.preferredAlignment = QadDimStyleAlignmentEnum.HORIZONTAL # allineamento della linea di quota
self.forcedDimLineAlignment = None # allineamento della linea di quota forzato
self.forcedDimLineRot = 0.0 # rotazione della linea di quota forzato
self.leader = None # per disegnare la linea direttrice nella quotatura arco
self.__rubberBand = QadRubberBand(self.canvas)
开发者ID:gam17,项目名称:QAD,代码行数:18,代码来源:qad_dim_maptool.py
示例17: Qad_fillet_maptool
class Qad_fillet_maptool(QadGetPoint):
def __init__(self, plugIn):
QadGetPoint.__init__(self, plugIn)
self.filletMode = 1 # modalità di raccordo; 1=Taglia-estendi, 2=Non taglia-estendi
self.radius = 0.0
self.layer = None
self.linearObjectList = qad_utils.QadLinearObjectList()
self.partAt1 = 0
self.vertexAt1 = 0
self.tolerance2ApproxCurve = None
self.__rubberBand = QadRubberBand(self.canvas)
def hidePointMapToolMarkers(self):
QadGetPoint.hidePointMapToolMarkers(self)
self.__rubberBand.hide()
def showPointMapToolMarkers(self):
QadGetPoint.showPointMapToolMarkers(self)
self.__rubberBand.show()
def clear(self):
QadGetPoint.clear(self)
self.__rubberBand.reset()
self.mode = None
def setEntityInfo(self, layer, featureId, linearObjectList, partAt, pointAt):
"""
Setta self.entity, self.atSubGeom, self.linearObjectList, self.partAt, self.pointAt
di primo o del secondo oggetto da raccordare (vedi <firstObj>)
"""
self.layer = layer
self.featureId = featureId
self.linearObjectList.set(linearObjectList)
self.partAt = partAt
self.pointAt = pointAt
self.tolerance2ApproxCurve = QadVariables.get(QadMsg.translate("Environment variables", "TOLERANCE2APPROXCURVE"))
def canvasMoveEvent(self, event):
QadGetPoint.canvasMoveEvent(self, event)
self.__rubberBand.reset()
tmpLinearObjectList = None
# si richiede la selezione del secondo oggetto
if self.mode == Qad_fillet_maptool_ModeEnum.ASK_FOR_SECOND_LINESTRING:
if self.tmpEntity.isInitialized():
# trasformo la geometria nel crs del canvas per lavorare con coordinate piane xy
geom = self.layerToMapCoordinates(self.tmpEntity.layer, self.tmpEntity.getGeometry())
# ritorna una tupla (<The squared cartesian distance>,
# <minDistPoint>
# <afterVertex>
# <leftOf>)
dummy = qad_utils.closestSegmentWithContext(self.tmpPoint, geom)
if dummy[2] is not None:
# ritorna la sotto-geometria al vertice <atVertex> e la sua posizione nella geometria (0-based)
subGeom, atSubGeom = qad_utils.getSubGeomAtVertex(geom, dummy[2])
tmpLinearObjectList = qad_utils.QadLinearObjectList()
tmpLinearObjectList.fromPolyline(subGeom.asPolyline())
# la funzione ritorna una lista con (<minima distanza al quadrato>,
# <punto più vicino>
# <indice della parte più vicina>
# <"a sinistra di">)
dummy = tmpLinearObjectList.closestPartWithContext(self.tmpPoint)
tmpPartAt = dummy[2]
tmpPointAt = dummy[1]
# stessa entità e stessa parte
if self.layer.id() == self.tmpEntity.layer.id() and \
self.featureId == self.tmpEntity.featureId and \
self.partAt == tmpPartAt:
return
# uso il crs del canvas per lavorare con coordinate piane xy
epsg = self.canvas.mapRenderer().destinationCrs().authid()
if self.tmpShiftKey == True: # tasto shift premuto durante il movimento del mouse
# filletMode = 1 # modalità di raccordo; 1=Taglia-estendi
# raggio = 0
res = qad_utils.getFilletLinearObjectList(self.linearObjectList, self.partAt, self.pointAt, \
tmpLinearObjectList, tmpPartAt, tmpPointAt,\
1, 0, epsg)
else:
res = qad_utils.getFilletLinearObjectList(self.linearObjectList, self.partAt, self.pointAt, \
tmpLinearObjectList, tmpPartAt, tmpPointAt,\
self.filletMode, self.radius, epsg)
if res is None: # raccordo non possibile
return
tmpLinearObjectList = res[0]
# si richiede la selezione della polilinea
elif self.mode == Qad_fillet_maptool_ModeEnum.ASK_FOR_POLYLINE:
#.........这里部分代码省略.........
开发者ID:resistor4u,项目名称:QAD,代码行数:101,代码来源:qad_fillet_maptool.py
示例18: __init__
def __init__(self, plugIn):
QadGetPoint.__init__(self, plugIn)
self.basePt = None
self.entitySet = QadEntitySet()
self.__rubberBand = QadRubberBand(self.canvas)
开发者ID:ermati,项目名称:QAD,代码行数:6,代码来源:qad_move_maptool.py
示例19: Qad_lengthen_maptool
class Qad_lengthen_maptool(QadGetPoint):
def __init__(self, plugIn):
QadGetPoint.__init__(self, plugIn)
self.OpMode = None # "DElta" o "Percent" o "Total" o "DYnamic"
self.OpType = None # "length" o "Angle"
self.value = None
self.tmpLinearObjectList = None
self.__rubberBand = QadRubberBand(self.canvas)
def hidePointMapToolMarkers(self):
QadGetPoint.hidePointMapToolMarkers(self)
self.__rubberBand.hide()
def showPointMapToolMarkers(self):
QadGetPoint.showPointMapToolMarkers(self)
self.__rubberBand.show()
def clear(self):
QadGetPoint.clear(self)
self.__rubberBand.reset()
self.mode = None
def setInfo(self, entity, point):
# setta: self.layer, self.tmpLinearObjectList e self.move_startPt
if self.tmpLinearObjectList is not None:
del self.tmpLinearObjectList
self.tmpLinearObjectList = None
if entity.isInitialized() == False:
return False
self.layer = entity.layer
transformedPt = self.canvas.mapSettings().mapToLayerCoordinates(self.layer, point)
geom = entity.getGeometry()
# ritorna una tupla (<The squared cartesian distance>,
# <minDistPoint>
# <afterVertex>
# <leftOf>)
dummy = qad_utils.closestSegmentWithContext(transformedPt, geom)
if dummy[2] is None:
return False
# ritorna la sotto-geometria al vertice <atVertex> e la sua posizione nella geometria (0-based)
subGeom, atSubGeom = qad_utils.getSubGeomAtVertex(geom, dummy[2])
self.tmpLinearObjectList = qad_utils.QadLinearObjectList()
self.tmpLinearObjectList.fromPolyline(subGeom.asPolyline())
if qad_utils.getDistance(self.tmpLinearObjectList.getStartPt(), transformedPt) <= \
qad_utils.getDistance(self.tmpLinearObjectList.getEndPt(), transformedPt):
# si allunga/accorcia dal punto iniziale
self.move_startPt = True
else:
# si allunga dal punto finale
self.move_startPt = False
return True
def canvasMoveEvent(self, event):
QadGetPoint.canvasMoveEvent(self, event)
self.__rubberBand.reset()
res = False
# si richiede la selezione dell'oggetto da allungare
if self.mode == Qad_lengthen_maptool_ModeEnum.ASK_FOR_OBJ_TO_LENGTHEN:
if self.tmpEntity.isInitialized():
if self.setInfo(self.tmpEntity, self.tmpPoint) == False:
return
if self.OpMode == "DElta":
newTmpLinearObjectList = qad_utils.QadLinearObjectList(self.tmpLinearObjectList)
if self.OpType == "length":
res = newTmpLinearObjectList.lengthen_delta(self.move_startPt, self.value)
elif self.OpType == "Angle":
res = newTmpLinearObjectList.lengthen_deltaAngle(self.move_startPt, self.value)
elif self.OpMode == "Percent":
newTmpLinearObjectList = qad_utils.QadLinearObjectList(self.tmpLinearObjectList)
value = newTmpLinearObjectList.length() * self.value / 100
value = value - newTmpLinearObjectList.length()
res = newTmpLinearObjectList.lengthen_delta(self.move_startPt, value)
elif self.OpMode == "Total":
newTmpLinearObjectList = qad_utils.QadLinearObjectList(self.tmpLinearObjectList)
if self.OpType == "length":
value = self.value - self.tmpLinearObjectList.length()
res = newTmpLinearObjectList.lengthen_delta(self.move_startPt, value)
elif self.OpType == "Angle":
if newTmpLinearObjectList.qty() == 1:
linearObject = newTmpLinearObjectList.getLinearObjectAt(0)
if linearObject.isArc() == True: # se è un arco
value = self.value - linearObject.getArc().totalAngle()
res = newTmpLinearObjectList.lengthen_deltaAngle(self.move_startPt, value)
# si richiede un punto per la nuova estremità
elif self.mode == Qad_lengthen_maptool_ModeEnum.ASK_FOR_DYNAMIC_POINT:
newTmpLinearObjectList = qad_utils.QadLinearObjectList(self.tmpLinearObjectList)
#.........这里部分代码省略.........
开发者ID:gam17,项目名称:QAD,代码行数:101,代码来源:qad_lengthen_maptool.py
示例20: Qad_rectangle_maptool
class Qad_rectangle_maptool(QadGetPoint):
def __init__(self, plugIn):
QadGetPoint.__init__(self, plugIn)
self.firstCorner = None
self.secondCorner = None
self.basePt = None
self.gapType = 0 # 0 = Angoli retti; 1 = Raccorda i segmenti; 2 = Cima i segmenti
self.gapValue1 = 0 # se gapType = 1 -> raggio di curvatura; se gapType = 2 -> prima distanza di cimatura
self.gapValue2 = 0 # se gapType = 2 -> seconda distanza di cimatura
self.rot = 0
self.vertices = []
self.__rubberBand = QadRubberBand(self.canvas, True)
self.geomType = QGis.Polygon
def hidePointMapToolMarkers(self):
QadGetPoint.hidePointMapToolMarkers(self)
self.__rubberBand.hide()
def showPointMapToolMarkers(self):
QadGetPoint.showPointMapToolMarkers(self)
self.__rubberBand.show()
def clear(self):
QadGetPoint.clear(self)
self.__rubberBand.reset()
self.mode = None
def canvasMoveEvent(self, event):
QadGetPoint.canvasMoveEvent(self, event)
self.__rubberBand.reset()
result = False
del self.vertices[:] # svuoto la lista
# noto il primo angolo si richiede l'angolo opposto
if self.mode == Qad_rectangle_maptool_ModeEnum.FIRST_CORNER_KNOWN_ASK_FOR_SECOND_CORNER:
self.vertices.extend(qad_utils.getRectByCorners(self.firstCorner, self.tmpPoint, self.rot, \
self.gapType, self.gapValue1, self.gapValue2))
result = True
if result == True:
if self.vertices is not None:
if self.geomType == QGis.Polygon:
self.__rubberBand.setPolygon(self.vertices)
else:
self.__rubberBand.setLine(self.vertices)
def activate(self):
QadGetPoint.activate(self)
self.__rubberBand.show()
def deactivate(self):
try: # necessario perché se si chiude QGIS parte questo evento nonostante non ci sia più l'oggetto maptool !
QadGetPoint.deactivate(self)
self.__rubberBand.hide()
except:
pass
def setMode(self, mode):
self.mode = mode
# noto niente si richiede il primo angolo
if self.mode == Qad_rectangle_maptool_ModeEnum.NONE_KNOWN_ASK_FOR_FIRST_CORNER:
self.setDrawMode(QadGetPointDrawModeEnum.NONE)
# noto il primo angolo si richiede l'angolo opposto
elif self.mode == Qad_rectangle_maptool_ModeEnum.FIRST_CORNER_KNOWN_ASK_FOR_SECOND_CORNER:
self.setDrawMode(QadGetPointDrawModeEnum.NONE)
开发者ID:geosim,项目名称:QAD,代码行数:70,代码来源:qad_rectangle_maptool.py
注:本文中的qad_rubberband.QadRubberBand类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论