.. role:: blue :class: blue IProgressIndicator Progress Indicator ====================================== .. _IProgressIndicator_Progress_Indicator_: The progress indicator (or simply indicator) provides feedback from the converter to the user. During data exchange, the converter calls various methods. The method for setting the range of steps, step size, and displayed information about the process is .. code-block:: cpp bool Initialize( size_t range, size_t delta, IStrData & massage ). The method for reporting the completion of a certain number of steps is .. code-block:: cpp bool Progress( size_t n ). The method returns an indication of whether the operation should continue. The method for obtaining information about whether the operation should be interrupted at the user's request is .. code-block:: cpp bool IsCancel(). The method for informing the user that the operation has been completed is .. code-block:: cpp void Success(). The method for informing the user about an emergency stop of the process is .. code-block:: cpp void Stop(). The user can define a method for transmitting information about whether a forced stop of the process should be performed. As a standard method, the user is suggested to implement the method .. code-block:: cpp void SetCancel( bool cancel ); The :blue:`IProgressIndicator` interface is declared in the *alg_indicator.h* file. In the test application, the :blue:`ProgressIndicatorImp` class represents one of the possible implementations of the indicator. The :blue:`ProgressIndicatorImp` class is declared and implemented in the *test_converter.cpp* file of the C3D geometric kernel test application.