/src/contrib/geom-5.1.2.7/inc/ShHealOper_RemoveInternalWires.hxx

http://pythonocc.googlecode.com/ · C++ Header · 83 lines · 26 code · 19 blank · 38 comment · 0 complexity · 30a544881d45c288ab42133d43d782ff MD5 · raw file

  1. // Copyright (C) 2005 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
  2. // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
  3. //
  4. // This library is free software; you can redistribute it and/or
  5. // modify it under the terms of the GNU Lesser General Public
  6. // License as published by the Free Software Foundation; either
  7. // version 2.1 of the License.
  8. //
  9. // This library is distributed in the hope that it will be useful
  10. // but WITHOUT ANY WARRANTY; without even the implied warranty of
  11. // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  12. // Lesser General Public License for more details.
  13. //
  14. // You should have received a copy of the GNU Lesser General Public
  15. // License along with this library; if not, write to the Free Software
  16. // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
  17. //
  18. // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
  19. //
  20. //
  21. // File: ShHealOper_RemoveInternalWires.hxx
  22. // Created: 26.04.04 11:22:26
  23. // Author: Galina KULIKOVA
  24. #ifndef ShHealOper_RemoveInternalWires_HeaderFile
  25. #define ShHealOper_RemoveInternalWires_HeaderFile
  26. #include <MMgt_TShared.hxx>
  27. #include <ShHealOper_Tool.hxx>
  28. #include <TopoDS_Shape.hxx>
  29. #include <TopTools_SequenceOfShape.hxx>
  30. #include <TopoDS_Face.hxx>
  31. #include <TopoDS_Wire.hxx>
  32. #include <TopTools_IndexedDataMapOfShapeListOfShape.hxx>
  33. // Class ShHealOper_RemoveInternalWires
  34. //! Intended for removing internal wires from faces.
  35. class ShHealOper_RemoveInternalWires : public ShHealOper_Tool
  36. {
  37. public:
  38. // ---------- PUBLIC METHODS ----------
  39. //! Empty constructor
  40. Standard_EXPORT ShHealOper_RemoveInternalWires () {}
  41. //! Constructor for initalization by whole shape.
  42. Standard_EXPORT ShHealOper_RemoveInternalWires (const TopoDS_Shape& theShape);
  43. //!Method for initalization by whole shape.
  44. Standard_EXPORT virtual void Init(const TopoDS_Shape& theShape);
  45. //!Removes all internal wires from all faces of the shape
  46. Standard_EXPORT Standard_Boolean Remove();
  47. //!Removes wires specified in the sequence of shapes or internal wires
  48. //!belonging faces specified in the sequence of shape.
  49. Standard_EXPORT Standard_Boolean Remove(const TopTools_SequenceOfShape& theRemovedShapes);
  50. private:
  51. // ---------- PRIVATE METHODS ----------
  52. Standard_Boolean removeWire(const TopoDS_Face& theFace,
  53. const TopoDS_Wire& theWire);
  54. void fixShape(const TopoDS_Shape& theShape );
  55. private:
  56. // ---------- PRIVATE FIELDS ----------
  57. TopTools_IndexedDataMapOfShapeListOfShape myMapWiresFace;
  58. public:
  59. // Declaration of CASCADE RTTI
  60. //DEFINE_STANDARD_RTTI (ShHealOper_RemoveInternalWires)
  61. };
  62. // Definition of HANDLE object using Standard_DefineHandle.hxx
  63. //DEFINE_STANDARD_HANDLE (ShHealOper_RemoveInternalWires, )
  64. #endif