Salome HOME
PAL9166. Add possibility to make sketcher on an existing plane
[modules/geom.git] / src / GEOMImpl / GEOMImpl_ICurvesOperations.hxx
1 using namespace std; 
2
3 #ifndef _GEOMImpl_ICurvesOperations_HXX_
4 #define _GEOMImpl_ICurvesOperations_HXX_
5
6 #include "GEOM_IOperations.hxx"
7
8 #include <list>
9
10 class GEOM_Engine;
11 class Handle(GEOM_Object);
12
13 class GEOMImpl_ICurvesOperations : public GEOM_IOperations {
14  public:
15   GEOMImpl_ICurvesOperations(GEOM_Engine* theEngine, int theDocID);
16   ~GEOMImpl_ICurvesOperations();
17
18   Handle(GEOM_Object) MakePolyline (list<Handle(GEOM_Object)> thePoints);
19
20   Handle(GEOM_Object) MakeCircleThreePnt (Handle(GEOM_Object) thePnt1,
21                                           Handle(GEOM_Object) thePnt2,
22                                           Handle(GEOM_Object) thePnt3);
23   Handle(GEOM_Object) MakeCirclePntVecR  (Handle(GEOM_Object) thePnt,
24                                           Handle(GEOM_Object) theVec, double theR);
25
26   Handle(GEOM_Object) MakeEllipse (Handle(GEOM_Object) thePnt,
27                                    Handle(GEOM_Object) theVec,
28                                    double theRMajor, double theRMinor);
29
30   Handle(GEOM_Object) MakeArc (Handle(GEOM_Object) thePnt1,
31                                Handle(GEOM_Object) thePnt2,
32                                Handle(GEOM_Object) thePnt3);
33
34   Handle(GEOM_Object) MakeSplineBezier        (list<Handle(GEOM_Object)> thePoints);
35   Handle(GEOM_Object) MakeSplineInterpolation (list<Handle(GEOM_Object)> thePoints);
36
37   Handle(GEOM_Object) MakeSketcher (const char* theCommand, list<double> theWorkingPlane);
38   Handle(GEOM_Object) MakeSketcherOnPlane (const char*         theCommand,
39                                            Handle(GEOM_Object) theWorkingPlane);
40 };
41
42 #endif