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).