]> git.tdb.fi Git - netvis.git/blobdiff - source/port.cpp
Add a traffic history graph
[netvis.git] / source / port.cpp
index d4be82ce182b0c7d195557741d114cafbc8896f9..1c940af8a4c69e4ea5808cd668dfe42238b51060 100644 (file)
@@ -35,8 +35,12 @@ Port::Port(NetVis &v, unsigned n):
        else
                name = Msp::lexical_cast(number);
 
+       const map<unsigned, Port *> &ports = netvis.get_ports();
+       unsigned tries = 100;
+       if(ports.size()>100 && number>=1024)
+               tries = 10000/ports.size()+1;
        float best_score = 0;
-       for(unsigned i=0; (i<100 && best_score<1); ++i)
+       for(unsigned i=0; (i<tries && best_score<1); ++i)
        {
                GL::Color c;
                c.r = rand()*1.0/RAND_MAX;
@@ -53,9 +57,10 @@ Port::Port(NetVis &v, unsigned n):
                        c = c*0.6+0.4;
 
                float score = 2;
-               const map<unsigned, Port *> &ports = netvis.get_ports();
                for(map<unsigned, Port *>::const_iterator j=ports.begin(); j!=ports.end(); ++j)
                {
+                       if(number<1024 && j->first>1024)
+                               break;
                        const GL::Color &other = j->second->get_color();
                        float dr = c.r-other.r;
                        float dg = c.g-other.g;