1. 31 Jan, 2005 2 commits
    • Leigh Stoller's avatar
      Oops, fix minor typo in previous revision. · c418c722
      Leigh Stoller authored
      c418c722
    • Leigh Stoller's avatar
      Tweaks to robot display: · 3acfb53d
      Leigh Stoller authored
      * If there is a destination for a rebot, display that as a shadow circle.
        Draw a light grey line from source to destination.
      
      * If an orientation is in the location_info table, the current location
        circle gets a stick drawn in that direction.
      
      * If the destination has an orientation in the nodes table, the shadow
        circle gets a stick drawn in that direction.
      
      * I added a little bit of code so that labels are drawn on top if the
        orientation stick would draw through it. I'm sure that will interact with
        cropping badly if a node is right at the edge of the picture.
      3acfb53d
  2. 27 Jan, 2005 1 commit
  3. 26 Jan, 2005 1 commit
  4. 11 Jan, 2005 1 commit
    • Leigh Stoller's avatar
      Add "obstacles" for robots to avoid. · eda7add2
      Leigh Stoller authored
      * New database table to store obstacles, in the usual coord system;
        x1,y1, is the upper left corner.
      
      * New web page to dump the entire obstacle list
      
      	https://www.emulab.net/obstacle_list.php3
      
      * New web page to dump a single obstacle, referenced by the above list
        page, and by the floormap generator.
      
      * Hack up the floormap code to add obstacles to the areamap, so that
        when you mouse over them, you get a ballon showing the description,
        and a link to the above mentioned page.
      eda7add2
  5. 03 Jan, 2005 1 commit
  6. 20 Dec, 2004 1 commit
    • Leigh Stoller's avatar
      Add little tip tool ballons to each dot, which give the nodeid for all · 2bdd9c8b
      Leigh Stoller authored
      nodes, and then if allocated and person has permission, the vname and
      pid/eid.
      
      Note that tip tool ballons have no formatting capabilities at all;
      just a simple text string.
      
      If we want fancier, I found some javascript code that will popup real
      windows, and then kill them like a tool tip after a short pause or
      when the user mouses out. The downside of the real window is that with
      some window managers, you still get a status bar along the top, and so
      it looks icky. The upside is that we can put real information and
      formatting directives in the popup.
      2bdd9c8b
  7. 14 Dec, 2004 1 commit
  8. 18 Oct, 2004 1 commit
  9. 14 Oct, 2004 1 commit
    • Leigh Stoller's avatar
      Add clause to node query to select just experimental nodes when -e · 807f505a
      Leigh Stoller authored
      option was given (as is when called from experiment page). This
      restricts the nodes to just those in the experiment.
      
      This interacts with ghosting mode (where other nodes on other floors
      are shown). In the above case, should ghosting show all nodes on other
      floors, or just nodes in the experiment on other floors? For now, it
      does the latter, but it might useful to have a mode for the other
      case?
      807f505a
  10. 16 Sep, 2004 1 commit
  11. 15 Sep, 2004 1 commit
  12. 13 Sep, 2004 1 commit
  13. 10 Sep, 2004 1 commit
    • Russ Fish's avatar
      Add MapQuest-style pan and zoom controls to the floormap.php3 page, and · aa7d57a9
      Russ Fish authored
      generally improve the clarity and appearance of the maps.  The scale factor
      buttons numbered 1-5 actually correspond to scale factors of 1, 1.5, 2, 2.5,
      and 3.
      
      Notice that the floorimages table in the database now has an integer "scale"
      column to distinguish the cached zoomed-in images with a suffix "-[1-5].jpg" .
      
      I use jpeg files instead of the png files that were used before.  They look as
      good or better, and are a third the size.  Panning around at a given zoom
      factor just involves cropping out a different rectangle of the scaled-up
      images.
      
      The 0311X064_[1-4]fl.pdf floor map files we got from Michael Kay started
      out life in Adobe Illustrator.  Although GhostScript/gv crash while
      trying to draw the pdf files, extracting them into PostScript files in
      Acrobat on Coke allows GhostScript to render them flawlessly.
      
      I started out using gs to render jpeg files in the shell, and then
      found that ImageMagick uses the same GhostScript renderer, and nicely
      handles cropping, drawing and annotations, and format conversion as well.
      
      The PostScript rendering gets slow at higher zoom factors.  So I cache the
      zoomed floor images, scaled up by rendering the PostScript files at a finer
      dot-pitch (density) in GhostScript, and then cropping out the right rectangle
      to register them properly.
      
      For readability, and to avoid having the thin lines and bitmap fonts used in
      some parts of the PostScript map from falling between the pixel cracks, I
      actually render at twice the pixel density and filter down to the final image
      with a gaussian -sharpen option to keep it from looking blurry.
      
      ImageMagick is callable from both the shell and as the Image::Magick package
      in Perl.  I converted the Perl logic in floormap.in to use Image::Magick
      instead of the GD graphics library, resulting in anti-aliased (smoothed)
      drawing of the wireless node dots and labels on floor maps for a better
      appearance.  Then I added optional scaling and centering arguments which
      select the proper cached zoomed-in image, and drive the logic for cropping and
      drawing.
      
      I modified the floormap.php3 file to wrap an input form around a set of zoom
      control buttons and the floormap image.  The zoom buttons set the scale
      argument to the Perl floormap script called on the server.  The floor map
      image itself is wrapped in a graphical submit button, so clicking on it
      returns the mouse coordinates within the image, which are then sent to the
      centering argument of the Perl script.
      aa7d57a9
  14. 25 Jun, 2004 1 commit
  15. 10 Jun, 2004 1 commit
    • Leigh Stoller's avatar
      Add support so that setnodeloc and floormaps can be used on the · 159ced78
      Leigh Stoller authored
      new_nodes table. Thought it would be easy, but ended up doing more
      damage then I expected; oh well. New nodes show up in "gold" color
      (not listed in the legend).
      
      I added a link from the newnode_edit page. Rob will need to arrange
      for a location_info entry to be created when a new node is made live
      (but only if building/floor are not null).
      159ced78
  16. 09 Jun, 2004 1 commit
    • Leigh Stoller's avatar
      Switch everything over to using new buildings and floorimages tables · 315c5d9c
      Leigh Stoller authored
      that I added to the DB. See revision 1.251 of sql/database-create.sql.
      I have removed all of the hardwired names of buildings, images, files,
      etc. I have also added MEB floors 1 and 2, but they do not show up on
      the status page unlesss there are actually nodes assigned to them.
      When you go to set a node location, you do see the little thumbs of
      all existing buildings/floors, so you can add nodes to floors that do
      not currently have any.
      
      Still needs some work to cleanly display multiple buildings, but thats
      for another day.
      315c5d9c
  17. 08 Jun, 2004 1 commit
    • Leigh Stoller's avatar
      A bunch of cleanup and improvement. · 7bc9596e
      Leigh Stoller authored
      * Redo all the MEB .png files, removing the existing titles from the
        images, and cropping down the images to the actual floors. Redid the
        thumbnail files at the same time. Note that the existing location_info
        entries need to be updated, which I will do.
      
      * Rework portions of floormap.in in preparation for using the DB to
        describe the image files (still hardwired into the floormap).
      
      * Draw a title in each image using a truetype font, based on what will
        eventually come out of the DB, plus a floor tag.
      
      * Add option (-t) to not draw any titles; just naked images.
      7bc9596e
  18. 16 Apr, 2004 1 commit
  19. 15 Apr, 2004 2 commits
  20. 12 Apr, 2004 1 commit
  21. 05 Apr, 2004 4 commits
  22. 25 Mar, 2004 1 commit
  23. 29 Sep, 2003 1 commit
  24. 28 Sep, 2003 1 commit
  25. 26 Sep, 2003 1 commit
  26. 23 Sep, 2003 1 commit
  27. 07 Aug, 2003 1 commit
  28. 06 Aug, 2003 1 commit
  29. 30 Jul, 2003 1 commit
    • Leigh Stoller's avatar
      Change the prerender code to run in the background so that Mike does · 11d792e3
      Leigh Stoller authored
      not have to wait 3 minutes for it to finish before he can watch his
      experiment swapin fail for some other reason.
      
      I adopted the same pid mechanism as in eventsys_control.in, which uses
      a slot in the experiments table.
      
      Running "prerender" puts the render into the background and stores
      the pid. Running "prerender -r" kills a running prerender and removes
      the existing info from the DB.
      
      Fixed the problem with swapmod not restoring the old vis; swapmod now
      kills any running prerender, and restarts one if the swapmod fails
      (the prerun of the new NS file starts up another prerender in the
      background).
      
      Add setpriority() call in prerender to nice it and children to 15.
      11d792e3
  30. 09 Jul, 2003 1 commit
  31. 04 Jul, 2003 1 commit
    • Leigh Stoller's avatar
      Direct the thumb render to the expwork directory, and then copy to · d2e91935
      Leigh Stoller authored
      www/thumb directory. Putting it in the expwork directory causes the
      .png file to saved in the users exp directory, and in the longterm
      archive for the experiment (expinfo).
      
      If we decide to keep NS files in the DB for longterm storage, we
      should keep the .png files along with them (they are generally very
      small, under 1k bytes).
      d2e91935
  32. 24 Jun, 2003 1 commit
  33. 03 Apr, 2003 1 commit
    • Chad Barb's avatar
      · 34cfcc2d
      Chad Barb authored
      Fixed minor renderer bug for nodes with more than 9 (!) interfaces.
      (was looking for '\d', should have been looking for '\d+'.)
      34cfcc2d
  34. 10 Mar, 2003 1 commit
    • Chad Barb's avatar
      · 78dd7ab7
      Chad Barb authored
      Specify '0' to exit on success.
      78dd7ab7
  35. 04 Mar, 2003 1 commit
    • Chad Barb's avatar
      · 0f2ca2cf
      Chad Barb authored
      Added maximum node size in thumbnail;
      So single node experiments won't visualize as a huge
      green square, but rather a smaller one.
      0f2ca2cf