Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » GEF3D » 3D Editor Force Directed Layout
3D Editor Force Directed Layout [message #563836] Sat, 30 January 2010 10:33 Go to next message
fabisiew is currently offline fabisiewFriend
Messages: 19
Registered: July 2009
Junior Member

I have an 3D editor (which is nestable) displaying a simple graph. My requirement is to apply an force directed layout to this graph. Unfortunately, I'm not very experienced with gef-layouts. What is the best way to do that with gef3D? Can I use one of the gef2D layouts (how can this be done?) or should I change the x and y coordinates manually using the XY3DLayoutPolicy and an third party layout algorithm applying to my model?

Best regards,
Re: 3D Editor Force Directed Layout [message #563857 is a reply to message #563836] Sat, 30 January 2010 16:41 Go to previous message
Jens von Pilgrim is currently offline Jens von PilgrimFriend
Messages: 311
Registered: July 2009
Senior Member
Hi Kamil,

GEF3D/Draw3D is not different to GEF/Draw2D concerning layouts. As in
GEF, a (Draw2D's) LayoutManager (of a parent figure) layout the figures
(i.e. the child figures of a figure). Since Figure3D is derived from
Figure, it is possible to layout a 3D figure exactly as if it were a 2D
figure (actually, we spent a lot of effort to achieve that ;-) ). Of
course, 2D layout algorithms do not set the z coordinates. In the
context of GEF/GEF3D, layout managers are used with LayoutEditPolicy
(and derived classes).

Unfortunately, I'm not an GEF/Draw2D layout expert. There is some kind
of graph layout algorithm in Draw2D, but I don't know how it is
working. Zest provides a whole bunch of layouts, but Zest is only using
Draw2D (and not GEF) and uses a special graph model.

However, layouts are in fact a big issue in GEF3D
( ), and we have added this issue to our
GEF3D todo list (see ). IMHO, there
are two major issues with layouts:
- animation
- model awareness
(The algorithms themselves certainly are tricky as well, but in most
cases, research papers exist describing them...)

There are classes called Animator and LayoutAnimator in Draw2D, but I
haven't used them myself so far. I'm not sure whether these animation
classes can be used with GEF3D. In 3D, we may have to optimize the
animations, pay attention to the refresh rate, and make the animation
independent from the systems speed. We have added a bug
( ) to investigate in that direction.

Another problem is model awareness. Most layout algorithms simply
layout a graph. I think that in some cases, different kinds of
connections or nodes may be weighted differently. E.g., a
generalization connections may be weighted more than a simple
dependency in a class model. Moreover, in some cases there may be no
visualized connections between nodes, i.e. the order of the nodes in
the graph is not visualized and may vary. I think this makes a layout
API necessary, which works in the context of EditParts and the model
and not with the figures. I have tutored a diploma thesis [Ste08]
investigating in that direction. This certainly is no 3D specific
problem. I could ask the author if the thesis if he gives me the
permission to send it to you (it's in German).

IMHO, especially for interactive layouts, animation of the layout is
very important, so we have to combine the layout with an animation
system. Actually, if we have model aware layouts and a good animation
system, we could implement algorithms such as force feedback layout and
other things such as coverflow (from Os X) in a very similar manner.

Do you have an algorithm for 3D force feedback layout? Are you using
Tim Dwyer's algorithm [Dwy01]? Are you interested in other algorithms
from the graph drawing community, such as [HH06] (an overview of 3D
approaches can be found in [Lan01])? (You probably now these papers..).
Maybe you can also have a look at Ian Bull's thesis [Bul08], at least
he is the author of Zest.

If you work in that direction, it would be great if you could
contribute your solutions to GEF3D!



[Bul08] Bull, R. I.: Model Driven Visualization: Towards A Model Driven
Engineering Approach For Information Visualization. Canada, University
of Victoria, Ph.D. thesis, 2008. – Online–Ressource

[Dwy01] Dwyer, Tim: Three dimensional UML using force directed layout.
In: APVis ’01: Proceedings of the 2001 Asia-Pacific symposium on
Information visualisation. Australian Computer Society, Inc.. – ISBN
0–909925–87–9, 77–85

[Lan01] Landgraf, Britta: 3D Graph Drawing.  Version: 2001. In: Kaufmann,
Michael (Hrsg.) ; Wagner, Dorothea (Hrsg.): Drawing Graphs: Methods and
Models. Springer-Verlag (Lecture Notes in Computer Science 2025),
172–192. – ISBN 3–540–42062–2

[HH06] Ho, Joshua ; Hong, Seok-Hee: Drawing Clustered Graphs in Three
Dimensions. In: Graph Drawing. 13th International Symposium, GD 2005,
Limerick, Ireland, September 12-14, 2005. Revised Papers,
Springer-Verlag (Lecture Notes in Computer Science 3843). – ISBN
3–540–31425–3, 492–502

[Ste08] Stein, Marc: Eine API zum automatischen Layouten von
graphbasierten Diagrammen in Raum und Ebene. Hagen, Germany,
FernUniversität in Hagen, Diplomarbeit, Januar 2008
Previous Topic:3dfied gmf editor with 3d shapes
Next Topic:3D Editor Force Directed Layout
Goto Forum:

Current Time: Wed Aug 16 20:02:57 GMT 2017

Powered by FUDForum. Page generated in 0.08979 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software