diff -r 9a0e6e92d06c -r b8ec84524fa2 graph_displayer_canvas-node.cc --- a/graph_displayer_canvas-node.cc Thu Jul 28 14:31:32 2005 +0000 +++ b/graph_displayer_canvas-node.cc Thu Jul 28 15:54:00 2005 +0000 @@ -6,12 +6,17 @@ int GraphDisplayerCanvas::changeNodeRadius (std::string mapname, Graph::Node node) { Graph::NodeMap * actual_map; + double min, max; if(mapname=="Default") { + min=node_property_defaults[N_RADIUS]; + max=node_property_defaults[N_RADIUS]; actual_map=new Graph::NodeMap(g,node_property_defaults[N_RADIUS]); } else { + min=mapstorage.minOfNodeMap(mapname); + max=mapstorage.maxOfNodeMap(mapname); actual_map=(mapstorage.nodemap_storage)[mapname]; } @@ -19,7 +24,16 @@ { for (NodeIt i(g); i!=INVALID; ++i) { - int w=(int)(*actual_map)[i]; + double v=abs((*actual_map)[i]); + int w; + if(min==max) + { + w=(int)(node_property_defaults[N_RADIUS]); + } + else + { + w=(int)(MIN_NODE_RADIUS+(v-min)/(max-min)*(MAX_NODE_RADIUS-MIN_NODE_RADIUS)); + } if(w>=0) { double x1, y1, x2, y2;