From 16a166e3fff90f497ed65cbf3ff2c7367b8d31c7 Mon Sep 17 00:00:00 2001 From: Florian Dupuy <66690739+flo-dup@users.noreply.github.com> Date: Thu, 17 Feb 2022 17:28:51 +0100 Subject: [PATCH 1/3] Filter with list of voltage levels and depth (#53) * Create new API for list of voltage levels and depth * Add unit tests Signed-off-by: Florian Dupuy --- .../com/powsybl/nad/NetworkAreaDiagram.java | 9 + .../nad/build/iidm/VoltageLevelFilter.java | 22 + .../nad/svg/NominalVoltageStyleTest.java | 4 +- .../powsybl/nad/svg/TopologicalStyleTest.java | 9 + .../IEEE_118_bus_partial_non_connected.svg | 929 ++++++++++++++++++ 5 files changed, 972 insertions(+), 1 deletion(-) create mode 100644 src/test/resources/IEEE_118_bus_partial_non_connected.svg diff --git a/src/main/java/com/powsybl/nad/NetworkAreaDiagram.java b/src/main/java/com/powsybl/nad/NetworkAreaDiagram.java index 0a22d9fe..deb068a7 100644 --- a/src/main/java/com/powsybl/nad/NetworkAreaDiagram.java +++ b/src/main/java/com/powsybl/nad/NetworkAreaDiagram.java @@ -25,6 +25,7 @@ import java.io.UncheckedIOException; import java.io.Writer; import java.nio.file.Path; +import java.util.List; import java.util.Objects; import java.util.function.Predicate; @@ -44,6 +45,14 @@ public NetworkAreaDiagram(Network network, String voltageLevelId, int depth) { this(network, VoltageLevelFilter.createVoltageLevelDepthFilter(network, voltageLevelId, depth)); } + public NetworkAreaDiagram(Network network, List voltageLevelIds) { + this(network, VoltageLevelFilter.createVoltageLevelsFilter(network, voltageLevelIds)); + } + + public NetworkAreaDiagram(Network network, List voltageLevelIds, int depth) { + this(network, VoltageLevelFilter.createVoltageLevelsDepthFilter(network, voltageLevelIds, depth)); + } + public NetworkAreaDiagram(Network network, Predicate voltageLevelFilter) { this.network = Objects.requireNonNull(network); this.voltageLevelFilter = Objects.requireNonNull(voltageLevelFilter); diff --git a/src/main/java/com/powsybl/nad/build/iidm/VoltageLevelFilter.java b/src/main/java/com/powsybl/nad/build/iidm/VoltageLevelFilter.java index c4a5c3cb..d452a814 100644 --- a/src/main/java/com/powsybl/nad/build/iidm/VoltageLevelFilter.java +++ b/src/main/java/com/powsybl/nad/build/iidm/VoltageLevelFilter.java @@ -11,6 +11,7 @@ import com.powsybl.nad.utils.iidm.IidmUtils; import java.util.HashSet; +import java.util.List; import java.util.Objects; import java.util.Set; import java.util.function.Predicate; @@ -49,6 +50,27 @@ public static VoltageLevelFilter createVoltageLevelDepthFilter(Network network, return new VoltageLevelFilter(voltageLevels); } + public static VoltageLevelFilter createVoltageLevelsDepthFilter(Network network, List voltageLevelIds, int depth) { + Objects.requireNonNull(network); + Objects.requireNonNull(voltageLevelIds); + Set startingSet = new HashSet<>(); + for (String voltageLevelId : voltageLevelIds) { + VoltageLevel vl = network.getVoltageLevel(voltageLevelId); + if (vl == null) { + throw new PowsyblException("Unknown voltage level id '" + voltageLevelId + "'"); + } + startingSet.add(vl); + } + + Set voltageLevels = new HashSet<>(); + traverseVoltageLevels(startingSet, depth, voltageLevels); + return new VoltageLevelFilter(voltageLevels); + } + + public static VoltageLevelFilter createVoltageLevelsFilter(Network network, List voltageLevelIds) { + return createVoltageLevelsDepthFilter(network, voltageLevelIds, 0); + } + private static void traverseVoltageLevels(Set voltageLevelsDepth, int depth, Set visitedVoltageLevels) { if (depth < 0) { return; diff --git a/src/test/java/com/powsybl/nad/svg/NominalVoltageStyleTest.java b/src/test/java/com/powsybl/nad/svg/NominalVoltageStyleTest.java index 84c731f6..b9445a3f 100644 --- a/src/test/java/com/powsybl/nad/svg/NominalVoltageStyleTest.java +++ b/src/test/java/com/powsybl/nad/svg/NominalVoltageStyleTest.java @@ -23,6 +23,8 @@ import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; +import java.util.Collections; + import static org.junit.jupiter.api.Assertions.assertEquals; /** @@ -129,7 +131,7 @@ void test3wt() { @Test void testPartial3wt() { Network network = ThreeWindingsTransformerNetworkFactory.create(); - VoltageLevelFilter filter = VoltageLevelFilter.createVoltageLevelDepthFilter(network, "VL_11", 0); + VoltageLevelFilter filter = VoltageLevelFilter.createVoltageLevelsFilter(network, Collections.singletonList("VL_11")); assertEquals(toString("/3wt_partial.svg"), generateSvgString(network, filter, "/3wt_partial.svg")); } diff --git a/src/test/java/com/powsybl/nad/svg/TopologicalStyleTest.java b/src/test/java/com/powsybl/nad/svg/TopologicalStyleTest.java index d0096d15..0553b141 100644 --- a/src/test/java/com/powsybl/nad/svg/TopologicalStyleTest.java +++ b/src/test/java/com/powsybl/nad/svg/TopologicalStyleTest.java @@ -16,6 +16,8 @@ import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; +import java.util.Arrays; + import static org.junit.jupiter.api.Assertions.assertEquals; /** @@ -71,4 +73,11 @@ void testIEEE118PartialGraph() { VoltageLevelFilter vlDepthFilter = VoltageLevelFilter.createVoltageLevelDepthFilter(network, "VL54", 2); assertEquals(toString("/IEEE_118_bus_partial.svg"), generateSvgString(network, vlDepthFilter, "/IEEE_118_bus_partial.svg")); } + + @Test + void testIEEE118PartialNonConnectedGraph() { + Network network = IeeeCdfNetworkFactory.create118(); + VoltageLevelFilter vlDepthFilter = VoltageLevelFilter.createVoltageLevelsDepthFilter(network, Arrays.asList("VL32", "VL38"), 1); + assertEquals(toString("/IEEE_118_bus_partial_non_connected.svg"), generateSvgString(network, vlDepthFilter, "/IEEE_118_bus_partial_non_connected.svg")); + } } diff --git a/src/test/resources/IEEE_118_bus_partial_non_connected.svg b/src/test/resources/IEEE_118_bus_partial_non_connected.svg new file mode 100644 index 00000000..8350e88c --- /dev/null +++ b/src/test/resources/IEEE_118_bus_partial_non_connected.svg @@ -0,0 +1,929 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + + + + 0 + + + + + + + + + + + + + + 0 + + + + + + + 0 + + + + + + + + + + + + + + 0 + + + + + + + 0 + + + + + + + + + + + + + + 0 + + + + + + + 0 + + + + + + + + + + + + 0 + + + + + + + 0 + + + + + + + + + + + + + + 0 + + + + + + + 0 + + + + + + + + + + + + + + 0 + + + + + + + 0 + + + + + + + + + + + + + + 0 + + + + + + + 0 + + + + + + + + + + + + 0 + + + + + + + 0 + + + + + + + + + + + + + + 0 + + + + + + + 0 + + + + + + + + + + + + + + 0 + + + + + + + 0 + + + + + + + + + + + + + + + + + + 0 + + + + + + + 0 + + + + + + + + + + + + + + 0 + + + + + + + 0 + + + + + + + + + + + + + + 0 + + + + + + + 0 + + + + + + + + + + + + 0 + + + + + + + 0 + + + + + + + + + + + + + + 0 + + + + + + + 0 + + + + + + + + + + + + + + 0 + + + + + + + 0 + + + + + + + + + + + + + + 0 + + + + + + + 0 + + + + + + + + + + + + 0 + + + + + + + 0 + + + + + + + + + + + + + + 0 + + + + + + + 0 + + + + + + + + + + + + 0 + + + + + + + 0 + + + + + + + + + + + + + + 0 + + + + + + + 0 + + + + + + + + + + + + 0 + + + + + + + 0 + + + + + + + + + + + + + + 0 + + + + + + + 0 + + + + + + + + + + + + + + 0 + + + + + + + 0 + + + + + + + + + + + + + + 0 + + + + + + + 0 + + + + + + + + + + + + + + 0 + + + + + + + 0 + + + + + + + + + + + + + 0 + + + + + + + 0 + + + + + + + + + + + + + + + 0 + + + + + + + 0 + + + + + + + + + + + + + + 0 + + + + + + + 0 + + + + + + + + + + + + + + 0 + + + + + + + 0 + + + + + + + + + + + + 0 + + + + + + + 0 + + + + + + + + + + + + + + 0 + + + + + + + 0 + + + + + + + + + + + + + + 0 + + + + + + + 0 + + + + + + + + + + + + + + + + + + 0 + + + + + + + 0 + + + + + + + + + + + + + + 0 + + + + + + + 0 + + + + + + + + + + + + + + 0 + + + + + + + 0 + + + + + + + + + + + + + + + + + + + VL23 + VL27 + VL30 + VL31 + VL32 + VL37 + VL38 + VL65 + VL113 + VL114 + + From 89d397e08d40bc533942df9c882979a907dd077b Mon Sep 17 00:00:00 2001 From: Florian Dupuy <66690739+flo-dup@users.noreply.github.com> Date: Mon, 28 Feb 2022 17:09:15 +0100 Subject: [PATCH 2/3] Style changes for TextEdge / TextNode (#56) * TextEdge: Dashed line replaced by dotted line * Add text background * Update unit tests Signed-off-by: Florian Dupuy --- .../com/powsybl/nad/svg/StyleProvider.java | 1 + .../com/powsybl/nad/svg/SvgParameters.java | 10 + .../java/com/powsybl/nad/svg/SvgWriter.java | 30 +++ src/main/resources/nominalStyle.css | 6 +- src/main/resources/topologicalStyle.css | 6 +- .../nad/svg/NominalVoltageStyleTest.java | 1 + src/test/resources/3wt.svg | 18 +- src/test/resources/3wt_partial.svg | 14 +- src/test/resources/IEEE_118_bus.svg | 248 +++++++++--------- src/test/resources/IEEE_118_bus_partial.svg | 52 ++-- src/test/resources/IEEE_14_bus.svg | 40 +-- .../resources/IEEE_14_bus_disconnection.svg | 40 +-- src/test/resources/IEEE_14_bus_text_nodes.svg | 6 +- src/test/resources/IEEE_24_bus.svg | 60 +++-- src/test/resources/IEEE_30_bus.svg | 72 ++--- src/test/resources/IEEE_57_bus.svg | 126 ++++----- src/test/resources/hvdc.svg | 22 +- src/test/resources/simple-eu-loop100.svg | 32 ++- src/test/resources/simple-eu-loop80.svg | 32 ++- src/test/resources/simple-eu.svg | 32 ++- 20 files changed, 484 insertions(+), 364 deletions(-) diff --git a/src/main/java/com/powsybl/nad/svg/StyleProvider.java b/src/main/java/com/powsybl/nad/svg/StyleProvider.java index 57fab391..6b5a0df9 100644 --- a/src/main/java/com/powsybl/nad/svg/StyleProvider.java +++ b/src/main/java/com/powsybl/nad/svg/StyleProvider.java @@ -30,6 +30,7 @@ public interface StyleProvider { String ARROW_OUT_CLASS = CLASSES_PREFIX + "arrow-out"; String HVDC_CLASS = CLASSES_PREFIX + "hvdc"; String UNKNOWN_BUSNODE_CLASS = CLASSES_PREFIX + "unknown-busnode"; + String TEXT_BACKGROUND_CLASS = CLASSES_PREFIX + "text-background"; List getCssFilenames(); diff --git a/src/main/java/com/powsybl/nad/svg/SvgParameters.java b/src/main/java/com/powsybl/nad/svg/SvgParameters.java index 2858c34a..28128dd6 100644 --- a/src/main/java/com/powsybl/nad/svg/SvgParameters.java +++ b/src/main/java/com/powsybl/nad/svg/SvgParameters.java @@ -32,6 +32,7 @@ public class SvgParameters { private double unknownBusNodeExtraRadius = 0.1; private double loopDistance = 1.2; private double loopEdgesAperture = Math.toRadians(60); + private boolean textNodeBackground = true; public enum CssLocation { INSERTED_IN_SVG, EXTERNAL_IMPORTED, EXTERNAL_NO_IMPORT @@ -213,4 +214,13 @@ public SvgParameters setLoopDistance(double loopDistance) { this.loopDistance = loopDistance; return this; } + + public boolean isTextNodeBackground() { + return textNodeBackground; + } + + public SvgParameters setTextNodeBackground(boolean textNodeBackground) { + this.textNodeBackground = textNodeBackground; + return this; + } } diff --git a/src/main/java/com/powsybl/nad/svg/SvgWriter.java b/src/main/java/com/powsybl/nad/svg/SvgWriter.java index 2b0de6e8..9829adc0 100644 --- a/src/main/java/com/powsybl/nad/svg/SvgWriter.java +++ b/src/main/java/com/powsybl/nad/svg/SvgWriter.java @@ -31,6 +31,7 @@ public class SvgWriter { private static final String SVG_ROOT_ELEMENT_NAME = "svg"; private static final String STYLE_ELEMENT_NAME = "style"; private static final String METADATA_ELEMENT_NAME = "metadata"; + private static final String DEFS_ELEMENT_NAME = "defs"; private static final String GROUP_ELEMENT_NAME = "g"; private static final String POLYLINE_ELEMENT_NAME = "polyline"; private static final String PATH_ELEMENT_NAME = "path"; @@ -48,6 +49,12 @@ public class SvgWriter { private static final String X_ATTRIBUTE = "x"; private static final String Y_ATTRIBUTE = "y"; private static final String POINTS_ATTRIBUTE = "points"; + private static final String FILTER_ELEMENT_NAME = "filter"; + private static final String FE_FLOOD_ELEMENT_NAME = "feFlood"; + private static final String FE_COMPOSITE_ELEMENT_NAME = "feComposite"; + private static final String FE_IN_ATTRIBUTE = "in"; + private static final String FE_OPERATOR_ATTRIBUTE = "operator"; + public static final String TEXT_BG_FILTER_ID = "textBgFilter"; private final SvgParameters svgParameters; private final StyleProvider styleProvider; @@ -95,6 +102,7 @@ private void writeSvg(Graph graph, OutputStream svgOs) { addSvgRoot(graph, writer); addStyle(writer); addMetadata(writer); + addDefs(writer); drawVoltageLevelNodes(graph, writer); drawBranchEdges(graph, writer); drawThreeWtEdges(graph, writer); @@ -389,6 +397,9 @@ private void writeTextNode(XMLStreamWriter writer, TextNode textNode) throws XML return; } writer.writeStartElement(TEXT_ELEMENT_NAME); + if (svgParameters.isTextNodeBackground()) { + writer.writeAttribute(FILTER_ELEMENT_NAME, "url(#" + TEXT_BG_FILTER_ID + ")"); + } writer.writeAttribute(X_ATTRIBUTE, getFormattedValue(textNode.getX())); writer.writeAttribute(Y_ATTRIBUTE, getFormattedValue(textNode.getY())); writer.writeAttribute(STYLE_ELEMENT_NAME, "dominant-baseline:middle"); @@ -625,6 +636,25 @@ private void addMetadata(XMLStreamWriter writer) throws XMLStreamException { writer.writeEndElement(); } + private void addDefs(XMLStreamWriter writer) throws XMLStreamException { + if (svgParameters.isTextNodeBackground()) { + writer.writeStartElement(DEFS_ELEMENT_NAME); + writer.writeStartElement(FILTER_ELEMENT_NAME); + writer.writeAttribute(ID_ATTRIBUTE, TEXT_BG_FILTER_ID); + writer.writeAttribute(X_ATTRIBUTE, String.valueOf(0)); + writer.writeAttribute(Y_ATTRIBUTE, String.valueOf(0)); + writer.writeAttribute(WIDTH_ATTRIBUTE, String.valueOf(1)); + writer.writeAttribute(HEIGHT_ATTRIBUTE, String.valueOf(1)); + writer.writeEmptyElement(FE_FLOOD_ELEMENT_NAME); + writer.writeAttribute(CLASS_ATTRIBUTE, StyleProvider.TEXT_BACKGROUND_CLASS); + writer.writeEmptyElement(FE_COMPOSITE_ELEMENT_NAME); + writer.writeAttribute(FE_IN_ATTRIBUTE, "SourceGraphic"); + writer.writeAttribute(FE_OPERATOR_ATTRIBUTE, "over"); + writer.writeEndElement(); + writer.writeEndElement(); + } + } + private static String getFormattedValue(double value) { return String.format(Locale.US, "%.2f", value); } diff --git a/src/main/resources/nominalStyle.css b/src/main/resources/nominalStyle.css index ef6da65e..3ab3cc06 100644 --- a/src/main/resources/nominalStyle.css +++ b/src/main/resources/nominalStyle.css @@ -1,7 +1,7 @@ .nad-branch-edges polyline, .nad-branch-edges path {stroke: var(--nad-vl-color, black); stroke-width: 0.05; fill: none} .nad-branch-edges circle {stroke: var(--nad-vl-color, black); stroke-width: 0.05; fill: white} .nad-3wt-edges polyline {stroke: var(--nad-vl-color, black); stroke-width: 0.05; fill: none} -.nad-text-edges {stroke: grey; stroke-width: 0.02; stroke-dasharray: .1,.1} +.nad-text-edges {stroke: black; stroke-width: 0.02; stroke-dasharray: .03,.05} .nad-disconnected {stroke-dasharray: .1,.1} .nad-vl-nodes circle {fill: var(--nad-vl-color, lightblue); stroke-width: 0.05; stroke: white} .nad-vl-nodes circle.nad-unknown-busnode {stroke: lightgrey; stroke-width: 0.05; stroke-dasharray: .05,.05; fill: none} @@ -15,8 +15,8 @@ .nad-active {visibility: visible} .nad-reactive {visibility: hidden} .nad-reactive path {stroke: none; fill: #0277bd} -.nad-vl-nodes .nad-text-buses {font: 0.6px "Verdana"; fill: white} -.nad-text-nodes {font: 0.25px "Verdana"; fill: grey} +.nad-text-background {flood-color: #90a4aeaa} +.nad-text-nodes {font: 0.25px "Verdana"; fill: black} .nad-edge-infos {font: 0.2px "Verdana"} .nad-edge-infos .nad-state-in {fill: #b71c1c} .nad-edge-infos .nad-state-out {fill: #2e7d32} diff --git a/src/main/resources/topologicalStyle.css b/src/main/resources/topologicalStyle.css index beee769e..5bcbdef2 100644 --- a/src/main/resources/topologicalStyle.css +++ b/src/main/resources/topologicalStyle.css @@ -1,7 +1,7 @@ .nad-branch-edges polyline, .nad-branch-edges path {stroke: var(--nad-vl-color, lightgrey); stroke-width: 0.05; fill: none} .nad-branch-edges circle {stroke: var(--nad-vl-color, lightgrey); stroke-width: 0.05; fill: white} .nad-3wt-edges polyline {stroke: var(--nad-vl-color, lightgrey); stroke-width: 0.05; fill: none} -.nad-text-edges {stroke: grey; stroke-width: 0.02; ; stroke-dasharray: .1,.1} +.nad-text-edges {stroke: black; stroke-width: 0.02; stroke-dasharray: .03,.05} .nad-branch-edges .nad-disconnected {stroke-dasharray: .1,.1} .nad-vl-nodes circle {fill: var(--nad-vl-color, lightgrey); stroke-width: 0.05; stroke: white} .nad-vl-nodes circle.nad-unknown-busnode {stroke: var(--nad-vl-color, #808080); stroke-width: 0.05; stroke-dasharray: .05,.05; fill: none} @@ -15,8 +15,8 @@ .nad-active {visibility: visible} .nad-reactive {visibility: hidden} .nad-reactive path {stroke: none; fill: #0277bd} -.nad-vl-nodes .nad-text-buses {font: 0.6px "Verdana"; fill: white} -.nad-text-nodes {font: 0.25px "Verdana"; fill: grey} +.nad-text-background {flood-color: #90a4aeaa} +.nad-text-nodes {font: 0.25px "Verdana"; fill: black} .nad-edge-infos {font: 0.2px "Verdana"} .nad-edge-infos .nad-state-in {fill: #b71c1c} .nad-edge-infos .nad-state-out {fill: #2e7d32} diff --git a/src/test/java/com/powsybl/nad/svg/NominalVoltageStyleTest.java b/src/test/java/com/powsybl/nad/svg/NominalVoltageStyleTest.java index b9445a3f..b1f534a5 100644 --- a/src/test/java/com/powsybl/nad/svg/NominalVoltageStyleTest.java +++ b/src/test/java/com/powsybl/nad/svg/NominalVoltageStyleTest.java @@ -82,6 +82,7 @@ void testIEEE14() { void testIEEE14ForceLayoutWithTextNodes() { Network network = IeeeCdfNetworkFactory.create14(); getLayoutParameters().setTextNodesForceLayout(true); + getSvgParameters().setTextNodeBackground(false); assertEquals(toString("/IEEE_14_bus_text_nodes.svg"), generateSvgString(network, "/IEEE_14_bus_text_nodes.svg")); } diff --git a/src/test/resources/3wt.svg b/src/test/resources/3wt.svg index 93813b5d..9d1753e3 100644 --- a/src/test/resources/3wt.svg +++ b/src/test/resources/3wt.svg @@ -4,7 +4,7 @@ .nad-branch-edges polyline, .nad-branch-edges path {stroke: var(--nad-vl-color, black); stroke-width: 0.05; fill: none} .nad-branch-edges circle {stroke: var(--nad-vl-color, black); stroke-width: 0.05; fill: white} .nad-3wt-edges polyline {stroke: var(--nad-vl-color, black); stroke-width: 0.05; fill: none} -.nad-text-edges {stroke: grey; stroke-width: 0.02; stroke-dasharray: .1,.1} +.nad-text-edges {stroke: black; stroke-width: 0.02; stroke-dasharray: .03,.05} .nad-disconnected {stroke-dasharray: .1,.1} .nad-vl-nodes circle {fill: var(--nad-vl-color, lightblue); stroke-width: 0.05; stroke: white} .nad-vl-nodes circle.nad-unknown-busnode {stroke: lightgrey; stroke-width: 0.05; stroke-dasharray: .05,.05; fill: none} @@ -18,8 +18,8 @@ .nad-active {visibility: visible} .nad-reactive {visibility: hidden} .nad-reactive path {stroke: none; fill: #0277bd} -.nad-vl-nodes .nad-text-buses {font: 0.6px "Verdana"; fill: white} -.nad-text-nodes {font: 0.25px "Verdana"; fill: grey} +.nad-text-background {flood-color: #90a4aeaa} +.nad-text-nodes {font: 0.25px "Verdana"; fill: black} .nad-edge-infos {font: 0.2px "Verdana"} .nad-edge-infos .nad-state-in {fill: #b71c1c} .nad-edge-infos .nad-state-out {fill: #2e7d32} @@ -32,6 +32,12 @@ .nad-vl300to500 {--nad-vl-color: #D32F2F} ]]> + + + + + + @@ -121,8 +127,8 @@ - VL_132 - VL_33 - VL_11 + VL_132 + VL_33 + VL_11 diff --git a/src/test/resources/3wt_partial.svg b/src/test/resources/3wt_partial.svg index 24b373dc..6b482d58 100644 --- a/src/test/resources/3wt_partial.svg +++ b/src/test/resources/3wt_partial.svg @@ -4,7 +4,7 @@ .nad-branch-edges polyline, .nad-branch-edges path {stroke: var(--nad-vl-color, black); stroke-width: 0.05; fill: none} .nad-branch-edges circle {stroke: var(--nad-vl-color, black); stroke-width: 0.05; fill: white} .nad-3wt-edges polyline {stroke: var(--nad-vl-color, black); stroke-width: 0.05; fill: none} -.nad-text-edges {stroke: grey; stroke-width: 0.02; stroke-dasharray: .1,.1} +.nad-text-edges {stroke: black; stroke-width: 0.02; stroke-dasharray: .03,.05} .nad-disconnected {stroke-dasharray: .1,.1} .nad-vl-nodes circle {fill: var(--nad-vl-color, lightblue); stroke-width: 0.05; stroke: white} .nad-vl-nodes circle.nad-unknown-busnode {stroke: lightgrey; stroke-width: 0.05; stroke-dasharray: .05,.05; fill: none} @@ -18,8 +18,8 @@ .nad-active {visibility: visible} .nad-reactive {visibility: hidden} .nad-reactive path {stroke: none; fill: #0277bd} -.nad-vl-nodes .nad-text-buses {font: 0.6px "Verdana"; fill: white} -.nad-text-nodes {font: 0.25px "Verdana"; fill: grey} +.nad-text-background {flood-color: #90a4aeaa} +.nad-text-nodes {font: 0.25px "Verdana"; fill: black} .nad-edge-infos {font: 0.2px "Verdana"} .nad-edge-infos .nad-state-in {fill: #b71c1c} .nad-edge-infos .nad-state-out {fill: #2e7d32} @@ -32,6 +32,12 @@ .nad-vl300to500 {--nad-vl-color: #D32F2F} ]]> + + + + + + @@ -75,6 +81,6 @@ - VL_11 + VL_11 diff --git a/src/test/resources/IEEE_118_bus.svg b/src/test/resources/IEEE_118_bus.svg index 4b22555e..311317d0 100644 --- a/src/test/resources/IEEE_118_bus.svg +++ b/src/test/resources/IEEE_118_bus.svg @@ -4,7 +4,7 @@ .nad-branch-edges polyline, .nad-branch-edges path {stroke: var(--nad-vl-color, lightgrey); stroke-width: 0.05; fill: none} .nad-branch-edges circle {stroke: var(--nad-vl-color, lightgrey); stroke-width: 0.05; fill: white} .nad-3wt-edges polyline {stroke: var(--nad-vl-color, lightgrey); stroke-width: 0.05; fill: none} -.nad-text-edges {stroke: grey; stroke-width: 0.02; ; stroke-dasharray: .1,.1} +.nad-text-edges {stroke: black; stroke-width: 0.02; stroke-dasharray: .03,.05} .nad-branch-edges .nad-disconnected {stroke-dasharray: .1,.1} .nad-vl-nodes circle {fill: var(--nad-vl-color, lightgrey); stroke-width: 0.05; stroke: white} .nad-vl-nodes circle.nad-unknown-busnode {stroke: var(--nad-vl-color, #808080); stroke-width: 0.05; stroke-dasharray: .05,.05; fill: none} @@ -18,8 +18,8 @@ .nad-active {visibility: visible} .nad-reactive {visibility: hidden} .nad-reactive path {stroke: none; fill: #0277bd} -.nad-vl-nodes .nad-text-buses {font: 0.6px "Verdana"; fill: white} -.nad-text-nodes {font: 0.25px "Verdana"; fill: grey} +.nad-text-background {flood-color: #90a4aeaa} +.nad-text-nodes {font: 0.25px "Verdana"; fill: black} .nad-edge-infos {font: 0.2px "Verdana"} .nad-edge-infos .nad-state-in {fill: #b71c1c} .nad-edge-infos .nad-state-out {fill: #2e7d32} @@ -97,6 +97,12 @@ ]]> + + + + + + @@ -8034,123 +8040,123 @@ - VL1 - VL2 - VL3 - VL4 - VL5 - VL6 - VL7 - VL8 - VL9 - VL10 - VL11 - VL12 - VL13 - VL14 - VL15 - VL16 - VL17 - VL18 - VL19 - VL20 - VL21 - VL22 - VL23 - VL24 - VL25 - VL26 - VL27 - VL28 - VL29 - VL30 - VL31 - VL32 - VL33 - VL34 - VL35 - VL36 - VL37 - VL38 - VL39 - VL40 - VL41 - VL42 - VL43 - VL44 - VL45 - VL46 - VL47 - VL48 - VL49 - VL50 - VL51 - VL52 - VL53 - VL54 - VL55 - VL56 - VL57 - VL58 - VL59 - VL60 - VL61 - VL62 - VL63 - VL64 - VL65 - VL66 - VL67 - VL68 - VL69 - VL70 - VL71 - VL72 - VL73 - VL74 - VL75 - VL76 - VL77 - VL78 - VL79 - VL80 - VL81 - VL82 - VL83 - VL84 - VL85 - VL86 - VL87 - VL88 - VL89 - VL90 - VL91 - VL92 - VL93 - VL94 - VL95 - VL96 - VL97 - VL98 - VL99 - VL100 - VL101 - VL102 - VL103 - VL104 - VL105 - VL106 - VL107 - VL108 - VL109 - VL110 - VL111 - VL112 - VL113 - VL114 - VL115 - VL116 - VL117 - VL118 + VL1 + VL2 + VL3 + VL4 + VL5 + VL6 + VL7 + VL8 + VL9 + VL10 + VL11 + VL12 + VL13 + VL14 + VL15 + VL16 + VL17 + VL18 + VL19 + VL20 + VL21 + VL22 + VL23 + VL24 + VL25 + VL26 + VL27 + VL28 + VL29 + VL30 + VL31 + VL32 + VL33 + VL34 + VL35 + VL36 + VL37 + VL38 + VL39 + VL40 + VL41 + VL42 + VL43 + VL44 + VL45 + VL46 + VL47 + VL48 + VL49 + VL50 + VL51 + VL52 + VL53 + VL54 + VL55 + VL56 + VL57 + VL58 + VL59 + VL60 + VL61 + VL62 + VL63 + VL64 + VL65 + VL66 + VL67 + VL68 + VL69 + VL70 + VL71 + VL72 + VL73 + VL74 + VL75 + VL76 + VL77 + VL78 + VL79 + VL80 + VL81 + VL82 + VL83 + VL84 + VL85 + VL86 + VL87 + VL88 + VL89 + VL90 + VL91 + VL92 + VL93 + VL94 + VL95 + VL96 + VL97 + VL98 + VL99 + VL100 + VL101 + VL102 + VL103 + VL104 + VL105 + VL106 + VL107 + VL108 + VL109 + VL110 + VL111 + VL112 + VL113 + VL114 + VL115 + VL116 + VL117 + VL118 diff --git a/src/test/resources/IEEE_118_bus_partial.svg b/src/test/resources/IEEE_118_bus_partial.svg index a25b29dd..b2c58924 100644 --- a/src/test/resources/IEEE_118_bus_partial.svg +++ b/src/test/resources/IEEE_118_bus_partial.svg @@ -4,7 +4,7 @@ .nad-branch-edges polyline, .nad-branch-edges path {stroke: var(--nad-vl-color, lightgrey); stroke-width: 0.05; fill: none} .nad-branch-edges circle {stroke: var(--nad-vl-color, lightgrey); stroke-width: 0.05; fill: white} .nad-3wt-edges polyline {stroke: var(--nad-vl-color, lightgrey); stroke-width: 0.05; fill: none} -.nad-text-edges {stroke: grey; stroke-width: 0.02; ; stroke-dasharray: .1,.1} +.nad-text-edges {stroke: black; stroke-width: 0.02; stroke-dasharray: .03,.05} .nad-branch-edges .nad-disconnected {stroke-dasharray: .1,.1} .nad-vl-nodes circle {fill: var(--nad-vl-color, lightgrey); stroke-width: 0.05; stroke: white} .nad-vl-nodes circle.nad-unknown-busnode {stroke: var(--nad-vl-color, #808080); stroke-width: 0.05; stroke-dasharray: .05,.05; fill: none} @@ -18,8 +18,8 @@ .nad-active {visibility: visible} .nad-reactive {visibility: hidden} .nad-reactive path {stroke: none; fill: #0277bd} -.nad-vl-nodes .nad-text-buses {font: 0.6px "Verdana"; fill: white} -.nad-text-nodes {font: 0.25px "Verdana"; fill: grey} +.nad-text-background {flood-color: #90a4aeaa} +.nad-text-nodes {font: 0.25px "Verdana"; fill: black} .nad-edge-infos {font: 0.2px "Verdana"} .nad-edge-infos .nad-state-in {fill: #b71c1c} .nad-edge-infos .nad-state-out {fill: #2e7d32} @@ -97,6 +97,12 @@ ]]> + + + + + + @@ -1795,25 +1801,25 @@ - VL42 - VL45 - VL47 - VL48 - VL49 - VL50 - VL51 - VL52 - VL53 - VL54 - VL55 - VL56 - VL57 - VL58 - VL59 - VL60 - VL61 - VL63 - VL66 - VL69 + VL42 + VL45 + VL47 + VL48 + VL49 + VL50 + VL51 + VL52 + VL53 + VL54 + VL55 + VL56 + VL57 + VL58 + VL59 + VL60 + VL61 + VL63 + VL66 + VL69 diff --git a/src/test/resources/IEEE_14_bus.svg b/src/test/resources/IEEE_14_bus.svg index 959d87f6..ba25884d 100644 --- a/src/test/resources/IEEE_14_bus.svg +++ b/src/test/resources/IEEE_14_bus.svg @@ -4,7 +4,7 @@ .nad-branch-edges polyline, .nad-branch-edges path {stroke: var(--nad-vl-color, black); stroke-width: 0.05; fill: none} .nad-branch-edges circle {stroke: var(--nad-vl-color, black); stroke-width: 0.05; fill: white} .nad-3wt-edges polyline {stroke: var(--nad-vl-color, black); stroke-width: 0.05; fill: none} -.nad-text-edges {stroke: grey; stroke-width: 0.02; stroke-dasharray: .1,.1} +.nad-text-edges {stroke: black; stroke-width: 0.02; stroke-dasharray: .03,.05} .nad-disconnected {stroke-dasharray: .1,.1} .nad-vl-nodes circle {fill: var(--nad-vl-color, lightblue); stroke-width: 0.05; stroke: white} .nad-vl-nodes circle.nad-unknown-busnode {stroke: lightgrey; stroke-width: 0.05; stroke-dasharray: .05,.05; fill: none} @@ -18,8 +18,8 @@ .nad-active {visibility: visible} .nad-reactive {visibility: hidden} .nad-reactive path {stroke: none; fill: #0277bd} -.nad-vl-nodes .nad-text-buses {font: 0.6px "Verdana"; fill: white} -.nad-text-nodes {font: 0.25px "Verdana"; fill: grey} +.nad-text-background {flood-color: #90a4aeaa} +.nad-text-nodes {font: 0.25px "Verdana"; fill: black} .nad-edge-infos {font: 0.2px "Verdana"} .nad-edge-infos .nad-state-in {fill: #b71c1c} .nad-edge-infos .nad-state-out {fill: #2e7d32} @@ -32,6 +32,12 @@ .nad-vl300to500 {--nad-vl-color: #D32F2F} ]]> + + + + + + @@ -901,19 +907,19 @@ - VL1 - VL2 - VL3 - VL4 - VL5 - VL6 - VL7 - VL8 - VL9 - VL10 - VL11 - VL12 - VL13 - VL14 + VL1 + VL2 + VL3 + VL4 + VL5 + VL6 + VL7 + VL8 + VL9 + VL10 + VL11 + VL12 + VL13 + VL14 diff --git a/src/test/resources/IEEE_14_bus_disconnection.svg b/src/test/resources/IEEE_14_bus_disconnection.svg index 5e102c0b..dfe70db5 100644 --- a/src/test/resources/IEEE_14_bus_disconnection.svg +++ b/src/test/resources/IEEE_14_bus_disconnection.svg @@ -4,7 +4,7 @@ .nad-branch-edges polyline, .nad-branch-edges path {stroke: var(--nad-vl-color, black); stroke-width: 0.05; fill: none} .nad-branch-edges circle {stroke: var(--nad-vl-color, black); stroke-width: 0.05; fill: white} .nad-3wt-edges polyline {stroke: var(--nad-vl-color, black); stroke-width: 0.05; fill: none} -.nad-text-edges {stroke: grey; stroke-width: 0.02; stroke-dasharray: .1,.1} +.nad-text-edges {stroke: black; stroke-width: 0.02; stroke-dasharray: .03,.05} .nad-disconnected {stroke-dasharray: .1,.1} .nad-vl-nodes circle {fill: var(--nad-vl-color, lightblue); stroke-width: 0.05; stroke: white} .nad-vl-nodes circle.nad-unknown-busnode {stroke: lightgrey; stroke-width: 0.05; stroke-dasharray: .05,.05; fill: none} @@ -18,8 +18,8 @@ .nad-active {visibility: visible} .nad-reactive {visibility: hidden} .nad-reactive path {stroke: none; fill: #0277bd} -.nad-vl-nodes .nad-text-buses {font: 0.6px "Verdana"; fill: white} -.nad-text-nodes {font: 0.25px "Verdana"; fill: grey} +.nad-text-background {flood-color: #90a4aeaa} +.nad-text-nodes {font: 0.25px "Verdana"; fill: black} .nad-edge-infos {font: 0.2px "Verdana"} .nad-edge-infos .nad-state-in {fill: #b71c1c} .nad-edge-infos .nad-state-out {fill: #2e7d32} @@ -32,6 +32,12 @@ .nad-vl300to500 {--nad-vl-color: #D32F2F} ]]> + + + + + + @@ -901,19 +907,19 @@ - VL1 - VL2 - VL3 - VL4 - VL5 - VL6 - VL7 - VL8 - VL9 - VL10 - VL11 - VL12 - VL13 - VL14 + VL1 + VL2 + VL3 + VL4 + VL5 + VL6 + VL7 + VL8 + VL9 + VL10 + VL11 + VL12 + VL13 + VL14 diff --git a/src/test/resources/IEEE_14_bus_text_nodes.svg b/src/test/resources/IEEE_14_bus_text_nodes.svg index bfb314bc..ad98ce61 100644 --- a/src/test/resources/IEEE_14_bus_text_nodes.svg +++ b/src/test/resources/IEEE_14_bus_text_nodes.svg @@ -4,7 +4,7 @@ .nad-branch-edges polyline, .nad-branch-edges path {stroke: var(--nad-vl-color, black); stroke-width: 0.05; fill: none} .nad-branch-edges circle {stroke: var(--nad-vl-color, black); stroke-width: 0.05; fill: white} .nad-3wt-edges polyline {stroke: var(--nad-vl-color, black); stroke-width: 0.05; fill: none} -.nad-text-edges {stroke: grey; stroke-width: 0.02; stroke-dasharray: .1,.1} +.nad-text-edges {stroke: black; stroke-width: 0.02; stroke-dasharray: .03,.05} .nad-disconnected {stroke-dasharray: .1,.1} .nad-vl-nodes circle {fill: var(--nad-vl-color, lightblue); stroke-width: 0.05; stroke: white} .nad-vl-nodes circle.nad-unknown-busnode {stroke: lightgrey; stroke-width: 0.05; stroke-dasharray: .05,.05; fill: none} @@ -18,8 +18,8 @@ .nad-active {visibility: visible} .nad-reactive {visibility: hidden} .nad-reactive path {stroke: none; fill: #0277bd} -.nad-vl-nodes .nad-text-buses {font: 0.6px "Verdana"; fill: white} -.nad-text-nodes {font: 0.25px "Verdana"; fill: grey} +.nad-text-background {flood-color: #90a4aeaa} +.nad-text-nodes {font: 0.25px "Verdana"; fill: black} .nad-edge-infos {font: 0.2px "Verdana"} .nad-edge-infos .nad-state-in {fill: #b71c1c} .nad-edge-infos .nad-state-out {fill: #2e7d32} diff --git a/src/test/resources/IEEE_24_bus.svg b/src/test/resources/IEEE_24_bus.svg index 275c2137..4f825ae9 100644 --- a/src/test/resources/IEEE_24_bus.svg +++ b/src/test/resources/IEEE_24_bus.svg @@ -4,7 +4,7 @@ .nad-branch-edges polyline, .nad-branch-edges path {stroke: var(--nad-vl-color, black); stroke-width: 0.05; fill: none} .nad-branch-edges circle {stroke: var(--nad-vl-color, black); stroke-width: 0.05; fill: white} .nad-3wt-edges polyline {stroke: var(--nad-vl-color, black); stroke-width: 0.05; fill: none} -.nad-text-edges {stroke: grey; stroke-width: 0.02; stroke-dasharray: .1,.1} +.nad-text-edges {stroke: black; stroke-width: 0.02; stroke-dasharray: .03,.05} .nad-disconnected {stroke-dasharray: .1,.1} .nad-vl-nodes circle {fill: var(--nad-vl-color, lightblue); stroke-width: 0.05; stroke: white} .nad-vl-nodes circle.nad-unknown-busnode {stroke: lightgrey; stroke-width: 0.05; stroke-dasharray: .05,.05; fill: none} @@ -18,8 +18,8 @@ .nad-active {visibility: visible} .nad-reactive {visibility: hidden} .nad-reactive path {stroke: none; fill: #0277bd} -.nad-vl-nodes .nad-text-buses {font: 0.6px "Verdana"; fill: white} -.nad-text-nodes {font: 0.25px "Verdana"; fill: grey} +.nad-text-background {flood-color: #90a4aeaa} +.nad-text-nodes {font: 0.25px "Verdana"; fill: black} .nad-edge-infos {font: 0.2px "Verdana"} .nad-edge-infos .nad-state-in {fill: #b71c1c} .nad-edge-infos .nad-state-out {fill: #2e7d32} @@ -32,6 +32,12 @@ .nad-vl300to500 {--nad-vl-color: #D32F2F} ]]> + + + + + + @@ -1667,29 +1673,29 @@ - VL1 - VL2 - VL3 - VL24 - VL4 - VL5 - VL9 - VL10 - VL11 - VL12 - VL6 - VL7 - VL8 - VL13 - VL14 - VL15 - VL16 - VL17 - VL18 - VL19 - VL20 - VL21 - VL22 - VL23 + VL1 + VL2 + VL3 + VL24 + VL4 + VL5 + VL9 + VL10 + VL11 + VL12 + VL6 + VL7 + VL8 + VL13 + VL14 + VL15 + VL16 + VL17 + VL18 + VL19 + VL20 + VL21 + VL22 + VL23 diff --git a/src/test/resources/IEEE_30_bus.svg b/src/test/resources/IEEE_30_bus.svg index c4c7ff47..31123e23 100644 --- a/src/test/resources/IEEE_30_bus.svg +++ b/src/test/resources/IEEE_30_bus.svg @@ -4,7 +4,7 @@ .nad-branch-edges polyline, .nad-branch-edges path {stroke: var(--nad-vl-color, black); stroke-width: 0.05; fill: none} .nad-branch-edges circle {stroke: var(--nad-vl-color, black); stroke-width: 0.05; fill: white} .nad-3wt-edges polyline {stroke: var(--nad-vl-color, black); stroke-width: 0.05; fill: none} -.nad-text-edges {stroke: grey; stroke-width: 0.02; stroke-dasharray: .1,.1} +.nad-text-edges {stroke: black; stroke-width: 0.02; stroke-dasharray: .03,.05} .nad-disconnected {stroke-dasharray: .1,.1} .nad-vl-nodes circle {fill: var(--nad-vl-color, lightblue); stroke-width: 0.05; stroke: white} .nad-vl-nodes circle.nad-unknown-busnode {stroke: lightgrey; stroke-width: 0.05; stroke-dasharray: .05,.05; fill: none} @@ -18,8 +18,8 @@ .nad-active {visibility: visible} .nad-reactive {visibility: hidden} .nad-reactive path {stroke: none; fill: #0277bd} -.nad-vl-nodes .nad-text-buses {font: 0.6px "Verdana"; fill: white} -.nad-text-nodes {font: 0.25px "Verdana"; fill: grey} +.nad-text-background {flood-color: #90a4aeaa} +.nad-text-nodes {font: 0.25px "Verdana"; fill: black} .nad-edge-infos {font: 0.2px "Verdana"} .nad-edge-infos .nad-state-in {fill: #b71c1c} .nad-edge-infos .nad-state-out {fill: #2e7d32} @@ -32,6 +32,12 @@ .nad-vl300to500 {--nad-vl-color: #D32F2F} ]]> + + + + + + @@ -1807,35 +1813,35 @@ - VL1 - VL2 - VL3 - VL4 - VL5 - VL6 - VL7 - VL8 - VL9 - VL10 - VL11 - VL12 - VL13 - VL14 - VL15 - VL16 - VL17 - VL18 - VL19 - VL20 - VL21 - VL22 - VL23 - VL24 - VL25 - VL26 - VL27 - VL28 - VL29 - VL30 + VL1 + VL2 + VL3 + VL4 + VL5 + VL6 + VL7 + VL8 + VL9 + VL10 + VL11 + VL12 + VL13 + VL14 + VL15 + VL16 + VL17 + VL18 + VL19 + VL20 + VL21 + VL22 + VL23 + VL24 + VL25 + VL26 + VL27 + VL28 + VL29 + VL30 diff --git a/src/test/resources/IEEE_57_bus.svg b/src/test/resources/IEEE_57_bus.svg index fd800856..b91480c2 100644 --- a/src/test/resources/IEEE_57_bus.svg +++ b/src/test/resources/IEEE_57_bus.svg @@ -4,7 +4,7 @@ .nad-branch-edges polyline, .nad-branch-edges path {stroke: var(--nad-vl-color, lightgrey); stroke-width: 0.05; fill: none} .nad-branch-edges circle {stroke: var(--nad-vl-color, lightgrey); stroke-width: 0.05; fill: white} .nad-3wt-edges polyline {stroke: var(--nad-vl-color, lightgrey); stroke-width: 0.05; fill: none} -.nad-text-edges {stroke: grey; stroke-width: 0.02; ; stroke-dasharray: .1,.1} +.nad-text-edges {stroke: black; stroke-width: 0.02; stroke-dasharray: .03,.05} .nad-branch-edges .nad-disconnected {stroke-dasharray: .1,.1} .nad-vl-nodes circle {fill: var(--nad-vl-color, lightgrey); stroke-width: 0.05; stroke: white} .nad-vl-nodes circle.nad-unknown-busnode {stroke: var(--nad-vl-color, #808080); stroke-width: 0.05; stroke-dasharray: .05,.05; fill: none} @@ -18,8 +18,8 @@ .nad-active {visibility: visible} .nad-reactive {visibility: hidden} .nad-reactive path {stroke: none; fill: #0277bd} -.nad-vl-nodes .nad-text-buses {font: 0.6px "Verdana"; fill: white} -.nad-text-nodes {font: 0.25px "Verdana"; fill: grey} +.nad-text-background {flood-color: #90a4aeaa} +.nad-text-nodes {font: 0.25px "Verdana"; fill: black} .nad-edge-infos {font: 0.2px "Verdana"} .nad-edge-infos .nad-state-in {fill: #b71c1c} .nad-edge-infos .nad-state-out {fill: #2e7d32} @@ -97,6 +97,12 @@ ]]> + + + + + + @@ -3566,62 +3572,62 @@ - VL1 - VL2 - VL3 - VL4 - VL5 - VL6 - VL7 - VL8 - VL9 - VL10 - VL11 - VL12 - VL13 - VL14 - VL15 - VL16 - VL17 - VL18 - VL19 - VL20 - VL21 - VL22 - VL23 - VL24 - VL25 - VL26 - VL27 - VL28 - VL29 - VL30 - VL31 - VL32 - VL33 - VL34 - VL35 - VL36 - VL37 - VL38 - VL39 - VL40 - VL41 - VL42 - VL43 - VL44 - VL45 - VL46 - VL47 - VL48 - VL49 - VL50 - VL51 - VL52 - VL53 - VL54 - VL55 - VL56 - VL57 + VL1 + VL2 + VL3 + VL4 + VL5 + VL6 + VL7 + VL8 + VL9 + VL10 + VL11 + VL12 + VL13 + VL14 + VL15 + VL16 + VL17 + VL18 + VL19 + VL20 + VL21 + VL22 + VL23 + VL24 + VL25 + VL26 + VL27 + VL28 + VL29 + VL30 + VL31 + VL32 + VL33 + VL34 + VL35 + VL36 + VL37 + VL38 + VL39 + VL40 + VL41 + VL42 + VL43 + VL44 + VL45 + VL46 + VL47 + VL48 + VL49 + VL50 + VL51 + VL52 + VL53 + VL54 + VL55 + VL56 + VL57 diff --git a/src/test/resources/hvdc.svg b/src/test/resources/hvdc.svg index 2332f5e7..40d41954 100644 --- a/src/test/resources/hvdc.svg +++ b/src/test/resources/hvdc.svg @@ -4,7 +4,7 @@ .nad-branch-edges polyline, .nad-branch-edges path {stroke: var(--nad-vl-color, black); stroke-width: 0.05; fill: none} .nad-branch-edges circle {stroke: var(--nad-vl-color, black); stroke-width: 0.05; fill: white} .nad-3wt-edges polyline {stroke: var(--nad-vl-color, black); stroke-width: 0.05; fill: none} -.nad-text-edges {stroke: grey; stroke-width: 0.02; stroke-dasharray: .1,.1} +.nad-text-edges {stroke: black; stroke-width: 0.02; stroke-dasharray: .03,.05} .nad-disconnected {stroke-dasharray: .1,.1} .nad-vl-nodes circle {fill: var(--nad-vl-color, lightblue); stroke-width: 0.05; stroke: white} .nad-vl-nodes circle.nad-unknown-busnode {stroke: lightgrey; stroke-width: 0.05; stroke-dasharray: .05,.05; fill: none} @@ -18,8 +18,8 @@ .nad-active {visibility: visible} .nad-reactive {visibility: hidden} .nad-reactive path {stroke: none; fill: #0277bd} -.nad-vl-nodes .nad-text-buses {font: 0.6px "Verdana"; fill: white} -.nad-text-nodes {font: 0.25px "Verdana"; fill: grey} +.nad-text-background {flood-color: #90a4aeaa} +.nad-text-nodes {font: 0.25px "Verdana"; fill: black} .nad-edge-infos {font: 0.2px "Verdana"} .nad-edge-infos .nad-state-in {fill: #b71c1c} .nad-edge-infos .nad-state-out {fill: #2e7d32} @@ -32,6 +32,12 @@ .nad-vl300to500 {--nad-vl-color: #D32F2F} ]]> + + + + + + @@ -263,10 +269,10 @@ - S1VL1 - S1VL2 - S2VL1 - S3VL1 - S4VL1 + S1VL1 + S1VL2 + S2VL1 + S3VL1 + S4VL1 diff --git a/src/test/resources/simple-eu-loop100.svg b/src/test/resources/simple-eu-loop100.svg index 30d71acc..da976a3e 100644 --- a/src/test/resources/simple-eu-loop100.svg +++ b/src/test/resources/simple-eu-loop100.svg @@ -4,7 +4,7 @@ .nad-branch-edges polyline, .nad-branch-edges path {stroke: var(--nad-vl-color, black); stroke-width: 0.05; fill: none} .nad-branch-edges circle {stroke: var(--nad-vl-color, black); stroke-width: 0.05; fill: white} .nad-3wt-edges polyline {stroke: var(--nad-vl-color, black); stroke-width: 0.05; fill: none} -.nad-text-edges {stroke: grey; stroke-width: 0.02; stroke-dasharray: .1,.1} +.nad-text-edges {stroke: black; stroke-width: 0.02; stroke-dasharray: .03,.05} .nad-disconnected {stroke-dasharray: .1,.1} .nad-vl-nodes circle {fill: var(--nad-vl-color, lightblue); stroke-width: 0.05; stroke: white} .nad-vl-nodes circle.nad-unknown-busnode {stroke: lightgrey; stroke-width: 0.05; stroke-dasharray: .05,.05; fill: none} @@ -18,8 +18,8 @@ .nad-active {visibility: visible} .nad-reactive {visibility: hidden} .nad-reactive path {stroke: none; fill: #0277bd} -.nad-vl-nodes .nad-text-buses {font: 0.6px "Verdana"; fill: white} -.nad-text-nodes {font: 0.25px "Verdana"; fill: grey} +.nad-text-background {flood-color: #90a4aeaa} +.nad-text-nodes {font: 0.25px "Verdana"; fill: black} .nad-edge-infos {font: 0.2px "Verdana"} .nad-edge-infos .nad-state-in {fill: #b71c1c} .nad-edge-infos .nad-state-out {fill: #2e7d32} @@ -32,6 +32,12 @@ .nad-vl300to500 {--nad-vl-color: #D32F2F} ]]> + + + + + + @@ -805,15 +811,15 @@ - BBE1AA1 - BBE2AA1 - DDE1AA1 - DDE2AA1 - DDE3AA1 - FFR1AA1 - FFR3AA1 - NNL1AA1 - NNL2AA1 - NNL3AA1 + BBE1AA1 + BBE2AA1 + DDE1AA1 + DDE2AA1 + DDE3AA1 + FFR1AA1 + FFR3AA1 + NNL1AA1 + NNL2AA1 + NNL3AA1 diff --git a/src/test/resources/simple-eu-loop80.svg b/src/test/resources/simple-eu-loop80.svg index 8c817b59..3ae40031 100644 --- a/src/test/resources/simple-eu-loop80.svg +++ b/src/test/resources/simple-eu-loop80.svg @@ -4,7 +4,7 @@ .nad-branch-edges polyline, .nad-branch-edges path {stroke: var(--nad-vl-color, black); stroke-width: 0.05; fill: none} .nad-branch-edges circle {stroke: var(--nad-vl-color, black); stroke-width: 0.05; fill: white} .nad-3wt-edges polyline {stroke: var(--nad-vl-color, black); stroke-width: 0.05; fill: none} -.nad-text-edges {stroke: grey; stroke-width: 0.02; stroke-dasharray: .1,.1} +.nad-text-edges {stroke: black; stroke-width: 0.02; stroke-dasharray: .03,.05} .nad-disconnected {stroke-dasharray: .1,.1} .nad-vl-nodes circle {fill: var(--nad-vl-color, lightblue); stroke-width: 0.05; stroke: white} .nad-vl-nodes circle.nad-unknown-busnode {stroke: lightgrey; stroke-width: 0.05; stroke-dasharray: .05,.05; fill: none} @@ -18,8 +18,8 @@ .nad-active {visibility: visible} .nad-reactive {visibility: hidden} .nad-reactive path {stroke: none; fill: #0277bd} -.nad-vl-nodes .nad-text-buses {font: 0.6px "Verdana"; fill: white} -.nad-text-nodes {font: 0.25px "Verdana"; fill: grey} +.nad-text-background {flood-color: #90a4aeaa} +.nad-text-nodes {font: 0.25px "Verdana"; fill: black} .nad-edge-infos {font: 0.2px "Verdana"} .nad-edge-infos .nad-state-in {fill: #b71c1c} .nad-edge-infos .nad-state-out {fill: #2e7d32} @@ -32,6 +32,12 @@ .nad-vl300to500 {--nad-vl-color: #D32F2F} ]]> + + + + + + @@ -805,15 +811,15 @@ - BBE1AA1 - BBE2AA1 - DDE1AA1 - DDE2AA1 - DDE3AA1 - FFR1AA1 - FFR3AA1 - NNL1AA1 - NNL2AA1 - NNL3AA1 + BBE1AA1 + BBE2AA1 + DDE1AA1 + DDE2AA1 + DDE3AA1 + FFR1AA1 + FFR3AA1 + NNL1AA1 + NNL2AA1 + NNL3AA1 diff --git a/src/test/resources/simple-eu.svg b/src/test/resources/simple-eu.svg index f83db48f..51cd92e8 100644 --- a/src/test/resources/simple-eu.svg +++ b/src/test/resources/simple-eu.svg @@ -4,7 +4,7 @@ .nad-branch-edges polyline, .nad-branch-edges path {stroke: var(--nad-vl-color, black); stroke-width: 0.05; fill: none} .nad-branch-edges circle {stroke: var(--nad-vl-color, black); stroke-width: 0.05; fill: white} .nad-3wt-edges polyline {stroke: var(--nad-vl-color, black); stroke-width: 0.05; fill: none} -.nad-text-edges {stroke: grey; stroke-width: 0.02; stroke-dasharray: .1,.1} +.nad-text-edges {stroke: black; stroke-width: 0.02; stroke-dasharray: .03,.05} .nad-disconnected {stroke-dasharray: .1,.1} .nad-vl-nodes circle {fill: var(--nad-vl-color, lightblue); stroke-width: 0.05; stroke: white} .nad-vl-nodes circle.nad-unknown-busnode {stroke: lightgrey; stroke-width: 0.05; stroke-dasharray: .05,.05; fill: none} @@ -18,8 +18,8 @@ .nad-active {visibility: visible} .nad-reactive {visibility: hidden} .nad-reactive path {stroke: none; fill: #0277bd} -.nad-vl-nodes .nad-text-buses {font: 0.6px "Verdana"; fill: white} -.nad-text-nodes {font: 0.25px "Verdana"; fill: grey} +.nad-text-background {flood-color: #90a4aeaa} +.nad-text-nodes {font: 0.25px "Verdana"; fill: black} .nad-edge-infos {font: 0.2px "Verdana"} .nad-edge-infos .nad-state-in {fill: #b71c1c} .nad-edge-infos .nad-state-out {fill: #2e7d32} @@ -32,6 +32,12 @@ .nad-vl300to500 {--nad-vl-color: #D32F2F} ]]> + + + + + + @@ -805,15 +811,15 @@ - BBE1AA1 - BBE2AA1 - DDE1AA1 - DDE2AA1 - DDE3AA1 - FFR1AA1 - FFR3AA1 - NNL1AA1 - NNL2AA1 - NNL3AA1 + BBE1AA1 + BBE2AA1 + DDE1AA1 + DDE2AA1 + DDE3AA1 + FFR1AA1 + FFR3AA1 + NNL1AA1 + NNL2AA1 + NNL3AA1 From 5e2f4ba028767a92178d3ec44a014fd0ece380e7 Mon Sep 17 00:00:00 2001 From: Florian Dupuy <66690739+flo-dup@users.noreply.github.com> Date: Mon, 28 Feb 2022 17:43:53 +0100 Subject: [PATCH 3/3] Fix unit test (#58) Signed-off-by: Florian Dupuy --- .../IEEE_118_bus_partial_non_connected.svg | 32 +++++++++++-------- 1 file changed, 19 insertions(+), 13 deletions(-) diff --git a/src/test/resources/IEEE_118_bus_partial_non_connected.svg b/src/test/resources/IEEE_118_bus_partial_non_connected.svg index 8350e88c..5715452d 100644 --- a/src/test/resources/IEEE_118_bus_partial_non_connected.svg +++ b/src/test/resources/IEEE_118_bus_partial_non_connected.svg @@ -4,7 +4,7 @@ .nad-branch-edges polyline, .nad-branch-edges path {stroke: var(--nad-vl-color, lightgrey); stroke-width: 0.05; fill: none} .nad-branch-edges circle {stroke: var(--nad-vl-color, lightgrey); stroke-width: 0.05; fill: white} .nad-3wt-edges polyline {stroke: var(--nad-vl-color, lightgrey); stroke-width: 0.05; fill: none} -.nad-text-edges {stroke: grey; stroke-width: 0.02; ; stroke-dasharray: .1,.1} +.nad-text-edges {stroke: black; stroke-width: 0.02; stroke-dasharray: .03,.05} .nad-branch-edges .nad-disconnected {stroke-dasharray: .1,.1} .nad-vl-nodes circle {fill: var(--nad-vl-color, lightgrey); stroke-width: 0.05; stroke: white} .nad-vl-nodes circle.nad-unknown-busnode {stroke: var(--nad-vl-color, #808080); stroke-width: 0.05; stroke-dasharray: .05,.05; fill: none} @@ -18,8 +18,8 @@ .nad-active {visibility: visible} .nad-reactive {visibility: hidden} .nad-reactive path {stroke: none; fill: #0277bd} -.nad-vl-nodes .nad-text-buses {font: 0.6px "Verdana"; fill: white} -.nad-text-nodes {font: 0.25px "Verdana"; fill: grey} +.nad-text-background {flood-color: #90a4aeaa} +.nad-text-nodes {font: 0.25px "Verdana"; fill: black} .nad-edge-infos {font: 0.2px "Verdana"} .nad-edge-infos .nad-state-in {fill: #b71c1c} .nad-edge-infos .nad-state-out {fill: #2e7d32} @@ -97,6 +97,12 @@ ]]> + + + + + + @@ -915,15 +921,15 @@ - VL23 - VL27 - VL30 - VL31 - VL32 - VL37 - VL38 - VL65 - VL113 - VL114 + VL23 + VL27 + VL30 + VL31 + VL32 + VL37 + VL38 + VL65 + VL113 + VL114