/** * Groups a cluster (set) of agents into a sublayout. * * @param vertices */ protected void groupCluster(Set vertices) { if(vertices.size() > 1 && vertices.size() < graph.getVertexCount()) { // if(vertices.size() < layout.getGraph().getVertexCount()) { Point2D center = layout.transform(vertices.iterator().next()); Graph subGraph = (Graph)graphFactory.create(); for(Iterator it = vertices.iterator(); it.hasNext();) { subGraph.addVertex(it.next()); } Layout subLayout = new GraphCircleLayout(subGraph); subLayout.setInitializer(vv.getGraphLayout()); subLayout.setSize(new Dimension(40, 40)); layout.put(subLayout, center); } }
private void groupCluster(AggregateLayout<Number,Number> layout, Set<Number> vertices) { if(vertices.size() < layout.getGraph().getVertexCount()) { Point2D center = layout.apply(vertices.iterator().next()); Graph<Number,Number> subGraph = SparseMultigraph.<Number,Number>getFactory().get(); for(Number v : vertices) { subGraph.addVertex(v); } Layout<Number,Number> subLayout = new CircleLayout<Number,Number>(subGraph); subLayout.setInitializer(vv.getGraphLayout()); subLayout.setSize(new Dimension(40,40)); layout.put(subLayout,center); vv.repaint(); } } }
subLayout.setInitializer(vv.getGraphLayout()); subLayout.setSize(subLayoutSize); clusteringLayout.put(subLayout,center); vv.setGraphLayout(clusteringLayout);