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
00024
00025
00026
00027 #ifndef _GEOMAlgo_Gluer2_HeaderFile
00028 #define _GEOMAlgo_Gluer2_HeaderFile
00029
00030 #include <Standard.hxx>
00031 #include <Standard_Macro.hxx>
00032
00033 #include <TopTools_DataMapOfShapeListOfShape.hxx>
00034 #include <TopTools_DataMapOfShapeShape.hxx>
00035 #include <Standard_Boolean.hxx>
00036 #include <GEOMAlgo_GluerAlgo.hxx>
00037 #include <TopAbs_ShapeEnum.hxx>
00038 #include <NMTTools_CoupleOfShape.hxx>
00039 #include <NMTTools_ListOfCoupleOfShape.hxx>
00040 #include <GEOMAlgo_BuilderShape.hxx>
00041
00042
00043
00044
00045
00046 class GEOMAlgo_Gluer2 : public GEOMAlgo_GluerAlgo,
00047 public GEOMAlgo_BuilderShape {
00048 public:
00049
00050 Standard_EXPORT GEOMAlgo_Gluer2();
00051
00052 Standard_EXPORT virtual ~GEOMAlgo_Gluer2();
00053
00054 Standard_EXPORT void SetShapesToGlue(const TopTools_DataMapOfShapeListOfShape& aM) ;
00055
00056 Standard_EXPORT const TopTools_DataMapOfShapeListOfShape& ShapesToGlue() const;
00057
00058 Standard_EXPORT void SetKeepNonSolids(const Standard_Boolean theFlag) ;
00059
00060 Standard_EXPORT Standard_Boolean KeepNonSolids() const;
00061
00062 Standard_EXPORT virtual void Clear() ;
00063
00064 Standard_EXPORT virtual void Perform() ;
00065
00066 Standard_EXPORT virtual void CheckData() ;
00067
00068 Standard_EXPORT void Detect() ;
00069
00070 Standard_EXPORT const TopTools_DataMapOfShapeListOfShape& ShapesDetected() const;
00071
00072 Standard_EXPORT const TopTools_DataMapOfShapeListOfShape& ImagesToWork() const;
00073
00074 Standard_EXPORT virtual const TopTools_ListOfShape& Generated(const TopoDS_Shape& theS) ;
00075
00076 Standard_EXPORT virtual const TopTools_ListOfShape& Modified(const TopoDS_Shape& theS) ;
00077
00078 Standard_EXPORT virtual Standard_Boolean IsDeleted(const TopoDS_Shape& theS) ;
00079
00080 Standard_EXPORT static void MakeVertex(const TopTools_ListOfShape& theLV,
00081 TopoDS_Vertex& theV) ;
00082
00083 Standard_EXPORT static void MapBRepShapes(const TopoDS_Shape& theS,
00084 TopTools_MapOfShape& theM) ;
00085
00086 Standard_EXPORT static void MapShapes(const TopoDS_Shape& theS,
00087 TopTools_MapOfShape& theM) ;
00088
00089
00090 protected:
00091
00092 Standard_EXPORT void PerformShapesToWork() ;
00093
00094 Standard_EXPORT void FillVertices() ;
00095
00096 Standard_EXPORT void FillEdges() ;
00097
00098 Standard_EXPORT void FillWires() ;
00099
00100 Standard_EXPORT void FillFaces() ;
00101
00102 Standard_EXPORT void FillShells() ;
00103
00104 Standard_EXPORT void FillSolids() ;
00105
00106 Standard_EXPORT void FillCompSolids() ;
00107
00108 Standard_EXPORT void FillCompounds() ;
00109
00110 Standard_EXPORT void BuildResult() ;
00111
00112 Standard_EXPORT void FillBRepShapes(const TopAbs_ShapeEnum theType) ;
00113
00114 Standard_EXPORT void FillContainers(const TopAbs_ShapeEnum theType) ;
00115
00116 Standard_EXPORT void FillCompound(const TopoDS_Shape& theC) ;
00117
00118 Standard_EXPORT virtual void PrepareHistory() ;
00119
00120 Standard_EXPORT Standard_Boolean HasImage(const TopoDS_Shape& theC) ;
00121
00122 Standard_EXPORT void MakeBRepShapes(const TopoDS_Shape& theS,
00123 TopoDS_Shape& theSnew) ;
00124
00125 Standard_EXPORT void MakeEdge(const TopoDS_Edge& theE,
00126 TopoDS_Edge& theEnew) ;
00127
00128 Standard_EXPORT void MakeFace(const TopoDS_Face& theF,
00129 TopoDS_Face& theFnew) ;
00130
00131 Standard_EXPORT void TreatPair(const NMTTools_CoupleOfShape& theCS,
00132 NMTTools_ListOfCoupleOfShape& theLCS) ;
00133
00134 protected:
00135 TopTools_DataMapOfShapeListOfShape myShapesToGlue;
00136 TopTools_DataMapOfShapeListOfShape myImagesDetected;
00137 TopTools_DataMapOfShapeShape myOriginsDetected;
00138 TopTools_DataMapOfShapeListOfShape myImagesToWork;
00139 TopTools_DataMapOfShapeShape myOriginsToWork;
00140 Standard_Boolean myKeepNonSolids;
00141
00142 private:
00143 };
00144 #endif