def get_angle(self, p): angle = viewgeom.get_angle_in_deg(self.twelwe_p, (self.CENTER_X, self.CENTER_Y), p) clockwise = viewgeom.points_clockwise(self.twelwe_p, (self.CENTER_X, self.CENTER_Y), p) if clockwise: angle = 360.0 - angle; # Color circle starts from 11 o'clock angle = angle - 30.0 if angle < 0.0: angle = angle + 360.0 return angle
def get_mouse_rotation_angle(self, anchor, mr_start, mr_end): angle = viewgeom.get_angle_in_deg(mr_start, anchor, mr_end) clockw = viewgeom.points_clockwise(mr_start, anchor, mr_end) if not clockw: angle = -angle # Crossed angle for 180 -> 181... range crossed_angle = angle + 360.0 # Crossed angle for -180 -> 181 ...range. if angle > 0: crossed_angle = -360.0 + angle # See if crossed angle closer to last angle. if abs(self.mouse_rotation_last - crossed_angle) < abs(self.mouse_rotation_last - angle): angle = crossed_angle # Set last to get good results next time. self.mouse_rotation_last = angle return angle