Back to index

salome-geom  6.5.0
GEOM_ILocalOperations_i.hh
Go to the documentation of this file.
00001 // Copyright (C) 2007-2012  CEA/DEN, EDF R&D, OPEN CASCADE
00002 //
00003 // Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
00004 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
00005 //
00006 // This library is free software; you can redistribute it and/or
00007 // modify it under the terms of the GNU Lesser General Public
00008 // License as published by the Free Software Foundation; either
00009 // version 2.1 of the License.
00010 //
00011 // This library is distributed in the hope that it will be useful,
00012 // but WITHOUT ANY WARRANTY; without even the implied warranty of
00013 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00014 // Lesser General Public License for more details.
00015 //
00016 // You should have received a copy of the GNU Lesser General Public
00017 // License along with this library; if not, write to the Free Software
00018 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
00019 //
00020 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
00021 //
00022 
00023 #ifndef _GEOM_ILocalOperations_i_HeaderFile
00024 #define _GEOM_ILocalOperations_i_HeaderFile
00025 
00026 #include "GEOMImpl_Gen.hxx"
00027 
00028 #include <SALOMEconfig.h>
00029 
00030 #include CORBA_SERVER_HEADER(GEOM_Gen)
00031 #include "GEOM_IOperations_i.hh"
00032 #include "GEOM_Object_i.hh"
00033 
00034 #include "GEOMImpl_ILocalOperations.hxx"
00035 
00036 class GEOM_I_EXPORT GEOM_ILocalOperations_i : 
00037     public virtual POA_GEOM::GEOM_ILocalOperations,
00038     public virtual GEOM_IOperations_i
00039 {
00040  public:
00041   GEOM_ILocalOperations_i (PortableServer::POA_ptr thePOA, GEOM::GEOM_Gen_ptr theEngine,
00042                         ::GEOMImpl_ILocalOperations* theImpl);
00043   ~GEOM_ILocalOperations_i();
00044 
00045   GEOM::GEOM_Object_ptr MakeFilletAll   (GEOM::GEOM_Object_ptr theShape,
00046                                     CORBA::Double theR);
00047 
00048   GEOM::GEOM_Object_ptr MakeFilletEdges (GEOM::GEOM_Object_ptr theShape, CORBA::Double theR,
00049                                     const GEOM::ListOfLong& theEdges);
00050 
00051   GEOM::GEOM_Object_ptr MakeFilletEdgesR1R2 (GEOM::GEOM_Object_ptr theShape,
00052                                              CORBA::Double theR1,
00053                                              CORBA::Double theR2,
00054                                         const GEOM::ListOfLong& theEdges);
00055 
00056   GEOM::GEOM_Object_ptr MakeFilletFaces (GEOM::GEOM_Object_ptr theShape, CORBA::Double theR,
00057                                     const GEOM::ListOfLong& theFaces);
00058 
00059   GEOM::GEOM_Object_ptr MakeFilletFacesR1R2 (GEOM::GEOM_Object_ptr theShape,
00060                                              CORBA::Double theR1,
00061                                              CORBA::Double theR2,
00062                                         const GEOM::ListOfLong& theFaces);
00063                                         
00064   GEOM::GEOM_Object_ptr MakeFillet2D (GEOM::GEOM_Object_ptr theShape, CORBA::Double theR,
00065                                   const GEOM::ListOfLong& theVertexes);
00066 
00067   GEOM::GEOM_Object_ptr MakeFillet1D (GEOM::GEOM_Object_ptr theShape, CORBA::Double theR,
00068                                   const GEOM::ListOfLong& theVertexes);
00069 
00070   GEOM::GEOM_Object_ptr MakeChamferAll   (GEOM::GEOM_Object_ptr theShape, CORBA::Double theD);
00071 
00072   GEOM::GEOM_Object_ptr MakeChamferEdge  (GEOM::GEOM_Object_ptr theShape,
00073                                      CORBA::Double theD1, CORBA::Double theD2,
00074                                      CORBA::Long theFace1, CORBA::Long theFace2);
00075 
00076   GEOM::GEOM_Object_ptr MakeChamferEdgeAD  (GEOM::GEOM_Object_ptr theShape,
00077                                        CORBA::Double theD, CORBA::Double theAngle,
00078                                        CORBA::Long theFace1, CORBA::Long theFace2);
00079 
00080   GEOM::GEOM_Object_ptr MakeChamferFaces (GEOM::GEOM_Object_ptr theShape,
00081                                      CORBA::Double theD1, CORBA::Double theD2,
00082                                      const GEOM::ListOfLong& theFaces);
00083 
00084   GEOM::GEOM_Object_ptr MakeChamferFacesAD (GEOM::GEOM_Object_ptr theShape,
00085                                        CORBA::Double theD, CORBA::Double theAngle,
00086                                        const GEOM::ListOfLong& theFaces);
00087 
00088   GEOM::GEOM_Object_ptr MakeChamferEdges (GEOM::GEOM_Object_ptr theShape,
00089                                      CORBA::Double theD1, CORBA::Double theD2,
00090                                      const GEOM::ListOfLong& theEdges);
00091 
00092   GEOM::GEOM_Object_ptr MakeChamferEdgesAD (GEOM::GEOM_Object_ptr theShape,
00093                                        CORBA::Double theD, CORBA::Double theAngle,
00094                                        const GEOM::ListOfLong& theEdges);
00095 
00096   GEOM::GEOM_Object_ptr MakeArchimede (GEOM::GEOM_Object_ptr theShape,
00097                                        CORBA::Double theWeight,
00098                                    CORBA::Double theWaterDensity,
00099                                    CORBA::Double theMeshingDeflection);
00100 
00101   CORBA::Long GetSubShapeIndex (GEOM::GEOM_Object_ptr theShape,
00102                             GEOM::GEOM_Object_ptr theSubShape);
00103 
00104   ::GEOMImpl_ILocalOperations* GetOperations()
00105   { return (::GEOMImpl_ILocalOperations*)GetImpl(); }
00106 };
00107 
00108 #endif