]> gerrit.simantics Code Review - simantics/3d.git/blob - org.simantics.g3d.jme/src/org/simantics/g3d/jme/shape/AxisActor.java
Alpha-version of jME-bindings for g3d.
[simantics/3d.git] / org.simantics.g3d.jme / src / org / simantics / g3d / jme / shape / AxisActor.java
1 package org.simantics.g3d.jme.shape;\r
2 \r
3 import javax.vecmath.Vector3d;\r
4 \r
5 import com.jme3.app.Application;\r
6 import com.jme3.material.Material;\r
7 import com.jme3.math.ColorRGBA;\r
8 import com.jme3.math.Vector3f;\r
9 import com.jme3.scene.Geometry;\r
10 import com.jme3.scene.Mesh;\r
11 import com.jme3.scene.Node;\r
12 import com.jme3.scene.debug.Arrow;\r
13 \r
14 public class AxisActor extends Node {\r
15         \r
16         Application app;\r
17         \r
18         public AxisActor(Application app, String name, Vector3d v) {\r
19                 this.app = app;\r
20                 Vector3f vec = new Vector3f((float)v.x, (float)v.y, (float)v.z);\r
21                 putArrow(Vector3f.ZERO, vec, ColorRGBA.Red);\r
22             \r
23         }\r
24         \r
25         public Geometry putShape(Mesh shape, ColorRGBA color){\r
26         Geometry g = new Geometry("shape", shape);\r
27         Material mat = new Material(app.getAssetManager(), "Common/MatDefs/Misc/Unshaded.j3md");\r
28         mat.getAdditionalRenderState().setWireframe(true);\r
29         mat.setColor("Color", color);\r
30         g.setMaterial(mat);\r
31         this.attachChild(g);\r
32         return g;\r
33     }\r
34 \r
35     public void putArrow(Vector3f pos, Vector3f dir, ColorRGBA color){\r
36         Arrow arrow = new Arrow(dir);\r
37         arrow.setLineWidth(4); // make arrow thicker\r
38         putShape(arrow, color).setLocalTranslation(pos);\r
39     }\r
40 \r
41 }\r