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