// GRS = graph rotation system

protected void init () {
        GRSVertex a = new GRSVertex(0, 0, 0).(setName("a"));
        GRSVertex b = new GRSVertex(-1, 1, 0).(setName("b"));
        GRSVertex c = new GRSVertex(-0.75, 3.25, 0.5).(setName("c"));
        GRSVertex d = new GRSVertex(1, 6, 0.25).(setName("d"));
        GRSVertex e = new GRSVertex(2, 4, 0.5).(setName("e"));
        GRSVertex f = new GRSVertex(2.5, 2, 0.25).(setName("f"));
		GRSVertex g = new GRSVertex(1.5, 0.5, 0).(setName("g"));
	    // Cyclic neighborhood of each vertex. This contains all neighboring
		// vertices (those that are connected with this vertex by an edge
		// of the polygon mesh). The neighbors are sorted in a cyclic way,
		// namely in counter-clockwise order when seen from above of the mesh
        a.getNeighbors() << b << c << d << e << f << g;
		b.getNeighbors() << c << a;
        c.getNeighbors() << d << a << b;
        d.getNeighbors() << e << a << c;
        e.getNeighbors() << f << a << d;
        f.getNeighbors() << g << a << e;
        g.getNeighbors() << a << f;
[
	Axiom ==> MeshNode.(setPolygons(new GRSMesh())) [a] [b] [c] [d] [e] [f] [g];
]
}


