Version: 9.16.0
ShHealOper_RemoveFace.hxx
Go to the documentation of this file.
1// Copyright (C) 2007-2026 CEA, EDF, OPEN CASCADE
2//
3// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
4// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
5//
6// This library is free software; you can redistribute it and/or
7// modify it under the terms of the GNU Lesser General Public
8// License as published by the Free Software Foundation; either
9// version 2.1 of the License, or (at your option) any later version.
10//
11// This library is distributed in the hope that it will be useful,
12// but WITHOUT ANY WARRANTY; without even the implied warranty of
13// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14// Lesser General Public License for more details.
15//
16// You should have received a copy of the GNU Lesser General Public
17// License along with this library; if not, write to the Free Software
18// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19//
20// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
21//
22
23// File: ShHealOper_RemoveFace.hxx
24// Created: 15.04.04 18:10:16
25// Author: Galina KULIKOVA
26//
27#ifndef ShHealOper_RemoveFace_HeaderFile
28#define ShHealOper_RemoveFace_HeaderFile
29
30#include <ShHealOper_Tool.hxx>
31#include <TopoDS_Shape.hxx>
32#include <TopTools_SequenceOfShape.hxx>
33#include <TopTools_MapOfShape.hxx>
34#include <TopoDS_Solid.hxx>
35#include <TopoDS_Shell.hxx>
36#include <TopoDS_Face.hxx>
37#include <TopTools_IndexedDataMapOfShapeListOfShape.hxx>
39//Class intended to removing faces from shape.
40
42{
43 public:
44 // ---------- PUBLIC METHODS ----------
45
46 Standard_EXPORT ShHealOper_RemoveFace ();
47 //Empty constructor.
48
49 Standard_EXPORT ShHealOper_RemoveFace (const TopoDS_Shape& theShape);
50 // Constructor initialized by shape from which faces will be removed.
51 Standard_EXPORT virtual void Init(const TopoDS_Shape& theShape);
52 //Method for initialization by whole shape.
53 Standard_EXPORT Standard_Boolean Perform();
54 //Removes all faces from specified shape.
55
56 Standard_EXPORT Standard_Boolean Perform(const TopTools_SequenceOfShape& theRemovedFaces);
57 //Removes faces specified in the sequence of faces from specified shape.
58
59
60 private:
61
62 Standard_Boolean removeFaces(const TopoDS_Shape& theShape,TopoDS_Shape& theNewShape);
63 Standard_Boolean removeFaces(const TopoDS_Solid& theShape,TopoDS_Shape& theNewShape);
64 Standard_Boolean removeFaces(const TopoDS_Shell& theShell,TopoDS_Shape& theNewShape);
65 Standard_Boolean isReplace(const TopoDS_Shape& theOldShape,TopoDS_Shape& theNewShape);
66 //Methods for removing faces from sub-shapes.
67
68 void removePCurve(const TopoDS_Face& theFace);
69 //method for removing pcurves belonging to face
70
71 Standard_Boolean isManifold(const TopoDS_Shell& aShell);
72 //denenes manifold shell.
73 private:
74 // ---------- PRIVATE FIELDS ----------
75
76 TopTools_MapOfShape myMapFaces;
77 TopTools_IndexedDataMapOfShapeListOfShape myMapEdgesFace;
78 public:
79// Declaration of CASCADE RTTI
80//DEFINE_STANDARD_RTTI (ShHealOper_RemoveFace)
81};
82
83// Definition of HANDLE object using Standard_DefineHandle.hxx
84//DEFINE_STANDARD_HANDLE (ShHealOper_RemoveFace, )
85
86
87#endif
Class ShHealOper_RemoveFace.
Definition: ShHealOper_RemoveFace.hxx:42
Standard_Boolean removeFaces(const TopoDS_Shape &theShape, TopoDS_Shape &theNewShape)
Definition: ShHealOper_RemoveFace.cxx:140
Standard_EXPORT ShHealOper_RemoveFace()
Definition: ShHealOper_RemoveFace.cxx:56
TopTools_MapOfShape myMapFaces
Definition: ShHealOper_RemoveFace.hxx:76
void removePCurve(const TopoDS_Face &theFace)
Definition: ShHealOper_RemoveFace.cxx:419
TopTools_IndexedDataMapOfShapeListOfShape myMapEdgesFace
Definition: ShHealOper_RemoveFace.hxx:77
Standard_Boolean isManifold(const TopoDS_Shell &aShell)
Definition: ShHealOper_RemoveFace.cxx:278
virtual Standard_EXPORT void Init(const TopoDS_Shape &theShape)
Definition: ShHealOper_RemoveFace.cxx:75
Standard_Boolean isReplace(const TopoDS_Shape &theOldShape, TopoDS_Shape &theNewShape)
Definition: ShHealOper_RemoveFace.cxx:363
Standard_EXPORT Standard_Boolean Perform()
Definition: ShHealOper_RemoveFace.cxx:89
Definition: ShHealOper_Tool.hxx:45