def __init__(self, base, axes, color='black', zorder=3): """ """ _BaseInteractor.__init__(self, base, axes, color=color) self.markers = [] self.axes = axes self.qmax = self.base.data2D.xmax self.connect = self.base.connect # # Number of points on the plot self.nbins = 20 theta1 = 2 * math.pi / 3 theta2 = -2 * math.pi / 3 # Inner circle from Arc import ArcInteractor self.inner_circle = ArcInteractor(self, self.base.subplot, zorder=zorder, r=self.qmax / 2.0, theta1=theta1, theta2=theta2) self.inner_circle.qmax = self.qmax self.outer_circle = ArcInteractor(self, self.base.subplot, zorder=zorder + 1, r=self.qmax / 1.8, theta1=theta1, theta2=theta2) self.outer_circle.qmax = self.qmax * 1.2 # self.outer_circle.set_cursor(self.base.qmax/1.8, 0) from Edge import RadiusInteractor self.right_edge = RadiusInteractor(self, self.base.subplot, zorder=zorder + 1, arc1=self.inner_circle, arc2=self.outer_circle, theta=theta1) self.left_edge = RadiusInteractor(self, self.base.subplot, zorder=zorder + 1, arc1=self.inner_circle, arc2=self.outer_circle, theta=theta2) self.update() self._post_data() # Bind to slice parameter events self.base.parent.Bind(EVT_SLICER_PARS, self._onEVT_SLICER_PARS)