package tk.amberide.engine.gl.model.obj; import java.util.ArrayList; import org.lwjgl.util.vector.Vector3f; public class Group { private String name; private Vector3f min = null; private Material material; private ArrayList<Face> faces = new ArrayList<Face>(); public ArrayList<Integer> indices = new ArrayList<Integer>(); public ArrayList<Vector3f> vertices = new ArrayList<Vector3f>(); public ArrayList<Vector3f> normals = new ArrayList<Vector3f>(); public ArrayList<Vector3f> texcoords = new ArrayList<Vector3f>(); public int indexCount; public Group(String name) { indexCount = 0; this.name = name; } public void setMaterial(Material material) { this.material = material; } public void addFace(Face face) { faces.add(face); } public void pack() { float minX = 0; float minY = 0; float minZ = 0; Face currentFace = null; Vector3f currentVertex = null; for (int i = 0; i < faces.size(); i++) { currentFace = faces.get(i); for (int j = 0; j < currentFace.getVertices().length; j++) { currentVertex = currentFace.getVertices()[j]; if (Math.abs(currentVertex.getX()) > minX) { minX = Math.abs(currentVertex.getX()); } if (Math.abs(currentVertex.getY()) > minY) { minY = Math.abs(currentVertex.getY()); } if (Math.abs(currentVertex.getZ()) > minZ) { minZ = Math.abs(currentVertex.getZ()); } } } min = new Vector3f(minX, minY, minZ); } public String getName() { return name; } public Material getMaterial() { return material; } public ArrayList<Face> getFaces() { return faces; } public Vector3f getMin() { return min; } }