mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-04-10 18:51:21 +03:00
0026757: Wrong history of a fillet
Small correction Test case for issue CR26757
This commit is contained in:
parent
a8686c759c
commit
f33f393a11
@ -2256,6 +2256,25 @@ void ChFi3d_Builder::PerformIntersectionAtEnd(const Standard_Integer Index)
|
|||||||
inters.Perform(HC, HGs);
|
inters.Perform(HC, HGs);
|
||||||
if (inters.IsDone()&& inters.NbPoints()!=0) {
|
if (inters.IsDone()&& inters.NbPoints()!=0) {
|
||||||
Fd->ChangeSurf(DStr.AddSurface(TopOpeBRepDS_Surface(S1, DStr.ChangeSurface(Isurf).Tolerance())));
|
Fd->ChangeSurf(DStr.AddSurface(TopOpeBRepDS_Surface(S1, DStr.ChangeSurface(Isurf).Tolerance())));
|
||||||
|
//update history
|
||||||
|
if (myEVIMap.IsBound(EdgeSpine))
|
||||||
|
{
|
||||||
|
TColStd_ListIteratorOfListOfInteger itl(myEVIMap.ChangeFind(EdgeSpine));
|
||||||
|
for (; itl.More(); itl.Next())
|
||||||
|
if (itl.Value() == Isurf)
|
||||||
|
{
|
||||||
|
myEVIMap.ChangeFind(EdgeSpine).Remove(itl);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
myEVIMap.ChangeFind(EdgeSpine).Append(Fd->Surf());
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
TColStd_ListOfInteger IndexList;
|
||||||
|
IndexList.Append(Fd->Surf());
|
||||||
|
myEVIMap.Bind(EdgeSpine, IndexList);
|
||||||
|
}
|
||||||
|
////////////////
|
||||||
Isurf=Fd->Surf();
|
Isurf=Fd->Surf();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
51
tests/bugs/modalg_6/bug26757_1
Executable file
51
tests/bugs/modalg_6/bug26757_1
Executable file
@ -0,0 +1,51 @@
|
|||||||
|
puts "============"
|
||||||
|
puts "OCC26757"
|
||||||
|
puts "============"
|
||||||
|
puts ""
|
||||||
|
###############################################################################################
|
||||||
|
# Wrong history of a fillet
|
||||||
|
###############################################################################################
|
||||||
|
|
||||||
|
restore [locate_data_file bug26757_s.brep] s
|
||||||
|
|
||||||
|
explode s e
|
||||||
|
blend r s 2 s_14
|
||||||
|
checkhist
|
||||||
|
explode generated_001
|
||||||
|
|
||||||
|
set nbshapes_expected_1 "
|
||||||
|
Number of shapes in shape
|
||||||
|
VERTEX : 2
|
||||||
|
EDGE : 1
|
||||||
|
WIRE : 0
|
||||||
|
FACE : 0
|
||||||
|
SHELL : 0
|
||||||
|
SOLID : 0
|
||||||
|
COMPSOLID : 0
|
||||||
|
COMPOUND : 0
|
||||||
|
SHAPE : 3
|
||||||
|
"
|
||||||
|
checknbshapes generated_001_1 -ref ${nbshapes_expected_1} -t -m "selected edge"
|
||||||
|
|
||||||
|
set nbshapes_expected_2 "
|
||||||
|
Number of shapes in shape
|
||||||
|
VERTEX : 5
|
||||||
|
EDGE : 5
|
||||||
|
WIRE : 1
|
||||||
|
FACE : 1
|
||||||
|
SHELL : 0
|
||||||
|
SOLID : 0
|
||||||
|
COMPSOLID : 0
|
||||||
|
COMPOUND : 0
|
||||||
|
SHAPE : 12
|
||||||
|
"
|
||||||
|
if { [info exists generated_001_2] == 0 } {
|
||||||
|
puts "Error: Wrong history of a fillet"
|
||||||
|
} else {
|
||||||
|
checknbshapes generated_001_2 -ref ${nbshapes_expected_2} -t -m "fillet face"
|
||||||
|
}
|
||||||
|
|
||||||
|
smallview
|
||||||
|
donly generated_001_1 generated_001_2
|
||||||
|
fit
|
||||||
|
xwd ${imagedir}/${test_image}.png
|
51
tests/bugs/modalg_6/bug26757_2
Executable file
51
tests/bugs/modalg_6/bug26757_2
Executable file
@ -0,0 +1,51 @@
|
|||||||
|
puts "============"
|
||||||
|
puts "OCC26757"
|
||||||
|
puts "============"
|
||||||
|
puts ""
|
||||||
|
###############################################################################################
|
||||||
|
# Wrong history of a fillet
|
||||||
|
###############################################################################################
|
||||||
|
|
||||||
|
restore [locate_data_file bug26757_s.brep] s
|
||||||
|
|
||||||
|
explode s e
|
||||||
|
blend r s 10 s_14
|
||||||
|
checkhist
|
||||||
|
explode generated_001
|
||||||
|
|
||||||
|
set nbshapes_expected_1 "
|
||||||
|
Number of shapes in shape
|
||||||
|
VERTEX : 2
|
||||||
|
EDGE : 1
|
||||||
|
WIRE : 0
|
||||||
|
FACE : 0
|
||||||
|
SHELL : 0
|
||||||
|
SOLID : 0
|
||||||
|
COMPSOLID : 0
|
||||||
|
COMPOUND : 0
|
||||||
|
SHAPE : 3
|
||||||
|
"
|
||||||
|
checknbshapes generated_001_1 -ref ${nbshapes_expected_1} -t -m "selected edge"
|
||||||
|
|
||||||
|
set nbshapes_expected_2 "
|
||||||
|
Number of shapes in shape
|
||||||
|
VERTEX : 5
|
||||||
|
EDGE : 5
|
||||||
|
WIRE : 1
|
||||||
|
FACE : 1
|
||||||
|
SHELL : 0
|
||||||
|
SOLID : 0
|
||||||
|
COMPSOLID : 0
|
||||||
|
COMPOUND : 0
|
||||||
|
SHAPE : 12
|
||||||
|
"
|
||||||
|
if { [info exists generated_001_2] == 0 } {
|
||||||
|
puts "Error: Wrong history of a fillet"
|
||||||
|
} else {
|
||||||
|
checknbshapes generated_001_2 -ref ${nbshapes_expected_2} -t -m "fillet face"
|
||||||
|
}
|
||||||
|
|
||||||
|
smallview
|
||||||
|
donly generated_001_1 generated_001_2
|
||||||
|
fit
|
||||||
|
xwd ${imagedir}/${test_image}.png
|
Loading…
x
Reference in New Issue
Block a user