Remove performance comparing with hardcoded value.
Test cases for performance of some commands were moved to perf group.
Updated documentation.
* 1 -- outputs only differences;
* 2 -- additionally outputs the list of logs and directories present in one of directories only;
* 3 -- (by default) additionally outputs progress messages;
+* <i>-image [filename]</i> - compare images and save the resulting log in specified file (<i>$dir1/diffimage-$dir2.log</i> by default)
+* <i>-cpu [filename]</i> - compare overall CPU and save the resulting log in specified file (<i>$dir1/diffcpu-$dir2.log</i> by default)
+* <i>-memory [filename]</i> - compare memory delta and save the resulting log in specified file (<i>$dir1/diffmemory-$dir2.log</i> by default)
+* <i>-highlight_percent \<value\></i> - highlight considerable (>value in %) deviations of CPU and memory (default value is 5%)
Example:
~~~~~
-Draw[]> testdiff results-CR12345-2012-10-10T08:00 results-master-2012-10-09T21:20
+Draw[]> testdiff results/CR12345-2012-10-10T08:00 results/master-2012-10-09T21:20
+~~~~~
+
+Particular tests can generate additional data that need to be compared by *testdiff* command.
+For that, for each parameter to be controlled, the test should produce the line containing keyword "COUNTER* followed by arbitrary name of the parameter, then colon and numeric value of the parameter.
+
+Example of test code:
+
+~~~~~
+puts "COUNTER Memory heap usage at step 5: [meminfo h]"
~~~~~
@section testmanual_5 APPENDIX
Syntax:
~~~~~
-chrono [ name start/stop/reset/show]
+chrono [ name start/stop/reset/show/restart/[counter text]]
~~~~~
Without arguments, **chrono** activates Draw chronometers. The elapsed time ,cpu system and cpu user times for each command will be printed.
* run the chronometer (start).
* stop the chronometer (stop).
* reset the chronometer to 0 (reset).
+ * restart the chronometer (restart).
* display the current time (show).
+ * display the current time with specified text (output example - *COUNTER text: N*), command <i>testdiff</i> will compare such outputs between two test runs (counter).
**Example:**
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{.cpp}
C->Timer().Reset();
}
else {
- if (!strcasecmp(a[2],"reset"))
- C->Timer().Reset();
- if (!strcasecmp(a[2],"start"))
- C->Timer().Start();
- if (!strcasecmp(a[2],"stop"))
- C->Timer().Stop();
- if (!strcasecmp(a[2],"show"))
- C->Timer().Show();
+ for (Standard_Integer anIter = 2; anIter < n; ++anIter)
+ {
+ TCollection_AsciiString anArg (a[anIter]);
+ anArg.LowerCase();
+
+ if (anArg == "reset")
+ {
+ C->Timer().Reset();
+ }
+ else if (anArg == "restart")
+ {
+ C->Timer().Restart();
+ }
+ else if (anArg == "start")
+ {
+ C->Timer().Start();
+ }
+ else if (anArg == "stop")
+ {
+ C->Timer().Stop();
+ }
+ else if (anArg == "show")
+ {
+ C->Timer().Show();
+ }
+ else if (anArg == "counter")
+ {
+ Standard_Real aSeconds,aCPUtime;
+ Standard_Integer aMinutes, aHours;
+ C->Timer().Show(aSeconds,aMinutes,aHours,aCPUtime);
+ std::cout << "COUNTER " << a[++anIter] << ": " << aCPUtime << "\n";
+ }
+ else
+ {
+ std::cerr << "Unknown argument '" << a[anIter] << "'!\n";
+ }
+ }
}
}
return 0;
}
-static Standard_Integer dchronom(Draw_Interpretor& I,
+static Standard_Integer dchronom(Draw_Interpretor& theDI,
Standard_Integer n,const char** a)
{
if ((n == 1) || (*a[1] == '0') || (*a[1] == '1')) {
else
Draw_Chrono = (*a[1] == '1');
- if (Draw_Chrono) I << "Chronometers activated.\n";
- else I << "Chronometers desactivated.\n";
+ if (Draw_Chrono) theDI << "Chronometers activated.\n";
+ else theDI << "Chronometers desactivated.\n";
}
else {
Handle(Draw_Drawable3D) D = Draw::Get(a[1]);
}
if (C.IsNull()) {
C = new Draw_Chronometer();
- Draw::Set(a[1],C,Standard_False);
+ Draw::Set(a[1],C,Standard_False);
}
if (n <= 2) {
C->Timer().Reset();
}
else {
- if (!strcasecmp(a[2],"reset"))
- C->Timer().Reset();
- if (!strcasecmp(a[2],"start"))
- C->Timer().Start();
- if (!strcasecmp(a[2],"stop"))
- C->Timer().Stop();
- if (!strcasecmp(a[2],"show")) {
- Standard_SStream ss;
- C->Timer().Show(ss);
- I << ss;
+ for (Standard_Integer anIter = 2; anIter < n; ++anIter)
+ {
+ TCollection_AsciiString anArg (a[anIter]);
+ anArg.LowerCase();
+
+ if (anArg == "reset")
+ {
+ C->Timer().Reset();
+ }
+ else if (anArg == "restart")
+ {
+ C->Timer().Restart();
+ }
+ else if (anArg == "start")
+ {
+ C->Timer().Start();
+ }
+ else if (anArg == "stop")
+ {
+ C->Timer().Stop();
+ }
+ else if (anArg == "show")
+ {
+ Standard_SStream ss;
+ C->Timer().Show(ss);
+ theDI << ss;
+ }
+ else if (anArg == "counter")
+ {
+ Standard_Real aSeconds,aCPUtime;
+ Standard_Integer aMinutes, aHours;
+ C->Timer().Show(aSeconds,aMinutes,aHours,aCPUtime);
+ theDI << "COUNTER " << a[++anIter] << ": " << aCPUtime << "\n";
+ }
+ else
+ {
+ theDI << "Unknown argument '" << a[anIter] << "'!\n";
+ }
}
}
}
return "$value1 / $value2 \[[format "%+5.2f%%" [expr 100 * ($value1 - $value2) / double($value2)]]\]"
}
+# procedure to check cpu user time
+proc _check_time {regexp_msg} {
+ upvar log log
+ upvar log1 log1
+ upvar log2 log2
+ upvar log_cpu log_cpu
+ upvar cpu cpu
+ upvar basename basename
+ upvar casename casename
+ set time1_list [dict create]
+ set time2_list [dict create]
+ set cpu_find UNDEFINED
+
+ foreach line1 [split $log1 "\n"] {
+ if { [regexp "${regexp_msg}" $line1 dump chronometer_name cpu_find] } {
+ dict set time1_list "${chronometer_name}" "${cpu_find}"
+ }
+ }
+
+ foreach line2 [split $log2 "\n"] {
+ if { [regexp "${regexp_msg}" $line2 dump chronometer_name cpu_find] } {
+ dict set time2_list "${chronometer_name}" "${cpu_find}"
+ }
+ }
+
+ if { [llength [dict keys $time1_list]] != [llength [dict keys $time2_list]] } {
+ puts "Error: number of dchrono/chrono COUNTER are different in the same test cases"
+ } else {
+ foreach key [dict keys $time1_list] {
+ set time1 [dict get $time1_list $key]
+ set time2 [dict get $time2_list $key]
+
+ # compare CPU user time with 10% precision (but not less 0.5 sec)
+ if { [expr abs ($time1 - $time2) > 0.5 + 0.05 * abs ($time1 + $time2)] } {
+ if {$cpu != false} {
+ _log_and_puts log_cpu "COUNTER $key: [split $basename /] $casename: [_diff_show_ratio $time1 $time2]"
+ } else {
+ _log_and_puts log "COUNTER $key: [split $basename /] $casename: [_diff_show_ratio $time1 $time2]"
+ }
+ }
+ }
+ }
+}
+
# Procedure to compare results of two runs of test cases
proc _test_diff {dir1 dir2 basename image cpu memory status verbose _logvar _logimage _logcpu _logmemory {_statvar ""}} {
upvar $_logvar log
continue
}
}
+
+ if { ! $image } {
+ # check CPU user time in test cases
+ set checkCPURegexp "COUNTER (.+): (\[-0-9.+eE\]+)"
+ if { [regexp "${checkCPURegexp}" $log1] &&
+ [regexp "${checkCPURegexp}" $log2] } {
+ _check_time "${checkCPURegexp}"
+ }
+ }
# check CPU times
if {$cpu != false || ($image == false && $cpu == false && $memory == false)} {
Cumul_user = Cumul_sys = 0.;
}
+
+//=======================================================================
+//function : Restart
+//purpose :
+//=======================================================================
+void OSD_Chronometer::Restart ()
+{
+ Stopped = Standard_True;
+ Start();
+}
+
//=======================================================================
//function : Stop
//purpose :
//! Stops and Reinitializes the Chronometer.
Standard_EXPORT virtual void Reset();
-
+
+ //! Restarts the Chronometer.
+ Standard_EXPORT virtual void Restart();
+
//! Stops the Chronometer.
Standard_EXPORT virtual void Stop();
OSD_Chronometer::Reset();
}
+//=======================================================================
+//function : Restart
+//purpose :
+//=======================================================================
+
+void OSD_Timer::Restart ()
+{
+ TimeStart = GetWallClockTime();
+ TimeCumul = 0.;
+ OSD_Chronometer::Restart();
+}
+
//=======================================================================
//function : Show
//purpose :
//! Stops and reinitializes the timer with zero elapsed time.
Standard_EXPORT virtual void Reset() Standard_OVERRIDE;
-
+
+ //! Restarts the Timer.
+ Standard_EXPORT virtual void Restart() Standard_OVERRIDE;
+
//! Shows both the elapsed time and CPU time on the standard output
//! stream <cout>.The chronometer can be running (Lap Time) or
//! stopped.
+++ /dev/null
-puts " BUC60068 "
-puts "If scales by 1000, time to compute is 10 times greater "
-##
-## mod pkv from
-restore [locate_data_file buc60068a.rle] a
-restore [locate_data_file buc60068b.rle] b
-restore [locate_data_file buc60068a.rle] c
-restore [locate_data_file buc60068b.rle] d
-restore [locate_data_file buc60068a.rle] e
-restore [locate_data_file buc60068b.rle] f
-restore [locate_data_file buc60068a.rle] g
-restore [locate_data_file buc60068b.rle] h
-## mod pkv from
-##
-
-## fuse
-dchrono j start
-bfuse resab a b
-dchrono j stop
-
-tscale c 0 0 0 100
-tscale d 0 0 0 100
-dchrono k start
-bfuse rescd c d
-dchrono k stop
-
-tscale e 0 0 0 1000
-tscale f 0 0 0 1000
-dchrono l start
-bfuse resef e f
-dchrono l stop
-
-tscale g 0 0 0 10000
-tscale h 0 0 0 10000
-dchrono m start
-bfuse resgh g h
-dchrono m stop
-
-regexp {CPU user time: ([0-9|.]+) seconds} [dchrono j show] full Jseconds
-regexp {CPU user time: ([0-9|.]+) seconds} [dchrono k show] full Kseconds
-regexp {CPU user time: ([0-9|.]+) seconds} [dchrono l show] full Lseconds
-regexp {CPU user time: ([0-9|.]+) seconds} [dchrono m show] full Mseconds
-
-#sometimes CPU user time may be 0
-set Jtime [expr ($Jseconds * 1.1) + 0.2]
-set Ktime $Kseconds
-set Ltime $Lseconds
-set Mtime $Mseconds
-
-if { $Jtime < $Ktime || $Jtime < $Ltime || $Jtime < $Mtime} {
- puts "Error: incorrect performance of bfuse operation:"
- puts "SCALE=1 : $Jtime seconds."
- puts "SCALE=100 : $Ktime seconds."
- puts "SCALE=1000 : $Ltime seconds."
- puts "SCALE=10000 : $Mtime seconds."
-}
-
-compound resab rescd resef resgh result
-
-checkprops result -s 2.5e+13
-checkview -display result -2d -otherwise { a b c d e f g h } -s -path ${imagedir}/${test_image}.png
+++ /dev/null
-puts " BUC60068 "
-puts "If scales by 1000, time to compute is 10 times greater "
-##
-## mod pkv from
-restore [locate_data_file buc60068a.rle] a
-restore [locate_data_file buc60068b.rle] b
-restore [locate_data_file buc60068a.rle] c
-restore [locate_data_file buc60068b.rle] d
-restore [locate_data_file buc60068a.rle] e
-restore [locate_data_file buc60068b.rle] f
-restore [locate_data_file buc60068a.rle] g
-restore [locate_data_file buc60068b.rle] h
-## mod pkv from
-##
-
-## section
-dchrono j start
-bsection resab a b
-dchrono j stop
-
-tscale c 0 0 0 100
-tscale d 0 0 0 100
-dchrono k start
-bsection rescd c d
-dchrono k stop
-
-tscale e 0 0 0 1000
-tscale f 0 0 0 1000
-dchrono l start
-bsection resef e f
-dchrono l stop
-
-tscale g 0 0 0 10000
-tscale h 0 0 0 10000
-dchrono m start
-bsection resgh g h
-dchrono m stop
-
-regexp {CPU user time: ([0-9|.]+) seconds} [dchrono j show] full Jseconds
-regexp {CPU user time: ([0-9|.]+) seconds} [dchrono k show] full Kseconds
-regexp {CPU user time: ([0-9|.]+) seconds} [dchrono l show] full Lseconds
-regexp {CPU user time: ([0-9|.]+) seconds} [dchrono m show] full Mseconds
-
-#sometimes CPU user time may be 0
-set Jtime [expr ($Jseconds * 1.1) + 0.2]
-set Ktime $Kseconds
-set Ltime $Lseconds
-set Mtime $Mseconds
-
-if { $Jtime < $Ktime || $Jtime < $Ltime || $Jtime < $Mtime} {
- puts "Error: incorrect performance of bsection operation:"
- puts "SCALE=1 : $Jtime seconds."
- puts "SCALE=100 : $Ktime seconds."
- puts "SCALE=1000 : $Ltime seconds."
- puts "SCALE=10000 : $Mtime seconds."
-}
-
-compound resab rescd resef resgh result
-
-checkprops result -l 1.41538e+07
-checksection result
-checkview -display result -2d -otherwise { a b c d e f g h } -l -path ${imagedir}/${test_image}.png
+++ /dev/null
-
-puts "===== OCC1454 ====="
-#######################################################################################
-# Improve performance of TDF_Label::FindChild
-#######################################################################################
-
-puts "Info: Open the document with 80000 sublabels of the label 0:2"
-dchrono h reset
-dchrono h start
-Open [locate_data_file OCC1726.cbf] D
-dchrono h stop
-set TimeList [dchrono h show]
-
-regexp {Elapsed time: [-0-9.+eE]+ Hours ([-0-9.+eE]+) Minutes ([-0-9.+eE]+) Seconds} $TimeList full ElapsedTime_min ElapsedTime_sec
-regexp {CPU user time: ([-0-9.+eE]+) seconds} $TimeList full CPUusertime
-regexp {CPU system time: ([-0-9.+eE]+) seconds} $TimeList full CPUsystemtime
-
-puts "ElapsedTime = ${ElapsedTime_min} min ${ElapsedTime_sec} sec CPUusertime = ${CPUusertime} CPUsystemtime = ${CPUsystemtime}"
-
-if { ${ElapsedTime_sec} > 20.0 || ${ElapsedTime_min} != 0 } {
- puts "Elapsed time is more then 20.0 seconds - Faulty"
- puts "Faulty OCC1454"
-} elseif { ${CPUusertime} > 12 } {
- puts "CPUusertime is more then 12 seconds - Faulty"
- puts "Faulty OCC1454"
-} elseif { ${CPUsystemtime} > 0.6 } {
- puts "CPUsystemtime is more then 0.6 seconds"
- puts "Faulty OCC1454"
-} else {
- puts "Elapsed time is less then 20 seconds - OK"
- puts "CPU user time is less then 12 seconds - OK"
- puts "CPU system time is less then 0.6 seconds - OK"
- puts "OK for OCC1454"
-}
+++ /dev/null
-
-puts "===== OCC1454 ====="
-#######################################################################################
-# Improve performance of TDF_Label::FindChild
-#######################################################################################
-
-puts "Info: Open the document with 80000 sublabels of the label 0:2"
-dchrono h reset
-dchrono h start
-Open [locate_data_file OCC1726.std] D
-dchrono h stop
-set TimeList [dchrono h show]
-
-regexp {Elapsed time: [-0-9.+eE]+ Hours ([-0-9.+eE]+) Minutes ([-0-9.+eE]+) Seconds} $TimeList full ElapsedTime_min ElapsedTime_sec
-regexp {CPU user time: ([-0-9.+eE]+) seconds} $TimeList full CPUusertime
-regexp {CPU system time: ([-0-9.+eE]+) seconds} $TimeList full CPUsystemtime
-
-puts "ElapsedTime = ${ElapsedTime_min} min ${ElapsedTime_sec} sec CPUusertime = ${CPUusertime} CPUsystemtime = ${CPUsystemtime}"
-
-if { ${ElapsedTime_sec} > 20.0 || ${ElapsedTime_min} != 0 } {
- puts "Elapsed time is more then 20.0 seconds - Faulty"
- puts "Faulty OCC1454"
-} elseif { ${CPUusertime} > 12 } {
- puts "CPUusertime is more then 12 seconds - Faulty"
- puts "Faulty OCC1454"
-} elseif { ${CPUsystemtime} > 0.6 } {
- puts "CPUsystemtime is more then 0.6 seconds"
- puts "Faulty OCC1454"
-} else {
- puts "Elapsed time is less then 20 seconds - OK"
- puts "CPU user time is less then 12 seconds - OK"
- puts "CPU system time is less then 0.6 seconds - OK"
- puts "OK for OCC1454"
-}
+++ /dev/null
-puts "================"
-puts "OCC1726"
-puts "================"
-puts ""
-#######################################################################################
-# TDF_LabelNode::~TDF_LabelNode causes stack overflow
-#######################################################################################
-
-puts "Info: Open the document with 80000 sublabels of the label 0:2"
-chrono h reset; chrono h start
-Open [locate_data_file OCC1726.cbf] D
-chrono h stop; chrono h show
-
-set IsGood 1
-puts "Info: Close the document"
-chrono h reset; chrono h start
-if [catch {Close D} result] {
- set IsGood 0
-}
-chrono h stop; chrono h show
-
-if { ${IsGood} == 0} {
- puts "Faulty OCC1726"
-} else {
- puts "OK OCC1726"
-}
+++ /dev/null
-puts "================"
-puts "OCC1726"
-puts "================"
-puts ""
-#######################################################################################
-# TDF_LabelNode::~TDF_LabelNode causes stack overflow
-#######################################################################################
-
-puts "Info: Open the document with 80000 sublabels of the label 0:2"
-chrono h reset; chrono h start
-Open [locate_data_file OCC1726.std] D
-chrono h stop; chrono h show
-
-set IsGood 1
-puts "Info: Close the document"
-chrono h reset; chrono h start
-if [catch {Close D} result] {
- set IsGood 0
-}
-chrono h stop; chrono h show
-
-if { ${IsGood} == 0} {
- puts "Faulty OCC1726"
-} else {
- puts "OK OCC1726"
-}
+++ /dev/null
-puts "=========="
-puts "OCC2793"
-puts "=========="
-puts ""
-########################################################################
-# BinOcaf: low performance saving documents with large attributes
-########################################################################
-
-NewDocument D BinOcaf
-
-# Loaded shapes for attributes
-restore [locate_data_file Radhaus.brep] shape1
-restore [locate_data_file shading_wrongshape_009.brep] shape2
-restore [locate_data_file FORM-11.brep] shape3
-restore [locate_data_file OCC22759-weldt6.brep] shape4
-restore [locate_data_file BPLSEITRE.brep] shape5
-restore [locate_data_file OCC22302.brep] shape6
-restore [locate_data_file ROVER.brep] shape7
-restore [locate_data_file bug24083_polyline.brep] shape8
-
-# Create a label
-set lab1 [Label D 0:2]
-set lab2 [Label D 0:3]
-set lab3 [Label D 0:4]
-set lab4 [Label D 0:5]
-set lab5 [Label D 0:6]
-set lab6 [Label D 0:7]
-set lab7 [Label D 0:8]
-set lab8 [Label D 0:9]
-
-# Load shapes on labels
-NewShape D ${lab1} shape1
-NewShape D ${lab2} shape2
-NewShape D ${lab3} shape3
-NewShape D ${lab4} shape4
-NewShape D ${lab5} shape5
-NewShape D ${lab6} shape6
-NewShape D ${lab7} shape7
-NewShape D ${lab8} shape8
-
-# Save document
-file delete -force ${imagedir}/2793.cbf
-dchrono h reset
-dchrono h start
-SaveAs D ${imagedir}/2793.cbf
-dchrono h stop
-Close D
-
-# Check
-set info [dchrono h show]
-regexp {CPU user time: ([-0-9.+eE]+) seconds} $info full cpu_time
-
-set max_time 100
-if { [regexp {Debug mode} [dversion]] } {
- set max_time 200
-}
-
-if { $cpu_time > ${max_time} } {
- puts "Error: performance saving document D is too low"
-} else {
- puts "OK: performance saving document D is high"
-}
+++ /dev/null
-puts "================"
-puts "OCC5023"
-puts "================"
-puts ""
-######################################################
-# Performance regression in opening OCAF file
-######################################################
-
-set aFile [locate_data_file OCC5023.cbf]
-
-puts "Info: Restore the document"
-
-if [info exists DD] {
- catch {Close DD}; unset DD
-}
-
-dchrono h reset
-dchrono h start
-
-Open ${aFile} DD
-dchrono h stop
-set list [dchrono h show]
-Close DD
-
-regexp {CPU user time: +([-0-9.+eE]+)} $list full CPU_user_time
-
-set Good_CPU_user_time 2.
-
-set CPU_user_time_percent [expr (${CPU_user_time} - ${Good_CPU_user_time}) / ${Good_CPU_user_time} * 100.]
-set percent_max 0.1
-
-puts "CPU_user_time = ${CPU_user_time}"
-puts "Good_CPU_user_time = ${Good_CPU_user_time}"
-puts "CPU_user_time_percent = ${CPU_user_time_percent}"
-
-if {${CPU_user_time_percent} > ${percent_max}} {
- puts "Faulty OCC5023 : CPU user time is wrong"
-}
-
+++ /dev/null
-puts "================"
-puts "OCC5023"
-puts "================"
-puts ""
-######################################################
-# Performance regression in opening OCAF file
-######################################################
-
-set aFile [locate_data_file OCC5023.std]
-
-puts "Info: Restore the document"
-
-if [info exists DD] {
- catch {Close DD}; unset DD
-}
-
-dchrono h reset
-dchrono h start
-
-Open ${aFile} DD
-dchrono h stop
-set list [dchrono h show]
-Close DD
-
-regexp {CPU user time: +([-0-9.+eE]+)} $list full CPU_user_time
-
-set Good_CPU_user_time 2.
-
-set CPU_user_time_percent [expr (${CPU_user_time} - ${Good_CPU_user_time}) / ${Good_CPU_user_time} * 100.]
-set percent_max 0.1
-
-puts "CPU_user_time = ${CPU_user_time}"
-puts "Good_CPU_user_time = ${Good_CPU_user_time}"
-puts "CPU_user_time_percent = ${CPU_user_time_percent}"
-
-if {${CPU_user_time_percent} > ${percent_max}} {
- puts "Faulty OCC5023 : CPU user time is wrong"
-}
-
+++ /dev/null
-puts "========"
-puts "OCC25514"
-puts "========"
-puts ""
-#########################################################################################
-# TKernel, OSD_Timer - do not accumulate error in timer within queries in running state
-#########################################################################################
-
-# Set number of cycle iteration
-set IterationCount 10000
-set iCounter 1
-
-# Set rank of timer's value
-set TimeRank 2
-
-# Start timers
-dchrono bug_info_1 reset
-dchrono bug_info_2 reset
-dchrono bug_info_1 start
-dchrono bug_info_2 start
-
-# Operation cycle (show only one timer state)
-while {$iCounter != $IterationCount} {
- dchrono bug_info_1 show
- set iCounter [expr {$iCounter + 1}]
-}
-
-# Stop timers
-dchrono bug_info_1 stop
-dchrono bug_info_2 stop
-
-# Get timers value
-set Timer_1 [dchrono bug_info_1 show]
-set Timer_2 [dchrono bug_info_2 show]
-
-# Modify timers value for comparison
-set TimerValue_1 [lindex $Timer_1 6]
-set TimerValue_1 [string range $TimerValue_1 0 [expr {[string first "." $TimerValue_1] + $TimeRank}]]
-set TimerValue_2 [lindex $Timer_2 6]
-set TimerValue_2 [string range $TimerValue_2 0 [expr {[string first "." $TimerValue_2] + $TimeRank}]]
-
-# Comparison of timer's values
-puts "Compare: [lindex $Timer_1 6] vs [lindex $Timer_2 6]"
-if {$TimerValue_1 != $TimerValue_2} {
- puts "ERROR: OCC25514 is reproduced."
-} else {
- puts "OK"
-}
+++ /dev/null
-puts "============"
-puts "OCC26184"
-puts "============"
-puts ""
-#######################################################################
-# GeomAPI_ExtremaCurveCurve hangs on parallel b-spline curves
-#######################################################################
-
-restore [locate_data_file bug26184_Curve_Extrema_1_12971.brep] a1
-restore [locate_data_file bug26184_Curve_Extrema_2_12971.brep] a2
-
-mkcurve c1 a1
-mkcurve c2 a2
-
-cpulimit 20
-
-dchrono h reset; dchrono h start
-extrema c1 c2
-dchrono h stop; dchrono h show
-
-regexp {CPU user time: (\d*)} [dchrono h show] dummy sec
-if {$sec > 10} {
- puts "Error: too long computation time $sec seconds"
-} else {
- puts "Computation time is OK"
-}
+++ /dev/null
-puts "============"
-puts "OCC26184"
-puts "============"
-puts ""
-#######################################################################
-# GeomAPI_ExtremaCurveCurve hangs on parallel b-spline curves
-#######################################################################
-
-restore [locate_data_file bug26184_Curve_Extrema_1_13767.brep] a1
-restore [locate_data_file bug26184_Curve_Extrema_2_13767.brep] a2
-
-mkcurve c1 a1
-mkcurve c2 a2
-
-cpulimit 20
-
-dchrono h reset; dchrono h start
-extrema c1 c2
-dchrono h stop; dchrono h show
-
-regexp {CPU user time: (\d*)} [dchrono h show] dummy sec
-if {$sec > 10} {
- puts "Error: too long computation time $sec seconds"
-} else {
- puts "Computation time is OK"
-}
+++ /dev/null
-puts "========"
-puts "OCC27131"
-puts "========"
-puts ""
-##############################################
-# DistShapeShape works slow on attached shapes
-##############################################
-restore [locate_data_file bug27131.brep] aShape
-explode aShape
-
-cpulimit 20
-
-# Check computation time
-chrono h reset; chrono h start
-for { set i 1 } { $i <= 100 } { incr i } {
- distmini d aShape_1 aShape_2
-}
-chrono h stop; chrono h show
-
-regexp {CPU user time: (\d*)} [dchrono h show] dummy sec
-if {$sec > 1} {
- puts "Error: too long computation time $sec seconds"
-} else {
- puts "Computation time is OK"
-}
-
-# Check result of distance distance
-set absTol 1.0e-10
-set relTol 0.001
-set aDist_Exp 0.0029087110153708622
-set aDist [dval d_val]
-checkreal "Distance value check" $aDist $aDist_Exp $absTol $relTol
\ No newline at end of file
+++ /dev/null
-puts "========"
-puts "OCC27371"
-puts "========"
-puts ""
-##############################################
-# Regression: BRepExtrema works too much slower in 691 (from 670)
-##############################################
-restore [locate_data_file bug27371.brep] aShape
-explode aShape
-
-cpulimit 20
-
-# Check computation time
-chrono h reset; chrono h start
-for { set i 1 } { $i <= 100 } { incr i } {
- distmini d aShape_1 aShape_2
- distmini d aShape_2 aShape_1
-}
-chrono h stop; chrono h show
-
-regexp {CPU user time: (\d*)} [dchrono h show] dummy sec
-if {$sec > 1} {
- puts "Error: too long computation time $sec seconds"
-} else {
- puts "Computation time is OK"
-}
-
-# Check result of distance distance
-set absTol 1.0e-10
-set relTol 0.001
-set aDist_Exp 0.2
-set aDist [dval d_val]
-checkreal "Distance value check" $aDist $aDist_Exp $absTol $relTol
\ No newline at end of file
+++ /dev/null
-puts "============"
-puts "OCC24596"
-puts "============"
-puts ""
-###############################
-## Slow import of IGES data
-###############################
-
-pload QAcommands
-
-if { [regexp {Debug mode} [dversion]] } {
- cpulimit 8500
- if { [regexp {Windows} [dversion]] } {
- set max_time 3000
- set max_time2 2300
- } else {
- set max_time 5500
- set max_time2 4000
- }
-} else {
- cpulimit 2600
- if { [regexp {Windows} [dversion]] } {
- set max_time 1100
- set max_time2 700
- } else {
- set max_time 1600
- set max_time2 1000
- }
-}
-
-# 1 - igesread
-dchrono h reset
-dchrono h start
-
-igesread [locate_data_file 100B_Nosecone_with_Triangular_FSS.igs] a 43479
-
-dchrono h stop
-set q [dchrono h show]
-
-regexp {CPU user time: ([-0-9.+eE]+) seconds} $q full z
-puts "$z"
-
-if { $z > ${max_time} } {
- puts "Elapsed time of igesread is more than ${max_time} seconds - Faulty"
-} else {
- puts "Elapsed time of igesread is less than ${max_time} seconds - OK"
-}
-
-# 2 - checkshape
-dchrono h2 reset
-dchrono h2 start
-
-checkshape a_1
-
-dchrono h2 stop
-set q2 [dchrono h2 show]
-
-regexp {CPU user time: ([-0-9.+eE]+) seconds} $q2 full z2
-puts "$z2"
-
-if { $z2 > ${max_time2} } {
- puts "Elapsed time of checkshape is more than ${max_time2} seconds - Faulty"
-} else {
- puts "Elapsed time of checkshape is less than ${max_time2} seconds - OK"
-}
+++ /dev/null
-puts "============"
-puts "OCC24596"
-puts "============"
-puts ""
-###############################
-## Slow import of IGES data
-###############################
-
-pload QAcommands
-
-if { [regexp {Debug mode} [dversion]] } {
- cpulimit 8500
- if { [regexp {Windows} [dversion]] } {
- set max_time 3000
- set max_time2 2300
- } else {
- set max_time 5500
- set max_time2 4000
- }
-} else {
- cpulimit 2600
- if { [regexp {Windows} [dversion]] } {
- set max_time 1100
- set max_time2 700
- } else {
- set max_time 1600
- set max_time2 1000
- }
-}
-
-# 1 - igesread
-dchrono h reset
-dchrono h start
-
-igesread [locate_data_file 100B_Nosecone_with_Triangular_FSS.igs] b 86884
-
-dchrono h stop
-set q [dchrono h show]
-
-regexp {CPU user time: ([-0-9.+eE]+) seconds} $q full z
-puts "$z"
-
-if { $z > ${max_time} } {
- puts "Elapsed time is more than ${max_time} seconds - Faulty"
-} else {
- puts "Elapsed time is less than ${max_time} seconds - OK"
-}
-
-# 2 - checkshape
-dchrono h2 reset
-dchrono h2 start
-
-checkshape b_1
-
-dchrono h2 stop
-set q2 [dchrono h2 show]
-
-regexp {CPU user time: ([-0-9.+eE]+) seconds} $q2 full z2
-puts "$z2"
-
-if { $z2 > ${max_time2} } {
- puts "Elapsed time of checkshape is more than ${max_time2} seconds - Faulty"
-} else {
- puts "Elapsed time of checkshape is less than ${max_time2} seconds - OK"
-}
+++ /dev/null
-puts "================"
-puts "OCC25424"
-puts "================"
-puts ""
-#######################################################################################
-# Performance regression on step import
-######################################################################################
-
-pload XDE
-pload QAcommands
-
-if { [regexp {Debug mode} [dversion]] } {
- set max_time 200
-} else {
- if { [regexp {Windows} [dversion]] } {
- set max_time 15
- } else {
- set max_time 20
- }
-}
-
-dchrono h reset
-dchrono h start
-
-testreadstep [locate_data_file bug25424_Secure.stp] result
-
-dchrono h stop
-set q [dchrono h show]
-
-regexp {CPU user time: ([-0-9.+eE]+) seconds} $q full z
-puts "$z"
-
-if { $z > ${max_time} } {
- puts "Elapsed time of testreadstep is more than ${max_time} seconds - Faulty"
-} else {
- puts "Elapsed time of testreadstep is less than ${max_time} seconds - OK"
-}
-
-checkprops result -s 6998.53
-checkshape result
-
-checknbshapes result -vertex 4482 -edge 6781 -wire 2309 -face 2305 -shell 1 -solid 1 -compsolid 0 -compound 0 -shape 15879
-checkview -display result -3d -path ${imagedir}/${test_image}.png
+++ /dev/null
-puts "======="
-puts "OCC26871"
-puts "======="
-puts ""
-#########################################################
-## Projecting a curve hangs inside Approx_FitAndDivide2d
-#########################################################
-
-pload QAcommands
-
-set max_time 5
-
-restore [locate_data_file bug26871_curve3d] c3d
-restore [locate_data_file bug26871_surface] surf
-
-dchrono cr reset
-dchrono cr start
-
-OCC24008 c3d surf
-
-dchrono cr stop
-
-set logTime [dchrono cr show]
-
-regexp {CPU user time: ([-0-9.+eE]+) seconds} $logTime full z
-if { $z > ${max_time} } {
- puts "Elapsed time ($z) is more than ${max_time} seconds - Error"
-} else {
- puts "Elapsed time ($z) is less than ${max_time} seconds - OK"
-}
+++ /dev/null
-puts "=========="
-puts "OCC23650"
-puts "=========="
-puts ""
-##################################################################
-# Slow mesher: one bspline surface, 80 seconds for 132 triangles
-##################################################################
-
-restore [locate_data_file bug23650_slowmesh.brep] result
-tclean result
-dchrono h reset
-dchrono h start
-incmesh result 0.2
-dchrono h stop
-set info [dchrono h show]
-regexp {CPU user time: ([-0-9.+eE]+) seconds} $info full cpu_time
-if { $cpu_time > 5. } {
- puts "Error : meshing is slow"
-} else {
- puts "OK: meshing is quite fast"
-}
-vinit
-vdisplay result
-vfit
-vsetdispmode 1
-
-checkview -screenshot -3d -path ${imagedir}/${test_image}.png
-
-
-
-
+++ /dev/null
-puts "=========="
-puts "OCC24022"
-puts "=========="
-puts ""
-#####################################
-# Slow meshing in BRepMesh
-#####################################
-
-restore [locate_data_file bug24022_hung_mesh.brep] result
-tclean result
-dchrono h reset
-dchrono h start
-incmesh result 0.1
-dchrono h stop
-set info [dchrono h show]
-regexp {CPU user time: ([-0-9.+eE]+) seconds} $info full cpu_time
-if { $cpu_time > 3. } {
- puts "Error : meshing is slow"
-} else {
- puts "OK: meshing is quite fast"
-}
-vinit
-vdisplay result
-vfit
-vsetdispmode 1
-
-checkview -screenshot -3d -path ${imagedir}/${test_image}.png
-
-
-
+++ /dev/null
-puts "=========="
-puts "OCC24968"
-puts "=========="
-puts ""
-#####################################
-# Impove BRepMesh_Classifier to cope with intersection of huge number of wires
-#####################################
-
-cpulimit 2500
-
-restore [locate_data_file bug24968_Shape_1.brep] result
-
-tclean result
-dchrono h reset
-dchrono h start
-incmesh result 0.1
-dchrono h stop
-
-set info [dchrono h show]
-regexp {CPU user time: ([-0-9.+eE]+) seconds} ${info} full cpu_time
-
-if { [regexp {Debug mode} [dversion]] } {
- if { [regexp {Windows} [dversion]] } {
- set max_time 2500
- } else {
- set max_time 2500
- }
-} else {
- if { [regexp {Windows} [dversion]] } {
- set max_time 100
- } else {
- set max_time 250
- }
-}
-
-if { ${cpu_time} > ${max_time} } {
- puts "Error : meshing is slow"
-} else {
- puts "OK: meshing is quite fast"
-}
-
-vinit
-vdisplay result
-vfit
-vsetdispmode 1
-
-checkview -screenshot -3d -path ${imagedir}/${test_image}.png
+++ /dev/null
-puts "=========="
-puts "OCC24968"
-puts "=========="
-puts ""
-#####################################
-# Impove BRepMesh_Classifier to cope with intersection of huge number of wires
-#####################################
-
-cpulimit 2500
-
-restore [locate_data_file bug24968_Shape_1.brep] result
-
-tclean result
-dchrono h reset
-dchrono h start
-incmesh result 0.1 -parallel
-dchrono h stop
-
-set info [dchrono h show]
-regexp {CPU user time: ([-0-9.+eE]+) seconds} ${info} full cpu_time
-
-if { [regexp {Debug mode} [dversion]] } {
- if { [regexp {Windows} [dversion]] } {
- set max_time 2500
- } else {
- set max_time 2500
- }
-} else {
- if { [regexp {Windows} [dversion]] } {
- set max_time 100
- } else {
- set max_time 250
- }
-}
-
-if { ${cpu_time} > ${max_time} } {
- puts "Error : meshing is slow"
-} else {
- puts "OK: meshing is quite fast"
-}
-
-vinit
-vdisplay result
-vfit
-vsetdispmode 1
-
-checkview -screenshot -3d -path ${imagedir}/${test_image}.png
+++ /dev/null
-puts "================"
-puts "OCC25264"
-puts "================"
-puts ""
-#######################################################################################
-# Mesh very slow for Revol shape
-######################################################################################
-
-restore [locate_data_file bug25264_wire.brep] w
-
-# right revol position, mesh is very fast.
-revol result1 w 20583.283203125 14039.0208237378 28443.2585934755 0 0 1 360
-dchrono i reset
-dchrono i start
-incmesh result1 0.1
-dchrono i stop
-regexp {CPU user time: ([0-9|.]+) seconds} [dchrono i show] full Iseconds
-
-# wrong revol position, mesh is very slow in occ6.7, while in occ6.2 is very fast.
-revol result2 w 20583.283203125 14039.0208217527 28443.25860033352 0 0 1 360
-dchrono j reset
-dchrono j start
-incmesh result2 0.1
-dchrono j stop
-regexp {CPU user time: ([0-9|.]+) seconds} [dchrono j show] full Jseconds
-
-checkreal "Meshing time" ${Jseconds} ${Iseconds} 0.05 0
-
-checkview -display result1 -3d -path ${imagedir}/${test_image}_1.png
-checkview -display result2 -3d -path ${imagedir}/${test_image}_2.png
-
+++ /dev/null
-puts "========"
-puts "OCC27119"
-puts "========"
-puts ""
-###########################################
-## Regression: Draw command "incmesh" hangs on the attacheced face.
-###########################################
-
-set BugNumber OCC27119
-
-restore [locate_data_file bug27119_GrossPlatePart3Step2TransformedFace.brep] result
-
-dchrono t reset
-dchrono t start
-incmesh result 1.e-6
-dchrono t stop
-set time [dchrono t show]
-regexp {CPU user time: ([0-9|.]+) seconds} $time full seconds
-
-set tri 0
-set nod 0
-set def 0
-
-set tri_info [trinfo result]
-regexp { +([-0-9.+eE]+) +triangles} $tri_info full tri
-regexp { +([-0-9.+eE]+) +nodes} $tri_info full nod
-regexp { deflection +([-0-9.+eE]+)} $tri_info full def
-
-set ref_tri 7855
-set ref_nod 7857
-set ref_def 9.3791641120333225e-013
-set tol_rel 0.01
-
-# Computes deviation of the value from specified one
-checkreal "Nb of triangles" $tri $ref_tri 0 $tol_rel
-checkreal "Nb of nodes" $nod $ref_nod 0 $tol_rel
-checkreal "Deflection" $def $ref_def 1.e-12 0
-
-set eps_time 3
-if { $seconds > $eps_time } {
- puts "Error: Too slow ($seconds > $eps_time)"
-}
-
-set 3dviewer 1
+++ /dev/null
-puts "=========="
-puts "OCC27626"
-puts "=========="
-puts ""
-#######################################################################
-# Attempt to display shape in 3d leads to very long calculation loop
-#######################################################################
-pload XDE
-igesread [locate_data_file bug27626_badfil.igs] a *
-
-tclean a
-vinit
-vsetdispmode 1
-
-dchrono h reset
-dchrono h start
-#
-# DISPLAY OPERATION ----- START
-#
-vdisplay a
-#
-# DISPLAY OPERATION ----- FINISH
-#
-dchrono h stop
-dchrono h show
-
-vfit
-checkview -screenshot -3d -path ${imagedir}/${test_image}.png
+++ /dev/null
-puts "TODO OCC11111 ALL: Error : is WRONG because number of "
-
-puts "============"
-puts "OCC10160"
-puts "============"
-puts ""
-#######################################################################
-# BOP perfomance improvemen
-#######################################################################
-
-set BugNumber OCC10160
-
-restore [locate_data_file OCC10160-1.brep] b1
-restore [locate_data_file OCC10160-2.brep] b2
-
-set NbTests 3
-
-dchrono h0 reset
-dchrono h0 start
-
-bop b1 b2
-dchrono h0 stop
-set CPU_time0_List [dchrono h0 show]
-regexp {CPU user time: ([-0-9.+eE]+) seconds} $CPU_time0_List full CPU_user_time0
-puts "CPU_user_time0=${CPU_user_time0}"
-
-puts "Start boolean operation ..."
-dchrono h reset; dchrono h start
-#
-# BOOLEAN OPERATION ----- START
-#
-for {set i 1} {$i <= ${NbTests}} {incr i} {
- bopcommon result
-}
-#
-# BOOLEAN OPERATION ----- FINISH
-#
-dchrono h stop; set CPU_time_List [dchrono h show]
-regexp {CPU user time: ([-0-9.+eE]+) seconds} $CPU_time_List full CPU_user_time
-
-puts "Finish boolean operation ..."
-puts "CPU_user_time=${CPU_user_time}"
-set CPU_user_time [expr ${CPU_user_time} / ${NbTests}]
-puts "CPU_user_time=${CPU_user_time}"
-
-checkprops result -s 1.30062e+07
-checkshape result
-
-# Analysis of "nbshapes res"
-checknbshapes result -vertex 20 -edge 28 -wire 16 -face 15 -shell 3 -solid 3 -compsolid 0 -compound 1 -shape 86
-checkview -display result -2d -path ${imagedir}/${test_image}.png
+++ /dev/null
-puts "============"
-puts "OCC10160"
-puts "============"
-puts ""
-#######################################################################
-# BOP perfomance improvemen
-#######################################################################
-
-set BugNumber OCC10160
-
-restore [locate_data_file OCC10160-2.brep] b1
-restore [locate_data_file OCC10160-3.brep] b2
-
-set NbTests 3
-
-puts "Prepare boolean operation ..."
-dchrono h0 reset; dchrono h0 start
-bop b1 b2
-dchrono h0 stop; set CPU_time0_List [dchrono h0 show]
-regexp {CPU user time: ([-0-9.+eE]+) seconds} $CPU_time0_List full CPU_user_time0
-puts "CPU_user_time0=${CPU_user_time0}"
-
-puts "Start boolean operation ..."
-dchrono h reset; dchrono h start
-#
-# BOOLEAN OPERATION ----- START
-#
-for {set i 1} {$i <= ${NbTests}} {incr i} {
- bopfuse result
-}
-#
-# BOOLEAN OPERATION ----- FINISH
-#
-dchrono h stop; set CPU_time_List [dchrono h show]
-regexp {CPU user time: ([-0-9.+eE]+) seconds} $CPU_time_List full CPU_user_time
-puts "Finish boolean operation ..."
-puts "CPU_user_time=${CPU_user_time}"
-set CPU_user_time [expr ${CPU_user_time} / ${NbTests}]
-puts "CPU_user_time=${CPU_user_time}"
-
-checkprops result -s 3.20326e+07
-checkshape result
-
-# Analysis of "nbshapes res"
-checknbshapes result -vertex 116 -edge 173 -wire 67 -face 63 -shell 1 -solid 1 -compsolid 0 -compound 1 -shape 422
-checkview -display result -2d -path ${imagedir}/${test_image}.png
+++ /dev/null
-puts "============"
-puts "OCC10160"
-puts "============"
-puts ""
-#######################################################################
-# BOP perfomance improvemen
-#######################################################################
-
-set BugNumber OCC10160
-
-restore [locate_data_file OCC10160-2.brep] b1
-restore [locate_data_file OCC10160-3.brep] b2
-
-set NbTests 3
-
-puts "Prepare boolean operation ..."
-dchrono h0 reset; dchrono h0 start
-bop b1 b2
-dchrono h0 stop; set CPU_time0_List [dchrono h0 show]
-regexp {CPU user time: ([-0-9.+eE]+) seconds} $CPU_time0_List full CPU_user_time0
-puts "CPU_user_time0=${CPU_user_time0}"
-
-puts "Start boolean operation ..."
-dchrono h reset; dchrono h start
-#
-# BOOLEAN OPERATION ----- START
-#
-for {set i 1} {$i <= ${NbTests}} {incr i} {
- bopcut result
-}
-#
-# BOOLEAN OPERATION ----- FINISH
-#
-dchrono h stop; set CPU_time_List [dchrono h show]
-regexp {CPU user time: ([-0-9.+eE]+) seconds} $CPU_time_List full CPU_user_time
-puts "Finish boolean operation ..."
-puts "CPU_user_time=${CPU_user_time}"
-set CPU_user_time [expr ${CPU_user_time} / ${NbTests}]
-puts "CPU_user_time=${CPU_user_time}"
-
-checkprops result -s 3.05154e+07
-checkshape result
-
-# Analysis of "nbshapes res"
-checknbshapes result -vertex 96 -edge 143 -wire 51 -face 48 -shell 1 -solid 1 -compsolid 0 -compound 1 -shape 341
-checkview -display result -2d -path ${imagedir}/${test_image}.png
+++ /dev/null
-puts "============"
-puts "OCC10160"
-puts "============"
-puts ""
-#######################################################################
-# BOP perfomance improvemen
-#######################################################################
-
-set BugNumber OCC10160
-
-restore [locate_data_file OCC10160-2.brep] b1
-restore [locate_data_file OCC10160-3.brep] b2
-
-set NbTests 3
-
-puts "Prepare boolean operation ..."
-dchrono h0 reset; dchrono h0 start
-bop b1 b2
-dchrono h0 stop; set CPU_time0_List [dchrono h0 show]
-regexp {CPU user time: ([-0-9.+eE]+) seconds} $CPU_time0_List full CPU_user_time0
-puts "CPU_user_time0=${CPU_user_time0}"
-
-puts "Start boolean operation ..."
-dchrono h reset; dchrono h start
-#
-# BOOLEAN OPERATION ----- START
-#
-for {set i 1} {$i <= ${NbTests}} {incr i} {
- boptuc result
-}
-#
-# BOOLEAN OPERATION ----- FINISH
-#
-dchrono h stop; set CPU_time_List [dchrono h show]
-regexp {CPU user time: ([-0-9.+eE]+) seconds} $CPU_time_List full CPU_user_time
-puts "Finish boolean operation ..."
-puts "CPU_user_time=${CPU_user_time}"
-set CPU_user_time [expr ${CPU_user_time} / ${NbTests}]
-puts "CPU_user_time=${CPU_user_time}"
-
-checkprops result -s 6.38359e+06
-checkshape result
-
-# Analysis of "nbshapes res"
-checknbshapes result -vertex 108 -edge 161 -wire 61 -face 60 -shell 3 -solid 3 -compsolid 0 -compound 1 -shape 397
-checkview -display result -2d -path ${imagedir}/${test_image}.png
+++ /dev/null
-puts "TODO OCC11111 ALL: Error : is WRONG because number of "
-
-puts "============"
-puts "OCC10160"
-puts "============"
-puts ""
-#######################################################################
-# BOP perfomance improvemen
-#######################################################################
-
-set BugNumber OCC10160
-
-restore [locate_data_file OCC10160-1.brep] b1
-restore [locate_data_file OCC10160-2.brep] b2
-
-set NbTests 3
-
-puts "Prepare boolean operation ..."
-dchrono h0 reset; dchrono h0 start
-bop b1 b2
-dchrono h0 stop; set CPU_time0_List [dchrono h0 show]
-regexp {CPU user time: ([-0-9.+eE]+) seconds} $CPU_time0_List full CPU_user_time0
-puts "CPU_user_time0=${CPU_user_time0}"
-
-puts "Start boolean operation ..."
-dchrono h reset; dchrono h start
-#
-# BOOLEAN OPERATION ----- START
-#
-for {set i 1} {$i <= ${NbTests}} {incr i} {
- bopfuse result
-}
-#
-# BOOLEAN OPERATION ----- FINISH
-#
-dchrono h stop; set CPU_time_List [dchrono h show]
-regexp {CPU user time: ([-0-9.+eE]+) seconds} $CPU_time_List full CPU_user_time
-puts "Finish boolean operation ..."
-puts "CPU_user_time=${CPU_user_time}"
-set CPU_user_time [expr ${CPU_user_time} / ${NbTests}]
-puts "CPU_user_time=${CPU_user_time}"
-
-checkprops result -s 4.75218e+07
-checkshape result
-
-# Analysis of "nbshapes res"
-checknbshapes result -vertex 32 -edge 60 -wire 32 -face 29 -shell 1 -solid 1 -compsolid 0 -compound 1 -shape 156
-checkview -display result -2d -path ${imagedir}/${test_image}.png
-
+++ /dev/null
-puts "TODO OCC11111 ALL: Error : is WRONG because number of "
-puts "============"
-puts "OCC10160"
-puts "============"
-puts ""
-#######################################################################
-# BOP perfomance improvemen
-#######################################################################
-
-set BugNumber OCC10160
-
-restore [locate_data_file OCC10160-1.brep] b1
-restore [locate_data_file OCC10160-2.brep] b2
-
-set NbTests 3
-
-puts "Prepare boolean operation ..."
-dchrono h0 reset; dchrono h0 start
-bop b1 b2
-dchrono h0 stop; set CPU_time0_List [dchrono h0 show]
-regexp {CPU user time: ([-0-9.+eE]+) seconds} $CPU_time0_List full CPU_user_time0
-puts "CPU_user_time0=${CPU_user_time0}"
-
-puts "Start boolean operation ..."
-dchrono h reset; dchrono h start
-#
-# BOOLEAN OPERATION ----- START
-#
-for {set i 1} {$i <= ${NbTests}} {incr i} {
- bopcut result
-}
-#
-# BOOLEAN OPERATION ----- FINISH
-#
-dchrono h stop; set CPU_time_List [dchrono h show]
-regexp {CPU user time: ([-0-9.+eE]+) seconds} $CPU_time_List full CPU_user_time
-puts "Finish boolean operation ..."
-puts "CPU_user_time=${CPU_user_time}"
-set CPU_user_time [expr ${CPU_user_time} / ${NbTests}]
-puts "CPU_user_time=${CPU_user_time}"
-
-checkprops result -s 2.36194e+07
-checkshape result
-
-# Analysis of "nbshapes res"
-checknbshapes result -vertex 24 -edge 34 -wire 20 -face 19 -shell 4 -solid 4 -compsolid 0 -compound 1 -shape 106
-checkview -display result -2d -path ${imagedir}/${test_image}.png
+++ /dev/null
-puts "TODO OCC11111 ALL: Error : is WRONG because number of "
-puts "============"
-puts "OCC10160"
-puts "============"
-puts ""
-#######################################################################
-# BOP perfomance improvemen
-#######################################################################
-
-set BugNumber OCC10160
-
-restore [locate_data_file OCC10160-1.brep] b1
-restore [locate_data_file OCC10160-2.brep] b2
-
-set NbTests 3
-
-puts "Prepare boolean operation ..."
-dchrono h0 reset; dchrono h0 start
-bop b1 b2
-dchrono h0 stop; set CPU_time0_List [dchrono h0 show]
-regexp {CPU user time: ([-0-9.+eE]+) seconds} $CPU_time0_List full CPU_user_time0
-puts "CPU_user_time0=${CPU_user_time0}"
-
-puts "Start boolean operation ..."
-dchrono h reset; dchrono h start
-#
-# BOOLEAN OPERATION ----- START
-#
-for {set i 1} {$i <= ${NbTests}} {incr i} {
- boptuc result
-}
-#
-# BOOLEAN OPERATION ----- FINISH
-#
-dchrono h stop; set CPU_time_List [dchrono h show]
-regexp {CPU user time: ([-0-9.+eE]+) seconds} $CPU_time_List full CPU_user_time
-puts "Finish boolean operation ..."
-puts "CPU_user_time=${CPU_user_time}"
-set CPU_user_time [expr ${CPU_user_time} / ${NbTests}]
-puts "CPU_user_time=${CPU_user_time}"
-
-#CR24137 checkprops result -s 3.56087e+07
-checkprops result -s 3.52471e+07
-checkshape result
-
-# Analysis of "nbshapes res"
-checknbshapes result -vertex 24 -edge 34 -wire 20 -face 17 -shell 3 -solid 3 -compsolid 0 -compound 1 -shape 102
-checkview -display result -2d -path ${imagedir}/${test_image}.png
+++ /dev/null
-puts "TODO OCC11111 ALL: Error : is WRONG because number of "
-puts "============"
-puts "OCC10160"
-puts "============"
-puts ""
-#######################################################################
-# BOP perfomance improvemen
-#######################################################################
-
-set BugNumber OCC10160
-
-restore [locate_data_file OCC10160-1.brep] b1
-restore [locate_data_file OCC10160-3.brep] b2
-
-set NbTests 3
-
-puts "Prepare boolean operation ..."
-dchrono h0 reset; dchrono h0 start
-bop b1 b2
-dchrono h0 stop; set CPU_time0_List [dchrono h0 show]
-regexp {CPU user time: ([-0-9.+eE]+) seconds} $CPU_time0_List full CPU_user_time0
-puts "CPU_user_time0=${CPU_user_time0}"
-
-puts "Start boolean operation ..."
-dchrono h reset; dchrono h start
-#
-# BOOLEAN OPERATION ----- START
-#
-for {set i 1} {$i <= ${NbTests}} {incr i} {
- bopcommon result
-}
-#
-# BOOLEAN OPERATION ----- FINISH
-#
-dchrono h stop; set CPU_time_List [dchrono h show]
-regexp {CPU user time: ([-0-9.+eE]+) seconds} $CPU_time_List full CPU_user_time
-puts "Finish boolean operation ..."
-puts "CPU_user_time=${CPU_user_time}"
-set CPU_user_time [expr ${CPU_user_time} / ${NbTests}]
-puts "CPU_user_time=${CPU_user_time}"
-
-#CR24317 checkprops result -s 782201
-checkprops result -s 784833
-checkshape result
-
-# Analysis of "nbshapes res"
-checknbshapes result -vertex 53 -edge 75 -wire 38 -face 34 -shell 6 -solid 6 -compsolid 0 -compound 1 -shape 213
-checkview -display result -2d -path ${imagedir}/${test_image}.png
+++ /dev/null
-puts "TODO OCC11111 ALL: Error : is WRONG because number of "
-puts "============"
-puts "OCC10160"
-puts "============"
-puts ""
-#######################################################################
-# BOP perfomance improvemen
-#######################################################################
-
-set BugNumber OCC10160
-
-restore [locate_data_file OCC10160-1.brep] b1
-restore [locate_data_file OCC10160-3.brep] b2
-
-set NbTests 3
-
-puts "Prepare boolean operation ..."
-dchrono h0 reset; dchrono h0 start
-bop b1 b2
-dchrono h0 stop; set CPU_time0_List [dchrono h0 show]
-regexp {CPU user time: ([-0-9.+eE]+) seconds} $CPU_time0_List full CPU_user_time0
-puts "CPU_user_time0=${CPU_user_time0}"
-
-puts "Start boolean operation ..."
-dchrono h reset; dchrono h start
-#
-# BOOLEAN OPERATION ----- START
-#
-for {set i 1} {$i <= ${NbTests}} {incr i} {
- bopfuse result
-}
-#
-# BOOLEAN OPERATION ----- FINISH
-#
-dchrono h stop; set CPU_time_List [dchrono h show]
-regexp {CPU user time: ([-0-9.+eE]+) seconds} $CPU_time_List full CPU_user_time
-puts "Finish boolean operation ..."
-puts "CPU_user_time=${CPU_user_time}"
-set CPU_user_time [expr ${CPU_user_time} / ${NbTests}]
-puts "CPU_user_time=${CPU_user_time}"
-
-checkprops result -s 3.65961e+07
-checkshape result
-
-# Analysis of "nbshapes res"
-checknbshapes result -vertex 121 -edge 178 -wire 65 -face 59 -shell 3 -solid 2 -compsolid 0 -compound 1 -shape 429
-checkview -display result -2d -path ${imagedir}/${test_image}.png
-
-
+++ /dev/null
-puts "TODO OCC11111 ALL: Error : is WRONG because number of "
-
-puts "============"
-puts "OCC10160"
-puts "============"
-puts ""
-#######################################################################
-# BOP perfomance improvemen
-#######################################################################
-
-set BugNumber OCC10160
-
-restore [locate_data_file OCC10160-1.brep] b1
-restore [locate_data_file OCC10160-3.brep] b2
-
-set NbTests 3
-
-puts "Prepare boolean operation ..."
-dchrono h0 reset; dchrono h0 start
-bop b1 b2
-dchrono h0 stop; set CPU_time0_List [dchrono h0 show]
-regexp {CPU user time: ([-0-9.+eE]+) seconds} $CPU_time0_List full CPU_user_time0
-puts "CPU_user_time0=${CPU_user_time0}"
-
-puts "Start boolean operation ..."
-dchrono h reset; dchrono h start
-#
-# BOOLEAN OPERATION ----- START
-#
-for {set i 1} {$i <= ${NbTests}} {incr i} {
- bopcut result
-}
-#
-# BOOLEAN OPERATION ----- FINISH
-#
-dchrono h stop; set CPU_time_List [dchrono h show]
-regexp {CPU user time: ([-0-9.+eE]+) seconds} $CPU_time_List full CPU_user_time
-puts "Finish boolean operation ..."
-puts "CPU_user_time=${CPU_user_time}"
-set CPU_user_time [expr ${CPU_user_time} / ${NbTests}]
-puts "CPU_user_time=${CPU_user_time}"
-
-checkprops result -s 3.05118e+07
-checkshape result
-
-# Analysis of "nbshapes res"
-checknbshapes result -vertex 61 -edge 87 -wire 44 -face 36 -shell 1 -solid 1 -compsolid 0 -compound 1 -shape 231
-checkview -display result -2d -path ${imagedir}/${test_image}.png
+++ /dev/null
-puts "TODO OCC11111 ALL: Error : is WRONG because number of "
-puts "============"
-puts "OCC10160"
-puts "============"
-puts ""
-#######################################################################
-# BOP perfomance improvemen
-#######################################################################
-
-set BugNumber OCC10160
-
-restore [locate_data_file OCC10160-1.brep] b1
-restore [locate_data_file OCC10160-3.brep] b2
-
-set NbTests 3
-
-puts "Prepare boolean operation ..."
-dchrono h0 reset; dchrono h0 start
-bop b1 b2
-dchrono h0 stop; set CPU_time0_List [dchrono h0 show]
-regexp {CPU user time: ([-0-9.+eE]+) seconds} $CPU_time0_List full CPU_user_time0
-puts "CPU_user_time0=${CPU_user_time0}"
-
-puts "Start boolean operation ..."
-dchrono h reset; dchrono h start
-#
-# BOOLEAN OPERATION ----- START
-#
-for {set i 1} {$i <= ${NbTests}} {incr i} {
- boptuc result
-}
-#
-# BOOLEAN OPERATION ----- FINISH
-#
-dchrono h stop; set CPU_time_List [dchrono h show]
-regexp {CPU user time: ([-0-9.+eE]+) seconds} $CPU_time_List full CPU_user_time
-puts "Finish boolean operation ..."
-puts "CPU_user_time=${CPU_user_time}"
-set CPU_user_time [expr ${CPU_user_time} / ${NbTests}]
-puts "CPU_user_time=${CPU_user_time}"
-
-checkprops result -s 6.87093e+06
-checkshape result
-
-# Analysis of "nbshapes res"
-checknbshapes result -vertex 113 -edge 166 -wire 59 -face 57 -shell 1 -solid 1 -compsolid 0 -compound 1 -shape 398
-checkview -display result -2d -path ${imagedir}/${test_image}.png
+++ /dev/null
-puts "============"
-puts "OCC10160"
-puts "============"
-puts ""
-#######################################################################
-# BOP perfomance improvemen
-#######################################################################
-
-set BugNumber OCC10160
-
-restore [locate_data_file OCC10160-2.brep] b1
-restore [locate_data_file OCC10160-3.brep] b2
-
-set NbTests 3
-
-puts "Prepare boolean operation ..."
-dchrono h0 reset; dchrono h0 start
-bop b1 b2
-dchrono h0 stop; set CPU_time0_List [dchrono h0 show]
-regexp {CPU user time: ([-0-9.+eE]+) seconds} $CPU_time0_List full CPU_user_time0
-puts "CPU_user_time0=${CPU_user_time0}"
-
-puts "Start boolean operation ..."
-dchrono h reset; dchrono h start
-#
-# BOOLEAN OPERATION ----- START
-#
-for {set i 1} {$i <= ${NbTests}} {incr i} {
- bopcommon result
-}
-#
-# BOOLEAN OPERATION ----- FINISH
-#
-dchrono h stop; set CPU_time_List [dchrono h show]
-regexp {CPU user time: ([-0-9.+eE]+) seconds} $CPU_time_List full CPU_user_time
-puts "Finish boolean operation ..."
-puts "CPU_user_time=${CPU_user_time}"
-set CPU_user_time [expr ${CPU_user_time} / ${NbTests}]
-puts "CPU_user_time=${CPU_user_time}"
-
-checkprops result -s 4.86635e+06
-checkshape result
-
-# Analysis of "nbshapes res"
-checknbshapes result -vertex 88 -edge 131 -wire 45 -face 45 -shell 1 -solid 1 -compsolid 0 -compound 1 -shape 312
-checkview -display result -2d -path ${imagedir}/${test_image}.png
+++ /dev/null
-puts "TODO OCC25919 ALL: Error: Offset is not done."
-puts "TODO OCC25919 ALL: Faulty OCC165"
-puts "TODO OCC25919 ALL: Error : The length of result shape is"
-
-cpulimit 600
-
-puts "========"
-puts "OCC165"
-puts "========"
-puts "Bug regression in BRepOffsetAPI_MakeOffset class (offsetting in OY direction)"
-
-
-dchrono h reset
-dchrono h start
-
-restore [locate_data_file offset_wire_019.brep] a
-checkshape a
-
-mkplane f a
-checkshape f
-
-set start_stepoffset -5.7
-set incr_stepoffset 0.1
-set finish_stepoffset -2.8
-
-set interval_numb [expr int ( ($finish_stepoffset - $start_stepoffset) / $incr_stepoffset ) + 1]
-
-set IsMade 0
-set IsBeginMade 0
-set IsGood 1
-set i 0
-set resume_string ""
-for {set stepoffset $start_stepoffset} {$stepoffset <= $finish_stepoffset} {set stepoffset [expr $stepoffset + $incr_stepoffset]} {
- incr i
- puts "i = $i"
- if { [catch {mkoffset result f 1 $stepoffset } catch_result] } {
- puts "Faulty OCC165 (stepoffset = $stepoffset) : function MKOFFSET works wrongly"
- set IsGood 0
- set IsMade 0
- } else {
- puts "OK OCC165 (stepoffset = $stepoffset)"
- set IsMade 1
- }
- if {$IsBeginMade == 0 && $IsMade == 1} {
- set IsBeginMade 1
- set BeginStepOffset $stepoffset
- }
- if {$IsMade == 1} {
- set FinishStepOffset $stepoffset
- }
-
- dchrono h show
-
- if {$IsBeginMade == 1 && ($IsMade == 0 || $i == $interval_numb) } {
- set IsBeginMade 0
- set resume_tmp "from [format "%0.2f" $BeginStepOffset] till [format "%0.2f" $FinishStepOffset]\n"
- set resume_string "${resume_string}${resume_tmp}"
- }
-}
-
-puts ""
-if {[string length $resume_string] == 0} {
- puts "Offset is created wrongly on initial shape in following borders"
- puts "from [format "%0.2f" $start_stepoffset] till [format "%0.2f" $finish_stepoffset]"
-} else {
- puts "Offset is created correctly on initial shape in following borders"
- puts "$resume_string"
-}
-
-if {$IsGood == 1} {
- puts "OCC165 OK"
-} else {
- puts "Faulty OCC165"
-}
-
-dchrono h stop
-dchrono h show
-
-renamevar result_1 result
-
-checkprops result -l 0
-checkshape result
-checksection result
-checkview -display result -2d -path ${imagedir}/${test_image}.png
+++ /dev/null
-cpulimit 600
-
-puts "========"
-puts "OCC165"
-puts "========"
-puts "Bug regression in BRepOffsetAPI_MakeOffset class (offsetting in OY direction)"
-
-dchrono h reset
-dchrono h start
-
-restore [locate_data_file offset_wire_019.brep] a
-checkshape a
-
-mkplane f a
-checkshape f
-
-set start_stepoffset -2.6
-set incr_stepoffset 0.1
-set finish_stepoffset 0.0
-
-set interval_numb [expr int ( ($finish_stepoffset - $start_stepoffset) / $incr_stepoffset ) + 1]
-
-set IsMade 0
-set IsBeginMade 0
-set IsGood 1
-set i 0
-set resume_string ""
-for {set stepoffset $start_stepoffset} {$stepoffset <= $finish_stepoffset} {set stepoffset [expr $stepoffset + $incr_stepoffset]} {
- incr i
- puts "i = $i"
- if { [catch {mkoffset result f 1 $stepoffset } catch_result] } {
- puts "Faulty OCC165 (stepoffset = $stepoffset) : function MKOFFSET works wrongly"
- set IsGood 0
- set IsMade 0
- } else {
- puts "OK OCC165 (stepoffset = $stepoffset)"
- set IsMade 1
- }
- if {$IsBeginMade == 0 && $IsMade == 1} {
- set IsBeginMade 1
- set BeginStepOffset $stepoffset
- }
- if {$IsMade == 1} {
- set FinishStepOffset $stepoffset
- }
-
- dchrono h show
-
- if {$IsBeginMade == 1 && ($IsMade == 0 || $i == $interval_numb) } {
- set IsBeginMade 0
- set resume_tmp "from [format "%0.2f" $BeginStepOffset] till [format "%0.2f" $FinishStepOffset]\n"
- set resume_string "${resume_string}${resume_tmp}"
- }
-}
-
-puts ""
-if {[string length $resume_string] == 0} {
- puts "Offset is created wrongly on initial shape in following borders"
- puts "from [format "%0.2f" $start_stepoffset] till [format "%0.2f" $finish_stepoffset]"
-} else {
- puts "Offset is created correctly on initial shape in following borders"
- puts "$resume_string"
-}
-
-if {$IsGood == 1} {
- puts "OCC165 OK"
-} else {
- puts "Faulty OCC165"
-}
-
-dchrono h stop
-dchrono h show
-
-renamevar result_1 result
-
-checkprops result -l 1081.52
-checkshape result
-checksection result
-checkview -display result -2d -path ${imagedir}/${test_image}.png
+++ /dev/null
-
-cpulimit 600
-
-puts "========"
-puts "OCC165"
-puts "========"
-puts "Bug regression in BRepOffsetAPI_MakeOffset class (offsetting in OY direction)"
-
-
-dchrono h reset
-dchrono h start
-
-restore [locate_data_file offset_wire_019.brep] a
-checkshape a
-
-mkplane f a
-checkshape f
-
-set start_stepoffset 0.2
-set incr_stepoffset 0.1
-set finish_stepoffset 4.9
-
-set interval_numb [expr int ( ($finish_stepoffset - $start_stepoffset) / $incr_stepoffset ) + 1]
-
-set IsMade 0
-set IsBeginMade 0
-set IsGood 1
-set i 0
-set resume_string ""
-for {set stepoffset $start_stepoffset} {$stepoffset <= $finish_stepoffset} {set stepoffset [expr $stepoffset + $incr_stepoffset]} {
- incr i
- puts "i = $i"
- if { [catch {mkoffset result f 1 $stepoffset } catch_result] } {
- puts "Faulty OCC165 (stepoffset = $stepoffset) : function MKOFFSET works wrongly"
- set IsGood 0
- set IsMade 0
- } else {
- puts "OK OCC165 (stepoffset = $stepoffset)"
- set IsMade 1
- }
- if {$IsBeginMade == 0 && $IsMade == 1} {
- set IsBeginMade 1
- set BeginStepOffset $stepoffset
- }
- if {$IsMade == 1} {
- set FinishStepOffset $stepoffset
- }
-
- dchrono h show
-
- if {$IsBeginMade == 1 && ($IsMade == 0 || $i == $interval_numb) } {
- set IsBeginMade 0
- set resume_tmp "from [format "%0.2f" $BeginStepOffset] till [format "%0.2f" $FinishStepOffset]\n"
- set resume_string "${resume_string}${resume_tmp}"
- }
-}
-
-puts ""
-if {[string length $resume_string] == 0} {
- puts "Offset is created wrongly on initial shape in following borders"
- puts "from [format "%0.2f" $start_stepoffset] till [format "%0.2f" $finish_stepoffset]"
-} else {
- puts "Offset is created correctly on initial shape in following borders"
- puts "$resume_string"
-}
-
-if {$IsGood == 1} {
- puts "OCC165 OK"
-} else {
- puts "Faulty OCC165"
-}
-
-renamevar result_1 result
-
-checkprops result -l 1112.83
-checkshape result
-checksection result
-checkview -display result -2d -path ${imagedir}/${test_image}.png
-
-dchrono h stop
-dchrono h show
+++ /dev/null
-cpulimit 600
-
-puts "========"
-puts "OCC165"
-puts "========"
-puts "Bug regression in BRepOffsetAPI_MakeOffset class (offsetting in OY direction)"
-
-dchrono h reset
-dchrono h start
-
-restore [locate_data_file offset_wire_019.brep] a
-checkshape a
-
-mkplane f a
-checkshape f
-
-set start_stepoffset 5.1
-set incr_stepoffset 0.1
-set finish_stepoffset 6.3
-
-set interval_numb [expr int ( ($finish_stepoffset - $start_stepoffset) / $incr_stepoffset ) + 1]
-
-set IsMade 0
-set IsBeginMade 0
-set IsGood 1
-set i 0
-set resume_string ""
-for {set stepoffset $start_stepoffset} {$stepoffset <= $finish_stepoffset} {set stepoffset [expr $stepoffset + $incr_stepoffset]} {
- incr i
- puts "i = $i"
- if { [catch {mkoffset result f 1 $stepoffset } catch_result] } {
- puts "Faulty OCC165 (stepoffset = $stepoffset) : function MKOFFSET works wrongly"
- set IsGood 0
- set IsMade 0
- } else {
- puts "OK OCC165 (stepoffset = $stepoffset)"
- set IsMade 1
- }
- if {$IsBeginMade == 0 && $IsMade == 1} {
- set IsBeginMade 1
- set BeginStepOffset $stepoffset
- }
- if {$IsMade == 1} {
- set FinishStepOffset $stepoffset
- }
-
- dchrono h show
-
- if {$IsBeginMade == 1 && ($IsMade == 0 || $i == $interval_numb) } {
- set IsBeginMade 0
- set resume_tmp "from [format "%0.2f" $BeginStepOffset] till [format "%0.2f" $FinishStepOffset]\n"
- set resume_string "${resume_string}${resume_tmp}"
- }
-}
-
-puts ""
-if {[string length $resume_string] == 0} {
- puts "Offset is created wrongly on initial shape in following borders"
- puts "from [format "%0.2f" $start_stepoffset] till [format "%0.2f" $finish_stepoffset]"
-} else {
- puts "Offset is created correctly on initial shape in following borders"
- puts "$resume_string"
-}
-
-if {$IsGood == 1} {
- puts "OCC165 OK"
-} else {
- puts "Faulty OCC165"
-}
-
-renamevar result_1 result
-
-checkprops result -l 1113.06
-checkshape result
-checksection result
-checkview -display result -2d -path ${imagedir}/${test_image}.png
-
-dchrono h stop
-dchrono h show
+++ /dev/null
-puts "============"
-puts "OCC19793"
-puts "============"
-puts ""
-#######################################################################
-# Fuse problem of symetrical shapes. Appendix for NPAL19789
-#######################################################################
-
-cpulimit 2500
-set BugNumber OCC19793
-
-puts "Load first shape ..."
-restore [locate_data_file bug19793_new_shape.brep] b1
-puts "Load second shape ..."
-restore [locate_data_file bug19793_shape.brep] b2
-
-puts "Prepare boolean operation ..."
-dchrono perf_h reset
-dchrono perf_h start
-bop b1 b2
-dchrono perf_h stop
-
-puts "Start boolean operation ..."
-bopsection result
-puts "Finish boolean operation ..."
-
-checkprops result -l 17730.1
-checkshape result
-checksection result
-
-checknbshapes result -vertex 68 -edge 70 -wire 0 -face 0 -shell 0 -solid 0 -compsolid 0 -compound 1 -shape 139
-
-# OCC23753 processing
-# Performance verification of bop operation
-set chrono_info [dchrono perf_h show]
-regexp {CPU user time: ([-0-9.+eE]+) seconds} $chrono_info full CPU_time
-
-if { [regexp {Debug mode} [dversion]] } {
- if { [regexp {Windows} [dversion]] } {
- puts "Checking WINDOWS performance..."
- if {$CPU_time > 1000.} {
- puts "ERROR: OCC23753 is reproduced."
- puts " Low performance: $CPU_time"
- }
- } else {
- puts "Checking LINUX performance..."
- if {$CPU_time > 2500.} {
- puts "ERROR: OCC23753 is reproduced."
- puts " Low performance: $CPU_time"
- }
- }
-} else {
- if { [regexp {Windows} [dversion]] } {
- puts "Checking WINDOWS performance..."
- # Initial CPU_time is 92-94 seconds for Windows
- if {$CPU_time > 300.} {
- puts "ERROR: OCC23753 is reproduced."
- puts " Low performance: $CPU_time"
- }
- } else {
- puts "Checking LINUX performance..."
- # Initial CPU_time is 287-289 seconds for Linux
- if {$CPU_time > 350.} {
- puts "ERROR: OCC23753 is reproduced."
- puts " Low performance: $CPU_time"
- }
- }
-}
-
-checkview -display result -2d -path ${imagedir}/${test_image}.png
+++ /dev/null
-
-puts "========"
-puts "OCC452"
-puts "(case 1)"
-puts "========"
-puts ""
-
-pcone pc 10 0 20
-explode pc f
-
-prism pcy pc_2 0 0 10
-
-dchrono h2 reset
-dchrono h2 start
-
-bcut result pc pcy
-
-dchrono h2 stop
-set q2 [ dchrono h2 show ]
-regexp {CPU user time: ([-0-9.+eE]+) seconds} $q2 full z2
-puts "$z2"
-if { $z2 > 3 } {
- puts "Elapsed time is more then 3 seconds - Faulty"
-} else {
- puts "Elapsed time is less then 3 seconds - OK"
-}
-
-checkprops result -s 254.16
-checkshape result
-checkview -display result -2d -path ${imagedir}/${test_image}.png
-
+++ /dev/null
-
-puts "========"
-puts "GER60239"
-puts "OCC452"
-puts "(case 2)"
-puts "========"
-puts ""
-
-restore [locate_data_file mds-part1.rle] a
-set che [checkshape a]
-if { [regexp {Faulty} $che ] == 1 } {
- puts "Faulty OCC452 (shape 1): Source shape is invalid. It was detected by Checkshape command"
-} else {
- puts "OCC452 OK (shape 1): Source shape is valid"
-}
-
-restore [locate_data_file mds-part2.rle] b
-set che [checkshape b]
-if { [regexp {Faulty} $che ] == 1 } {
- puts "Faulty OCC452 (shape 2): Source shape is invalid. It was detected by Checkshape command"
-} else {
- puts "OCC452 OK (shape 2): Source shape is valid"
-}
-
-restore [locate_data_file CTO900_ger60239a.rle] c
-set che [checkshape c]
-if { [regexp {Faulty} $che ] == 1 } {
- puts "Faulty OCC452 (shape 3): Source shape is invalid. It was detected by Checkshape command"
-} else {
- puts "OCC452 OK (shape 3): Source shape is valid"
-}
-
-restore [locate_data_file CTO900_ger60239b.rle] d
-set che [checkshape d]
-if { [regexp {Faulty} $che ] == 1 } {
- puts "Faulty OCC452 (shape 4): Source shape is invalid. It was detected by Checkshape command"
-} else {
- puts "OCC452 OK (shape 4): Source shape is valid"
-}
-dchrono h2 reset
-dchrono h2 start
-
-bfuse r a b
-#checkshape r
-
-bfuse result c d
-
-dchrono h2 stop
-set q2 [ dchrono h2 show ]
-regexp {CPU user time: ([-0-9.+eE]+) seconds} $q2 full z2
-puts "$z2"
-if { $z2 > 60 } {
- puts "Elapsed time is more then 60 seconds - Faulty"
-} else {
- puts "Elapsed time is less then 60 seconds - OK"
-}
-checkprops result -s 3468.6
-checkshape result
-checkview -display result -2d -path ${imagedir}/${test_image}.png
+++ /dev/null
-
-puts "========"
-puts "GER60239"
-puts "OCC452"
-puts "(case 3)"
-puts "========"
-puts ""
-
-restore [locate_data_file CTO900_ger60239a.rle] a
-set che [checkshape a]
-if { [regexp {Faulty} $che ] == 1 } {
- puts "Faulty OCC452 (shape 5): Source shape is invalid. It was detected by Checkshape command"
-} else {
- puts "OCC452 OK (shape 5): Source shape is valid"
-}
-
-restore [locate_data_file CTO900_ger60239b.rle] b
-set che [checkshape b]
-if { [regexp {Faulty} $che ] == 1 } {
- puts "Faulty OCC452 (shape 6): Source shape is invalid. It was detected by Checkshape command"
-} else {
- puts "OCC452 OK (shape 6): Source shape is valid"
-}
-
-dchrono h2 reset
-dchrono h2 start
-
-bfuse result a b
-#checkshape -top res
-
-dchrono h2 stop
-set q2 [ dchrono h2 show ]
-regexp {CPU user time: ([-0-9.+eE]+) seconds} $q2 full z2
-puts "$z2"
-if { $z2 > 50 } {
- puts "Elapsed time is more then 50 seconds - Faulty"
-} else {
- puts "Elapsed time is less then 50 seconds - OK"
-}
-checkprops result -s 3468.6
-checkshape result
-checkview -display result -2d -path ${imagedir}/${test_image}.png
-
-
+++ /dev/null
-
-puts "========"
-puts "PRO7934"
-puts "OCC452"
-puts "(case 4)"
-puts "========"
-puts ""
-
-restore [locate_data_file CTO900_pro7934a.rle] a
-set che [checkshape a]
-if { [regexp {Faulty} $che ] == 1 } {
- puts "Faulty OCC452 (shape 7): Source shape is invalid. It was detected by Checkshape command"
-} else {
- puts "OCC452 OK (shape 7): Source shape is valid"
-}
-
-restore [locate_data_file CTO900_pro7934b.rle] b
-set che [checkshape b]
-if { [regexp {Faulty} $che ] == 1 } {
- puts "Faulty OCC452 (shape 8): Source shape is invalid. It was detected by Checkshape command"
-} else {
- puts "OCC452 OK (shape 8): Source shape is valid"
-}
-
-dchrono h2 reset
-dchrono h2 start
-
-bfuse result a b
-#checkshape -top res
-
-dchrono h2 stop
-set q2 [ dchrono h2 show ]
-regexp {CPU user time: ([-0-9.+eE]+) seconds} $q2 full z2
-puts "$z2"
-if { $z2 > 5 } {
- puts "Elapsed time is more then 5 seconds - Faulty"
-} else {
- puts "Elapsed time is less then 5 seconds - OK"
-}
-checkprops result -s 201978
-checkshape result
-checkview -display result -2d -path ${imagedir}/${test_image}.png
-
-
-
+++ /dev/null
-puts "TODO OCC24156 MacOS: Tcl Exception:"
-puts "TODO OCC24156 MacOS: TEST INCOMPLETE"
-
-puts "========"
-puts "OCC453"
-puts "(case 1)"
-puts "========"
-puts ""
-
-dchrono h2 reset
-dchrono h2 start
-
-set make_print_out 0
-
-dset SCALE 1000.
-dset SCALE1 5
-tolblend 0.01 1e-04 1e-05 1e-03
-
-restore [locate_data_file CFI_5_f12fgk.rle] s
-tscale s 0 0 0 SCALE1
-explode s E
-
-blend result s 0.5*SCALE1 s_1 0.5*SCALE1 s_4 0.5*SCALE1 s_12 0.5*SCALE1 s_8 0.5*SCALE1 s_6
-explode result sh
-tcopy result_1 result
-
-dchrono h2 stop
-set q2 [ dchrono h2 show ]
-regexp {CPU user time: ([-0-9.+eE]+) seconds} $q2 full z2
-puts "$z2"
-if { $z2 > 50 } {
- puts "Elapsed time is more then 50 seconds - Faulty"
-} else {
- puts "Elapsed time is less then 50 seconds - OK"
-}
-checkprops result -s 6021.51
-checkshape result
-checkview -display result -2d -path ${imagedir}/${test_image}.png
+++ /dev/null
-puts "TODO ?OCC25918 Windows: Error : The area of result shape is"
-puts "TODO OCC24156 MacOS: Tcl Exception:"
-puts "TODO OCC24156 MacOS: TEST INCOMPLETE"
-
-puts "========"
-puts "OCC453"
-puts "(case 2)"
-puts "========"
-puts ""
-
-dchrono h2 reset
-dchrono h2 start
-
-set make_print_out 0
-
-dset SCALE 1000.
-dset SCALE1 5
-tolblend 0.01 1e-04 1e-05 1e-03
-
-restore [locate_data_file shading_137.brep] s
-tscale s 0 0 0 SCALE1
-explode s E
-
- blend result s 4.5*SCALE1 s_2 4.5*SCALE1 s_1 4.5*SCALE1 s_6 4.5*SCALE1 s_8 4.5*SCALE1 s_10 4.5*SCALE1 s_14 4.5*SCALE1 s_4 4.5*SCALE1 s_5 4.5*SCALE1 s_16 4.5*SCALE1 s_11 4.5*SCALE1 s_19 4.5*SCALE1 s_13
- explode result So
- tcopy result_1 result
-
-dchrono h2 stop
-set q2 [ dchrono h2 show ]
-regexp {CPU user time: ([-0-9.+eE]+) seconds} $q2 full z2
-puts "$z2"
-if { $z2 > 110 } {
- puts "Elapsed time is more then 110 seconds - Faulty"
-} else {
- puts "Elapsed time is less then 110 seconds - OK"
-}
-
-checkprops result -s 3.65777e+06
-checkshape result
-checkview -display result -2d -path ${imagedir}/${test_image}.png
+++ /dev/null
-puts "============"
-puts "OCC5157"
-puts "============"
-puts ""
-######################################################
-# DRAW commands vprops and sprops with tolerance 1.e-6 hange on attached shape.
-######################################################
-
-cpulimit 3500
-#dchrono h reset; dchrono h start
-
-catch { pload XDE }
-
-set BugNumber OCC5157
-
-set status 0
-set filepath [locate_data_file OCC5157.stp]
-if {[catch { stepread $filepath a * } catch_result] } {
- puts "Faulty ${BugNumber} : here is reading problem"
-} else {
- tpcompound result
-}
-
-checkprops result -s 35273.9 -eps 1.e-6
-checkshape result
-checkview -display result -2d -path ${imagedir}/${test_image}.png
-
-
+++ /dev/null
-puts "============"
-puts "OCC5157"
-puts "============"
-puts ""
-######################################################
-# DRAW commands vprops and sprops with tolerance 1.e-6 hange on attached shape.
-######################################################
-
-cpulimit 3500
-#dchrono h reset; dchrono h start
-
-catch { pload XDE }
-
-set BugNumber OCC5157
-
-set filepath [locate_data_file OCC5157.stp]
-if { [catch { stepread $filepath a * } catch_result] } {
- puts "Faulty ${BugNumber} : here is reading problem"
-} else {
- tpcompound result
-}
-
-checkprops result -s 35362.3 -eps 1.e-6
-checkshape result
-checkview -display result -2d -path ${imagedir}/${test_image}.png
-
+++ /dev/null
-puts "============"
-puts "BUC60912"
-puts "OCC83"
-puts "============"
-puts ""
-###############################
-## Section of simple BSpline surfaces is performed too slow
-###############################
-
-puts "1 case: perform section with plane"
-restore [locate_data_file BUC60912_sec_slow.brep] c
-explode c
-checkshape c_1
-checkshape c_2
-
-renamevar c_1 sh
-renamevar c_2 pr
-plane f 0 0 0 1 0 0
-mkface f f -11 11 -11 11
-
-dchrono h reset
-dchrono h start
-bsection result f pr
-
-dchrono h stop
-set q2 [dchrono h show]
-regexp {CPU user time: ([-0-9.+eE]+) seconds} $q2 full z
-puts "$z"
-if { $z > 5 } {
- puts "Elapsed time is more then 5 seconds - Faulty"
-} else {
- puts "Elapsed time is less then 5 - OK"
-}
-
-checkprops result -l 42.879
-checkshape result
-checksection result
-checkview -display result -2d -path ${imagedir}/${test_image}.png
-
-
+++ /dev/null
-puts "============"
-puts "BUC60912"
-puts "OCC83"
-puts "============"
-puts ""
-###############################
-## Section of simple BSpline surfaces is performed too slow
-###############################
-
-puts "2 case: perform section with planar BSpline surface"
-restore [locate_data_file BUC60912_sec_slow.brep] c
-explode c
-checkshape c_1
-checkshape c_2
-
-renamevar c_1 sh
-renamevar c_2 pr
-plane f 0 0 0 1 0 0
-mkface f f -11 11 -11 11
-
-puts "Info: perform section with planar BSpline surface"
-dchrono h2 reset
-dchrono h2 start
-bsection result sh pr
-dchrono h2 stop
-set q2 [ dchrono h2 show ]
-regexp {CPU user time: ([-0-9.+eE]+) seconds} $q2 full z2
-puts "$z2"
-if { $z2 > 40 } {
- puts "Elapsed time is more then 40 seconds - Faulty"
-} else {
- puts "Elapsed time is less then 40 - OK"
-}
-checkprops result -l 42.879
-checkshape result
-checksection result
-checkview -display result -2d -path ${imagedir}/${test_image}.png
-
+++ /dev/null
-puts "============"
-puts "OCC23906"
-puts "============"
-puts ""
-###############################
-## Performance of the projection algorithm in some cases became lower after integration of the fix for the bug 0022610
-###############################
-
-restore [locate_data_file bug23906_f.brep] f
-
-point p 3.5527136788005e-015 100 100
-
-dchrono h reset
-dchrono h start
-
-projponf f p -min -t
-
-dchrono h stop
-set q2 [dchrono h show]
-
-regexp {CPU user time: ([-0-9.+eE]+) seconds} $q2 full z
-puts "$z"
-if { [checkplatform -windows] } {
- puts "OS = Windows NT"
- set max_time 0.5
-} else {
- puts "OS = Linux"
- set max_time 0.1
-}
-if { $z > ${max_time} } {
- puts "Elapsed time is more than ${max_time} seconds - Faulty"
-} else {
- puts "Elapsed time is less than ${max_time} seconds - OK"
-}
+++ /dev/null
-puts "============"
-puts "OCC24005"
-puts "============"
-puts ""
-###############################
-## Intersecting a slightly off angle plane with a cylinder takes 7+ seconds
-###############################
-
-pload QAcommands
-
-dchrono h reset
-dchrono h start
-
-OCC24005 result
-
-dchrono h stop
-set q [dchrono h show]
-
-regexp {CPU user time: ([-0-9.+eE]+) seconds} $q full z
-puts "$z"
-
-set max_time 0.4
-if { $z > ${max_time} } {
- puts "Elapsed time is more than ${max_time} seconds - Faulty"
-} else {
- puts "Elapsed time is less than ${max_time} seconds - OK"
-}
-
-if { [regexp {Ellipse} [dump result]] == 1 } {
- puts "result is OK"
-} else {
- puts "result is Faulty"
-}
-
-checkview -display result -2d -path ${imagedir}/${test_image}.png
+++ /dev/null
-puts "========="
-puts "OCC24696"
-puts "========="
-puts ""
-###########################################################
-# Lower performance of the new Edge/Edge intersection algorithm
-###########################################################
-
-pload QAcommands
-
-dchrono h reset
-dchrono h start
-
-restore [locate_data_file bug24696_cx_e1200_nurbs.brep] cx
-
-bclearobjects
-bcleartools
-
-set edges [explode cx e]
-set nbe [llength $edges]
-for {set i 1} {$i <= $nbe} {incr i} {baddobjects cx_$i}
-bfillds
-bbuild result
-
-dchrono h stop
-set q [dchrono h show]
-
-regexp {CPU user time: ([-0-9.+eE]+) seconds} $q full z
-puts "$z"
-
-if { [regexp {Debug mode} [dversion]] } {
- if { [regexp {Windows} [dversion]] } {
- set max_time 100.0
- } else {
- set max_time 200.0
- }
-} else {
- if { [regexp {Windows} [dversion]] } {
- set max_time 25.0
- } else {
- set max_time 40.0
- }
-}
-
-if { [regexp {Mac OS X} [dversion]] } {
- set max_time 100.0
-}
-
-if { $z > ${max_time} } {
- puts "Elapsed time is more than ${max_time} seconds - Faulty"
-} else {
- puts "Elapsed time is less than ${max_time} seconds - OK"
-}
-
-checkview -display result -2d -path ${imagedir}/${test_image}.png
+++ /dev/null
-puts "========="
-puts "OCC24751"
-puts "========="
-puts ""
-###########################################################
-# Performance improvements in the Edge/Edge intersection algorithm
-###########################################################
-
-pload QAcommands
-
-if { [regexp {Debug mode} [dversion]] } {
- if { [regexp {Windows} [dversion]] } {
- set max_time 250
- } else {
- set max_time 290
- }
-} else {
- if { [regexp {Windows} [dversion]] } {
- set max_time 65
- } else {
- set max_time 100
- }
-}
-
-if { [regexp {Mac OS X} [dversion]] } {
- set max_time 320
-}
-
-dchrono h reset
-dchrono h start
-
-restore [locate_data_file bug24696_cx_e1200_nurbs.brep] cx
-
-###------------------####
-trotate cx 0 0 0 0 0 1 45
-###------------------####
-
-bclearobjects
-bcleartools
-
-set edges [explode cx e]
-set nbe [llength $edges]
-for {set i 1} {$i <= $nbe} {incr i} {baddobjects cx_$i}
-bfillds
-bbuild result
-
-dchrono h stop
-set q [dchrono h show]
-
-regexp {CPU user time: ([-0-9.+eE]+) seconds} $q full z
-puts "$z"
-
-if { $z > ${max_time} } {
- puts "Elapsed time is more than ${max_time} seconds - Faulty"
-} else {
- puts "Elapsed time is less than ${max_time} seconds - OK"
-}
-
-checkview -display result -2d -path ${imagedir}/${test_image}.png
+++ /dev/null
-puts "========="
-puts "OCC24751"
-puts "========="
-puts ""
-###########################################################
-# Performance improvements in the Edge/Edge intersection algorithm
-###########################################################
-
-pload QAcommands
-
-if { [regexp {Debug mode} [dversion]] } {
- if { [regexp {Windows} [dversion]] } {
- set max_time 300
- } else {
- set max_time 400
- }
-} else {
- if { [regexp {Windows} [dversion]] } {
- set max_time 100
- } else {
- set max_time 120
- }
-}
-
-if { [regexp {Mac OS X} [dversion]] } {
- set max_time 440
-}
-
-dchrono h reset
-dchrono h start
-
-restore [locate_data_file bug24696_cx_e1200_nurbs.brep] cx
-
-###------------------####
-trotate cx 0 0 0 0 1 1 45
-###------------------####
-
-bclearobjects
-bcleartools
-
-set edges [explode cx e]
-set nbe [llength $edges]
-for {set i 1} {$i <= $nbe} {incr i} {baddobjects cx_$i}
-bfillds
-bbuild result
-
-dchrono h stop
-set q [dchrono h show]
-
-regexp {CPU user time: ([-0-9.+eE]+) seconds} $q full z
-puts "$z"
-
-if { $z > ${max_time} } {
- puts "Elapsed time is more than ${max_time} seconds - Faulty"
-} else {
- puts "Elapsed time is less than ${max_time} seconds - OK"
-}
-
-checkview -display result -2d -path ${imagedir}/${test_image}.png
+++ /dev/null
-puts "========="
-puts "OCC24751"
-puts "========="
-puts ""
-###########################################################
-# Performance improvements in the Edge/Edge intersection algorithm
-###########################################################
-
-pload QAcommands
-
-if { [regexp {Debug mode} [dversion]] } {
- if { [regexp {Windows} [dversion]] } {
- set max_time 500
- } else {
- set max_time 500
- }
-} else {
- if { [regexp {Windows} [dversion]] } {
- set max_time 130
- } else {
- set max_time 160
- }
-}
-
-if { [regexp {Mac OS X} [dversion]] } {
- set max_time 260
-}
-
-dchrono h reset
-dchrono h start
-
-restore [locate_data_file bug24696_cx_e1200_nurbs.brep] cx
-
-###------------------####
-trotate cx 0 0 0 1 1 1 45
-###------------------####
-
-bclearobjects
-bcleartools
-
-set edges [explode cx e]
-set nbe [llength $edges]
-for {set i 1} {$i <= $nbe} {incr i} {baddobjects cx_$i}
-bfillds
-bbuild result
-
-dchrono h stop
-set q [dchrono h show]
-
-regexp {CPU user time: ([-0-9.+eE]+) seconds} $q full z
-puts "$z"
-
-if { $z > ${max_time} } {
- puts "Elapsed time is more than ${max_time} seconds - Faulty"
-} else {
- puts "Elapsed time is less than ${max_time} seconds - OK"
-}
-
-checkview -display result -2d -path ${imagedir}/${test_image}.png
+++ /dev/null
-puts "========="
-puts "OCC24751"
-puts "========="
-puts ""
-###########################################################
-# Performance improvements in the Edge/Edge intersection algorithm
-###########################################################
-
-pload QAcommands
-
-if { [regexp {Debug mode} [dversion]] } {
- if { [regexp {Windows} [dversion]] } {
- set max_time 550
- } else {
- set max_time 550
- }
-} else {
- if { [regexp {Windows} [dversion]] } {
- set max_time 130
- } else {
- set max_time 150
- }
-}
-
-if { [regexp {Mac OS X} [dversion]] } {
- set max_time 260
-}
-
-dchrono h reset
-dchrono h start
-
-restore [locate_data_file bug24696_cx_e1200_nurbs.brep] cx
-
-###------------------####
-trotate cx 0 0 0 0 1 1 90
-###------------------####
-
-bclearobjects
-bcleartools
-
-set edges [explode cx e]
-set nbe [llength $edges]
-for {set i 1} {$i <= $nbe} {incr i} {baddobjects cx_$i}
-bfillds
-bbuild result
-
-dchrono h stop
-set q [dchrono h show]
-
-regexp {CPU user time: ([-0-9.+eE]+) seconds} $q full z
-puts "$z"
-
-if { $z > ${max_time} } {
- puts "Elapsed time is more than ${max_time} seconds - Faulty"
-} else {
- puts "Elapsed time is less than ${max_time} seconds - OK"
-}
-
-checkview -display result -2d -path ${imagedir}/${test_image}.png
+++ /dev/null
-puts "========="
-puts "OCC24751"
-puts "========="
-puts ""
-###########################################################
-# Performance improvements in the Edge/Edge intersection algorithm
-###########################################################
-
-pload QAcommands
-
-if { [regexp {Debug mode} [dversion]] } {
- if { [regexp {Windows} [dversion]] } {
- set max_time 300
- } else {
- set max_time 500
- }
-} else {
- if { [regexp {Windows} [dversion]] } {
- set max_time 100
- } else {
- set max_time 150
- }
-}
-
-if { [regexp {Mac OS X} [dversion]] } {
- set max_time 270
-}
-
-dchrono h reset
-dchrono h start
-
-restore [locate_data_file bug24696_cx_e1200_nurbs.brep] cx
-
-###------------------####
-trotate cx 0 0 0 1 1 1 90
-###------------------####
-
-bclearobjects
-bcleartools
-
-set edges [explode cx e]
-set nbe [llength $edges]
-for {set i 1} {$i <= $nbe} {incr i} {baddobjects cx_$i}
-bfillds
-bbuild result
-
-dchrono h stop
-set q [dchrono h show]
-
-regexp {CPU user time: ([-0-9.+eE]+) seconds} $q full z
-puts "$z"
-
-if { $z > ${max_time} } {
- puts "Elapsed time is more than ${max_time} seconds - Faulty"
-} else {
- puts "Elapsed time is less than ${max_time} seconds - OK"
-}
-
-checkview -display result -2d -path ${imagedir}/${test_image}.png
+++ /dev/null
-puts "=========="
-puts "OCC24899"
-puts "=========="
-puts ""
-##################################################################################################
-# Time of computation of intersection points with help of class BRepIntCurveSurface_Inter is big
-##################################################################################################
-
-polyline l -10 1 1 80 1 1
-explode l e
-
-restore [locate_data_file bug24899_TheHull.brep] h1
-mkcurve c1 l_1
-BRepIntCS c1 h1 r
-distmini dd l_1 h1
-
-dchrono t1 reset
-dchrono t1 start
-
-for { set i 0} { $i <= 100 } {incr i} {
- BRepIntCS c1 h1 r
-}
-
-dchrono t1 stop
-set time1 [dchrono t1 show]
-regexp {CPU user time: ([-0-9.+eE]+) seconds} $time1 full timeint
-puts "Time performing BRepIntCurveSurface = $timeint"
-
-dchrono t2 reset
-dchrono t2 start
-for { set j 0} { $j <= 100 } {incr j} {
- distmini dd l_1 h1
-}
-
-dchrono t2 stop
-set time2 [dchrono t2 show]
-regexp {CPU user time: ([-0-9.+eE]+) seconds} $time2 full timeextr
-puts "Time performing BRepExtrema_DistShapeShape = $timeextr"
-
-if { $timeint > 2 * $timeextr } {
- puts "Error : Time of intersection of curve with shell is more than two time from BRepExtrema"
-} else {
- puts "OK: Time is good"
-}
+++ /dev/null
-puts "============"
-puts "OCC25019"
-puts "============"
-puts ""
-###############################
-## Command "bsection" in Test Harness with flag build pcurve on second shape works slowly.
-###############################
-
-restore [locate_data_file bug25019_a_shape_1.brep] a1
-restore [locate_data_file bug25019_prism.brep] p1
-
-# 1.
-dchrono h1 reset
-dchrono h1 start
-
-bsection r a1 p1 -n2d2
-
-dchrono h1 stop
-set q1 [dchrono h1 show]
-
-# 2.
-dchrono h2 reset
-dchrono h2 start
-
-bsection r a1 p1
-
-dchrono h2 stop
-set q2 [dchrono h2 show]
-
-#
-regexp {CPU user time: ([-0-9.+eE]+) seconds} $q1 full t1
-puts "$t1"
-if { [checkplatform -windows] } {
- puts "OS = Windows NT"
- set max_time1 20
-} else {
- puts "OS = Linux"
- set max_time1 30
-}
-if { $t1 > ${max_time1} } {
- puts "Elapsed time is more than ${max_time1} seconds - Faulty"
-} else {
- puts "Elapsed time is less than ${max_time1} seconds - OK"
-}
-
-#
-regexp {CPU user time: ([-0-9.+eE]+) seconds} $q2 full t2
-puts "$t2"
-if { [checkplatform -windows] } {
- puts "OS = Windows NT"
- set max_time2 20
-} else {
- puts "OS = Linux"
- set max_time2 30
-}
-if { $t2 > ${max_time2} } {
- puts "Elapsed time is more than ${max_time2} seconds - Faulty"
-} else {
- puts "Elapsed time is less than ${max_time2} seconds - OK"
-}
+++ /dev/null
-puts "============"
-puts "OCC25058"
-puts "============"
-puts ""
-###############################
-## Regression of performance of BRepExtrema_ExtCC (1000 times slower)
-###############################
-
-if { [regexp {Debug mode} [dversion]] } {
- if { [regexp {Windows} [dversion]] } {
- set max_time 1
- set max_time2 1
- } else {
- set max_time 1
- set max_time2 1
- }
-} else {
- if { [regexp {Windows} [dversion]] } {
- set max_time 1
- set max_time2 1
- } else {
- set max_time 1
- set max_time2 1
- }
-}
-
-restore [locate_data_file bug25058_e1.brep] e1
-restore [locate_data_file bug25058_e2.brep] e2
-
-dchrono h reset
-dchrono h start
-
-distmini r e1 e2
-
-dchrono h stop
-set q [dchrono h show]
-
-regexp {CPU user time: ([-0-9.+eE]+) seconds} $q full z
-puts "$z"
-
-if { $z > ${max_time} } {
- puts "Elapsed time of distmini is more than ${max_time} seconds - Faulty"
-} else {
- puts "Elapsed time of distmini is less than ${max_time} seconds - OK"
-}
+++ /dev/null
-puts "========"
-puts "OCC25413"
-puts "========"
-puts ""
-#############################################################
-# Line-Shape intersection algorithm became 400 times slower
-#############################################################
-
-pload QAcommands
-
-restore [locate_data_file bug25413.brep] w
-
-dchrono perf_h reset
-dchrono perf_h start
-OCC25413 w
-dchrono perf_h stop
-
-set chrono_info [dchrono perf_h show]
-
-regexp {CPU user time: ([-0-9.+eE]+) seconds} $chrono_info full CPU_time
-puts "Elapsed time is: $CPU_time"
-
-if { [checkplatform -windows] } {
- if {[regexp {Debug mode} [dversion]]} {
- # initial CPU_time for WINDOWS in DEBUG mode is 90 sec
- puts "Checking WINDOWS performance in debug mode..."
- if {$CPU_time > 90.} {
- puts "ERROR: OCC25413 is reproduced."
- puts " Low performance: $CPU_time (but should be less than 90 sec)"
- } else {
- puts "Done!"
- }
- } else {
- puts "Checking WINDOWS performance in optimize mode..."
- # initial CPU_time for WINDOWS in OPTIMIZE mode is 30 sec
- if {$CPU_time > 30.} {
- puts "ERROR: OCC25413 is reproduced."
- puts " Low performance: $CPU_time (but should be less than 30 sec)"
- } else {
- puts "Done!"
- }
- }
-} else {
- if {[regexp {Debug mode} [dversion]]} {
- # initial CPU_time for LINUX in DEBUG mode is 90 sec
- puts "Checking LINUX performance in debug mode..."
- if {$CPU_time > 90.} {
- puts "ERROR: OCC25413 is reproduced."
- puts " Low performance: $CPU_time (but should be less than 90 sec)"
- } else {
- puts "Done!"
- }
- } else {
- puts "Checking LINUX performance in optimize mode..."
- # initial CPU_time for LINUX in OPTIMIZE mode is 30 sec
- if {$CPU_time > 30.} {
- puts "ERROR: OCC25413 is reproduced."
- puts " Low performance: $CPU_time (but should be less than 30 sec)"
- } else {
- puts "Done!"
- }
- }
-}
+++ /dev/null
-puts "============"
-puts "OCC25742"
-puts "============"
-puts ""
-###############################
-## A partition of 2 shapes stresses a performance issue
-###############################
-
-if { [regexp {Debug mode} [dversion]] } {
- if { [regexp {Windows} [dversion]] } {
- set max_time 150
- } else {
- set max_time 100
- }
-} else {
- if { [regexp {Windows} [dversion]] } {
- set max_time 30
- } else {
- set max_time 20
- }
-}
-
-restore [locate_data_file bug25742_pipeFiss.brep] b1
-restore [locate_data_file bug25742_shellFiss.brep] b2
-
-bclearobjects
-bcleartools
-baddobjects b1
-baddtools b2
-
-dchrono h reset
-dchrono h start
-
-bfillds
-bbuild result
-
-dchrono h stop
-set q [dchrono h show]
-
-regexp {CPU user time: ([-0-9.+eE]+) seconds} $q full z
-puts "$z"
-
-if { $z > ${max_time} } {
- puts "Elapsed time of bbuild is more than ${max_time} seconds - Error"
-} else {
- puts "Elapsed time of bbuild is less than ${max_time} seconds - OK"
-}
-
-checkprops result -s 280627
-checkshape result
-
-set nbshapes_expected "
-Number of shapes in shape
- VERTEX : 14
- EDGE : 24
- WIRE : 11
- FACE : 10
- SHELL : 1
- SOLID : 0
- COMPSOLID : 0
- COMPOUND : 1
- SHAPE : 61
-"
-checknbshapes result -ref "${nbshapes_expected}" -t -m "Partition of 2 shapes"
-checkview -display result -3d -path ${imagedir}/${test_image}.png
+++ /dev/null
-puts "============"
-puts "OCC25742"
-puts "============"
-puts ""
-###############################
-## A partition of 2 shapes stresses a performance issue
-###############################
-
-if { [regexp {Debug mode} [dversion]] } {
- if { [regexp {Windows} [dversion]] } {
- set max_time 10
- set max_time2 10
- } else {
- set max_time 10
- set max_time2 10
- }
-} else {
- if { [regexp {Windows} [dversion]] } {
- set max_time 1
- set max_time2 1
- } else {
- set max_time 1
- set max_time2 1
- }
-}
-
-restore [locate_data_file bug25742_pipeFiss.brep] b1
-restore [locate_data_file bug25742_shellFiss.brep] b2
-
-explode b1 f
-explode b2 f
-
-smallview
-donly b1_4
-fit
-display b2_1
-
-dchrono h reset
-dchrono h start
-
-bopcurves b1_4 b2_1 -2d
-
-dchrono h stop
-
-checkview -screenshot -2d -path ${imagedir}/${test_image}_1.png
-
-set q [dchrono h show]
-
-regexp {CPU user time: ([-0-9.+eE]+) seconds} $q full z
-puts "$z"
-
-if { $z > ${max_time} } {
- puts "Elapsed time of bopcurves is more than ${max_time} seconds - Error"
-} else {
- puts "Elapsed time of bopcurves is less than ${max_time} seconds - OK"
-}
-
-
-mksurface s1 b1_4
-mksurface s2 b2_1
-
-dchrono h2 reset
-dchrono h2 start
-
-set CurveNumb [intersect resi s1 s2]
-
-dchrono h2 stop
-set q2 [dchrono h2 show]
-
-regexp {CPU user time: ([-0-9.+eE]+) seconds} $q2 full z2
-puts "$z2"
-
-if { $z2 > ${max_time2} } {
- puts "Elapsed time of intersect is more than ${max_time2} seconds - Faulty"
-} else {
- puts "Elapsed time of intersect is less than ${max_time2} seconds - OK"
-}
-
-if { [llength ${CurveNumb}] < 1 } {
- puts "Error : Bad intersection"
-} else {
- puts "OK : Good intersection"
-}
-
-don resi*
-fit
-display s1 s2
-
-checkview -screenshot -2d -path ${imagedir}/${test_image}_2.png
+++ /dev/null
-puts "========="
-puts "OCC25788"
-puts "========="
-puts ""
-###############################################
-# Parallelization of the BOP Builder algorithm on second level
-###############################################
-
-# box plate to cut the holes from
-box b1 100 100 1
-
-# N defines number of holes along each of X and Y, thus total N^2 holes
-# will be drilled; note that the algorithm iself is likely to be quadratic
-# for number of shapes, i.e. CPU
-set N 40
-set holes {}
-for {set i 1} {$i < $N} {incr i} {
- for {set j 1} {$j < $N} {incr j} {
- pcylinder p_${i}_$j 0.5 1
- ttranslate p_${i}_$j [expr $i * 100. / $N] [expr $j * 100. / $N] 0.
- lappend holes p_${i}_$j
- }
-}
-
-eval compound $holes b2
-
-bclearobjects
-bcleartools
-baddobjects b1
-baddtools b2
-
-brunparallel 1
-
-dchrono cpu reset
-dchrono cpu start
-bcut r b1 b2
-dchrono cpu stop
-set chrono_info [dchrono cpu show]
-
-if { [regexp {Debug mode} [dversion]] } {
- if { [regexp {Windows} [dversion]] } {
- set max_time 200
- } else {
- set max_time 200
- }
-} else {
- if { [regexp {Windows} [dversion]] } {
- set max_time 50
- } else {
- set max_time 50
- }
-}
-
-regexp {CPU user time: ([-0-9.+eE]+) seconds} ${chrono_info} full z
-puts "$z"
-
-if { $z > ${max_time} } {
- puts "Elapsed time is more than ${max_time} seconds - Faulty"
-} else {
- puts "Elapsed time is less than ${max_time} seconds - OK"
-}
+++ /dev/null
-puts "========"
-puts "OCC26310"
-puts "========"
-puts ""
-#################################################
-# Very slow boolean cut operations on cylinders
-#################################################
-
-if { [regexp {Debug mode} [dversion]] } {
- set max_time 0.3
-} else {
- set max_time 0.15
-}
-
-set maxToler 1.5e-5
-
-restore [locate_data_file OCC26310-b1.brep] b1
-restore [locate_data_file OCC26310-b2.brep] b2
-
-explode b1 f
-explode b2 f
-
-dchrono cr reset
-dchrono cr start
-set log1 [bopcurves b1_1 b2_1 -2d]
-dchrono cr stop
-
-regexp {Tolerance Reached=+([-0-9.+eE]+)} ${log1} full Toler
-
-puts "TolReached = $Toler"
-
-if { $Toler > $maxToler } {
- puts "Error: Tolerance is too big ($Toler > $maxToler)"
-}
-
-set log2 [dchrono cr show]
-
-regexp {CPU user time: ([-0-9.+eE]+) seconds} $log2 full sec
-
-if { $sec > ${max_time} } {
- puts "Error: CPU user time is more than ${max_time} seconds"
-} else {
- puts "OK: CPU user time is less than ${max_time} seconds"
-}
+++ /dev/null
-puts "============"
-puts "OCC24596"
-puts "============"
-puts ""
-###############################
-## Slow import of IGES data
-###############################
-
-pload XDE
-
-if { [regexp {Debug mode} [dversion]] } {
- if { [regexp {Windows} [dversion]] } {
- set max_time 30
- } else {
- set max_time 30
- }
-} else {
- if { [regexp {Windows} [dversion]] } {
- set max_time 10
- } else {
- set max_time 10
- }
-}
-
-dchrono h reset
-dchrono h start
-
-stepread [locate_data_file bug26327_fuse_input.stp] a *
-
-for {set i 2} {$i < 22} {incr i} {
- puts "a_$i"
- bfuse a_1 a_1 a_$i
- }
-
-dchrono h stop
-set q [dchrono h show]
-
-regexp {CPU user time: ([-0-9.+eE]+) seconds} $q full z
-puts "$z"
-
-if { $z > ${max_time} } {
- puts "Elapsed time of import of IGES data is more than ${max_time} seconds - Faulty"
-} else {
- puts "Elapsed time of import of IGES data is less than ${max_time} seconds - OK"
-}
+++ /dev/null
-puts "========"
-puts "OCC26443"
-puts "========"
-puts ""
-###########################
-# Offset surface hangs up
-###########################
-
-smallview
-
-restore [locate_data_file OCC26443-shell_1.brep] a
-
-chrono h reset
-dchrono h start
-offsetshape r a -2
-chrono h stop
-dchrono h show
-fit
-
-checkview -screenshot -2d -path ${imagedir}/${test_image}.png
+++ /dev/null
-puts "========"
-puts "OCC26443"
-puts "========"
-puts ""
-###########################
-# Offset surface hangs up
-###########################
-
-smallview
-
-restore [locate_data_file OCC26443-shell_2.brep] a
-
-chrono h reset
-dchrono h start
-offsetshape r a -2
-chrono h stop
-dchrono h show
-fit
-
-checkview -screenshot -2d -path ${imagedir}/${test_image}.png
+++ /dev/null
-puts "============"
-puts "OCC26447"
-puts "============"
-puts ""
-##############################################################
-# Performance degradation intersecting cylindrical surfaces
-#############################################################
-
-cylinder c1 0 0 0 1 0 0 0 -1 0 100
-cylinder c2 0 0 0 0 1 0 1 0 0 100
-mkface f1 c1
-mkface f2 c2
-
-dchrono cr reset
-dchrono cr start
-
-for {set i 1} {$i <= 1000} {incr i} {
- bopcurves f1 f2
-}
-
-dchrono cr stop
-if { [checkplatform -windows] } {
- set max_time 7.5
-} else {
- set max_time 4.5
-}
-set TimeList [dchrono cr show]
-regexp {Elapsed time: [-0-9.+eE]+ Hours [-0-9.+eE]+ Minutes ([-0-9.+eE]+) Seconds} $TimeList full ElapsedTime_sec
-
-if { ${ElapsedTime_sec} > ${max_time} } {
- puts "Error: Elapsed time of intersecting is more than ${max_time} seconds"
-} else {
- puts "OK: Elapsed time of intersecting is less than ${max_time} seconds"
-}
+++ /dev/null
-puts "========"
-puts "OCC26513"
-puts "========"
-puts ""
-###########################################################
-# Offset API not returning result (seems to be "hanging")
-###########################################################
-
-set max_time 10
-
-smallview
-
-restore [locate_data_file bug26513-offset_input.brep] a
-
-unifysamedom s a -a 1.e-8
-offsetparameter 1.e-7 c i
-offsetload s 5
-offsetperform result
-
-checkshape result
-
-checkprops result -s 3.28125e+008 -v 3.07334e+010
-
-unifysamedom result_unif result
-checknbshapes result_unif -face 114 -shell 1
-
-checkview -display result_unif -2d -path ${imagedir}/${test_image}.png
+++ /dev/null
-puts "========"
-puts "OCC26674"
-puts "========"
-puts ""
-#################################################
-# Performance regression in BRepExtrema_DistShapeShape in OCCT 6.9.0 in compare with OCCT 6.7.1
-#################################################
-
-set max_time 1
-
-restore [locate_data_file OCC26674-face.brep] a1
-restore [locate_data_file OCC26674-shell.brep] a2
-
-dchrono cr reset
-dchrono cr start
-
-distmini dd a1 a2
-
-dchrono cr stop
-
-set log [dchrono cr show]
-
-regexp {CPU user time: ([-0-9.+eE]+) seconds} $log full z
-puts "$z"
-
-if { $z > ${max_time} } {
- puts "Elapsed time of BRepExtrema_DistShapeShape is more than ${max_time} seconds - Error"
-} else {
- puts "Elapsed time of BRepExtrema_DistShapeShape is less than ${max_time} seconds - OK"
-}
-
-regexp {([-0-9.+eE]+)$} [dump dd_val] full dist
-
-set expected_dist 0.0
-set tol_abs_dist 1.0e-07
-set tol_rel_dist 0.0
-checkreal "Dump of dd_val" ${dist} ${expected_dist} ${tol_abs_dist} ${tol_rel_dist}
+++ /dev/null
-puts "========"
-puts "OCC26914"
-puts "========"
-puts ""
-#################################
-# Hang in surface approximation
-#################################
-
-set max_time 2
-
-restore [locate_data_file bug23943_s.draw] s
-
-dchrono cr reset
-dchrono cr start
-approxsurf rs s 5e-5 0 0 15 15 100 0
-
-dchrono cr stop
-
-set chrono_info [dchrono cr show]
-regexp {CPU user time: ([-0-9.+eE]+) seconds} $chrono_info full CPU_time
-if { $CPU_time > ${max_time} } {
- puts "Elapsed time of surface approximation is more than ${max_time} seconds - Error"
-} else {
- puts "Elapsed time of surface approximation is less than ${max_time} seconds - OK"
-}
+++ /dev/null
-puts "============"
-puts "OCC26929"
-puts "============"
-puts ""
-#############################################################################################
-## Extrema_ECC hang/crash in ShapeSplitter
-#############################################################################################
-cpulimit 100
-
-restore [locate_data_file OCC26629-face.brep] aF
-restore [locate_data_file OCC26629-edge.brep] aE
-
-pload MODELING
-
-# Hang check.
-dchrono cr reset
-dchrono cr start
-
-set ss ""
-foreach s [explode aE e] {set ss "$ss aF $s"}
-eval splitshape result aF $ss
-
-dchrono cr stop
-
-set max_time 20.0
-set log [dchrono cr show]
-regexp {CPU user time: ([-0-9.+eE]+) seconds} $log full z
-
-
-if { $z > ${max_time} } {
- puts "Elapsed time of BRepFeat_SplitShape is more than ${max_time} seconds - Error"
-} else {
- puts "Elapsed time of BRepFeat_SplitShape is less than ${max_time} seconds - OK"
-}
-
-# Check result validity.
-checkshape result
-
-# Visual check.
-set 2dviewer 1
\ No newline at end of file
+++ /dev/null
-puts "========"
-puts "OCC26980"
-puts "========"
-puts ""
-#################################
-# Intersection part of Boolean algorithm spends much system time and system memory
-#################################
-
-set max_time 130
-set mem_max_wsetpeak 500000000
-
-
-bclearobjects;
-bcleartools;
-
-restore [locate_data_file bug26980-cmp.brep] cmp
-
-puts [nbshapes cmp -t]
-
-eval baddobjects [explode cmp]
-
-dchrono cr reset
-dchrono cr start
-
-bfillds
-bbuild result
-
-dchrono cr stop
-
-set mem_wsetpeak [meminfo wsetpeak]
-
-if { ${mem_wsetpeak} > ${mem_max_wsetpeak}} {
- puts "Error : there is memory problem (${mem_wsetpeak} MBytes has been allocated)"
-}
-
-set chrono_info [dchrono cr show]
-regexp {CPU user time: ([-0-9.+eE]+) seconds} $chrono_info full CPU_time
-if { $CPU_time > ${max_time} } {
- puts "CPU user time of Boolean operation is more than ${max_time} seconds - Error"
-} else {
- puts "CPU user time of Boolean operation is less than ${max_time} seconds - OK"
-}
-
-set nbshapes_expected "
- VERTEX : 365
- EDGE : 793
- WIRE : 531
- FACE : 531
- SHELL : 102
- SOLID : 101
- COMPSOLID : 0
- COMPOUND : 1
- SHAPE : 2424
-"
-
-checknbshapes result -ref ${nbshapes_expected} -t
-
-smallview
-donly result
-fit
-
-set 2dviewer 1
+++ /dev/null
-puts "============"
-puts "OCC27085"
-puts "============"
-puts ""
-###############################
-## ShapeUpgrade_UnifySameDomain very large performance difference for seemingly similar shapes
-###############################
-
-restore [locate_data_file bug27085_fused_primitive.fast.brep] fp
-
-dchrono h reset
-dchrono h start
-
-unifysamedom res fp
-
-dchrono h stop
-set q [dchrono h show]
-
-regexp {CPU user time: ([-0-9.+eE]+) seconds} $q full z
-puts "$z"
-
-set max_time 5
-
-if { $z > ${max_time} } {
- puts "Elapsed time is more than ${max_time} seconds - Faulty"
-} else {
- puts "Elapsed time is less than ${max_time} seconds - OK"
-}
+++ /dev/null
-puts "============"
-puts "OCC27085"
-puts "============"
-puts ""
-###############################
-## ShapeUpgrade_UnifySameDomain very large performance difference for seemingly similar shapes
-###############################
-
-restore [locate_data_file bug27085_fused_primitive.slow.brep] sp
-
-dchrono h reset
-dchrono h start
-
-unifysamedom res sp
-
-dchrono h stop
-set q [dchrono h show]
-
-regexp {CPU user time: ([-0-9.+eE]+) seconds} $q full z
-puts "$z"
-
-set max_time 8
-
-if { $z > ${max_time} } {
- puts "Elapsed time is more than ${max_time} seconds - Faulty"
-} else {
- puts "Elapsed time is less than ${max_time} seconds - OK"
-}
+++ /dev/null
-puts "============"
-puts "OCC27569"
-puts "============"
-puts ""
-######################################################
-# [Regression in 6.9.0] Projecting a curve hangs
-######################################################
-
-pload QAcommands
-
-restore [locate_data_file bug27569.brep] aS
-explode aS
-mkcurve c aS_1
-mksurface s aS_2
-
-# Performance check
-chrono h reset; chrono h start
-OCC24008 c s;
-chrono h stop; set q [dchrono h show]
-regexp {CPU user time: ([-0-9.+eE]+) seconds} $q full aTime
-
-set MAX_TIME 1.0
-
-if { $aTime > ${MAX_TIME} } {
- puts "Elapsed time is more than ${MAX_TIME} seconds - Faulty"
-} else {
- puts "Elapsed time is less than ${MAX_TIME} seconds - OK"
-}
+++ /dev/null
-puts "========"
-puts "OCC28030"
-puts "========"
-puts ""
-########################################################################################################
-# Algorith GeomLib_CheckCurveOnSurface takes too much time for Bspline curves with big number of knots
-########################################################################################################
-
-beziercurve c 4 0 0 0 1 1 0 2 1 0 3 0 0
-
-convert c1 c
-set i 1
-repeat 98 {insertknot c1 0.01*$i 1; incr i 1}
-mkedge e1 c1
-prism p1 e1 0 0 1
-explode p1 e
-dchrono cpu reset
-dchrono cpu start
-xdistef p1_3 p1
-dchrono cpu stop
-puts [dchrono cpu show]
-set q1 [dchrono cpu show]
-regexp {CPU user time: ([-0-9.+eE]+) seconds} ${q1} full t1
-
-convert c2 c
-set i 1
-repeat 1000 {insertknot c2 0.00098*$i 1; incr i 1}
-mkedge e2 c2
-prism p2 e2 0 0 1
-explode p2 e
-dchrono cpu reset
-dchrono cpu start
-xdistef p2_3 p2
-dchrono cpu stop
-puts [dchrono cpu show]
-set q2 [dchrono cpu show]
-regexp {CPU user time: ([-0-9.+eE]+) seconds} ${q2} full t2
-
-set max_ratio 5
-if { ${t2} > ${max_ratio}*${t1} } {
- puts "Elapsed time is too much - Faulty"
-} else {
- puts "Elapsed time is OK"
-}
+++ /dev/null
-puts "========"
-puts "OCC21292"
-puts "========"
-puts ""
-######################################################
-# Shading on large model too long
-######################################################
-
-set BugNumber OCC21292
-
-# 1 munite
-cpulimit 60
-
-restore [locate_data_file OCC21292.brep] result
-
-vinit
-vsetdispmode 1
-
-chrono h reset; chrono h start
-#
-# DISPLAY OPERATION ----- START
-#
-vdisplay result
-#
-# DISPLAY OPERATION ----- FINISH
-#
-chrono h stop; set CPU_time_List [chrono h show]
-
-set CPU_user_time [lindex ${CPU_time_List} 11]
-puts "CPU_user_time=${CPU_user_time}"
-
-
-checkprops result -s 1.40193e+07
-checknbshapes result -vertex 372 -edge 369 -wire 2 -face 1 -shell 0 -solid 0 -compsolid 0 -compound 1 -shape 745
-
-if { [checkplatform -windows] } {
- puts "windows"
- set Good_CPU_user_time 0.
-} else {
- if {[string compare $tcl_platform(os) "SunOS"] == 0} {
- puts "SunOS"
- set Good_CPU_user_time 6.
- } else {
- puts "Linux"
- set Good_CPU_user_time 6.
- }
-}
-
-# Check time boolean operation
-if {${Good_CPU_user_time} > ${CPU_user_time}} {
- puts "OK ${BugNumber} : CPU user time is good"
-} else {
- puts "Faulty ${BugNumber} : CPU user time is wrong"
-}
-
-
-checkview -screenshot -3d -path ${imagedir}/${test_image}.png
+++ /dev/null
-puts "============"
-puts "OCC21858"
-puts "============"
-puts ""
-####################################
-# Visualization hangs on this face ( OCC21858.brep )
-####################################
-
-set BugNumber OCC21858
-cpulimit 40
-restore [locate_data_file OCC21858.brep] result
-
-checkprops result -l 6.48642
-checksection result
-
-checknbshapes result -vertex 9 -edge 10 -wire 1 -face 1 -shell 0 -solid 0 -compsolid 0 -compound 0 -shape 21
-
-vinit
-vsetdispmode 1
-dchrono TestTimer reset
-dchrono TestTimer start
-vdisplay result
-dchrono TestTimer stop
-vfit
-puts ""
-set time_o 0.1
-set tim [ dchrono TestTimer show ]
-regexp {Elapsed time: +([-0-9.+eE]+) Hours +([-0-9.+eE]+) Minutes +([-0-9.+eE]+) Seconds} $tim full hourVDisplay minuVDisplay secoVDisplay
-
-set timVDisplay [expr $hourVDisplay * 3600 + $minuVDisplay * 60 + $secoVDisplay ]
-
-if { ${tim} < ${time_o} } {
- set chro "CHRONO : Faulty (${timVDisplay}%)"
- set status 1
- puts ${chro}
-} else {
- puts "${BugNumber} OK"
- set status 0
-}
-puts "timVDisplay = ${timVDisplay}"
-
-checkview -screenshot -3d -path ${imagedir}/${test_image}.png
+++ /dev/null
-puts "========"
-puts "OCC276"
-puts "========"
-puts ""
-#########################################################
-##Bad performance of checkshape on faces with multiple wires
-#########################################################
-
-restore [locate_data_file OCC276.brep] result
-
-dchrono h2 reset
-dchrono h2 start
-
-checkshape result
-
-dchrono h2 stop
-set q2 [ dchrono h2 show ]
-regexp {CPU user time: ([-0-9.+eE]+) seconds} $q2 full z2
-if { [expr $z2 > 43] } {
- puts "Elapsed time is more then 43 seconds - Faulty"
-} else {
- puts "Elapsed time is less then 43 seconds - OK"
-}
-
-checkview -display result -2d -path ${imagedir}/${test_image}.png
-
-
-
-
-
+++ /dev/null
-puts "========"
-puts "OCC36"
-puts "========"
-
-pload XDE
-
-set filepath [locate_data_file OCC36.igs]
-if [catch { igesbrep $filepath a * } res] {
- puts "Error OCC36: here is reading problem"
-} else {
- puts "Reading OCC36 OK"
-
- tpcompound r
- dchrono h2 reset
- dchrono h2 start
- sewing result 1.e-7 r
- dchrono h2 stop
- set q2 [ dchrono h2 show ]
- regexp {CPU user time: ([-0-9.+eE]+) seconds} $q2 full z2
- puts "$z2"
- if { $z2 > 30 } {
- puts "Elapsed time is more then 30 seconds - Faulty"
- } else {
- puts "Elapsed time is less then 30 seconds - OK"
- }
-
- checkmaxtol result -ref 0.96087447225733291
- checknbshapes result -shell 13
- checkfreebounds result 1247
-}
-
-checkview -display result -2d -path ${imagedir}/${test_image}.png
-
-
+++ /dev/null
-
-puts "========================"
-puts "BUC61027"
-puts " OCC368 "
-puts "========================"
-puts ""
-##############################################
-## Visualization is too slow.
-##############################################
-
-restore [locate_data_file OCC368.brep] result
-checkshape result
-
-tclean result
-isos result 0
-vinit
-dchrono h2 reset
-dchrono h2 start
-vdisplay result
-vsetdispmode result 1
-dchrono h2 stop
-
-regexp {CPU user time: +([-0-9.+eE]+)} [dchrono h2 show] full z2
-
-if { $z2 > 30 } {
- puts "Error : Elapsed time is more then 30 seconds"
-}
-
-checkview -display result -2d -path ${imagedir}/${test_image}.png
-
-
-
-
+++ /dev/null
-puts "TODO OCC24156 MacOS: Tcl Exception: tolerance ang"
-puts "TODO OCC24156 MacOS: TEST INCOMPLETE"
-puts "TODO OCC27203 ALL: Error: Max tolerance"
-puts "TODO OCC27203 All: Error : The area of result shape is"
-
-puts "========"
-puts "OCC453"
-puts "(case 3)"
-puts "========"
-puts ""
-
-dchrono h2 reset
-dchrono h2 start
-
-set make_print_out 0
-
-dset SCALE 1000.
-dset SCALE1 5
-tolblend 0.01 1e-04 1e-05 1e-03
-
-restore [locate_data_file shading_137.brep] s
-tscale s 0 0 0 SCALE1
-explode s E
-
-blend result s 5.5*SCALE1 s_2 4*SCALE1 s_1 6*SCALE1 s_6 5*SCALE1 s_8 6*SCALE1 s_10 6.5*SCALE1 s_14 7*SCALE1 s_4 5.5*SCALE1 s_5 7*SCALE1 s_16 6*SCALE1 s_11 5*SCALE1 s_19 6.5*SCALE1 s_13
-explode result So
-tcopy result_1 result
-
-dchrono h2 stop
-
-# Check computation time
-set q2 [ dchrono h2 show ]
-regexp {CPU user time: ([-0-9.+eE]+) seconds} $q2 full z2
-puts "$z2"
-if { $z2 > 85 } {
- puts "Elapsed time is more then 85 seconds - Faulty"
-} else {
- puts "Elapsed time is less then 85 seconds - OK"
-}
-
-# Note: The reference values of area and tolerance are wanted theoretical values
-# Properties check
-checkprops result -s 3.51e+006
-
-# Tolerance check
-checkmaxtol result -ref 1.
-
-# Visual check
-checkview -display result -2d -path ${imagedir}/${test_image}.png
-
+++ /dev/null
-puts "========"
-puts "OCC25487"
-puts "========"
-puts ""
-##########################################
-# Extrema_GenExtPS needs to be optimized
-##########################################
-
-pload DATAEXCHANGEKERNEL
-
-# Restore testing shape and get timing characteristics for operation stepread
-dchrono perf_h reset
-dchrono perf_h start
-stepread [locate_data_file OCC25487_LP1.stp] a *
-dchrono perf_h stop
-
-# Get elapsed time for operation stepread
-set chrono_info [dchrono perf_h show]
-regexp {CPU user time: ([-0-9.+eE]+) seconds} $chrono_info full CPU_time
-puts "Elapsed time is: $CPU_time"
-
-# Check prformance on Windows
-if { [checkplatform -windows] } {
- if {[regexp {Debug mode} [dversion]]} {
- # DEBUG mode
- # initial CPU_time for WINDOWS in DEBUG mode is 410 ((186+19)*2) sec
- puts "Checking WINDOWS performance in debug mode..."
- if {$CPU_time > 410.} {
- puts "ERROR: OCC25487 is reproduced."
- puts " Low performance: $CPU_time (but should be less than 410 sec)"
- } else {
- puts "Done!"
- }
- } else {
- # OPTIMIZE mode
- # initial CPU_time for WINDOWS in OPTIMIZE mode is 205 (186+19) sec
- puts "Checking WINDOWS performance in optimize mode..."
- if {$CPU_time > 205.} {
- puts "ERROR: OCC25487 is reproduced."
- puts " Low performance: $CPU_time (but should be less than 205 sec)"
- } else {
- puts "Done!"
- }
- }
-} else {
- if {[regexp {Debug mode} [dversion]]} {
- # DEBUG mode
- # initial CPU_time for LINUX in DEBUG mode is 900 sec
- puts "Checking LINUX performance in debug mode..."
- if {$CPU_time > 900.} {
- puts "ERROR: OCC25487 is reproduced."
- puts " Low performance: $CPU_time (but should be less than 900 sec)"
- } else {
- puts "Done!"
- }
- } else {
- # OPTIMIZE mode
- # initial CPU_time for LINUX in OPTIMIZE mode is 190 (173+17) sec
- puts "Checking LINUX performance in optimize mode..."
- if {$CPU_time > 190.} {
- puts "ERROR: OCC25487 is reproduced."
- puts " Low performance: $CPU_time (but should be less than 190 sec)"
- } else {
- puts "Done!"
- }
- }
-}
+++ /dev/null
-puts "========"
-puts "OCC25487"
-puts "========"
-puts ""
-##########################################
-# Extrema_GenExtPS needs to be optimized
-##########################################
-
-cpulimit 1500
-
-pload DATAEXCHANGEKERNEL
-
-# Restore testing shape and get timing characteristics for operation stepread
-dchrono perf_h reset
-dchrono perf_h start
-stepread [locate_data_file OCC25487_LP2.stp] a *
-dchrono perf_h stop
-
-# Get elapsed time for operation stepread
-set chrono_info [dchrono perf_h show]
-regexp {CPU user time: ([-0-9.+eE]+) seconds} $chrono_info full CPU_time
-puts "Elapsed time is: $CPU_time"
-
-# Check prformance on Windows
-if { [checkplatform -windows] } {
- if {[regexp {Debug mode} [dversion]]} {
- # DEBUG mode
- # initial CPU_time for WINDOWS in DEBUG mode is 1208 ((549+55)*2) sec
- puts "Checking WINDOWS performance in debug mode..."
- if {$CPU_time > 1208.} {
- puts "ERROR: OCC25487 is reproduced."
- puts " Low performance: $CPU_time (but should be less than 1208 sec)"
- } else {
- puts "Done!"
- }
- } else {
- # OPTIMIZE mode
- # initial CPU_time for WINDOWS in OPTIMIZE mode is 604 (549+55) sec
- puts "Checking WINDOWS performance in optimize mode..."
- if {$CPU_time > 604.} {
- puts "ERROR: OCC25487 is reproduced."
- puts " Low performance: $CPU_time (but should be less than 604 sec)"
- } else {
- puts "Done!"
- }
- }
-} else {
- if {[regexp {Debug mode} [dversion]]} {
- # DEBUG mode
- # initial CPU_time for LINUX in DEBUG mode is 1500 sec
- puts "Checking LINUX performance in debug mode..."
- if {$CPU_time > 1500.} {
- puts "ERROR: OCC25487 is reproduced."
- puts " Low performance: $CPU_time (but should be less than 1500 sec)"
- } else {
- puts "Done!"
- }
- } else {
- # OPTIMIZE mode
- # initial CPU_time for LINUX in OPTIMIZE mode is 575 (523+52) sec
- puts "Checking LINUX performance in optimize mode..."
- if {$CPU_time > 575.} {
- puts "ERROR: OCC25487 is reproduced."
- puts " Low performance: $CPU_time (but should be less than 575 sec)"
- } else {
- puts "Done!"
- }
- }
-}
+++ /dev/null
-puts "============"
-puts "OCC26339"
-puts "============"
-puts ""
-#######################################################################
-# [Regression in 6.9.0] Projecting a curve hangs
-#######################################################################
-
-if { [regexp {Debug mode} [dversion]] } {
- if { [regexp {Windows} [dversion]] } {
- set max_time 10
- } else {
- set max_time 10
- }
-} else {
- if { [regexp {Windows} [dversion]] } {
- set max_time 3
- } else {
- set max_time 3
- }
-}
-
-restore [locate_data_file bug26339_a_1886.brep] f
-
-dchrono h reset
-dchrono h start
-
-fixshape r f 1e-5
-
-dchrono h stop
-set q [dchrono h show]
-
-regexp {CPU user time: ([-0-9.+eE]+) seconds} $q full z
-puts "$z"
-
-if { $z > ${max_time} } {
- puts "Elapsed time of projecting a curve is more than ${max_time} seconds - Faulty"
-} else {
- puts "Elapsed time of projecting a curve is less than ${max_time} seconds - OK"
-}
+++ /dev/null
-puts "================"
-puts "OCC26884"
-puts "================"
-puts ""
-##############################################################
-# Cylinder/Cylinder intersection algorithm throws an exception
-##############################################################
-
-set max_time 0.1
-
-restore [locate_data_file bug26884-f1.brep] f1
-restore [locate_data_file bug26884-f2.brep] f2
-
-dchrono cr reset
-dchrono cr start
-
-set info [bopcurves f1 f2 -2d]
-
-dchrono cr stop
-
-if {![regexp {has no 3d curves} $info] ||
- ![regexp {has no 3d points} $info] } {
- puts "Error: wrong output"
-}
-
-set logTime [dchrono cr show]
-
-regexp {CPU user time: ([-0-9.+eE]+) seconds} $logTime full z
-
-if { $z > ${max_time} } {
- puts "Elapsed time ($z) is more than ${max_time} seconds - Error"
-} else {
- puts "Elapsed time ($z) is less than ${max_time} seconds - OK"
-}
+++ /dev/null
-puts "============"
-puts "OCC27048"
-puts "============"
-puts ""
-############################################################################
-# Recalculation of BSpline cache causes a performance problems
-############################################################################
-
-pload QAcommands
-
-bsplinesurf surf \
-3 4 0 4 1 1 2 1 3 4 \
-3 4 0 4 1 1 2 1 3 4 \
-0 0 0 1 2 0 0 1 3 0 15 1 5 0 15 1 7 0 0 1 10 0 0 1 \
-0 2 0 1 1 3 0 1 4 2 15 1 6 3 15 1 8 2 0 1 10 3 0 1 \
-0 4 0 1 3 4 0 1 4 3 15 1 5 3 15 1 7 4 0 1 10 5 0 1 \
-0 6 0 1 3 6 0 1 4 6 15 1 5 6 15 1 8 5 0 1 10 7 0 1 \
-0 8 0 1 2 8 0 1 4 8 15 1 6 8 15 1 7 7 0 1 10 8 0 1 \
-0 10 0 1 2 10 0 1 4 10 15 1 6 10 15 1 7 10 0 1 10 10 0 1
-
-dchrono t reset
-dchrono t start
-OCC27048 surf -0.1 -0.1 1000000
-dchrono t stop
-set elapsed [dchrono t show]
-
-regexp {CPU user time: ([-0-9.+eE]+) seconds} $elapsed full cpu_time
-set max_time 1
-
-if { $cpu_time > ${max_time} } {
- puts "Error: calculating B-spline value takes too long time (greater than ${max_time} sec)"
-} else {
- puts "OK: performance calculating B-spline is suitable"
-}
+++ /dev/null
-puts "============"
-puts "OCC27048"
-puts "============"
-puts ""
-############################################################################
-# Recalculation of BSpline cache causes a performance problems
-############################################################################
-
-pload XSDRAW
-
-dchrono t reset
-dchrono t start
-testreadstep [locate_data_file bug27048.stp] result
-dchrono t stop
-set elapsed [dchrono t show]
-
-regexp {CPU user time: ([-0-9.+eE]+) seconds} $elapsed full cpu_time
-set max_time 40
-
-if { $cpu_time > ${max_time} } {
- puts "Error: reading document Doc is too long (greater than ${max_time} sec)"
-} else {
- puts "OK: performance reading document Doc is suitable"
-}
-
-smallview
-fit
-checkview -screenshot -2d -path ${imagedir}/${test_image}.png
+++ /dev/null
-puts "================"
-puts "OCC623"
-puts "================"
-puts ""
-####################
-## InCorrect Data in PCurve
-####################
-
-##cpulimit 4000
-
-pload XDE
-
-stepread [locate_data_file OCC623.step] a *
-
-setflags a_1 locked
-dchrono h reset
-dchrono h start
-nurbsconvert result a_1
-dchrono h stop
-set TimeList [dchrono h show]
-
-regexp {Elapsed time: +([-0-9.+eE]+)} $TimeList full ElapsedTime
-puts "ElapsedTime = ${ElapsedTime}"
-
-fsameparameter result
-checkshape result
-
-checkprops result -s 32.1968
-checkview -display result -2d -path ${imagedir}/${test_image}.png
-
-
+++ /dev/null
-puts "=========="
-puts "OCC24024"
-puts "=========="
-puts ""
-######################################
-# Slow import of specific STEP data
-######################################
-
-cpulimit 1700
-set ver [dversion]
-if { [regexp "Debug" $ver] != 1 } {
- set cpu_check 450
-} else {
- set cpu_check 1600
-}
-
-dchrono h reset
-dchrono h start
-stepread [locate_data_file bug24024_slow_import.stp] a *
-dchrono h stop
-
-tpcompound result
-
-set info [dchrono h show]
-regexp {CPU user time: ([-0-9.+eE]+) seconds} $info full cpu_time
-if { $cpu_time > $cpu_check } {
- puts "Error: performance of import of data is low"
-} else {
- puts "OK: performance of import of data is high"
-}
-
-checkview -display result -2d -path ${imagedir}/${test_image}.png
-
+++ /dev/null
-puts "========"
-puts "OCC27570"
-puts "========"
-puts ""
-###########################################################
-# Unacceptable performance during reading large STEP files
-###########################################################
-
-set max_time 8
-
-dchrono cr reset
-dchrono cr start
-ReadStep D [locate_data_file bug27570.stp]
-dchrono cr stop
-
-# check time
-set chrono_info [dchrono cr show]
-regexp {CPU user time: ([-0-9.+eE]+) seconds} $chrono_info full CPU_time
-if { $CPU_time > ${max_time} } {
- puts "CPU user time of STEP translation is more than ${max_time} seconds - Error"
-} else {
- puts "CPU user time of STEP translation is less than ${max_time} seconds - OK"
-}
-
-# check number of shapes
-XGetOneShape result D
-checknbshapes result -solid 1000 -compound 1111
+++ /dev/null
-puts "============"
-puts "OCC24623_1"
-puts "============"
-puts ""
-#######################################################################
-puts "Visualization - improve selection mechanism"
-# tests performance of selection algorithm. Creates a grid of spheres with
-# size DISCRETISATION * DISCRETISATION. To get representative performance
-# test results, increase the size of grid in DISCRETISATION and check time
-# measurments in comparsion to previous OCCT versions. You may also check
-# the time of selection when all BVH trees are built via uncommenting
-# the code in "Start building all trees" section.
-#######################################################################
-
-set DISCRETISATION 10
-set RADIUS 100
-
-pload ALL
-
-set aStep [expr $RADIUS * 0.1]
-
-# unset aNames
-list aNames
-set aX 0
-set aY 0
-for {set i 0} {$i < $DISCRETISATION} {incr i} {
- for {set j 0} {$j < $DISCRETISATION} {incr j} {
- set aCurrName "sph"
- append aCurrName [expr $i * $DISCRETISATION + $j]
- lappend aNames $aCurrName
- psphere $aCurrName $RADIUS
- set aX [expr $i * ($aStep + $RADIUS)]
- set aY [expr - $j * ($aStep + $RADIUS)]
- ttranslate $aCurrName $aX $aY 0
- }
-}
-
-set aSpheresNbInfo "Total spheres number:"
-append aSpheresNbInfo [expr $DISCRETISATION * $DISCRETISATION]
-puts $aSpheresNbInfo
-
-vinit
-set aMemInit [meminfo h]
-puts "Initial mem: [expr $aMemInit / (1024 * 1024)] MiB ([expr $aMemInit])"
-vsetdispmode 1
-set aMemInit [meminfo h]
-vdisplay {*}$aNames
-vfit
-
-puts "Selection of spheres without BVH trees built:"
-chrono aTimer reset
-chrono aTimer start
-vmoveto 224 269
-chrono aTimer stop
-chrono aTimer show
-
-puts ""
-puts "Applying the transformations..."
-vtranslateview 1 0 0
-vrotate 100 100 100
-
-puts ""
-puts "Selection time with transformations applied without BVH built:"
-chrono aTimer reset
-chrono aTimer start
-vmoveto 102 224
-chrono aTimer stop
-chrono aTimer show
-
-# puts ""
-# puts "Start building all trees..."
-# vtop
-# vfit
-# set aStartPt [expr round(400 / double($DISCRETISATION)) + 5]
-# set aPtStep [expr round(double(round(100*(400 / double($DISCRETISATION))))/100 * 2)]
-# for {set i 0} {$i < $DISCRETISATION / 2} {incr i} {
-# for {set j 0} {$j < $DISCRETISATION / 2} {incr j} {
-# set aX [expr $aStartPt + $i * $aPtStep]
-# set aY [expr $aStartPt + $j * $aPtStep]
-# vmoveto $aX $aY 1
-# }
-# }
-
-# puts ""
-# puts "Selection time with all BVHs built:"
-# chrono aTimer reset
-# chrono aTimer start
-# vmoveto 200 200
-# chrono aTimer stop
-# chrono aTimer show
-
-set aMemSel [meminfo h]
-puts "Selection mem: [expr $aMemSel / (1024 * 1024)] MiB ([expr $aMemSel])"
-
-checkcolor 115 221 0 1 1
+++ /dev/null
-puts "============"
-puts "OCC24623_2"
-puts "============"
-puts ""
-#######################################################################
-puts "Visualization - improve selection mechanism"
-# tests performance of selection algorithm. Creates a spiral via polyline
-# and checks its selection in neutral point. For representative result,
-# increase the number of points in POINTS_NUM and check time measurments
-# in comparsion to previous OCCT versions.
-#######################################################################
-
-set POINTS_NUM 1000
-set STEP 0.3
-
-pload ALL
-
-set aCoef 0.2
-set aZ 0
-# unset aPointCoords
-list aPointCoords
-for {set i 0} {$i < $POINTS_NUM} {incr i} {
- set aX [expr $aCoef * $aZ * cos($aZ)]
- set aY [expr $aCoef * $aZ * sin($aZ)]
- set aZ [expr $aZ + $STEP]
- lappend aPointCoords $aX
- lappend aPointCoords $aY
- lappend aPointCoords $aZ
-}
-
-vinit
-set aMemInit [meminfo h]
-puts "Initial mem: [expr $aMemInit / (1024 * 1024)] MiB ([expr $aMemInit])"
-polyline p {*}$aPointCoords
-vdisplay p
-
-vfit
-
-puts "Selection time before the transformations:"
-chrono aTimer reset
-chrono aTimer start
-vmoveto 223 236
-chrono aTimer stop
-chrono aTimer show
-vmoveto 0 0
-chrono aTimer reset
-chrono aTimer start
-vmoveto 223 236
-chrono aTimer stop
-chrono aTimer show
-
-puts ""
-puts "Applying transformations..."
-vtranslateview 1 0 0
-vrotate 100 100 100
-
-puts ""
-puts "Selection time after the transformations:"
-chrono aTimer reset
-chrono aTimer start
-vmoveto 115 160
-chrono aTimer stop
-chrono aTimer show
-vmoveto 0 0
-chrono aTimer reset
-chrono aTimer start
-vmoveto 115 160
-chrono aTimer stop
-chrono aTimer show
-
-set aMemSel [meminfo h]
-puts "Selection mem: [expr $aMemSel / (1024 * 1024)] MiB ([expr $aMemSel])"
-
-checkcolor 131 195 0 1 1
--- /dev/null
+puts " BUC60068 "
+puts "If scales by 1000, time to compute is 10 times greater "
+##
+## mod pkv from
+restore [locate_data_file buc60068a.rle] a
+restore [locate_data_file buc60068b.rle] b
+restore [locate_data_file buc60068a.rle] c
+restore [locate_data_file buc60068b.rle] d
+restore [locate_data_file buc60068a.rle] e
+restore [locate_data_file buc60068b.rle] f
+restore [locate_data_file buc60068a.rle] g
+restore [locate_data_file buc60068b.rle] h
+## mod pkv from
+##
+
+## fuse
+dchrono j start
+bfuse resab a b
+dchrono j stop counter BFuseAB
+
+tscale c 0 0 0 100
+tscale d 0 0 0 100
+dchrono k start
+bfuse rescd c d
+dchrono k stop counter BFuseCD
+
+tscale e 0 0 0 1000
+tscale f 0 0 0 1000
+dchrono l start
+bfuse resef e f
+dchrono l stop counter BFuseEF
+
+tscale g 0 0 0 10000
+tscale h 0 0 0 10000
+dchrono m start
+bfuse resgh g h
+dchrono m stop counter BFuseGH
+
+compound resab rescd resef resgh result
+
+checkprops result -s 2.5e+13
+checkview -display result -2d -otherwise { a b c d e f g h } -s -path ${imagedir}/${test_image}.png
# http://www.opencascade.org/org/forum/thread_12369/?forum=3
# in OCCT 6.6.0 32-bit mode on Windows this fails with N >= 40 (out of memory)
-if { [regexp {Debug mode} [dversion]] } {
- cpulimit 2000
- set max_time 1500
-} else {
- cpulimit 500
- set max_time 250
-}
-
# box plate to cut the holes from
box b 100 100 1
set mem1 [meminfo h]
-dchrono cpu reset
-dchrono cpu start
+dchrono cpu restart
bcut r b drill
-dchrono cpu stop
-puts [dchrono cpu show]
-set q2 [dchrono cpu show]
+dchrono cpu stop counter BCut
set mem2 [meminfo h]
puts "Faulty : there is memory leak"
}
-regexp {CPU user time: ([-0-9.+eE]+) seconds} ${q2} full z
-if { ${z} > ${max_time} } {
- puts "Elapsed time is more than ${max_time} seconds - Faulty"
-} else {
- puts "Elapsed time is less than ${max_time} seconds - OK"
-}
-
vinit
vdisplay r
vfit
--- /dev/null
+puts " BUC60068 "
+puts "If scales by 1000, time to compute is 10 times greater "
+##
+## mod pkv from
+restore [locate_data_file buc60068a.rle] a
+restore [locate_data_file buc60068b.rle] b
+restore [locate_data_file buc60068a.rle] c
+restore [locate_data_file buc60068b.rle] d
+restore [locate_data_file buc60068a.rle] e
+restore [locate_data_file buc60068b.rle] f
+restore [locate_data_file buc60068a.rle] g
+restore [locate_data_file buc60068b.rle] h
+## mod pkv from
+##
+
+## section
+dchrono j start
+bsection resab a b
+dchrono j stop counter BSectionAB
+
+tscale c 0 0 0 100
+tscale d 0 0 0 100
+dchrono k start
+bsection rescd c d
+dchrono k stop counter BSectionCD
+
+tscale e 0 0 0 1000
+tscale f 0 0 0 1000
+dchrono l start
+bsection resef e f
+dchrono l stop counter BSectionEF
+
+tscale g 0 0 0 10000
+tscale h 0 0 0 10000
+dchrono m start
+bsection resgh g h
+dchrono m stop counter BSectionGH
+
+compound resab rescd resef resgh result
+
+checkprops result -l 1.41538e+07
+checksection result
+checkview -display result -2d -otherwise { a b c d e f g h } -l -path ${imagedir}/${test_image}.png
--- /dev/null
+if { [isdraw result] } {
+ checkshape result
+}
\ No newline at end of file
--- /dev/null
+pload DCAF
+
+set subgroup caf
--- /dev/null
+
+puts "===== OCC1454 ====="
+#######################################################################################
+# Improve performance of TDF_Label::FindChild
+#######################################################################################
+
+puts "Info: Open the document with 80000 sublabels of the label 0:2"
+dchrono h restart
+Open [locate_data_file OCC1726.cbf] D
+dchrono h stop counter OpenCbf
\ No newline at end of file
--- /dev/null
+
+puts "===== OCC1454 ====="
+#######################################################################################
+# Improve performance of TDF_Label::FindChild
+#######################################################################################
+
+puts "Info: Open the document with 80000 sublabels of the label 0:2"
+dchrono h restart
+Open [locate_data_file OCC1726.std] D
+dchrono h stop counter OpenStd
\ No newline at end of file
--- /dev/null
+puts "================"
+puts "OCC1726"
+puts "================"
+puts ""
+#######################################################################################
+# TDF_LabelNode::~TDF_LabelNode causes stack overflow
+#######################################################################################
+
+puts "Info: Open the document with 80000 sublabels of the label 0:2"
+dchrono h restart
+Open [locate_data_file OCC1726.cbf] D
+dchrono h stop counter OpenCbf
+
+puts "Info: Close the document"
+dchrono h restart
+if [catch {Close D} result] {
+ puts "Faulty OCC1726"
+} else {
+ puts "OK OCC1726"
+}
+dchrono h stop counter CloseDoc
--- /dev/null
+puts "================"
+puts "OCC1726"
+puts "================"
+puts ""
+#######################################################################################
+# TDF_LabelNode::~TDF_LabelNode causes stack overflow
+#######################################################################################
+
+puts "Info: Open the document with 80000 sublabels of the label 0:2"
+dchrono h restart
+Open [locate_data_file OCC1726.std] D
+dchrono h stop counter OpenStd
+
+puts "Info: Close the document"
+dchrono h restart
+if [catch {Close D} result] {
+ puts "Faulty OCC1726"
+} else {
+ puts "OK OCC1726"
+}
+dchrono h stop counter CloseDoc
--- /dev/null
+puts "=========="
+puts "OCC2793"
+puts "=========="
+puts ""
+########################################################################
+# BinOcaf: low performance saving documents with large attributes
+########################################################################
+
+NewDocument D BinOcaf
+
+# Loaded shapes for attributes
+restore [locate_data_file Radhaus.brep] shape1
+restore [locate_data_file shading_wrongshape_009.brep] shape2
+restore [locate_data_file FORM-11.brep] shape3
+restore [locate_data_file OCC22759-weldt6.brep] shape4
+restore [locate_data_file BPLSEITRE.brep] shape5
+restore [locate_data_file OCC22302.brep] shape6
+restore [locate_data_file ROVER.brep] shape7
+restore [locate_data_file bug24083_polyline.brep] shape8
+
+# Create a label
+set lab1 [Label D 0:2]
+set lab2 [Label D 0:3]
+set lab3 [Label D 0:4]
+set lab4 [Label D 0:5]
+set lab5 [Label D 0:6]
+set lab6 [Label D 0:7]
+set lab7 [Label D 0:8]
+set lab8 [Label D 0:9]
+
+# Load shapes on labels
+NewShape D ${lab1} shape1
+NewShape D ${lab2} shape2
+NewShape D ${lab3} shape3
+NewShape D ${lab4} shape4
+NewShape D ${lab5} shape5
+NewShape D ${lab6} shape6
+NewShape D ${lab7} shape7
+NewShape D ${lab8} shape8
+
+# Save document
+file delete -force ${imagedir}/2793.cbf
+dchrono h restart
+SaveAs D ${imagedir}/2793.cbf
+dchrono h stop counter SaveAs
+Close D
\ No newline at end of file
--- /dev/null
+puts "================"
+puts "OCC5023"
+puts "================"
+puts ""
+######################################################
+# Performance regression in opening OCAF file
+######################################################
+
+set aFile [locate_data_file OCC5023.cbf]
+
+puts "Info: Restore the document"
+
+if [info exists DD] {
+ catch {Close DD}; unset DD
+}
+
+dchrono h restart
+
+Open ${aFile} DD
+dchrono h stop counter OpenDoc
\ No newline at end of file
--- /dev/null
+puts "================"
+puts "OCC5023"
+puts "================"
+puts ""
+######################################################
+# Performance regression in opening OCAF file
+######################################################
+
+set aFile [locate_data_file OCC5023.std]
+
+puts "Info: Restore the document"
+
+if [info exists DD] {
+ catch {Close DD}; unset DD
+}
+
+dchrono h restart
+
+Open ${aFile} DD
+dchrono h stop counter OpenDoc
\ No newline at end of file
--- /dev/null
+puts "=========="
+puts "OCC24024"
+puts "=========="
+puts ""
+######################################
+# Slow import of specific STEP data
+######################################
+
+cpulimit 1700
+
+dchrono h restart
+stepread [locate_data_file bug24024_slow_import.stp] a *
+dchrono h stop counter stepread
+
+tpcompound result
+checkview -display result -2d -path ${imagedir}/${test_image}.png
+
puts "========"
puts ""
-pload MODELING XSDRAW
-
# make sphere triangulated with 2M triangles
sphere s 10
tessellate result s 1000 1000
trinfo result
# write to binary STL
-chrono s reset; chrono s start
+chrono s restart
writestl result $imagedir/${casename}-binary.stl 1
-chrono s stop; chrono s show
+chrono s stop counter writestl
puts "========"
puts ""
-pload MODELING XSDRAW
-
# make sphere triangulated with 2M triangles
sphere s 10
tessellate result s 1000 1000
trinfo result
# write to ascii STL
-chrono s reset; chrono s start
+dchrono s restart
writestl result $imagedir/${casename}-ascii.stl 0
-chrono s stop; chrono s show
+dchrono s stop counter writestl
\ No newline at end of file
--- /dev/null
+puts "========"
+puts "OCC27570"
+puts "========"
+puts ""
+###########################################################
+# Unacceptable performance during reading large STEP files
+###########################################################
+
+set max_time 8
+
+dchrono cr restart
+ReadStep D [locate_data_file bug27570.stp]
+dchrono cr stop counter ReadStep
+
+# check number of shapes
+XGetOneShape result D
+checknbshapes result -solid 1000 -compound 1111
--- /dev/null
+puts "========"
+puts "OCC25514"
+puts "========"
+puts ""
+#########################################################################################
+# TKernel, OSD_Timer - do not accumulate error in timer within queries in running state
+#########################################################################################
+
+# Set number of cycle iteration
+set IterationCount 10000
+set iCounter 1
+
+# Set rank of timer's value
+set TimeRank 2
+
+# Start timers
+dchrono bug_info_1 restart
+dchrono bug_info_2 restart
+
+# Operation cycle
+while {$iCounter != $IterationCount} {
+ set iCounter [expr {$iCounter + 1}]
+}
+
+# Stop timers and show timer's values
+dchrono bug_info_1 stop counter bug_info_1
+dchrono bug_info_2 stop counter bug_info_2
--- /dev/null
+puts "============"
+puts "OCC26184"
+puts "============"
+puts ""
+#######################################################################
+# GeomAPI_ExtremaCurveCurve hangs on parallel b-spline curves
+#######################################################################
+
+restore [locate_data_file bug26184_Curve_Extrema_1_12971.brep] a1
+restore [locate_data_file bug26184_Curve_Extrema_2_12971.brep] a2
+
+mkcurve c1 a1
+mkcurve c2 a2
+
+cpulimit 20
+
+dchrono h restart
+extrema c1 c2
+dchrono h stop counter extrema
\ No newline at end of file
--- /dev/null
+puts "============"
+puts "OCC26184"
+puts "============"
+puts ""
+#######################################################################
+# GeomAPI_ExtremaCurveCurve hangs on parallel b-spline curves
+#######################################################################
+
+restore [locate_data_file bug26184_Curve_Extrema_1_13767.brep] a1
+restore [locate_data_file bug26184_Curve_Extrema_2_13767.brep] a2
+
+mkcurve c1 a1
+mkcurve c2 a2
+
+cpulimit 20
+
+dchrono h restart
+extrema c1 c2
+dchrono h stop counter extrema
\ No newline at end of file
--- /dev/null
+puts "========"
+puts "OCC27131"
+puts "========"
+puts ""
+##############################################
+# DistShapeShape works slow on attached shapes
+##############################################
+restore [locate_data_file bug27131.brep] aShape
+explode aShape
+
+cpulimit 20
+
+# Check computation time
+dchrono h restart
+for { set i 1 } { $i <= 100 } { incr i } {
+ distmini d aShape_1 aShape_2
+}
+dchrono h stop counter distmini
+
+# Check result of distance distance
+set absTol 1.0e-10
+set relTol 0.001
+set aDist_Exp 0.0029087110153708622
+set aDist [dval d_val]
+checkreal "Distance value check" $aDist $aDist_Exp $absTol $relTol
\ No newline at end of file
--- /dev/null
+puts "========"
+puts "OCC27371"
+puts "========"
+puts ""
+##############################################
+# Regression: BRepExtrema works too much slower in 691 (from 670)
+##############################################
+restore [locate_data_file bug27371.brep] aShape
+explode aShape
+
+cpulimit 20
+
+# Check computation time
+dchrono h restart
+for { set i 1 } { $i <= 100 } { incr i } {
+ distmini d aShape_1 aShape_2
+ distmini d aShape_2 aShape_1
+}
+dchrono h stop counter distmini
+
+# Check result of distance distance
+set absTol 1.0e-10
+set relTol 0.001
+set aDist_Exp 0.2
+set aDist [dval d_val]
+checkreal "Distance value check" $aDist $aDist_Exp $absTol $relTol
\ No newline at end of file
003 bspline
004 fclasses
005 de
+006 caf
+007 heal
+008 mesh
+009 modalg
+010 moddata
+011 sewing
+012 vis
\ No newline at end of file
--- /dev/null
+pload XSDRAW
\ No newline at end of file
--- /dev/null
+puts "============"
+puts "OCC24596"
+puts "============"
+puts ""
+###############################
+## Slow import of IGES data
+###############################
+
+pload QAcommands
+
+if { [regexp {Debug mode} [dversion]] } {
+ cpulimit 8500
+} else {
+ cpulimit 2600
+}
+
+# 1 - igesread
+dchrono h restart
+igesread [locate_data_file 100B_Nosecone_with_Triangular_FSS.igs] a 43479
+dchrono h stop counter igesread
+
+# 2 - checkshape
+dchrono h2 restart
+checkshape a_1
+dchrono h2 stop counter checkshape
\ No newline at end of file
--- /dev/null
+puts "============"
+puts "OCC24596"
+puts "============"
+puts ""
+###############################
+## Slow import of IGES data
+###############################
+
+pload QAcommands
+
+if { [regexp {Debug mode} [dversion]] } {
+ cpulimit 8500
+} else {
+ cpulimit 2600
+}
+
+# 1 - igesread
+dchrono h restart
+igesread [locate_data_file 100B_Nosecone_with_Triangular_FSS.igs] b 86884
+dchrono h stop counter igesread
+
+# 2 - checkshape
+dchrono h2 restart
+checkshape b_1
+dchrono h2 stop counter checkshape
\ No newline at end of file
--- /dev/null
+puts "================"
+puts "OCC25424"
+puts "================"
+puts ""
+#######################################################################################
+# Performance regression on step import
+######################################################################################
+
+pload XDE
+pload QAcommands
+
+dchrono h restart
+testreadstep [locate_data_file bug25424_Secure.stp] result
+dchrono h stop counter testreadstep
+
+checkprops result -s 6998.53
+checkshape result
+
+checknbshapes result -vertex 4482 -edge 6781 -wire 2309 -face 2305 -shell 1 -solid 1 -compsolid 0 -compound 0 -shape 15879
+checkview -display result -3d -path ${imagedir}/${test_image}.png
--- /dev/null
+puts "======="
+puts "OCC26871"
+puts "======="
+puts ""
+#########################################################
+## Projecting a curve hangs inside Approx_FitAndDivide2d
+#########################################################
+
+pload QAcommands
+
+set max_time 5
+
+restore [locate_data_file bug26871_curve3d] c3d
+restore [locate_data_file bug26871_surface] surf
+
+dchrono cr restart
+
+OCC24008 c3d surf
+
+dchrono cr stop counter OCC24008
\ No newline at end of file
--- /dev/null
+puts "=========="
+puts "OCC23650"
+puts "=========="
+puts ""
+##################################################################
+# Slow mesher: one bspline surface, 80 seconds for 132 triangles
+##################################################################
+
+restore [locate_data_file bug23650_slowmesh.brep] result
+tclean result
+dchrono h restart
+incmesh result 0.2
+dchrono h stop counter incmesh
+
+vinit
+vdisplay result
+vfit
+vsetdispmode 1
+checkview -screenshot -3d -path ${imagedir}/${test_image}.png
\ No newline at end of file
--- /dev/null
+puts "=========="
+puts "OCC24022"
+puts "=========="
+puts ""
+#####################################
+# Slow meshing in BRepMesh
+#####################################
+
+restore [locate_data_file bug24022_hung_mesh.brep] result
+tclean result
+dchrono h restart
+incmesh result 0.1
+dchrono h stop counter incmesh
+
+vinit
+vdisplay result
+vfit
+vsetdispmode 1
+checkview -screenshot -3d -path ${imagedir}/${test_image}.png
\ No newline at end of file
--- /dev/null
+puts "=========="
+puts "OCC24968"
+puts "=========="
+puts ""
+#####################################
+# Impove BRepMesh_Classifier to cope with intersection of huge number of wires
+#####################################
+
+cpulimit 2500
+
+restore [locate_data_file bug24968_Shape_1.brep] result
+
+tclean result
+dchrono h restart
+incmesh result 0.1
+dchrono h stop counter incmesh
+
+vinit
+vdisplay result
+vfit
+vsetdispmode 1
+checkview -screenshot -3d -path ${imagedir}/${test_image}.png
\ No newline at end of file
--- /dev/null
+puts "=========="
+puts "OCC24968"
+puts "=========="
+puts ""
+#####################################
+# Impove BRepMesh_Classifier to cope with intersection of huge number of wires
+#####################################
+
+cpulimit 2500
+
+restore [locate_data_file bug24968_Shape_1.brep] result
+
+tclean result
+dchrono h restart
+incmesh result 0.1 -parallel
+dchrono h stop counter incmesh
+
+vinit
+vdisplay result
+vfit
+vsetdispmode 1
+checkview -screenshot -3d -path ${imagedir}/${test_image}.png
\ No newline at end of file
--- /dev/null
+puts "================"
+puts "OCC25264"
+puts "================"
+puts ""
+#######################################################################################
+# Mesh very slow for Revol shape
+######################################################################################
+
+restore [locate_data_file bug25264_wire.brep] w
+
+# right revol position, mesh is very fast.
+revol result1 w 20583.283203125 14039.0208237378 28443.2585934755 0 0 1 360
+dchrono i restart
+incmesh result1 0.1
+dchrono i stop counter incmesh_1
+
+# wrong revol position, mesh is very slow in occ6.7, while in occ6.2 is very fast.
+revol result2 w 20583.283203125 14039.0208217527 28443.25860033352 0 0 1 360
+dchrono j restart
+incmesh result2 0.1
+dchrono j stop counter incmesh_2
+
+checkview -display result1 -3d -path ${imagedir}/${test_image}_1.png
+checkview -display result2 -3d -path ${imagedir}/${test_image}_2.png
+
--- /dev/null
+puts "========"
+puts "OCC27119"
+puts "========"
+puts ""
+###########################################
+## Regression: Draw command "incmesh" hangs on the attacheced face.
+###########################################
+
+set BugNumber OCC27119
+
+restore [locate_data_file bug27119_GrossPlatePart3Step2TransformedFace.brep] result
+
+dchrono t restart
+incmesh result 1.e-6
+dchrono t stop counter incmesh
+
+set tri 0
+set nod 0
+set def 0
+
+set tri_info [trinfo result]
+regexp { +([-0-9.+eE]+) +triangles} $tri_info full tri
+regexp { +([-0-9.+eE]+) +nodes} $tri_info full nod
+regexp { deflection +([-0-9.+eE]+)} $tri_info full def
+
+set ref_tri 7855
+set ref_nod 7857
+set ref_def 9.3791641120333225e-013
+set tol_rel 0.01
+
+# Computes deviation of the value from specified one
+checkreal "Nb of triangles" $tri $ref_tri 0 $tol_rel
+checkreal "Nb of nodes" $nod $ref_nod 0 $tol_rel
+checkreal "Deflection" $def $ref_def 1.e-12 0
+
+set 3dviewer 1
\ No newline at end of file
--- /dev/null
+puts "=========="
+puts "OCC27626"
+puts "=========="
+puts ""
+#######################################################################
+# Attempt to display shape in 3d leads to very long calculation loop
+#######################################################################
+pload XDE
+igesread [locate_data_file bug27626_badfil.igs] a *
+
+tclean a
+vinit
+vsetdispmode 1
+
+dchrono h restart
+#
+# DISPLAY OPERATION ----- START
+#
+vdisplay a
+#
+# DISPLAY OPERATION ----- FINISH
+#
+dchrono h stop counterv display
+
+vfit
+checkview -screenshot -3d -path ${imagedir}/${test_image}.png
--- /dev/null
+FAILED /Not connected mesh inside face/ disconnected mesh
--- /dev/null
+puts "TODO OCC11111 ALL: Error : is WRONG because number of "
+
+puts "============"
+puts "OCC10160"
+puts "============"
+puts ""
+#######################################################################
+# BOP perfomance improvemen
+#######################################################################
+
+set BugNumber OCC10160
+
+restore [locate_data_file OCC10160-1.brep] b1
+restore [locate_data_file OCC10160-2.brep] b2
+
+set NbTests 3
+
+dchrono h0 restart
+
+bop b1 b2
+dchrono h0 stop counter bop
+
+puts "Start boolean operation ..."
+dchrono h restart
+#
+# BOOLEAN OPERATION ----- START
+#
+for {set i 1} {$i <= ${NbTests}} {incr i} {
+ bopcommon result
+}
+#
+# BOOLEAN OPERATION ----- FINISH
+#
+dchrono h stop counter bopcommon
+
+checkprops result -s 1.30062e+07
+checkshape result
+
+# Analysis of "nbshapes res"
+checknbshapes result -vertex 20 -edge 28 -wire 16 -face 15 -shell 3 -solid 3 -compsolid 0 -compound 1 -shape 86
+checkview -display result -2d -path ${imagedir}/${test_image}.png
--- /dev/null
+puts "============"
+puts "OCC10160"
+puts "============"
+puts ""
+#######################################################################
+# BOP perfomance improvemen
+#######################################################################
+
+set BugNumber OCC10160
+
+restore [locate_data_file OCC10160-2.brep] b1
+restore [locate_data_file OCC10160-3.brep] b2
+
+set NbTests 3
+
+puts "Prepare boolean operation ..."
+dchrono h0 restart
+bop b1 b2
+dchrono h0 stop counter bop
+
+puts "Start boolean operation ..."
+dchrono h restart
+#
+# BOOLEAN OPERATION ----- START
+#
+for {set i 1} {$i <= ${NbTests}} {incr i} {
+ bopfuse result
+}
+#
+# BOOLEAN OPERATION ----- FINISH
+#
+dchrono h stop counter bopfuse
+
+checkprops result -s 3.20326e+07
+checkshape result
+
+# Analysis of "nbshapes res"
+checknbshapes result -vertex 116 -edge 173 -wire 67 -face 63 -shell 1 -solid 1 -compsolid 0 -compound 1 -shape 422
+checkview -display result -2d -path ${imagedir}/${test_image}.png
--- /dev/null
+puts "============"
+puts "OCC10160"
+puts "============"
+puts ""
+#######################################################################
+# BOP perfomance improvemen
+#######################################################################
+
+set BugNumber OCC10160
+
+restore [locate_data_file OCC10160-2.brep] b1
+restore [locate_data_file OCC10160-3.brep] b2
+
+set NbTests 3
+
+puts "Prepare boolean operation ..."
+dchrono h0 restart
+bop b1 b2
+dchrono h0 stop counter bop
+
+puts "Start boolean operation ..."
+dchrono h restart
+#
+# BOOLEAN OPERATION ----- START
+#
+for {set i 1} {$i <= ${NbTests}} {incr i} {
+ bopcut result
+}
+#
+# BOOLEAN OPERATION ----- FINISH
+#
+dchrono h stop counter bopcut
+
+checkprops result -s 3.05154e+07
+checkshape result
+
+# Analysis of "nbshapes res"
+checknbshapes result -vertex 96 -edge 143 -wire 51 -face 48 -shell 1 -solid 1 -compsolid 0 -compound 1 -shape 341
+checkview -display result -2d -path ${imagedir}/${test_image}.png
--- /dev/null
+puts "============"
+puts "OCC10160"
+puts "============"
+puts ""
+#######################################################################
+# BOP perfomance improvemen
+#######################################################################
+
+set BugNumber OCC10160
+
+restore [locate_data_file OCC10160-2.brep] b1
+restore [locate_data_file OCC10160-3.brep] b2
+
+set NbTests 3
+
+puts "Prepare boolean operation ..."
+dchrono h0 restart
+bop b1 b2
+dchrono h0 stop counter bop
+
+puts "Start boolean operation ..."
+dchrono h restart
+#
+# BOOLEAN OPERATION ----- START
+#
+for {set i 1} {$i <= ${NbTests}} {incr i} {
+ boptuc result
+}
+#
+# BOOLEAN OPERATION ----- FINISH
+#
+dchrono h stop counter boptuc
+
+checkprops result -s 6.38359e+06
+checkshape result
+
+# Analysis of "nbshapes res"
+checknbshapes result -vertex 108 -edge 161 -wire 61 -face 60 -shell 3 -solid 3 -compsolid 0 -compound 1 -shape 397
+checkview -display result -2d -path ${imagedir}/${test_image}.png
--- /dev/null
+puts "TODO OCC11111 ALL: Error : is WRONG because number of "
+
+puts "============"
+puts "OCC10160"
+puts "============"
+puts ""
+#######################################################################
+# BOP perfomance improvemen
+#######################################################################
+
+set BugNumber OCC10160
+
+restore [locate_data_file OCC10160-1.brep] b1
+restore [locate_data_file OCC10160-2.brep] b2
+
+set NbTests 3
+
+puts "Prepare boolean operation ..."
+dchrono h0 restart
+bop b1 b2
+dchrono h0 stop counter bop
+
+puts "Start boolean operation ..."
+dchrono h restart
+#
+# BOOLEAN OPERATION ----- START
+#
+for {set i 1} {$i <= ${NbTests}} {incr i} {
+ bopfuse result
+}
+#
+# BOOLEAN OPERATION ----- FINISH
+#
+dchrono h stop counter bopfuse
+
+checkprops result -s 4.75218e+07
+checkshape result
+
+# Analysis of "nbshapes res"
+checknbshapes result -vertex 32 -edge 60 -wire 32 -face 29 -shell 1 -solid 1 -compsolid 0 -compound 1 -shape 156
+checkview -display result -2d -path ${imagedir}/${test_image}.png
+
--- /dev/null
+puts "TODO OCC11111 ALL: Error : is WRONG because number of "
+puts "============"
+puts "OCC10160"
+puts "============"
+puts ""
+#######################################################################
+# BOP perfomance improvemen
+#######################################################################
+
+set BugNumber OCC10160
+
+restore [locate_data_file OCC10160-1.brep] b1
+restore [locate_data_file OCC10160-2.brep] b2
+
+set NbTests 3
+
+puts "Prepare boolean operation ..."
+dchrono h0 restart
+bop b1 b2
+dchrono h0 stop counter bop
+
+puts "Start boolean operation ..."
+dchrono h restart
+#
+# BOOLEAN OPERATION ----- START
+#
+for {set i 1} {$i <= ${NbTests}} {incr i} {
+ bopcut result
+}
+#
+# BOOLEAN OPERATION ----- FINISH
+#
+dchrono h stop counter bopcut
+
+checkprops result -s 2.36194e+07
+checkshape result
+
+# Analysis of "nbshapes res"
+checknbshapes result -vertex 24 -edge 34 -wire 20 -face 19 -shell 4 -solid 4 -compsolid 0 -compound 1 -shape 106
+checkview -display result -2d -path ${imagedir}/${test_image}.png
--- /dev/null
+puts "TODO OCC11111 ALL: Error : is WRONG because number of "
+puts "============"
+puts "OCC10160"
+puts "============"
+puts ""
+#######################################################################
+# BOP perfomance improvemen
+#######################################################################
+
+set BugNumber OCC10160
+
+restore [locate_data_file OCC10160-1.brep] b1
+restore [locate_data_file OCC10160-2.brep] b2
+
+set NbTests 3
+
+puts "Prepare boolean operation ..."
+dchrono h0 restart
+bop b1 b2
+dchrono h0 stop counter bop
+
+puts "Start boolean operation ..."
+dchrono h restart
+#
+# BOOLEAN OPERATION ----- START
+#
+for {set i 1} {$i <= ${NbTests}} {incr i} {
+ boptuc result
+}
+#
+# BOOLEAN OPERATION ----- FINISH
+#
+dchrono h stop counter boptuc
+
+#CR24137 checkprops result -s 3.56087e+07
+checkprops result -s 3.52471e+07
+checkshape result
+
+# Analysis of "nbshapes res"
+checknbshapes result -vertex 24 -edge 34 -wire 20 -face 17 -shell 3 -solid 3 -compsolid 0 -compound 1 -shape 102
+checkview -display result -2d -path ${imagedir}/${test_image}.png
--- /dev/null
+puts "TODO OCC11111 ALL: Error : is WRONG because number of "
+puts "============"
+puts "OCC10160"
+puts "============"
+puts ""
+#######################################################################
+# BOP perfomance improvemen
+#######################################################################
+
+set BugNumber OCC10160
+
+restore [locate_data_file OCC10160-1.brep] b1
+restore [locate_data_file OCC10160-3.brep] b2
+
+set NbTests 3
+
+puts "Prepare boolean operation ..."
+dchrono h0 restart
+bop b1 b2
+dchrono h0 stop counter bop
+
+puts "Start boolean operation ..."
+dchrono h restart
+#
+# BOOLEAN OPERATION ----- START
+#
+for {set i 1} {$i <= ${NbTests}} {incr i} {
+ bopcommon result
+}
+#
+# BOOLEAN OPERATION ----- FINISH
+#
+dchrono h stop counter bopcommon
+
+#CR24317 checkprops result -s 782201
+checkprops result -s 784833
+checkshape result
+
+# Analysis of "nbshapes res"
+checknbshapes result -vertex 53 -edge 75 -wire 38 -face 34 -shell 6 -solid 6 -compsolid 0 -compound 1 -shape 213
+checkview -display result -2d -path ${imagedir}/${test_image}.png
--- /dev/null
+puts "TODO OCC11111 ALL: Error : is WRONG because number of "
+puts "============"
+puts "OCC10160"
+puts "============"
+puts ""
+#######################################################################
+# BOP perfomance improvemen
+#######################################################################
+
+set BugNumber OCC10160
+
+restore [locate_data_file OCC10160-1.brep] b1
+restore [locate_data_file OCC10160-3.brep] b2
+
+set NbTests 3
+
+puts "Prepare boolean operation ..."
+dchrono h0 restart
+bop b1 b2
+dchrono h0 stop counter bop
+
+puts "Start boolean operation ..."
+dchrono h restart
+#
+# BOOLEAN OPERATION ----- START
+#
+for {set i 1} {$i <= ${NbTests}} {incr i} {
+ bopfuse result
+}
+#
+# BOOLEAN OPERATION ----- FINISH
+#
+dchrono h stop counter bopfuse
+
+checkprops result -s 3.65961e+07
+checkshape result
+
+# Analysis of "nbshapes res"
+checknbshapes result -vertex 121 -edge 178 -wire 65 -face 59 -shell 3 -solid 2 -compsolid 0 -compound 1 -shape 429
+checkview -display result -2d -path ${imagedir}/${test_image}.png
+
+
--- /dev/null
+puts "TODO OCC11111 ALL: Error : is WRONG because number of "
+
+puts "============"
+puts "OCC10160"
+puts "============"
+puts ""
+#######################################################################
+# BOP perfomance improvemen
+#######################################################################
+
+set BugNumber OCC10160
+
+restore [locate_data_file OCC10160-1.brep] b1
+restore [locate_data_file OCC10160-3.brep] b2
+
+set NbTests 3
+
+puts "Prepare boolean operation ..."
+dchrono h0 restart
+bop b1 b2
+dchrono h0 stop counter bop
+
+puts "Start boolean operation ..."
+dchrono h restart
+#
+# BOOLEAN OPERATION ----- START
+#
+for {set i 1} {$i <= ${NbTests}} {incr i} {
+ bopcut result
+}
+#
+# BOOLEAN OPERATION ----- FINISH
+#
+dchrono h stop counter bopcut
+
+checkprops result -s 3.05118e+07
+checkshape result
+
+# Analysis of "nbshapes res"
+checknbshapes result -vertex 61 -edge 87 -wire 44 -face 36 -shell 1 -solid 1 -compsolid 0 -compound 1 -shape 231
+checkview -display result -2d -path ${imagedir}/${test_image}.png
--- /dev/null
+puts "TODO OCC11111 ALL: Error : is WRONG because number of "
+puts "============"
+puts "OCC10160"
+puts "============"
+puts ""
+#######################################################################
+# BOP perfomance improvemen
+#######################################################################
+
+set BugNumber OCC10160
+
+restore [locate_data_file OCC10160-1.brep] b1
+restore [locate_data_file OCC10160-3.brep] b2
+
+set NbTests 3
+
+puts "Prepare boolean operation ..."
+dchrono h0 restart
+bop b1 b2
+dchrono h0 stop counter bop
+
+puts "Start boolean operation ..."
+dchrono h restart
+#
+# BOOLEAN OPERATION ----- START
+#
+for {set i 1} {$i <= ${NbTests}} {incr i} {
+ boptuc result
+}
+#
+# BOOLEAN OPERATION ----- FINISH
+#
+dchrono h stop counter boptuc
+
+checkprops result -s 6.87093e+06
+checkshape result
+
+# Analysis of "nbshapes res"
+checknbshapes result -vertex 113 -edge 166 -wire 59 -face 57 -shell 1 -solid 1 -compsolid 0 -compound 1 -shape 398
+checkview -display result -2d -path ${imagedir}/${test_image}.png
--- /dev/null
+puts "============"
+puts "OCC10160"
+puts "============"
+puts ""
+#######################################################################
+# BOP perfomance improvemen
+#######################################################################
+
+set BugNumber OCC10160
+
+restore [locate_data_file OCC10160-2.brep] b1
+restore [locate_data_file OCC10160-3.brep] b2
+
+set NbTests 3
+
+puts "Prepare boolean operation ..."
+dchrono h0 restart
+bop b1 b2
+dchrono h0 stop counter bop
+
+puts "Start boolean operation ..."
+dchrono h restart
+#
+# BOOLEAN OPERATION ----- START
+#
+for {set i 1} {$i <= ${NbTests}} {incr i} {
+ bopcommon result
+}
+#
+# BOOLEAN OPERATION ----- FINISH
+#
+dchrono h stop counter bopcommon
+
+checkprops result -s 4.86635e+06
+checkshape result
+
+# Analysis of "nbshapes res"
+checknbshapes result -vertex 88 -edge 131 -wire 45 -face 45 -shell 1 -solid 1 -compsolid 0 -compound 1 -shape 312
+checkview -display result -2d -path ${imagedir}/${test_image}.png
--- /dev/null
+puts "TODO OCC25919 ALL: Error: Offset is not done."
+puts "TODO OCC25919 ALL: Faulty OCC165"
+puts "TODO OCC25919 ALL: Error : The length of result shape is"
+
+cpulimit 600
+
+puts "========"
+puts "OCC165"
+puts "========"
+puts "Bug regression in BRepOffsetAPI_MakeOffset class (offsetting in OY direction)"
+
+restore [locate_data_file offset_wire_019.brep] a
+checkshape a
+
+mkplane f a
+checkshape f
+
+set start_stepoffset -5.7
+set incr_stepoffset 0.1
+set finish_stepoffset -2.8
+
+set interval_numb [expr int ( ($finish_stepoffset - $start_stepoffset) / $incr_stepoffset ) + 1]
+
+set IsMade 0
+set IsBeginMade 0
+set IsGood 1
+set i 0
+set resume_string ""
+for {set stepoffset $start_stepoffset} {$stepoffset <= $finish_stepoffset} {set stepoffset [expr $stepoffset + $incr_stepoffset]} {
+ incr i
+ puts "i = $i"
+ if { [catch {mkoffset result f 1 $stepoffset } catch_result] } {
+ puts "Faulty OCC165 (stepoffset = $stepoffset) : function MKOFFSET works wrongly"
+ set IsGood 0
+ set IsMade 0
+ } else {
+ puts "OK OCC165 (stepoffset = $stepoffset)"
+ set IsMade 1
+ }
+ if {$IsBeginMade == 0 && $IsMade == 1} {
+ set IsBeginMade 1
+ set BeginStepOffset $stepoffset
+ }
+ if {$IsMade == 1} {
+ set FinishStepOffset $stepoffset
+ }
+
+ if {$IsBeginMade == 1 && ($IsMade == 0 || $i == $interval_numb) } {
+ set IsBeginMade 0
+ set resume_tmp "from [format "%0.2f" $BeginStepOffset] till [format "%0.2f" $FinishStepOffset]\n"
+ set resume_string "${resume_string}${resume_tmp}"
+ }
+}
+
+puts ""
+if {[string length $resume_string] == 0} {
+ puts "Offset is created wrongly on initial shape in following borders"
+ puts "from [format "%0.2f" $start_stepoffset] till [format "%0.2f" $finish_stepoffset]"
+} else {
+ puts "Offset is created correctly on initial shape in following borders"
+ puts "$resume_string"
+}
+
+if {$IsGood == 1} {
+ puts "OCC165 OK"
+} else {
+ puts "Faulty OCC165"
+}
+
+renamevar result_1 result
+
+checkprops result -l 0
+checkshape result
+checksection result
+checkview -display result -2d -path ${imagedir}/${test_image}.png
--- /dev/null
+cpulimit 600
+
+puts "========"
+puts "OCC165"
+puts "========"
+puts "Bug regression in BRepOffsetAPI_MakeOffset class (offsetting in OY direction)"
+
+restore [locate_data_file offset_wire_019.brep] a
+checkshape a
+
+mkplane f a
+checkshape f
+
+set start_stepoffset -2.6
+set incr_stepoffset 0.1
+set finish_stepoffset 0.0
+
+set interval_numb [expr int ( ($finish_stepoffset - $start_stepoffset) / $incr_stepoffset ) + 1]
+
+set IsMade 0
+set IsBeginMade 0
+set IsGood 1
+set i 0
+set resume_string ""
+for {set stepoffset $start_stepoffset} {$stepoffset <= $finish_stepoffset} {set stepoffset [expr $stepoffset + $incr_stepoffset]} {
+ incr i
+ puts "i = $i"
+ if { [catch {mkoffset result f 1 $stepoffset } catch_result] } {
+ puts "Faulty OCC165 (stepoffset = $stepoffset) : function MKOFFSET works wrongly"
+ set IsGood 0
+ set IsMade 0
+ } else {
+ puts "OK OCC165 (stepoffset = $stepoffset)"
+ set IsMade 1
+ }
+ if {$IsBeginMade == 0 && $IsMade == 1} {
+ set IsBeginMade 1
+ set BeginStepOffset $stepoffset
+ }
+ if {$IsMade == 1} {
+ set FinishStepOffset $stepoffset
+ }
+
+ if {$IsBeginMade == 1 && ($IsMade == 0 || $i == $interval_numb) } {
+ set IsBeginMade 0
+ set resume_tmp "from [format "%0.2f" $BeginStepOffset] till [format "%0.2f" $FinishStepOffset]\n"
+ set resume_string "${resume_string}${resume_tmp}"
+ }
+}
+
+puts ""
+if {[string length $resume_string] == 0} {
+ puts "Offset is created wrongly on initial shape in following borders"
+ puts "from [format "%0.2f" $start_stepoffset] till [format "%0.2f" $finish_stepoffset]"
+} else {
+ puts "Offset is created correctly on initial shape in following borders"
+ puts "$resume_string"
+}
+
+if {$IsGood == 1} {
+ puts "OCC165 OK"
+} else {
+ puts "Faulty OCC165"
+}
+
+renamevar result_1 result
+
+checkprops result -l 1081.52
+checkshape result
+checksection result
+checkview -display result -2d -path ${imagedir}/${test_image}.png
--- /dev/null
+
+cpulimit 600
+
+puts "========"
+puts "OCC165"
+puts "========"
+puts "Bug regression in BRepOffsetAPI_MakeOffset class (offsetting in OY direction)"
+
+restore [locate_data_file offset_wire_019.brep] a
+checkshape a
+
+mkplane f a
+checkshape f
+
+set start_stepoffset 0.2
+set incr_stepoffset 0.1
+set finish_stepoffset 4.9
+
+set interval_numb [expr int ( ($finish_stepoffset - $start_stepoffset) / $incr_stepoffset ) + 1]
+
+set IsMade 0
+set IsBeginMade 0
+set IsGood 1
+set i 0
+set resume_string ""
+for {set stepoffset $start_stepoffset} {$stepoffset <= $finish_stepoffset} {set stepoffset [expr $stepoffset + $incr_stepoffset]} {
+ incr i
+ puts "i = $i"
+ if { [catch {mkoffset result f 1 $stepoffset } catch_result] } {
+ puts "Faulty OCC165 (stepoffset = $stepoffset) : function MKOFFSET works wrongly"
+ set IsGood 0
+ set IsMade 0
+ } else {
+ puts "OK OCC165 (stepoffset = $stepoffset)"
+ set IsMade 1
+ }
+ if {$IsBeginMade == 0 && $IsMade == 1} {
+ set IsBeginMade 1
+ set BeginStepOffset $stepoffset
+ }
+ if {$IsMade == 1} {
+ set FinishStepOffset $stepoffset
+ }
+
+ if {$IsBeginMade == 1 && ($IsMade == 0 || $i == $interval_numb) } {
+ set IsBeginMade 0
+ set resume_tmp "from [format "%0.2f" $BeginStepOffset] till [format "%0.2f" $FinishStepOffset]\n"
+ set resume_string "${resume_string}${resume_tmp}"
+ }
+}
+
+puts ""
+if {[string length $resume_string] == 0} {
+ puts "Offset is created wrongly on initial shape in following borders"
+ puts "from [format "%0.2f" $start_stepoffset] till [format "%0.2f" $finish_stepoffset]"
+} else {
+ puts "Offset is created correctly on initial shape in following borders"
+ puts "$resume_string"
+}
+
+if {$IsGood == 1} {
+ puts "OCC165 OK"
+} else {
+ puts "Faulty OCC165"
+}
+
+renamevar result_1 result
+
+checkprops result -l 1112.83
+checkshape result
+checksection result
+checkview -display result -2d -path ${imagedir}/${test_image}.png
\ No newline at end of file
--- /dev/null
+cpulimit 600
+
+puts "========"
+puts "OCC165"
+puts "========"
+puts "Bug regression in BRepOffsetAPI_MakeOffset class (offsetting in OY direction)"
+
+restore [locate_data_file offset_wire_019.brep] a
+checkshape a
+
+mkplane f a
+checkshape f
+
+set start_stepoffset 5.1
+set incr_stepoffset 0.1
+set finish_stepoffset 6.3
+
+set interval_numb [expr int ( ($finish_stepoffset - $start_stepoffset) / $incr_stepoffset ) + 1]
+
+set IsMade 0
+set IsBeginMade 0
+set IsGood 1
+set i 0
+set resume_string ""
+for {set stepoffset $start_stepoffset} {$stepoffset <= $finish_stepoffset} {set stepoffset [expr $stepoffset + $incr_stepoffset]} {
+ incr i
+ puts "i = $i"
+ if { [catch {mkoffset result f 1 $stepoffset } catch_result] } {
+ puts "Faulty OCC165 (stepoffset = $stepoffset) : function MKOFFSET works wrongly"
+ set IsGood 0
+ set IsMade 0
+ } else {
+ puts "OK OCC165 (stepoffset = $stepoffset)"
+ set IsMade 1
+ }
+ if {$IsBeginMade == 0 && $IsMade == 1} {
+ set IsBeginMade 1
+ set BeginStepOffset $stepoffset
+ }
+ if {$IsMade == 1} {
+ set FinishStepOffset $stepoffset
+ }
+
+ if {$IsBeginMade == 1 && ($IsMade == 0 || $i == $interval_numb) } {
+ set IsBeginMade 0
+ set resume_tmp "from [format "%0.2f" $BeginStepOffset] till [format "%0.2f" $FinishStepOffset]\n"
+ set resume_string "${resume_string}${resume_tmp}"
+ }
+}
+
+puts ""
+if {[string length $resume_string] == 0} {
+ puts "Offset is created wrongly on initial shape in following borders"
+ puts "from [format "%0.2f" $start_stepoffset] till [format "%0.2f" $finish_stepoffset]"
+} else {
+ puts "Offset is created correctly on initial shape in following borders"
+ puts "$resume_string"
+}
+
+if {$IsGood == 1} {
+ puts "OCC165 OK"
+} else {
+ puts "Faulty OCC165"
+}
+
+renamevar result_1 result
+
+checkprops result -l 1113.06
+checkshape result
+checksection result
+checkview -display result -2d -path ${imagedir}/${test_image}.png
\ No newline at end of file
--- /dev/null
+puts "============"
+puts "OCC19793"
+puts "============"
+puts ""
+#######################################################################
+# Fuse problem of symetrical shapes. Appendix for NPAL19789
+#######################################################################
+
+cpulimit 2500
+set BugNumber OCC19793
+
+puts "Load first shape ..."
+restore [locate_data_file bug19793_new_shape.brep] b1
+puts "Load second shape ..."
+restore [locate_data_file bug19793_shape.brep] b2
+
+puts "Prepare boolean operation ..."
+dchrono perf_h restart
+bop b1 b2
+dchrono perf_h stop counter bop
+
+puts "Start boolean operation ..."
+bopsection result
+puts "Finish boolean operation ..."
+
+checkprops result -l 17730.1
+checkshape result
+checksection result
+checknbshapes result -vertex 68 -edge 70 -wire 0 -face 0 -shell 0 -solid 0 -compsolid 0 -compound 1 -shape 139
+
+checkview -display result -2d -path ${imagedir}/${test_image}.png
--- /dev/null
+puts "============"
+puts "OCC23906"
+puts "============"
+puts ""
+###############################
+## Performance of the projection algorithm in some cases became lower after integration of the fix for the bug 0022610
+###############################
+
+restore [locate_data_file bug23906_f.brep] f
+
+point p 3.5527136788005e-015 100 100
+
+dchrono h restart
+
+projponf f p -min -t
+
+dchrono h stop counter projponf
\ No newline at end of file
--- /dev/null
+puts "============"
+puts "OCC24005"
+puts "============"
+puts ""
+###############################
+## Intersecting a slightly off angle plane with a cylinder takes 7+ seconds
+###############################
+
+pload QAcommands
+
+dchrono h restart
+
+OCC24005 result
+
+dchrono h stop counter OCC24005
+
+if { [regexp {Ellipse} [dump result]] == 1 } {
+ puts "result is OK"
+} else {
+ puts "result is Faulty"
+}
+
+checkview -display result -2d -path ${imagedir}/${test_image}.png
--- /dev/null
+puts "========="
+puts "OCC24696"
+puts "========="
+puts ""
+###########################################################
+# Lower performance of the new Edge/Edge intersection algorithm
+###########################################################
+
+pload QAcommands
+
+dchrono h restart
+
+restore [locate_data_file bug24696_cx_e1200_nurbs.brep] cx
+
+bclearobjects
+bcleartools
+
+set edges [explode cx e]
+set nbe [llength $edges]
+for {set i 1} {$i <= $nbe} {incr i} {baddobjects cx_$i}
+bfillds
+bbuild result
+
+dchrono h stop counter EdgeIntersection
+
+checkview -display result -2d -path ${imagedir}/${test_image}.png
--- /dev/null
+puts "========="
+puts "OCC24751"
+puts "========="
+puts ""
+###########################################################
+# Performance improvements in the Edge/Edge intersection algorithm
+###########################################################
+
+pload QAcommands
+
+dchrono h restart
+
+restore [locate_data_file bug24696_cx_e1200_nurbs.brep] cx
+
+###------------------####
+trotate cx 0 0 0 0 0 1 45
+###------------------####
+
+bclearobjects
+bcleartools
+
+set edges [explode cx e]
+set nbe [llength $edges]
+for {set i 1} {$i <= $nbe} {incr i} {baddobjects cx_$i}
+bfillds
+bbuild result
+
+dchrono h stop counter EdgeIntersection
+
+checkview -display result -2d -path ${imagedir}/${test_image}.png
--- /dev/null
+puts "========="
+puts "OCC24751"
+puts "========="
+puts ""
+###########################################################
+# Performance improvements in the Edge/Edge intersection algorithm
+###########################################################
+
+pload QAcommands
+
+dchrono h restart
+
+restore [locate_data_file bug24696_cx_e1200_nurbs.brep] cx
+
+###------------------####
+trotate cx 0 0 0 0 1 1 45
+###------------------####
+
+bclearobjects
+bcleartools
+
+set edges [explode cx e]
+set nbe [llength $edges]
+for {set i 1} {$i <= $nbe} {incr i} {baddobjects cx_$i}
+bfillds
+bbuild result
+
+dchrono h stop counter EdgeIntersection
+
+checkview -display result -2d -path ${imagedir}/${test_image}.png
--- /dev/null
+puts "========="
+puts "OCC24751"
+puts "========="
+puts ""
+###########################################################
+# Performance improvements in the Edge/Edge intersection algorithm
+###########################################################
+
+pload QAcommands
+
+dchrono h restart
+
+restore [locate_data_file bug24696_cx_e1200_nurbs.brep] cx
+
+###------------------####
+trotate cx 0 0 0 1 1 1 45
+###------------------####
+
+bclearobjects
+bcleartools
+
+set edges [explode cx e]
+set nbe [llength $edges]
+for {set i 1} {$i <= $nbe} {incr i} {baddobjects cx_$i}
+bfillds
+bbuild result
+
+dchrono h stop counter EdgeIntersection
+
+checkview -display result -2d -path ${imagedir}/${test_image}.png
--- /dev/null
+puts "========="
+puts "OCC24751"
+puts "========="
+puts ""
+###########################################################
+# Performance improvements in the Edge/Edge intersection algorithm
+###########################################################
+
+pload QAcommands
+
+dchrono h restart
+
+restore [locate_data_file bug24696_cx_e1200_nurbs.brep] cx
+
+###------------------####
+trotate cx 0 0 0 0 1 1 90
+###------------------####
+
+bclearobjects
+bcleartools
+
+set edges [explode cx e]
+set nbe [llength $edges]
+for {set i 1} {$i <= $nbe} {incr i} {baddobjects cx_$i}
+bfillds
+bbuild result
+
+dchrono h stop counter EdgeIntersection
+
+checkview -display result -2d -path ${imagedir}/${test_image}.png
--- /dev/null
+puts "========="
+puts "OCC24751"
+puts "========="
+puts ""
+###########################################################
+# Performance improvements in the Edge/Edge intersection algorithm
+###########################################################
+
+pload QAcommands
+
+dchrono h restart
+
+restore [locate_data_file bug24696_cx_e1200_nurbs.brep] cx
+
+###------------------####
+trotate cx 0 0 0 1 1 1 90
+###------------------####
+
+bclearobjects
+bcleartools
+
+set edges [explode cx e]
+set nbe [llength $edges]
+for {set i 1} {$i <= $nbe} {incr i} {baddobjects cx_$i}
+bfillds
+bbuild result
+
+dchrono h stop counter EdgeIntersection
+
+checkview -display result -2d -path ${imagedir}/${test_image}.png
--- /dev/null
+puts "=========="
+puts "OCC24899"
+puts "=========="
+puts ""
+##################################################################################################
+# Time of computation of intersection points with help of class BRepIntCurveSurface_Inter is big
+##################################################################################################
+
+polyline l -10 1 1 80 1 1
+explode l e
+
+restore [locate_data_file bug24899_TheHull.brep] h1
+mkcurve c1 l_1
+BRepIntCS c1 h1 r
+distmini dd l_1 h1
+
+dchrono t1 restart
+for { set i 0} { $i <= 100 } {incr i} {
+ BRepIntCS c1 h1 r
+}
+dchrono t1 stop counter BRepIntCS
+
+dchrono t2 restart
+for { set j 0} { $j <= 100 } {incr j} {
+ distmini dd l_1 h1
+}
+dchrono t2 stop counter distmini
\ No newline at end of file
--- /dev/null
+puts "============"
+puts "OCC25019"
+puts "============"
+puts ""
+###############################
+## Command "bsection" in Test Harness with flag build pcurve on second shape works slowly.
+###############################
+
+restore [locate_data_file bug25019_a_shape_1.brep] a1
+restore [locate_data_file bug25019_prism.brep] p1
+
+# 1.
+dchrono h1 restart
+bsection r a1 p1 -n2d2
+dchrono h1 stop counter BSectionN2D2
+
+# 2.
+dchrono h2 restart
+bsection r a1 p1
+dchrono h2 stop counter BSection
\ No newline at end of file
--- /dev/null
+puts "============"
+puts "OCC25058"
+puts "============"
+puts ""
+###############################
+## Regression of performance of BRepExtrema_ExtCC (1000 times slower)
+###############################
+
+restore [locate_data_file bug25058_e1.brep] e1
+restore [locate_data_file bug25058_e2.brep] e2
+
+dchrono h restart
+distmini r e1 e2
+dchrono h stop counter distmini
\ No newline at end of file
--- /dev/null
+puts "========"
+puts "OCC25413"
+puts "========"
+puts ""
+#############################################################
+# Line-Shape intersection algorithm became 400 times slower
+#############################################################
+
+pload QAcommands
+
+restore [locate_data_file bug25413.brep] w
+
+dchrono perf_h restart
+OCC25413 w
+dchrono perf_h stop counter OCC25413
\ No newline at end of file
--- /dev/null
+puts "============"
+puts "OCC25742"
+puts "============"
+puts ""
+###############################
+## A partition of 2 shapes stresses a performance issue
+###############################
+
+restore [locate_data_file bug25742_pipeFiss.brep] b1
+restore [locate_data_file bug25742_shellFiss.brep] b2
+
+bclearobjects
+bcleartools
+baddobjects b1
+baddtools b2
+
+dchrono h restart
+bfillds
+bbuild result
+dchrono h stop counter BBuild
+
+checkprops result -s 280627
+checkshape result
+
+set nbshapes_expected "
+Number of shapes in shape
+ VERTEX : 14
+ EDGE : 24
+ WIRE : 11
+ FACE : 10
+ SHELL : 1
+ SOLID : 0
+ COMPSOLID : 0
+ COMPOUND : 1
+ SHAPE : 61
+"
+checknbshapes result -ref "${nbshapes_expected}" -t -m "Partition of 2 shapes"
+checkview -display result -3d -path ${imagedir}/${test_image}.png
--- /dev/null
+puts "============"
+puts "OCC25742"
+puts "============"
+puts ""
+###############################
+## A partition of 2 shapes stresses a performance issue
+###############################
+
+if { [regexp {Debug mode} [dversion]] } {
+ if { [regexp {Windows} [dversion]] } {
+ set max_time 10
+ set max_time2 10
+ } else {
+ set max_time 10
+ set max_time2 10
+ }
+} else {
+ if { [regexp {Windows} [dversion]] } {
+ set max_time 1
+ set max_time2 1
+ } else {
+ set max_time 1
+ set max_time2 1
+ }
+}
+
+restore [locate_data_file bug25742_pipeFiss.brep] b1
+restore [locate_data_file bug25742_shellFiss.brep] b2
+
+explode b1 f
+explode b2 f
+
+smallview
+donly b1_4
+fit
+display b2_1
+
+dchrono h restart
+bopcurves b1_4 b2_1 -2d
+dchrono h stop bopcurves counter bopcurves
+
+checkview -screenshot -2d -path ${imagedir}/${test_image}_1.png
+
+mksurface s1 b1_4
+mksurface s2 b2_1
+
+dchrono h2 restart
+set CurveNumb [intersect resi s1 s2]
+dchrono h2 stop counter CurveNumb
+
+if { [llength ${CurveNumb}] < 1 } {
+ puts "Error : Bad intersection"
+} else {
+ puts "OK : Good intersection"
+}
+
+don resi*
+fit
+display s1 s2
+
+checkview -screenshot -2d -path ${imagedir}/${test_image}_2.png
--- /dev/null
+puts "========="
+puts "OCC25788"
+puts "========="
+puts ""
+###############################################
+# Parallelization of the BOP Builder algorithm on second level
+###############################################
+
+# box plate to cut the holes from
+box b1 100 100 1
+
+# N defines number of holes along each of X and Y, thus total N^2 holes
+# will be drilled; note that the algorithm iself is likely to be quadratic
+# for number of shapes, i.e. CPU
+set N 40
+set holes {}
+for {set i 1} {$i < $N} {incr i} {
+ for {set j 1} {$j < $N} {incr j} {
+ pcylinder p_${i}_$j 0.5 1
+ ttranslate p_${i}_$j [expr $i * 100. / $N] [expr $j * 100. / $N] 0.
+ lappend holes p_${i}_$j
+ }
+}
+
+eval compound $holes b2
+
+bclearobjects
+bcleartools
+baddobjects b1
+baddtools b2
+
+brunparallel 1
+
+dchrono cpu restart
+bcut r b1 b2
+dchrono cpu stop counter bcut
\ No newline at end of file
--- /dev/null
+puts "========"
+puts "OCC26310"
+puts "========"
+puts ""
+#################################################
+# Very slow boolean cut operations on cylinders
+#################################################
+
+if { [regexp {Debug mode} [dversion]] } {
+ set max_time 0.3
+} else {
+ set max_time 0.15
+}
+
+set maxToler 1.5e-5
+
+restore [locate_data_file OCC26310-b1.brep] b1
+restore [locate_data_file OCC26310-b2.brep] b2
+
+explode b1 f
+explode b2 f
+
+dchrono cr restart
+set log1 [bopcurves b1_1 b2_1 -2d]
+dchrono cr stop counter bopcurves
+
+regexp {Tolerance Reached=+([-0-9.+eE]+)} ${log1} full Toler
+puts "TolReached = $Toler"
+
+if { $Toler > $maxToler } {
+ puts "Error: Tolerance is too big ($Toler > $maxToler)"
+}
\ No newline at end of file
--- /dev/null
+puts "============"
+puts "OCC24596"
+puts "============"
+puts ""
+###############################
+## Slow import of IGES data
+###############################
+
+pload XDE
+
+dchrono h restart
+
+stepread [locate_data_file bug26327_fuse_input.stp] a *
+
+for {set i 2} {$i < 22} {incr i} {
+ puts "a_$i"
+ bfuse a_1 a_1 a_$i
+ }
+
+dchrono h stop counter stepread
\ No newline at end of file
--- /dev/null
+puts "========"
+puts "OCC26443"
+puts "========"
+puts ""
+###########################
+# Offset surface hangs up
+###########################
+
+smallview
+
+restore [locate_data_file OCC26443-shell_1.brep] a
+
+dchrono h restart
+offsetshape r a -2
+dchrono h stop counter offsetshape
+fit
+
+checkview -screenshot -2d -path ${imagedir}/${test_image}.png
--- /dev/null
+puts "========"
+puts "OCC26443"
+puts "========"
+puts ""
+###########################
+# Offset surface hangs up
+###########################
+
+smallview
+
+restore [locate_data_file OCC26443-shell_2.brep] a
+
+dchrono h restart
+offsetshape r a -2
+dchrono h stop counter offsetshape
+fit
+
+checkview -screenshot -2d -path ${imagedir}/${test_image}.png
--- /dev/null
+puts "============"
+puts "OCC26447"
+puts "============"
+puts ""
+##############################################################
+# Performance degradation intersecting cylindrical surfaces
+#############################################################
+
+cylinder c1 0 0 0 1 0 0 0 -1 0 100
+cylinder c2 0 0 0 0 1 0 1 0 0 100
+mkface f1 c1
+mkface f2 c2
+
+dchrono cr restart
+
+for {set i 1} {$i <= 1000} {incr i} {
+ bopcurves f1 f2
+}
+
+dchrono cr stop counter bopcurves
\ No newline at end of file
--- /dev/null
+puts "========"
+puts "OCC26513"
+puts "========"
+puts ""
+###########################################################
+# Offset API not returning result (seems to be "hanging")
+###########################################################
+
+set max_time 10
+
+smallview
+
+restore [locate_data_file bug26513-offset_input.brep] a
+
+unifysamedom s a -a 1.e-8
+offsetparameter 1.e-7 c i
+offsetload s 5
+offsetperform result
+
+checkshape result
+
+checkprops result -s 3.28125e+008 -v 3.07334e+010
+
+unifysamedom result_unif result
+checknbshapes result_unif -face 114 -shell 1
+
+checkview -display result_unif -2d -path ${imagedir}/${test_image}.png
--- /dev/null
+puts "========"
+puts "OCC26674"
+puts "========"
+puts ""
+#################################################
+# Performance regression in BRepExtrema_DistShapeShape in OCCT 6.9.0 in compare with OCCT 6.7.1
+#################################################
+
+set max_time 1
+
+restore [locate_data_file OCC26674-face.brep] a1
+restore [locate_data_file OCC26674-shell.brep] a2
+
+dchrono cr restart
+distmini dd a1 a2
+dchrono cr stop counter distmini
+
+regexp {([-0-9.+eE]+)$} [dump dd_val] full dist
+
+set expected_dist 0.0
+set tol_abs_dist 1.0e-07
+set tol_rel_dist 0.0
+checkreal "Dump of dd_val" ${dist} ${expected_dist} ${tol_abs_dist} ${tol_rel_dist}
--- /dev/null
+puts "========"
+puts "OCC26914"
+puts "========"
+puts ""
+#################################
+# Hang in surface approximation
+#################################
+
+set max_time 2
+
+restore [locate_data_file bug23943_s.draw] s
+
+dchrono cr restart
+approxsurf rs s 5e-5 0 0 15 15 100 0
+dchrono cr stop counter approxsurf
\ No newline at end of file
--- /dev/null
+puts "============"
+puts "OCC26929"
+puts "============"
+puts ""
+#############################################################################################
+## Extrema_ECC hang/crash in ShapeSplitter
+#############################################################################################
+cpulimit 100
+
+restore [locate_data_file OCC26629-face.brep] aF
+restore [locate_data_file OCC26629-edge.brep] aE
+
+pload MODELING
+
+# Hang check.
+dchrono cr restart
+
+set ss ""
+foreach s [explode aE e] {set ss "$ss aF $s"}
+eval splitshape result aF $ss
+
+dchrono cr stop counter splitshape
+
+# Check result validity.
+checkshape result
+
+# Visual check.
+set 2dviewer 1
\ No newline at end of file
--- /dev/null
+puts "========"
+puts "OCC26980"
+puts "========"
+puts ""
+#################################
+# Intersection part of Boolean algorithm spends much system time and system memory
+#################################
+
+set max_time 130
+set mem_max_wsetpeak 500000000
+
+
+bclearobjects;
+bcleartools;
+
+restore [locate_data_file bug26980-cmp.brep] cmp
+
+puts [nbshapes cmp -t]
+
+eval baddobjects [explode cmp]
+
+dchrono cr restart
+
+bfillds
+bbuild result
+
+dchrono cr stop counter bbuild
+
+set mem_wsetpeak [meminfo wsetpeak]
+
+if { ${mem_wsetpeak} > ${mem_max_wsetpeak}} {
+ puts "Error : there is memory problem (${mem_wsetpeak} MBytes has been allocated)"
+}
+
+set nbshapes_expected "
+ VERTEX : 365
+ EDGE : 793
+ WIRE : 531
+ FACE : 531
+ SHELL : 102
+ SOLID : 101
+ COMPSOLID : 0
+ COMPOUND : 1
+ SHAPE : 2424
+"
+
+checknbshapes result -ref ${nbshapes_expected} -t
+
+smallview
+donly result
+fit
+
+set 2dviewer 1
--- /dev/null
+puts "============"
+puts "OCC27085"
+puts "============"
+puts ""
+###############################
+## ShapeUpgrade_UnifySameDomain very large performance difference for seemingly similar shapes
+###############################
+
+restore [locate_data_file bug27085_fused_primitive.fast.brep] fp
+
+dchrono h restart
+
+unifysamedom res fp
+
+dchrono h stop counter unifysamedom
\ No newline at end of file
--- /dev/null
+puts "============"
+puts "OCC27085"
+puts "============"
+puts ""
+###############################
+## ShapeUpgrade_UnifySameDomain very large performance difference for seemingly similar shapes
+###############################
+
+restore [locate_data_file bug27085_fused_primitive.slow.brep] sp
+
+dchrono h restart
+
+unifysamedom res sp
+
+dchrono h stop counter unifysamedom
\ No newline at end of file
--- /dev/null
+puts "============"
+puts "OCC27569"
+puts "============"
+puts ""
+######################################################
+# [Regression in 6.9.0] Projecting a curve hangs
+######################################################
+
+pload QAcommands
+
+restore [locate_data_file bug27569.brep] aS
+explode aS
+mkcurve c aS_1
+mksurface s aS_2
+
+# Performance check
+dchrono h restart
+OCC24008 c s
+dchrono h stop counter OCC24008
\ No newline at end of file
--- /dev/null
+puts "========"
+puts "OCC28030"
+puts "========"
+puts ""
+########################################################################################################
+# Algorith GeomLib_CheckCurveOnSurface takes too much time for Bspline curves with big number of knots
+########################################################################################################
+
+beziercurve c 4 0 0 0 1 1 0 2 1 0 3 0 0
+
+convert c1 c
+set i 1
+repeat 98 {insertknot c1 0.01*$i 1; incr i 1}
+mkedge e1 c1
+prism p1 e1 0 0 1
+explode p1 e
+dchrono cpu restart
+xdistef p1_3 p1
+dchrono cpu stop counter xdistef_1
+
+convert c2 c
+set i 1
+repeat 1000 {insertknot c2 0.00098*$i 1; incr i 1}
+mkedge e2 c2
+prism p2 e2 0 0 1
+explode p2 e
+dchrono cpu restart
+xdistef p2_3 p2
+dchrono cpu stop counter xdistef_2
--- /dev/null
+
+puts "========"
+puts "OCC452"
+puts "(case 1)"
+puts "========"
+puts ""
+
+pcone pc 10 0 20
+explode pc f
+
+prism pcy pc_2 0 0 10
+
+dchrono h2 restart
+
+bcut result pc pcy
+
+dchrono h2 stop counter bcut
+
+checkprops result -s 254.16
+checkshape result
+checkview -display result -2d -path ${imagedir}/${test_image}.png
+
--- /dev/null
+
+puts "========"
+puts "GER60239"
+puts "OCC452"
+puts "(case 2)"
+puts "========"
+puts ""
+
+restore [locate_data_file mds-part1.rle] a
+set che [checkshape a]
+if { [regexp {Faulty} $che ] == 1 } {
+ puts "Faulty OCC452 (shape 1): Source shape is invalid. It was detected by Checkshape command"
+} else {
+ puts "OCC452 OK (shape 1): Source shape is valid"
+}
+
+restore [locate_data_file mds-part2.rle] b
+set che [checkshape b]
+if { [regexp {Faulty} $che ] == 1 } {
+ puts "Faulty OCC452 (shape 2): Source shape is invalid. It was detected by Checkshape command"
+} else {
+ puts "OCC452 OK (shape 2): Source shape is valid"
+}
+
+restore [locate_data_file CTO900_ger60239a.rle] c
+set che [checkshape c]
+if { [regexp {Faulty} $che ] == 1 } {
+ puts "Faulty OCC452 (shape 3): Source shape is invalid. It was detected by Checkshape command"
+} else {
+ puts "OCC452 OK (shape 3): Source shape is valid"
+}
+
+restore [locate_data_file CTO900_ger60239b.rle] d
+set che [checkshape d]
+if { [regexp {Faulty} $che ] == 1 } {
+ puts "Faulty OCC452 (shape 4): Source shape is invalid. It was detected by Checkshape command"
+} else {
+ puts "OCC452 OK (shape 4): Source shape is valid"
+}
+dchrono h2 restart
+
+bfuse r a b
+#checkshape r
+
+bfuse result c d
+
+dchrono h2 stop counter bfuse
+
+checkprops result -s 3468.6
+checkshape result
+checkview -display result -2d -path ${imagedir}/${test_image}.png
--- /dev/null
+
+puts "========"
+puts "GER60239"
+puts "OCC452"
+puts "(case 3)"
+puts "========"
+puts ""
+
+restore [locate_data_file CTO900_ger60239a.rle] a
+set che [checkshape a]
+if { [regexp {Faulty} $che ] == 1 } {
+ puts "Faulty OCC452 (shape 5): Source shape is invalid. It was detected by Checkshape command"
+} else {
+ puts "OCC452 OK (shape 5): Source shape is valid"
+}
+
+restore [locate_data_file CTO900_ger60239b.rle] b
+set che [checkshape b]
+if { [regexp {Faulty} $che ] == 1 } {
+ puts "Faulty OCC452 (shape 6): Source shape is invalid. It was detected by Checkshape command"
+} else {
+ puts "OCC452 OK (shape 6): Source shape is valid"
+}
+
+dchrono h2 restart
+
+bfuse result a b
+#checkshape -top res
+
+dchrono h2 stop counter bfuse
+
+checkprops result -s 3468.6
+checkshape result
+checkview -display result -2d -path ${imagedir}/${test_image}.png
+
+
--- /dev/null
+
+puts "========"
+puts "PRO7934"
+puts "OCC452"
+puts "(case 4)"
+puts "========"
+puts ""
+
+restore [locate_data_file CTO900_pro7934a.rle] a
+set che [checkshape a]
+if { [regexp {Faulty} $che ] == 1 } {
+ puts "Faulty OCC452 (shape 7): Source shape is invalid. It was detected by Checkshape command"
+} else {
+ puts "OCC452 OK (shape 7): Source shape is valid"
+}
+
+restore [locate_data_file CTO900_pro7934b.rle] b
+set che [checkshape b]
+if { [regexp {Faulty} $che ] == 1 } {
+ puts "Faulty OCC452 (shape 8): Source shape is invalid. It was detected by Checkshape command"
+} else {
+ puts "OCC452 OK (shape 8): Source shape is valid"
+}
+
+dchrono h2 restart
+
+bfuse result a b
+#checkshape -top res
+
+dchrono h2 stop counter bfuse
+
+checkprops result -s 201978
+checkshape result
+checkview -display result -2d -path ${imagedir}/${test_image}.png
+
+
+
--- /dev/null
+puts "TODO OCC24156 MacOS: Tcl Exception:"
+puts "TODO OCC24156 MacOS: TEST INCOMPLETE"
+
+puts "========"
+puts "OCC453"
+puts "(case 1)"
+puts "========"
+puts ""
+
+dchrono h2 restart
+
+set make_print_out 0
+
+dset SCALE 1000.
+dset SCALE1 5
+tolblend 0.01 1e-04 1e-05 1e-03
+
+restore [locate_data_file CFI_5_f12fgk.rle] s
+tscale s 0 0 0 SCALE1
+explode s E
+
+blend result s 0.5*SCALE1 s_1 0.5*SCALE1 s_4 0.5*SCALE1 s_12 0.5*SCALE1 s_8 0.5*SCALE1 s_6
+explode result sh
+tcopy result_1 result
+
+dchrono h2 stop counter blend
+
+checkprops result -s 6021.51
+checkshape result
+checkview -display result -2d -path ${imagedir}/${test_image}.png
--- /dev/null
+puts "TODO ?OCC25918 Windows: Error : The area of result shape is"
+puts "TODO OCC24156 MacOS: Tcl Exception:"
+puts "TODO OCC24156 MacOS: TEST INCOMPLETE"
+
+puts "========"
+puts "OCC453"
+puts "(case 2)"
+puts "========"
+puts ""
+
+dchrono h2 restart
+
+set make_print_out 0
+
+dset SCALE 1000.
+dset SCALE1 5
+tolblend 0.01 1e-04 1e-05 1e-03
+
+restore [locate_data_file shading_137.brep] s
+tscale s 0 0 0 SCALE1
+explode s E
+
+blend result s 4.5*SCALE1 s_2 4.5*SCALE1 s_1 4.5*SCALE1 s_6 4.5*SCALE1 s_8 4.5*SCALE1 s_10 4.5*SCALE1 s_14 4.5*SCALE1 s_4 4.5*SCALE1 s_5 4.5*SCALE1 s_16 4.5*SCALE1 s_11 4.5*SCALE1 s_19 4.5*SCALE1 s_13
+explode result So
+tcopy result_1 result
+
+dchrono h2 stop counter blend
+
+checkprops result -s 3.65777e+06
+checkshape result
+checkview -display result -2d -path ${imagedir}/${test_image}.png
--- /dev/null
+puts "============"
+puts "OCC5157"
+puts "============"
+puts ""
+######################################################
+# DRAW commands vprops and sprops with tolerance 1.e-6 hange on attached shape.
+######################################################
+
+cpulimit 3500
+
+catch { pload XDE }
+
+set BugNumber OCC5157
+
+set status 0
+set filepath [locate_data_file OCC5157.stp]
+if {[catch { stepread $filepath a * } catch_result] } {
+ puts "Faulty ${BugNumber} : here is reading problem"
+} else {
+ tpcompound result
+}
+
+checkprops result -s 35273.9 -eps 1.e-6
+checkshape result
+checkview -display result -2d -path ${imagedir}/${test_image}.png
+
+
--- /dev/null
+puts "============"
+puts "OCC5157"
+puts "============"
+puts ""
+######################################################
+# DRAW commands vprops and sprops with tolerance 1.e-6 hange on attached shape.
+######################################################
+
+cpulimit 3500
+
+catch { pload XDE }
+
+set BugNumber OCC5157
+
+set filepath [locate_data_file OCC5157.stp]
+if { [catch { stepread $filepath a * } catch_result] } {
+ puts "Faulty ${BugNumber} : here is reading problem"
+} else {
+ tpcompound result
+}
+
+checkprops result -s 35362.3 -eps 1.e-6
+checkshape result
+checkview -display result -2d -path ${imagedir}/${test_image}.png
+
--- /dev/null
+puts "============"
+puts "BUC60912"
+puts "OCC83"
+puts "============"
+puts ""
+###############################
+## Section of simple BSpline surfaces is performed too slow
+###############################
+
+puts "1 case: perform section with plane"
+restore [locate_data_file BUC60912_sec_slow.brep] c
+explode c
+checkshape c_1
+checkshape c_2
+
+renamevar c_1 sh
+renamevar c_2 pr
+plane f 0 0 0 1 0 0
+mkface f f -11 11 -11 11
+
+dchrono h restart
+bsection result f pr
+
+dchrono h stop counter bsection
+
+checkprops result -l 42.879
+checkshape result
+checksection result
+checkview -display result -2d -path ${imagedir}/${test_image}.png
+
+
--- /dev/null
+puts "============"
+puts "BUC60912"
+puts "OCC83"
+puts "============"
+puts ""
+###############################
+## Section of simple BSpline surfaces is performed too slow
+###############################
+
+puts "2 case: perform section with planar BSpline surface"
+restore [locate_data_file BUC60912_sec_slow.brep] c
+explode c
+checkshape c_1
+checkshape c_2
+
+renamevar c_1 sh
+renamevar c_2 pr
+plane f 0 0 0 1 0 0
+mkface f f -11 11 -11 11
+
+puts "Info: perform section with planar BSpline surface"
+dchrono h2 restart
+bsection result sh pr
+dchrono h2 stop counter bsection
+
+checkprops result -l 42.879
+checkshape result
+checksection result
+checkview -display result -2d -path ${imagedir}/${test_image}.png
+
--- /dev/null
+puts "========"
+puts "OCC21292"
+puts "========"
+puts ""
+######################################################
+# Shading on large model too long
+######################################################
+
+set BugNumber OCC21292
+
+# 1 munite
+cpulimit 60
+
+restore [locate_data_file OCC21292.brep] result
+
+vinit
+vsetdispmode 1
+
+dchrono h restart
+#
+# DISPLAY OPERATION ----- START
+#
+vdisplay result
+#
+# DISPLAY OPERATION ----- FINISH
+#
+dchrono h stop counter vdisplay
+
+checkprops result -s 1.40193e+07
+checknbshapes result -vertex 372 -edge 369 -wire 2 -face 1 -shell 0 -solid 0 -compsolid 0 -compound 1 -shape 745
+
+checkview -screenshot -3d -path ${imagedir}/${test_image}.png
--- /dev/null
+puts "============"
+puts "OCC21858"
+puts "============"
+puts ""
+####################################
+# Visualization hangs on this face ( OCC21858.brep )
+####################################
+
+set BugNumber OCC21858
+cpulimit 40
+restore [locate_data_file OCC21858.brep] result
+
+checkprops result -l 6.48642
+checksection result
+
+checknbshapes result -vertex 9 -edge 10 -wire 1 -face 1 -shell 0 -solid 0 -compsolid 0 -compound 0 -shape 21
+
+vinit
+vsetdispmode 1
+dchrono TestTimer restart
+vdisplay result
+dchrono TestTimer stop counter vdisplay
+vfit
+
+checkview -screenshot -3d -path ${imagedir}/${test_image}.png
--- /dev/null
+puts "========"
+puts "OCC25487"
+puts "========"
+puts ""
+##########################################
+# Extrema_GenExtPS needs to be optimized
+##########################################
+
+pload DATAEXCHANGEKERNEL
+
+# Restore testing shape and get timing characteristics for operation stepread
+dchrono perf_h restart
+stepread [locate_data_file OCC25487_LP1.stp] a *
+dchrono perf_h stop counter stepread
\ No newline at end of file
--- /dev/null
+puts "========"
+puts "OCC25487"
+puts "========"
+puts ""
+##########################################
+# Extrema_GenExtPS needs to be optimized
+##########################################
+
+cpulimit 1500
+
+pload DATAEXCHANGEKERNEL
+
+# Restore testing shape and get timing characteristics for operation stepread
+dchrono perf_h restart
+stepread [locate_data_file OCC25487_LP2.stp] a *
+dchrono perf_h stop counter stepread
\ No newline at end of file
--- /dev/null
+puts "============"
+puts "OCC26339"
+puts "============"
+puts ""
+#######################################################################
+# [Regression in 6.9.0] Projecting a curve hangs
+#######################################################################
+
+if { [regexp {Debug mode} [dversion]] } {
+ if { [regexp {Windows} [dversion]] } {
+ set max_time 10
+ } else {
+ set max_time 10
+ }
+} else {
+ if { [regexp {Windows} [dversion]] } {
+ set max_time 3
+ } else {
+ set max_time 3
+ }
+}
+
+restore [locate_data_file bug26339_a_1886.brep] f
+
+dchrono h restart
+
+fixshape r f 1e-5
+
+dchrono h stop counter fixshape
\ No newline at end of file
--- /dev/null
+puts "================"
+puts "OCC26884"
+puts "================"
+puts ""
+##############################################################
+# Cylinder/Cylinder intersection algorithm throws an exception
+##############################################################
+
+set max_time 0.1
+
+restore [locate_data_file bug26884-f1.brep] f1
+restore [locate_data_file bug26884-f2.brep] f2
+
+dchrono cr restart
+
+set info [bopcurves f1 f2 -2d]
+
+dchrono cr stop counter bopcurves
+
+if {![regexp {has no 3d curves} $info] ||
+ ![regexp {has no 3d points} $info] } {
+ puts "Error: wrong output"
+}
\ No newline at end of file
--- /dev/null
+puts "============"
+puts "OCC27048"
+puts "============"
+puts ""
+############################################################################
+# Recalculation of BSpline cache causes a performance problems
+############################################################################
+
+pload QAcommands
+
+bsplinesurf surf \
+3 4 0 4 1 1 2 1 3 4 \
+3 4 0 4 1 1 2 1 3 4 \
+0 0 0 1 2 0 0 1 3 0 15 1 5 0 15 1 7 0 0 1 10 0 0 1 \
+0 2 0 1 1 3 0 1 4 2 15 1 6 3 15 1 8 2 0 1 10 3 0 1 \
+0 4 0 1 3 4 0 1 4 3 15 1 5 3 15 1 7 4 0 1 10 5 0 1 \
+0 6 0 1 3 6 0 1 4 6 15 1 5 6 15 1 8 5 0 1 10 7 0 1 \
+0 8 0 1 2 8 0 1 4 8 15 1 6 8 15 1 7 7 0 1 10 8 0 1 \
+0 10 0 1 2 10 0 1 4 10 15 1 6 10 15 1 7 10 0 1 10 10 0 1
+
+dchrono t restart
+OCC27048 surf -0.1 -0.1 1000000
+dchrono t stop counter OCC27048
\ No newline at end of file
--- /dev/null
+puts "============"
+puts "OCC27048"
+puts "============"
+puts ""
+############################################################################
+# Recalculation of BSpline cache causes a performance problems
+############################################################################
+
+pload XSDRAW
+
+dchrono t restart
+testreadstep [locate_data_file bug27048.stp] result
+dchrono t stop counter testreadstep
+
+smallview
+fit
+checkview -screenshot -2d -path ${imagedir}/${test_image}.png
--- /dev/null
+puts "========"
+puts "OCC276"
+puts "========"
+puts ""
+#########################################################
+##Bad performance of checkshape on faces with multiple wires
+#########################################################
+
+restore [locate_data_file OCC276.brep] result
+
+dchrono h2 restart
+
+checkshape result
+
+dchrono h2 stop counter checkshape
+
+checkview -display result -2d -path ${imagedir}/${test_image}.png
+
+
+
+
+
--- /dev/null
+puts "========"
+puts "OCC36"
+puts "========"
+
+pload XDE
+
+set filepath [locate_data_file OCC36.igs]
+if [catch { igesbrep $filepath a * } res] {
+ puts "Error OCC36: here is reading problem"
+} else {
+ puts "Reading OCC36 OK"
+
+ tpcompound r
+ dchrono h2 restart
+ sewing result 1.e-7 r
+ dchrono h2 stop counter sewing
+
+ checkmaxtol result -ref 0.96087447225733291
+ checknbshapes result -shell 13
+ checkfreebounds result 1247
+}
+
+checkview -display result -2d -path ${imagedir}/${test_image}.png
+
+
--- /dev/null
+
+puts "========================"
+puts "BUC61027"
+puts " OCC368 "
+puts "========================"
+puts ""
+##############################################
+## Visualization is too slow.
+##############################################
+
+restore [locate_data_file OCC368.brep] result
+checkshape result
+
+tclean result
+isos result 0
+vinit
+dchrono h2 restart
+vdisplay result
+vsetdispmode result 1
+dchrono h2 stop counter vdisplay
+
+checkview -display result -2d -path ${imagedir}/${test_image}.png
\ No newline at end of file
--- /dev/null
+puts "TODO OCC24156 MacOS: Tcl Exception: tolerance ang"
+puts "TODO OCC24156 MacOS: TEST INCOMPLETE"
+puts "TODO OCC27203 ALL: Error: Max tolerance"
+puts "TODO OCC27203 All: Error : The area of result shape is"
+
+puts "========"
+puts "OCC453"
+puts "(case 3)"
+puts "========"
+puts ""
+
+dchrono h2 restart
+
+set make_print_out 0
+
+dset SCALE 1000.
+dset SCALE1 5
+tolblend 0.01 1e-04 1e-05 1e-03
+
+restore [locate_data_file shading_137.brep] s
+tscale s 0 0 0 SCALE1
+explode s E
+
+blend result s 5.5*SCALE1 s_2 4*SCALE1 s_1 6*SCALE1 s_6 5*SCALE1 s_8 6*SCALE1 s_10 6.5*SCALE1 s_14 7*SCALE1 s_4 5.5*SCALE1 s_5 7*SCALE1 s_16 6*SCALE1 s_11 5*SCALE1 s_19 6.5*SCALE1 s_13
+explode result So
+tcopy result_1 result
+
+dchrono h2 stop counter blend
+
+# Note: The reference values of area and tolerance are wanted theoretical values
+# Properties check
+checkprops result -s 3.51e+006
+
+# Tolerance check
+checkmaxtol result -ref 1.
+
+# Visual check
+checkview -display result -2d -path ${imagedir}/${test_image}.png
+
--- /dev/null
+puts "================"
+puts "OCC623"
+puts "================"
+puts ""
+####################
+## InCorrect Data in PCurve
+####################
+
+##cpulimit 4000
+
+pload XDE
+
+stepread [locate_data_file OCC623.step] a *
+
+setflags a_1 locked
+dchrono h restart
+nurbsconvert result a_1
+dchrono h stop counter nurbsconvert
+
+fsameparameter result
+checkshape result
+
+checkprops result -s 32.1968
+checkview -display result -2d -path ${imagedir}/${test_image}.png
+
+
--- /dev/null
+restore [locate_data_file 5000-12.brep] a
+
+dchrono ch restart
+puts [fastsewing result -tol 2.0e-5 a]
+dchrono ch stop counter fastsewing
+
+donly result
+checkshape result
+
+set nbshapes_expected "
+Number of shapes in shape
+ VERTEX : 5556
+ EDGE : 11118
+ WIRE : 5552
+ FACE : 5552
+ SHELL : 1
+ SOLID : 0
+ COMPSOLID : 0
+ COMPOUND : 1
+ SHAPE : 27780
+"
+
+checknbshapes result -ref "${nbshapes_expected}" -t -m "Partition of 2 shapes"
--- /dev/null
+restore [locate_data_file 5000-16.brep] a
+
+dchrono ch restart
+puts [fastsewing result -tol 2.0e-5 a]
+dchrono ch stop counter fastsewing
+
+donly result
+checkshape result
+
+set nbshapes_expected "
+Number of shapes in shape
+ VERTEX : 5527
+ EDGE : 11056
+ WIRE : 5520
+ FACE : 5520
+ SHELL : 1
+ SOLID : 0
+ COMPSOLID : 0
+ COMPOUND : 1
+ SHAPE : 27625
+"
+
+checknbshapes result -ref "${nbshapes_expected}" -t -m "Partition of 2 shapes"
--- /dev/null
+restore [locate_data_file Cover_VXmodel.brep] a
+
+dchrono ch restart
+puts [fastsewing result -tol 1.5e-4 a]
+dchrono ch stop counter fastsewing
+
+donly result
+checkshape result
+
+set nbshapes_expected "
+Number of shapes in shape
+ VERTEX : 844
+ EDGE : 1592
+ WIRE : 749
+ FACE : 749
+ SHELL : 1
+ SOLID : 0
+ COMPSOLID : 0
+ COMPOUND : 1
+ SHAPE : 3936
+"
+
+checknbshapes result -ref "${nbshapes_expected}" -t -m "Partition of 2 shapes"
--- /dev/null
+restore [locate_data_file Mustang_250.brep] a
+
+dchrono ch restart
+puts [fastsewing result -tol 2.5e-4 a]
+dchrono ch stop counter fastsewing
+
+donly result
+checkshape result
+
+set nbshapes_expected "
+Number of shapes in shape
+ VERTEX : 250
+ EDGE : 496
+ WIRE : 248
+ FACE : 248
+ SHELL : 1
+ SOLID : 0
+ COMPSOLID : 0
+ COMPOUND : 1
+ SHAPE : 1244
+"
+
+checknbshapes result -ref "${nbshapes_expected}" -t -m "Partition of 2 shapes"
--- /dev/null
+restore [locate_data_file Mustang_500.brep] a
+
+dchrono ch restart
+puts [fastsewing result -tol 7.0e-5 a]
+dchrono ch stop counter fastsewing
+
+donly result
+checkshape result
+
+set nbshapes_expected "
+Number of shapes in shape
+ VERTEX : 514
+ EDGE : 1024
+ WIRE : 512
+ FACE : 512
+ SHELL : 1
+ SOLID : 0
+ COMPSOLID : 0
+ COMPOUND : 1
+ SHAPE : 2564
+"
+
+checknbshapes result -ref "${nbshapes_expected}" -t -m "Partition of 2 shapes"
--- /dev/null
+restore [locate_data_file Pipe_Full.brep] a
+
+dchrono ch restart
+puts [fastsewing result -tol 5.0e-4 a]
+dchrono ch stop counter fastsewing
+
+donly result
+checkshape result
+
+set nbshapes_expected "
+Number of shapes in shape
+ VERTEX : 5327
+ EDGE : 10656
+ WIRE : 5326
+ FACE : 5326
+ SHELL : 1
+ SOLID : 0
+ COMPSOLID : 0
+ COMPOUND : 1
+ SHAPE : 26637
+"
+
+checknbshapes result -ref "${nbshapes_expected}" -t -m "Partition of 2 shapes"
--- /dev/null
+restore [locate_data_file Pipe_Partial.brep] a
+
+dchrono ch restart
+puts [fastsewing result -tol 5.1e-4 a]
+dchrono ch stop counter fastsewing
+
+donly result
+checkshape result
+
+set nbshapes_expected "
+Number of shapes in shape
+ VERTEX : 5994
+ EDGE : 11715
+ WIRE : 5698
+ FACE : 5698
+ SHELL : 3
+ SOLID : 0
+ COMPSOLID : 0
+ COMPOUND : 1
+ SHAPE : 29109
+"
+
+checknbshapes result -ref "${nbshapes_expected}" -t -m "Partition of 2 shapes"
--- /dev/null
+# To prevent loops limit to 5 minutes
+cpulimit 300
+
+if { [array get Draw_Groups "TOPOLOGY Feature commands"] == "" } {
+ pload XSDRAW
+}
+
+set nbFreeEdges 0
--- /dev/null
+if { [isdraw result] } {
+ checkview -display result -2d -path ${imagedir}/${test_image}.png
+} else {
+ puts "Error : The sewing cannot be built."
+}
\ No newline at end of file
--- /dev/null
+puts "============"
+puts "OCC24623_1"
+puts "============"
+puts ""
+#######################################################################
+puts "Visualization - improve selection mechanism"
+# tests performance of selection algorithm. Creates a grid of spheres with
+# size DISCRETISATION * DISCRETISATION. To get representative performance
+# test results, increase the size of grid in DISCRETISATION and check time
+# measurments in comparsion to previous OCCT versions. You may also check
+# the time of selection when all BVH trees are built via uncommenting
+# the code in "Start building all trees" section.
+#######################################################################
+
+set DISCRETISATION 10
+set RADIUS 100
+
+pload ALL
+
+set aStep [expr $RADIUS * 0.1]
+
+# unset aNames
+list aNames
+set aX 0
+set aY 0
+for {set i 0} {$i < $DISCRETISATION} {incr i} {
+ for {set j 0} {$j < $DISCRETISATION} {incr j} {
+ set aCurrName "sph"
+ append aCurrName [expr $i * $DISCRETISATION + $j]
+ lappend aNames $aCurrName
+ psphere $aCurrName $RADIUS
+ set aX [expr $i * ($aStep + $RADIUS)]
+ set aY [expr - $j * ($aStep + $RADIUS)]
+ ttranslate $aCurrName $aX $aY 0
+ }
+}
+
+set aSpheresNbInfo "Total spheres number:"
+append aSpheresNbInfo [expr $DISCRETISATION * $DISCRETISATION]
+puts $aSpheresNbInfo
+
+vinit
+set aMemInit [meminfo h]
+puts "Initial mem: [expr $aMemInit / (1024 * 1024)] MiB ([expr $aMemInit])"
+vsetdispmode 1
+set aMemInit [meminfo h]
+vdisplay {*}$aNames
+vfit
+
+puts "Selection of spheres without BVH trees built:"
+vmoveto 224 269
+
+puts ""
+puts "Applying the transformations..."
+vtranslateview 1 0 0
+vrotate 100 100 100
+
+puts ""
+puts "Selection time with transformations applied without BVH built:"
+dchrono aTimer restart
+vmoveto 102 224
+dchrono aTimer stop counter vmoveto
+
+# puts ""
+# puts "Start building all trees..."
+# vtop
+# vfit
+# set aStartPt [expr round(400 / double($DISCRETISATION)) + 5]
+# set aPtStep [expr round(double(round(100*(400 / double($DISCRETISATION))))/100 * 2)]
+# for {set i 0} {$i < $DISCRETISATION / 2} {incr i} {
+# for {set j 0} {$j < $DISCRETISATION / 2} {incr j} {
+# set aX [expr $aStartPt + $i * $aPtStep]
+# set aY [expr $aStartPt + $j * $aPtStep]
+# vmoveto $aX $aY 1
+# }
+# }
+
+# puts ""
+# puts "Selection time with all BVHs built:"
+# dchrono aTimer reset
+# dchrono aTimer start
+# vmoveto 200 200
+# dchrono aTimer stop
+
+set aMemSel [meminfo h]
+puts "Selection mem: [expr $aMemSel / (1024 * 1024)] MiB ([expr $aMemSel])"
+
+checkcolor 115 221 0 1 1
--- /dev/null
+puts "============"
+puts "OCC24623_2"
+puts "============"
+puts ""
+#######################################################################
+puts "Visualization - improve selection mechanism"
+# tests performance of selection algorithm. Creates a spiral via polyline
+# and checks its selection in neutral point. For representative result,
+# increase the number of points in POINTS_NUM and check time measurments
+# in comparsion to previous OCCT versions.
+#######################################################################
+
+set POINTS_NUM 1000
+set STEP 0.3
+
+pload ALL
+
+set aCoef 0.2
+set aZ 0
+# unset aPointCoords
+list aPointCoords
+for {set i 0} {$i < $POINTS_NUM} {incr i} {
+ set aX [expr $aCoef * $aZ * cos($aZ)]
+ set aY [expr $aCoef * $aZ * sin($aZ)]
+ set aZ [expr $aZ + $STEP]
+ lappend aPointCoords $aX
+ lappend aPointCoords $aY
+ lappend aPointCoords $aZ
+}
+
+vinit
+set aMemInit [meminfo h]
+puts "Initial mem: [expr $aMemInit / (1024 * 1024)] MiB ([expr $aMemInit])"
+polyline p {*}$aPointCoords
+vdisplay p
+
+vfit
+
+vmoveto 223 236
+vmoveto 0 0
+vmoveto 223 236
+
+puts ""
+puts "Applying transformations..."
+vtranslateview 1 0 0
+vrotate 100 100 100
+
+puts ""
+puts "Selection time after the transformations:"
+dchrono aTimer restart
+vmoveto 115 160
+dchrono aTimer stop counter vmoveto_1
+vmoveto 0 0
+dchrono aTimer restart
+vmoveto 115 160
+dchrono aTimer stop counter vmoveto_2
+
+set aMemSel [meminfo h]
+puts "Selection mem: [expr $aMemSel / (1024 * 1024)] MiB ([expr $aMemSel])"
+
+checkcolor 131 195 0 1 1
+++ /dev/null
-if { [regexp {Debug mode} [dversion]] } {
- if { [regexp {Windows} [dversion]] } {
- set max_time 9
- } else {
- set max_time 9
- }
-} else {
- if { [regexp {Windows} [dversion]] } {
- set max_time 3
- } else {
- set max_time 3
- }
-}
-
-restore [locate_data_file 5000-12.brep] a
-
-dchrono ch reset
-dchrono ch start
-puts [fastsewing result -tol 2.0e-5 a]
-dchrono ch stop
-
-set q [dchrono ch show]
-
-regexp {CPU user time: ([-0-9.+eE]+) seconds} $q full z
-puts "$z"
-
-if { $z > ${max_time} } {
- puts "Elapsed time is more than ${max_time} seconds - Error"
-} else {
- puts "Elapsed time is less than ${max_time} seconds - OK"
-}
-
-donly result
-checkshape result
-
-set nbshapes_expected "
-Number of shapes in shape
- VERTEX : 5556
- EDGE : 11118
- WIRE : 5552
- FACE : 5552
- SHELL : 1
- SOLID : 0
- COMPSOLID : 0
- COMPOUND : 1
- SHAPE : 27780
-"
-
-checknbshapes result -ref "${nbshapes_expected}" -t -m "Partition of 2 shapes"
+++ /dev/null
-if { [regexp {Debug mode} [dversion]] } {
- if { [regexp {Windows} [dversion]] } {
- set max_time 9
- } else {
- set max_time 9
- }
-} else {
- if { [regexp {Windows} [dversion]] } {
- set max_time 3
- } else {
- set max_time 3
- }
-}
-
-restore [locate_data_file 5000-16.brep] a
-
-dchrono ch reset
-dchrono ch start
-puts [fastsewing result -tol 2.0e-5 a]
-dchrono ch stop
-
-set q [dchrono ch show]
-
-regexp {CPU user time: ([-0-9.+eE]+) seconds} $q full z
-puts "$z"
-
-if { $z > ${max_time} } {
- puts "Elapsed time is more than ${max_time} seconds - Error"
-} else {
- puts "Elapsed time is less than ${max_time} seconds - OK"
-}
-
-donly result
-checkshape result
-
-set nbshapes_expected "
-Number of shapes in shape
- VERTEX : 5527
- EDGE : 11056
- WIRE : 5520
- FACE : 5520
- SHELL : 1
- SOLID : 0
- COMPSOLID : 0
- COMPOUND : 1
- SHAPE : 27625
-"
-
-checknbshapes result -ref "${nbshapes_expected}" -t -m "Partition of 2 shapes"
+++ /dev/null
-if { [regexp {Debug mode} [dversion]] } {
- if { [regexp {Windows} [dversion]] } {
- set max_time 9
- } else {
- set max_time 9
- }
-} else {
- if { [regexp {Windows} [dversion]] } {
- set max_time 3
- } else {
- set max_time 3
- }
-}
-
-restore [locate_data_file Cover_VXmodel.brep] a
-
-dchrono ch reset
-dchrono ch start
-puts [fastsewing result -tol 1.5e-4 a]
-dchrono ch stop
-
-set q [dchrono ch show]
-
-regexp {CPU user time: ([-0-9.+eE]+) seconds} $q full z
-puts "$z"
-
-if { $z > ${max_time} } {
- puts "Elapsed time is more than ${max_time} seconds - Error"
-} else {
- puts "Elapsed time is less than ${max_time} seconds - OK"
-}
-
-donly result
-checkshape result
-
-set nbshapes_expected "
-Number of shapes in shape
- VERTEX : 844
- EDGE : 1592
- WIRE : 749
- FACE : 749
- SHELL : 1
- SOLID : 0
- COMPSOLID : 0
- COMPOUND : 1
- SHAPE : 3936
-"
-
-checknbshapes result -ref "${nbshapes_expected}" -t -m "Partition of 2 shapes"
+++ /dev/null
-if { [regexp {Debug mode} [dversion]] } {
- if { [regexp {Windows} [dversion]] } {
- set max_time 9
- } else {
- set max_time 9
- }
-} else {
- if { [regexp {Windows} [dversion]] } {
- set max_time 3
- } else {
- set max_time 3
- }
-}
-
-restore [locate_data_file Mustang_250.brep] a
-
-dchrono ch reset
-dchrono ch start
-puts [fastsewing result -tol 2.5e-4 a]
-dchrono ch stop
-
-set q [dchrono ch show]
-
-regexp {CPU user time: ([-0-9.+eE]+) seconds} $q full z
-puts "$z"
-
-if { $z > ${max_time} } {
- puts "Elapsed time is more than ${max_time} seconds - Error"
-} else {
- puts "Elapsed time is less than ${max_time} seconds - OK"
-}
-
-donly result
-checkshape result
-
-set nbshapes_expected "
-Number of shapes in shape
- VERTEX : 250
- EDGE : 496
- WIRE : 248
- FACE : 248
- SHELL : 1
- SOLID : 0
- COMPSOLID : 0
- COMPOUND : 1
- SHAPE : 1244
-"
-
-checknbshapes result -ref "${nbshapes_expected}" -t -m "Partition of 2 shapes"
+++ /dev/null
-if { [regexp {Debug mode} [dversion]] } {
- if { [regexp {Windows} [dversion]] } {
- set max_time 9
- } else {
- set max_time 9
- }
-} else {
- if { [regexp {Windows} [dversion]] } {
- set max_time 3
- } else {
- set max_time 3
- }
-}
-
-restore [locate_data_file Mustang_500.brep] a
-
-dchrono ch reset
-dchrono ch start
-puts [fastsewing result -tol 7.0e-5 a]
-dchrono ch stop
-
-set q [dchrono ch show]
-
-regexp {CPU user time: ([-0-9.+eE]+) seconds} $q full z
-puts "$z"
-
-if { $z > ${max_time} } {
- puts "Elapsed time is more than ${max_time} seconds - Error"
-} else {
- puts "Elapsed time is less than ${max_time} seconds - OK"
-}
-
-donly result
-checkshape result
-
-set nbshapes_expected "
-Number of shapes in shape
- VERTEX : 514
- EDGE : 1024
- WIRE : 512
- FACE : 512
- SHELL : 1
- SOLID : 0
- COMPSOLID : 0
- COMPOUND : 1
- SHAPE : 2564
-"
-
-checknbshapes result -ref "${nbshapes_expected}" -t -m "Partition of 2 shapes"
+++ /dev/null
-if { [regexp {Debug mode} [dversion]] } {
- if { [regexp {Windows} [dversion]] } {
- set max_time 9
- } else {
- set max_time 9
- }
-} else {
- if { [regexp {Windows} [dversion]] } {
- set max_time 3
- } else {
- set max_time 3
- }
-}
-
-restore [locate_data_file Pipe_Full.brep] a
-
-dchrono ch reset
-dchrono ch start
-puts [fastsewing result -tol 5.0e-4 a]
-dchrono ch stop
-
-set q [dchrono ch show]
-
-regexp {CPU user time: ([-0-9.+eE]+) seconds} $q full z
-puts "$z"
-
-if { $z > ${max_time} } {
- puts "Elapsed time is more than ${max_time} seconds - Error"
-} else {
- puts "Elapsed time is less than ${max_time} seconds - OK"
-}
-
-donly result
-checkshape result
-
-set nbshapes_expected "
-Number of shapes in shape
- VERTEX : 5327
- EDGE : 10656
- WIRE : 5326
- FACE : 5326
- SHELL : 1
- SOLID : 0
- COMPSOLID : 0
- COMPOUND : 1
- SHAPE : 26637
-"
-
-checknbshapes result -ref "${nbshapes_expected}" -t -m "Partition of 2 shapes"
+++ /dev/null
-if { [regexp {Debug mode} [dversion]] } {
- if { [regexp {Windows} [dversion]] } {
- set max_time 9
- } else {
- set max_time 9
- }
-} else {
- if { [regexp {Windows} [dversion]] } {
- set max_time 3
- } else {
- set max_time 3
- }
-}
-
-restore [locate_data_file Pipe_Partial.brep] a
-
-dchrono ch reset
-dchrono ch start
-puts [fastsewing result -tol 5.1e-4 a]
-dchrono ch stop
-
-set q [dchrono ch show]
-
-regexp {CPU user time: ([-0-9.+eE]+) seconds} $q full z
-puts "$z"
-
-if { $z > ${max_time} } {
- puts "Elapsed time is more than ${max_time} seconds - Error"
-} else {
- puts "Elapsed time is less than ${max_time} seconds - OK"
-}
-
-donly result
-checkshape result
-
-set nbshapes_expected "
-Number of shapes in shape
- VERTEX : 5994
- EDGE : 11715
- WIRE : 5698
- FACE : 5698
- SHELL : 3
- SOLID : 0
- COMPSOLID : 0
- COMPOUND : 1
- SHAPE : 29109
-"
-
-checknbshapes result -ref "${nbshapes_expected}" -t -m "Partition of 2 shapes"
001 tol_0_01
002 tol_1
003 tol_100
-004 fast