mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-04-21 10:13:43 +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:
parent
b1ee6d0e4b
commit
eeccb2515d
@ -887,7 +887,7 @@ Standard_Boolean LocOpe_SplitShape::AddOpenWire(const TopoDS_Wire& W,
|
|||||||
aLocalFace = FaceRef.Oriented(wfirst.Orientation());
|
aLocalFace = FaceRef.Oriented(wfirst.Orientation());
|
||||||
GetDirection(LastEdge, TopoDS::Face(aLocalFace),plast , dlast, Standard_False);
|
GetDirection(LastEdge, TopoDS::Face(aLocalFace),plast , dlast, Standard_False);
|
||||||
|
|
||||||
Standard_Boolean cond;
|
Standard_Boolean cond = Standard_True;
|
||||||
|
|
||||||
if(IsPeriodic) {
|
if(IsPeriodic) {
|
||||||
|
|
||||||
@ -1524,6 +1524,8 @@ Standard_Boolean ChoixUV(const TopoDS_Edge& Last,
|
|||||||
TopoDS_Edge anEdge = TopoDS::Edge (Poss.FindKey (index));
|
TopoDS_Edge anEdge = TopoDS::Edge (Poss.FindKey (index));
|
||||||
|
|
||||||
GetDirection(anEdge, F, p2d, v2d, Standard_True);
|
GetDirection(anEdge, F, p2d, v2d, Standard_True);
|
||||||
|
if(!SameUV(plst,p2d,surf))
|
||||||
|
continue;
|
||||||
|
|
||||||
surf.D0 (p2d.X(), p2d.Y(), aPCur);
|
surf.D0 (p2d.X(), p2d.Y(), aPCur);
|
||||||
|
|
||||||
|
@ -19,3 +19,4 @@
|
|||||||
019 heal
|
019 heal
|
||||||
020 stlvrml
|
020 stlvrml
|
||||||
021 splitshape
|
021 splitshape
|
||||||
|
022 splitshape1
|
||||||
|
19
tests/bugs/splitshape_1/bug29473
Normal file
19
tests/bugs/splitshape_1/bug29473
Normal 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
|
17
tests/bugs/splitshape_1/end
Normal file
17
tests/bugs/splitshape_1/end
Normal 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
|
Loading…
x
Reference in New Issue
Block a user