]> mj.ucw.cz Git - leo.git/blobdiff - lab-evolution.c
Labelling: Rotation computation improved and commented on
[leo.git] / lab-evolution.c
index 5b0bd71e45fa3e7cd93cf9b978c73280f36cf2e2..197862495d85feae26767a8578b2da4825a4f028 100644 (file)
@@ -692,10 +692,17 @@ static void move_symbol_point(struct placement *p)
 
 static void move_symbol_segment(struct placement *p)
 {
+  struct request_segment *rs = (struct request_segment *) p->request;
   double m = gen_movement_uniform();
-  // CHECK ME
-  p->x += m;
-  p->y += m * ((struct request_segment *) p->request)->slope;
+  if (fabs(rs->x2 - rs->x1) > 0.01)
+  {
+    p->x += m;
+    p->y += m * rs->slope;
+  }
+  else
+  {
+    p->x += m;
+  }
 }
 
 static void hide_segment_labels(struct individual *individual)
@@ -744,7 +751,7 @@ static void init_placement(struct placement *p, struct individual *individual, s
       break;
     case REQUEST_SECTION: ;
       struct request_section *rls = (struct request_section *) r;
-      p->variant_used = randint(0, rls->num_segments);
+      p->variant_used = randint(0, GARY_SIZE(rls->segments));
       break;
     case REQUEST_SEGMENT: ;
       struct request_segment *rs = (struct request_segment *) r;