|
From: Jesus M. S. Jr. <jm...@ih...> - 2000-11-16 18:46:21
|
Hi, Christoph Oechslein wrote: > > Dear Jesus M. Salvo Jr., > > I'm using OpenJGraph in my tool (kind of simulation tool, for simulating an > agenthood. The graph is for the finite state graph of the agents behaviour). > While using it I did a few changes, maybe you are interessted in or maybe > you could show me where I missused your tool. Just be aware that the edges sometimes overlaps each other, so that it is not obvious that you actually have two edges instead of one. This is an issue with the graph drawing algorithm. > > a) Made Vertex an Interface and added VertexImpl > b) added a createVertex to graph > b') changed the *State classes (and maybe another) to use the createVertex > b'') added getter and setter methods for the state attribute in graphpanel > c) added a getName method to Vertex (instead of using toString()) > > - I also added a possibility to generate special settings panel for the > popups, I added a method in VisualEdge and VisualVertex > - I changed Toolbar Class, i.e. I changed GraphEditor to subclass and change > a few things, like the Toolbar (e.g. text). > - I added to the createEdge Method a throws EdgeVetoException > - Added createVisualEdge and createVisualVertex methods to VisualGraph > > What do you think about these changes? Create a patch file and send them to the Patch Manager at http://sourceforge.net/projects/openjgraph ( .. or sent the patch via e-mail to me ) ... and I'll take a look at the changes. Does your changes allow everything to compile? Samples still work? Probably more important to the changes are WHY the changes were made, so we can always look back when we ask ourselves the question: "Why the did we do this?" I cant guarantee that I will incorporate any changes though ... you understand how it works in the open source world. But if its justified enough, it will probably make it. > > I also need to have is the possibility to add different vertex classes to > the graph, so one createVertex Method in Graph maybe isn't good. Maybe I > should use different VertexState Classes to create a new Vertex and delete > the added createVertex method in Graph, but then I should also delete the > createEdge Method and use different EdgeState Classes. > > Did I mentioned that I like OpenJGraphs architecture? Thanks. I can still see a need for a several changes. In particular: Creating separate packages for: * Graph model * Graph Theory / algorithms * Graph Drawing Graph Drawing is the area I am most concerned about. I do not have much experience about it, but had the need ( and itch for scrathcing ) for it. It does not layout the graph "nicely" when there are too many vertices. The books on graph drawing are also very mathematical ( books by Battista, et al ), little on sample implementation. > > Regards Christoph John -- Homepage: http://homepages.tig.com.au/~jmsalvo/ |