2 * FILE : contrib/ogl/ogl.cpp
4 * This file was automatically generated by :
5 * Simplified Wrapper and Interface Generator (SWIG)
6 * Version 1.1 (Build 883)
8 * Portions Copyright (c) 1995-1998
9 * The University of Utah and The Regents of the University of California.
10 * Permission is granted to distribute this file in any manner provided
11 * this notice remains intact.
13 * Do not make changes to this file--changes will be lost!
19 /* Implementation : PYTHON */
24 /* Definitions for Windows/Unix exporting */
25 #if defined(__WIN32__)
26 # if defined(_MSC_VER)
27 # define SWIGEXPORT(a) __declspec(dllexport) a
29 # if defined(__BORLANDC__)
30 # define SWIGEXPORT(a) a _export
32 # define SWIGEXPORT(a) a
36 # define SWIGEXPORT(a) a
45 extern void SWIG_MakePtr(char *, void *, char *);
46 extern void SWIG_RegisterMapping(char *, char *, void *(*)(void *));
47 extern char *SWIG_GetPtr(char *, void **, char *);
48 extern char *SWIG_GetPtrObj(PyObject
*, void **, char *);
49 extern void SWIG_addvarlink(PyObject
*, char *, PyObject
*(*)(void), int (*)(PyObject
*));
50 extern PyObject
*SWIG_newvarlink(void);
54 #define SWIG_init initoglc
56 #define SWIG_name "oglc"
59 #include "oglhelpers.h"
62 static PyObject
* t_output_helper(PyObject
* target
, PyObject
* o
) {
68 } else if (target
== Py_None
) {
72 if (!PyTuple_Check(target
)) {
74 target
= PyTuple_New(1);
75 PyTuple_SetItem(target
, 0, o2
);
78 PyTuple_SetItem(o3
, 0, o
);
81 target
= PySequence_Concat(o2
, o3
);
88 #if PYTHON_API_VERSION >= 1009
89 static char* wxStringErrorMsg
= "String or Unicode type required";
91 static char* wxStringErrorMsg
= "string type is required for parameter";
94 //---------------------------------------------------------------------------
95 // This one will work for any class for the VERY generic cases, but beyond that
96 // the helper needs to know more about the type.
98 wxList
* wxPy_wxListHelper(PyObject
* pyList
, char* className
) {
99 wxPyTState
* state
= wxPyBeginBlockThreads();
100 if (!PyList_Check(pyList
)) {
101 PyErr_SetString(PyExc_TypeError
, "Expected a list object.");
102 wxPyEndBlockThreads(state
);
105 int count
= PyList_Size(pyList
);
106 wxList
* list
= new wxList
;
108 PyErr_SetString(PyExc_MemoryError
, "Unable to allocate wxList object");
109 wxPyEndBlockThreads(state
);
112 for (int x
=0; x
<count
; x
++) {
113 PyObject
* pyo
= PyList_GetItem(pyList
, x
);
114 wxObject
* wxo
= NULL
;
116 if (SWIG_GetPtrObj(pyo
, (void **)&wxo
, className
)) {
118 sprintf(errmsg
, "Type error, expected list of %s objects", className
);
119 PyErr_SetString(PyExc_TypeError
, errmsg
);
120 wxPyEndBlockThreads(state
);
125 wxPyEndBlockThreads(state
);
129 //---------------------------------------------------------------------------
131 wxList
* wxPy_wxRealPoint_ListHelper(PyObject
* pyList
) {
132 wxPyTState
* state
= wxPyBeginBlockThreads();
133 if (!PyList_Check(pyList
)) {
134 PyErr_SetString(PyExc_TypeError
, "Expected a list object.");
135 wxPyEndBlockThreads(state
);
138 int count
= PyList_Size(pyList
);
139 wxList
* list
= new wxList
;
141 PyErr_SetString(PyExc_MemoryError
, "Unable to allocate wxList object");
142 wxPyEndBlockThreads(state
);
145 for (int x
=0; x
<count
; x
++) {
146 PyObject
* pyo
= PyList_GetItem(pyList
, x
);
148 if (PyTuple_Check(pyo
)) {
149 PyObject
* o1
= PyNumber_Float(PyTuple_GetItem(pyo
, 0));
150 PyObject
* o2
= PyNumber_Float(PyTuple_GetItem(pyo
, 1));
152 double val1
= (o1
? PyFloat_AsDouble(o1
) : 0.0);
153 double val2
= (o2
? PyFloat_AsDouble(o2
) : 0.0);
155 list
->Append((wxObject
*) new wxRealPoint(val1
, val2
));
158 wxRealPoint
* wxo
= NULL
;
159 if (SWIG_GetPtrObj(pyo
, (void **)&wxo
, "_wxRealPoint_p")) {
160 PyErr_SetString(PyExc_TypeError
, "Type error, expected list of wxRealPoint objects or 2-tuples");
161 wxPyEndBlockThreads(state
);
164 list
->Append((wxObject
*) new wxRealPoint(*wxo
));
167 wxPyEndBlockThreads(state
);
172 //---------------------------------------------------------------------------
174 IMPLEMENT_DYNAMIC_CLASS(wxPyShapeCanvas
, wxShapeCanvas
);
175 IMPLEMENT_DYNAMIC_CLASS(wxPyShapeEvtHandler
, wxShapeEvtHandler
);
176 IMPLEMENT_ABSTRACT_CLASS(wxPyShape
, wxShape
);
177 IMPLEMENT_DYNAMIC_CLASS(wxPyRectangleShape
, wxRectangleShape
);
178 IMPLEMENT_DYNAMIC_CLASS(wxPyControlPoint
, wxControlPoint
);
179 IMPLEMENT_DYNAMIC_CLASS(wxPyBitmapShape
, wxBitmapShape
);
180 IMPLEMENT_DYNAMIC_CLASS(wxPyDrawnShape
, wxDrawnShape
);
181 IMPLEMENT_DYNAMIC_CLASS(wxPyCompositeShape
, wxCompositeShape
);
182 IMPLEMENT_DYNAMIC_CLASS(wxPyDividedShape
, wxDividedShape
);
183 IMPLEMENT_DYNAMIC_CLASS(wxPyDivisionShape
, wxDivisionShape
);
184 IMPLEMENT_DYNAMIC_CLASS(wxPyEllipseShape
, wxEllipseShape
);
185 IMPLEMENT_DYNAMIC_CLASS(wxPyCircleShape
, wxCircleShape
);
186 IMPLEMENT_DYNAMIC_CLASS(wxPyLineShape
, wxLineShape
);
187 IMPLEMENT_DYNAMIC_CLASS(wxPyPolygonShape
, wxPolygonShape
);
188 IMPLEMENT_DYNAMIC_CLASS(wxPyTextShape
, wxTextShape
);
190 //---------------------------------------------------------------------------
192 extern "C" SWIGEXPORT(void) initoglbasicc();
193 extern "C" SWIGEXPORT(void) initoglshapesc();
194 extern "C" SWIGEXPORT(void) initoglshapes2c();
195 extern "C" SWIGEXPORT(void) initoglcanvasc();
199 static PyObject
*_wrap_wxOGLInitialize(PyObject
*self
, PyObject
*args
, PyObject
*kwargs
) {
200 PyObject
* _resultobj
;
201 char *_kwnames
[] = { NULL
};
204 if(!PyArg_ParseTupleAndKeywords(args
,kwargs
,":wxOGLInitialize",_kwnames
))
207 wxPy_BEGIN_ALLOW_THREADS
;
210 wxPy_END_ALLOW_THREADS
;
211 } Py_INCREF(Py_None
);
212 _resultobj
= Py_None
;
216 static PyObject
*_wrap_wxOGLCleanUp(PyObject
*self
, PyObject
*args
, PyObject
*kwargs
) {
217 PyObject
* _resultobj
;
218 char *_kwnames
[] = { NULL
};
221 if(!PyArg_ParseTupleAndKeywords(args
,kwargs
,":wxOGLCleanUp",_kwnames
))
224 wxPy_BEGIN_ALLOW_THREADS
;
227 wxPy_END_ALLOW_THREADS
;
228 } Py_INCREF(Py_None
);
229 _resultobj
= Py_None
;
233 static PyMethodDef oglcMethods
[] = {
234 { "wxOGLCleanUp", (PyCFunction
) _wrap_wxOGLCleanUp
, METH_VARARGS
| METH_KEYWORDS
},
235 { "wxOGLInitialize", (PyCFunction
) _wrap_wxOGLInitialize
, METH_VARARGS
| METH_KEYWORDS
},
242 * This table is used by the pointer type-checker
244 static struct { char *n1
; char *n2
; void *(*pcnv
)(void *); } _swig_mapping
[] = {
245 { "_signed_long","_long",0},
246 { "_wxPrintQuality","_wxCoord",0},
247 { "_wxPrintQuality","_int",0},
248 { "_wxPrintQuality","_signed_int",0},
249 { "_wxPrintQuality","_unsigned_int",0},
250 { "_wxPrintQuality","_wxWindowID",0},
251 { "_wxPrintQuality","_uint",0},
252 { "_wxPrintQuality","_EBool",0},
253 { "_wxPrintQuality","_size_t",0},
254 { "_wxPrintQuality","_time_t",0},
255 { "_byte","_unsigned_char",0},
256 { "_long","_unsigned_long",0},
257 { "_long","_signed_long",0},
258 { "_size_t","_wxCoord",0},
259 { "_size_t","_wxPrintQuality",0},
260 { "_size_t","_time_t",0},
261 { "_size_t","_unsigned_int",0},
262 { "_size_t","_int",0},
263 { "_size_t","_wxWindowID",0},
264 { "_size_t","_uint",0},
265 { "_uint","_wxCoord",0},
266 { "_uint","_wxPrintQuality",0},
267 { "_uint","_time_t",0},
268 { "_uint","_size_t",0},
269 { "_uint","_unsigned_int",0},
271 { "_uint","_wxWindowID",0},
272 { "_wxChar","_char",0},
273 { "_char","_wxChar",0},
274 { "_struct_wxNativeFontInfo","_wxNativeFontInfo",0},
275 { "_EBool","_wxCoord",0},
276 { "_EBool","_wxPrintQuality",0},
277 { "_EBool","_signed_int",0},
278 { "_EBool","_int",0},
279 { "_EBool","_wxWindowID",0},
280 { "_unsigned_long","_long",0},
281 { "_wxNativeFontInfo","_struct_wxNativeFontInfo",0},
282 { "_signed_int","_wxCoord",0},
283 { "_signed_int","_wxPrintQuality",0},
284 { "_signed_int","_EBool",0},
285 { "_signed_int","_wxWindowID",0},
286 { "_signed_int","_int",0},
287 { "_WXTYPE","_wxDateTime_t",0},
288 { "_WXTYPE","_short",0},
289 { "_WXTYPE","_signed_short",0},
290 { "_WXTYPE","_unsigned_short",0},
291 { "_unsigned_short","_wxDateTime_t",0},
292 { "_unsigned_short","_WXTYPE",0},
293 { "_unsigned_short","_short",0},
294 { "_signed_short","_WXTYPE",0},
295 { "_signed_short","_short",0},
296 { "_unsigned_char","_byte",0},
297 { "_unsigned_int","_wxCoord",0},
298 { "_unsigned_int","_wxPrintQuality",0},
299 { "_unsigned_int","_time_t",0},
300 { "_unsigned_int","_size_t",0},
301 { "_unsigned_int","_uint",0},
302 { "_unsigned_int","_wxWindowID",0},
303 { "_unsigned_int","_int",0},
304 { "_short","_wxDateTime_t",0},
305 { "_short","_WXTYPE",0},
306 { "_short","_unsigned_short",0},
307 { "_short","_signed_short",0},
308 { "_wxWindowID","_wxCoord",0},
309 { "_wxWindowID","_wxPrintQuality",0},
310 { "_wxWindowID","_time_t",0},
311 { "_wxWindowID","_size_t",0},
312 { "_wxWindowID","_EBool",0},
313 { "_wxWindowID","_uint",0},
314 { "_wxWindowID","_int",0},
315 { "_wxWindowID","_signed_int",0},
316 { "_wxWindowID","_unsigned_int",0},
317 { "_int","_wxCoord",0},
318 { "_int","_wxPrintQuality",0},
319 { "_int","_time_t",0},
320 { "_int","_size_t",0},
321 { "_int","_EBool",0},
323 { "_int","_wxWindowID",0},
324 { "_int","_unsigned_int",0},
325 { "_int","_signed_int",0},
326 { "_wxDateTime_t","_unsigned_short",0},
327 { "_wxDateTime_t","_short",0},
328 { "_wxDateTime_t","_WXTYPE",0},
329 { "_time_t","_wxCoord",0},
330 { "_time_t","_wxPrintQuality",0},
331 { "_time_t","_unsigned_int",0},
332 { "_time_t","_int",0},
333 { "_time_t","_wxWindowID",0},
334 { "_time_t","_uint",0},
335 { "_time_t","_size_t",0},
336 { "_wxCoord","_int",0},
337 { "_wxCoord","_signed_int",0},
338 { "_wxCoord","_unsigned_int",0},
339 { "_wxCoord","_wxWindowID",0},
340 { "_wxCoord","_uint",0},
341 { "_wxCoord","_EBool",0},
342 { "_wxCoord","_size_t",0},
343 { "_wxCoord","_time_t",0},
344 { "_wxCoord","_wxPrintQuality",0},
347 static PyObject
*SWIG_globals
;
351 SWIGEXPORT(void) initoglc() {
353 SWIG_globals
= SWIG_newvarlink();
354 m
= Py_InitModule("oglc", oglcMethods
);
355 d
= PyModule_GetDict(m
);
356 PyDict_SetItemString(d
,"KEY_SHIFT", PyInt_FromLong((long) KEY_SHIFT
));
357 PyDict_SetItemString(d
,"KEY_CTRL", PyInt_FromLong((long) KEY_CTRL
));
358 PyDict_SetItemString(d
,"ARROW_NONE", PyInt_FromLong((long) ARROW_NONE
));
359 PyDict_SetItemString(d
,"ARROW_END", PyInt_FromLong((long) ARROW_END
));
360 PyDict_SetItemString(d
,"ARROW_BOTH", PyInt_FromLong((long) ARROW_BOTH
));
361 PyDict_SetItemString(d
,"ARROW_MIDDLE", PyInt_FromLong((long) ARROW_MIDDLE
));
362 PyDict_SetItemString(d
,"ARROW_START", PyInt_FromLong((long) ARROW_START
));
363 PyDict_SetItemString(d
,"ARROW_HOLLOW_CIRCLE", PyInt_FromLong((long) ARROW_HOLLOW_CIRCLE
));
364 PyDict_SetItemString(d
,"ARROW_FILLED_CIRCLE", PyInt_FromLong((long) ARROW_FILLED_CIRCLE
));
365 PyDict_SetItemString(d
,"ARROW_ARROW", PyInt_FromLong((long) ARROW_ARROW
));
366 PyDict_SetItemString(d
,"ARROW_SINGLE_OBLIQUE", PyInt_FromLong((long) ARROW_SINGLE_OBLIQUE
));
367 PyDict_SetItemString(d
,"ARROW_DOUBLE_OBLIQUE", PyInt_FromLong((long) ARROW_DOUBLE_OBLIQUE
));
368 PyDict_SetItemString(d
,"ARROW_METAFILE", PyInt_FromLong((long) ARROW_METAFILE
));
369 PyDict_SetItemString(d
,"ARROW_POSITION_END", PyInt_FromLong((long) ARROW_POSITION_END
));
370 PyDict_SetItemString(d
,"ARROW_POSITION_START", PyInt_FromLong((long) ARROW_POSITION_START
));
371 PyDict_SetItemString(d
,"CONTROL_POINT_VERTICAL", PyInt_FromLong((long) CONTROL_POINT_VERTICAL
));
372 PyDict_SetItemString(d
,"CONTROL_POINT_HORIZONTAL", PyInt_FromLong((long) CONTROL_POINT_HORIZONTAL
));
373 PyDict_SetItemString(d
,"CONTROL_POINT_DIAGONAL", PyInt_FromLong((long) CONTROL_POINT_DIAGONAL
));
374 PyDict_SetItemString(d
,"CONTROL_POINT_ENDPOINT_TO", PyInt_FromLong((long) CONTROL_POINT_ENDPOINT_TO
));
375 PyDict_SetItemString(d
,"CONTROL_POINT_ENDPOINT_FROM", PyInt_FromLong((long) CONTROL_POINT_ENDPOINT_FROM
));
376 PyDict_SetItemString(d
,"CONTROL_POINT_LINE", PyInt_FromLong((long) CONTROL_POINT_LINE
));
377 PyDict_SetItemString(d
,"FORMAT_NONE", PyInt_FromLong((long) FORMAT_NONE
));
378 PyDict_SetItemString(d
,"FORMAT_CENTRE_HORIZ", PyInt_FromLong((long) FORMAT_CENTRE_HORIZ
));
379 PyDict_SetItemString(d
,"FORMAT_CENTRE_VERT", PyInt_FromLong((long) FORMAT_CENTRE_VERT
));
380 PyDict_SetItemString(d
,"FORMAT_SIZE_TO_CONTENTS", PyInt_FromLong((long) FORMAT_SIZE_TO_CONTENTS
));
381 PyDict_SetItemString(d
,"LINE_ALIGNMENT_HORIZ", PyInt_FromLong((long) LINE_ALIGNMENT_HORIZ
));
382 PyDict_SetItemString(d
,"LINE_ALIGNMENT_VERT", PyInt_FromLong((long) LINE_ALIGNMENT_VERT
));
383 PyDict_SetItemString(d
,"LINE_ALIGNMENT_TO_NEXT_HANDLE", PyInt_FromLong((long) LINE_ALIGNMENT_TO_NEXT_HANDLE
));
384 PyDict_SetItemString(d
,"LINE_ALIGNMENT_NONE", PyInt_FromLong((long) LINE_ALIGNMENT_NONE
));
385 PyDict_SetItemString(d
,"SHADOW_NONE", PyInt_FromLong((long) SHADOW_NONE
));
386 PyDict_SetItemString(d
,"SHADOW_LEFT", PyInt_FromLong((long) SHADOW_LEFT
));
387 PyDict_SetItemString(d
,"SHADOW_RIGHT", PyInt_FromLong((long) SHADOW_RIGHT
));
388 PyDict_SetItemString(d
,"OP_CLICK_LEFT", PyInt_FromLong((long) OP_CLICK_LEFT
));
389 PyDict_SetItemString(d
,"OP_CLICK_RIGHT", PyInt_FromLong((long) OP_CLICK_RIGHT
));
390 PyDict_SetItemString(d
,"OP_DRAG_LEFT", PyInt_FromLong((long) OP_DRAG_LEFT
));
391 PyDict_SetItemString(d
,"OP_DRAG_RIGHT", PyInt_FromLong((long) OP_DRAG_RIGHT
));
392 PyDict_SetItemString(d
,"OP_ALL", PyInt_FromLong((long) OP_ALL
));
393 PyDict_SetItemString(d
,"ATTACHMENT_MODE_NONE", PyInt_FromLong((long) ATTACHMENT_MODE_NONE
));
394 PyDict_SetItemString(d
,"ATTACHMENT_MODE_EDGE", PyInt_FromLong((long) ATTACHMENT_MODE_EDGE
));
395 PyDict_SetItemString(d
,"ATTACHMENT_MODE_BRANCHING", PyInt_FromLong((long) ATTACHMENT_MODE_BRANCHING
));
396 PyDict_SetItemString(d
,"BRANCHING_ATTACHMENT_NORMAL", PyInt_FromLong((long) BRANCHING_ATTACHMENT_NORMAL
));
397 PyDict_SetItemString(d
,"BRANCHING_ATTACHMENT_BLOB", PyInt_FromLong((long) BRANCHING_ATTACHMENT_BLOB
));
398 PyDict_SetItemString(d
,"gyCONSTRAINT_CENTRED_VERTICALLY", PyInt_FromLong((long) gyCONSTRAINT_CENTRED_VERTICALLY
));
399 PyDict_SetItemString(d
,"gyCONSTRAINT_CENTRED_HORIZONTALLY", PyInt_FromLong((long) gyCONSTRAINT_CENTRED_HORIZONTALLY
));
400 PyDict_SetItemString(d
,"gyCONSTRAINT_CENTRED_BOTH", PyInt_FromLong((long) gyCONSTRAINT_CENTRED_BOTH
));
401 PyDict_SetItemString(d
,"gyCONSTRAINT_LEFT_OF", PyInt_FromLong((long) gyCONSTRAINT_LEFT_OF
));
402 PyDict_SetItemString(d
,"gyCONSTRAINT_RIGHT_OF", PyInt_FromLong((long) gyCONSTRAINT_RIGHT_OF
));
403 PyDict_SetItemString(d
,"gyCONSTRAINT_ABOVE", PyInt_FromLong((long) gyCONSTRAINT_ABOVE
));
404 PyDict_SetItemString(d
,"gyCONSTRAINT_BELOW", PyInt_FromLong((long) gyCONSTRAINT_BELOW
));
405 PyDict_SetItemString(d
,"gyCONSTRAINT_ALIGNED_TOP", PyInt_FromLong((long) gyCONSTRAINT_ALIGNED_TOP
));
406 PyDict_SetItemString(d
,"gyCONSTRAINT_ALIGNED_BOTTOM", PyInt_FromLong((long) gyCONSTRAINT_ALIGNED_BOTTOM
));
407 PyDict_SetItemString(d
,"gyCONSTRAINT_ALIGNED_LEFT", PyInt_FromLong((long) gyCONSTRAINT_ALIGNED_LEFT
));
408 PyDict_SetItemString(d
,"gyCONSTRAINT_ALIGNED_RIGHT", PyInt_FromLong((long) gyCONSTRAINT_ALIGNED_RIGHT
));
409 PyDict_SetItemString(d
,"gyCONSTRAINT_MIDALIGNED_TOP", PyInt_FromLong((long) gyCONSTRAINT_MIDALIGNED_TOP
));
410 PyDict_SetItemString(d
,"gyCONSTRAINT_MIDALIGNED_BOTTOM", PyInt_FromLong((long) gyCONSTRAINT_MIDALIGNED_BOTTOM
));
411 PyDict_SetItemString(d
,"gyCONSTRAINT_MIDALIGNED_LEFT", PyInt_FromLong((long) gyCONSTRAINT_MIDALIGNED_LEFT
));
412 PyDict_SetItemString(d
,"gyCONSTRAINT_MIDALIGNED_RIGHT", PyInt_FromLong((long) gyCONSTRAINT_MIDALIGNED_RIGHT
));
413 PyDict_SetItemString(d
,"DIVISION_SIDE_NONE", PyInt_FromLong((long) DIVISION_SIDE_NONE
));
414 PyDict_SetItemString(d
,"DIVISION_SIDE_LEFT", PyInt_FromLong((long) DIVISION_SIDE_LEFT
));
415 PyDict_SetItemString(d
,"DIVISION_SIDE_TOP", PyInt_FromLong((long) DIVISION_SIDE_TOP
));
416 PyDict_SetItemString(d
,"DIVISION_SIDE_RIGHT", PyInt_FromLong((long) DIVISION_SIDE_RIGHT
));
417 PyDict_SetItemString(d
,"DIVISION_SIDE_BOTTOM", PyInt_FromLong((long) DIVISION_SIDE_BOTTOM
));
426 wxClassInfo::CleanUpClasses();
427 wxClassInfo::InitializeClasses();
429 wxPyPtrTypeMap_Add("wxControlPoint", "wxPyControlPoint");
430 wxPyPtrTypeMap_Add("wxShapeCanvas", "wxPyShapeCanvas");
431 wxPyPtrTypeMap_Add("wxShapeEvtHandler", "wxPyShapeEvtHandler");
432 wxPyPtrTypeMap_Add("wxShape", "wxPyShape");
433 wxPyPtrTypeMap_Add("wxRectangleShape", "wxPyRectangleShape");
434 wxPyPtrTypeMap_Add("wxDrawnShape", "wxPyDrawnShape");
435 wxPyPtrTypeMap_Add("wxCompositeShape", "wxPyCompositeShape");
436 wxPyPtrTypeMap_Add("wxDividedShape", "wxPyDividedShape");
437 wxPyPtrTypeMap_Add("wxDivisionShape", "wxPyDivisionShape");
438 wxPyPtrTypeMap_Add("wxEllipseShape", "wxPyEllipseShape");
439 wxPyPtrTypeMap_Add("wxCircleShape", "wxPyCircleShape");
440 wxPyPtrTypeMap_Add("wxLineShape", "wxPyLineShape");
441 wxPyPtrTypeMap_Add("wxPolygonShape", "wxPyPolygonShape");
442 wxPyPtrTypeMap_Add("wxTextShape", "wxPyTextShape");
446 for (i
= 0; _swig_mapping
[i
].n1
; i
++)
447 SWIG_RegisterMapping(_swig_mapping
[i
].n1
,_swig_mapping
[i
].n2
,_swig_mapping
[i
].pcnv
);