개정판 b9cc9254
dev issue #683 : 우선순위 Symbol Modeling 메서드 개발 중
Change-Id: I42fc85166f950c455265cdf411991b58b14d3998
DTI_PID/SPPIDConverter/Util/SPPIDUtil.cs | ||
---|---|---|
313 | 313 |
return lines; |
314 | 314 |
} |
315 | 315 |
|
316 |
public static List<Symbol> GetPrioritySymbol(Document document) |
|
317 |
{ |
|
318 |
// List에 순서대로 쌓는다. |
|
319 |
List<Symbol> symbols = new List<Symbol>(); |
|
320 |
|
|
321 |
// Angle Valve 부터 |
|
322 |
foreach (var symbol in document.SYMBOLS.FindAll(x => x.CONNECTORS.Count == 2)) |
|
323 |
{ |
|
324 |
if (!symbols.Contains(symbol)) |
|
325 |
{ |
|
326 |
double originX = 0; |
|
327 |
double originY = 0; |
|
328 |
ConvertPointBystring(symbol.ORIGINALPOINT, ref originX, ref originY); |
|
329 |
|
|
330 |
SlopeType slopeType1 = SlopeType.None; |
|
331 |
SlopeType slopeType2 = SlopeType.None; |
|
332 |
foreach (Connector connector in symbol.CONNECTORS) |
|
333 |
{ |
|
334 |
double connectorX = 0; |
|
335 |
double connectorY = 0; |
|
336 |
ConvertPointBystring(connector.SCENECONNECTPOINT, ref connectorX, ref connectorY); |
|
337 |
if (slopeType1 == SlopeType.None) |
|
338 |
slopeType1 = CalcSlope(originX, originY, connectorX, connectorY); |
|
339 |
else |
|
340 |
slopeType2 = CalcSlope(originX, originY, connectorX, connectorY); |
|
341 |
} |
|
342 |
|
|
343 |
if ((slopeType1 == SlopeType.VERTICAL && slopeType2 == SlopeType.HORIZONTAL) || |
|
344 |
(slopeType2 == SlopeType.VERTICAL && slopeType1 == SlopeType.HORIZONTAL)) |
|
345 |
symbols.Add(symbol); |
|
346 |
} |
|
347 |
} |
|
348 |
|
|
349 |
// 3개의 Symbol이 뭉쳐 있을 때 |
|
350 |
foreach (var item in document.SYMBOLS) |
|
351 |
{ |
|
352 |
|
|
353 |
} |
|
354 |
|
|
355 |
|
|
356 |
|
|
357 |
return symbols; |
|
358 |
} |
|
359 |
|
|
316 | 360 |
public static List<List<Symbol>> GetThreeConnectedSymbolGroup(Document document) |
317 | 361 |
{ |
318 | 362 |
List<List<Symbol>> tempGroups = new List<List<Symbol>>(); |
내보내기 Unified diff