mirror of
https://git.salome-platform.org/gitpub/modules/geom.git
synced 2024-12-28 18:30:36 +05:00
0020719: EDF 1232 GEOM : Pipe construction dialog box, impossible to select a group or a compound
This commit is contained in:
parent
615afae166
commit
a4a980368a
@ -1946,18 +1946,34 @@ Standard_Integer GEOMImpl_PipeDriver::Execute(TFunction_Logbook& log) const
|
||||
}
|
||||
|
||||
// Get path contour
|
||||
if (aShapePath.ShapeType() == TopAbs_WIRE) {
|
||||
bool isOk = false;
|
||||
if ( aShapePath.ShapeType() == TopAbs_COMPOUND ) {
|
||||
TopTools_SequenceOfShape anEdges;
|
||||
TopExp_Explorer anExp;
|
||||
BRep_Builder B;
|
||||
TopoDS_Wire W;
|
||||
B.MakeWire(W);
|
||||
for ( anExp.Init( aShapePath, TopAbs_EDGE ); anExp.More(); anExp.Next() ) {
|
||||
B.Add( W, anExp.Current() );
|
||||
isOk = true;
|
||||
}
|
||||
if ( isOk )
|
||||
aWirePath = W;
|
||||
}
|
||||
else if (aShapePath.ShapeType() == TopAbs_WIRE) {
|
||||
aWirePath = TopoDS::Wire(aShapePath);
|
||||
isOk = true;
|
||||
}
|
||||
else {
|
||||
if (aShapePath.ShapeType() == TopAbs_EDGE) {
|
||||
TopoDS_Edge anEdge = TopoDS::Edge(aShapePath);
|
||||
aWirePath = BRepBuilderAPI_MakeWire(anEdge);
|
||||
isOk = true;
|
||||
}
|
||||
else {
|
||||
if(aCI) delete aCI;
|
||||
Standard_TypeMismatch::Raise("MakePipe aborted : path shape is neither a wire nor an edge");
|
||||
}
|
||||
}
|
||||
if ( !isOk ) {
|
||||
if(aCI) delete aCI;
|
||||
Standard_TypeMismatch::Raise("MakePipe aborted : path shape is neither a wire nor an edge");
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -190,6 +190,7 @@ void GenerationGUI_PipeDlg::SelectionTypeButtonClicked()
|
||||
localSelection( GEOM::GEOM_Object::_nil(), TopAbs_EDGE );
|
||||
} else {
|
||||
TColStd_MapOfInteger aMap;
|
||||
aMap.Add(GEOM_COMPOUND);
|
||||
aMap.Add(GEOM_WIRE);
|
||||
aMap.Add(GEOM_LINE);
|
||||
globalSelection(aMap);
|
||||
@ -370,6 +371,7 @@ void GenerationGUI_PipeDlg::SetEditCurrentArgument()
|
||||
localSelection( GEOM::GEOM_Object::_nil(), TopAbs_EDGE );
|
||||
} else {
|
||||
TColStd_MapOfInteger aMap;
|
||||
aMap.Add(GEOM_COMPOUND);
|
||||
aMap.Add(GEOM_WIRE);
|
||||
aMap.Add(GEOM_LINE);
|
||||
globalSelection(aMap);
|
||||
|
Loading…
Reference in New Issue
Block a user