PageRenderTime 43ms CodeModel.GetById 17ms app.highlight 20ms RepoModel.GetById 1ms app.codeStats 1ms

/src/contrib/geom-5.1.2.7/inc_pythonocc/GEOMAlgo_FinderShapeOn.hxx

http://pythonocc.googlecode.com/
C++ Header | 175 lines | 84 code | 58 blank | 33 comment | 1 complexity | 99315b3dcefcdf6308b236679b91fcf5 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_FinderShapeOn_HeaderFile
 23#define _GEOMAlgo_FinderShapeOn_HeaderFile
 24
 25#ifndef _Handle_Geom_Surface_HeaderFile
 26#include <Handle_Geom_Surface.hxx>
 27#endif
 28#ifndef _TopAbs_ShapeEnum_HeaderFile
 29#include <TopAbs_ShapeEnum.hxx>
 30#endif
 31#ifndef _GEOMAlgo_State_HeaderFile
 32#include <GEOMAlgo_State.hxx>
 33#endif
 34#ifndef _TopoDS_Shape_HeaderFile
 35#include <TopoDS_Shape.hxx>
 36#endif
 37#ifndef _TopTools_ListOfShape_HeaderFile
 38#include <TopTools_ListOfShape.hxx>
 39#endif
 40#ifndef _TopTools_DataMapOfShapeShape_HeaderFile
 41#include <TopTools_DataMapOfShapeShape.hxx>
 42#endif
 43#ifndef _GEOMAlgo_IndexedDataMapOfShapeState_HeaderFile
 44#include <GEOMAlgo_IndexedDataMapOfShapeState.hxx>
 45#endif
 46#ifndef _Standard_Boolean_HeaderFile
 47#include <Standard_Boolean.hxx>
 48#endif
 49#ifndef _GEOMAlgo_ShapeAlgo_HeaderFile
 50#include <GEOMAlgo_ShapeAlgo.hxx>
 51#endif
 52class Geom_Surface;
 53class TopTools_ListOfShape;
 54class TopoDS_Shape;
 55class TopTools_DataMapOfShapeShape;
 56
 57
 58#ifndef _Standard_HeaderFile
 59#include <Standard.hxx>
 60#endif
 61#ifndef _Standard_Macro_HeaderFile
 62#include <Standard_Macro.hxx>
 63#endif
 64
 65
 66class GEOMAlgo_FinderShapeOn  : public GEOMAlgo_ShapeAlgo {
 67
 68public:
 69
 70    void* operator new(size_t,void* anAddress) 
 71      {
 72        return anAddress;
 73      }
 74    void* operator new(size_t size) 
 75      { 
 76        return Standard::Allocate(size); 
 77      }
 78    void  operator delete(void *anAddress) 
 79      { 
 80        if (anAddress) Standard::Free((Standard_Address&)anAddress); 
 81      }
 82 // Methods PUBLIC
 83 // 
 84
 85
 86Standard_EXPORT GEOMAlgo_FinderShapeOn();
 87Standard_EXPORT virtual ~GEOMAlgo_FinderShapeOn();
 88
 89
 90Standard_EXPORT virtual  void Perform() ;
 91
 92
 93Standard_EXPORT   void SetSurface(const Handle(Geom_Surface)& aS) ;
 94
 95
 96Standard_EXPORT   void SetShapeType(const TopAbs_ShapeEnum aST) ;
 97
 98
 99Standard_EXPORT   void SetState(const GEOMAlgo_State aSF) ;
100
101
102Standard_EXPORT  const Handle_Geom_Surface& Surface() const;
103
104
105Standard_EXPORT   TopAbs_ShapeEnum ShapeType() const;
106
107
108Standard_EXPORT   GEOMAlgo_State State() const;
109
110
111Standard_EXPORT  const TopTools_ListOfShape& Shapes() const;
112
113
114Standard_EXPORT static  void CopySource(const TopoDS_Shape& aS,TopTools_DataMapOfShapeShape& aImages,TopTools_DataMapOfShapeShape& aOriginals,TopoDS_Shape& aSC) ;
115
116Standard_EXPORT static  bool BuildTriangulation (const TopoDS_Shape& theShape);
117
118protected:
119
120 // Methods PROTECTED
121 // 
122
123
124Standard_EXPORT virtual  void CheckData() ;
125
126
127Standard_EXPORT   void MakeArgument1() ;
128
129
130Standard_EXPORT   void MakeArgument2() ;
131
132
133Standard_EXPORT   void Find() ;
134
135
136Standard_EXPORT   void Find(const TopoDS_Shape& aS) ;
137
138
139Standard_EXPORT   void FindVertices() ;
140
141
142 // Fields PROTECTED
143 //
144Handle_Geom_Surface mySurface;
145TopAbs_ShapeEnum myShapeType;
146GEOMAlgo_State myState;
147TopoDS_Shape myArg1;
148TopoDS_Shape myArg2;
149TopTools_ListOfShape myLS;
150TopTools_DataMapOfShapeShape myImages;
151GEOMAlgo_IndexedDataMapOfShapeState myMSS;
152Standard_Boolean myIsAnalytic;
153
154
155private: 
156
157 // Methods PRIVATE
158 // 
159
160
161 // Fields PRIVATE
162 //
163
164
165};
166
167
168
169
170
171// other Inline functions and methods (like "C++: function call" methods)
172//
173
174
175#endif