|
From: Marco W. <in...@ca...> - 2005-03-17 19:07:42
|
Response below.... Phil Scadden wrote: >>It will be interesting for us to know, which extensions you have made, not >>only for inspiration. Maybe they can be useful also for other users. >> >> > >Okay. My application is drawing thermodynamic schematic of a power plant, >which can be reduced to components linked in a planar graph (more or >less). To this end, I have extended graphlink and nodes with the huge no. >of properties required to characterize them. Obviously of no interest to >anyway else. Likewise I have add many different node types to cover the >standard symbols for pump, turbine etc. These have to be custom rather >than graphic because there are conventions concerning where a link may >join them. I did briefly consider generalising this. This would require a >node to have a property listing allowed link points. Even more complicated >though for my application because entering link points are different from >exiting link points. > > I've got similar requirements. However I use a information repository in a database. Once a node is placed onto the diagram it links up other nodes itself depending on the information in the database. >Of more general use is jointed link, but I confess that I hacked this by >simply adding a midpoint property to link. When link is made, it calculates >to the midpoint, but allows the moving of this node to anywhere so link can >do strong right-angle bends. Bezier links that I see are added address the >same problem more generally, but again, I have convention to follow. The >implementation changes a lot of core code > >Finally I added export to couple of plane-graph representations. This is so >I can feed a schematic into plane-graph optimiser program, get new node >positions and then read back. This is utter hack, never intended to be more >than a one-off exercise but is potentially a useful kind of extension. > > Using undirected graph engines is what I've been using. Similar things as you describe here. Perhaps we should allow an export to such a format. Are you using publicly available engines or some custom build ones? Marco. |