game engine gaming delta3d
p-51 open source GNU Lesser General Public License
Fedora Surface Tactics Visualization Plane Guard ChrAVE
Chromakeyed Augmented Virtual Environment CAVE Automatic Virtual Environment National Geospatial-Intelligence Agency Terrian Forward Observer PC Simulator FOPCSIM Shipboard Firefighting Trainer
backed by the U.S. military sourceforge eric johnson I/ITSEC Interservice Industry Training Simulation and Education Conference
Delta3D - Open source gaming & simulation engine
      Welcome to Delta3D | Login 
Friday, September 10 2010 @ 04:51 AM EDT 
MOVES Institute Naval Postgraduate School Naval Education and Training Command
  
IITSEC


AND     OR
 

 
 Home »  SimCore Support »  dtDirector
     Prev TopicNext Topic          Printable Version
dtDirector Views: 3757
 Tuesday, August 17 2010 @ 12:23 PM EDT

I see a potential problem with being able to collapse chains anywhere. What happens to the nodes that are connected to other nodes that have been collapsed?

For example:


What happens with the connections that were connected to nodes that were collapsed? Do they just disappear?


Or do I create a new collapsed "node" that contains all the inputs/outputs?


Should I allow people to connect/disconnect them while they are collapsed? When disconnected, should the inputs/outputs hide? Should the script file remember which nodes were collapsed? What if you only want the middle of a chain to be collapsed so you only see the beginning and the end without the meat? When you collapse a chain, do other chains move in to fill the newly empty areas? What happens if chains loop in on themselves and you end up collapsing a part connects to the node with the output you are collapsing? Should the generated collapse "node" inputs be indented to show inputs that are found further down the chain?


I just see a whole list of problems that would arise when trying to program this. If I could get a clear idea of how everything would work, then I would feel more confident about it.


Jeff Houde -Programmer peon at Delta3D

 Quote   

 
 Tuesday, August 17 2010 @ 11:07 PM EDT

Hey Jeff,

Not a showstopper by any means. This is just future-want-thought here right?

Other packages I have used with similar 'wiring' metaphor have used the concept of a 'loom'. When a collection of nodes are reduced, all their I/O wires are bundled into a larger loom (one in, one out). It's not editable in that way but you'd open the loom to add/remove wires then bundle it back up again.

Garry


/ ... .... .. - / .... .- .--. .--. . -. . -..

 Quote   

 
 Wednesday, August 18 2010 @ 02:44 AM EDT

Hi Jeff,
I agree with Garry, these are just ideas and nothing that prevents us from using dtDirector now. So just "nice-to-have" features but by no means not showstoppers.
About the general idea, I think we should try to use the folder tree-view metaphor. So when you collapse an output plug, remove any connection out of it and paint the plug with a different color maybe with a "+" icon, to tell the user he can expand it.
About what happens to downstream nodes, we could have a simple rule like:
- the whole thing is triggered by a double-click (or similar) on an output plug of some node;
- on the output plug to be collapsed, for each out connection hide it and move to the node on the other side;
- if the node on the other side has no other inputs then hide it as well, and hide all its output plugs. For each of these plugs do recursively as above
- if the node on the other side has other inputs, just leave it there, replacing the input plug where the hidden connection is with something to tell the user that more info is hidden there. And if you want to show the details maybe use a tooltip with the names of the hidden connected nodes.

Of course this would work nicely with simple graphs with not too many interconnections between different branches (like in a pure folder tree). But it should behave fine also in other cases.
For sure, I would not add a "collapsed" node: again, no special data, just a UI thing to show/hide info from the layout.

Luca

 Quote   

 
 Wednesday, August 18 2010 @ 11:31 AM EDT

I suppose the "loom" method would work. It would take planning to design all of the finer points, though.

Garry, would it be possible for you to point me in the direction of another application that does this? Preferably something that is free or possibly video's of the functionality in action. Thanks.


Jeff Houde -Programmer peon at Delta3D

 Quote   

 
 Thursday, August 19 2010 @ 01:33 AM EDT

Ouch,

That's got me. 10 years or more has passed since then Frown

I've had a good look around and cannot find anything anymore. More time looking and requesting demo copies of proprietary software may help but would mislead eager salespeople.

I first came across the concept in a companion product to Sun's Java Studio/Workbench. It's all been integrated into something else now (Netbeans?) and having a look through, there doesn't seem to be any visual graph editing tools just uml plugins. Actually, I suspect it might have been pretty crappy considering it was the 90's.

I did try out (and do not endorse here) a version of EON Reality's EON Studio. I'm pretty sure this had a more sophisticated gui for graph editing that had this loom/cable bundle concept I refer to. I do not have a copy of it and cannot find much documentation online either. Actually, Virtools are in the same camp but I have only observed others work there.

I haven't been much help in this I'm afraid, sorry.

3D Studio Max has a fairly dire graph editor (schematic) compared to dtDirector (personal limited use and purely aesthetic judgement!). However, Blender, which I have not used looks to use a similar graphical touch that dtDirector does towards graph editing and may have also addressed the complexity issue. Blender expert lurkers on the forum?

Rhino's 'grasshopper' (3d modelling) and UT3's 'Kismet' scripting systems also have a bit of use may have some ideas too.

For all I can remember now I may have been thinking of some arcane SGI utility that was years ahead of its time.

Guess it would be handy if a group like Eclipse had already been there I suppose.

g'luck Smile


/ ... .... .. - / .... .- .--. .--. . -. . -..

 Quote   

 

 


Delta3D is released under the GNU Lesser General Public License (LGPL) | Powered by GeekLog