sec_interp.core.models.settings_model module
Settings models using dataclasses for validation.
Provides a structured and validated way to handle plugin configurations.
- class sec_interp.core.models.settings_model.DemSettings(layer_id: str = '', layer_name: str = '', band: int = 1, scale: float = 50000.0, vert_exag: float = 1.0)
Bases:
objectSettings for the DEM page.
- __post_init__() None
Validate settings after initialization.
- band: int = 1
- layer_id: str = ''
- layer_name: str = ''
- scale: float = 50000.0
- vert_exag: float = 1.0
- class sec_interp.core.models.settings_model.DrillholeSettings(collar_layer_id: str = '', collar_layer_name: str = '', collar_id_field: str = '', use_geom: bool = True, collar_x_field: str = '', collar_y_field: str = '', collar_z_field: str = '', collar_depth_field: str = '', survey_layer_id: str = '', survey_layer_name: str = '', survey_id_field: str = '', survey_depth_field: str = '', survey_azim_field: str = '', survey_incl_field: str = '', interval_layer_id: str = '', interval_layer_name: str = '', interval_id_field: str = '', interval_from_field: str = '', interval_to_field: str = '', interval_lith_field: str = '', export_3d_traces: bool = True, export_3d_intervals: bool = True, export_3d_original: bool = True, export_3d_projected: bool = False)
Bases:
objectSettings for the Drillhole page.
- collar_depth_field: str = ''
- collar_id_field: str = ''
- collar_layer_id: str = ''
- collar_layer_name: str = ''
- collar_x_field: str = ''
- collar_y_field: str = ''
- collar_z_field: str = ''
- export_3d_intervals: bool = True
- export_3d_original: bool = True
- export_3d_projected: bool = False
- export_3d_traces: bool = True
- interval_from_field: str = ''
- interval_id_field: str = ''
- interval_layer_id: str = ''
- interval_layer_name: str = ''
- interval_lith_field: str = ''
- interval_to_field: str = ''
- survey_azim_field: str = ''
- survey_depth_field: str = ''
- survey_id_field: str = ''
- survey_incl_field: str = ''
- survey_layer_id: str = ''
- survey_layer_name: str = ''
- use_geom: bool = True
- class sec_interp.core.models.settings_model.GeologySettings(layer_id: str = '', layer_name: str = '', field: str = '')
Bases:
objectSettings for the Geology page.
- field: str = ''
- layer_id: str = ''
- layer_name: str = ''
- class sec_interp.core.models.settings_model.InterpretationSettings(inherit_geol: bool = True, inherit_drill: bool = True, custom_fields: list[dict[str, ~typing.Any]]=<factory>)
Bases:
objectSettings for the Interpretation page.
- custom_fields: list[dict[str, Any]]
- inherit_drill: bool = True
- inherit_geol: bool = True
- class sec_interp.core.models.settings_model.PluginSettings(section: SectionSettings = <factory>, dem: DemSettings = <factory>, geology: GeologySettings = <factory>, structure: StructureSettings = <factory>, drillhole: DrillholeSettings = <factory>, interpretation: InterpretationSettings = <factory>, preview: PreviewSettings = <factory>, last_output_dir: str = '')
Bases:
objectMain container for all plugin settings.
- dem: DemSettings
- drillhole: DrillholeSettings
- classmethod from_dict(data: dict[str, Any]) PluginSettings
Create a PluginSettings instance from a dictionary with validation.
- geology: GeologySettings
- interpretation: InterpretationSettings
- last_output_dir: str = ''
- preview: PreviewSettings
- section: SectionSettings
- structure: StructureSettings
- to_dict() dict[str, Any]
Convert settings to a nested dictionary for easier persistence/inspection.
- class sec_interp.core.models.settings_model.PreviewSettings(show_topo: bool = True, show_geol: bool = True, show_struct: bool = True, show_drillholes: bool = True, show_interpretations: bool = True, show_legend: bool = True, auto_lod: bool = False, adaptive_sampling: bool = True, max_points: int = 10000)
Bases:
objectSettings for the preview widget.
- __post_init__() None
Validate settings after initialization.
- adaptive_sampling: bool = True
- auto_lod: bool = False
- max_points: int = 10000
- show_drillholes: bool = True
- show_geol: bool = True
- show_interpretations: bool = True
- show_legend: bool = True
- show_struct: bool = True
- show_topo: bool = True
- class sec_interp.core.models.settings_model.SectionSettings(layer_id: str = '', layer_name: str = '', buffer_dist: float = 100.0)
Bases:
objectSettings for the Section page.
- __post_init__() None
Validate settings after initialization.
- buffer_dist: float = 100.0
- layer_id: str = ''
- layer_name: str = ''
- class sec_interp.core.models.settings_model.StructureSettings(layer_id: str = '', layer_name: str = '', dip_field: str = '', strike_field: str = '', dip_scale_factor: float = 1.0)
Bases:
objectSettings for the Structure page.
- __post_init__() None
Validate settings after initialization.
- dip_field: str = ''
- dip_scale_factor: float = 1.0
- layer_id: str = ''
- layer_name: str = ''
- strike_field: str = ''