X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FHYDROData%2FHYDROData_Channel.cxx;h=e1363d79e9db29b016e712ba7efdbaad1ddf84a5;hb=424f8230c9003d00fb27499b2441c4b3a2a28292;hp=3aab98b5ac6ea61db8394bc8904aa6fbefc5ddab;hpb=34310fe4f26db0f23c2edfef1678e5b02f578204;p=modules%2Fhydro.git diff --git a/src/HYDROData/HYDROData_Channel.cxx b/src/HYDROData/HYDROData_Channel.cxx index 3aab98b5..e1363d79 100644 --- a/src/HYDROData/HYDROData_Channel.cxx +++ b/src/HYDROData/HYDROData_Channel.cxx @@ -7,6 +7,12 @@ #include #include +#include +#include +//#define DEB_CHANNEL 1 +#ifdef DEB_CHANNEL +#include +#endif #include @@ -82,6 +88,32 @@ void HYDROData_Channel::Update() return; // TODO + TopoDS_Wire aPathWire = TopoDS::Wire(aGuideLine->GetShape3D()); + if(aPathWire.IsNull()) + return; + TopoDS_Wire aProfileWire = TopoDS::Wire( aProfile->GetShape3D() ); + if(aProfileWire.IsNull()) + 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" <