ScenegraphNode coordNode = new ScenegraphNode("Coodination Grid");
ScenegraphNode labelNode = new ScenegraphNode("Grid labels");
coordNode.attachChild(labelNode);
// create x-axis
Arrow arrowX = new Arrow(new Vector3f(size, 0.0f, 0.0f));
xAxis = new Geometry("X-Axis", arrowX);
mat = new Material(am, Materials.UNSHADED);
mat.setColor("Color", ColorRGBA.Red);
xAxis.setMaterial(mat);
// create xy-grid
Grid xyPlane = new Grid(size, size, segSize);
xyGrid = new Geometry("XY-Plane", xyPlane);
xyGrid.setMaterial(mat);
xyGrid.rotateUpTo(new Vector3f(0.0f, 0.0f, 1.0f));
xyGrid.setLocalTranslation(new Vector3f(-offset, offset, 0.0f));
// create y-axis
Arrow arrowY = new Arrow(new Vector3f(0.0f, size, 0.0f));
yAxis = new Geometry("Y-Axis", arrowY);
mat = new Material(am, Materials.UNSHADED);
mat.setColor("Color", ColorRGBA.Green);
yAxis.setMaterial(mat);
// create yz-grid
Grid yzPlane = new Grid(size, size, segSize);
yzGrid = new Geometry("YZ-Plane", yzPlane);
yzGrid.setMaterial(mat);
yzGrid.rotateUpTo(new Vector3f(1.0f, 0.0f, 0.0f));
yzGrid.setLocalTranslation(new Vector3f(0.0f, offset, -offset));
// create z-axis
Arrow arrowZ = new Arrow(new Vector3f(0.0f, 0.0f, size));
zAxis = new Geometry("Z-Axis", arrowZ);
mat = new Material(am, Materials.UNSHADED);
mat.setColor("Color", ColorRGBA.Blue);
zAxis.setMaterial(mat);