sec_interp.core.services.drillhole.trajectory_engine module

Engine for calculating and projecting drillhole trajectories (pure).

class sec_interp.core.services.drillhole.trajectory_engine.TrajectoryEngine

Bases: object

Orchestrates trajectory calculation and projection for individual drillholes.

__init__() → None

Initialize the trajectory engine.

create_drillhole_result(hole_id: Any, projected_traj: list[tuple], hole_geol_data: list[GeologySegment], collar_proj: Any = None) → DrillholeProjection

Create the final DrillholeProjection for a drillhole.

process_single_hole(hole_id: Any, collar_point: tuple[float, float], collar_z: float, given_depth: float, survey_data: list[tuple[float, float, float]], intervals: list[tuple[float, float, str]], line_points: list[tuple[float, float]], buffer_width: float, section_azimuth: float) → tuple[list[GeologySegment], DrillholeProjection]

Core logic for a single hole processing.