Package com.powsybl.sld.svg
Class DefaultSVGWriter
- java.lang.Object
-
- com.powsybl.sld.svg.DefaultSVGWriter
-
-
Field Summary
Fields Modifier and Type Field Description protected static int
CIRCLE_RADIUS_NODE_INFOS_SIZE
protected static String
CLASS
protected ComponentLibrary
componentLibrary
protected static String
GROUP
protected static double
LABEL_OFFSET
protected LayoutParameters
layoutParameters
protected static org.slf4j.Logger
LOGGER
protected static String
MIDDLE
protected static String
POINTS
protected static String
POLYLINE
protected static String
ROTATE
protected static String
STYLE
protected static String
TEXT_ANCHOR
protected static String
TRANSFORM
protected static String
TRANSLATE
-
Constructor Summary
Constructors Constructor Description DefaultSVGWriter(ComponentLibrary componentLibrary, LayoutParameters layoutParameters)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
addStyle(Document document, DiagramStyleProvider styleProvider, DiagramLabelProvider labelProvider, List<VoltageLevelGraph> graphs, Set<String> listUsedComponentSVG)
protected boolean
canInsertComponentSVG(Node node)
protected void
createDefsSVGComponents(Document document, Set<String> listUsedComponentSVG)
Creation of the defs area for the SVG componentsprotected Element
createLabelElement(String str, double xShift, double yShift, int shiftAngle, Element g)
protected List<GraphMetadata.NodeLabelMetadata>
createNodeLabelMetadata(String prefixId, Node node, List<DiagramLabelProvider.NodeLabel> nodeLabels)
protected Element
drawBus(BusNode node, Element g)
protected void
drawBuses(String prefixId, Element root, VoltageLevelGraph graph, GraphMetadata metadata, AnchorPointProvider anchorPointProvider, DiagramLabelProvider initProvider, DiagramStyleProvider styleProvider, Set<Node> remainingNodesToDraw)
protected void
drawEdges(String prefixId, Element root, VoltageLevelGraph graph, GraphMetadata metadata, AnchorPointProvider anchorPointProvider, DiagramLabelProvider initProvider, DiagramStyleProvider styleProvider, Collection<Edge> edges)
protected void
drawGraphLabel(String prefixId, Element root, VoltageLevelGraph graph, GraphMetadata metadata)
protected Element
drawGrid(String prefixId, VoltageLevelGraph graph, Document document, GraphMetadata metadata)
protected Element
drawGridHorizontalLine(Document document, VoltageLevelGraph graph, int maxH, double y)
protected Element
drawGridLine(Document document, double x1, double y1, double x2, double y2)
protected Element
drawGridVerticalLine(Document document, VoltageLevelGraph graph, int maxV, double x)
protected void
drawMultiTerminalNodes(String prefixId, Element root, BaseGraph graph, GraphMetadata metadata, DiagramStyleProvider styleProvider)
protected void
drawNodeDecorators(String prefixId, Element root, Node node, DiagramLabelProvider labelProvider, DiagramStyleProvider styleProvider)
protected void
drawNodeLabel(String prefixId, Element g, Node node, List<DiagramLabelProvider.NodeLabel> nodeLabels)
protected void
drawNodes(String prefixId, Element root, VoltageLevelGraph graph, GraphMetadata metadata, DiagramLabelProvider initProvider, DiagramStyleProvider styleProvider, Collection<Node> nodes)
protected void
drawSnakeLines(String prefixId, Element root, AbstractBaseGraph graph, GraphMetadata metadata, DiagramStyleProvider styleProvider, AnchorPointProvider anchorPointProvider)
protected void
drawSnakeLines(String prefixId, Element root, ZoneGraph graph, GraphMetadata metadata, DiagramStyleProvider styleProvider, AnchorPointProvider anchorPointProvider)
protected void
drawSubstation(String prefixId, SubstationGraph graph, Element root, GraphMetadata metadata, DiagramLabelProvider initProvider, DiagramStyleProvider styleProvider)
protected void
drawVoltageLevel(String prefixId, VoltageLevelGraph graph, Element root, GraphMetadata metadata, DiagramLabelProvider initProvider, DiagramStyleProvider styleProvider)
ComponentLibrary
getComponentLibrary()
LayoutParameters
getLayoutParameters()
protected void
incorporateComponents(String prefixId, Node node, Element g, DiagramStyleProvider styleProvider)
protected void
insertArrowSVGIntoDocumentSVG(String arrowType, String prefixId, Element g, double angle)
protected void
insertComponentSVGIntoDocumentSVG(String prefixId, String componentType, Element g, Node node, DiagramStyleProvider styleProvider)
protected void
insertDecoratorSVGIntoDocumentSVG(String prefixId, DiagramLabelProvider.NodeDecorator nodeDecorator, Element g, Node node, DiagramStyleProvider styleProvider)
protected void
insertFeederInfos(String prefixId, List<Point> points, Element root, FeederNode feederNode, GraphMetadata metadata, DiagramLabelProvider initProvider)
protected void
insertSVGComponentIntoDefsArea(String componentType, Element group, Map<String,List<Element>> subComponents)
protected void
insertSVGIntoDocumentSVG(String name, String componentType, Element g, BiConsumer<Element,String> elementAttributesSetter)
protected String
pointsListToString(List<Point> polyline)
protected void
setMetadata(String prefixId, GraphMetadata metadata, Node node, String nodeId, VoltageLevelGraph graph, BusCell.Direction direction, List<DiagramLabelProvider.NodeLabel> nodeLabels)
protected void
transformArrow(List<Point> points, ComponentSize componentSize, double shift, Element g)
protected void
transformComponent(Node node, Element g)
GraphMetadata
write(String prefixId, SubstationGraph graph, DiagramLabelProvider labelProvider, DiagramStyleProvider styleProvider, Writer writer)
Create the SVGDocument corresponding to the substation graphGraphMetadata
write(String prefixId, SubstationGraph graph, DiagramLabelProvider initProvider, DiagramStyleProvider styleProvider, Path svgFile)
Create the SVGDocument corresponding to the substation graphGraphMetadata
write(String prefixId, VoltageLevelGraph graph, DiagramLabelProvider labelProvider, DiagramStyleProvider styleProvider, Writer writer)
Create the SVGDocument corresponding to the graphGraphMetadata
write(String prefixId, VoltageLevelGraph graph, DiagramLabelProvider initProvider, DiagramStyleProvider styleProvider, Path svgFile)
Create the SVGDocument corresponding to the graphGraphMetadata
write(String prefixId, ZoneGraph graph, DiagramLabelProvider labelProvider, DiagramStyleProvider styleProvider, Writer writer)
GraphMetadata
write(String prefixId, ZoneGraph graph, DiagramLabelProvider initProvider, DiagramStyleProvider styleProvider, Path svgFile)
protected GraphMetadata
writeGraph(String prefixId, SubstationGraph graph, Document document, DiagramLabelProvider initProvider, DiagramStyleProvider styleProvider)
Create the SVGDocument corresponding to the substation graphprotected GraphMetadata
writeGraph(String prefixId, VoltageLevelGraph graph, Document document, DiagramLabelProvider initProvider, DiagramStyleProvider styleProvider)
Create the SVGDocument corresponding to the graph
-
-
-
Field Detail
-
LOGGER
protected static final org.slf4j.Logger LOGGER
-
GROUP
protected static final String GROUP
- See Also:
- Constant Field Values
-
CLASS
protected static final String CLASS
- See Also:
- Constant Field Values
-
STYLE
protected static final String STYLE
- See Also:
- Constant Field Values
-
TRANSFORM
protected static final String TRANSFORM
- See Also:
- Constant Field Values
-
TRANSLATE
protected static final String TRANSLATE
- See Also:
- Constant Field Values
-
ROTATE
protected static final String ROTATE
- See Also:
- Constant Field Values
-
LABEL_OFFSET
protected static final double LABEL_OFFSET
- See Also:
- Constant Field Values
-
POLYLINE
protected static final String POLYLINE
- See Also:
- Constant Field Values
-
POINTS
protected static final String POINTS
- See Also:
- Constant Field Values
-
TEXT_ANCHOR
protected static final String TEXT_ANCHOR
- See Also:
- Constant Field Values
-
MIDDLE
protected static final String MIDDLE
- See Also:
- Constant Field Values
-
CIRCLE_RADIUS_NODE_INFOS_SIZE
protected static final int CIRCLE_RADIUS_NODE_INFOS_SIZE
- See Also:
- Constant Field Values
-
componentLibrary
protected final ComponentLibrary componentLibrary
-
layoutParameters
protected final LayoutParameters layoutParameters
-
-
Constructor Detail
-
DefaultSVGWriter
public DefaultSVGWriter(ComponentLibrary componentLibrary, LayoutParameters layoutParameters)
-
-
Method Detail
-
write
public GraphMetadata write(String prefixId, VoltageLevelGraph graph, DiagramLabelProvider initProvider, DiagramStyleProvider styleProvider, Path svgFile)
Create the SVGDocument corresponding to the graph
-
write
public GraphMetadata write(String prefixId, VoltageLevelGraph graph, DiagramLabelProvider labelProvider, DiagramStyleProvider styleProvider, Writer writer)
Create the SVGDocument corresponding to the graph
-
addStyle
protected void addStyle(Document document, DiagramStyleProvider styleProvider, DiagramLabelProvider labelProvider, List<VoltageLevelGraph> graphs, Set<String> listUsedComponentSVG)
-
writeGraph
protected GraphMetadata writeGraph(String prefixId, VoltageLevelGraph graph, Document document, DiagramLabelProvider initProvider, DiagramStyleProvider styleProvider)
Create the SVGDocument corresponding to the graph
-
drawVoltageLevel
protected void drawVoltageLevel(String prefixId, VoltageLevelGraph graph, Element root, GraphMetadata metadata, DiagramLabelProvider initProvider, DiagramStyleProvider styleProvider)
-
write
public GraphMetadata write(String prefixId, SubstationGraph graph, DiagramLabelProvider initProvider, DiagramStyleProvider styleProvider, Path svgFile)
Create the SVGDocument corresponding to the substation graph
-
write
public GraphMetadata write(String prefixId, SubstationGraph graph, DiagramLabelProvider labelProvider, DiagramStyleProvider styleProvider, Writer writer)
Create the SVGDocument corresponding to the substation graph
-
getLayoutParameters
public LayoutParameters getLayoutParameters()
- Specified by:
getLayoutParameters
in interfaceSVGWriter
-
getComponentLibrary
public ComponentLibrary getComponentLibrary()
- Specified by:
getComponentLibrary
in interfaceSVGWriter
-
writeGraph
protected GraphMetadata writeGraph(String prefixId, SubstationGraph graph, Document document, DiagramLabelProvider initProvider, DiagramStyleProvider styleProvider)
Create the SVGDocument corresponding to the substation graph
-
drawSubstation
protected void drawSubstation(String prefixId, SubstationGraph graph, Element root, GraphMetadata metadata, DiagramLabelProvider initProvider, DiagramStyleProvider styleProvider)
-
drawGrid
protected Element drawGrid(String prefixId, VoltageLevelGraph graph, Document document, GraphMetadata metadata)
-
drawGridHorizontalLine
protected Element drawGridHorizontalLine(Document document, VoltageLevelGraph graph, int maxH, double y)
-
drawGridVerticalLine
protected Element drawGridVerticalLine(Document document, VoltageLevelGraph graph, int maxV, double x)
-
drawGridLine
protected Element drawGridLine(Document document, double x1, double y1, double x2, double y2)
-
drawBuses
protected void drawBuses(String prefixId, Element root, VoltageLevelGraph graph, GraphMetadata metadata, AnchorPointProvider anchorPointProvider, DiagramLabelProvider initProvider, DiagramStyleProvider styleProvider, Set<Node> remainingNodesToDraw)
-
createNodeLabelMetadata
protected List<GraphMetadata.NodeLabelMetadata> createNodeLabelMetadata(String prefixId, Node node, List<DiagramLabelProvider.NodeLabel> nodeLabels)
-
drawNodes
protected void drawNodes(String prefixId, Element root, VoltageLevelGraph graph, GraphMetadata metadata, DiagramLabelProvider initProvider, DiagramStyleProvider styleProvider, Collection<Node> nodes)
-
setMetadata
protected void setMetadata(String prefixId, GraphMetadata metadata, Node node, String nodeId, VoltageLevelGraph graph, BusCell.Direction direction, List<DiagramLabelProvider.NodeLabel> nodeLabels)
-
drawNodeLabel
protected void drawNodeLabel(String prefixId, Element g, Node node, List<DiagramLabelProvider.NodeLabel> nodeLabels)
-
drawNodeDecorators
protected void drawNodeDecorators(String prefixId, Element root, Node node, DiagramLabelProvider labelProvider, DiagramStyleProvider styleProvider)
-
drawGraphLabel
protected void drawGraphLabel(String prefixId, Element root, VoltageLevelGraph graph, GraphMetadata metadata)
-
createLabelElement
protected Element createLabelElement(String str, double xShift, double yShift, int shiftAngle, Element g)
-
canInsertComponentSVG
protected boolean canInsertComponentSVG(Node node)
-
incorporateComponents
protected void incorporateComponents(String prefixId, Node node, Element g, DiagramStyleProvider styleProvider)
-
insertComponentSVGIntoDocumentSVG
protected void insertComponentSVGIntoDocumentSVG(String prefixId, String componentType, Element g, Node node, DiagramStyleProvider styleProvider)
-
insertArrowSVGIntoDocumentSVG
protected void insertArrowSVGIntoDocumentSVG(String arrowType, String prefixId, Element g, double angle)
-
insertDecoratorSVGIntoDocumentSVG
protected void insertDecoratorSVGIntoDocumentSVG(String prefixId, DiagramLabelProvider.NodeDecorator nodeDecorator, Element g, Node node, DiagramStyleProvider styleProvider)
-
insertSVGIntoDocumentSVG
protected void insertSVGIntoDocumentSVG(String name, String componentType, Element g, BiConsumer<Element,String> elementAttributesSetter)
-
transformArrow
protected void transformArrow(List<Point> points, ComponentSize componentSize, double shift, Element g)
-
insertFeederInfos
protected void insertFeederInfos(String prefixId, List<Point> points, Element root, FeederNode feederNode, GraphMetadata metadata, DiagramLabelProvider initProvider)
-
drawEdges
protected void drawEdges(String prefixId, Element root, VoltageLevelGraph graph, GraphMetadata metadata, AnchorPointProvider anchorPointProvider, DiagramLabelProvider initProvider, DiagramStyleProvider styleProvider, Collection<Edge> edges)
-
drawSnakeLines
protected void drawSnakeLines(String prefixId, Element root, ZoneGraph graph, GraphMetadata metadata, DiagramStyleProvider styleProvider, AnchorPointProvider anchorPointProvider)
-
drawSnakeLines
protected void drawSnakeLines(String prefixId, Element root, AbstractBaseGraph graph, GraphMetadata metadata, DiagramStyleProvider styleProvider, AnchorPointProvider anchorPointProvider)
-
createDefsSVGComponents
protected void createDefsSVGComponents(Document document, Set<String> listUsedComponentSVG)
Creation of the defs area for the SVG components
-
insertSVGComponentIntoDefsArea
protected void insertSVGComponentIntoDefsArea(String componentType, Element group, Map<String,List<Element>> subComponents)
-
write
public GraphMetadata write(String prefixId, ZoneGraph graph, DiagramLabelProvider initProvider, DiagramStyleProvider styleProvider, Path svgFile)
-
write
public GraphMetadata write(String prefixId, ZoneGraph graph, DiagramLabelProvider labelProvider, DiagramStyleProvider styleProvider, Writer writer)
-
drawMultiTerminalNodes
protected void drawMultiTerminalNodes(String prefixId, Element root, BaseGraph graph, GraphMetadata metadata, DiagramStyleProvider styleProvider)
-
-