sec_interp.gui.tasks.geology_task module

class sec_interp.gui.tasks.geology_task.GeologyGenerationTask(*args: Any, **kwargs: Any)[source]

Bases: QgsTask

Background task for generating geological profiles.

This task executes the geometric intersection logic in a separate thread, using only detached data (DTOs) to ensure thread safety.

__init__(service: GeologyService, task_input: GeologyTaskInput, on_finished: Callable[[GeologyData], None], on_error: Callable[[str], None] | None = None)[source]

Initialize the task.

Parameters:
  • service – The GeologyService instance (stateless logic).

  • task_input – The detached data input DTO.

  • on_finished – Callback function to receive results (list of segments).

  • on_error – Optional callback for error handling.

finished(result: bool)[source]

Handle task completion on Main Thread.

run() bool[source]

Execute the task in background thread.