diff --git a/network-area-diagram/src/main/java/com/powsybl/nad/svg/SvgWriter.java b/network-area-diagram/src/main/java/com/powsybl/nad/svg/SvgWriter.java index 0344d89d6..4c1af5419 100644 --- a/network-area-diagram/src/main/java/com/powsybl/nad/svg/SvgWriter.java +++ b/network-area-diagram/src/main/java/com/powsybl/nad/svg/SvgWriter.java @@ -917,6 +917,13 @@ private void addMetadata(Graph graph, XMLStreamWriter writer) throws XMLStreamEx getPrefixedId(graph.getBusGraphNode1(edge).getDiagramId()), getPrefixedId(graph.getBusGraphNode2(edge).getDiagramId()), edge.getType())); + graph.getVoltageLevelTextPairs().forEach(textPair -> metadata.addTextNode(getPrefixedId(textPair.getSecond().getDiagramId()), + textPair.getFirst().getEquipmentId(), + getPrefixedId(textPair.getFirst().getDiagramId()), + getFormattedValue(textPair.getSecond().getX() - textPair.getFirst().getX()), + getFormattedValue(textPair.getSecond().getY() - svgParameters.getDetailedTextNodeYShift() - textPair.getFirst().getY()), + getFormattedValue(textPair.getSecond().getX() - textPair.getFirst().getX()), + getFormattedValue(textPair.getSecond().getY() - textPair.getFirst().getY()))); metadata.addSvgParameters(String.valueOf(svgParameters.isInsertNameDesc()), String.valueOf(svgParameters.isSvgWidthAndHeightAdded()), svgParameters.getCssLocation().name(), svgParameters.getSizeConstraint().name(), String.valueOf(svgParameters.getFixedWidth()), String.valueOf(svgParameters.getFixedHeight()), diff --git a/network-area-diagram/src/main/java/com/powsybl/nad/svg/metadata/DiagramMetadata.java b/network-area-diagram/src/main/java/com/powsybl/nad/svg/metadata/DiagramMetadata.java index 947b7f6ff..80425e10f 100644 --- a/network-area-diagram/src/main/java/com/powsybl/nad/svg/metadata/DiagramMetadata.java +++ b/network-area-diagram/src/main/java/com/powsybl/nad/svg/metadata/DiagramMetadata.java @@ -31,11 +31,13 @@ public class DiagramMetadata { private static final String METADATA_BUS_NODES_ELEMENT_NAME = "busNodes"; private static final String METADATA_NODES_ELEMENT_NAME = "nodes"; private static final String METADATA_EDGES_ELEMENT_NAME = "edges"; + private static final String METADATA_TEXT_NODES_ELEMENT_NAME = "textNodes"; private static final String METADATA_SVG_PARAMETERS_ELEMENT_NAME = "svgParameters"; private final List busNodesMetadata = new ArrayList<>(); private final List nodesMetadata = new ArrayList<>(); private final List edgesMetadata = new ArrayList<>(); + private final List textNodesMetadata = new ArrayList<>(); private SvgParametersMetadata svgParametersMetadata; public static DiagramMetadata readFromSvg(InputStream inputStream) throws XMLStreamException { @@ -51,6 +53,7 @@ public static DiagramMetadata readFromSvg(XMLStreamReader reader) throws XMLStre case METADATA_BUS_NODES_ELEMENT_NAME -> readCollection(metadata.busNodesMetadata, new BusNodeMetadata.Reader(), reader); case METADATA_NODES_ELEMENT_NAME -> readCollection(metadata.nodesMetadata, new NodeMetadata.Reader(), reader); case METADATA_EDGES_ELEMENT_NAME -> readCollection(metadata.edgesMetadata, new EdgeMetadata.Reader(), reader); + case METADATA_TEXT_NODES_ELEMENT_NAME -> readCollection(metadata.textNodesMetadata, new TextNodeMetadata.Reader(), reader); case METADATA_SVG_PARAMETERS_ELEMENT_NAME -> metadata.svgParametersMetadata = new SvgParametersMetadata.Reader().read(reader); default -> throw new PowsyblException("Unexpected element '" + token + "' in metadata"); } @@ -77,6 +80,7 @@ public void writeXml(XMLStreamWriter writer) throws XMLStreamException { writeCollection(busNodesMetadata, METADATA_BUS_NODES_ELEMENT_NAME, writer); writeCollection(nodesMetadata, METADATA_NODES_ELEMENT_NAME, writer); writeCollection(edgesMetadata, METADATA_EDGES_ELEMENT_NAME, writer); + writeCollection(textNodesMetadata, METADATA_TEXT_NODES_ELEMENT_NAME, writer); if (svgParametersMetadata != null) { svgParametersMetadata.write(writer); } else { @@ -112,6 +116,10 @@ public void addEdge(String svgId, String equipmentId, String node1SvgId, String edgesMetadata.add(new EdgeMetadata(svgId, equipmentId, node1SvgId, node2SvgId, busNode1SvgId, busNode2SvgId, edgeType)); } + public void addTextNode(String svgId, String equipmentId, String vlNodeId, String positionShiftX, String positionShiftY, String connectionShiftX, String connectionShiftY) { + textNodesMetadata.add(new TextNodeMetadata(svgId, equipmentId, vlNodeId, positionShiftX, positionShiftY, connectionShiftX, connectionShiftY)); + } + public void addSvgParameters(String insertNameDesc, String svgWidthAndHeightAdded, String cssLocation, String sizeConstraint, String fixedWidth, String fixedHeight, String fixedScale, String arrowShift, String arrowLabelShift, String converterStationWidth, String voltageLevelCircleRadius, String fictitiousVoltageLevelCircleRadius, String transformerCircleRadius, diff --git a/network-area-diagram/src/main/java/com/powsybl/nad/svg/metadata/TextNodeMetadata.java b/network-area-diagram/src/main/java/com/powsybl/nad/svg/metadata/TextNodeMetadata.java new file mode 100644 index 000000000..c9ac4dcae --- /dev/null +++ b/network-area-diagram/src/main/java/com/powsybl/nad/svg/metadata/TextNodeMetadata.java @@ -0,0 +1,82 @@ +/** + * Copyright (c) 2024, RTE (http://www.rte-france.com) + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * SPDX-License-Identifier: MPL-2.0 + */ +package com.powsybl.nad.svg.metadata; + +import com.powsybl.commons.exceptions.UncheckedXmlStreamException; +import com.powsybl.commons.xml.XmlUtil; + +import javax.xml.stream.XMLStreamException; +import javax.xml.stream.XMLStreamReader; +import javax.xml.stream.XMLStreamWriter; + +/** + * @author Massimo Ferraro {@literal } + */ + +public class TextNodeMetadata extends AbstractMetadataItem { + private static final String ELEMENT_NAME = "textNode"; + private static final String VL_NODE_ATTRIBUTE = "vlNode"; + private static final String POSITION_SHIFT_X_ATTRIBUTE = "shiftX"; + private static final String POSITION_SHIFT_Y_ATTRIBUTE = "shiftY"; + private static final String CONNECTION_SHIFT_X_ATTRIBUTE = "connectionShiftX"; + private static final String CONNECTION_SHIFT_Y_ATTRIBUTE = "connectionShiftY"; + + private final String vlNodeId; + private final String positionShiftX; + private final String positionShiftY; + private final String connectionShiftX; + private final String connectionShiftY; + + public TextNodeMetadata(String svgId, String equipmentId, String vlNodeId, String positionShiftX, String positionShiftY, + String connectionShiftX, String connectionShiftY) { + super(svgId, equipmentId); + this.vlNodeId = vlNodeId; + this.positionShiftX = positionShiftX; + this.positionShiftY = positionShiftY; + this.connectionShiftX = connectionShiftX; + this.connectionShiftY = connectionShiftY; + } + + @Override + String getElementName() { + return ELEMENT_NAME; + } + + @Override + void write(XMLStreamWriter writer) throws XMLStreamException { + super.write(writer); + writer.writeAttribute(VL_NODE_ATTRIBUTE, vlNodeId); + writer.writeAttribute(POSITION_SHIFT_X_ATTRIBUTE, positionShiftX); + writer.writeAttribute(POSITION_SHIFT_Y_ATTRIBUTE, positionShiftY); + writer.writeAttribute(CONNECTION_SHIFT_X_ATTRIBUTE, connectionShiftX); + writer.writeAttribute(CONNECTION_SHIFT_Y_ATTRIBUTE, connectionShiftY); + } + + static class Reader implements AbstractMetadataItem.MetadataItemReader { + @Override + public String getElementName() { + return ELEMENT_NAME; + } + + public TextNodeMetadata read(XMLStreamReader reader) { + try { + String diagramId = readDiagramId(reader); + String equipmentId = readEquipmentId(reader); + String vlNodeId = reader.getAttributeValue(null, VL_NODE_ATTRIBUTE); + String positionShiftX = reader.getAttributeValue(null, POSITION_SHIFT_X_ATTRIBUTE); + String positionShiftY = reader.getAttributeValue(null, POSITION_SHIFT_Y_ATTRIBUTE); + String connectionShiftX = reader.getAttributeValue(null, CONNECTION_SHIFT_X_ATTRIBUTE); + String connectionShiftY = reader.getAttributeValue(null, CONNECTION_SHIFT_Y_ATTRIBUTE); + XmlUtil.readEndElementOrThrow(reader); + return new TextNodeMetadata(diagramId, equipmentId, vlNodeId, positionShiftX, positionShiftY, connectionShiftX, connectionShiftY); + } catch (XMLStreamException e) { + throw new UncheckedXmlStreamException(e); + } + } + } +} diff --git a/network-area-diagram/src/test/java/com/powsybl/nad/svg/DiagramMetadataTest.java b/network-area-diagram/src/test/java/com/powsybl/nad/svg/DiagramMetadataTest.java index 79f8e63b7..fcf5aacc1 100644 --- a/network-area-diagram/src/test/java/com/powsybl/nad/svg/DiagramMetadataTest.java +++ b/network-area-diagram/src/test/java/com/powsybl/nad/svg/DiagramMetadataTest.java @@ -123,6 +123,7 @@ void testInvalid() throws XMLStreamException { + """; diff --git a/network-area-diagram/src/test/resources/3wt.svg b/network-area-diagram/src/test/resources/3wt.svg index 7c555be17..e5a4fb172 100644 --- a/network-area-diagram/src/test/resources/3wt.svg +++ b/network-area-diagram/src/test/resources/3wt.svg @@ -62,6 +62,11 @@ path.nad-arrow-in:not(.nad-state-in .nad-arrow-in) {visibility: hidden} + + + + + diff --git a/network-area-diagram/src/test/resources/3wt_disconnected.svg b/network-area-diagram/src/test/resources/3wt_disconnected.svg index 7dd10142e..b5873c5df 100644 --- a/network-area-diagram/src/test/resources/3wt_disconnected.svg +++ b/network-area-diagram/src/test/resources/3wt_disconnected.svg @@ -61,6 +61,11 @@ path.nad-arrow-in:not(.nad-state-in .nad-arrow-in) {visibility: hidden} + + + + + diff --git a/network-area-diagram/src/test/resources/3wt_disconnected_topological.svg b/network-area-diagram/src/test/resources/3wt_disconnected_topological.svg index 4abc669b9..5b8c80c69 100644 --- a/network-area-diagram/src/test/resources/3wt_disconnected_topological.svg +++ b/network-area-diagram/src/test/resources/3wt_disconnected_topological.svg @@ -126,6 +126,11 @@ path.nad-arrow-in:not(.nad-state-in .nad-arrow-in) {visibility: hidden} + + + + + diff --git a/network-area-diagram/src/test/resources/3wt_partial.svg b/network-area-diagram/src/test/resources/3wt_partial.svg index 4c64ddbe9..35a2131d4 100644 --- a/network-area-diagram/src/test/resources/3wt_partial.svg +++ b/network-area-diagram/src/test/resources/3wt_partial.svg @@ -62,6 +62,9 @@ path.nad-arrow-in:not(.nad-state-in .nad-arrow-in) {visibility: hidden} + + + diff --git a/network-area-diagram/src/test/resources/IEEE_118_bus.svg b/network-area-diagram/src/test/resources/IEEE_118_bus.svg index 6c91e2a1a..791fc3555 100644 --- a/network-area-diagram/src/test/resources/IEEE_118_bus.svg +++ b/network-area-diagram/src/test/resources/IEEE_118_bus.svg @@ -539,6 +539,126 @@ path.nad-arrow-in:not(.nad-state-in .nad-arrow-in) {visibility: hidden} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/network-area-diagram/src/test/resources/IEEE_118_bus_partial.svg b/network-area-diagram/src/test/resources/IEEE_118_bus_partial.svg index c00b25abb..8c253ed7b 100644 --- a/network-area-diagram/src/test/resources/IEEE_118_bus_partial.svg +++ b/network-area-diagram/src/test/resources/IEEE_118_bus_partial.svg @@ -229,6 +229,28 @@ path.nad-arrow-in:not(.nad-state-in .nad-arrow-in) {visibility: hidden} + + + + + + + + + + + + + + + + + + + + + + diff --git a/network-area-diagram/src/test/resources/IEEE_118_bus_partial_non_connected.svg b/network-area-diagram/src/test/resources/IEEE_118_bus_partial_non_connected.svg index c51f6191c..b4bb81714 100644 --- a/network-area-diagram/src/test/resources/IEEE_118_bus_partial_non_connected.svg +++ b/network-area-diagram/src/test/resources/IEEE_118_bus_partial_non_connected.svg @@ -200,6 +200,18 @@ path.nad-arrow-in:not(.nad-state-in .nad-arrow-in) {visibility: hidden} + + + + + + + + + + + + diff --git a/network-area-diagram/src/test/resources/IEEE_14_bus.svg b/network-area-diagram/src/test/resources/IEEE_14_bus.svg index 381efd08c..0c5c74612 100644 --- a/network-area-diagram/src/test/resources/IEEE_14_bus.svg +++ b/network-area-diagram/src/test/resources/IEEE_14_bus.svg @@ -97,6 +97,19 @@ path.nad-arrow-in:not(.nad-state-in .nad-arrow-in) {visibility: hidden} + + + + + + + + + + + + + diff --git a/network-area-diagram/src/test/resources/IEEE_14_bus_disconnection.svg b/network-area-diagram/src/test/resources/IEEE_14_bus_disconnection.svg index ac9cb7839..bb3ee8632 100644 --- a/network-area-diagram/src/test/resources/IEEE_14_bus_disconnection.svg +++ b/network-area-diagram/src/test/resources/IEEE_14_bus_disconnection.svg @@ -94,6 +94,19 @@ path.nad-arrow-in:not(.nad-state-in .nad-arrow-in) {visibility: hidden} + + + + + + + + + + + + + diff --git a/network-area-diagram/src/test/resources/IEEE_14_bus_fictitious.svg b/network-area-diagram/src/test/resources/IEEE_14_bus_fictitious.svg index 7b4542bd6..1e64e8482 100644 --- a/network-area-diagram/src/test/resources/IEEE_14_bus_fictitious.svg +++ b/network-area-diagram/src/test/resources/IEEE_14_bus_fictitious.svg @@ -100,6 +100,22 @@ path.nad-arrow-in:not(.nad-state-in .nad-arrow-in) {visibility: hidden} + + + + + + + + + + + + + + + + diff --git a/network-area-diagram/src/test/resources/IEEE_14_bus_text_nodes.svg b/network-area-diagram/src/test/resources/IEEE_14_bus_text_nodes.svg index f7b2cd557..8bc9a2a4b 100644 --- a/network-area-diagram/src/test/resources/IEEE_14_bus_text_nodes.svg +++ b/network-area-diagram/src/test/resources/IEEE_14_bus_text_nodes.svg @@ -100,6 +100,22 @@ path.nad-arrow-in:not(.nad-state-in .nad-arrow-in) {visibility: hidden} + + + + + + + + + + + + + + + + diff --git a/network-area-diagram/src/test/resources/IEEE_14_bus_voltage_filter1.svg b/network-area-diagram/src/test/resources/IEEE_14_bus_voltage_filter1.svg index 5d03d0a22..273170988 100644 --- a/network-area-diagram/src/test/resources/IEEE_14_bus_voltage_filter1.svg +++ b/network-area-diagram/src/test/resources/IEEE_14_bus_voltage_filter1.svg @@ -143,6 +143,13 @@ path.nad-arrow-in:not(.nad-state-in .nad-arrow-in) {visibility: hidden} + + + + + + + diff --git a/network-area-diagram/src/test/resources/IEEE_14_bus_voltage_filter2.svg b/network-area-diagram/src/test/resources/IEEE_14_bus_voltage_filter2.svg index fc26ee7e5..7e207f943 100644 --- a/network-area-diagram/src/test/resources/IEEE_14_bus_voltage_filter2.svg +++ b/network-area-diagram/src/test/resources/IEEE_14_bus_voltage_filter2.svg @@ -164,6 +164,19 @@ path.nad-arrow-in:not(.nad-state-in .nad-arrow-in) {visibility: hidden} + + + + + + + + + + + + + diff --git a/network-area-diagram/src/test/resources/IEEE_14_bus_voltage_filter3.svg b/network-area-diagram/src/test/resources/IEEE_14_bus_voltage_filter3.svg index 0cb7afdf4..910dc9e04 100644 --- a/network-area-diagram/src/test/resources/IEEE_14_bus_voltage_filter3.svg +++ b/network-area-diagram/src/test/resources/IEEE_14_bus_voltage_filter3.svg @@ -150,6 +150,14 @@ path.nad-arrow-in:not(.nad-state-in .nad-arrow-in) {visibility: hidden} + + + + + + + + diff --git a/network-area-diagram/src/test/resources/IEEE_14_bus_voltage_filter4.svg b/network-area-diagram/src/test/resources/IEEE_14_bus_voltage_filter4.svg index 6a398061e..7efcee611 100644 --- a/network-area-diagram/src/test/resources/IEEE_14_bus_voltage_filter4.svg +++ b/network-area-diagram/src/test/resources/IEEE_14_bus_voltage_filter4.svg @@ -152,6 +152,17 @@ path.nad-arrow-in:not(.nad-state-in .nad-arrow-in) {visibility: hidden} + + + + + + + + + + + diff --git a/network-area-diagram/src/test/resources/IEEE_14_bus_voltage_filter5.svg b/network-area-diagram/src/test/resources/IEEE_14_bus_voltage_filter5.svg index 8a5338c84..d36be989d 100644 --- a/network-area-diagram/src/test/resources/IEEE_14_bus_voltage_filter5.svg +++ b/network-area-diagram/src/test/resources/IEEE_14_bus_voltage_filter5.svg @@ -146,6 +146,14 @@ path.nad-arrow-in:not(.nad-state-in .nad-arrow-in) {visibility: hidden} + + + + + + + + diff --git a/network-area-diagram/src/test/resources/IEEE_14_id_prefixed.svg b/network-area-diagram/src/test/resources/IEEE_14_id_prefixed.svg index d80614656..3fd9f2af7 100644 --- a/network-area-diagram/src/test/resources/IEEE_14_id_prefixed.svg +++ b/network-area-diagram/src/test/resources/IEEE_14_id_prefixed.svg @@ -100,6 +100,22 @@ path.nad-arrow-in:not(.nad-state-in .nad-arrow-in) {visibility: hidden} + + + + + + + + + + + + + + + + diff --git a/network-area-diagram/src/test/resources/IEEE_24_bus.svg b/network-area-diagram/src/test/resources/IEEE_24_bus.svg index e5ef7a2d9..988ac7616 100644 --- a/network-area-diagram/src/test/resources/IEEE_24_bus.svg +++ b/network-area-diagram/src/test/resources/IEEE_24_bus.svg @@ -138,6 +138,32 @@ path.nad-arrow-in:not(.nad-state-in .nad-arrow-in) {visibility: hidden} + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/network-area-diagram/src/test/resources/IEEE_30_bus.svg b/network-area-diagram/src/test/resources/IEEE_30_bus.svg index 8d0579100..3c2b6c769 100644 --- a/network-area-diagram/src/test/resources/IEEE_30_bus.svg +++ b/network-area-diagram/src/test/resources/IEEE_30_bus.svg @@ -153,6 +153,38 @@ path.nad-arrow-in:not(.nad-state-in .nad-arrow-in) {visibility: hidden} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/network-area-diagram/src/test/resources/IEEE_57_bus.svg b/network-area-diagram/src/test/resources/IEEE_57_bus.svg index 314941caf..ebcb47196 100644 --- a/network-area-diagram/src/test/resources/IEEE_57_bus.svg +++ b/network-area-diagram/src/test/resources/IEEE_57_bus.svg @@ -296,6 +296,50 @@ path.nad-arrow-in:not(.nad-state-in .nad-arrow-in) {visibility: hidden} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/network-area-diagram/src/test/resources/current_limits.svg b/network-area-diagram/src/test/resources/current_limits.svg index ba1f3798a..d6a318072 100644 --- a/network-area-diagram/src/test/resources/current_limits.svg +++ b/network-area-diagram/src/test/resources/current_limits.svg @@ -60,6 +60,10 @@ path.nad-arrow-in:not(.nad-state-in .nad-arrow-in) {visibility: hidden} + + + + diff --git a/network-area-diagram/src/test/resources/dangling_line_connected.svg b/network-area-diagram/src/test/resources/dangling_line_connected.svg index 492ff1beb..496ff870e 100644 --- a/network-area-diagram/src/test/resources/dangling_line_connected.svg +++ b/network-area-diagram/src/test/resources/dangling_line_connected.svg @@ -67,6 +67,11 @@ path.nad-arrow-in:not(.nad-state-in .nad-arrow-in) {visibility: hidden} + + + + + diff --git a/network-area-diagram/src/test/resources/dangling_line_disconnected.svg b/network-area-diagram/src/test/resources/dangling_line_disconnected.svg index ffacee80b..2882dc22e 100644 --- a/network-area-diagram/src/test/resources/dangling_line_disconnected.svg +++ b/network-area-diagram/src/test/resources/dangling_line_disconnected.svg @@ -67,6 +67,11 @@ path.nad-arrow-in:not(.nad-state-in .nad-arrow-in) {visibility: hidden} + + + + + diff --git a/network-area-diagram/src/test/resources/detailed_text_node.svg b/network-area-diagram/src/test/resources/detailed_text_node.svg index d856152bd..3a3fb4354 100644 --- a/network-area-diagram/src/test/resources/detailed_text_node.svg +++ b/network-area-diagram/src/test/resources/detailed_text_node.svg @@ -125,6 +125,10 @@ path.nad-arrow-in:not(.nad-state-in .nad-arrow-in) {visibility: hidden} + + + + diff --git a/network-area-diagram/src/test/resources/detailed_text_node_no_legend.svg b/network-area-diagram/src/test/resources/detailed_text_node_no_legend.svg index af2ccde4c..51dc85b79 100644 --- a/network-area-diagram/src/test/resources/detailed_text_node_no_legend.svg +++ b/network-area-diagram/src/test/resources/detailed_text_node_no_legend.svg @@ -125,6 +125,10 @@ path.nad-arrow-in:not(.nad-state-in .nad-arrow-in) {visibility: hidden} + + + + diff --git a/network-area-diagram/src/test/resources/diamond-spring-repulsion-factor-0.0.svg b/network-area-diagram/src/test/resources/diamond-spring-repulsion-factor-0.0.svg index b0b0ac882..20cfca4d9 100644 --- a/network-area-diagram/src/test/resources/diamond-spring-repulsion-factor-0.0.svg +++ b/network-area-diagram/src/test/resources/diamond-spring-repulsion-factor-0.0.svg @@ -98,6 +98,23 @@ path.nad-arrow-in:not(.nad-state-in .nad-arrow-in) {visibility: hidden} + + + + + + + + + + + + + + + + + diff --git a/network-area-diagram/src/test/resources/diamond-spring-repulsion-factor-0.2.svg b/network-area-diagram/src/test/resources/diamond-spring-repulsion-factor-0.2.svg index 811eb5502..acc94f433 100644 --- a/network-area-diagram/src/test/resources/diamond-spring-repulsion-factor-0.2.svg +++ b/network-area-diagram/src/test/resources/diamond-spring-repulsion-factor-0.2.svg @@ -98,6 +98,23 @@ path.nad-arrow-in:not(.nad-state-in .nad-arrow-in) {visibility: hidden} + + + + + + + + + + + + + + + + + diff --git a/network-area-diagram/src/test/resources/edge_info_current.svg b/network-area-diagram/src/test/resources/edge_info_current.svg index 13f0c9db4..516134fc4 100644 --- a/network-area-diagram/src/test/resources/edge_info_current.svg +++ b/network-area-diagram/src/test/resources/edge_info_current.svg @@ -60,6 +60,10 @@ path.nad-arrow-in:not(.nad-state-in .nad-arrow-in) {visibility: hidden} + + + + diff --git a/network-area-diagram/src/test/resources/edge_info_double_labels.svg b/network-area-diagram/src/test/resources/edge_info_double_labels.svg index fde302f0b..65443ef8b 100644 --- a/network-area-diagram/src/test/resources/edge_info_double_labels.svg +++ b/network-area-diagram/src/test/resources/edge_info_double_labels.svg @@ -62,6 +62,11 @@ path.nad-arrow-in:not(.nad-state-in .nad-arrow-in) {visibility: hidden} + + + + + diff --git a/network-area-diagram/src/test/resources/edge_info_missing_label.svg b/network-area-diagram/src/test/resources/edge_info_missing_label.svg index 93d0a2b7b..fca6050f8 100644 --- a/network-area-diagram/src/test/resources/edge_info_missing_label.svg +++ b/network-area-diagram/src/test/resources/edge_info_missing_label.svg @@ -60,6 +60,10 @@ path.nad-arrow-in:not(.nad-state-in .nad-arrow-in) {visibility: hidden} + + + + diff --git a/network-area-diagram/src/test/resources/edge_info_perpendicular_label.svg b/network-area-diagram/src/test/resources/edge_info_perpendicular_label.svg index 628a661f2..f7bb5020d 100644 --- a/network-area-diagram/src/test/resources/edge_info_perpendicular_label.svg +++ b/network-area-diagram/src/test/resources/edge_info_perpendicular_label.svg @@ -60,6 +60,10 @@ path.nad-arrow-in:not(.nad-state-in .nad-arrow-in) {visibility: hidden} + + + + diff --git a/network-area-diagram/src/test/resources/edge_info_reactive_power.svg b/network-area-diagram/src/test/resources/edge_info_reactive_power.svg index 1c427c032..7293df168 100644 --- a/network-area-diagram/src/test/resources/edge_info_reactive_power.svg +++ b/network-area-diagram/src/test/resources/edge_info_reactive_power.svg @@ -60,6 +60,10 @@ path.nad-arrow-in:not(.nad-state-in .nad-arrow-in) {visibility: hidden} + + + + diff --git a/network-area-diagram/src/test/resources/edge_info_shift.svg b/network-area-diagram/src/test/resources/edge_info_shift.svg index 1e79adcfb..fa2397441 100644 --- a/network-area-diagram/src/test/resources/edge_info_shift.svg +++ b/network-area-diagram/src/test/resources/edge_info_shift.svg @@ -67,6 +67,11 @@ path.nad-arrow-in:not(.nad-state-in .nad-arrow-in) {visibility: hidden} + + + + + diff --git a/network-area-diagram/src/test/resources/edge_with_id.svg b/network-area-diagram/src/test/resources/edge_with_id.svg index 997049948..069cb9312 100644 --- a/network-area-diagram/src/test/resources/edge_with_id.svg +++ b/network-area-diagram/src/test/resources/edge_with_id.svg @@ -67,6 +67,11 @@ path.nad-arrow-in:not(.nad-state-in .nad-arrow-in) {visibility: hidden} + + + + + diff --git a/network-area-diagram/src/test/resources/edge_without_id.svg b/network-area-diagram/src/test/resources/edge_without_id.svg index 492ff1beb..496ff870e 100644 --- a/network-area-diagram/src/test/resources/edge_without_id.svg +++ b/network-area-diagram/src/test/resources/edge_without_id.svg @@ -67,6 +67,11 @@ path.nad-arrow-in:not(.nad-state-in .nad-arrow-in) {visibility: hidden} + + + + + diff --git a/network-area-diagram/src/test/resources/hvdc-vl-depth-1.svg b/network-area-diagram/src/test/resources/hvdc-vl-depth-1.svg index f585b6792..eb8e0a6ca 100644 --- a/network-area-diagram/src/test/resources/hvdc-vl-depth-1.svg +++ b/network-area-diagram/src/test/resources/hvdc-vl-depth-1.svg @@ -57,6 +57,10 @@ path.nad-arrow-in:not(.nad-state-in .nad-arrow-in) {visibility: hidden} + + + + diff --git a/network-area-diagram/src/test/resources/hvdc.svg b/network-area-diagram/src/test/resources/hvdc.svg index 35c70f691..7d4166525 100644 --- a/network-area-diagram/src/test/resources/hvdc.svg +++ b/network-area-diagram/src/test/resources/hvdc.svg @@ -67,6 +67,13 @@ path.nad-arrow-in:not(.nad-state-in .nad-arrow-in) {visibility: hidden} + + + + + + + diff --git a/network-area-diagram/src/test/resources/parallel_transformers.svg b/network-area-diagram/src/test/resources/parallel_transformers.svg index 0ee47ac8c..03ab1f9e0 100644 --- a/network-area-diagram/src/test/resources/parallel_transformers.svg +++ b/network-area-diagram/src/test/resources/parallel_transformers.svg @@ -62,6 +62,10 @@ path.nad-arrow-in:not(.nad-state-in .nad-arrow-in) {visibility: hidden} + + + + diff --git a/network-area-diagram/src/test/resources/production_consumption_text_node.svg b/network-area-diagram/src/test/resources/production_consumption_text_node.svg index fad58b2a1..2c386f0fb 100644 --- a/network-area-diagram/src/test/resources/production_consumption_text_node.svg +++ b/network-area-diagram/src/test/resources/production_consumption_text_node.svg @@ -132,6 +132,11 @@ path.nad-arrow-in:not(.nad-state-in .nad-arrow-in) {visibility: hidden} + + + + + diff --git a/network-area-diagram/src/test/resources/production_consumption_text_node_nan.svg b/network-area-diagram/src/test/resources/production_consumption_text_node_nan.svg index 77e2255e5..10f23be6e 100644 --- a/network-area-diagram/src/test/resources/production_consumption_text_node_nan.svg +++ b/network-area-diagram/src/test/resources/production_consumption_text_node_nan.svg @@ -132,6 +132,11 @@ path.nad-arrow-in:not(.nad-state-in .nad-arrow-in) {visibility: hidden} + + + + + diff --git a/network-area-diagram/src/test/resources/simple-eu-loop100.svg b/network-area-diagram/src/test/resources/simple-eu-loop100.svg index db465d3d4..021c4c067 100644 --- a/network-area-diagram/src/test/resources/simple-eu-loop100.svg +++ b/network-area-diagram/src/test/resources/simple-eu-loop100.svg @@ -157,6 +157,18 @@ path.nad-arrow-in:not(.nad-state-in .nad-arrow-in) {visibility: hidden} + + + + + + + + + + + + diff --git a/network-area-diagram/src/test/resources/simple-eu-loop80.svg b/network-area-diagram/src/test/resources/simple-eu-loop80.svg index 03cfbba7b..b499148da 100644 --- a/network-area-diagram/src/test/resources/simple-eu-loop80.svg +++ b/network-area-diagram/src/test/resources/simple-eu-loop80.svg @@ -157,6 +157,18 @@ path.nad-arrow-in:not(.nad-state-in .nad-arrow-in) {visibility: hidden} + + + + + + + + + + + + diff --git a/network-area-diagram/src/test/resources/simple-eu.svg b/network-area-diagram/src/test/resources/simple-eu.svg index cbaa43a67..844ae9450 100644 --- a/network-area-diagram/src/test/resources/simple-eu.svg +++ b/network-area-diagram/src/test/resources/simple-eu.svg @@ -157,6 +157,18 @@ path.nad-arrow-in:not(.nad-state-in .nad-arrow-in) {visibility: hidden} + + + + + + + + + + + + diff --git a/network-area-diagram/src/test/resources/tie_line.svg b/network-area-diagram/src/test/resources/tie_line.svg index 7a71f4e78..b45c58db1 100644 --- a/network-area-diagram/src/test/resources/tie_line.svg +++ b/network-area-diagram/src/test/resources/tie_line.svg @@ -64,6 +64,12 @@ path.nad-arrow-in:not(.nad-state-in .nad-arrow-in) {visibility: hidden} + + + + + + diff --git a/network-area-diagram/src/test/resources/tie_line_filtered.svg b/network-area-diagram/src/test/resources/tie_line_filtered.svg index 2bc9c9635..2703ed5a4 100644 --- a/network-area-diagram/src/test/resources/tie_line_filtered.svg +++ b/network-area-diagram/src/test/resources/tie_line_filtered.svg @@ -64,6 +64,11 @@ path.nad-arrow-in:not(.nad-state-in .nad-arrow-in) {visibility: hidden} + + + + + diff --git a/network-area-diagram/src/test/resources/vl_description_id.svg b/network-area-diagram/src/test/resources/vl_description_id.svg index 9c8686112..ff4e87072 100644 --- a/network-area-diagram/src/test/resources/vl_description_id.svg +++ b/network-area-diagram/src/test/resources/vl_description_id.svg @@ -125,6 +125,10 @@ path.nad-arrow-in:not(.nad-state-in .nad-arrow-in) {visibility: hidden} + + + + diff --git a/network-area-diagram/src/test/resources/vl_description_substation.svg b/network-area-diagram/src/test/resources/vl_description_substation.svg index 6ab9aa6fc..12c130e58 100644 --- a/network-area-diagram/src/test/resources/vl_description_substation.svg +++ b/network-area-diagram/src/test/resources/vl_description_substation.svg @@ -125,6 +125,10 @@ path.nad-arrow-in:not(.nad-state-in .nad-arrow-in) {visibility: hidden} + + + + diff --git a/network-area-diagram/src/test/resources/vl_description_substation_id.svg b/network-area-diagram/src/test/resources/vl_description_substation_id.svg index d145dcdcb..7d6ebd5f6 100644 --- a/network-area-diagram/src/test/resources/vl_description_substation_id.svg +++ b/network-area-diagram/src/test/resources/vl_description_substation_id.svg @@ -125,6 +125,10 @@ path.nad-arrow-in:not(.nad-state-in .nad-arrow-in) {visibility: hidden} + + + + diff --git a/network-area-diagram/src/test/resources/voltage_limits.svg b/network-area-diagram/src/test/resources/voltage_limits.svg index 51def70da..f6592bc02 100644 --- a/network-area-diagram/src/test/resources/voltage_limits.svg +++ b/network-area-diagram/src/test/resources/voltage_limits.svg @@ -62,6 +62,10 @@ path.nad-arrow-in:not(.nad-state-in .nad-arrow-in) {visibility: hidden} + + + +