Salome HOME
f769acd586f3a55d8b4868e05b3578204817ecf8
[modules/geom.git] / src / GEOM_I / GEOM_wrap.hxx
1 // Copyright (C) 2007-2023  CEA/DEN, EDF R&D, OPEN CASCADE
2 //
3 // Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
4 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
5 //
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.
10 //
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.
15 //
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
19 //
20 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
21 //
22 // File      : GEOM_wrap.hxx
23 // Created   : Mon Dec 24 14:39:49 2012
24 // Author    : Edward AGAPOV (eap)
25
26
27 #ifndef __GEOM_wrap_HXX__
28 #define __GEOM_wrap_HXX__
29
30 #include <SALOME_GenericObj_wrap.hxx>
31
32 namespace GEOM
33 {
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).
40   //
41   class GEOM_BasicObject;
42   class GEOM_Object;
43   class GEOM_Field;
44   class GEOM_FieldStep;
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;
49   //
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;
77 }
78
79 #endif