Индикатор процесса выполнения IProgressIndicator
Индикатор процесса выполнения (или просто индикатор) обеспечивает обратную связь конвертера с пользователем. В ходе обмена данными конвертер обращается к различным методам.
Для установки диапазона шагов, размера шага и отображаемых сведений о процессе служит метод
bool Initialize( size_t range, size_t delta, IStrData & massage ).
Для сообщения о выполнении некоторого числа шагов служит метод
bool Progress( size_t n ).
Метод возвращает признак того, следует ли продолжать операцию.
Для получения сведений о том, следует ли прерывать операцию по требованию пользователя, служит метод
bool IsCancel().
Для информирования пользователя о том, что операция завершена, служит метод
void Success().
Для информирования пользователя об аварийной остановке процесса служит метод
void Stop().
Пользователь может определить способ передачи информации о том, следует ли выполнить принудительную остановку процесса. В качестве стандартного способа пользователю предлагается реализовать метод
void SetCancel( bool cancel );
Интерфейс IProgressIndicator объявлен в файле alg_indicator.h.
В тестовом приложении класс ProgressIndicatorImp представляет собой одну из возможных реализаций индикатора.
Класс ProgressIndicatorImp объявлен и реализован в файле test_converter.cpp тестового приложения геометрического ядра C3D.