1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-04-10 18:51:21 +03:00

0029473: DRAW command "splitshape" produces invalid result on the cylindrical face.

Fix for porting SenerAlgo on the OCCT 720.

Test case for the issue.
This commit is contained in:
gka 2018-02-02 12:32:46 +03:00 committed by emv
parent b1ee6d0e4b
commit eeccb2515d
4 changed files with 42 additions and 3 deletions

View File

@ -887,7 +887,7 @@ Standard_Boolean LocOpe_SplitShape::AddOpenWire(const TopoDS_Wire& W,
aLocalFace = FaceRef.Oriented(wfirst.Orientation());
GetDirection(LastEdge, TopoDS::Face(aLocalFace),plast , dlast, Standard_False);
Standard_Boolean cond;
Standard_Boolean cond = Standard_True;
if(IsPeriodic) {
@ -1511,7 +1511,7 @@ Standard_Boolean ChoixUV(const TopoDS_Edge& Last,
BRepAdaptor_Surface surf(F,Standard_False); // no restriction
surf.D0 (plst.X(), plst.Y(), aPlst);
gp_Dir2d ref2d(dlst);
Handle(Geom2d_Curve) C2d;
@ -1524,6 +1524,8 @@ Standard_Boolean ChoixUV(const TopoDS_Edge& Last,
TopoDS_Edge anEdge = TopoDS::Edge (Poss.FindKey (index));
GetDirection(anEdge, F, p2d, v2d, Standard_True);
if(!SameUV(plst,p2d,surf))
continue;
surf.D0 (p2d.X(), p2d.Y(), aPCur);

View File

@ -18,4 +18,5 @@
018 mesh
019 heal
020 stlvrml
021 splitshape
021 splitshape
022 splitshape1

View File

@ -0,0 +1,19 @@
puts "=============="
puts " splitshape "
puts " case1 "
puts "=============="
puts ""
#puts " OCC26354 "
###################################################
# Operation "splitshape" in the Test Harness give invalid result on the attached case.
###################################################
restore [locate_data_file bug29473_SplitShape.brep] a
restore [locate_data_file bug29473_SplitEdges.brep] b
explode a
explode b
wire w1 b_1 b_2 b_3
wire w2 b_4 b_5
splitshape r1 a a_1 w1 a_2 w2 a_3 b_6 a_4 b_7 @ a_5 b_8
explode r1 f
copy r_1 result

View File

@ -0,0 +1,17 @@
# Main script in this test grid; does all the job.
# Individual test scripts are used only to specify data file and reference
# test data (expected values of test execution).
# The procedure is:
# - load specified data files
# - check validity of result shape, vizualize building compartments,
########################################################################
checkshape result
maxtolerance result
checknbshapes $result -face $ref_nbf
smallview
display result
fit
checkview -screenshot -2d -path ${imagedir}/${test_image}.png