0024655: Boolean common produces incorrect result
authorpkv <pkv@opencascade.com>
Thu, 27 Feb 2014 14:15:55 +0000 (18:15 +0400)
committerapn <apn@opencascade.com>
Thu, 27 Feb 2014 14:17:01 +0000 (18:17 +0400)
commitc5face6f3aaa378c3a2124ef2180172f0c8abc0d
treefd682ca12ab6a5f6bbbb8af26086e5bc3af8c0cd
parentcc88c2f65bb46dd1d8c1cf4f69022aee7690bdca
0024655: Boolean common produces incorrect result

class BOPAlgo_WireSplitter
   - method:
void BOPAlgo_WireSplitter::SplitBlock
                 (const TopoDS_Face& myFace,
                   BOPTools_ConnexityBlock& aCB);

 - static functions:
void RefineAngles(const TopoDS_Face& myFace,
                  const BOPCol_ListOfShape& myEdges,
                  BOPAlgo_IndexedDataMapOfShapeListOfEdgeInfo& mySmartMap);

void RefineAngles(const TopoDS_Vertex& aV,
                  const TopoDS_Face& myFace,
                  const BOPCol_MapOfShape& aMBE,
                  BOPAlgo_ListOfEdgeInfo& aLEI);

Standard_Boolean RefineAngle2D(const TopoDS_Vertex& aV,
                               const TopoDS_Edge& aE,
                               const TopoDS_Face& myFace,
                               const Standard_Real aA1,
                               const Standard_Real aA2,
                               Standard_Real& aA);

The treatment p-curves convergent in node.
The refining the angles of p-curves taking into account
bounging curves if exist.

Test case for issue CR24655
src/BOPAlgo/BOPAlgo_WireSplitter_1.cxx
tests/bugs/modalg_5/bug24655 [new file with mode: 0644]