X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FHYDROData%2FHYDROData_ShapesTool.h;h=65b9b277fa9c65878d2a002826dd0bc65820864f;hb=9a544b2f8f5692d57e7554c304a95aebe6e33e3f;hp=893f4c50f53aa837f2ab68dddfd30e84ebae0260;hpb=f9b8b591033deed2dbf24dceaa860faf1d323749;p=modules%2Fhydro.git diff --git a/src/HYDROData/HYDROData_ShapesTool.h b/src/HYDROData/HYDROData_ShapesTool.h index 893f4c50..65b9b277 100644 --- a/src/HYDROData/HYDROData_ShapesTool.h +++ b/src/HYDROData/HYDROData_ShapesTool.h @@ -1,3 +1,20 @@ +// Copyright (C) 2014-2015 EDF-R&D +// 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_ShapesTool_HeaderFile #define HYDROData_ShapesTool_HeaderFile @@ -10,6 +27,7 @@ class TopoDS_Shape; class TopoDS_Vertex; class TopoDS_Edge; class TopTools_SequenceOfShape; +class TopTools_ListOfShape; class HYDRODATA_EXPORT HYDROData_ShapesTool { @@ -58,6 +76,66 @@ public: static bool IsEdgesEquals( const TopoDS_Edge& theFirstEdge, const TopoDS_Edge& theSecondEdge, const bool theIs2D = false ); + + /** + * \brief Translate the shape to the given distance. + * \param theShape shape to translate + * \param theDx X vector component + * \param theDy Y vector component + * \param theDz Z vector component + * \return result translated shape + */ + static TopoDS_Shape Translated( const TopoDS_Shape& theShape, + const double theDx, + const double theDy, + const double theDz ); + + /** + * \brief Adds the sequence of shapes to other sequence. + * \param theShapes sequence to which the shapes will be added + * \param theShapesToAdd sequence from which the shapes will be extracted + */ + static void AddShapes( TopTools_SequenceOfShape& theShapes, + const TopTools_SequenceOfShape& theShapesToAdd ); + + /** + * \brief Adds the list of shapes to the sequence. + * \param theShapes sequence to which the shapes will be added + * \param theShapesToAdd list from which the shapes will be extracted + */ + static void AddShapes( TopTools_SequenceOfShape& theShapes, + const TopTools_ListOfShape& theShapesToAdd ); + + /** + * \brief Adds the sequence of shapes to the list. + * \param theShapes list to which the shapes will be added + * \param theShapesToAdd sequence from which the shapes will be extracted + */ + static void AddShapes( TopTools_ListOfShape& theShapes, + const TopTools_SequenceOfShape& theShapesToAdd ); + + /** + * \brief Adds the list of shapes to other list. + * \param theShapes list to which the shapes will be added + * \param theShapesToAdd list from which the shapes will be extracted + */ + static void AddShapes( TopTools_ListOfShape& theShapes, + const TopTools_ListOfShape& theShapesToAdd ); + + + /** + * \brief Explode and dump the shape to the stream. + */ + static void DumpShapeSubShapes( std::ostream& theStream, + const char* theTitle, + const TopoDS_Shape& theShape, + const TopAbs_ShapeEnum& theExpType ); + + /** + * \brief Dump the shapes sequence to the stream. + */ + static void DumpSequenceOfShapes( std::ostream& theStream, + const TopTools_SequenceOfShape& theShapes ); };