def __init__(self): InputMode.__init__(self) self.left_and_right = LeftAndRight() self.temp_object_in_list = [] self.prev_object = None self.container = None self.add_to_sketch = True self.button_down_point = None self.inhibit_coordinate_change = False self.getting_position = False self.draw_step = 0 self.before_start_pos = cad.DigitizedPoint() self.start_pos = cad.DigitizedPoint() self.user_add_point = geom.Point3D(0,0,0)
def OnMouse(self, event): left_and_right_pressed, event_used = self.left_and_right.LeftAndRightPressed(event) if left_and_right_pressed: if self.DragDoneWithXOR(): wx.GetApp().EndDrawFront() self.ClearObjectsMade() wx.GetApp().SetInputMode(wx.GetApp().select_mode) if not event_used: if event.middleDown or event.GetWheelRotation() != 0: wx.GetApp().select_mode.OnMouse(event) else: if event.LeftDown(): if not self.inhibit_coordinate_change: self.button_down_point = cad.Digitize(cad.IPoint(event.x, event.y)) elif event.LeftUp(): if self.inhibit_coordinate_change: self.inhibit_coordinate_change = False else: self.set_digitize_plane() wx.GetApp().digitizing.digitized_point = cad.DigitizedPoint(self.button_down_point) if self.getting_position: self.inhibit_coordinate_change = True self.getting_position = False else: self.AddPoint(wx.GetApp().digitizing.digitized_point) elif event.RightUp(): # do context menu same as select mode wx.GetApp().select_mode.OnMouse(event) elif event.Moving(): if not self.inhibit_coordinate_change: end = self.RecalculateAndRedraw(cad.IPoint(event.x, event.y)) self.UpdateUserPointProperties(end)
def __init__(self): InputMode.__init__(self) self.point_or_window = PointOrWindow(False) self.digitized_point = cad.DigitizedPoint()
def RollBack(self): self.drawing.before_start_pos = cad.DigitizedPoint(self.old_before_pos) self.drawing.start_pos = cad.DigitizedPoint(self.prev_pos)
def Run(self, redo): self.drawing.before_start_pos = cad.DigitizedPoint(self.prev_pos) self.drawing.start_pos = cad.DigitizedPoint(self.next_pos)
def __init__(self, drawing, pos): cad.BaseUndoable.__init__(self) self.drawing = drawing self.old_before_pos = cad.DigitizedPoint(drawing.before_start_pos) self.prev_pos = cad.DigitizedPoint(drawing.start_pos) self.next_pos = cad.DigitizedPoint(pos)
def AddPointToDrawing(self): # kill focus on control being typed into wx.GetApp().frame.input_mode_canvas.pg.ClearSelection() self.UpdatePointFromProperties() d = cad.DigitizedPoint(self.user_add_point, cad.DigitizeType.DIGITIZE_INPUT_TYPE) self.AddPoint(d)