コード例 #1
0
    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)