X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FHYDROData%2FHYDROData_Pipes.h;h=9a3ddd7dcf09e97abf4fd1188d85a49030d18660;hb=c7cf59e092fe050003d1e556715e3ac97acf6bd4;hp=4d681beeb212e8182bd0546782c67d539a9cfe79;hpb=5c12c6139249222efdb479db2ca7acf3fe5b3cd0;p=modules%2Fhydro.git diff --git a/src/HYDROData/HYDROData_Pipes.h b/src/HYDROData/HYDROData_Pipes.h index 4d681bee..9a3ddd7d 100644 --- a/src/HYDROData/HYDROData_Pipes.h +++ b/src/HYDROData/HYDROData_Pipes.h @@ -1,3 +1,24 @@ +// Copyright (C) 2007-2015 CEA/DEN, EDF R&D, OPEN CASCADE +// +// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, +// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS +// +// This library is free software; you can redistribute it and/or +// modify it under the terms of the GNU Lesser General Public +// License as published by the Free Software Foundation; either +// version 2.1 of the License, or (at your option) any later version. +// +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// +// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +// #ifndef HYDROData_Pipes_HeaderFile #define HYDROData_Pipes_HeaderFile @@ -6,8 +27,10 @@ #include #include #include +#include class BRepOffsetAPI_MakePipeShell; +class TopoDS_Face; class HYDROData_Canal3dAnd2d { @@ -34,15 +57,18 @@ public: const TopoDS_Wire& aGuideline, const gp_Pnt& aMiddlePoint); + TopoDS_Wire CreateWireOnUnifiedPipe2d(const TopoDS_Wire& aWireOnPipe2d); + TopoDS_Wire GetBank(const TopoDS_Vertex& aFreeVertex); //Queries TopoDS_Shape Get3dPresentation(); - TopoDS_Shape Get2dPresentation(); + TopoDS_Face Get2dPresentation(); TopoDS_Wire GetLeftBank(); TopoDS_Wire GetRightBank(); TopoDS_Wire GetInlet(); TopoDS_Wire GetOutlet(); + Standard_Integer GetStatus(); void MakeSharpVertexList(); @@ -68,11 +94,23 @@ private: TopoDS_Shape myPipe3d; TopoDS_Shape myPipe2d; + TopoDS_Shape myUnifiedPipe2d; + ShapeUpgrade_UnifySameDomain myUnifier; TopoDS_Wire myInlet; TopoDS_Wire myOutlet; //TopoDS_Shape myLeftBank; //TopoDS_Shape myRightBank; + Standard_Integer myStatus; + //0 - Ok + //1 - some edges does not belong to same plane or parallel (fillet can not be build) + //2 - can not create fillet at some vertex with given radius: the length of some edge is too small respective to width of canal + //3 - fillet failed at some vertex + //4 - fillet failed + //5 - projection failed + //6 - sweep 3d failed + //7 - sweep 2d failed + Standard_Real myFilletRadius; TopTools_ListOfShape mySharpVertexList; Standard_Real myTolAngular;