public ModelConverter rotate(float rotation,float x,float y,float z,Vec3UV center){
  ROTATION_MATRIX.setRotations((float)Math.toRadians(x * rotation),(float)Math.toRadians(y * rotation),(float)Math.toRadians(z * rotation));
  for (  Box box : this.modelBoxList) {
    for (    Quad quad : box.quads) {
      for (int i=0; i < 4; i++) {
        Vec3UV vec=quad.vertices[i];
        Vec3UV rotatedPoint=null;
        rotatedPoint=ROTATION_MATRIX.transformVec(vec,center);
        vec.x=rotatedPoint.x;
        vec.y=rotatedPoint.y;
        vec.z=rotatedPoint.z;
      }
    }
  }
  Vec3UV rotatedFwdVec=ROTATION_MATRIX.transformVec(this.fwdVec,center);
  this.fwdVec.x=rotatedFwdVec.x;
  this.fwdVec.y=rotatedFwdVec.y;
  this.fwdVec.z=rotatedFwdVec.z;
  Vec3UV rotatedUpVec=ROTATION_MATRIX.transformVec(this.upVec,center);
  this.upVec.x=rotatedUpVec.x;
  this.upVec.y=rotatedUpVec.y;
  this.upVec.z=rotatedUpVec.z;
  return this;
}

public ModelConverter rotate ( float rotation , float x , float y , float z , Vec3UV center ) { ROTATION_MATRIX . setRotations ( ( float ) Math . toRadians ( x * rotation ) , ( float ) Math . toRadians ( y * rotation ) , ( float ) Math . toRadians ( z * rotation ) ) ; for ( Box box : this . modelBoxList ) { for ( Quad quad : box . quads ) { for ( int i = 0 ; i < 4 ; i ++ ) { Vec3UV vec = quad . vertices [ i ] ; Vec3UV rotatedPoint = null ; rotatedPoint = ROTATION_MATRIX . transformVec ( vec , center ) ; vec . x = rotatedPoint . x ; vec . y = rotatedPoint . y ; vec . z = rotatedPoint . z ; } } } Vec3UV rotatedFwdVec = ROTATION_MATRIX . transformVec ( this . fwdVec , center ) ; this . fwdVec . x = rotatedFwdVec . x ; this . fwdVec . y = rotatedFwdVec . y ; this . fwdVec . z = rotatedFwdVec . z ; Vec3UV rotatedUpVec = ROTATION_MATRIX . transformVec ( this . upVec , center ) ; this . upVec . x = rotatedUpVec . x ; this . upVec . y = rotatedUpVec . y ; this . upVec . z = rotatedUpVec . z ; return this ; }
rotates the model vertices .
