package jme3test.blender.scene; import com.jme3.asset.AssetManager; import com.jme3.material.Material; import com.jme3.math.ColorRGBA; import com.jme3.math.Vector3f; import com.jme3.scene.Geometry; import com.jme3.scene.Node; import com.jme3.scene.shape.Line; import com.jme3.scene.shape.Sphere; /** * The pivot displayed in the scene. * @author Marcin Roguski */ public class Pivot extends Node { public Pivot(AssetManager assetManager) { this.attachChild(this.getAxis("x", new Vector3f(10, 0, 0), ColorRGBA.Red, assetManager)); this.attachChild(this.getAxis("y", new Vector3f(0, 10, 0), ColorRGBA.Green, assetManager)); this.attachChild(this.getAxis("z", new Vector3f(0, 0, 10), ColorRGBA.Blue, assetManager)); this.assignPoints(assetManager); } private void assignPoints(AssetManager assetManager) { Material defaultMaterial = new Material(assetManager, "Common/MatDefs/Misc/Unshaded.j3md"); defaultMaterial.setColor("Color", ColorRGBA.DarkGray); for(int i = -10; i <= 10; ++i) { Geometry g = new Geometry("", new Sphere(3, 3, 0.05f)); g.setLocalTranslation(i, 0, 0); g.setMaterial(defaultMaterial); this.attachChild(g); g = new Geometry("", new Sphere(3, 3, 0.05f)); g.setLocalTranslation(0, i, 0); g.setMaterial(defaultMaterial); this.attachChild(g); g = new Geometry("", new Sphere(3, 3, 0.05f)); g.setLocalTranslation(0, 0, i); g.setMaterial(defaultMaterial); this.attachChild(g); } } private Geometry getAxis(String name, Vector3f endPoint, ColorRGBA color, AssetManager assetManager) { Line axis = new Line(new Vector3f(0, 0, 0), endPoint); Material mat = new Material(assetManager, "Common/MatDefs/Misc/Unshaded.j3md"); mat.setColor("Color", color); Geometry geom = new Geometry(name, axis); geom.setMaterial(mat); return geom; } }