From ccf61b1b850fcfe776300defd3c2378ce832f4d9 Mon Sep 17 00:00:00 2001 From: gka Date: Fri, 11 Sep 2015 11:02:55 +0300 Subject: [PATCH] 0026644: ShapeUpgrade_UnifySameDomain - strange behavior Modification to keep connectivity for non--manifold shapes during operation ShapeUpgrade_UnifySameDomain --- src/ShapeUpgrade/ShapeUpgrade_UnifySameDomain.cxx | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) 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; -- 2.39.5