]> gerrit.simantics Code Review - simantics/3d.git/blobdiff - org.simantics.g3d.jme/src/org/simantics/g3d/jme/shape/AxesActor2.java
Alpha-version of jME-bindings for g3d.
[simantics/3d.git] / org.simantics.g3d.jme / src / org / simantics / g3d / jme / shape / AxesActor2.java
diff --git a/org.simantics.g3d.jme/src/org/simantics/g3d/jme/shape/AxesActor2.java b/org.simantics.g3d.jme/src/org/simantics/g3d/jme/shape/AxesActor2.java
new file mode 100644 (file)
index 0000000..2c106c9
--- /dev/null
@@ -0,0 +1,60 @@
+package org.simantics.g3d.jme.shape;\r
+\r
+import javax.vecmath.AxisAngle4d;\r
+import javax.vecmath.Vector3d;\r
+\r
+import org.simantics.g3d.math.MathTools;\r
+import org.simantics.g3d.shape.Color4d;\r
+import org.simantics.g3d.shape.Cone;\r
+import org.simantics.g3d.shape.Cylinder;\r
+import org.simantics.g3d.shape.Sphere;\r
+\r
+import com.jme3.app.Application;\r
+\r
+public class AxesActor2 extends MeshNode {\r
+       \r
+       public AxesActor2(Application app, double size) {\r
+               super(app);\r
+               \r
+               int res = 16;\r
+               \r
+               org.simantics.g3d.shape.Mesh cone_x = Cone.create(size*0.3, res);\r
+               org.simantics.g3d.shape.Mesh cone_y = Cone.create(size*0.3, res);\r
+               org.simantics.g3d.shape.Mesh cone_z = Cone.create(size*0.3, res);\r
+               cone_x.rotate(MathTools.getQuat(new AxisAngle4d(0,0,-1,Math.PI*0.5)));\r
+               cone_z.rotate(MathTools.getQuat(new AxisAngle4d(1,0,0,Math.PI*0.5)));\r
+               cone_x.translate(new Vector3d(size,0,0));\r
+               cone_y.translate(new Vector3d(0,size,0));\r
+               cone_z.translate(new Vector3d(0,0,size));\r
+               \r
+               org.simantics.g3d.shape.Mesh tube_x = Cylinder.create(MathTools.ORIGIN, new Vector3d(size,0,0), size*0.1, res);\r
+               org.simantics.g3d.shape.Mesh tube_y = Cylinder.create(MathTools.ORIGIN, new Vector3d(0,size,0), size*0.1, res);\r
+               org.simantics.g3d.shape.Mesh tube_z = Cylinder.create(MathTools.ORIGIN, new Vector3d(0,0,size), size*0.1, res);\r
+               \r
+               org.simantics.g3d.shape.Mesh sphere = Sphere.create(size*0.3, res, res*2/3);\r
+               \r
+               Color4d x_col = new Color4d(1,0,0,1);\r
+               Color4d y_col = new Color4d(1,1,0,1);\r
+               Color4d z_col = new Color4d(0,1,0,1);\r
+               Color4d o_col = new Color4d(0,0,1,1);\r
+               \r
+               cone_x.setColor(x_col);\r
+               tube_x.setColor(x_col);\r
+               cone_y.setColor(y_col);\r
+               tube_y.setColor(y_col);\r
+               cone_z.setColor(z_col);\r
+               tube_z.setColor(z_col);\r
+               sphere.setColor(o_col);\r
+               \r
+               sphere.add(cone_x);\r
+               sphere.add(tube_x);\r
+               sphere.add(cone_y);\r
+               sphere.add(tube_y);\r
+               sphere.add(cone_z);\r
+               sphere.add(tube_z);\r
+               \r
+               setMesh(sphere);\r
+       }\r
+       \r
+       \r
+}\r