1 // Copyright (C) 2007-2016 CEA/DEN, EDF R&D, OPEN CASCADE
3 // Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
4 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
6 // This library is free software; you can redistribute it and/or
7 // modify it under the terms of the GNU Lesser General Public
8 // License as published by the Free Software Foundation; either
9 // version 2.1 of the License, or (at your option) any later version.
11 // This library is distributed in the hope that it will be useful,
12 // but WITHOUT ANY WARRANTY; without even the implied warranty of
13 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 // Lesser General Public License for more details.
16 // You should have received a copy of the GNU Lesser General Public
17 // License along with this library; if not, write to the Free Software
18 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
20 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
22 // File : GEOM_wrap.hxx
23 // Created : Mon Dec 24 14:39:49 2012
24 // Author : Edward AGAPOV (eap)
27 #ifndef __GEOM_wrap_HXX__
28 #define __GEOM_wrap_HXX__
30 #include <SALOME_GenericObj_wrap.hxx>
34 // Declare a type GEOM::GEOM_Object_wrap to replace GEOM::GEOM_Object_var,
35 // to be used in the case if a new GEOM_Object is received, in which case
36 // obj->UnRegister() must be called to avoid a memory leak.
37 // The GEOM::GEOM_Object_wrap object calls UnRegister() at destruction.
38 // A simple rule: use GEOM::GEOM_Object_wrap if an object is returned by a
39 // GEOM operation (GEOM::GEOM_IBasicOperations etc).
41 class GEOM_BasicObject;
45 typedef SALOME::GenericObj_wrap< GEOM_BasicObject > GEOM_BaseObject_wrap;
46 typedef SALOME::GenericObj_wrap< GEOM_Object > GEOM_Object_wrap;
47 typedef SALOME::GenericObj_wrap< GEOM_Field > GEOM_Field_wrap;
48 typedef SALOME::GenericObj_wrap< GEOM_FieldStep > GEOM_FieldStep_wrap;
50 // wrappers of operations
51 class GEOM_IBasicOperations;
52 class GEOM_ITransformOperations;
53 class GEOM_I3DPrimOperations;
54 class GEOM_IShapesOperations;
55 class GEOM_IBlocksOperations;
56 class GEOM_IBooleanOperations;
57 class GEOM_ICurvesOperations;
58 class GEOM_ILocalOperations;
59 class GEOM_IHealingOperations;
60 class GEOM_IInsertOperations;
61 class GEOM_IMeasureOperations;
62 class GEOM_IGroupOperations;
63 class GEOM_IFieldOperations;
64 typedef SALOME::GenericObj_wrap< GEOM_IBasicOperations > GEOM_IBasicOperations_wrap;
65 typedef SALOME::GenericObj_wrap< GEOM_ITransformOperations> GEOM_ITransformOperations_wrap;
66 typedef SALOME::GenericObj_wrap< GEOM_I3DPrimOperations > GEOM_I3DPrimOperations_wrap;
67 typedef SALOME::GenericObj_wrap< GEOM_IShapesOperations > GEOM_IShapesOperations_wrap;
68 typedef SALOME::GenericObj_wrap< GEOM_IBlocksOperations > GEOM_IBlocksOperations_wrap;
69 typedef SALOME::GenericObj_wrap< GEOM_IBooleanOperations > GEOM_IBooleanOperations_wrap;
70 typedef SALOME::GenericObj_wrap< GEOM_ICurvesOperations > GEOM_ICurvesOperations_wrap;
71 typedef SALOME::GenericObj_wrap< GEOM_ILocalOperations > GEOM_ILocalOperations_wrap;
72 typedef SALOME::GenericObj_wrap< GEOM_IHealingOperations > GEOM_IHealingOperations_wrap;
73 typedef SALOME::GenericObj_wrap< GEOM_IInsertOperations > GEOM_IInsertOperations_wrap;
74 typedef SALOME::GenericObj_wrap< GEOM_IMeasureOperations > GEOM_IMeasureOperations_wrap;
75 typedef SALOME::GenericObj_wrap< GEOM_IGroupOperations > GEOM_IGroupOperations_wrap;
76 typedef SALOME::GenericObj_wrap< GEOM_IFieldOperations > GEOM_IFieldOperations_wrap;