private BlockPort AddMultiConduitPort(LineBlock lineBlock, BlockSideEnum side, List <ConduitClosureTerminalInfo> terminals, string outerConduitColor, double spaceBetweenTerminals = -1, double terminalSize = -1, double portMargin = -1) { BlockPort port = new BlockPort(side, "MultiConduit" + outerConduitColor, null, spaceBetweenTerminals, terminalSize, portMargin); foreach (var terminal in terminals) { if (terminal.LineSegment is ConduitSegmentInfo) { ConduitSegmentInfo conduitSegment = terminal.LineSegment as ConduitSegmentInfo; bool visible = false; if (terminal.ConnectionKind == ConduitClosureInternalConnectionKindEnum.NotConnected) { visible = true; } var blockTerminal = new BlockPortTerminal(visible, "InnerConduit" + conduitSegment.Conduit.Color.ToString()); blockTerminal.SetReference(conduitSegment.Id, "InnerConduitSegment"); port.AddTerminal(blockTerminal); } } lineBlock.AddPort(port); return(port); }
private BlockPort AddBigConduitPort(LineBlock lineBlock, BlockSideEnum side, int nTerminals, string outerConduitColor = null, double spaceBetweenTerminals = -1, double terminalSize = -1, double portMargin = -1) { BlockPort port = new BlockPort(side, outerConduitColor != null ? "BigConduit" + outerConduitColor : null, null, spaceBetweenTerminals, terminalSize, portMargin); for (int i = 0; i < nTerminals; i++) { port.AddTerminal(new BlockPortTerminal(false)); } lineBlock.AddPort(port); return(port); }
private BlockPort AddMultiConduitPort(LineBlock lineBlock, BlockSideEnum side, int nTerminals, string outerConduitColor, double spaceBetweenTerminals = -1, double terminalSize = -1, double portMargin = -1) { BlockPort port = new BlockPort(side, "MultiConduit" + outerConduitColor, null, spaceBetweenTerminals, terminalSize, portMargin); for (int i = 0; i < nTerminals; i++) { port.AddTerminal(new BlockPortTerminal(true, "InnerConduit" + MockupHelper.GetColorStringFromConduitNumber(i + 1))); } lineBlock.AddPort(port); return(port); }