1 package org.simantics.g3d.jme.shape;
\r
3 import com.jme3.app.Application;
\r
4 import com.jme3.material.Material;
\r
5 import com.jme3.math.ColorRGBA;
\r
6 import com.jme3.math.Vector3f;
\r
7 import com.jme3.scene.Geometry;
\r
8 import com.jme3.scene.Mesh;
\r
9 import com.jme3.scene.Node;
\r
10 import com.jme3.scene.debug.Arrow;
\r
12 public class AxesActor extends Node {
\r
16 public AxesActor(Application app, double size) {
\r
18 putArrow(Vector3f.ZERO, Vector3f.UNIT_X.mult((float)size), ColorRGBA.Red);
\r
19 putArrow(Vector3f.ZERO, Vector3f.UNIT_Y.mult((float)size), ColorRGBA.Green);
\r
20 putArrow(Vector3f.ZERO, Vector3f.UNIT_Z.mult((float)size), ColorRGBA.Blue);
\r
23 public Geometry putShape(Mesh shape, ColorRGBA color){
\r
24 Geometry g = new Geometry("shape", shape);
\r
25 Material mat = new Material(app.getAssetManager(), "Common/MatDefs/Misc/Unshaded.j3md");
\r
26 mat.getAdditionalRenderState().setWireframe(true);
\r
27 mat.setColor("Color", color);
\r
29 this.attachChild(g);
\r
33 public void putArrow(Vector3f pos, Vector3f dir, ColorRGBA color){
\r
34 Arrow arrow = new Arrow(dir);
\r
35 arrow.setLineWidth(4); // make arrow thicker
\r
36 putShape(arrow, color).setLocalTranslation(pos);
\r