+package org.simantics.g3d.shape;\r
+\r
+import java.util.ArrayList;\r
+import java.util.List;\r
+\r
+import javax.vecmath.Vector3d;\r
+\r
+public class Box {\r
+ \r
+ Vector3d min;\r
+ Vector3d max;\r
+ \r
+ public Vector3d getMin() {\r
+ return min;\r
+ }\r
+ public Vector3d getMax() {\r
+ return max;\r
+ }\r
+ \r
+ public Box(Vector3d min, Vector3d max) {\r
+ this.max = max;\r
+ this.min = min;\r
+ }\r
+ \r
+ public Box(double minx, double miny, double minz, double maxx, double maxy, double maxz) {\r
+ min = new Vector3d(minx, miny, minz);\r
+ max = new Vector3d(maxx, maxy, maxz);\r
+ }\r
+ \r
+ public Box(double min[], double max[]) {\r
+ this.min = new Vector3d(min);\r
+ this.max = new Vector3d(max);\r
+ }\r
+ \r
+ public Mesh createMesh() {\r
+ List<Vector3d> vertices = new ArrayList<Vector3d>();\r
+ vertices.add(new Vector3d(min.x, min.y, min.z));\r
+ vertices.add(new Vector3d(min.x, min.y, max.z));\r
+ vertices.add(new Vector3d(min.x, max.y, min.z));\r
+ vertices.add(new Vector3d(min.x, max.y, max.z));\r
+ vertices.add(new Vector3d(max.x, min.y, min.z));\r
+ vertices.add(new Vector3d(max.x, min.y, max.z));\r
+ vertices.add(new Vector3d(max.x, max.y, min.z));\r
+ vertices.add(new Vector3d(max.x, max.y, max.z));\r
+ List<Integer> indices = new ArrayList<Integer>();\r
+ indices.add(0);\r
+ indices.add(2);\r
+ indices.add(1);\r
+ \r
+ indices.add(1);\r
+ indices.add(2);\r
+ indices.add(3);\r
+ \r
+ indices.add(2);\r
+ indices.add(6);\r
+ indices.add(3);\r
+ \r
+ indices.add(3);\r
+ indices.add(6);\r
+ indices.add(7);\r
+ \r
+ indices.add(5);\r
+ indices.add(1);\r
+ indices.add(7);\r
+ \r
+ indices.add(1);\r
+ indices.add(3);\r
+ indices.add(7);\r
+ \r
+ indices.add(4);\r
+ indices.add(5);\r
+ indices.add(6);\r
+ \r
+ indices.add(5);\r
+ indices.add(7);\r
+ indices.add(6);\r
+ \r
+ indices.add(0);\r
+ indices.add(4);\r
+ indices.add(2);\r
+ \r
+ indices.add(2);\r
+ indices.add(4);\r
+ indices.add(6);\r
+ \r
+ indices.add(0);\r
+ indices.add(1);\r
+ indices.add(4);\r
+ \r
+ indices.add(5);\r
+ indices.add(4);\r
+ indices.add(1);\r
+ return new Mesh(vertices, indices);\r
+ }\r
+\r
+}\r