Isometry Demo

This demo displays graphs in an isometric fashion to create the impression of a 3-dimensional view. It shows how to:

Class Description
demo.view.isometry.IsometryDemoShows isometric graph layouts that create a 3D-impression.
demo.view.isometry.IsometryTransformationLayoutStage A LayoutStage which transforms the current isometric graph into layout space where it can be layouted. Afterwards, the graph gets transformed to isometric space again.
demo.view.isometry.IsometryRealizerFactory This class registers the custom isometric configurations for nodes and labels. It also provides methods to change a graphs realizers and configurations and to retrieve IsometryData for realizers.
demo.view.isometry.IsometryData This class contains 3-dimension information (width, depth, height) and can be attached to generic realizers and labels as user data. IsometryTransformationLayoutStage uses this data to transform the graph from view to layout and vice versa.
demo.view.isometry.IsometryNodePainter A Painter for GenericNodeRealizer that paints the node isometrically.
demo.view.isometry.IsometryGroupPainter A Painter for GenericGroupNodeRealizer that paints a group node isometrically and adds a group state icon as a button to open/close the group.
demo.view.isometry.EdgeLabelConfiguration A configuration for edge labels that paints them standing up in isometric space.
demo.view.isometry.GroupLabelConfiguration A configuration for group node labels that paints them lying on the group node in isometric space.
demo.view.isometry.IsometryGraphTraversal A Graph2DTraversal that orders the graph elements according to their distance to the observer.

Running the Demos

From Within an IDE

Set <yFilesDir>/src as your source directory. Then add <yFilesDir>/lib/y.jar and the source folder <yFilesDir>/src to your classpath. Now you should be ready to compile and run all executable demo classes.

With Ant

First make sure you have the build tool Ant installed on your system. Now you can use the demo build script build.xml located in <yFilesDir>/src/demo to launch each demo by specifying its simple class name as a target. Alternatively, launch the interactive demo driver by specifying run as target to conveniently access all demos.