Anonymous | Login | 2021-01-16 06:24 MSK | ![]() |
My View | View Issues | Change Log | Roadmap |
View Issue Details [ Jump to Notes ] | [ Issue History ] [ Print ] | ||||||||||||
ID | Project | Category | View Status | Date Submitted | Last Update | ||||||||
0023011 | Community | [OCCT] OCCT:Shape Healing | public | 2012-03-05 15:04 | 2017-07-13 17:04 | ||||||||
Reporter | kapilbhudhia | ||||||||||||
Assigned To | gka | ||||||||||||
Priority | high | Severity | major | ||||||||||
Status | assigned | Resolution | open | ||||||||||
Platform | Visual Studio 9, Win32 | OS | WIndows | OS Version | Win 7 | ||||||||
Product Version | [OCCT] 6.5.2 | ||||||||||||
Target Version | Fixed in Version | ||||||||||||
Summary | 0023011: ShapeAnalysis_Wire returns an incorrect CheckOrder | ||||||||||||
Description | Create a Solid Cube and do some Analysis on it. So, I go through its faces and foreach face through all its wires (it is 1 in this case) and foreach wire I check the order. To my utter shock the method ShapeAnalysis_Wire::CheckOrder() returns true -- which basically means that the wire is not ordered correctly. Either the solid cube is created wrong or the CheckOrder API is returing a wrong result or I am doing something utterly silly. ----------- THE CODE --------- // create a solid bounding box BRepPrimAPI_MakeBox outerBox(gp_Pnt(-10000, -10000, -10000), gp_Pnt(10000, 10000, 10000)); for (TopExp_Explorer faceIter(outerBox.Solid(), TopAbs_FACE); faceIter.More(); faceIter.Next()) { const TopoDS_Face& aFace = TopoDS::Face(faceIter.Current()); for (TopExp_Explorer wireIter(aFace, TopAbs_WIRE); wireIter.More(); wireIter.Next()) { const TopoDS_Wire& aWire = TopoDS::Wire(wireIter.Current()); double precision = 1e-04; ShapeAnalysis_Wire saw(aWire, aFace, precision); if (saw.CheckOrder()) { throw gcnew Exception("Wire not ordered properly"); } } } | ||||||||||||
Steps To Reproduce | Create a small console app with the following code // create a solid bounding box BRepPrimAPI_MakeBox outerBox(gp_Pnt(-10000, -10000, -10000), gp_Pnt(10000, 10000, 10000)); for (TopExp_Explorer faceIter(outerBox.Solid(), TopAbs_FACE); faceIter.More(); faceIter.Next()) { const TopoDS_Face& aFace = TopoDS::Face(faceIter.Current()); for (TopExp_Explorer wireIter(aFace, TopAbs_WIRE); wireIter.More(); wireIter.Next()) { const TopoDS_Wire& aWire = TopoDS::Wire(wireIter.Current()); double precision = 1e-04; ShapeAnalysis_Wire saw(aWire, aFace, precision); if (saw.CheckOrder()) { throw gcnew Exception("Wire not ordered properly"); } } } | ||||||||||||
Tags | No tags attached. | ||||||||||||
Test case number | |||||||||||||
Attached Files | |||||||||||||
![]() |
|
(0068270) mkv (tester) 2017-07-13 17:04 |
Dear GKA, could you put your opinion about it. |
![]() |
|||
Date Modified | Username | Field | Change |
2012-03-05 15:04 | kapilbhudhia | New Issue | |
2012-03-05 15:04 | kapilbhudhia | Assigned To | => gka |
2017-07-13 17:04 | mkv | Note Added: 0068270 | |
2017-07-13 17:04 | mkv | Status | new => assigned |
Copyright © 2000 - 2021 MantisBT Team |