def rotate_mask(case):
   import Masks as masks
   from math import atan,cos,sin,tan
   from numpy import deg2rad,zeros
   import Functions as piv
   from copy import copy

   angle = get_mask_angle(case)
   device,phi,alpha,U,loc = piv.get_case_details(case)
   
   rotated_mask = zeros((6,2))
   for m,i in zip(masks.Masks[case],range(5)):
      cmx = m[0] - masks.Masks[case][1][0]
      cmy = m[1] - masks.Masks[case][1][1]
      x =  cmx*cos(angle) + cmy*sin(angle)
      y = -cmx*sin(angle) + cmy*cos(angle) 
      rotated_mask[i] = [x,y]
   rotated_mask[2] = [
         40.*sin(deg2rad(90-float(alpha)-float(phi))),
         -40.*cos(deg2rad(90-float(alpha)-float(phi)))
         ]
   rotated_mask[3] = [
         rotated_mask[2][0]-cos(deg2rad(90-float(alpha)-float(phi))),
         rotated_mask[2][1]-sin(deg2rad(90-float(alpha)-float(phi))),
         ]
   rotated_mask[4] = [
         rotated_mask[1][0]-cos(deg2rad(90-float(alpha)-float(phi))),
         rotated_mask[1][1]-sin(deg2rad(90-float(alpha)-float(phi))),
         ]
   rotated_mask[5][0] = rotated_mask[0][0]
   rotated_mask[5][1] = rotated_mask[4][1] - rotated_mask[5][0]*tan(deg2rad(float(alpha)-7)) 
   return rotated_mask
def get_mask_angle(case,to_freestream=True):
   import Masks as masks
   from math import atan,cos,sin,tan
   from numpy import deg2rad,zeros
   import Functions as piv
   from copy import copy

   device,phi,alpha,U,loc = piv.get_case_details(case)

   if to_freestream:
      incidence_correction = 0
   else:
      incidence_correction = abs(float(alpha))+abs(float(phi))

   angle = -atan( (masks.Masks[case][2][0] - masks.Masks[case][1][0]) \
         / (masks.Masks[case][2][1] - masks.Masks[case][1][1]) )\
         + deg2rad(90+incidence_correction)

   return angle