개정판 f7e09e14
dev issue #1230 : Line의 연장선 추가
Change-Id: I1beae81ae9cd6a198e285b43202839407bf7e18e
DTI_PID/APIDConverter/AutoModeling.cs | ||
---|---|---|
460 | 460 |
{ |
461 | 461 |
Model.Line line = groupLine[i]; |
462 | 462 |
if (i == 0) |
463 |
points.Add(line.Aveva.Start_X + "," + line.Aveva.Start_Y); |
|
463 |
{ |
|
464 |
object connObj = line.CONNECTORS[0].ConnectedObject; |
|
465 |
if (connObj != null && connObj.GetType() == typeof(Symbol)) |
|
466 |
{ |
|
467 |
Symbol connSymbol = connObj as Symbol; |
|
468 |
Connector connector = connSymbol.CONNECTORS.Find(x => x.ConnectedObject == line); |
|
469 |
|
|
470 |
SlopeType slopeType = APIDUtils.CalcSlope(connSymbol.X, connSymbol.Y, connector.X, connector.Y); |
|
471 |
if (slopeType == SlopeType.HORIZONTAL) |
|
472 |
points.Add(connSymbol.X + "," + line.Aveva.Start_Y); |
|
473 |
else if (slopeType == SlopeType.VERTICAL) |
|
474 |
points.Add(line.Aveva.Start_X + "," + connSymbol.Y); |
|
475 |
else |
|
476 |
points.Add(line.Aveva.Start_X + "," + line.Aveva.Start_Y); |
|
477 |
} |
|
478 |
else |
|
479 |
points.Add(line.Aveva.Start_X + "," + line.Aveva.Start_Y); |
|
480 |
} |
|
464 | 481 |
else |
465 | 482 |
{ |
466 | 483 |
Model.Line prevLine = groupLine[i - 1]; |
... | ... | |
475 | 492 |
} |
476 | 493 |
|
477 | 494 |
if (i == groupLine.Count - 1) |
478 |
points.Add(line.Aveva.End_X + "," + line.Aveva.End_Y); |
|
495 |
{ |
|
496 |
object connObj = line.CONNECTORS[1].ConnectedObject; |
|
497 |
if (connObj != null && connObj.GetType() == typeof(Symbol)) |
|
498 |
{ |
|
499 |
Symbol connSymbol = connObj as Symbol; |
|
500 |
Connector connector = connSymbol.CONNECTORS.Find(x => x.ConnectedObject == line); |
|
501 |
|
|
502 |
SlopeType slopeType = APIDUtils.CalcSlope(connSymbol.X, connSymbol.Y, connector.X, connector.Y); |
|
503 |
if (slopeType == SlopeType.HORIZONTAL) |
|
504 |
points.Add(connSymbol.X + "," + line.Aveva.End_Y); |
|
505 |
else if (slopeType == SlopeType.VERTICAL) |
|
506 |
points.Add(line.Aveva.End_X + "," + connSymbol.Y); |
|
507 |
else |
|
508 |
points.Add(line.Aveva.End_X + "," + line.Aveva.End_Y); |
|
509 |
} |
|
510 |
else |
|
511 |
points.Add(line.Aveva.End_X + "," + line.Aveva.End_Y); |
|
512 |
} |
|
479 | 513 |
} |
480 | 514 |
} |
481 | 515 |
private bool IsExistEndBreak(object item1, object item2) |
DTI_PID/APIDConverter/Model/PlantItem/Other/Connector.cs | ||
---|---|---|
15 | 15 |
private string _SCENECONNECTPOINT; |
16 | 16 |
private object _ConnectedObject; |
17 | 17 |
|
18 |
|
|
18 | 19 |
public string UID { get => _UID; set => _UID = value; } |
19 | 20 |
public int CONNECTED_AT { get => _CONNECTED_AT; set => _CONNECTED_AT = value; } |
20 | 21 |
public string CONNECTEDITEM { get => _CONNECTEDITEM; set => _CONNECTEDITEM = value; } |
21 | 22 |
public string CONNECTPOINT { get => _CONNECTPOINT; set => _CONNECTPOINT = value; } |
22 |
public string SCENECONNECTPOINT { get => _SCENECONNECTPOINT; set => _SCENECONNECTPOINT = value; } |
|
23 |
public string SCENECONNECTPOINT |
|
24 |
{ |
|
25 |
get |
|
26 |
{ |
|
27 |
return _SCENECONNECTPOINT; |
|
28 |
} |
|
29 |
set |
|
30 |
{ |
|
31 |
_SCENECONNECTPOINT = value; |
|
32 |
double x = 0, y = 0; |
|
33 |
APIDUtils.ConvertPointBystring(_SCENECONNECTPOINT, ref x, ref y); |
|
34 |
X = x; |
|
35 |
Y = y; |
|
36 |
} |
|
37 |
} |
|
23 | 38 |
|
24 | 39 |
public int Index { get; set; } |
25 | 40 |
public object ConnectedObject { get => _ConnectedObject; set => _ConnectedObject = value; } |
41 |
public double X { get; set; } |
|
42 |
public double Y { get; set; } |
|
26 | 43 |
} |
27 | 44 |
} |
내보내기 Unified diff