mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-04-03 17:56:21 +03:00
0024775: False detecting of intersection in BRepMesh_Classifier class.
Increased checking accuracy of endpoints touching of segments. Code formatting improvement. Test case for issue CR24775 Correction test case for issue CR24775
This commit is contained in:
parent
31249d1967
commit
e28d7e62f9
@ -266,10 +266,9 @@ static Standard_Boolean checkWiresIntersection(const Standard_Integer
|
||||
Standard_Real dd[2][4] = { {(xc-x11), (xc-x12), (xc-x21), (xc-x22)}, //dX
|
||||
{(yc-y11), (yc-y12), (yc-y21), (yc-y22)} }; //dY
|
||||
|
||||
Standard_Integer i = 0;
|
||||
for(; i < 2; i++ )
|
||||
for( Standard_Integer i = 0; i < 2; i++ )
|
||||
{
|
||||
if ( dd[i][0]*dd[i][1] > dTol || dd[i][2]*dd[i][3] > dTol)
|
||||
if ( dd[i][0] * dd[i][1] > RESOLUTION || dd[i][2] * dd[i][3] > RESOLUTION )
|
||||
{
|
||||
isOnLines = Standard_False;
|
||||
break;
|
||||
@ -279,7 +278,7 @@ static Standard_Boolean checkWiresIntersection(const Standard_Integer
|
||||
// check the intersection point is on the ends of segments
|
||||
if ( isOnLines )
|
||||
{
|
||||
for( i = 0; i < 2; i++ )
|
||||
for( Standard_Integer i = 0; i < 2; i++ )
|
||||
{
|
||||
// if it's the last segment and intersection point lies at the end
|
||||
if ( ( jk == jkEnd ||
|
||||
|
35
tests/bugs/mesh/bug24775
Executable file
35
tests/bugs/mesh/bug24775
Executable file
@ -0,0 +1,35 @@
|
||||
puts "================"
|
||||
puts "CR24775"
|
||||
puts "================"
|
||||
puts ""
|
||||
###############################################
|
||||
## False detecting of intersection in BRepMesh_Classifier class.
|
||||
###############################################
|
||||
|
||||
restore [locate_data_file bug24775_face.brep] face
|
||||
vinit
|
||||
vdisplay face
|
||||
vfit
|
||||
|
||||
set trinfo_s [trinfo face]
|
||||
regexp {([0-9]+) triangles} ${trinfo_s} str nbtri_s
|
||||
regexp {([0-9]+) nodes} ${trinfo_s} str nbnod_s
|
||||
regexp {deflection ([0-9.+e-]+)} ${trinfo_s} str defl_s
|
||||
|
||||
if { ${nbtri_s} == 0 } {
|
||||
puts "Error: shape contains 0 triangles"
|
||||
} else {
|
||||
puts "OK: shape contains triangles"
|
||||
}
|
||||
|
||||
if { ${nbnod_s} == 0 } {
|
||||
puts "Error: shape contains 0 nodes"
|
||||
} else {
|
||||
puts "OK: shape contains nodes"
|
||||
}
|
||||
|
||||
if { ${defl_s} == 0 } {
|
||||
puts "Error: deflection is 0"
|
||||
} else {
|
||||
puts "OK: deflection is good"
|
||||
}
|
@ -2,5 +2,4 @@ set TheFileName shading_wrongshape_015.brep
|
||||
set bug_withouttri "OCC22687"
|
||||
set bug_freenodes "OCC23105"
|
||||
set nbfreenodes(ALL) 4
|
||||
set nbwithouttri(All) 6
|
||||
|
||||
set nbwithouttri(All) 5
|
||||
|
Loading…
x
Reference in New Issue
Block a user