Salome HOME
Merge with version on tag OCC-V2_1_0d
[modules/geom.git] / src / GEOM_I / GEOM_I3DPrimOperations_i.hh
1
2 #ifndef _GEOM_I3DPrimOperations_i_HeaderFile
3 #define _GEOM_I3DPrimOperations_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_I3DPrimOperations.hxx"
13
14 class GEOM_I3DPrimOperations_i :
15     public virtual POA_GEOM::GEOM_I3DPrimOperations,
16     public virtual GEOM_IOperations_i
17 {
18  public:
19   GEOM_I3DPrimOperations_i (PortableServer::POA_ptr thePOA, GEOM::GEOM_Gen_ptr theEngine,
20                             ::GEOMImpl_I3DPrimOperations* theImpl);
21   ~GEOM_I3DPrimOperations_i();
22
23   GEOM::GEOM_Object_ptr MakeBoxDXDYDZ (CORBA::Double theDX,
24                                        CORBA::Double theDY,
25                                        CORBA::Double theDZ);
26
27   GEOM::GEOM_Object_ptr MakeBoxTwoPnt (GEOM::GEOM_Object_ptr thePnt1,
28                                        GEOM::GEOM_Object_ptr thePnt2);
29
30   GEOM::GEOM_Object_ptr MakeCylinderRH (CORBA::Double theR,
31                                         CORBA::Double theH);
32
33   GEOM::GEOM_Object_ptr MakeCylinderPntVecRH (GEOM::GEOM_Object_ptr thePnt,
34                                               GEOM::GEOM_Object_ptr theVec,
35                                               CORBA::Double theR,
36                                               CORBA::Double theH);
37
38   GEOM::GEOM_Object_ptr MakeConeR1R2H (CORBA::Double theR1,
39                                        CORBA::Double theR2,
40                                        CORBA::Double theH);
41
42   GEOM::GEOM_Object_ptr MakeConePntVecR1R2H (GEOM::GEOM_Object_ptr thePnt,
43                                              GEOM::GEOM_Object_ptr theVec,
44                                              CORBA::Double theR1,
45                                              CORBA::Double theR2,
46                                              CORBA::Double theH);
47
48   GEOM::GEOM_Object_ptr MakeSphereR (CORBA::Double theR);
49
50   GEOM::GEOM_Object_ptr MakeSpherePntR (GEOM::GEOM_Object_ptr thePnt,
51                                         CORBA::Double theR);
52
53   GEOM::GEOM_Object_ptr MakeTorusRR (CORBA::Double theRMajor,
54                                      CORBA::Double theRMinor);
55
56   GEOM::GEOM_Object_ptr MakeTorusPntVecRR (GEOM::GEOM_Object_ptr theCenter,
57                                            GEOM::GEOM_Object_ptr theVector,
58                                            CORBA::Double theRMajor,
59                                            CORBA::Double theRMinor);
60
61   GEOM::GEOM_Object_ptr MakePrismVecH (GEOM::GEOM_Object_ptr theBase,
62                                        GEOM::GEOM_Object_ptr theVec,
63                                        CORBA::Double theH);
64
65   GEOM::GEOM_Object_ptr MakePrismTwoPnt (GEOM::GEOM_Object_ptr theBase,
66                                          GEOM::GEOM_Object_ptr thePoint1,
67                                          GEOM::GEOM_Object_ptr thePoint2);
68
69   GEOM::GEOM_Object_ptr MakePipe (GEOM::GEOM_Object_ptr theBase,
70                                   GEOM::GEOM_Object_ptr thePath);
71
72   GEOM::GEOM_Object_ptr MakeRevolutionAxisAngle (GEOM::GEOM_Object_ptr theBase,
73                                                  GEOM::GEOM_Object_ptr theAxis,
74                                                  CORBA::Double theAngle);
75
76   GEOM::GEOM_Object_ptr MakeFilling(GEOM::GEOM_Object_ptr theShape, CORBA::Long theMinDeg, CORBA::Long theMaxDeg, CORBA::Double theTol2D, CORBA::Double theTol3D, CORBA::Long theNbIter);
77
78   ::GEOMImpl_I3DPrimOperations* GetOperations()
79   { return (::GEOMImpl_I3DPrimOperations*)GetImpl(); }
80 };
81
82 #endif