mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-04-10 18:51:21 +03:00
math_GlobOptMin - new global optimization minimization algorithm Extrema_GlobOptFuncCC, Extrema_ExtCC, Extrema_ExtCC2d - implementation of GlobOptMin algorithm to extrema curve / curve Extrema_CurveCache - deleted as obsolete code ChFi3d_Builder.cxx - fixed processing of extrema math_NewtonMinimum.cxx - fixed step to avoid incorrect behavior Test cases modification to meet new behavior.
23 lines
908 B
Plaintext
Executable File
23 lines
908 B
Plaintext
Executable File
puts "========"
|
|
puts "BUC60890"
|
|
puts "========"
|
|
puts ""
|
|
#####################################################
|
|
## The Extrema raises when the number of C2 intervals is greater that 16.
|
|
#####################################################
|
|
|
|
set poles { { 0 0 1 } { 1 0 1 } { 1.3 1 1 } { 2 1 1 } { 2 0 1 } { 3 0 1} { 3.5 1 1 } { 4 1 1 } { 4 0 1 } { 5 0 1 } { 5 1 1 } { 6 1 1 } { 6 0 1 } { 7 0 1 } { 7 1 1 } { 8 1 1 } { 8 0 1 } { 9 0 1 } }
|
|
set knots { { 0 2 } { 1 1 } { 2 1 } { 3 1 } { 4 1 } { 5 1 } { 6 1 } { 7 1 } { 8 1 } { 9 1 } { 10 1 } { 11 1 } { 12 1 } { 13 1 } { 14 1 } { 15 1 } { 16 1 } {17 2 } }
|
|
|
|
eval 2dbsplinecurve curve_1 1 [ llength $knots] [ join $knots ] [ join $poles ]
|
|
|
|
circle curve_2 5.3 -0.5 2
|
|
|
|
set err [llength [2dextrema curve_1 curve_2]]
|
|
|
|
if {$err == 6} {
|
|
puts "BUC60890 OK: Function 2dextrema works properly."
|
|
} else {
|
|
puts "Faulty BUC60890 : Function 2dextrema works wrongly."
|
|
}
|