![]() |
Fréchet View
1.6.0
A Tool for Exploring Fréchet Distance Algorithms
|
Abstract base class for executing the algorithm for simple polygons in a background thread. As any worker job, it may be interrupted by the user.
#include <jobs.h>
Inherits frechet::app::WorkerJob.
Inherited by frechet::poly::DecideWorkerJob, frechet::poly::OptimiseCurveWorkerJob, and frechet::poly::OptimisePolyWorkerJob.
Public Member Functions | |
PolygonWorkerJob (poly::Algorithm::ptr analg, frechet::FreeSpace::ptr anfs, frechet::reach::FSPath::ptr apath, double aparam) | |
default constructor More... | |
virtual void | runAlg ()=0 |
implemented by derived classes More... | |
virtual void | runJob () override |
implements abstract method. Sets up the cancel flags and delegates to runAlg(). More... | |
virtual void | afterInterrupted () override |
implements abstract method. Handles user interruption. Resets the status of the algorithm (see poly::Algorithm::Status). More... | |
![]() | |
virtual void | run () override |
abstract method that performs the long-running task More... | |
Protected Attributes | |
poly::Algorithm::ptr | alg |
the algorithm More... | |
frechet::FreeSpace::ptr | fs |
the underlying free-space More... | |
frechet::reach::FSPath::ptr | fspath |
holds the feasible path on return More... | |
poly::Algorithm::Status | status_before |
previous algorithm status; will be reset in the case of user interruption More... | |
double | param |
parameter to the algorithm (epsilon) More... | |
Additional Inherited Members | |
![]() | |
volatile bool | cancelRequested |
cancellation flag More... | |
|
inline |
|
inlineoverridevirtual |
implements abstract method. Handles user interruption. Resets the status of the algorithm (see poly::Algorithm::Status).
Implements frechet::app::WorkerJob.
|
pure virtual |
implemented by derived classes
Implemented in frechet::poly::OptimiseCurveWorkerJob, frechet::poly::OptimisePolyWorkerJob, and frechet::poly::DecideWorkerJob.
|
inlineoverridevirtual |
implements abstract method. Sets up the cancel flags and delegates to runAlg().
Implements frechet::app::WorkerJob.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |