本文整理汇总了Python中radialnet.core.Coordinate.PolarCoordinate类的典型用法代码示例。如果您正苦于以下问题:Python PolarCoordinate类的具体用法?Python PolarCoordinate怎么用?Python PolarCoordinate使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了PolarCoordinate类的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: __move_is_clicked
def __move_is_clicked(self, pointer):
"""
"""
xc, yc = self.__center_of_widget
pc = PolarCoordinate()
for i in range(8):
pc.set_coordinate(23, 45 * i)
x, y = pc.to_cartesian()
center = (xc + x, yc - y)
if geometry.is_in_circle(pointer, self.__move_radius, center):
return i
return None
示例2: __draw_move_control
def __draw_move_control(self):
"""
"""
xc, yc = self.__center_of_widget
pc = PolarCoordinate()
self.context.set_dash([1, 1])
self.context.arc(xc, yc, 23, 0, 2 * math.pi)
self.context.set_source_rgb(0.0, 0.0, 0.0)
self.context.set_line_width(1)
self.context.stroke()
for i in range(8):
pc.set_coordinate(23, 45 * i)
x, y = pc.to_cartesian()
self.context.set_dash([1, 1])
self.context.move_to(xc, yc)
self.context.line_to(xc + x, yc - y)
self.context.stroke()
self.context.set_dash([1, 0])
self.context.arc(
xc + x, yc - y, self.__move_radius, 0, 2 * math.pi)
if i == self.__moving:
self.context.set_source_rgb(0.0, 0.0, 0.0)
else:
self.context.set_source_rgb(1.0, 1.0, 1.0)
self.context.fill_preserve()
self.context.set_source_rgb(0.0, 0.0, 0.0)
self.context.set_line_width(1)
self.context.stroke()
self.context.arc(xc, yc, 6, 0, 2 * math.pi)
if self.__centering:
self.context.set_source_rgb(0.0, 0.0, 0.0)
else:
self.context.set_source_rgb(1.0, 1.0, 1.0)
self.context.fill_preserve()
self.context.set_source_rgb(0.0, 0.0, 0.0)
self.context.set_line_width(1)
self.context.stroke()
return False
示例3: __init__
def __init__(self, radialnet):
"""
"""
gtk.DrawingArea.__init__(self)
self.radialnet = radialnet
self.__rotate_node = PolarCoordinate()
self.__rotate_node.set_coordinate(40, 90)
self.__center_of_widget = (50, 50)
self.__moving = None
self.__centering = False
self.__rotating = False
self.__move_pass = 100
self.__move_position = (0, 0)
self.__move_addition = [(-1, 0),
(-1, -1),
(0, -1),
(1, -1),
(1, 0),
(1, 1),
(0, 1),
(-1, 1)]
self.__move_factor = 1
self.__move_factor_limit = 20
self.__rotate_radius = 6
self.__move_radius = 6
self.__rotate_clicked = False
self.__move_clicked = None
self.connect('expose_event', self.expose)
self.connect('button_press_event', self.button_press)
self.connect('button_release_event', self.button_release)
self.connect('motion_notify_event', self.motion_notify)
self.connect('enter_notify_event', self.enter_notify)
self.connect('leave_notify_event', self.leave_notify)
self.connect('key_press_event', self.key_press)
self.connect('key_release_event', self.key_release)
self.add_events(gtk.gdk.BUTTON_PRESS_MASK |
gtk.gdk.BUTTON_RELEASE_MASK |
gtk.gdk.ENTER_NOTIFY |
gtk.gdk.LEAVE_NOTIFY |
gtk.gdk.MOTION_NOTIFY |
gtk.gdk.NOTHING |
gtk.gdk.KEY_PRESS_MASK |
gtk.gdk.KEY_RELEASE_MASK |
gtk.gdk.POINTER_MOTION_HINT_MASK |
gtk.gdk.POINTER_MOTION_MASK)
self.__rotate_node.set_coordinate(40, self.radialnet.get_rotation())
示例4: ControlNavigation
class ControlNavigation(gtk.DrawingArea):
"""
"""
def __init__(self, radialnet):
"""
"""
gtk.DrawingArea.__init__(self)
self.radialnet = radialnet
self.__rotate_node = PolarCoordinate()
self.__rotate_node.set_coordinate(40, 90)
self.__center_of_widget = (50, 50)
self.__moving = None
self.__centering = False
self.__rotating = False
self.__move_pass = 100
self.__move_position = (0, 0)
self.__move_addition = [(-1, 0), (-1, -1), (0, -1), (1, -1), (1, 0), (1, 1), (0, 1), (-1, 1)]
self.__move_factor = 1
self.__move_factor_limit = 20
self.__rotate_radius = 6
self.__move_radius = 6
self.__rotate_clicked = False
self.__move_clicked = None
self.connect("expose_event", self.expose)
self.connect("button_press_event", self.button_press)
self.connect("button_release_event", self.button_release)
self.connect("motion_notify_event", self.motion_notify)
self.connect("enter_notify_event", self.enter_notify)
self.connect("leave_notify_event", self.leave_notify)
self.connect("key_press_event", self.key_press)
self.connect("key_release_event", self.key_release)
self.add_events(
gtk.gdk.BUTTON_PRESS_MASK
| gtk.gdk.BUTTON_RELEASE_MASK
| gtk.gdk.ENTER_NOTIFY
| gtk.gdk.LEAVE_NOTIFY
| gtk.gdk.MOTION_NOTIFY
| gtk.gdk.NOTHING
| gtk.gdk.KEY_PRESS_MASK
| gtk.gdk.KEY_RELEASE_MASK
| gtk.gdk.POINTER_MOTION_HINT_MASK
| gtk.gdk.POINTER_MOTION_MASK
)
self.__rotate_node.set_coordinate(40, self.radialnet.get_rotation())
def key_press(self, widget, event):
"""
"""
key = gtk.gdk.keyval_name(event.keyval)
self.queue_draw()
return True
def key_release(self, widget, event):
"""
"""
key = gtk.gdk.keyval_name(event.keyval)
self.queue_draw()
return True
def enter_notify(self, widget, event):
"""
"""
return False
def leave_notify(self, widget, event):
"""
"""
self.queue_draw()
return False
def button_press(self, widget, event):
"""
Drawing callback
@type widget: GtkWidget
@param widget: Gtk widget superclass
@type event: GtkEvent
@param event: Gtk event of widget
@rtype: boolean
@return: Indicator of the event propagation
"""
pointer = self.get_pointer()
direction = False
if self.__rotate_is_clicked(pointer):
#.........这里部分代码省略.........