Skip to content

Commit 2783f32

Browse files
Copilotlachlangrose
andcommitted
Fix fault dip display by retrieving value from stored data
Co-authored-by: lachlangrose <7371904+lachlangrose@users.noreply.github.com>
1 parent 945ac45 commit 2783f32

1 file changed

Lines changed: 19 additions & 1 deletion

File tree

‎loopstructural/gui/modelling/geological_model_tab/feature_details_panel.py‎

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -578,9 +578,27 @@ def __init__(self, parent=None, *, fault=None, model_manager=None, data_manager=
578578
if fault is None:
579579
raise ValueError("Fault must be provided.")
580580
self.fault = fault
581-
dip = normal_vector_to_strike_and_dip(fault.fault_normal_vector)[0, 1]
581+
582+
# Try to get dip from stored fault data first
583+
dip = None
584+
if model_manager is not None and fault.name in model_manager.faults:
585+
fault_data = model_manager.faults[fault.name].get('data')
586+
if fault_data is not None and 'dip' in fault_data.columns and not fault_data.empty:
587+
dip = fault_data['dip'].mean()
588+
589+
# Fallback: calculate from normal vector if not found in stored data
590+
if dip is None:
591+
try:
592+
dip = normal_vector_to_strike_and_dip(fault.fault_normal_vector)[0, 1]
593+
except Exception:
594+
dip = 90 # Default value if calculation fails
582595

583596
pitch = 0
597+
if model_manager is not None and fault.name in model_manager.faults:
598+
fault_data = model_manager.faults[fault.name].get('data')
599+
if fault_data is not None and 'pitch' in fault_data.columns and not fault_data.empty:
600+
pitch = fault_data['pitch'].mean()
601+
584602
self.fault_parameters = {
585603
'displacement': fault.displacement,
586604
'major_axis_length': fault.fault_major_axis,

0 commit comments

Comments
 (0)