mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-04-09 18:50:54 +03:00
Progress indication mechanism is refactored to support incrementing progress within multithreaded algorithms. The class Message_ProgressIndicator is only an interface to the user application. It accumulates the progress provided by progress scopes. The counter is protected by mutex for thread-safety. The new class Message_ProgressScope replacing Message_ProgressSentry should be used to advance the progress. The scopes are nested to each other to reflect the nested nature of operations. The new class Message_ProgressRange should be used to pass the progress to sub-scopes. All OCCT algorithms involving progress indication have been updated to new API. Improvements in Draw_ProgressIndicator: - Separate console mode has been added in order to make possible to put the progress into std::cout instead or in addition to the draw interpreter, instead of trigger option "-tclOutput". - Treatment of Ctrl-Break signal has been added. Now any operation can be aborted by Ctrl-C or Ctrl-Break keystroke. Added new test case 'perf fclasses progr_par' for testing of parallel work of the progress.
36 lines
686 B
Plaintext
36 lines
686 B
Plaintext
#INTERFACE CAF
|
|
# Message_ProgressIndicator
|
|
#
|
|
# Testing attribute: TDocStd_Application
|
|
#
|
|
# Testing command: Open
|
|
#
|
|
|
|
puts "caf009-B1"
|
|
|
|
set bDoc [CreateBinDoc]
|
|
|
|
# Configurate XProgress
|
|
XProgress +t
|
|
|
|
# Open binary document
|
|
if {${bDoc} == "" } {
|
|
puts "Error: Open command for binary files: Error, wrong path"
|
|
return
|
|
}
|
|
|
|
set output [Open ${bDoc} Doc]
|
|
|
|
# Close the document
|
|
Close Doc
|
|
|
|
# Test data
|
|
set ctr {"0%" "Reading data" "Reading geomentry" "Reading curves 2d"
|
|
"Reading surfaces" "Reading Shapes" "Reading sub tree" "100%" }
|
|
|
|
foreach data ${ctr} {
|
|
if ![regexp $data $output] {
|
|
puts "Error: Open command for binary files: Mismatch data on '$data'"
|
|
break
|
|
}
|
|
} |