location.add(bbX, verts[1]).subtractLocal(bbY); location.add(bbX, verts[2]).addLocal(bbY); location.subtract(bbX, verts[3]).addLocal(bbY); location.subtract(bbX, verts[0]).subtractLocal(bbY); }
  public void updateVerts() {    Camera cam = parent.getCamera();    if (spinAngle == 0) {      bbX.set(cam.getLeft()).multLocal(currentSize);      bbY.set(cam.getUp()).multLocal(currentSize);    } else {      float cA = FastMath.cos(spinAngle) * currentSize;      float sA = FastMath.sin(spinAngle) * currentSize;      bbX.set(cam.getLeft()).multLocal(cA).addLocal(cam.getUp().x*sA, cam.getUp().y*sA, cam.getUp().z*sA);      bbY.set(cam.getLeft()).multLocal(-sA).addLocal(cam.getUp().x*cA, cam.getUp().y*cA, cam.getUp().z*cA);    }    location.add(bbX, verts[1]).subtractLocal(bbY);       // Q4    location.add(bbX, verts[2]).addLocal(bbY);            // Q1    location.subtract(bbX, verts[3]).addLocal(bbY);       // Q2    location.subtract(bbX, verts[0]).subtractLocal(bbY);  // Q3  }