In the OR GUI a user might request a large number of paths and decide they would like to cancel. There is currently no way to do that as findPathEnds is uninterruptable. There is also no way to show progress. Are you open to an additional argument like:
class Progress
{
public:
// A true return value indicates to continue; false indicates stop early
virtual bool reportProgress(const int progress) = 0;
virtual ~Progress() {}
};
You would call it from time to time at point where interruption would make sense (e.g. every N paths). OR would pass a derived class object in that would interact with the GUI.
In the OR GUI a user might request a large number of paths and decide they would like to cancel. There is currently no way to do that as findPathEnds is uninterruptable. There is also no way to show progress. Are you open to an additional argument like:
You would call it from time to time at point where interruption would make sense (e.g. every N paths). OR would pass a derived class object in that would interact with the GUI.