Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef _GEOMAlgo_FinderShapeOn_HeaderFile
00024 #define _GEOMAlgo_FinderShapeOn_HeaderFile
00025
00026 #ifndef _Handle_Geom_Surface_HeaderFile
00027 #include <Handle_Geom_Surface.hxx>
00028 #endif
00029 #ifndef _TopAbs_ShapeEnum_HeaderFile
00030 #include <TopAbs_ShapeEnum.hxx>
00031 #endif
00032 #ifndef _GEOMAlgo_State_HeaderFile
00033 #include <GEOMAlgo_State.hxx>
00034 #endif
00035 #ifndef _TopoDS_Shape_HeaderFile
00036 #include <TopoDS_Shape.hxx>
00037 #endif
00038 #ifndef _TopTools_ListOfShape_HeaderFile
00039 #include <TopTools_ListOfShape.hxx>
00040 #endif
00041 #ifndef _TopTools_DataMapOfShapeShape_HeaderFile
00042 #include <TopTools_DataMapOfShapeShape.hxx>
00043 #endif
00044 #ifndef _GEOMAlgo_IndexedDataMapOfShapeState_HeaderFile
00045 #include <GEOMAlgo_IndexedDataMapOfShapeState.hxx>
00046 #endif
00047 #ifndef _Standard_Boolean_HeaderFile
00048 #include <Standard_Boolean.hxx>
00049 #endif
00050 #ifndef _GEOMAlgo_ShapeAlgo_HeaderFile
00051 #include <GEOMAlgo_ShapeAlgo.hxx>
00052 #endif
00053 class Geom_Surface;
00054 class TopTools_ListOfShape;
00055 class TopoDS_Shape;
00056 class TopTools_DataMapOfShapeShape;
00057
00058
00059 #ifndef _Standard_HeaderFile
00060 #include <Standard.hxx>
00061 #endif
00062 #ifndef _Standard_Macro_HeaderFile
00063 #include <Standard_Macro.hxx>
00064 #endif
00065
00066
00067 class GEOMAlgo_FinderShapeOn : public GEOMAlgo_ShapeAlgo {
00068
00069 public:
00070
00071 void* operator new(size_t,void* anAddress)
00072 {
00073 return anAddress;
00074 }
00075 void* operator new(size_t size)
00076 {
00077 return Standard::Allocate(size);
00078 }
00079 void operator delete(void *anAddress)
00080 {
00081 if (anAddress) Standard::Free((Standard_Address&)anAddress);
00082 }
00083
00084
00085
00086
00087 Standard_EXPORT GEOMAlgo_FinderShapeOn();
00088 Standard_EXPORT virtual ~GEOMAlgo_FinderShapeOn();
00089
00090
00091 Standard_EXPORT virtual void Perform() ;
00092
00093
00094 Standard_EXPORT void SetSurface(const Handle(Geom_Surface)& aS) ;
00095
00096
00097 Standard_EXPORT void SetShapeType(const TopAbs_ShapeEnum aST) ;
00098
00099
00100 Standard_EXPORT void SetState(const GEOMAlgo_State aSF) ;
00101
00102
00103 Standard_EXPORT const Handle_Geom_Surface& Surface() const;
00104
00105
00106 Standard_EXPORT TopAbs_ShapeEnum ShapeType() const;
00107
00108
00109 Standard_EXPORT GEOMAlgo_State State() const;
00110
00111
00112 Standard_EXPORT const TopTools_ListOfShape& Shapes() const;
00113
00114
00115 Standard_EXPORT static void CopySource(const TopoDS_Shape& aS,TopTools_DataMapOfShapeShape& aImages,TopTools_DataMapOfShapeShape& aOriginals,TopoDS_Shape& aSC) ;
00116
00117 Standard_EXPORT static bool BuildTriangulation (const TopoDS_Shape& theShape);
00118
00119 protected:
00120
00121
00122
00123
00124
00125 Standard_EXPORT virtual void CheckData() ;
00126
00127
00128 Standard_EXPORT void MakeArgument1() ;
00129
00130
00131 Standard_EXPORT void MakeArgument2() ;
00132
00133
00134 Standard_EXPORT void Find() ;
00135
00136
00137 Standard_EXPORT void Find(const TopoDS_Shape& aS) ;
00138
00139
00140 Standard_EXPORT void FindVertices() ;
00141
00142
00143
00144
00145 Handle_Geom_Surface mySurface;
00146 TopAbs_ShapeEnum myShapeType;
00147 GEOMAlgo_State myState;
00148 TopoDS_Shape myArg1;
00149 TopoDS_Shape myArg2;
00150 TopTools_ListOfShape myLS;
00151 TopTools_DataMapOfShapeShape myImages;
00152 GEOMAlgo_IndexedDataMapOfShapeState myMSS;
00153 Standard_Boolean myIsAnalytic;
00154
00155
00156 private:
00157
00158
00159
00160
00161
00162
00163
00164
00165
00166 };
00167
00168
00169
00170
00171
00172
00173
00174
00175
00176 #endif