]> gerrit.simantics Code Review - simantics/3d.git/blob - org.simantics.g3d/src/org/simantics/g3d/shape/Box.java
Gitignores
[simantics/3d.git] / org.simantics.g3d / src / org / simantics / g3d / shape / Box.java
1 package org.simantics.g3d.shape;\r
2 \r
3 import java.util.ArrayList;\r
4 import java.util.List;\r
5 \r
6 import javax.vecmath.Vector3d;\r
7 \r
8 public class Box {\r
9         \r
10         Vector3d min;\r
11         Vector3d max;\r
12         \r
13         public Vector3d getMin() {\r
14                 return min;\r
15         }\r
16         public Vector3d getMax() {\r
17                 return max;\r
18         }\r
19         \r
20         public Box(Vector3d min, Vector3d max) {\r
21                 this.max = max;\r
22                 this.min = min;\r
23         }\r
24         \r
25         public Box(double minx, double miny, double minz, double maxx, double maxy, double maxz) {\r
26                 min = new Vector3d(minx, miny, minz);\r
27                 max = new Vector3d(maxx, maxy, maxz);\r
28         }\r
29         \r
30         public Box(double min[], double max[]) {\r
31                 this.min = new Vector3d(min);\r
32                 this.max = new Vector3d(max);\r
33         }\r
34         \r
35         public Mesh createMesh() {\r
36                 List<Vector3d> vertices = new ArrayList<Vector3d>();\r
37                 vertices.add(new Vector3d(min.x, min.y, min.z));\r
38                 vertices.add(new Vector3d(min.x, min.y, max.z));\r
39                 vertices.add(new Vector3d(min.x, max.y, min.z));\r
40                 vertices.add(new Vector3d(min.x, max.y, max.z));\r
41                 vertices.add(new Vector3d(max.x, min.y, min.z));\r
42                 vertices.add(new Vector3d(max.x, min.y, max.z));\r
43                 vertices.add(new Vector3d(max.x, max.y, min.z));\r
44                 vertices.add(new Vector3d(max.x, max.y, max.z));\r
45                 List<Integer> indices = new ArrayList<Integer>();\r
46                 indices.add(0);\r
47                 indices.add(2);\r
48                 indices.add(1);\r
49                 \r
50                 indices.add(1);\r
51                 indices.add(2);\r
52                 indices.add(3);\r
53                 \r
54                 indices.add(2);\r
55                 indices.add(6);\r
56                 indices.add(3);\r
57                 \r
58                 indices.add(3);\r
59                 indices.add(6);\r
60                 indices.add(7);\r
61                 \r
62                 indices.add(5);\r
63                 indices.add(1);\r
64                 indices.add(7);\r
65                 \r
66                 indices.add(1);\r
67                 indices.add(3);\r
68                 indices.add(7);\r
69                 \r
70                 indices.add(4);\r
71                 indices.add(5);\r
72                 indices.add(6);\r
73                 \r
74                 indices.add(5);\r
75                 indices.add(7);\r
76                 indices.add(6);\r
77                 \r
78                 indices.add(0);\r
79                 indices.add(4);\r
80                 indices.add(2);\r
81                 \r
82                 indices.add(2);\r
83                 indices.add(4);\r
84                 indices.add(6);\r
85                 \r
86                 indices.add(0);\r
87                 indices.add(1);\r
88                 indices.add(4);\r
89                 \r
90                 indices.add(5);\r
91                 indices.add(4);\r
92                 indices.add(1);\r
93                 return new Mesh(vertices, indices);\r
94         }\r
95 \r
96 }\r