PageRenderTime 33ms CodeModel.GetById 12ms app.highlight 15ms RepoModel.GetById 1ms app.codeStats 1ms

/src/contrib/geom-6.3.1.8/inc/GEOMAlgo_BuilderShape.hxx

https://gitlab.com/tylerluo/pythonocc
C++ Header | 152 lines | 65 code | 39 blank | 48 comment | 1 complexity | 40f0216a2df07fd12cc7ae8e7f9da5aa MD5 | raw file
  1//  Copyright (C) 2007-2008  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.
 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#ifndef _GEOMAlgo_BuilderShape_HeaderFile
 23#define _GEOMAlgo_BuilderShape_HeaderFile
 24
 25#ifndef _TopoDS_Shape_HeaderFile
 26#include <TopoDS_Shape.hxx>
 27#endif
 28#ifndef _TopTools_ListOfShape_HeaderFile
 29#include <TopTools_ListOfShape.hxx>
 30#endif
 31#ifndef _TopTools_MapOfShape_HeaderFile
 32#include <TopTools_MapOfShape.hxx>
 33#endif
 34#ifndef _Standard_Boolean_HeaderFile
 35#include <Standard_Boolean.hxx>
 36#endif
 37#ifndef _TopTools_IndexedDataMapOfShapeListOfShape_HeaderFile
 38#include <TopTools_IndexedDataMapOfShapeListOfShape.hxx>
 39#endif
 40#ifndef _GEOMAlgo_Algo_HeaderFile
 41#include <GEOMAlgo_Algo.hxx>
 42#endif
 43class TopoDS_Shape;
 44class TopTools_ListOfShape;
 45class TopTools_IndexedDataMapOfShapeListOfShape;
 46
 47
 48#ifndef _Standard_HeaderFile
 49#include <Standard.hxx>
 50#endif
 51#ifndef _Standard_Macro_HeaderFile
 52#include <Standard_Macro.hxx>
 53#endif
 54
 55//! Root class for algorithms that has shape as result <br>
 56class GEOMAlgo_BuilderShape  : public GEOMAlgo_Algo {
 57
 58public:
 59
 60    void* operator new(size_t,void* anAddress) 
 61      {
 62        return anAddress;
 63      }
 64    void* operator new(size_t size) 
 65      { 
 66        return Standard::Allocate(size); 
 67      }
 68    void  operator delete(void *anAddress) 
 69      { 
 70        if (anAddress) Standard::Free((Standard_Address&)anAddress); 
 71      }
 72 // Methods PUBLIC
 73 // 
 74
 75//!  Returns the result of algorithm <br>
 76Standard_EXPORT  const TopoDS_Shape& Shape() const;
 77
 78//! Returns the list of shapes generated from the <br>
 79//!          shape theS. <br>
 80Standard_EXPORT virtual const TopTools_ListOfShape& Generated(const TopoDS_Shape& theS) ;
 81
 82//! Returns the list of shapes modified from the <br>
 83//!          shape theS. <br>
 84Standard_EXPORT virtual const TopTools_ListOfShape& Modified(const TopoDS_Shape& theS) ;
 85
 86//! Returns true if the shape theS has been deleted. <br>
 87Standard_EXPORT virtual  Standard_Boolean IsDeleted(const TopoDS_Shape& theS) ;
 88
 89//! Returns true if the at least one shape(or subshape) <br>
 90//!          of arguments has been deleted. <br>
 91Standard_EXPORT   Standard_Boolean HasDeleted() const;
 92
 93//! Returns true if the at least one shape(or subshape) <br>
 94//!          of arguments has generated shapes. <br>
 95Standard_EXPORT   Standard_Boolean HasGenerated() const;
 96
 97//! Returns true if the at least one shape(or subshape) <br>
 98//!          of arguments has modified shapes. <br>
 99Standard_EXPORT   Standard_Boolean HasModified() const;
100
101
102Standard_EXPORT  const TopTools_IndexedDataMapOfShapeListOfShape& ImagesResult() const;
103
104
105
106
107
108protected:
109
110 // Methods PROTECTED
111 // 
112
113//! Empty constructor <br>
114Standard_EXPORT GEOMAlgo_BuilderShape();
115Standard_EXPORT virtual ~GEOMAlgo_BuilderShape();
116
117//!  Prepare information for history support <br>
118Standard_EXPORT virtual  void PrepareHistory() ;
119
120
121 // Fields PROTECTED
122 //
123TopoDS_Shape myShape;
124TopTools_ListOfShape myHistShapes;
125TopTools_MapOfShape myMapShape;
126Standard_Boolean myHasDeleted;
127Standard_Boolean myHasGenerated;
128Standard_Boolean myHasModified;
129TopTools_IndexedDataMapOfShapeListOfShape myImagesResult;
130
131
132private: 
133
134 // Methods PRIVATE
135 // 
136
137
138 // Fields PRIVATE
139 //
140
141
142};
143
144
145
146
147
148// other Inline functions and methods (like "C++: function call" methods)
149//
150
151
152#endif