Salome HOME
d0d6a4ea5524162feff23dc0fb3d5ee9deba9ed9
[modules/hydro.git] / src / HYDROData / HYDROData_Transform.h
1 #ifndef HYDROData_Transform_HeaderFile
2 #define HYDROData_Transform_HeaderFile
3
4 #include <Standard.hxx>
5 #include <Standard_Macro.hxx>
6 #include <Standard_Boolean.hxx>
7 #include <Standard_Integer.hxx>
8
9 #include <gp_Trsf.hxx>
10
11 #include <TopoDS_Shape.hxx>
12 #include <TopTools_ListOfShape.hxx>
13
14 #include <BRepBuilderAPI_Transform.hxx>
15
16 #include <BOPCol_ListOfShape.hxx>
17 #include <BOPCol_MapOfShape.hxx>
18
19 #include <BOPAlgo_BuilderShape.hxx>
20 #include <BOPAlgo_Builder.hxx>
21
22 //=======================================================================
23 //class    : HYDROData_Transform
24 //purpose  :
25 //=======================================================================
26 class HYDROData_Transform : public BOPAlgo_BuilderShape
27 {
28  public:
29   Standard_EXPORT
30     HYDROData_Transform();
31   //
32   Standard_EXPORT
33     virtual ~HYDROData_Transform();
34   //
35   Standard_EXPORT
36     void SetArgument(const TopoDS_Shape& theShape);
37   //
38   Standard_EXPORT
39     const TopoDS_Shape& Argument()const;
40   //
41   Standard_EXPORT
42     void SetToTransform(const Standard_Boolean theFlag);
43   //
44   Standard_EXPORT
45     Standard_Boolean ToTransform()const;
46   //
47   Standard_EXPORT
48     void SetTreshold(const Standard_Real theTreshold);
49   //
50   Standard_EXPORT
51     Standard_Real Treshold()const;
52   //
53   Standard_EXPORT
54     void Detect();
55   //
56   Standard_EXPORT
57     virtual void Clear();
58   //
59   Standard_EXPORT
60     virtual void Perform();
61   //
62   // History
63   Standard_EXPORT
64     virtual const TopTools_ListOfShape& Generated
65       (const TopoDS_Shape& theShape);
66   //
67   Standard_EXPORT
68     virtual const TopTools_ListOfShape& Modified
69       (const TopoDS_Shape& theShape);
70   //
71   Standard_EXPORT
72     virtual Standard_Boolean IsDeleted
73       (const TopoDS_Shape& theShape);
74   //
75   Standard_EXPORT
76     virtual Standard_Boolean HasDeleted();
77   //
78   Standard_EXPORT
79     virtual Standard_Boolean HasGenerated();
80   //
81   Standard_EXPORT
82     virtual Standard_Boolean HasModified();
83   //
84   // Inner content
85  protected:
86   Standard_EXPORT
87     virtual void CheckData();
88   //
89   Standard_EXPORT
90     void Prepare();
91   //
92   Standard_EXPORT
93     void Transform1();
94   //
95   Standard_EXPORT
96     void Transform2();
97   //
98   Standard_EXPORT
99     void BuildFuse();
100   //
101   Standard_EXPORT
102     void ComputeTrsf();
103   //
104  protected:
105   Standard_Boolean myToTransform;
106   Standard_Real myTreshold;
107   TopoDS_Shape myArgument;
108   //
109   gp_Trsf myTrsf1;
110   gp_Trsf myTrsf2;
111   BRepBuilderAPI_Transform* myTransform1;
112   BRepBuilderAPI_Transform* myTransform2;
113   BOPAlgo_Builder* myBuilder;
114 };
115
116 #endif