@@ -23,6 +23,8 @@ along with pythonOCC. If not, see <http://www.gnu.org/licenses/>.
2323#include < TopoDS.hxx>
2424%}
2525
26+ %include <typemaps.i>
27+
2628/*
2729Standard_Real & function transformation
2830*/
@@ -104,60 +106,6 @@ Standard_Boolean & function transformation
104106 $1 = &temp;
105107}
106108
107- /*
108- FairCurve_Analysis & function transformation
109- */
110- %typemap(argout) FairCurve_AnalysisCode &OutValue {
111- PyObject *o, *o2, *o3;
112- o = PyInt_FromLong (*$1 );
113- if ((!$result) || ($result == Py_None)) {
114- $result = o;
115- } else {
116- if (!PyTuple_Check ($result)) {
117- PyObject *o2 = $result;
118- $result = PyTuple_New (1 );
119- PyTuple_SetItem ($result,0 ,o2);
120- }
121- o3 = PyTuple_New (1 );
122- PyTuple_SetItem (o3,0 ,o);
123- o2 = $result;
124- $result = PySequence_Concat (o2,o3);
125- Py_DECREF (o2);
126- Py_DECREF (o3);
127- }
128- }
129-
130- %typemap(in,numinputs=0 ) FairCurve_AnalysisCode &OutValue (FairCurve_AnalysisCode temp) {
131- $1 = &temp;
132- }
133-
134- /*
135- TopAbs_Orientation & function transformation
136- */
137- %typemap(argout) TopAbs_Orientation &OutValue {
138- PyObject *o, *o2, *o3;
139- o = PyInt_FromLong (*$1 );
140- if ((!$result) || ($result == Py_None)) {
141- $result = o;
142- } else {
143- if (!PyTuple_Check ($result)) {
144- PyObject *o2 = $result;
145- $result = PyTuple_New (1 );
146- PyTuple_SetItem ($result,0 ,o2);
147- }
148- o3 = PyTuple_New (1 );
149- PyTuple_SetItem (o3,0 ,o);
150- o2 = $result;
151- $result = PySequence_Concat (o2,o3);
152- Py_DECREF (o2);
153- Py_DECREF (o3);
154- }
155- }
156-
157- %typemap(in,numinputs=0 ) TopAbs_Orientation &OutValue (TopAbs_Orientation temp) {
158- $1 = &temp;
159- }
160-
161109%typemap(out) TopoDS_Shape {
162110 TopoDS_Shape* sh = &$1 ;
163111 PyObject *resultobj = 0 ;
@@ -240,3 +188,31 @@ TopAbs_Orientation & function transformation
240188 }
241189 return resultobj;
242190}
191+
192+
193+ %define ENUM_OUTPUT_TYPEMAPS (TYPE)
194+
195+ %typemap(in,numinputs=0 ) TYPE &OutValue(TYPE temp) {
196+ $1 = &temp;
197+ }
198+
199+ %typemap(argout) TYPE &OutValue {
200+ PyObject *o, *o2, *o3;
201+ o = PyInt_FromLong (*$1 );
202+ if ((!$result) || ($result == Py_None)) {
203+ $result = o;
204+ } else {
205+ if (!PyTuple_Check ($result)) {
206+ PyObject *o2 = $result;
207+ $result = PyTuple_New (1 );
208+ PyTuple_SetItem ($result,0 ,o2);
209+ }
210+ o3 = PyTuple_New (1 );
211+ PyTuple_SetItem (o3,0 ,o);
212+ o2 = $result;
213+ $result = PySequence_Concat (o2,o3);
214+ Py_DECREF (o2);
215+ Py_DECREF (o3);
216+ }
217+ }
218+ %enddef
0 commit comments