- return;
-
- BRepOffsetAPI_MakePipeShell aMkSweep(aPathWire);
- aMkSweep.Add(aProfileWire,Standard_True, Standard_True);
- aMkSweep.SetTransitionMode(BRepBuilderAPI_RightCorner);
- aMkSweep.SetMode(Standard_True);
- aMkSweep.Build();
- if(aMkSweep.IsDone()) {
- const TopoDS_Shape& aChannel = aMkSweep.Shape();
- BRepCheck_Analyzer aCheck(aChannel);
- if(aCheck.IsValid())
- {
- //BRepTools::Write(aChannel, "ChanV.brep");
- SetShape3D( aMkSweep.Shape());
- } else {
-#ifdef DEB_CHANNEL
- cout <<"NOT VALID" <<endl;
- BRepTools::Write(aChannel, "ChanNV.brep");
-#endif
- }
- }
+ return;
+
+ //BRepTools::Write( aPathWire, "guideline.brep" );
+ //BRepTools::Write( aProfileWire, "profile.brep" );
+
+ HYDROData_Canal3dAnd2d aChannelConstructor( aProfileWire, aPathWire );
+ aChannelConstructor.Create3dPresentation();
+ aChannelConstructor.Create2dPresentation();
+ SetShape3D( aChannelConstructor.Get3dPresentation() );
+ SetTopShape( aChannelConstructor.Get2dPresentation() );
+
+ // Create groups for channel
+ TopoDS_Wire aLeftBank = aChannelConstructor.GetLeftBank();
+ TopoDS_Wire aRightBank = aChannelConstructor.GetRightBank();
+ TopoDS_Wire anInlet = aChannelConstructor.GetInlet();
+ TopoDS_Wire anOutlet = aChannelConstructor.GetOutlet();
+
+ TopTools_SequenceOfShape aLeftBankEdges;
+ HYDROData_ShapesTool::ExploreShapeToShapes( aLeftBank, TopAbs_EDGE, aLeftBankEdges );
+
+ TopTools_SequenceOfShape aRightBankEdges;
+ HYDROData_ShapesTool::ExploreShapeToShapes( aRightBank, TopAbs_EDGE, aRightBankEdges );
+
+ TopTools_SequenceOfShape anInletEdges;
+ HYDROData_ShapesTool::ExploreShapeToShapes( anInlet, TopAbs_EDGE, anInletEdges );
+
+ TopTools_SequenceOfShape anOutletEdges;
+ HYDROData_ShapesTool::ExploreShapeToShapes( anOutlet, TopAbs_EDGE, anOutletEdges );
+
+ QString aLeftGroupName = GetName() + "_Left_Bank";
+
+ Handle(HYDROData_ShapesGroup) aLeftGroup = createGroupObject();
+ aLeftGroup->SetName( aLeftGroupName );
+ aLeftGroup->SetShapes( aLeftBankEdges );
+
+ QString aRightGroupName = GetName() + "_Right_Bank";
+
+ Handle(HYDROData_ShapesGroup) aRightGroup = createGroupObject();
+ aRightGroup->SetName( aRightGroupName );
+ aRightGroup->SetShapes( aRightBankEdges );
+
+ QString anInGroupName = GetName() + "_Inlet";
+
+ Handle(HYDROData_ShapesGroup) anInGroup = createGroupObject();
+ anInGroup->SetName( anInGroupName );
+ anInGroup->SetShapes( anInletEdges );
+
+ QString anOutGroupName = GetName() + "_Outlet";
+
+ Handle(HYDROData_ShapesGroup) anOutGroup = createGroupObject();
+ anOutGroup->SetName( anOutGroupName );
+ anOutGroup->SetShapes( anOutletEdges );