def prep_rotation_info(ref_pts, r_dat, curr_ms_stor, new_ms_stor):
#print("curr angle", curr_ms_stor) # debug
#print("new angle", new_ms_stor) # debug
# workaround for negative angles and angles over 360 degrees
if new_ms_stor < 0 or new_ms_stor > 360:
new_ms_stor = new_ms_stor % 360
r_dat.ang_diff_d = new_ms_stor - curr_ms_stor
# fix for angles over 180 degrees
if new_ms_stor > 180:
r_dat.new_ang_r = radians(180 - (new_ms_stor % 180))
else:
r_dat.new_ang_r = radians(new_ms_stor)
r_dat.ang_diff_r = radians(r_dat.ang_diff_d)
r_dat.axis_lk = ref_pts.ax_lock
# Takes: ed_type (Editor Type), new_free_co (Vector), ref_pts (ReferencePoints),
# and rDat (RotationData) as args. Uses new_free_co to calculate the rotation
# value and then rotates the selected objects or selected vertices using
# the obtained value.
评论列表
文章目录