From: Radu B. R. <ru...@cs...> - 2006-03-27 20:48:14
|
Aham!!! Evrika! ;) We just found another Player bug. The fix for this one is trivial though. I envision Player in a few months being 99.99% bug free at this rate! :) Unfortunately I don't have commit rights to that part of the repository (libplayercore)... so I'll ask Brian to do it for us now. If you don't want to "cvs" Player... go into player.h yourself, search for the player_graphics2d_cmd_points_t, player_graphics2d_cmd_polyline_t and player_graphics2d_cmd_polygon_t structures, and modify the first member from "uint16_t count;" to "uint16_t points_count;". Then recompile Player, and that should be it. There is one small fix for Javaclient2 as well... I am committing it now, and then waiting for Brian to patch Player, and probably test again in the morning. Cheers, Radu. Marques, Hugo G wrote: >Hi Radu... > >first of all thank's for the quick implementation of the interface... I really needed it in order to continue my experiments... > >I tryed to run your code and it works perfectly... but if I try to use an PlayerGraphics2dCmdPolyline object with the number of lines smaller than 64 it simply does not show anything... I tryed to show a simple line on Stage with only 2 points using the same idea you used in the example and it did not work... Then I hacked slightly your code (see bellow) in order to print only part of the circles and it did not worked as well... > >I then tried to solve the issue with the class PlayerGraphics2dCmdPolygon but I had the same problem. I tried to went through the source code of playerclient and the graphics2DInterface and it seemed fine to me... > >Another thing that you might want to have a look in the class PlayerGraphics2dCmdPolygon is that if you do not setFill_color it gives an exception, when it could probably use a default (transparent?) value... > >Thank you very much >Regards... >Hugo > >************************************* CODE ******************* > >PlayerClient robot; >Graphics2DInterface graphicsInterface; > >robot = new PlayerClient ("localhost", 6665); >graphicsInterface = robot.requestInterfaceGraphics2D(0, 1); >robot.runThreaded(-1, -1); > >graphicsInterface.clearScreen (); > >PlayerGraphics2dCmdPolyline p = new PlayerGraphics2dCmdPolyline (); > >PlayerColor color = new PlayerColor (); >color.setAlpha (0); >color.setRed (0); color.setGreen (0); color.setBlue (0xff); >int lineSize = 32; >p.setCount (lineSize); > >for (double r = 0; r < 1.0; r += 0.05) { > PlayerPoint2d[] points = new PlayerPoint2d[lineSize]; > > for (int j = 0; j < lineSize; j++) { > points[j] = new PlayerPoint2d (); > points[j].setPx ((float)(r * Math.cos (j * Math.PI / 32))); > points[j].setPy ((float)(r * Math.sin (j * Math.PI / 32))); > System.out.println(" Point: "+points[j].getPx()+", "+points[j].getPy()); > } > >p.setPoints (points); >p.setColor (color); > >graphicsInterface.drawPolyline (p); > >try { Thread.sleep (100); } catch (Exception e) { > e.printStackTrace(); } > >************************************* END CODE ******************* > > > >---------------------------------------------------- >Hugo Gravato Marques, University of Essex, PhD Student >PHONE: +44 (0)7854917241, England or +351 962482416, Portugal >ADDRESS: University of Essex, Department of Computer Science, >Wivenhoe Park, Colchester Essex, CO4 3SQ, UK >WEB: http://privatewww.essex.ac.uk/~hgmarq/ > > -- | Radu Bogdan Rusu | http://rbrusu.com/ | http://www9.cs.tum.edu/people/rusu/ | Intelligent Autonomous Systems | Technische Universitaet Muenchen |