sec_interp.core.interfaces.structure_interface module

Interface for Structure services.

class sec_interp.core.interfaces.structure_interface.IStructureService

Bases: ABC

Abstract interface for the Structural Projection Service.

abstractmethod project_structures(line_points: list[tuple[float, float]], struct_data: list[dict[str, Any]], elevation_sampler: Callable[[float, float], float], line_az: float, dip_field: str, strike_field: str) → Any

Project detached structural measurements onto the section plane.

Parameters:
  • line_points – Section line vertices as (x, y) tuples.

  • struct_data – List of detached structures ({"point", "attributes"}).

  • elevation_sampler – Callable sampling elevation at (x, y).

  • line_az – Azimuth of the section line.

  • dip_field – Name of the dip field.

  • strike_field – Name of the strike field.

Returns:

List of StructureMeasurement objects.

Return type:

StructureData