개정판 cd47b282
dev issue #482: merge connected items
DTI_PID/DTI_PID/RecognitionDialog.py | ||
---|---|---|
356 | 356 |
|
357 | 357 |
try: |
358 | 358 |
listWidget.addItem('Starting line recognization') |
359 |
worker.displayTitle.emit('라인 인식 중...')
|
|
359 |
worker.displayTitle.emit('라인 인식 중...') |
|
360 | 360 |
|
361 | 361 |
#remove already existing line and flow arrow item |
362 | 362 |
items = [item for item in worker.graphicsView.scene.items() if (type(item) is QEngineeringLineItem) or (type(item) is QEngineeringFlowArrowItem)] |
DTI_PID/DTI_PID/Shapes/EngineeringRunItem.py | ||
---|---|---|
143 | 143 |
for list in itemLists: |
144 | 144 |
startPoint = [] |
145 | 145 |
endPoint = [] |
146 |
connectedItem1 = None |
|
147 |
connectedItem2 = None |
|
146 | 148 |
# direction의 0 = 낮은 값 -> 높은 값 (좌표 값 기준) |
147 | 149 |
direction = 0 |
148 | 150 |
for line in list[0]: |
... | ... | |
211 | 213 |
if len(startPoint) == 2 and len(endPoint) == 2: |
212 | 214 |
allLine = QEngineeringLineItem([startPoint, endPoint]) |
213 | 215 |
allLine.lineType = list[2] |
216 |
|
|
217 |
for line in list[0]: |
|
218 |
if type(line) is QEngineeringLineItem: |
|
219 |
if startPoint[0] == line.startPoint()[0] and startPoint[1] == line.startPoint()[1]: |
|
220 |
allLine.connectors[0].connectedItem = line.connectors[0].connectedItem |
|
221 |
elif startPoint[0] == line.endPoint()[0] and startPoint[1] == line.endPoint()[1]: |
|
222 |
allLine.connectors[0].connectedItem = line.connectors[1].connectedItem |
|
223 |
elif endPoint[0] == line.startPoint()[0] and endPoint[1] == line.startPoint()[1]: |
|
224 |
allLine.connectors[1].connectedItem = line.connectors[0].connectedItem |
|
225 |
elif endPoint[0] == line.endPoint()[0] and endPoint[1] == line.endPoint()[1]: |
|
226 |
allLine.connectors[1].connectedItem = line.connectors[1].connectedItem |
|
227 |
|
|
214 | 228 |
mergedLines.append(allLine) |
215 | 229 |
|
216 | 230 |
node = Element('RUN') |
내보내기 Unified diff