diff --git a/gprMax/scene.py b/gprMax/scene.py index 7fc0f44b..fda85c8c 100644 --- a/gprMax/scene.py +++ b/gprMax/scene.py @@ -15,10 +15,10 @@ # # You should have received a copy of the GNU General Public License # along with gprMax. If not, see . - import logging from typing import List, Optional, Union +from gprMax import config from gprMax.cmds_geometry.add_grass import AddGrass from gprMax.cmds_geometry.add_surface_roughness import AddSurfaceRoughness from gprMax.cmds_geometry.add_surface_water import AddSurfaceWater @@ -31,7 +31,7 @@ from gprMax.materials import create_built_in_materials from gprMax.model import Model from gprMax.subgrids.grid import SubGridBaseGrid from gprMax.subgrids.user_objects import SubGridBase as SubGridUserBase -from gprMax.user_inputs import create_user_input_points +from gprMax.user_inputs import MainGridUserInput, SubgridUserInput logger = logging.getLogger(__name__) @@ -187,3 +187,22 @@ class Scene: # Process all the commands for subgrids self.process_subgrid_cmds(model) + + +def create_user_input_points( + grid: FDTDGrid, user_obj: Union[UserObjectSingle, UserObjectMulti, UserObjectGeometry] +) -> Union[MainGridUserInput, SubgridUserInput]: + """Returns a point checker class based on the grid supplied.""" + + if isinstance(grid, SubGridBaseGrid): + # Local object configuration trumps. User can turn off autotranslate for + # specific objects. + if not user_obj.autotranslate and config.sim_config.args.autotranslate: + return MainGridUserInput(grid) + + if config.sim_config.args.autotranslate: + return SubgridUserInput(grid) + else: + return MainGridUserInput(grid) + else: + return MainGridUserInput(grid) diff --git a/gprMax/subgrids/user_objects.py b/gprMax/subgrids/user_objects.py index a62b98b4..942684c8 100644 --- a/gprMax/subgrids/user_objects.py +++ b/gprMax/subgrids/user_objects.py @@ -23,7 +23,6 @@ from typing import List, Tuple, Union import numpy as np from gprMax.grid.fdtd_grid import FDTDGrid -from gprMax.model import Model from gprMax.subgrids.grid import SubGridBaseGrid from gprMax.user_inputs import MainGridUserInput diff --git a/gprMax/user_inputs.py b/gprMax/user_inputs.py index 759776d9..c7314038 100644 --- a/gprMax/user_inputs.py +++ b/gprMax/user_inputs.py @@ -18,17 +18,9 @@ from __future__ import annotations import logging -from typing import Union import numpy as np -import gprMax.config as config -from gprMax.cmds_geometry.cmds_geometry import UserObjectGeometry -from gprMax.cmds_multiuse import UserObjectMulti -from gprMax.cmds_singleuse import UserObjectSingle -from gprMax.grid.fdtd_grid import FDTDGrid - -from .subgrids.grid import SubGridBaseGrid from .utilities.utilities import round_value logger = logging.getLogger(__name__) @@ -43,25 +35,6 @@ logger = logging.getLogger(__name__) """ -def create_user_input_points( - grid: FDTDGrid, user_obj: Union[UserObjectSingle, UserObjectMulti, UserObjectGeometry] -) -> Union[MainGridUserInput, SubgridUserInput]: - """Returns a point checker class based on the grid supplied.""" - - if isinstance(grid, SubGridBaseGrid): - # Local object configuration trumps. User can turn off autotranslate for - # specific objects. - if not user_obj.autotranslate and config.sim_config.args.autotranslate: - return MainGridUserInput(grid) - - if config.sim_config.args.autotranslate: - return SubgridUserInput(grid) - else: - return MainGridUserInput(grid) - else: - return MainGridUserInput(grid) - - class UserInput: """Handles (x, y, z) points supplied by the user."""