The IMP plugin adds facilities to display and edit graphs as defined by the Graph project from above. Furthermore, it defines support for images, fonts and some other data types. Finally, it contains a simple implementation of an HTTP server. This is an interesting feature and enables GroIMP models to serve as dynamic content providers for web applications.
Additionally, the IMP plugin contains the default application of GroIMP, the GUI.
IMP-3D plays a central role in the management of GroIMP's object in the scene. It defines node classes for all kinds of 3D geometry from primitives like points, spheres and boxes to complex objects like NURBS surfaces and polygon meshes. Cameras, light sources and sky objects are defined, and physically valid shaders can be constructed from procedural textures and images. This plug-in also provides a 3D view based on wireframe, and manipulation tools for translation, rotation and scaling.
IMP-2D provides node classes for 2D geometry. Such a 2D scene graph can be displayed in a 2D view, but there is also the option to display a 2D view on the topology of an arbitrary graph.
XL contains the classes and interfaces of the XL language which are not already contained in XL-Core, i. e., the packages de.grogra.xl.query, de.grogra.xl.property and de.grogra.xl.modules.
The Grammar plugin is used by XL-Compiler, it provides a general-purpose lexical analyser.
Math defines interfaces and implementations for simple functions, vertex
lists, B-spline curves and surfaces. This includes non-uniform rational B-
splines, i. e., NURBS. A lot of algorithms of _The NURBS book [L. Piegl and W. Tiller.]_ like the computation
of swept surfaces are also provided.
The Numeric plugin provides an interface for ODE management in GroIMP. It also include an implementation of the CVODE solver based on JNA.
Platform-Swing implements the user interface for the standard Swing
toolkit.
Platform is the basic plug-in of GroIMP and is referenced (directly or
indirectly) by most other plug-ins. It contains an abstraction of a graphical
user interface around the interface Workbench.
The plugin manager provides tools for updating/ downloading/ deleting plugins from the GroIMP installation though either a GUI or command lines.
The project manager is a key element of GroIMP. The plugin enables an automatized the management of projects and workbenches whithin GroIMP.
Raytracer is used by IMP-3D to integrate the raytracer Twilight, which is a subproject of the whole GroIMP project but independent of the GroIMP application. This raytracer implements both a conventional ray-tracer and a path-tracer based on _Robust Monte Carlo Methods for Light Transport Simulation [E. Veach.]_. For the representation of geometry, it relies on the plugin Vecmath. Its algorithms are also used for the radiation model.
Vecmath contains an implementation of the javax.vecmath library and an implementation of 3D geometry (primitives, polygon meshes, constructive solid geometry, octree) with the focus on ray-object intersections for the purpose of ray-tracing.
XL-Compiler contains the compiler.
XL-Impl contains the base implementation of the XL interfaces.
XL-VMX implements the extension of the virtual machine to support xl queries.