Version: 8.3.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
ShHealOper_Tool.hxx
Go to the documentation of this file.
1 // Copyright (C) 2007-2016 CEA/DEN, EDF R&D, 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_Tool.hxx
24 // Created: 26.04.04 11:36:04
25 // Author: Galina KULIKOVA
26 //
27 #ifndef ShHealOper_Tool_HeaderFile
28 #define ShHealOper_Tool_HeaderFile
29 
30 #include <ShapeBuild_ReShape.hxx>
31 #include <TopoDS_Shape.hxx>
32 
34 
36 //
37 //enumeration for definition of the status of the error if operation failed
42 };
43 
45 {
46  public:
47  // ---------- PUBLIC METHODS ----------
48 
50  Standard_EXPORT ShHealOper_Tool () ;
51 
52  Standard_EXPORT ShHealOper_Tool (const TopoDS_Shape& theShape);
53  // Constructor initialized by shape from which faces will be removed.
54 
55  Standard_EXPORT virtual void Init(const TopoDS_Shape& theShape);
56  //Method for initalization by whole shape.
57 
58  inline const TopoDS_Shape& GetResultShape() const
59  {
60  return myResultShape;
61 
62  }
63  //Returns result shape.
64 
65  inline Standard_Boolean GetModifiedShape(const TopoDS_Shape& theOldShape,
66  TopoDS_Shape& theNewShape) const
67  {
68  theNewShape = myContext->Apply(theOldShape);
69  return (!theNewShape.IsSame(theOldShape));
70  }
71  //Returns modified shape obtained after operation from initial shape.
72 
73  inline Standard_Boolean IsDone() const
74  {
75  return myDone;
76  }
77  //Returns status of the operation.
78 
79  inline void SetContext(Handle(ShapeBuild_ReShape)& theContext)
80  {
81  myContext = theContext;
82  }
83  //Initialization by context keeping modification of sub-shapes.
84 
85  inline Handle(ShapeBuild_ReShape) Context()
86  {
87  return myContext;
88  }
89  //Returns context keeping modification of sub-shapes
90 
91  inline Standard_Integer GetErrorStatus()
92  {
93  return myErrorStatus;
94  }
95 
97  {
98  return myStatistics;
99  }
100 
102  {
103  return myStatistics;
104  }
105  // Returns statistics of what is done
106 
107 protected:
108  // ---------- PROTECTED FIELDS ----------
109 
110  Handle(ShapeBuild_ReShape) myContext;
111  TopoDS_Shape myInitShape;
112  TopoDS_Shape myResultShape;
113  Standard_Boolean myDone;
116 
117 public:
118  // Declaration of CASCADE RTTI
119  //DEFINE_STANDARD_RTTI (ShHealOper_Tool)
120 };
121 
122 // Definition of HANDLE object using Standard_DefineHandle.hxx
123 //DEFINE_STANDARD_HANDLE (ShHealOper_Tool, )
124 
125 
126 #endif