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