markerVertices.add(new Vector3f(i * spacing, 0, size));
markerVertices.add(new Vector3f(-i * spacing, 0, -size));
markerVertices.add(new Vector3f(-i * spacing, 0, size));
}
}
Geometry regularGrid = new Line("regularLine", regularVertices.toArray(new Vector3f[] {}), null, null, null);
regularGrid.getDefaultColor().set(new ColorRGBA(1, 1, 1, 0.05f));
regularGrid.setModelBound(new BoundingBox());
regularGrid.updateModelBound();
lines.attachChild(regularGrid);
Geometry markerGrid = new Line("markerLine", markerVertices.toArray(new Vector3f[] {}), null, null, null);
markerGrid.getDefaultColor().set(new ColorRGBA(1, 1, 1, 0.1f));
markerGrid.setModelBound(new BoundingBox());
markerGrid.updateModelBound();
lines.attachChild(markerGrid);
if (rotation != null) lines.getLocalRotation().fromAngles(rotation.x, rotation.y, rotation.z);
Node axis = new Node("axis");
this.attachChild(axis);
Vector3f xAxis = new Vector3f(size + (marker * spacing), 0, 0); // red
Vector3f yAxis = new Vector3f(0, size + (marker * spacing), 0); // green
Vector3f zAxis = new Vector3f(0, 0, size + (marker * spacing)); // blue
Vector3f zero = new Vector3f();
ColorRGBA red = new ColorRGBA(1, 0, 0, 0.8f);
ColorRGBA green = new ColorRGBA(0, 1, 0, 0.8f);
ColorRGBA blue = new ColorRGBA(0, 0, 1, 0.8f);
Line lx = new Line("xAxis", new Vector3f[] { zero, xAxis }, null, new ColorRGBA[] { red, red }, null);
Line ly = new Line("yAxis", new Vector3f[] { zero, yAxis }, null, new ColorRGBA[] { green, green }, null);
Line lz = new Line("zAxis", new Vector3f[] { zero, zAxis }, null, new ColorRGBA[] { blue, blue }, null);
lx.setModelBound(new BoundingBox());
lx.updateModelBound();
ly.setModelBound(new BoundingBox());
ly.updateModelBound();
lz.setModelBound(new BoundingBox());
lz.updateModelBound();
axis.attachChild(lx);
axis.attachChild(ly);
axis.attachChild(lz);
TextureState ts = DisplaySystem.getDisplaySystem().getRenderer().createTextureState();