# sec_interp.core.services.drillhole.projection_engine module

Pure geometric projection logic for drillhole operations.

class sec_interp.core.services.drillhole.projection_engine.ProjectionEngine

  Bases: `object`

  Encapsulates geometric projection logic.

  static project_point_to_line(pt: qgis.core.QgsPointXY, line_geom: qgis.core.QgsGeometry, line_start: qgis.core.QgsPointXY, da: qgis.core.QgsDistanceArea) → tuple[float, float]

    Project point to line and return (dist_along, offset).

    Parameters:

      - pt – The point to project.

      - line_geom – The profile line geometry.

      - line_start – The start point of the profile (dist=0).

      - da – Distance area object for measurements.

    Returns:

      Tuple of (distance_along_line, offset_from_line).