main module¶
| synopsis: | Module contains main class TApp, responsible for handling events. |
|---|
-
class
main.TApp(master)¶ Bases:
objectClass represents application as a whole. It handles events.
Parameters: master (Tk()) – tk root object. -
AVAILABLE_COLOURS= ('red', 'blue', 'yellow', 'green', 'orange', 'purple', 'indigo', 'fuchsia', 'white', 'navy', 'brown')¶ List of named colours from which a randome one will be drawn.
-
add_vertex_to_polygon(event)¶ Add signle vertex to polygon based on current mouse position.
Parameters: event (tkinter.Event) – canvas RMB click event object.
-
adjacent_polygon(event, overlap_num=-1)¶ Complete a single polygon using points from an adjacent one.
Parameters: - event (tkinter.Event) – canvas LMB double click event object.
- overlap_num (integer) – list index of a shape overlapped by the mouse.
-
assign_material_to_shape(shape_num, material)¶ Assign material to a chosen shape.
Parameters: - shape_num (integer) – shape list index.
- material (string) – material name.
-
bind_application_events()¶ Bind application events to handling methods.
-
bind_canvas_events()¶ Bind canvas events to handling methods.
-
calculate_cylin_sector_boundary_pts_window(centre, radius, start, extent)¶ Calculate the cylinder sector boundary points given its centre, radius, start and extent angles.
Parameters: - centre (TPoint) – cylinder sector centre coordinates.
- radius (float) – cylinder sector radius.
- start (float) – angle (in degrees) between positive OX halfaxis and centre-bp1 radius.
- extent (float) – angle (in degrees) between centre-bp1 radius and centree-bp2 radius.
Returns: cylinder sector boundary points.
Return type:
-
calculate_cylin_sector_start_extent(centre, bp1, bp2, radius)¶ Calculate the cylinder sector start and extent angles given 3 points constituing it.
Parameters: Returns: cylinder sector start and extent angles in degrees.
Return type: float, float
-
canvas_click(event)¶ Handle a left mouse click event.
Parameters: event (tkinter.Event) – tk mouse click event object.
-
canvas_double_click(event)¶ Handle a canvas double click, which ends drawing a polygon.
Parameters: event (tkinter.Event) – canvas double LMB click event object.
-
canvas_interrupt(event=None)¶ Cease pending mouse operation (draw, move, resize).
Parameters: event (tkinter.Event) – canvas RMB click event object.
-
canvas_mouse_move(event)¶ Handle a mouse move event.
Parameters: event (tkinter.Event) – tk mouse move event object.
-
canvas_refresh(*, swap=False)¶ Redraw all shapes on canvas.
Parameters: swap (boolean) – shapes list selection swap toggle.
-
canvas_resize(event)¶ Handle a canvas dimensions alteration event.
Parameters: event (tkinter.Event) – canvas configure event object.
-
change_model_size()¶ Change model maximal x and y coordinates.
-
change_shape_colour(event=None, shape_num=None)¶ Change selected shape colour using tkInter colorchooser dialog.
Parameters: - event (tkinter.Event) – canvas RMB click event object.
- shape_num (integer) – selected shape list index.
-
click_move_shape_select(event, overlap_num=-1)¶ Make a copy of the shape to be moved.
Parameters: - event (tkinter.Event) – canvas LMB click event object.
- overlap_num (integer) – list index of a shape overlapped by the mouse.
-
click_resize_shape_select(event, overlap_num=-1)¶ Make a copy of the shape to be resized.
Parameters: - event (tkinter.Event) – canvas LMB click event object.
- overlap_num (integer) – list index of a shape overlapped by the mouse.
-
copy_ctrl_c(event)¶ Handle a ctrl+c keystroke event.
Parameters: event (tkinter.Event) – ctrl+c keystroke event object.
-
copy_shape(event=None, *, shape_num=-1)¶ Make a copy of a shape overlapped by the mouse pointer or specified by given number.
Parameters: - event (tkinter.Event) – object of the event evoking this method (keyboard shortcut, mouse menu position).
- shape_num (integer) – list index of the shape being copied.
-
create_cylin()¶ Create a cylinder from keyboard input.
-
create_cylin_sector()¶ Create a cylinder sector from keyboard input.
-
create_polygon()¶ Create a cpolygon from keyboard input.
-
create_rectangle()¶ Create a rectangle from keyboard input.
-
cylin_sector_click_draw(event, overlap_num=-1)¶ Handle a click event while the active mouse working mode is set to ‘draw’ and shape mode is set to ‘CylinSector’.
Parameters: - event (tkinter.Event) – canvas LMB click event object.
- overlap_num (integer) – list index of a shape overlapped by the mouse.
-
cylin_sector_click_move_insert(event, overlap_num=-1)¶ Handle a click event while the active mouse working mode is set to ‘move’, there is a shape being moved and shape mode is set to ‘CylinSector’.
Parameters: - event (tkinter.Event) – canvas LMB click event object.
- overlap_num (integer) – list index of a shape overlapped by the mouse.
-
cylin_sector_click_resize_insert(event, overlap_num=-1)¶ Handle a click event while the active mouse working mode is set to ‘resize’, there is a shape being moved and shape mode is set to ‘CylinSector’.
Parameters: - event (tkinter.Event) – canvas LMB click event object.
- overlap_num (integer) – list index of a shape overlapped by the mouse.
-
cylin_sector_mouse_move_draw(event, overlap_num=-1)¶ Handle a mouse move event while the active mouse working mode is set to ‘draw’ and shape mode is set to ‘CylindSector’.
Parameters: - event (tkinter.Event) – canvas mouse move event object.
- overlap_num (integer) – list index of a shape overlapped by the mouse.
-
cylin_sector_mouse_move_move(event, overlap_num=-1)¶ Handle a mouse move event while the active mouse working mode is set to ‘move’ and moved shape type is ‘CylinSector’.
Parameters: - event (tkinter.Event) – canvas LMB click event object.
- overlap_num (integer) – list index of a shape overlapped by the mouse.
-
cylin_sector_mouse_move_resize(event, overlap_num=-1)¶ Handle a mouse move event while the active mouse working mode is set to ‘resize’ and resized shape type is ‘CylinSector’.
Parameters: - event (tkinter.Event) – canvas LMB click event object.
- overlap_num (integer) – list index of a shape overlapped by the mouse.
-
cylin_sector_overlap_coord(shape, x, y, radius)¶ ” Return coordinates of a cylinder sector characteristic point overlapped by the mouse.
Parameters: - shape – examined cylinder sector object.
- type – TCylinSector
- x – mouse pointer position x coordinate in pixels.
- type – integer
- y – mouse pointer position y coordinate in pixels.
- type – integer
- radius – radius of the area around a point, trigerring an overlap.
- type – integer
Returns: overlapped sylinder sector point coordinates in pixels.
Return type:
-
cylin_sector_overlap_coord_mod(shape, x, y, radius)¶ Return model coordinates of a cylinder sector characteristic point overlapped by the mouse.
Parameters: - shape (TCylinSector) – examined cylinder sector object.
- x (float) – mouse pointer position x coordinate in metres.
- y (float) – mouse pointer position y coordinate in metres.
- radius (float) – radius of the area around a point, trigerring an overlap.
Returns: overlapped cylinder sector point coordinates in metres.
Return type:
-
cylinder_click_draw(event, overlap_num=-1)¶ Handle a click event while the active mouse working mode is set to ‘draw’ and shape mode is set to ‘Cylinder’.
Parameters: - event (tkinter.Event) – canvas LMB click event object.
- overlap_num (integer) – list index of a shape overlapped by the mouse.
-
cylinder_click_move_insert(event, overlap_num=-1)¶ Handle a click event while the active mouse working mode is set to ‘move’, there is a shape being moved and shape mode is set to ‘Cylinder’.
Parameters: - event (tkinter.Event) – canvas LMB click event object.
- overlap_num (integer) – list index of a shape overlapped by the mouse.
-
cylinder_click_resize_insert(event, overlap_num=-1)¶ Hande a click event while the active mouse working mode is set to ‘resize’, there is a shape being moved and shape mode is set to ‘Cylinder’.
Parameters: - event (tkinter.Event) – canvas LMB click event object.
- overlap_num (integer) – list index of a shape overlapped by the mouse.
-
cylinder_mouse_move_draw(event, overlap_num=-1)¶ Handle a mouse move event while the active mouse working mode is set to ‘draw’ and shape mode is set to ‘Cylinder’.
Parameters: - event (tkinter.Event) – canvas mouse move event object.
- overlap_num (integer) – list index of a shape overlapped by the mouse.
-
cylinder_mouse_move_move(event, overlap_num=-1)¶ Handle a mouse move event while the active mouse working mode is set to ‘move’ and moved shape type is ‘Cylinder’.
Parameters: - event (tkinter.Event) – canvas LMB click event object.
- overlap_num (integer) – list index of a shape overlapped by the mouse.
-
cylinder_mouse_move_resize(event, overlap_num=-1)¶ Handle a mouse move event while the active mouse working mode is set to ‘resize’ and resized shape type is ‘Cylinder’.
Parameters: - event (tkinter.Event) – canvas LMB click event object.
- overlap_num (integer) – list index of a shape overlapped by the mouse.
-
cylinder_overlap_coord(shape, x, y, radius)¶ Return coordinates of a cylinder characteristic point overlapped by the mouse.
Parameters: - shape (TCylin) – examined cylinder object.
- x (integer) – mouse pointer position x coordinate in pixels.
- y (integer) – mouse pointer position y coordinate in pixels.
- radius (integer) – radius of the area around a point, trigerring an overlap.
Returns: overlapped cylinder point coordinates in pixels.
Return type:
-
cylinder_overlap_coord_mod(shape, x, y, radius)¶ Return model coordinates of a cylinder characteristic point overlapped by the mouse.
Parameters: - shape (TCylin) – examined cylinder object.
- x (float) – mouse pointer position x coordinate in metres.
- y (float) – mouse pointer position y coordinate in metres.
- radius (float) – radius of the area around a point, trigerring an overlap.
Returns: overlapped cylinder point coordinates in metres.
Return type:
-
decrease_shapes_width(event)¶ Decrease width of all shapes in the list.
Parameters: event (tkinter.Event) – tk up arrow press event object.
Detect first and last of the vertices shared by two polygons.
Parameters:
-
dispatch_model_move(event)¶ Set the initial mouse position while holding its wheel down to None.
-
display_echogram()¶ Invoke a gprMax tool to display an entire echogram.
-
display_mouse_position(event)¶ Display current mouse position in m on the status bar.
Parameters: event (Tk.Event) – tk mouse move event object.
Display right mouse button popup (context) menu.
Parameters: event (tkinter.Event) – RMB press event object.
-
display_settings()¶ Show display settings dialog window.
-
display_trace()¶ Invoke a gprMax tool to display a single trace.
-
distmodwin(dist)¶ Convert a distance in model coordinates to window coordinates.
Parameters: dist (float) – distance to be converted. Returns: distance in pixels. Return type: integer
-
distwinmod(dist)¶ Convert a distance in window coordinates to model coordinates.
Parameters: dist (integer) – distance to be converted. Returns: distance in metres. Return type: float
-
double_click= False¶ double LMB click flag.
-
draw_click(event)¶ Handle a click event while the active mouse working mode is set to ‘draw’.
Parameters: event (tkinter.Event) – canvas LMB click event object.
-
draw_mouse_move(event)¶ Handle a mouse move event while the active mouse working mode is set to ‘draw’.
Parameters: event (tkinter.Event) – canvas mouse move event object.
-
edit_cylin(shape_num)¶ Change cylinder dimensions from keyboard input.
Parameters: shape_num (integer) – selected shape list index.
-
edit_cylin_sector(shape_num)¶ Change cylinder sector dimensions from keyboard input.
Parameters: shape_num (integer) – selected shape list index.
-
edit_polygon(shape_num)¶ Display polygon vertices coordinates and enable to change them manually.
Parameters: shape_num (integer) – selected shape list index.
-
edit_polygon_vertex(event)¶ Ask for new coordinates of a selected polygon vertex.
Parameters: event (tkinter.Event) – canvas RMB click event object.
-
edit_rectangle(shape_num)¶ Change rectangle dimensions from keyboard input.
Parameters: shape_num (integer) – selected shape list index.
-
edit_shape(event)¶ Change shape dimensions from keyboard input.
Parameters: event (tkinter.Event) – canvas RMB click event object.
-
edit_title()¶ Edit model title.
-
export_canvas_to_image()¶ Export the model to a PNG image.
-
export_hdf5_to_ascii()¶ Export a gprMax output file in HDF5 format to ASCII.
-
first_click= False¶ first LMB click flag.
-
first_click_pos= None¶ position of first click in pixels.
-
handle_input_command(line, line_num)¶ Recognise and handle a command given in a line.
Parameters: - line (string) – line to be parsed.
- line_num (integer) – parsed line number.
-
increase_shapes_width(event)¶ Increase width of all shapes in the list.
Parameters: event (tkinter.Event) – tk up arrow press event object.
-
init_canvas()¶ Init frame containing main canvas and its scrollbars.
-
init_grid()¶ Init main window grid properties.
Create main menu and its positions.
-
init_main_toolbar()¶ Create main toolbar and its buttons.
-
init_model_move(event)¶ Save the initial mouse position while holding its wheel down.
Create a right-click popup menu.
-
init_status_bar()¶ Init status bar.
-
len_tot_x= 10.0¶ total model length in x direction.
-
len_tot_y= 10.0¶ total model length in y direction.
-
load_toolbar_icons()¶ Try to load toolbar buttons icons. At failing, display appropriate message.
-
manipulated_shape_num= -1¶ list index of the manipulated (moved/resized) shape.
-
merge_traces()¶ Invoke a gprMax tool to merge output files containing traces.
-
model_horizontal_scroll(action, number, units='')¶ Handle the visible model area move in the x direction.
Parameters: - action (string) – type of action performed on the scrollbar.
- number (float) – displacement of the scrollbar.
- units (string) – units of the displacement.
-
model_vertical_scroll(action, number, units='')¶ Handle the visible model area move in the y direction.
Parameters: - action (string) – type of action performed on the scrollbar.
- number (float) – displacement of the scrollbar.
- units (string) – units of the displacement.
-
modwin(pt)¶ Convert a point in model coordinates to window coordinates.
Parameters: pt (TPoint) – point to be converted. Returns: point in window coordinates. Return type: TPoint
-
mouse_overlaps_cylinder(shape, x, y, radius)¶ Check whether the mouse pointer overlaps a cylinder.
Parameters: - shape (TCylin) – examined shape object.
- x (integer) – mouse pointer position x coordinate in pixels.
- y (integer) – mouse pointer position y coordinate in pixels.
- radius (integer) – radius of the area around a point, trigerring an overlap.
Returns: overlapped cylinder list index.
Return type: boolean
-
mouse_overlaps_cylinder_sector(shape, x, y, radius)¶ Check whether the mouse pointer overlaps a cylinder sector.
Parameters: - shape (TCylinSector) – examined shape object.
- x (integer) – mouse pointer position x coordinate in pixels.
- y (integer) – mouse pointer position y coordinate in pixels.
- radius (integer) – radius of the area around a point, trigerring an overlap.
Returns: overlapped cylinder sector list index.
Return type: boolean
-
mouse_overlaps_polygon(shape, x, y, radius)¶ Check whether the mouse pointer overlaps a polygib.
Parameters: - shape (TPolygon) – examined shape object.
- x (integer) – mouse pointer position x coordinate in pixels.
- y (integer) – mouse pointer position y coordinate in pixels.
- radius (integer) – radius of the area around a point, trigerring an overlap.
Returns: overlapped polygon list index.
Return type: boolean
-
mouse_overlaps_rectangle(shape, x, y, radius)¶ Check whether the mouse pointer overlaps a rectangle.
Parameters: - shape (TRect) – examined shape object.
- x (integer) – mouse pointer position x coordinate in pixels.
- y (integer) – mouse pointer position y coordinate in pixels.
- radius (integer) – radius of the area around a point, trigerring an overlap.
Returns: overlapped rectangle list index.
Return type: boolean
-
mouse_overlaps_shape(x, y, radius)¶ Check whether the mouse pointer overlaps a shape. If so, return its list index; otherwise return -1.
Parameters: - x – mouse pointer position x coordinate in pixels.
- y (integer) – mouse pointer position y coordinate in pixels.
- radius (integer) – radius of the area around a point, trigerring an overlap.
Typex: integer
Returns: overlapped shape list index.
Return type: integer
-
mouse_wheel(event)¶ Handle a mouse wheel rotation event.
Parameters: event (tkinter.Event) – window mouse wheel rotation event object.
-
move= False¶ shape move mouse mode flag.
-
move_click(event)¶ Handle a mouse move event while the active mouse working mode is set to ‘move’.
Parameters: event (tkinter.Event) – canvas LMB click event object.
-
move_const_point= None¶ reference point dor calculating move offset.
-
move_cursor_down(event)¶ Manually move the mouse cursor one pixel down with a keystroke.
Parameters: event (tkinter.Event) – window down arrow press event object.
-
move_cursor_left(event)¶ Manually move the mouse cursor one pixel left with a keystroke.
Parameters: event (tkinter.Event) – window left arrow press event object.
-
move_cursor_right(event)¶ Manually move the mouse cursor one pixel right with a keystroke.
Parameters: event (tkinter.Event) – window right arrow press event object.
-
move_cursor_up(event)¶ Manually move the mouse cursor one pixel up with a keystroke.
Parameters: event (tkinter.Event) – window up arrow press event object.
-
move_mouse_move(event)¶ Handle a mouse move event while the active mouse working mode is set to ‘draw’.
Parameters: event (tkinter.Event) – canvas LMB click event object.
-
move_visible_model(event)¶ Handle a mouse move while its wheel is pressed move event.
Parameters: event (tkinter.Event) – canvas mouse move while wheel is down event object.
-
overlap_coord(shape, x, y, radius)¶ Return coordinates of a shape characteristic point or a vertex overlapped by the mouse.
Parameters: - shape (TRect, TCylin, TCylinSector, TPolygon) – examined shape object.
- x (integer) – mouse pointer position x coordinate in pixels.
- y (integer) – mouse pointer position y coordinate in pixels.
- radius (integer) – radius of the area around a point, trigerring an overlap.
Returns: overlapped point coordinates in pixels.
Return type:
-
overlap_coord_mod(shape, x, y, radius)¶ Return model coordinates of a shape characteristic point or a vertex overlapped by the mouse.
Parameters: - shape (TRect, TCylin, TCylinSector, TPolygon) – examined shape object.
- x (float) – mouse pointer position x coordinate in metres.
- y (float) – mouse pointer position y coordinate in metres.
- radius (float) – radius of the area around a point, trigerring an overlap.
Returns: overlapped point coordinates in metres.
Return type:
-
parse_to_gprmax()¶ Parse model created in program to a gprMax compliant text file.
-
paste_ctrl_v(event, *, deltax=15, deltay=15)¶ Handle a ctrl+v keystroke event
Parameters: - event (tkinter.Event) – ctrl+v keystroke event object.
- deltax (integer) – pasted shape offset in x direction in pixels.
- deltay (integer) – pasted shape offset in y direction in pixels.
-
paste_shape(event=None, deltax=15, deltay=15)¶ Paste shape into model.
Parameters: - event (tkinter.Event) – object of the event evoking this method (keyboard shortcut, mouse menu position).
- deltax (integer) – offset of the pasted shape in the x direction in pixels.
- deltay (integer) – offset of the pasted shape in the y direction in pixels.
-
polygon_click_draw(event, overlap_num=-1)¶ Handle a click event while the active mouse working mode is set to ‘draw’ and shape mode is set to ‘Polygon’.
Parameters: - event (tkinter.Event) – canvas LMB click event object.
- overlap_num (integer) – list index of a shape overlapped by the mouse.
-
polygon_click_move_insert(event, overlap_num=-1)¶ Handle a click event while the active mouse working mode is set to ‘move’, there is a shape being moved and shape mode is set to ‘Polygon’.
Parameters: - event (tkinter.Event) – canvas LMB click event object.
- overlap_num (integer) – list index of a shape overlapped by the mouse.
-
polygon_click_resize_insert(event, overlap_num=-1)¶ Handle a click event while the active mouse working mode is set to ‘resize’, there is a shape being moved and shape mode is set to ‘Polygon’.
Parameters: - event (tkinter.Event) – canvas LMB click event object.
- overlap_num (integer) – list index of a shape overlapped by the mouse.
-
polygon_double_click_draw(event)¶ Handle a double click event while the active mouse working mode is set to ‘draw’ and shape mode is set to ‘Polygon’.
Parameters: - event (tkinter.Event) – canvas LMB double click event object.
- overlap_num (integer) – list index of a shape overlapped by the mouse.
-
polygon_mouse_move_draw(event, overlap_num=-1)¶ Handle a mouse move event while the active mouse working mode is set to ‘draw’ and shape mode is set to ‘Polygon’.
Parameters: - event (tkinter.Event) – canvas mouse move event object.
- overlap_num (integer) – list index of a shape overlapped by the mouse.
-
polygon_mouse_move_move(event, overlap_num=-1)¶ Handle a mouse move event while the active mouse working mode is set to ‘move’ and moved shape type is ‘Polygon’.
Parameters: - event (tkinter.Event) – canvas LMB click event object.
- overlap_num (integer) – list index of a shape overlapped by the mouse.
-
polygon_mouse_move_resize(event, overlap_num=-1)¶ Handle a mouse move event while the active mouse working mode is set to ‘resize’ and moved shape type is ‘Polygon’.
Parameters: - event (tkinter.Event) – canvas LMB click event object.
- overlap_num (integer) – list index of a shape overlapped by the mouse.
-
polygon_overlap_coord(shape, x, y, radius)¶ Return coordinates of a polygon vertex overlapped by the mouse.
Parameters: - shape (TPolygon) – examined polygon object.
- x (integer) – mouse pointer position x coordinate in pixels.
- y (integer) – mouse pointer position y coordinate in pixels.
- radius (integer) – radius of the area around a point, trigerring an overlap.
Returns: overlapped polygon point coordinates in pixels.
Return type:
-
polygon_overlap_coord_mod(shape, x, y, radius)¶ Return model coordinates of a polygon vertex overlapped by the mouse.
Parameters: - shape (TCylinSector) – examined cylinder sector object.
- x (float) – mouse pointer position x coordinate in metres.
- y (float) – mouse pointer position y coordinate in metres.
- radius (float) – radius of the area around a point, trigerring an overlap.
Returns: overlapped polygon point coordinates in metres.
Return type:
-
polygon_points= []¶ buffor containing vertices of polygon being drawn.
-
prev_mouse_pos= None¶ previous mouse position.
-
read_model_file()¶ Read and load a GprMax compliant input file.
-
recolour_randomly()¶ Assign random colours from AVAILABLE_COLOURS list to all shapes.
-
rectangle_click_draw(event, overlap_num=-1)¶ Handle a click event while the active mouse working mode is set to ‘draw’ and shape mode is set to ‘Rectangle’.
Parameters: - event (tkinter.Event) – canvas LMB click event object.
- overlap_num (integer) – list index of a shape overlapped by the mouse.
-
rectangle_click_move_insert(event, overlap_num=-1)¶ Handle a click event while the active mouse working mode is set to ‘move’, there is a shape being moved and shape mode is set to ‘Rectangle’.
Parameters: - type – tkinter.Event
- overlap_num (integer) – list index of a shape overlapped by the mouse.
-
rectangle_click_resize_insert(event, overlap_num=-1)¶ Handle a click event while the active mouse working mode is set to ‘resize’, there is a shape being moved and shape mode is set to ‘Rectangle’.
Parameters: - event (tkinter.Event) – canvas LMB click event object.
- overlap_num (integer) – list index of a shape overlapped by the mouse.
-
rectangle_mouse_move_draw(event, overlap_num=-1)¶ Handle a mouse move event while the active mouse working mode is set to ‘draw’ and shape mode is set to ‘Rectangle’.
Parameters: - event (tkinter.Event) – canvas mouse move event object.
- overlap_num (integer) – list index of a shape overlapped by the mouse.
-
rectangle_mouse_move_move(event, overlap_num=-1)¶ Handle a mouse move event while the active mouse working mode is set to ‘move’ and moved shape type is ‘Rectangle’.
Parameters: - type – tkinter.Event
- overlap_num (integer) – list index of a shape overlapped by the mouse.
-
rectangle_mouse_move_resize(event, overlap_num=-1)¶ Handle a mouse move event while the active mouse working mode is set to ‘resize’ and resized shape type is ‘Rectangle’.
Parameters: - event (tkinter.Event) – canvas LMB click event object.
- overlap_num (integer) – list index of a shape overlapped by the mouse.
-
rectangle_overlap_coord(shape, x, y, radius)¶ Return coordinates of a rectangle vertex overlapped by the mouse.
Parameters: - shape (TRect) – examined rectangle object.
- x (integer) – mouse pointer position x coordinate in pixels.
- y (integer) – mouse pointer position y coordinate in pixels.
- radius (integer) – radius of the area around a point, trigerring an overlap.
Returns: overlapped rectangle point coordinates in pixels.
Return type:
-
rectangle_overlap_coord_mod(shape, x, y, radius)¶ Return model coordinates of a rectangle vertex overlapped by the mouse.
Parameters: - shape (TRect) – examined rectangle object.
- x (float) – mouse pointer position x coordinate in metres.
- y (float) – mouse pointer position y coordinate in metres.
- radius (float) – radius of the area around a point, trigerring an overlap.
Returns: overlapped rectangle point coordinates in metres.
Return type:
-
remove_all_shapes()¶ Remove all shapes.
-
remove_polygon_vertex(event)¶ Remove polygon vertex.
Parameters: event (tkinter.Event) – canvas RMB click event object.
-
remove_shape(event)¶ Remove a shape if mouse overlapses it.
Parameters: event (tkinter.Event) – event evoking this method (Del keystroke, RMB click)
-
remove_top_shape()¶ Remove shape at the top of the list.
-
resize= False¶ shape resize mouse mode flag.
-
resize_click(event)¶ Handle a click event while the active mouse working mode is set to ‘resize’.
Parameters: event (tkinter.Event) – canvas LMB click event object.
-
resize_mouse_move(event)¶ Handle a mouse move event while the active mouse working mode is set to ‘resize’.
Parameters: event (tkinter.Event.) – canvas LMB click event object.
-
resized_point= None¶ coordinates of manipulated shape point/vertex.
-
run_gprmax(filename=None)¶ Run gprMax on specified input file.
Parameters: filename (string) – input file name.
-
scale= 100.0¶ zoom scale in percent.
-
scrollbars_zoom_in()¶ Scale scrollbars after zooming in the model view.
-
scrollbars_zoom_out()¶ Scale scrollbars after zooming out the model view.
-
second_click= False¶ second LMB click flag.
-
second_click_pos= None¶ position of second click in pixels.
-
select_shape(event)¶ Select a single shape.
Parameters: event (tkinter.Event) – canvas RMB click event object.
-
select_shape_on_list(shape_num)¶ Distinguish the selected shape on the list in the shapes frame.
Parameters: shape_num (integer) – selected shape list index.
-
set_mode_cylin_sector(event=None)¶ Set drawn shape to a cylinder sector.
Parameters: event (tkinter.Event) – button click event object.
-
set_mode_cylinder(event=None)¶ Set drawn shape to a cylinder.
Parameters: event (tkinter.Event) – button click event object.
-
set_mode_polygon(event=None)¶ Set drawn shape to a polygon.
Parameters: event (tkinter.Event) – button click event object.
-
set_mode_rectangle(event=None)¶ Set drawn shape to a rectangle.
Parameters: event (tkinter.Event) – button click event object.
-
set_mouse_mode_draw(event=None)¶ Set mouse mode to “draw”.
Parameters: event (tkinter.Event) – button click event object.
-
set_mouse_mode_move(event=None)¶ Set mouse mode to “move”.
Parameters: - event – button click event object.
- type – tkinter.Event
-
set_mouse_mode_resize(event=None)¶ Set mouse mode to “resize”.
Parameters: event (tkinter.Event) – button click event object.
-
shape_buffer= None¶ buffor containing shape being manipulated (/moved/resized).
-
shapes_width¶ Property for self.shapes_width.
Returns: shape width. Return type: integer.
-
survey_settings()¶ Show survey settings dialog window and change their values.
-
toggle_grid()¶ Toggle displaying grid lines.
-
undo_operation(event=None)¶ Undo last operation.
Parameters: event (tkinter.Event) – object of the event evoking this method (keyboard shortcut, mouse menu position).
-
view_zoom_in(event=None)¶ Zoom in the model view.
Parameters: event (tkinter.Event) – object of the event evoking this method (keyboard shortcut, mouse menu position, toolbar button).
-
view_zoom_out(event=None)¶ Zoom out the model view.
Parameters: event (tkinter.Event) – object of the event evoking this method (keyboard shortcut, mouse menu position, toolbar button).
-
view_zoom_reset()¶ Restore default model view.
-
winmod(pt)¶ Convert a point in window coordinates to model coordinates.
Parameters: pt (TPoint) – point to be converted. Returns: point in model coordinates. Return type: TPoint
-
write_array_to_file(fileh, array, dims=2)¶ Write a two-dimensional array into a ASCII file row by row.
Parameters: - fileh (_io.TextIOWrapper) – file handler.
- array (list) – array to be saved.
- dims (integer) – number of dimensions.
-
-
main.centre_window(window)¶ Put the main application window in the middle of the screen.
Parameters: window (tkinter.Tk) – main windows object.
-
main.main()¶ Initialise and start the application.