From 4d2fe76ed21b8cf95d3758de5467218b305c36da Mon Sep 17 00:00:00 2001 From: vsr Date: Fri, 12 Apr 2013 14:01:18 +0000 Subject: [PATCH] Merge from V6_main 12/04/2013 --- doc/salome/gui/GEOM/images/extrusion4.png | Bin 0 -> 32445 bytes .../gui/GEOM/images/prism_with_thickness.png | Bin 0 -> 3955 bytes src/BlockFix/BlockFix_UnionEdges.cxx | 110 +++++++++++++++++- src/GEOMImpl/GEOMImpl_IMeasureOperations.cxx | 16 ++- src/GEOMToolsGUI/GEOMToolsGUI_1.cxx | 2 +- 5 files changed, 119 insertions(+), 9 deletions(-) create mode 100644 doc/salome/gui/GEOM/images/extrusion4.png create mode 100644 doc/salome/gui/GEOM/images/prism_with_thickness.png diff --git a/doc/salome/gui/GEOM/images/extrusion4.png b/doc/salome/gui/GEOM/images/extrusion4.png new file mode 100644 index 0000000000000000000000000000000000000000..722bf2e61389a934ca79bd372fa07d8157e98fff GIT binary patch literal 32445 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 F{{c>>ng0L) literal 0 HcmV?d00001 diff --git a/doc/salome/gui/GEOM/images/prism_with_thickness.png b/doc/salome/gui/GEOM/images/prism_with_thickness.png new file mode 100644 index 0000000000000000000000000000000000000000..2aba77ee818703688ff20427623fc7a36b70845f GIT binary patch literal 3955 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 0) { + // There is already split vertex detected. + // It means that these edges can't be merged. + MESSAGE ("Two edges on closed contour can't be merged."); + return Standard_False; + } else if (isClosed) { + // This is a closed contour. + // It is possible to merge it starting from the next edge. + jSplit = j; + } else { + // The contour is not closed, this vertex sould be kept. + // It means that these edges can't be merged. + MESSAGE ("Two edges on not closed contour can't be merged."); + return Standard_False; + } + } + } + + if (jSplit > 0) { + // Reorder edges in the sequence to have jSplit-th edge last. + for(j = 1; j <= jSplit; j++) { + aChain.Append(aChain.First()); + aChain.Remove(1); + } + } + // union edges in chain // first step: union lines and circles TopLoc_Location Loc; @@ -376,13 +463,23 @@ static Standard_Boolean MergeEdges(const TopTools_SequenceOfShape& SeqEdges, TopoDS_Vertex VM = sae.LastVertex(edge1); gp_Pnt PVM = BRep_Tool::Pnt(VM); GC_MakeCircle MC (PV1,PVM,PV2); - Handle(Geom_Circle) C = MC.Value(); + Handle(Geom_Circle) C; TopoDS_Edge E; - if (!MC.IsDone() || C.IsNull()) { + + if (MC.IsDone()) { + C = MC.Value(); + } + + if (C.IsNull()) { // jfa for Mantis issue 0020228 if (PV1.Distance(PV2) > Precision::Confusion()) continue; // closed chain - C = C1; + if (edge1.Orientation() == TopAbs_FORWARD) { + C = C1; + } else { + C = Handle(Geom_Circle)::DownCast(C1->Reversed()); + } + B.MakeEdge (E,C,Precision::Confusion()); B.Add(E,V1); B.Add(E,V2); @@ -540,8 +637,11 @@ TopoDS_Shape BlockFix_UnionEdges::Perform(const TopoDS_Shape& Shape, SeqEdges.Append(anIter.Value()); } if (SeqEdges.Length()==1) continue; + + TopoDS_Face aFace2 = + TopoDS::Face(aContext->Apply(aMapFacesEdges.FindKey(i))); TopoDS_Edge E; - if ( MergeEdges(SeqEdges,aFace,Tol,E) ) { + if ( MergeEdges(SeqEdges,aFace,aFace2,Tol,E) ) { // now we have only one edge - aChain.Value(1) // we have to replace old ListEdges with this new edge aContext->Replace(SeqEdges(1),E); diff --git a/src/GEOMImpl/GEOMImpl_IMeasureOperations.cxx b/src/GEOMImpl/GEOMImpl_IMeasureOperations.cxx index 78825e1f1..55dff9bff 100644 --- a/src/GEOMImpl/GEOMImpl_IMeasureOperations.cxx +++ b/src/GEOMImpl/GEOMImpl_IMeasureOperations.cxx @@ -1558,15 +1558,25 @@ std::vector GEOMImpl_IMeasureOperations::AreCoordsInside(Handle(GEOM_Objec if (!aRefShape.IsNull()) { TopoDS_Shape aShape = aRefShape->GetValue(); if (!aShape.IsNull()) { - BRepClass3d_SolidClassifier SC(aShape); unsigned int nb_points = coords.size()/3; for (int i = 0; i < nb_points; i++) { double x = coords[3*i]; double y = coords[3*i+1]; double z = coords[3*i+2]; gp_Pnt aPnt(x, y, z); - SC.Perform(aPnt, tolerance); - res.push_back( ( SC.State() == TopAbs_IN ) || ( SC.State() == TopAbs_ON ) ); + if ( aShape.ShapeType() == TopAbs_COMPOUND || aShape.ShapeType() == TopAbs_COMPSOLID || + aShape.ShapeType() == TopAbs_SOLID ) { + TopExp_Explorer anExp; + bool isFound = false; + for ( anExp.Init( aShape, TopAbs_SOLID ); anExp.More() && !isFound; anExp.Next() ) { + BRepClass3d_SolidClassifier SC( anExp.Current() ); + SC.Perform( aPnt, tolerance ); + isFound = ( SC.State() == TopAbs_IN ) || ( SC.State() == TopAbs_ON ); + } + res.push_back( isFound ); + } + else + res.push_back( false ); } } } diff --git a/src/GEOMToolsGUI/GEOMToolsGUI_1.cxx b/src/GEOMToolsGUI/GEOMToolsGUI_1.cxx index 1c4f1c156..61a9883f8 100644 --- a/src/GEOMToolsGUI/GEOMToolsGUI_1.cxx +++ b/src/GEOMToolsGUI/GEOMToolsGUI_1.cxx @@ -187,7 +187,7 @@ void GEOMToolsGUI::OnAutoColor() SUIT_OverrideCursor(); appStudy->setObjectProperty( aMgrId, aChildObject->GetEntry(), GEOM::propertyName( GEOM::Color ), c ); - Handle( SALOME_InteractiveObject ) io = new SALOME_InteractiveObject( aChildObject->GetEntry(), "GEOM", "" ); + Handle( SALOME_InteractiveObject ) io = new SALOME_InteractiveObject( aChildObject->GetStudyEntry(), "GEOM", "" ); if ( window->isVisible( io ) ) displayer.Redisplay( io, false ); } displayer.UpdateViewer();