graph_displayer_canvas-node.cc
branchgui
changeset 48 b8ec84524fa2
parent 45 199f433eb7cd
child 53 e73d7540bd24
     1.1 --- a/graph_displayer_canvas-node.cc	Thu Jul 28 14:31:32 2005 +0000
     1.2 +++ b/graph_displayer_canvas-node.cc	Thu Jul 28 15:54:00 2005 +0000
     1.3 @@ -6,12 +6,17 @@
     1.4  int GraphDisplayerCanvas::changeNodeRadius (std::string mapname, Graph::Node node)
     1.5  {
     1.6    Graph::NodeMap<double> * actual_map;
     1.7 +  double min, max;
     1.8    if(mapname=="Default")
     1.9      {
    1.10 +      min=node_property_defaults[N_RADIUS];
    1.11 +      max=node_property_defaults[N_RADIUS];
    1.12        actual_map=new Graph::NodeMap<double>(g,node_property_defaults[N_RADIUS]);
    1.13      }
    1.14    else
    1.15      {
    1.16 +      min=mapstorage.minOfNodeMap(mapname);
    1.17 +      max=mapstorage.maxOfNodeMap(mapname);
    1.18        actual_map=(mapstorage.nodemap_storage)[mapname];
    1.19      }
    1.20  
    1.21 @@ -19,7 +24,16 @@
    1.22      {
    1.23        for (NodeIt i(g); i!=INVALID; ++i)
    1.24  	{
    1.25 -	  int w=(int)(*actual_map)[i];
    1.26 +	  double v=abs((*actual_map)[i]);
    1.27 +	  int w;
    1.28 +	  if(min==max)
    1.29 +	    {
    1.30 +	      w=(int)(node_property_defaults[N_RADIUS]);
    1.31 +	    }
    1.32 +	  else
    1.33 +	    {
    1.34 +	      w=(int)(MIN_NODE_RADIUS+(v-min)/(max-min)*(MAX_NODE_RADIUS-MIN_NODE_RADIUS));
    1.35 +	    }
    1.36  	  if(w>=0)
    1.37  	    {
    1.38  	      double x1, y1, x2, y2;