From: gka Date: Fri, 11 Sep 2015 08:02:55 +0000 (+0300) Subject: 0026644: ShapeUpgrade_UnifySameDomain - strange behavior X-Git-Tag: V6_9_1~45 X-Git-Url: http://git.dev.opencascade.org/gitweb/?a=commitdiff_plain;h=ccf61b1b850fcfe776300defd3c2378ce832f4d9;p=occt-copy.git 0026644: ShapeUpgrade_UnifySameDomain - strange behavior Modification to keep connectivity for non--manifold shapes during operation ShapeUpgrade_UnifySameDomain --- diff --git a/src/ShapeUpgrade/ShapeUpgrade_UnifySameDomain.cxx b/src/ShapeUpgrade/ShapeUpgrade_UnifySameDomain.cxx index 75f63992af..b2f5f77b10 100644 --- a/src/ShapeUpgrade/ShapeUpgrade_UnifySameDomain.cxx +++ b/src/ShapeUpgrade/ShapeUpgrade_UnifySameDomain.cxx @@ -786,18 +786,14 @@ void ShapeUpgrade_UnifySameDomain::Initialize(const TopoDS_Shape& aShape, void ShapeUpgrade_UnifySameDomain::UnifyFaces() { - //Handle(ShapeBuild_ReShape) myContext = new ShapeBuild_ReShape; - TopoDS_Shape aResShape = myContext->Apply(myShape); - + // creating map of edge faces + TopTools_IndexedDataMapOfShapeListOfShape aMapEdgeFaces; + TopExp::MapShapesAndAncestors(myShape, TopAbs_EDGE, TopAbs_FACE, aMapEdgeFaces); // processing each shell TopExp_Explorer exps; for (exps.Init(myShape, TopAbs_SHELL); exps.More(); exps.Next()) { TopoDS_Shell aShell = TopoDS::Shell(exps.Current()); - - // creating map of edge faces - TopTools_IndexedDataMapOfShapeListOfShape aMapEdgeFaces; - TopExp::MapShapesAndAncestors(aShell, TopAbs_EDGE, TopAbs_FACE, aMapEdgeFaces); - + // map of processed shapes TopTools_MapOfShape aProcessed;