Jump to: navigation, search

Difference between revisions of "GEF3D Installation"

m
m (added pergen space problem and solution)
Line 50: Line 50:
  
 
Note: The old extensions of the graph example (*.graphSample etc.) are not working anymore!  
 
Note: The old extensions of the graph example (*.graphSample etc.) are not working anymore!  
 +
 +
==Additional Hints==
 +
 +
If you run an GMF-GEF3D application, e.g., the UML2-3D editor, you'll maybe have a problem with the "pergen space". That is, you will probably see this exception message:
 +
<code><pre> This is the java.lang.OutOfMemoryError: PermGen space
 +
at java.lang.ClassLoader.defineClass1(Native Method)
 +
at java.lang.ClassLoader.defineClass(Unknown Source)</pre></code>
 +
 +
In order to solve that problem, you'll have to increase the size of the "pergen space". This can be done with the VM argument "-XX:PerSize", e.g.,
 +
 +
<code><pre>-XX:PermSize=128m -XX:MaxPermSize=512m</pre></code>.
 +
  
 
[[Category:GEF3D]]
 
[[Category:GEF3D]]

Revision as of 09:26, 21 September 2009

Incubation Phase

Requirements

GEF3D requires Eclipse Platform 3.5 (Galileo), with GEF 3.5 and an OpenGL graphics card.

GEF3D now depends on GEF 3.5 and is not backwards compatible. Since June 25 (revision 168), you need Eclipse 3.5 to run GEF3D.

Installing GEF3D

There is no official version available yet, see GEF3D project plan. Currently you have to checkout the sources from the GEF3D code repository (a Subversion repository) and install a render engine separately.

Check Out Sources

You can check out GEF3D's sources from

svn://dev.eclipse.org/svnroot/technology/org.eclipse.gef3d

In order to test GEF3D, you'll need the following projects (please add org.eclipse to the name):

  • draw3d
  • draw3d.geometry
  • draw3d.graphics3d
  • draw3d.ui
  • gef3d
  • gef3d.ext
  • gef3d.gmf

The following packages contain the examples:

  • gef3d.examples.graph -- simple graph editor
  • gef3d.examples.ecore -- 3d-fied version of the Ecore diagram editor (from the Ecore Tools)
  • gef3d.examples.uml2 -- 3d-fied version of the UML2 diagram editor (from the UML2 Tools)

Optionally you can check out the test and documentation projects, however there are currently not much tests and documentation available (but you can use the ant script in doc in order to generate the JavaDoc).

Install a Renderer

Draw3D, the 3D version of Draw2D, needs a renderer module in order to produce any output. The renderer uses the extension point defined in org.eclipse.draw3d.graphics3d. Currently, only LWJGL is supported, that is you have to checkout

  • org.eclipse.draw3d.lwjgl

from the repository. This module only contains the Draw3D specific code, additionally you will need the LWJGL libraries. These libraries are available as an Eclipse plugin via the LWJGL update site at http://lwjgl.org/update. A description can be found at the FernUni Hagen GEF3D project site.

Test GEF3D

You can test GEF3D by opening some diagrams with GEF3D. In case of ecore or UML2 (class, use case, activity diagram) the 3D-fied versions can open the very same files as the original 2D versions, that is simply open any existing diagram (Open With) with a 3D editor. If you open an UML diagram with the multi-editor, other diagrams can be simply drag-and-dropped on the editor to be opened in the very same 3D scene.

As of revision 157 (June 7th 2009), the graph example comes with a wizard for creating graphs with a given number of nodes. Simply create a new example and choose GEF3D Examples / GEF3D Graph Example Model.

While adding more features to GEF3D, we try to keep the examples updated. Creating nodes or connections should work in most cases, although the location of newly created elements might be not at the position expected; the same is true for direct edit.

Note: The old extensions of the graph example (*.graphSample etc.) are not working anymore!

Additional Hints

If you run an GMF-GEF3D application, e.g., the UML2-3D editor, you'll maybe have a problem with the "pergen space". That is, you will probably see this exception message:

 This is the java.lang.OutOfMemoryError: PermGen space
	at java.lang.ClassLoader.defineClass1(Native Method)
	at java.lang.ClassLoader.defineClass(Unknown Source)

In order to solve that problem, you'll have to increase the size of the "pergen space". This can be done with the VM argument "-XX:PerSize", e.g.,

-XX:PermSize=128m -XX:MaxPermSize=512m
.