From 65c2f4f57c6de87b1214857c62efac7a79078a0d Mon Sep 17 00:00:00 2001 From: Philipp Spohr <spohr.philipp@web.de> Date: Tue, 5 Sep 2017 18:00:51 +0200 Subject: [PATCH] Implemented edge-width scaling in meta-graph --- .../graphModel/YoshikoSolution.java | 36 +++++++++++++------ 1 file changed, 26 insertions(+), 10 deletions(-) diff --git a/src/main/java/de/hhu/ba/yoshikoWrapper/graphModel/YoshikoSolution.java b/src/main/java/de/hhu/ba/yoshikoWrapper/graphModel/YoshikoSolution.java index 3d961ee..bb1a5e5 100644 --- a/src/main/java/de/hhu/ba/yoshikoWrapper/graphModel/YoshikoSolution.java +++ b/src/main/java/de/hhu/ba/yoshikoWrapper/graphModel/YoshikoSolution.java @@ -27,6 +27,7 @@ import java.util.HashMap; import org.cytoscape.model.CyEdge; import org.cytoscape.model.CyNetwork; import org.cytoscape.model.CyNode; +import org.cytoscape.model.CyEdge.Type; import org.cytoscape.model.subnetwork.CySubNetwork; import org.cytoscape.view.layout.CyLayoutAlgorithm; import org.cytoscape.view.model.CyNetworkView; @@ -70,6 +71,10 @@ public class YoshikoSolution { //Add nodes for (YoshikoCluster c: cluster) { + + VisualStyle vs= CyCore.visualStyleFactory.createVisualStyle(CyCore.visualMappingManager.getCurrentVisualStyle()); + + CyNode clusterNode = metaGraph.addNode(); CySubNetwork subnet = c.getSubNetwork(); CyCore.networkManager.addNetwork(subnet); @@ -85,9 +90,9 @@ public class YoshikoSolution { null ) ); - VisualStyle vs= CyCore.visualStyleFactory.createVisualStyle(CyCore.visualMappingManager.getCurrentVisualStyle()); CyCore.visualMappingManager.setVisualStyle(vs, subnetView); vs.apply(subnetView); + subnetView.updateView(); clusterNode.setNetworkPointer(subnet); //Set node attributes metaGraph.getRow(clusterNode).set("name", LocalizationManager.get("cluster")+" "+c.getID()); @@ -107,13 +112,16 @@ public class YoshikoSolution { for (CyNode c1n : c1.getSubNetwork().getNodeList()) { for (CyNode c2n : c2.getSubNetwork().getNodeList()) { if (originalGraph.containsEdge(c1n, c2n) || originalGraph.containsEdge(c2n, c1n)) { - if (metaGraph.containsEdge(map.get(c1), map.get(c2))){ - //TODO: Update weight - } - else { + if (!metaGraph.containsEdge(map.get(c1), map.get(c2))){ CyEdge edge = metaGraph.addEdge(map.get(c1), map.get(c2), false); metaGraph.getRow(edge).set("edgeStrength",1); } + else { + CyEdge edge = metaGraph.getConnectingEdgeList(map.get(c1), map.get(c2), Type.ANY).get(0); + metaGraph.getRow(edge).set("edgeStrength", + metaGraph.getRow(edge).get("edgeStrength", Integer.class)+1 + ); + } } } } @@ -131,6 +139,9 @@ public class YoshikoSolution { ) ); + VisualStyle vs= CyCore.visualStyleFactory.createVisualStyle(CyCore.visualMappingManager.getCurrentVisualStyle()); + + CyCore.networkManager.addNetwork(metaGraph); CyCore.networkViewManager.addNetworkView( view @@ -142,16 +153,21 @@ public class YoshikoSolution { Integer.class, BasicVisualLexicon.NODE_SIZE ); + + ContinuousMapping<Integer, Double> contMapEdges = (ContinuousMapping<Integer, Double>)CyCore.continuousMappingFactory.createVisualMappingFunction( + "edgeStrength", + Integer.class, + BasicVisualLexicon.EDGE_WIDTH + ); - VisualStyle vs= CyCore.visualStyleFactory.createVisualStyle(CyCore.visualMappingManager.getCurrentVisualStyle()); - vs.addVisualMappingFunction(contMap); - CyCore.visualMappingManager.addVisualStyle(vs); - CyCore.cy.setCurrentNetworkView(view); //Apply visual style CyCore.visualMappingManager.setVisualStyle(vs, view); + vs.addVisualMappingFunction(contMap); + vs.addVisualMappingFunction(contMapEdges); vs.apply(view); view.updateView(); - + + CyCore.cy.setCurrentNetworkView(view); } } -- GitLab