Индикатор процесса выполнения 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.