Salome HOME
d904a834615e97aab50b0714abb71b83011a0bc3
[modules/geom.git] / src / XAO_Swig / xao.i
1 // Copyright (C) 2012-2023  CEA, EDF, OPEN CASCADE
2 //
3 // This library is free software; you can redistribute it and/or
4 // modify it under the terms of the GNU Lesser General Public
5 // License as published by the Free Software Foundation; either
6 // version 2.1 of the License, or (at your option) any later version.
7 //
8 // This library is distributed in the hope that it will be useful,
9 // but WITHOUT ANY WARRANTY; without even the implied warranty of
10 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
11 // Lesser General Public License for more details.
12 //
13 // You should have received a copy of the GNU Lesser General Public
14 // License along with this library; if not, write to the Free Software
15 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
16 //
17 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
18 //
19
20 %module xao
21 %{
22 #include "XAO.hxx"
23 #include "XAO_Exception.hxx"
24 #include "XAO_XaoUtils.hxx"
25 #include "XAO_Xao.hxx"
26 #include "XAO_GeometricElement.hxx"
27 #include "XAO_Geometry.hxx"
28 #include "XAO_BrepGeometry.hxx"
29 #include "XAO_Group.hxx"
30 #include "XAO_Field.hxx"
31 #include "XAO_Step.hxx"
32 #include "XAO_BooleanField.hxx"
33 #include "XAO_DoubleField.hxx"
34 #include "XAO_IntegerField.hxx"
35 #include "XAO_StringField.hxx"
36 #include "XAO_BooleanStep.hxx"
37 #include "XAO_DoubleStep.hxx"
38 #include "XAO_IntegerStep.hxx"
39 #include "XAO_StringStep.hxx"
40 %}
41
42 %include "std_string.i"
43 %include "std_vector.i"
44 %include "std_list.i"
45 %include "std_map.i"
46 %include "std_set.i"
47 %include "exception.i"
48 namespace std
49 {
50 %template(ListGroup)    list<XAO::Group*>;
51 %template(ListField)    list<XAO::Field*>;
52 %template(VectorStep)   vector<XAO::Step*>;
53 %template(SetInt)       set<int>;
54
55 %template(VectorBoolean)    vector<bool>;
56 %template(VectorInteger)    vector<int>;
57 %template(VectorDouble)     vector<double>;
58 %template(VectorString)     vector<string>;
59
60 %template(VectorVectorBoolean)  vector< vector<bool> >;
61 %template(VectorVectorInteger)  vector< vector<int> >;
62 %template(VectorVectorDouble)   vector< vector<double> >;
63 %template(VectorVectorString)   vector< vector<string> >;
64 }
65
66 %ignore XAO::Xao::addField;
67 %ignore XAO::Xao::getField;
68 %ignore XAO::MsgBuilder;
69 %ignore XAO::XaoUtils;
70
71 %include "XAO.hxx"
72 %include XAO_Exception.hxx
73 %include XAO_XaoUtils.hxx
74
75 %include XAO_Step.hxx
76 %include XAO_BooleanStep.hxx
77 %include XAO_DoubleStep.hxx
78 %include XAO_IntegerStep.hxx
79 %include XAO_StringStep.hxx
80
81 %include XAO_Field.hxx
82 %include XAO_BooleanField.hxx
83 %include XAO_DoubleField.hxx
84 %include XAO_IntegerField.hxx
85 %include XAO_StringField.hxx
86
87 %include XAO_Group.hxx
88
89 %include XAO_GeometricElement.hxx
90 %include XAO_Geometry.hxx
91 %include XAO_BrepGeometry.hxx
92 %include XAO_Xao.hxx
93