Salome HOME
631559b8a808e5effd3c3e6ec6ef01a900117bba
[modules/geom.git] / src / GEOMImpl / GEOMImpl_IBasicOperations.hxx
1
2 #ifndef _GEOMImpl_IBasicOperations_HXX_
3 #define _GEOMImpl_IBasicOperations_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 class GEOMImpl_IBasicOperations : public GEOM_IOperations {
12  public:
13   Standard_EXPORT GEOMImpl_IBasicOperations(GEOM_Engine* theEngine, int theDocID);
14   Standard_EXPORT ~GEOMImpl_IBasicOperations();
15
16   // Point
17   Standard_EXPORT Handle(GEOM_Object) MakePointXYZ (double theX, double theY, double theZ);
18
19   Standard_EXPORT Handle(GEOM_Object) MakePointWithReference (Handle(GEOM_Object) theReference,
20                                               double theX, double theY, double theZ);
21
22   Standard_EXPORT Handle(GEOM_Object) MakePointOnCurve (Handle(GEOM_Object) theCurve,
23                                         double theParameter);
24
25   // Vector
26   Standard_EXPORT Handle(GEOM_Object) MakeVectorDXDYDZ (double theDX, double theDY, double theDZ);
27
28   Standard_EXPORT Handle(GEOM_Object) MakeVectorTwoPnt (Handle(GEOM_Object) thePnt1,
29                                         Handle(GEOM_Object) thePnt2);
30
31   // Line
32   Standard_EXPORT Handle(GEOM_Object) MakeLineTwoPnt (Handle(GEOM_Object) thePnt1,
33                                       Handle(GEOM_Object) thePnt2);
34
35   Standard_EXPORT Handle(GEOM_Object) MakeLine (Handle(GEOM_Object) thePnt,
36                                 Handle(GEOM_Object) theDir);
37
38   // Plane
39   Standard_EXPORT Handle(GEOM_Object) MakePlaneThreePnt (Handle(GEOM_Object) thePnt1,
40                                          Handle(GEOM_Object) thePnt2,
41                                          Handle(GEOM_Object) thePnt3,
42                                          double theSize);
43
44   Standard_EXPORT Handle(GEOM_Object) MakePlanePntVec (Handle(GEOM_Object) thePnt,
45                                        Handle(GEOM_Object) theVec,
46                                        double theSize);
47
48   Standard_EXPORT Handle(GEOM_Object) MakePlaneFace (Handle(GEOM_Object) theFace, double theSize);
49
50   // Marker
51   Standard_EXPORT Handle(GEOM_Object) MakeMarker (double theOX,  double theOY,  double theOZ,
52                                   double theXDX, double theXDY, double theXDZ,
53                                   double theYDX, double theYDY, double theYDZ);
54 };
55
56 #endif