# sec_interp.core.services.drillhole.trajectory_engine module

Engine for calculating and projecting drillhole trajectories.

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: qgis.core.QgsPointXY, collar_z: float, given_depth: float, survey_data: list[tuple[float, float, float]], intervals: list[tuple[float, float, str]], line_geom: qgis.core.QgsGeometry, line_start: qgis.core.QgsPointXY, distance_area: qgis.core.QgsDistanceArea, buffer_width: float, section_azimuth: float) → tuple[list[GeologySegment], DrillholeProjection]

    Core logic for a single hole processing.