Salome HOME
Merge with version on tag OCC-V2_1_0d
[modules/geom.git] / src / GEOMImpl / GEOMImpl_ILocalOperations.hxx
1
2 #ifndef _GEOMImpl_ILocalOperations_HXX_
3 #define _GEOMImpl_ILocalOperations_HXX_
4
5 #include "Utils_SALOME_Exception.hxx"
6 #include "GEOM_IOperations.hxx"
7 #include "GEOM_Engine.hxx"
8 #include "GEOM_Object.hxx"
9 #include <TDocStd_Document.hxx>
10
11 #include <list>
12
13 class GEOMImpl_ILocalOperations : public GEOM_IOperations {
14  public:
15   GEOMImpl_ILocalOperations(GEOM_Engine* theEngine, int theDocID);
16   ~GEOMImpl_ILocalOperations();
17
18   Handle(GEOM_Object) MakeFilletAll   (Handle(GEOM_Object) theShape, double theR);
19   Handle(GEOM_Object) MakeFilletEdges (Handle(GEOM_Object) theShape, double theR,
20                                        list<int> theEdges);
21   Handle(GEOM_Object) MakeFilletFaces (Handle(GEOM_Object) theShape, double theR,
22                                        list<int> theFaces);
23
24   Handle(GEOM_Object) MakeChamferAll   (Handle(GEOM_Object) theShape, double theD);
25   Handle(GEOM_Object) MakeChamferEdge  (Handle(GEOM_Object) theShape,
26                                         double theD1, double theD2,
27                                         int theFace1, int theFace2);
28   Handle(GEOM_Object) MakeChamferFaces (Handle(GEOM_Object) theShape,
29                                         double theD1, double theD2,
30                                         list<int> theFaces);
31
32   Handle(GEOM_Object) MakeArchimede (Handle(GEOM_Object) theShape,
33                                      double theWeight, double theWaterDensity,
34                                      double theMeshingDeflection);
35
36   Standard_Integer GetSubShapeIndex (Handle(GEOM_Object) theShape,
37                                      Handle(GEOM_Object) theSubShape);
38
39   static bool GetSubShape (const TopoDS_Shape& theShape,
40                            const int theIndex,
41                            TopoDS_Shape& theSubShape);
42 };
43
44 #endif