]> gerrit.simantics Code Review - simantics/3d.git/blob - org.simantics.g3d.jme/src/org/simantics/g3d/jme/shape/AxesActor.java
Alpha-version of jME-bindings for g3d.
[simantics/3d.git] / org.simantics.g3d.jme / src / org / simantics / g3d / jme / shape / AxesActor.java
1 package org.simantics.g3d.jme.shape;\r
2 \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
11 \r
12 public class AxesActor extends Node {\r
13         \r
14         Application app;\r
15         \r
16         public AxesActor(Application app, double size) {\r
17                 this.app = app;\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
21         }\r
22         \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
28         g.setMaterial(mat);\r
29         this.attachChild(g);\r
30         return g;\r
31     }\r
32 \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
37     }\r
38 \r
39 }\r