Salome HOME
5bedb15a904bff7c6917978ba0aa9284cd08c602
[modules/geom.git] / src / GEOM_I / GEOM_IBasicOperations_i.hh
1
2 #ifndef _GEOM_IBasicOperations_i_HeaderFile
3 #define _GEOM_IBasicOperations_i_HeaderFile
4
5
6 #include <SALOMEconfig.h>
7
8 #include CORBA_SERVER_HEADER(GEOM_Gen)
9 #include "GEOM_IOperations_i.hh"
10 #include "GEOM_Object_i.hh"
11
12 #include "GEOMImpl_IBasicOperations.hxx"
13
14 class GEOM_IBasicOperations_i :
15     public virtual POA_GEOM::GEOM_IBasicOperations,
16     public virtual GEOM_IOperations_i
17 {
18  public:
19    GEOM_IBasicOperations_i (PortableServer::POA_ptr thePOA,
20                             GEOM::GEOM_Gen_ptr theEngine,
21                             ::GEOMImpl_IBasicOperations* theImpl);
22    ~GEOM_IBasicOperations_i();
23
24    GEOM::GEOM_Object_ptr MakePointXYZ (CORBA::Double theX,
25                                        CORBA::Double theY,
26                                        CORBA::Double theZ);
27
28    GEOM::GEOM_Object_ptr MakePointWithReference (GEOM::GEOM_Object_ptr theReference,
29                                                  CORBA::Double theX,
30                                                  CORBA::Double theY,
31                                                  CORBA::Double theZ);
32
33    GEOM::GEOM_Object_ptr MakePointOnCurve (GEOM::GEOM_Object_ptr theCurve,
34                                            CORBA::Double theParameter);
35
36    GEOM::GEOM_Object_ptr MakeVectorDXDYDZ (CORBA::Double theDX,
37                                            CORBA::Double theDY,
38                                            CORBA::Double theDZ);
39
40    GEOM::GEOM_Object_ptr MakeVectorTwoPnt (GEOM::GEOM_Object_ptr thePnt1,
41                                            GEOM::GEOM_Object_ptr thePnt2);
42
43    GEOM::GEOM_Object_ptr MakeLine (GEOM::GEOM_Object_ptr thePnt,
44                                    GEOM::GEOM_Object_ptr theDir);
45
46    GEOM::GEOM_Object_ptr MakeLineTwoPnt (GEOM::GEOM_Object_ptr thePnt1,
47                                          GEOM::GEOM_Object_ptr thePnt2);
48
49    GEOM::GEOM_Object_ptr MakePlaneThreePnt (GEOM::GEOM_Object_ptr thePnt1,
50                                             GEOM::GEOM_Object_ptr thePnt2,
51                                             GEOM::GEOM_Object_ptr thePnt3,
52                                             CORBA::Double theTrimSize);
53
54    GEOM::GEOM_Object_ptr MakePlanePntVec (GEOM::GEOM_Object_ptr thePnt,
55                                           GEOM::GEOM_Object_ptr theVec,
56                                           CORBA::Double theTrimSize);
57
58    GEOM::GEOM_Object_ptr MakePlaneFace (GEOM::GEOM_Object_ptr theFace,
59                                         CORBA::Double theTrimSize);
60
61    GEOM::GEOM_Object_ptr MakeMarker (CORBA::Double theOX , CORBA::Double theOY , CORBA::Double theOZ,
62                                      CORBA::Double theXDX, CORBA::Double theXDY, CORBA::Double theXDZ,
63                                      CORBA::Double theYDX, CORBA::Double theYDY, CORBA::Double theYDZ);
64
65    ::GEOMImpl_IBasicOperations* GetOperations() { return (::GEOMImpl_IBasicOperations*)GetImpl(); }
66 };
67
68 #endif