mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-04-21 10:13:43 +03:00
4. Precised calculation of derivatives of surface of revolution is implemented for the points of surface placed on the axis of revolution (Geom_SurfaceOfRevolution.cxx) 5. Small modifications are made to adjust algorithms to new behavior of B-spline calculation. 6. Test cases were modified according to the modern behavior. 7. Changes in BRepLib_CheckCurveOnSurface to use adaptors instead of geometric entities 9. Added methods to access directly poles, knots, multiplicities of BSpline curves and surfaces
67 lines
1.7 KiB
Plaintext
Executable File
67 lines
1.7 KiB
Plaintext
Executable File
puts "============"
|
|
puts "OCC24303"
|
|
puts "============"
|
|
puts ""
|
|
###############################
|
|
## Precision degradation for Geom2dGcc_Circ2d2TanRad in OCCT6.6.0.
|
|
###############################
|
|
|
|
pload QAcommands
|
|
|
|
set status 0
|
|
|
|
set info1 [OCC24303 5]
|
|
regexp {Solutions +([-0-9.+eE]+)} ${info1} full Solution
|
|
regexp {Distance += +([-0-9.+eE]+)} ${info1} full Distance
|
|
|
|
if { [info exists Sol5] } {
|
|
set info2 [dump Sol5]
|
|
regexp {Center +:([-0-9.+eE]+), +([-0-9.+eE]+)} ${info2} full CenterX CenterY
|
|
regexp {XAxis +:([-0-9.+eE]+), +([-0-9.+eE]+)} ${info2} full XAxisX XAxisY
|
|
regexp {YAxis +:([-0-9.+eE]+), +([-0-9.+eE]+)} ${info2} full YAxisX YAxisY
|
|
regexp {Radius +:([-0-9.+eE]+)} ${info2} full Radius
|
|
set good_CenterX 5
|
|
set good_CenterY 0
|
|
set good_XAxisX 1
|
|
set good_XAxisY 0
|
|
set good_YAxisX 0
|
|
set good_YAxisY 1
|
|
set good_Radius 3
|
|
|
|
set SQDistCC [expr ($CenterX-$good_CenterX)*($CenterX-$good_CenterX)+($CenterY-$good_CenterY)*($CenterY-$good_CenterY)]
|
|
|
|
if { ${SQDistCC} > 1.0e-14 } {
|
|
puts "Faulty : Bad Center of the circle"
|
|
set status 1
|
|
}
|
|
if { ${XAxisX} != ${good_XAxisX} } {
|
|
puts "Faulty : Bad XAxisX"
|
|
set status 2
|
|
}
|
|
if { ${XAxisY} != ${good_XAxisY} } {
|
|
puts "Faulty : Bad XAxisY"
|
|
set status 3
|
|
}
|
|
if { ${YAxisX} != ${good_YAxisX} } {
|
|
puts "Faulty : Bad YAxisX"
|
|
set status 4
|
|
}
|
|
if { ${YAxisY} != ${good_YAxisY} } {
|
|
puts "Faulty : Bad YAxisY"
|
|
set status 5
|
|
}
|
|
if { ${Radius} != ${good_Radius} } {
|
|
puts "Faulty : Bad Radius"
|
|
set status 6
|
|
}
|
|
} else {
|
|
puts "Faulty : Bad solution"
|
|
set status 7
|
|
}
|
|
|
|
if { ${status} != 0 } {
|
|
puts "Faulty : solution is wrong. Status = ${status}"
|
|
} else {
|
|
puts "OK : solution is correct"
|
|
}
|