MantisBT - Community
View Issue Details
0024144Community[OCCT] OCCT:Modeling Algorithmspublic2013-09-04 19:112013-12-19 13:58
eryar 
bugmaster 
normalminor 
closedfixed 
WindowsVC++ 200864 bit
[OCCT] 6.6.0 
[OCCT] 6.7.0[OCCT] 6.7.0 
bugs modalg_5(010) bug24144_1, bug24144_2
0024144: BRepPrimAPI_MakeWedge wrong
dx = 200.0;
dy = 620.0;
dz = 2150.0;
xmin = 0;
xmax = 200;
zmin = 1075;
zmax = 1075;

1. When use the following constructor, the wedge result is correct;
BRepPrimAPI_MakeWedge(dx, dy, dz, xmin, zmin, xmax, zmax);

2. When use the following constructor, make wedge with gp_Ax2 will get wrong result:
BRepPrimAPI_MakeWedge(axis, dx, dy, dz, xmin, zmin, xmax, zmax);

See the attach picture:
No tags attached.
png BRepPrimAPI_MakeWedge.png (18,687) 2013-09-04 19:11
https://tracker.dev.opencascade.org/
txt testFunction.txt (595) 2013-10-14 10:34
https://tracker.dev.opencascade.org/
png wedge.png (4,170) 2013-10-16 14:15
https://tracker.dev.opencascade.org/
Issue History
2013-09-04 19:11eryarNew Issue
2013-09-04 19:11eryarAssigned To => ifv
2013-09-04 19:11eryarFile Added: BRepPrimAPI_MakeWedge.png
2013-10-08 13:33ifvAssigned Toifv => aml
2013-10-08 13:34ifvStatusnew => assigned
2013-10-14 10:34amlFile Added: testFunction.txt
2013-10-14 10:35amlNote Added: 0026060
2013-10-14 10:35amlAssigned Toaml => ifv
2013-10-14 10:35amlStatusassigned => resolved
2013-10-14 10:35amlNote Edited: 0026060bug_revision_view_page.php?bugnote_id=26060#r6030
2013-10-14 11:09ifvNote Added: 0026062
2013-10-14 11:09ifvStatusresolved => reviewed
2013-10-15 16:31mkvNote Added: 0026091
2013-10-15 16:32mkvTest case number => bugs modalg_5(010) bug24144_1, bug24144_2
2013-10-15 16:32mkvAssigned Toifv => bugmaster
2013-10-15 16:32mkvStatusreviewed => tested
2013-10-16 14:15eryarNote Added: 0026106
2013-10-16 14:15eryarFile Added: wedge.png
2013-10-17 11:24bugmasterTarget Version => 6.7.0
2013-10-18 13:47bugmasterChangeset attached => occt master b70bbe58
2013-10-18 13:47bugmasterStatustested => verified
2013-10-18 13:47bugmasterResolutionopen => fixed
2013-12-19 13:51bugmasterStatusverified => closed
2013-12-19 13:58bugmasterFixed in Version => 6.7.0

Notes
(0026060)
aml   
2013-10-14 10:35   
Dear ifv,
Please, test the current state of branch CR24144 to be sure it is still ok.

for testing you can add debug function in BRepTest_PrimitiveCommands.cxx (code in attach file).

(0026062)
ifv   
2013-10-14 11:09   
Ok
(0026091)
mkv   
2013-10-15 16:31   
Dear BugMaster,

Branch CR24144 (and products from GIT master) was compiled on Linux and Windows platforms and tested.
SHA-1: d6e3ea24a88188da4920981808c5b81064173737

Number of compiler warnings:

occt component :
Linux: 368 (370 on master)
Windows: 6 (6 on master)

products component :
Linux: 189 (191 on master)
Windows: 287 (287 on master)

Regressions/Differences:
No regressions/differences

Testing cases:
http://occt-tests/CR24144-master-occt/Debian60-64/bugs/modalg_5/bug24144_1.html [^]
http://occt-tests/CR24144-master-occt/Debian60-64/bugs/modalg_5/bug24144_2.html [^]
http://occt-tests/CR24144-master-occt/Windows-32-VC9/bugs/modalg_5/bug24144_1.html [^]
http://occt-tests/CR24144-master-occt/Windows-32-VC9/bugs/modalg_5/bug24144_2.html [^]
bugs modalg_5(010) bug24144_1: OK
bugs modalg_5(010) bug24144_2: OK

Testing on Linux:
Total MEMORY difference: 353219644 / 353388572
Total CPU difference: 39941.28000000092 / 43385.17000000097

Testing on Windows:
Total MEMORY difference: 407144140 / 411317668
Total CPU difference: 32292.546875 / 37715.5625

There are not differences in images found by testdiff.
(0026106)
eryar   
2013-10-16 14:15   
If do not set the axis of the wedge, the result is right;
If set the axis to an arbitrary direction, the result is wrong.
My code is as follow:

// Test wedge shape.
BRepPrimAPI_MakeWedge mkWedge1(200, 620, 2150, 0, 1075, 200, 1075);
Handle_AIS_Shape wedge1 = new AIS_Shape(mkWedge1.Shape());
myAISContext->Display(wedge1);

//gp_Ax2 axis;
gp_Ax2 axis(gp_Pnt(0, 200, 0), gp_Dir(1, 1, 1));
BRepPrimAPI_MakeWedge mkWedge2(axis, 200, 620, 2150, 0, 1075, 200, 1075);
Handle_AIS_Shape wedge2 = new AIS_Shape(mkWedge2.Shape());
myAISContext->Display(wedge2);