Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorpgperui <pgperui@65703dd9-322d-4ecd-a169-f49c4620ba53>2011-06-17 20:18:30 (GMT)
committer pgperui <pgperui@65703dd9-322d-4ecd-a169-f49c4620ba53>2011-06-17 20:18:30 (GMT)
commit59b0ac8e4c791b31f33377bf2e04187bf9a984f0 (patch)
tree89936d188b61ebf21ebfbc17edc744259c9a8351
parentfb5b0b7edb546a542bcac8b9edfe75cf7f2c3e90 (diff)
git-svn-id: svn+ssh://lulu.fing.edu.uy/ens/home01/pgperui/repoSVN@183 65703dd9-322d-4ecd-a169-f49c4620ba53
-rw-r--r--Utilidades/bin/python/CalibradorColor.py189
-rw-r--r--Utilidades/bin/python/Data/MarkersCalibradorColor.dat50
-rwxr-xr-xUtilidades/bin/python/Data/camera_para.datbin0 -> 136 bytes
-rwxr-xr-xUtilidades/bin/python/Data/patt.b196
-rwxr-xr-xUtilidades/bin/python/Data/patt.c196
-rwxr-xr-xUtilidades/bin/python/Data/patt.d196
-rwxr-xr-xUtilidades/bin/python/Data/patt.f196
-rwxr-xr-xUtilidades/bin/python/Data/patt.g196
-rw-r--r--Utilidades/bin/python/PuiModule.py351
-rw-r--r--Utilidades/bin/python/PuiModule.pycbin0 -> 35944 bytes
-rw-r--r--Utilidades/bin/python/Pui_wrap.cxx9772
11 files changed, 11342 insertions, 0 deletions
diff --git a/Utilidades/bin/python/CalibradorColor.py b/Utilidades/bin/python/CalibradorColor.py
new file mode 100644
index 0000000..e99c263
--- /dev/null
+++ b/Utilidades/bin/python/CalibradorColor.py
@@ -0,0 +1,189 @@
+#! /usr/bin/env python
+import pygame, sys, os, time
+import PuiModule
+from pygame import *
+
+vconf = "v4l2src device=/dev/video0 ! videorate ! video/x-raw-yuv,width=320,height=240,framerate=5/1 ! ffmpegcolorspace ! capsfilter caps=video/x-raw-rgb,bpp=24 ! identity name=artoolkit ! fakesink"
+count = 0
+config_nameCalibrador = "Data/MarkersCalibradorColor.dat"
+rangosEscalaColor = PuiModule.RangosColorApuntador
+usarAlgoritmoRapido = 1
+mostrarDebugAR = 0
+aplicarMascara = 0
+frameSize = (320,240)
+
+h_bins = 30 #El histograma de HUE lo dividimos en 30 partes iguales
+s_bins = 20 #El histograma de SATURATION lo dividimos en 20 partes iguales
+v_bins = 20 #El histograma de BRIGHTNESS lo dividimos en 20 partes iguales
+
+id_marcador =0
+tipoMascara = PuiModule.TIPO_MASCARA_BINARIA
+err_deteccion = 0
+
+cantidad_muestras= 6
+res_aplicar_mascara = 0
+muestra = 0
+
+aplicar_mascara=1
+aplicar_nueva_mascara=1
+tomar_muestra=0
+thresh = 100
+factorProporcionMaximoH = 10
+porcentajeMinimoRuido = 7
+
+pui = None
+dataImagen = None
+
+running = True
+
+#Variables de pantalla
+size = (640,480)
+screen = pygame.display.set_mode(size)
+surface = pygame.display.get_surface()
+
+def initRangosColor():
+ rangosEscalaColor.hmin = 1 #Teoricamente seria correcto que hmin fuera 0. Lo ponemos en 1
+ rangosEscalaColor.hmax = 360 #Porque los negros totales y los blancos totales son convertidos
+ rangosEscalaColor.smin = 0 #con H=0 y eso lleva a que se introduzca ruido en el histograma
+ rangosEscalaColor.smax = 100
+ rangosEscalaColor.vmin = 0
+ rangosEscalaColor.vmax = 100
+
+def desplegarRangosColor(rangos):
+ print '--------Rangos de Color--------\n'
+ print 'Hue: ['+rangos.hmin+','+rangos.hmax+']\n'
+ print 'Saturation: ['+rangos.smin+','+rangos.smax+']\n'
+ print 'Brightness: ['+rangos.vmin+','+rangos.vmax+']\n'
+ print '--------------------------------\n'
+
+def desplegarDataImage(imageData):
+ global running,screen,frameSize,aplicar_mascara,aplicar_nueva_mascara,tipoMascara,pui,mostrarDebugAR,tomar_muestra
+ print '14'
+ pg_img = pygame.image.frombuffer(imageData,frameSize, "RGB")
+ print '15'
+ screen.blit(pg_img, (0,0))
+ pygame.display.flip()
+ print '16'
+ for event in pygame.event.get():
+ if event.type == pygame.QUIT:
+ running = False
+ elif event.type == pygame.KEYDOWN:
+ if event.key == pygame.K_ESCAPE:
+ running = False
+ elif event.key == K_a: #aplicar mascara
+ aplicar_mascara = 1 - aplicar_mascara
+ elif event.key == K_n: #nueva mascara
+ aplicar_nueva_mascara = 1 - aplicar_nueva_mascara;
+ aplicar_mascara = 1;
+ elif event.key == K_u: #tipo de mascara
+ if tipoMascara==PuiModule.TIPO_MASCARA_BINARIA :
+ tipoMascara=PuiModule.TIPO_MASCARA_ATENUANTE
+ print 'Usando mascara ATENUANTE!\n'
+ else:
+ tipoMascara=PuiModule.TIPO_MASCARA_BINARIA;
+ print 'Usando mascara BINARIA!\n'
+ elif event.key == K_t: #set threshold
+ print '*** %s (frame/sec)\n' % (pui.getFPS())
+ print 'Threshold Actual = %s' % ( pui.getARThreshold() )
+ user_input = input('*************** Ingrese nuevo Threshold ******************')
+ print 'Threshold ingresado = %s' % (user_input)
+ pui.setARThreshold(user_input);
+
+ elif event.key == K_d: #set debug image
+ mostrarDebugAR = 1 - mostrarDebugAR
+ pui.desplegarImagenAR(mostrarDebugAR)
+ elif event.key == K_RETURN:
+ tomar_muestra = 1
+ aplicar_nueva_mascara = 1 - aplicar_nueva_mascara
+ aplicar_mascara = 1
+ else:
+ print 'Evento desconocido!'
+
+
+
+def calibrar():
+ global tomar_muestra,pui, id_marcador, muestra, aplicar_mascara, aplicar_nueva_mascara, tipoMascara, mostrarDebugAR
+
+ print '7\n'
+ if tomar_muestra:
+ print 'Tomo la muestra!!!!!\n'
+ err_tomarMuestra = pui.tomarMuestraApuntador()
+ if err_tomarMuestra==PuiModule.ERROR_TOMAR_MUESTRA_FORMA_NO_IMPLEMENTADA:
+ sys.stderr.write("Error, no se pudo tomar muestra. Forma no implementada\n")
+ elif err_tomarMuestra==PuiModule.ERROR_TOMAR_MUESTRA_OK:
+ print 'Muestra tomada OK\n'
+
+ tomar_muestra=0
+ id_marcador+=1
+ muestra+=1
+ else:
+ print '8\n'
+ dataImagen = pui.capturarPyImageAR()
+ print '9\n'
+ if aplicar_mascara:
+ if aplicar_nueva_mascara: #Calculo la nueva mascara y la aplico
+ print '10\n'
+ err_deteccion = pui.detectarYCalcularPosicionTodosMultiMarkers()
+ print '11\n'
+ if err_deteccion==PuiModule.DETECCION_CORRECTA:
+ res_aplicar_mascara = pui.aplicarNuevaMascaraCalibrador(id_marcador,tipoMascara)
+ print pui.getFPSAndResetCount()
+ if res_aplicar_mascara==PuiModule.MASCARA_APLICADA:
+ print 'Se aplico la mascara correctamente\n'
+ aplicar_nueva_mascara = 0
+ else:
+ print '12\n'
+ print 'err_deteccion= '
+ print err_deteccion
+ print '\n13\n'
+
+ else: #No calculo nueva mascara pero la aplico
+ pui.aplicarMascaraCalibrador(tipoMascara);
+
+# pui.desplegarImagenAR(mostrarDebugAR)
+ if not dataImagen == None:
+ desplegarDataImage(dataImagen.data)
+ print '15'
+ pui.capNext()
+
+
+
+def main():
+ global pui, aplicar_mascara,aplicar_nueva_mascara,tomar_muestra,muestra,cantidad_muestras,jugar,factorProporcionMaximoH,porcentajeMinimoRuido,running
+
+ aplicar_mascara=1
+ aplicar_nueva_mascara=1
+ tomar_muestra = 0
+ pui = PuiModule.Pui()
+ initRangosColor()
+ pui.getModuleInfo()
+ print '1\n'
+
+ pui.initPuiConCapturaDeVideo(PuiModule.MODO_MULTI_MARKERS_CALIBRADOR,"",config_nameCalibrador,"Data/camera_para.dat",vconf,usarAlgoritmoRapido,pui.NORMAL_SPEED_LOOP,1.0);
+ #pui.initARConVideo(config_nameCalibrador,"Data/camera_para.dat",vconf,usarAlgoritmoRapido,pui.NORMAL_SPEED_LOOP,1.0)
+ print '2\n'
+ pui.abrirVentanaGrafica()
+
+ pui.capStart()
+ pui.initPropiedadesCalibracionSoloApuntador(PuiModule.FORMA_APUNTADOR_CIRCULO,1,360,0,100,0,100,h_bins,s_bins,v_bins,1)
+ print '3\n'
+ pui.setDebugCalibracion(False)
+ print '4\n'
+ pui.capStart()
+ print '5\n'
+
+ while running:
+ if muestra<cantidad_muestras :
+ print '6\n'
+ calibrar()
+ elif not jugar :
+ print 'se tomaron todas las muestras\n se calculan los resultados....\n'
+ pui.calcularResultadosCalibracionApuntador(factorProporcionMaximoH,porcentajeMinimoRuido)
+ desplegarRangosColor(pui.getResultadosRangosColor())
+ print 'fin de la calibracion'
+ jugar=1
+ else:
+ print 'Jugando'
+
+if __name__ == "__main__":
+ main()
diff --git a/Utilidades/bin/python/Data/MarkersCalibradorColor.dat b/Utilidades/bin/python/Data/MarkersCalibradorColor.dat
new file mode 100644
index 0000000..7c16e11
--- /dev/null
+++ b/Utilidades/bin/python/Data/MarkersCalibradorColor.dat
@@ -0,0 +1,50 @@
+#the number of patterns to be recognized
+6
+
+#marker 1
+Data/patt.a
+40.0
+0 0
+1 0 0 0
+0 1 0 0
+0 0 1 0
+
+#marker 2
+Data/patt.b
+40.0
+0 0
+1 0 0 100
+0 1 0 0
+0 0 1 0
+
+#marker 3
+Data/patt.c
+40.0
+0 0
+1 0 0 200
+0 1 0 0
+0 0 1 0
+
+#marker 4
+Data/patt.d
+40.0
+0 0
+1 0 0 0
+0 1 0 -100
+0 0 1 0
+
+#marker 5
+Data/patt.g
+40.0
+0 0
+1 0 0 100
+0 1 0 -100
+0 0 1 0
+
+#marker 6
+Data/patt.f
+40.0
+0 0
+1 0 0 200
+0 1 0 -100
+0 0 1 0
diff --git a/Utilidades/bin/python/Data/camera_para.dat b/Utilidades/bin/python/Data/camera_para.dat
new file mode 100755
index 0000000..eb671b1
--- /dev/null
+++ b/Utilidades/bin/python/Data/camera_para.dat
Binary files differ
diff --git a/Utilidades/bin/python/Data/patt.b b/Utilidades/bin/python/Data/patt.b
new file mode 100755
index 0000000..722aef4
--- /dev/null
+++ b/Utilidades/bin/python/Data/patt.b
@@ -0,0 +1,196 @@
+ 108 140 120 113 122 110 115 120 120 122 132 140 143 144 144 137
+ 123 155 128 51 20 20 48 72 46 29 39 68 150 159 160 148
+ 118 164 167 75 15 16 86 163 147 72 12 12 72 159 160 160
+ 119 162 161 68 4 4 69 148 160 137 26 13 20 134 156 150
+ 118 172 164 85 14 16 78 153 160 155 51 7 2 109 154 148
+ 108 156 152 80 12 12 67 149 158 118 28 15 24 136 160 160
+ 122 168 176 88 14 10 53 122 120 44 22 42 106 159 157 152
+ 120 160 157 76 12 16 41 76 54 18 40 102 152 160 160 157
+ 132 172 159 75 4 13 88 148 136 84 33 30 40 136 152 124
+ 116 155 154 80 16 18 88 161 160 168 80 24 16 76 146 144
+ 128 166 164 80 13 4 60 152 160 168 91 15 16 28 150 141
+ 107 160 172 90 16 12 77 153 160 164 62 11 10 36 155 143
+ 123 164 161 77 14 8 60 150 160 146 34 16 16 76 144 141
+ 106 156 150 64 20 16 41 106 116 61 4 32 77 144 151 136
+ 127 138 102 86 74 70 65 89 80 78 112 126 142 156 157 148
+ 116 132 120 112 120 118 120 126 116 115 105 109 116 112 116 108
+ 118 144 128 120 126 115 114 120 120 114 128 132 129 129 124 110
+ 113 142 108 41 24 28 56 72 40 31 46 66 138 144 144 132
+ 110 152 147 62 10 12 75 148 140 72 18 18 72 143 144 136
+ 107 152 148 74 12 16 77 145 144 129 22 16 15 126 144 142
+ 112 156 148 72 6 8 69 145 148 127 30 16 10 120 144 144
+ 116 158 148 70 8 8 69 145 148 94 18 15 24 132 144 144
+ 114 152 148 72 10 10 65 128 124 44 15 30 94 144 144 144
+ 111 150 148 70 12 16 32 66 48 18 42 98 140 144 144 138
+ 101 150 148 75 14 13 74 134 120 60 21 30 52 136 144 120
+ 115 157 148 74 12 14 73 146 146 136 46 10 16 76 138 126
+ 103 152 148 75 15 12 72 146 152 150 73 12 16 40 148 126
+ 123 160 148 72 12 10 75 147 144 148 54 12 16 34 141 131
+ 106 154 148 72 14 16 75 147 144 127 25 16 16 72 144 127
+ 122 148 145 58 15 14 38 98 100 57 4 29 76 138 144 134
+ 108 112 86 70 58 58 59 80 67 64 98 114 140 144 144 129
+ 104 130 126 112 132 124 118 118 114 118 112 113 119 108 112 103
+ 100 124 112 109 116 104 112 120 117 114 122 124 127 127 125 125
+ 112 137 108 40 20 24 50 72 36 28 40 72 138 144 146 140
+ 114 152 147 70 13 6 65 140 136 66 18 18 72 144 144 144
+ 118 158 160 72 4 4 66 152 144 125 23 16 20 126 144 138
+ 112 156 152 75 14 14 74 147 144 139 36 7 9 115 145 144
+ 109 152 160 76 12 8 71 156 150 102 19 3 28 140 146 135
+ 110 152 148 73 12 14 65 124 120 48 16 27 94 144 144 150
+ 108 154 150 78 8 8 30 63 42 10 35 96 140 144 144 141
+ 117 154 146 69 10 13 72 130 112 70 22 24 40 134 144 126
+ 101 151 148 74 6 2 73 145 144 140 54 16 16 80 136 121
+ 116 159 148 67 13 16 74 146 144 148 74 13 16 28 142 129
+ 100 140 148 81 16 12 73 145 144 152 64 16 16 42 141 123
+ 111 146 145 61 12 12 73 145 145 132 25 14 8 76 144 134
+ 106 152 145 58 16 10 45 110 112 57 4 22 61 138 144 128
+ 121 140 104 78 60 60 63 90 80 73 90 110 133 144 144 136
+ 104 140 126 112 120 118 116 130 126 126 108 108 107 112 120 105
+
+ 137 148 160 150 148 160 152 157 124 144 141 143 141 136 148 108
+ 144 160 160 156 154 160 157 160 152 146 150 155 144 151 157 116
+ 144 159 159 134 109 136 159 160 136 76 28 36 76 144 156 112
+ 143 150 72 20 2 24 106 152 40 16 16 10 16 77 142 116
+ 140 68 12 13 7 15 42 102 30 24 15 11 16 32 126 109
+ 132 39 12 26 51 28 22 40 33 80 91 62 34 4 112 105
+ 122 29 72 137 155 118 44 18 84 168 168 164 146 61 78 115
+ 120 46 147 160 160 158 120 54 136 160 160 160 160 116 80 116
+ 120 72 163 148 153 149 122 76 148 161 152 153 150 106 89 126
+ 115 48 86 69 78 67 53 41 88 88 60 77 60 41 65 120
+ 110 20 16 4 16 12 10 16 13 18 4 12 8 16 70 118
+ 122 20 15 4 14 12 14 12 4 16 13 16 14 20 74 120
+ 113 51 75 68 85 80 88 76 75 80 80 90 77 64 86 112
+ 120 128 167 161 164 152 176 157 159 154 164 172 161 150 102 120
+ 140 155 164 162 172 156 168 160 172 155 166 160 164 156 138 132
+ 108 123 118 119 118 108 122 120 132 116 128 107 123 106 127 116
+ 110 132 136 142 144 144 144 138 120 126 126 131 127 134 129 103
+ 124 144 144 144 144 144 144 144 144 138 148 141 144 144 144 112
+ 129 144 143 126 120 132 144 144 136 76 40 34 72 138 144 108
+ 129 138 72 15 10 24 94 140 52 16 16 16 16 76 140 119
+ 132 66 18 16 16 15 30 98 30 10 12 12 16 29 114 113
+ 128 46 18 22 30 18 15 42 21 46 73 54 25 4 98 112
+ 114 31 72 129 127 94 44 18 60 136 150 148 127 57 64 118
+ 120 40 140 144 148 148 124 48 120 146 152 144 144 100 67 114
+ 120 72 148 145 145 145 128 66 134 146 146 147 147 98 80 118
+ 114 56 75 77 69 69 65 32 74 73 72 75 75 38 59 118
+ 115 28 12 16 8 8 10 16 13 14 12 10 16 14 58 124
+ 126 24 10 12 6 8 10 12 14 12 15 12 14 15 58 132
+ 120 41 62 74 72 70 72 70 75 74 75 72 72 58 70 112
+ 128 108 147 148 148 148 148 148 148 148 148 148 148 145 86 126
+ 144 142 152 152 156 158 152 150 150 157 152 160 154 148 112 130
+ 118 113 110 107 112 116 114 111 101 115 103 123 106 122 108 104
+ 125 140 144 138 144 135 150 141 126 121 129 123 134 128 136 105
+ 125 146 144 144 145 146 144 144 144 136 142 141 144 144 144 120
+ 127 144 144 126 115 140 144 144 134 80 28 42 76 138 144 112
+ 127 138 72 20 9 28 94 140 40 16 16 16 8 61 133 107
+ 124 72 18 16 7 3 27 96 24 16 13 16 14 22 110 108
+ 122 40 18 23 36 19 16 35 22 54 74 64 25 4 90 108
+ 114 28 66 125 139 102 48 10 70 140 148 152 132 57 73 126
+ 117 36 136 144 144 150 120 42 112 144 144 144 145 112 80 126
+ 120 72 140 152 147 156 124 63 130 145 146 145 145 110 90 130
+ 112 50 65 66 74 71 65 30 72 73 74 73 73 45 63 116
+ 104 24 6 4 14 8 14 8 13 2 16 12 12 10 60 118
+ 116 20 13 4 14 12 12 8 10 6 13 16 12 16 60 120
+ 109 40 70 72 75 76 73 78 69 74 67 81 61 58 78 112
+ 112 108 147 160 152 160 148 150 146 148 148 148 145 145 104 126
+ 124 137 152 158 156 152 152 154 154 151 159 140 146 152 140 140
+ 100 112 114 118 112 109 110 108 117 101 116 100 111 106 121 104
+
+ 108 116 112 116 109 105 115 116 126 120 118 120 112 120 132 116
+ 148 157 156 142 126 112 78 80 89 65 70 74 86 102 138 127
+ 136 151 144 77 32 4 61 116 106 41 16 20 64 150 156 106
+ 141 144 76 16 16 34 146 160 150 60 8 14 77 161 164 123
+ 143 155 36 10 11 62 164 160 153 77 12 16 90 172 160 107
+ 141 150 28 16 15 91 168 160 152 60 4 13 80 164 166 128
+ 144 146 76 16 24 80 168 160 161 88 18 16 80 154 155 116
+ 124 152 136 40 30 33 84 136 148 88 13 4 75 159 172 132
+ 157 160 160 152 102 40 18 54 76 41 16 12 76 157 160 120
+ 152 157 159 106 42 22 44 120 122 53 10 14 88 176 168 122
+ 160 160 136 24 15 28 118 158 149 67 12 12 80 152 156 108
+ 148 154 109 2 7 51 155 160 153 78 16 14 85 164 172 118
+ 150 156 134 20 13 26 137 160 148 69 4 4 68 161 162 119
+ 160 160 159 72 12 12 72 147 163 86 16 15 75 167 164 118
+ 148 160 159 150 68 39 29 46 72 48 20 20 51 128 155 123
+ 137 144 144 143 140 132 122 120 120 115 110 122 113 120 140 108
+ 103 112 108 119 113 112 118 114 118 118 124 132 112 126 130 104
+ 129 144 144 140 114 98 64 67 80 59 58 58 70 86 112 108
+ 134 144 138 76 29 4 57 100 98 38 14 15 58 145 148 122
+ 127 144 72 16 16 25 127 144 147 75 16 14 72 148 154 106
+ 131 141 34 16 12 54 148 144 147 75 10 12 72 148 160 123
+ 126 148 40 16 12 73 150 152 146 72 12 15 75 148 152 103
+ 126 138 76 16 10 46 136 146 146 73 14 12 74 148 157 115
+ 120 144 136 52 30 21 60 120 134 74 13 14 75 148 150 101
+ 138 144 144 140 98 42 18 48 66 32 16 12 70 148 150 111
+ 144 144 144 94 30 15 44 124 128 65 10 10 72 148 152 114
+ 144 144 132 24 15 18 94 148 145 69 8 8 70 148 158 116
+ 144 144 120 10 16 30 127 148 145 69 8 6 72 148 156 112
+ 142 144 126 15 16 22 129 144 145 77 16 12 74 148 152 107
+ 136 144 143 72 18 18 72 140 148 75 12 10 62 147 152 110
+ 132 144 144 138 66 46 31 40 72 56 28 24 41 108 142 113
+ 110 124 129 129 132 128 114 120 120 114 115 126 120 128 144 118
+ 105 120 112 107 108 108 126 126 130 116 118 120 112 126 140 104
+ 136 144 144 133 110 90 73 80 90 63 60 60 78 104 140 121
+ 128 144 138 61 22 4 57 112 110 45 10 16 58 145 152 106
+ 134 144 76 8 14 25 132 145 145 73 12 12 61 145 146 111
+ 123 141 42 16 16 64 152 144 145 73 12 16 81 148 140 100
+ 129 142 28 16 13 74 148 144 146 74 16 13 67 148 159 116
+ 121 136 80 16 16 54 140 144 145 73 2 6 74 148 151 101
+ 126 144 134 40 24 22 70 112 130 72 13 10 69 146 154 117
+ 141 144 144 140 96 35 10 42 63 30 8 8 78 150 154 108
+ 150 144 144 94 27 16 48 120 124 65 14 12 73 148 152 110
+ 135 146 140 28 3 19 102 150 156 71 8 12 76 160 152 109
+ 144 145 115 9 7 36 139 144 147 74 14 14 75 152 156 112
+ 138 144 126 20 16 23 125 144 152 66 4 4 72 160 158 118
+ 144 144 144 72 18 18 66 136 140 65 6 13 70 147 152 114
+ 140 146 144 138 72 40 28 36 72 50 24 20 40 108 137 112
+ 125 125 127 127 124 122 114 117 120 112 104 116 109 112 124 100
+
+ 116 127 106 123 107 128 116 132 120 122 108 118 119 118 123 108
+ 132 138 156 164 160 166 155 172 160 168 156 172 162 164 155 140
+ 120 102 150 161 172 164 154 159 157 176 152 164 161 167 128 120
+ 112 86 64 77 90 80 80 75 76 88 80 85 68 75 51 113
+ 120 74 20 14 16 13 16 4 12 14 12 14 4 15 20 122
+ 118 70 16 8 12 4 18 13 16 10 12 16 4 16 20 110
+ 120 65 41 60 77 60 88 88 41 53 67 78 69 86 48 115
+ 126 89 106 150 153 152 161 148 76 122 149 153 148 163 72 120
+ 116 80 116 160 160 160 160 136 54 120 158 160 160 147 46 120
+ 115 78 61 146 164 168 168 84 18 44 118 155 137 72 29 122
+ 105 112 4 34 62 91 80 33 40 22 28 51 26 12 39 132
+ 109 126 32 16 11 15 24 30 102 42 15 7 13 12 68 140
+ 116 142 77 16 10 16 16 40 152 106 24 2 20 72 150 143
+ 112 156 144 76 36 28 76 136 160 159 136 109 134 159 159 144
+ 116 157 151 144 155 150 146 152 160 157 160 154 156 160 160 144
+ 108 148 136 141 143 141 144 124 157 152 160 148 150 160 148 137
+ 104 108 122 106 123 103 115 101 111 114 116 112 107 110 113 118
+ 130 112 148 154 160 152 157 150 150 152 158 156 152 152 142 144
+ 126 86 145 148 148 148 148 148 148 148 148 148 148 147 108 128
+ 112 70 58 72 72 75 74 75 70 72 70 72 74 62 41 120
+ 132 58 15 14 12 15 12 14 12 10 8 6 12 10 24 126
+ 124 58 14 16 10 12 14 13 16 10 8 8 16 12 28 115
+ 118 59 38 75 75 72 73 74 32 65 69 69 77 75 56 114
+ 118 80 98 147 147 146 146 134 66 128 145 145 145 148 72 120
+ 114 67 100 144 144 152 146 120 48 124 148 148 144 140 40 120
+ 118 64 57 127 148 150 136 60 18 44 94 127 129 72 31 114
+ 112 98 4 25 54 73 46 21 42 15 18 30 22 18 46 128
+ 113 114 29 16 12 12 10 30 98 30 15 16 16 18 66 132
+ 119 140 76 16 16 16 16 52 140 94 24 10 15 72 138 129
+ 108 144 138 72 34 40 76 136 144 144 132 120 126 143 144 129
+ 112 144 144 144 141 148 138 144 144 144 144 144 144 144 144 124
+ 103 129 134 127 131 126 126 120 138 144 144 144 142 136 132 110
+ 104 121 106 111 100 116 101 117 108 110 109 112 118 114 112 100
+ 140 140 152 146 140 159 151 154 154 152 152 156 158 152 137 124
+ 126 104 145 145 148 148 148 146 150 148 160 152 160 147 108 112
+ 112 78 58 61 81 67 74 69 78 73 76 75 72 70 40 109
+ 120 60 16 12 16 13 6 10 8 12 12 14 4 13 20 116
+ 118 60 10 12 12 16 2 13 8 14 8 14 4 6 24 104
+ 116 63 45 73 73 74 73 72 30 65 71 74 66 65 50 112
+ 130 90 110 145 145 146 145 130 63 124 156 147 152 140 72 120
+ 126 80 112 145 144 144 144 112 42 120 150 144 144 136 36 117
+ 126 73 57 132 152 148 140 70 10 48 102 139 125 66 28 114
+ 108 90 4 25 64 74 54 22 35 16 19 36 23 18 40 122
+ 108 110 22 14 16 13 16 24 96 27 3 7 16 18 72 124
+ 107 133 61 8 16 16 16 40 140 94 28 9 20 72 138 127
+ 112 144 138 76 42 28 80 134 144 144 140 115 126 144 144 127
+ 120 144 144 144 141 142 136 144 144 144 146 145 144 144 146 125
+ 105 136 128 134 123 129 121 126 141 150 135 144 138 144 140 125
+
diff --git a/Utilidades/bin/python/Data/patt.c b/Utilidades/bin/python/Data/patt.c
new file mode 100755
index 0000000..15a7303
--- /dev/null
+++ b/Utilidades/bin/python/Data/patt.c
@@ -0,0 +1,196 @@
+ 123 134 136 128 134 116 105 93 104 109 120 129 134 120 110 106
+ 142 156 168 168 145 97 59 54 80 85 84 84 119 70 140 154
+ 158 172 163 130 33 14 56 125 168 164 128 95 21 9 145 160
+ 161 166 122 32 22 52 144 166 164 164 163 162 95 20 162 172
+ 144 142 52 19 28 125 167 160 162 176 176 164 153 60 145 146
+ 177 106 13 17 44 143 170 169 172 171 171 160 160 103 143 151
+ 136 52 19 26 81 168 176 176 176 174 176 173 170 161 160 152
+ 144 24 20 24 92 178 173 172 175 175 168 168 168 164 172 165
+ 147 27 18 12 60 160 166 172 174 166 160 160 161 164 157 154
+ 154 51 20 27 76 177 163 162 172 165 167 174 163 168 166 171
+ 156 60 4 14 42 157 174 176 176 176 176 172 172 172 169 157
+ 155 124 6 3 8 112 160 170 170 164 170 173 175 162 174 168
+ 148 152 65 9 9 59 167 172 164 173 168 160 144 82 149 141
+ 154 174 164 75 29 20 97 140 160 166 157 130 66 108 158 156
+ 160 164 169 170 116 65 49 50 72 86 68 82 135 158 156 138
+ 138 145 150 161 148 130 127 112 111 112 116 136 151 160 160 158
+ 118 127 120 112 120 120 110 100 104 109 118 120 124 110 106 106
+ 147 160 160 164 152 106 71 56 65 82 84 90 135 98 160 157
+ 138 160 160 144 38 8 51 120 154 156 122 95 24 24 150 168
+ 141 161 132 28 14 52 132 160 160 160 160 160 97 26 150 152
+ 159 149 52 16 16 113 159 160 160 160 160 160 158 60 138 158
+ 148 91 11 15 46 149 162 160 160 160 160 160 171 133 157 154
+ 140 48 13 13 56 156 164 160 160 160 160 160 160 160 156 152
+ 140 20 14 16 76 160 160 160 160 160 160 160 160 160 152 138
+ 143 16 16 9 65 160 160 160 160 160 160 160 160 160 160 165
+ 146 43 12 11 54 167 160 160 160 160 160 160 160 160 158 163
+ 158 70 14 12 41 151 160 160 160 160 160 160 160 160 159 158
+ 150 137 19 16 28 129 160 160 160 160 160 160 166 150 162 160
+ 142 160 72 16 16 75 169 161 160 160 160 166 156 90 159 163
+ 135 160 151 65 22 16 86 139 162 168 155 133 58 108 160 146
+ 156 164 160 154 100 58 37 46 68 76 62 70 128 158 160 150
+ 148 153 148 157 146 131 119 103 102 108 116 136 148 155 160 154
+ 97 126 127 115 120 120 101 95 108 116 116 118 126 112 106 120
+ 141 164 166 164 145 106 68 55 72 81 84 84 124 70 136 144
+ 156 160 160 138 42 18 49 109 152 156 128 89 32 25 163 172
+ 152 158 132 32 10 42 130 160 160 162 163 166 102 36 161 164
+ 151 151 56 16 14 110 159 160 160 168 160 160 158 52 128 142
+ 163 119 20 15 42 140 160 160 160 162 164 169 160 104 153 143
+ 159 76 24 9 53 154 160 160 160 161 162 160 162 161 160 162
+ 148 32 15 6 63 158 162 160 160 160 160 160 164 170 166 151
+ 138 19 8 13 73 173 166 160 160 160 160 160 160 169 159 152
+ 144 39 20 25 68 164 160 160 160 160 160 160 160 160 158 168
+ 156 56 12 17 51 159 164 160 160 160 160 160 160 160 169 168
+ 132 130 19 16 19 127 164 162 160 160 160 159 159 142 154 144
+ 144 160 73 16 13 66 164 165 160 160 160 158 136 68 147 162
+ 151 162 152 69 23 22 96 148 160 160 155 130 66 108 160 158
+ 138 161 168 170 104 58 47 54 73 74 65 70 128 158 156 134
+ 138 159 164 164 146 133 129 116 106 108 120 136 151 160 155 141
+
+ 106 154 160 172 146 151 152 165 154 171 157 168 141 156 138 158
+ 110 140 145 162 145 143 160 172 157 166 169 174 149 158 156 160
+ 120 70 9 20 60 103 161 164 164 168 172 162 82 108 158 160
+ 134 119 21 95 153 160 170 168 161 163 172 175 144 66 135 151
+ 129 84 95 162 164 160 173 168 160 174 172 173 160 130 82 136
+ 120 84 128 163 176 171 176 168 160 167 176 170 168 157 68 116
+ 109 85 164 164 176 171 174 175 166 165 176 164 173 166 86 112
+ 104 80 168 164 162 172 176 175 174 172 176 170 164 160 72 111
+ 93 54 125 166 160 169 176 172 172 162 176 170 172 140 50 112
+ 105 59 56 144 167 170 176 173 166 163 174 160 167 97 49 127
+ 116 97 14 52 125 143 168 178 160 177 157 112 59 20 65 130
+ 134 145 33 22 28 44 81 92 60 76 42 8 9 29 116 148
+ 128 168 130 32 19 17 26 24 12 27 14 3 9 75 170 161
+ 136 168 163 122 52 13 19 20 18 20 4 6 65 164 169 150
+ 134 156 172 166 142 106 52 24 27 51 60 124 152 174 164 145
+ 123 142 158 161 144 177 136 144 147 154 156 155 148 154 160 138
+ 106 157 168 152 158 154 152 138 165 163 158 160 163 146 150 154
+ 106 160 150 150 138 157 156 152 160 158 159 162 159 160 160 160
+ 110 98 24 26 60 133 160 160 160 160 160 150 90 108 158 155
+ 124 135 24 97 158 171 160 160 160 160 160 166 156 58 128 148
+ 120 90 95 160 160 160 160 160 160 160 160 160 166 133 70 136
+ 118 84 122 160 160 160 160 160 160 160 160 160 160 155 62 116
+ 109 82 156 160 160 160 160 160 160 160 160 160 160 168 76 108
+ 104 65 154 160 160 160 160 160 160 160 160 160 160 162 68 102
+ 100 56 120 160 160 160 160 160 160 160 160 160 161 139 46 103
+ 110 71 51 132 159 162 164 160 160 160 160 160 169 86 37 119
+ 120 106 8 52 113 149 156 160 160 167 151 129 75 16 58 131
+ 120 152 38 14 16 46 56 76 65 54 41 28 16 22 100 146
+ 112 164 144 28 16 15 13 16 9 11 12 16 16 65 154 157
+ 120 160 160 132 52 11 13 14 16 12 14 19 72 151 160 148
+ 127 160 160 161 149 91 48 20 16 43 70 137 160 160 164 153
+ 118 147 138 141 159 148 140 140 143 146 158 150 142 135 156 148
+ 120 144 172 164 142 143 162 151 152 168 168 144 162 158 134 141
+ 106 136 163 161 128 153 160 166 159 158 169 154 147 160 156 155
+ 112 70 25 36 52 104 161 170 169 160 160 142 68 108 158 160
+ 126 124 32 102 158 160 162 164 160 160 160 159 136 66 128 151
+ 118 84 89 166 160 169 160 160 160 160 160 159 158 130 70 136
+ 116 84 128 163 160 164 162 160 160 160 160 160 160 155 65 120
+ 116 81 156 162 168 162 161 160 160 160 160 160 160 160 74 108
+ 108 72 152 160 160 160 160 160 160 160 160 160 160 160 73 106
+ 95 55 109 160 160 160 160 160 160 160 160 162 165 148 54 116
+ 101 68 49 130 159 160 160 162 166 160 164 164 164 96 47 129
+ 120 106 18 42 110 140 154 158 173 164 159 127 66 22 58 133
+ 120 145 42 10 14 42 53 63 73 68 51 19 13 23 104 146
+ 115 164 138 32 16 15 9 6 13 25 17 16 16 69 170 164
+ 127 166 160 132 56 20 24 15 8 20 12 19 73 152 168 164
+ 126 164 160 158 151 119 76 32 19 39 56 130 160 162 161 159
+ 97 141 156 152 151 163 159 148 138 144 156 132 144 151 138 138
+
+ 158 160 160 151 136 116 112 111 112 127 130 148 161 150 145 138
+ 138 156 158 135 82 68 86 72 50 49 65 116 170 169 164 160
+ 156 158 108 66 130 157 166 160 140 97 20 29 75 164 174 154
+ 141 149 82 144 160 168 173 164 172 167 59 9 9 65 152 148
+ 168 174 162 175 173 170 164 170 170 160 112 8 3 6 124 155
+ 157 169 172 172 172 176 176 176 176 174 157 42 14 4 60 156
+ 171 166 168 163 174 167 165 172 162 163 177 76 27 20 51 154
+ 154 157 164 161 160 160 166 174 172 166 160 60 12 18 27 147
+ 165 172 164 168 168 168 175 175 172 173 178 92 24 20 24 144
+ 152 160 161 170 173 176 174 176 176 176 168 81 26 19 52 136
+ 151 143 103 160 160 171 171 172 169 170 143 44 17 13 106 177
+ 146 145 60 153 164 176 176 162 160 167 125 28 19 52 142 144
+ 172 162 20 95 162 163 164 164 166 144 52 22 32 122 166 161
+ 160 145 9 21 95 128 164 168 125 56 14 33 130 163 172 158
+ 154 140 70 119 84 84 85 80 54 59 97 145 168 168 156 142
+ 106 110 120 134 129 120 109 104 93 105 116 134 128 136 134 123
+ 154 160 155 148 136 116 108 102 103 119 131 146 157 148 153 148
+ 150 160 158 128 70 62 76 68 46 37 58 100 154 160 164 156
+ 146 160 108 58 133 155 168 162 139 86 16 22 65 151 160 135
+ 163 159 90 156 166 160 160 160 161 169 75 16 16 72 160 142
+ 160 162 150 166 160 160 160 160 160 160 129 28 16 19 137 150
+ 158 159 160 160 160 160 160 160 160 160 151 41 12 14 70 158
+ 163 158 160 160 160 160 160 160 160 160 167 54 11 12 43 146
+ 165 160 160 160 160 160 160 160 160 160 160 65 9 16 16 143
+ 138 152 160 160 160 160 160 160 160 160 160 76 16 14 20 140
+ 152 156 160 160 160 160 160 160 160 164 156 56 13 13 48 140
+ 154 157 133 171 160 160 160 160 160 162 149 46 15 11 91 148
+ 158 138 60 158 160 160 160 160 160 159 113 16 16 52 149 159
+ 152 150 26 97 160 160 160 160 160 132 52 14 28 132 161 141
+ 168 150 24 24 95 122 156 154 120 51 8 38 144 160 160 138
+ 157 160 98 135 90 84 82 65 56 71 106 152 164 160 160 147
+ 106 106 110 124 120 118 109 104 100 110 120 120 112 120 127 118
+ 141 155 160 151 136 120 108 106 116 129 133 146 164 164 159 138
+ 134 156 158 128 70 65 74 73 54 47 58 104 170 168 161 138
+ 158 160 108 66 130 155 160 160 148 96 22 23 69 152 162 151
+ 162 147 68 136 158 160 160 160 165 164 66 13 16 73 160 144
+ 144 154 142 159 159 160 160 160 162 164 127 19 16 19 130 132
+ 168 169 160 160 160 160 160 160 160 164 159 51 17 12 56 156
+ 168 158 160 160 160 160 160 160 160 160 164 68 25 20 39 144
+ 152 159 169 160 160 160 160 160 160 166 173 73 13 8 19 138
+ 151 166 170 164 160 160 160 160 160 162 158 63 6 15 32 148
+ 162 160 161 162 160 162 161 160 160 160 154 53 9 24 76 159
+ 143 153 104 160 169 164 162 160 160 160 140 42 15 20 119 163
+ 142 128 52 158 160 160 168 160 160 159 110 14 16 56 151 151
+ 164 161 36 102 166 163 162 160 160 130 42 10 32 132 158 152
+ 172 163 25 32 89 128 156 152 109 49 18 42 138 160 160 156
+ 144 136 70 124 84 84 81 72 55 68 106 145 164 166 164 141
+ 120 106 112 126 118 116 116 108 95 101 120 120 115 127 126 97
+
+ 138 160 154 148 155 156 154 147 144 136 177 144 161 158 142 123
+ 145 164 174 152 124 60 51 27 24 52 106 142 166 172 156 134
+ 150 169 164 65 6 4 20 18 20 19 13 52 122 163 168 136
+ 161 170 75 9 3 14 27 12 24 26 17 19 32 130 168 128
+ 148 116 29 9 8 42 76 60 92 81 44 28 22 33 145 134
+ 130 65 20 59 112 157 177 160 178 168 143 125 52 14 97 116
+ 127 49 97 167 160 174 163 166 173 176 170 167 144 56 59 105
+ 112 50 140 172 170 176 162 172 172 176 169 160 166 125 54 93
+ 111 72 160 164 170 176 172 174 175 176 172 162 164 168 80 104
+ 112 86 166 173 164 176 165 166 175 174 171 176 164 164 85 109
+ 116 68 157 168 170 176 167 160 168 176 171 176 163 128 84 120
+ 136 82 130 160 173 172 174 160 168 173 160 164 162 95 84 129
+ 151 135 66 144 175 172 163 161 168 170 160 153 95 21 119 134
+ 160 158 108 82 162 172 168 164 164 161 103 60 20 9 70 120
+ 160 156 158 149 174 169 166 157 172 160 143 145 162 145 140 110
+ 158 138 156 141 168 157 171 154 165 152 151 146 172 160 154 106
+ 148 156 135 142 150 158 146 143 140 140 148 159 141 138 147 118
+ 153 164 160 160 137 70 43 16 20 48 91 149 161 160 160 127
+ 148 160 151 72 19 14 12 16 14 13 11 52 132 160 160 120
+ 157 154 65 16 16 12 11 9 16 13 15 16 28 144 164 112
+ 146 100 22 16 28 41 54 65 76 56 46 16 14 38 152 120
+ 131 58 16 75 129 151 167 160 160 156 149 113 52 8 106 120
+ 119 37 86 169 160 160 160 160 160 164 162 159 132 51 71 110
+ 103 46 139 161 160 160 160 160 160 160 160 160 160 120 56 100
+ 102 68 162 160 160 160 160 160 160 160 160 160 160 154 65 104
+ 108 76 168 160 160 160 160 160 160 160 160 160 160 156 82 109
+ 116 62 155 160 160 160 160 160 160 160 160 160 160 122 84 118
+ 136 70 133 166 160 160 160 160 160 160 160 160 160 95 90 120
+ 148 128 58 156 166 160 160 160 160 160 171 158 97 24 135 124
+ 155 158 108 90 150 160 160 160 160 160 133 60 26 24 98 110
+ 160 160 160 159 162 159 158 160 152 156 157 138 150 150 160 106
+ 154 150 146 163 160 158 163 165 138 152 154 158 152 168 157 106
+ 138 138 151 144 132 156 144 138 148 159 163 151 152 156 141 97
+ 159 161 162 160 130 56 39 19 32 76 119 151 158 160 164 126
+ 164 168 152 73 19 12 20 8 15 24 20 56 132 160 166 127
+ 164 170 69 16 16 17 25 13 6 9 15 16 32 138 164 115
+ 146 104 23 13 19 51 68 73 63 53 42 14 10 42 145 120
+ 133 58 22 66 127 159 164 173 158 154 140 110 42 18 106 120
+ 129 47 96 164 164 164 160 166 162 160 160 159 130 49 68 101
+ 116 54 148 165 162 160 160 160 160 160 160 160 160 109 55 95
+ 106 73 160 160 160 160 160 160 160 160 160 160 160 152 72 108
+ 108 74 160 160 160 160 160 160 160 161 162 168 162 156 81 116
+ 120 65 155 160 160 160 160 160 160 162 164 160 163 128 84 116
+ 136 70 130 158 159 160 160 160 160 160 169 160 166 89 84 118
+ 151 128 66 136 159 160 160 160 164 162 160 158 102 32 124 126
+ 160 158 108 68 142 160 160 169 170 161 104 52 36 25 70 112
+ 155 156 160 147 154 169 158 159 166 160 153 128 161 163 136 106
+ 141 134 158 162 144 168 168 152 151 162 143 142 164 172 144 120
+
diff --git a/Utilidades/bin/python/Data/patt.d b/Utilidades/bin/python/Data/patt.d
new file mode 100755
index 0000000..52c6e4f
--- /dev/null
+++ b/Utilidades/bin/python/Data/patt.d
@@ -0,0 +1,196 @@
+ 138 158 163 155 161 160 157 150 148 136 142 138 140 134 121 122
+ 122 122 124 130 118 132 136 125 147 164 166 170 176 176 176 159
+ 153 160 95 26 22 27 86 89 50 40 82 134 176 176 174 166
+ 143 170 157 20 16 29 170 175 164 98 22 34 96 164 168 174
+ 140 174 134 13 17 34 138 174 176 155 44 10 18 124 182 167
+ 143 176 155 36 16 21 133 175 176 169 110 22 24 65 164 177
+ 133 171 160 22 16 19 136 174 176 172 138 18 18 9 112 162
+ 144 179 146 16 16 16 142 176 176 174 162 16 16 12 76 164
+ 137 173 143 14 13 11 143 175 176 176 161 38 16 21 70 159
+ 144 173 134 15 16 23 140 174 176 176 173 29 16 17 74 159
+ 157 172 149 15 16 16 147 173 176 176 158 27 16 16 104 179
+ 146 173 146 14 19 27 156 176 176 170 137 22 18 35 139 163
+ 146 165 143 33 21 22 146 169 174 176 85 16 18 70 170 161
+ 148 168 148 25 17 29 148 169 160 139 31 20 58 148 176 166
+ 128 150 101 22 10 9 91 133 104 57 44 92 161 167 169 167
+ 125 114 109 107 105 86 91 92 95 114 142 160 164 152 164 154
+ 126 147 147 145 150 144 146 136 128 118 126 121 121 112 99 112
+ 122 116 110 122 118 124 137 126 146 154 156 160 160 160 160 157
+ 124 136 82 24 22 26 86 83 50 26 81 120 160 160 160 159
+ 119 160 145 24 14 11 139 159 148 82 9 19 88 166 160 156
+ 125 160 144 17 13 12 126 160 160 152 52 13 21 110 160 156
+ 113 160 139 22 16 17 121 160 160 160 97 12 15 35 146 160
+ 132 160 140 15 5 8 122 160 160 160 145 16 16 9 126 172
+ 136 160 139 8 10 12 132 160 160 160 162 26 16 16 76 158
+ 125 160 136 19 8 15 129 160 160 160 150 24 16 12 56 161
+ 139 161 148 25 16 15 133 160 160 160 156 20 16 16 65 154
+ 131 166 149 19 9 12 133 160 160 160 148 25 16 15 86 157
+ 130 160 150 22 11 22 143 160 160 160 134 16 16 18 119 156
+ 124 160 137 25 11 22 132 160 160 164 79 12 9 54 153 151
+ 129 160 132 17 12 18 146 162 160 138 26 5 34 130 160 146
+ 133 145 101 14 7 8 92 131 101 46 23 74 145 158 160 155
+ 113 104 101 97 99 79 76 83 83 102 123 150 156 156 158 146
+ 105 152 146 140 152 147 141 134 133 120 120 123 128 124 108 122
+ 113 117 109 118 117 119 130 122 138 158 158 161 162 160 167 173
+ 138 144 85 18 12 20 75 83 49 32 81 122 162 162 166 169
+ 133 166 137 11 4 14 144 165 146 84 15 32 92 161 162 169
+ 140 163 136 11 11 28 133 160 160 152 40 14 6 100 166 158
+ 138 167 141 29 16 24 134 160 160 162 103 12 10 51 144 152
+ 142 173 156 27 16 19 135 160 160 168 145 11 18 9 104 158
+ 124 163 151 21 16 17 140 160 160 160 162 19 16 12 80 152
+ 117 160 139 24 9 5 135 164 165 172 159 22 10 7 58 152
+ 127 158 136 15 7 6 130 162 160 164 165 28 16 6 57 145
+ 133 160 135 9 11 2 127 160 160 162 155 28 16 4 85 148
+ 140 164 134 11 10 5 134 160 162 160 130 22 16 18 121 161
+ 137 162 128 16 14 14 132 166 164 168 88 16 11 54 161 165
+ 142 168 143 23 16 19 138 156 164 148 34 16 43 133 164 170
+ 139 158 111 21 10 13 86 132 109 54 30 76 145 164 164 180
+ 107 104 105 98 100 79 81 80 80 95 123 158 156 156 156 158
+
+ 122 159 166 174 167 177 162 164 159 159 179 163 161 166 167 154
+ 121 176 174 168 182 164 112 76 70 74 104 139 170 176 169 164
+ 134 176 176 164 124 65 9 12 21 17 16 35 70 148 167 152
+ 140 176 176 96 18 24 18 16 16 16 16 18 18 58 161 164
+ 138 170 134 34 10 22 18 16 38 29 27 22 16 20 92 160
+ 142 166 82 22 44 110 138 162 161 173 158 137 85 31 44 142
+ 136 164 40 98 155 169 172 174 176 176 176 170 176 139 57 114
+ 148 147 50 164 176 176 176 176 176 176 176 176 174 160 104 95
+ 150 125 89 175 174 175 174 176 175 174 173 176 169 169 133 92
+ 157 136 86 170 138 133 136 142 143 140 147 156 146 148 91 91
+ 160 132 27 29 34 21 19 16 11 23 16 27 22 29 9 86
+ 161 118 22 16 17 16 16 16 13 16 16 19 21 17 10 105
+ 155 130 26 20 13 36 22 16 14 15 15 14 33 25 22 107
+ 163 124 95 157 134 155 160 146 143 134 149 146 143 148 101 109
+ 158 122 160 170 174 176 171 179 173 173 172 173 165 168 150 114
+ 138 122 153 143 140 143 133 144 137 144 157 146 146 148 128 125
+ 112 157 159 156 156 160 172 158 161 154 157 156 151 146 155 146
+ 99 160 160 160 160 146 126 76 56 65 86 119 153 160 160 158
+ 112 160 160 166 110 35 9 16 12 16 15 18 54 130 158 156
+ 121 160 160 88 21 15 16 16 16 16 16 16 9 34 145 156
+ 121 160 120 19 13 12 16 26 24 20 25 16 12 5 74 150
+ 126 156 81 9 52 97 145 162 150 156 148 134 79 26 23 123
+ 118 154 26 82 152 160 160 160 160 160 160 160 164 138 46 102
+ 128 146 50 148 160 160 160 160 160 160 160 160 160 160 101 83
+ 136 126 83 159 160 160 160 160 160 160 160 160 160 162 131 83
+ 146 137 86 139 126 121 122 132 129 133 133 143 132 146 92 76
+ 144 124 26 11 12 17 8 12 15 15 12 22 22 18 8 79
+ 150 118 22 14 13 16 5 10 8 16 9 11 11 12 7 99
+ 145 122 24 24 17 22 15 8 19 25 19 22 25 17 14 97
+ 147 110 82 145 144 139 140 139 136 148 149 150 137 132 101 101
+ 147 116 136 160 160 160 160 160 160 161 166 160 160 160 145 104
+ 126 122 124 119 125 113 132 136 125 139 131 130 124 129 133 113
+ 122 173 169 169 158 152 158 152 152 145 148 161 165 170 180 158
+ 108 167 166 162 166 144 104 80 58 57 85 121 161 164 164 156
+ 124 160 162 161 100 51 9 12 7 6 4 18 54 133 164 156
+ 128 162 162 92 6 10 18 16 10 16 16 16 11 43 145 156
+ 123 161 122 32 14 12 11 19 22 28 28 22 16 16 76 158
+ 120 158 81 15 40 103 145 162 159 165 155 130 88 34 30 123
+ 120 158 32 84 152 162 168 160 172 164 162 160 168 148 54 95
+ 133 138 49 146 160 160 160 160 165 160 160 162 164 164 109 80
+ 134 122 83 165 160 160 160 160 164 162 160 160 166 156 132 80
+ 141 130 75 144 133 134 135 140 135 130 127 134 132 138 86 81
+ 147 119 20 14 28 24 19 17 5 6 2 5 14 19 13 79
+ 152 117 12 4 11 16 16 16 9 7 11 10 14 16 10 100
+ 140 118 18 11 11 29 27 21 24 15 9 11 16 23 21 98
+ 146 109 85 137 136 141 156 151 139 136 135 134 128 143 111 105
+ 152 117 144 166 163 167 173 163 160 158 160 164 162 168 158 104
+ 105 113 138 133 140 138 142 124 117 127 133 140 137 142 139 107
+
+ 154 164 152 164 160 142 114 95 92 91 86 105 107 109 114 125
+ 167 169 167 161 92 44 57 104 133 91 9 10 22 101 150 128
+ 166 176 148 58 20 31 139 160 169 148 29 17 25 148 168 148
+ 161 170 70 18 16 85 176 174 169 146 22 21 33 143 165 146
+ 163 139 35 18 22 137 170 176 176 156 27 19 14 146 173 146
+ 179 104 16 16 27 158 176 176 173 147 16 16 15 149 172 157
+ 159 74 17 16 29 173 176 176 174 140 23 16 15 134 173 144
+ 159 70 21 16 38 161 176 176 175 143 11 13 14 143 173 137
+ 164 76 12 16 16 162 174 176 176 142 16 16 16 146 179 144
+ 162 112 9 18 18 138 172 176 174 136 19 16 22 160 171 133
+ 177 164 65 24 22 110 169 176 175 133 21 16 36 155 176 143
+ 167 182 124 18 10 44 155 176 174 138 34 17 13 134 174 140
+ 174 168 164 96 34 22 98 164 175 170 29 16 20 157 170 143
+ 166 174 176 176 134 82 40 50 89 86 27 22 26 95 160 153
+ 159 176 176 176 170 166 164 147 125 136 132 118 130 124 122 122
+ 122 121 134 140 138 142 136 148 150 157 160 161 155 163 158 138
+ 146 158 156 156 150 123 102 83 83 76 79 99 97 101 104 113
+ 155 160 158 145 74 23 46 101 131 92 8 7 14 101 145 133
+ 146 160 130 34 5 26 138 160 162 146 18 12 17 132 160 129
+ 151 153 54 9 12 79 164 160 160 132 22 11 25 137 160 124
+ 156 119 18 16 16 134 160 160 160 143 22 11 22 150 160 130
+ 157 86 15 16 25 148 160 160 160 133 12 9 19 149 166 131
+ 154 65 16 16 20 156 160 160 160 133 15 16 25 148 161 139
+ 161 56 12 16 24 150 160 160 160 129 15 8 19 136 160 125
+ 158 76 16 16 26 162 160 160 160 132 12 10 8 139 160 136
+ 172 126 9 16 16 145 160 160 160 122 8 5 15 140 160 132
+ 160 146 35 15 12 97 160 160 160 121 17 16 22 139 160 113
+ 156 160 110 21 13 52 152 160 160 126 12 13 17 144 160 125
+ 156 160 166 88 19 9 82 148 159 139 11 14 24 145 160 119
+ 159 160 160 160 120 81 26 50 83 86 26 22 24 82 136 124
+ 157 160 160 160 160 156 154 146 126 137 124 118 122 110 116 122
+ 112 99 112 121 121 126 118 128 136 146 144 150 145 147 147 126
+ 158 156 156 156 158 123 95 80 80 81 79 100 98 105 104 107
+ 180 164 164 145 76 30 54 109 132 86 13 10 21 111 158 139
+ 170 164 133 43 16 34 148 164 156 138 19 16 23 143 168 142
+ 165 161 54 11 16 88 168 164 166 132 14 14 16 128 162 137
+ 161 121 18 16 22 130 160 162 160 134 5 10 11 134 164 140
+ 148 85 4 16 28 155 162 160 160 127 2 11 9 135 160 133
+ 145 57 6 16 28 165 164 160 162 130 6 7 15 136 158 127
+ 152 58 7 10 22 159 172 165 164 135 5 9 24 139 160 117
+ 152 80 12 16 19 162 160 160 160 140 17 16 21 151 163 124
+ 158 104 9 18 11 145 168 160 160 135 19 16 27 156 173 142
+ 152 144 51 10 12 103 162 160 160 134 24 16 29 141 167 138
+ 158 166 100 6 14 40 152 160 160 133 28 11 11 136 163 140
+ 169 162 161 92 32 15 84 146 165 144 14 4 11 137 166 133
+ 169 166 162 162 122 81 32 49 83 75 20 12 18 85 144 138
+ 173 167 160 162 161 158 158 138 122 130 119 117 118 109 117 113
+ 122 108 124 128 123 120 120 133 134 141 147 152 140 146 152 105
+
+ 125 128 148 146 146 157 144 137 144 133 143 140 143 153 122 138
+ 114 150 168 165 173 172 173 173 179 171 176 174 170 160 122 158
+ 109 101 148 143 146 149 134 143 146 160 155 134 157 95 124 163
+ 107 22 25 33 14 15 15 14 16 22 36 13 20 26 130 155
+ 105 10 17 21 19 16 16 13 16 16 16 17 16 22 118 161
+ 86 9 29 22 27 16 23 11 16 19 21 34 29 27 132 160
+ 91 91 148 146 156 147 140 143 142 136 133 138 170 86 136 157
+ 92 133 169 169 176 173 174 175 176 174 175 174 175 89 125 150
+ 95 104 160 174 176 176 176 176 176 176 176 176 164 50 147 148
+ 114 57 139 176 170 176 176 176 174 172 169 155 98 40 164 136
+ 142 44 31 85 137 158 173 161 162 138 110 44 22 82 166 142
+ 160 92 20 16 22 27 29 38 16 18 22 10 34 134 170 138
+ 164 161 58 18 18 16 16 16 16 18 24 18 96 176 176 140
+ 152 167 148 70 35 16 17 21 12 9 65 124 164 176 176 134
+ 164 169 176 170 139 104 74 70 76 112 164 182 168 174 176 121
+ 154 167 166 161 163 179 159 159 164 162 177 167 174 166 159 122
+ 113 133 129 124 130 131 139 125 136 132 113 125 119 124 122 126
+ 104 145 160 160 160 166 161 160 160 160 160 160 160 136 116 147
+ 101 101 132 137 150 149 148 136 139 140 139 144 145 82 110 147
+ 97 14 17 25 22 19 25 19 8 15 22 17 24 24 122 145
+ 99 7 12 11 11 9 16 8 10 5 16 13 14 22 118 150
+ 79 8 18 22 22 12 15 15 12 8 17 12 11 26 124 144
+ 76 92 146 132 143 133 133 129 132 122 121 126 139 86 137 146
+ 83 131 162 160 160 160 160 160 160 160 160 160 159 83 126 136
+ 83 101 160 160 160 160 160 160 160 160 160 160 148 50 146 128
+ 102 46 138 164 160 160 160 160 160 160 160 152 82 26 154 118
+ 123 23 26 79 134 148 156 150 162 145 97 52 9 81 156 126
+ 150 74 5 12 16 25 20 24 26 16 12 13 19 120 160 121
+ 156 145 34 9 16 16 16 16 16 16 15 21 88 160 160 121
+ 156 158 130 54 18 15 16 12 16 9 35 110 166 160 160 112
+ 158 160 160 153 119 86 65 56 76 126 146 160 160 160 160 99
+ 146 155 146 151 156 157 154 161 158 172 160 156 156 159 157 112
+ 107 139 142 137 140 133 127 117 124 142 138 140 133 138 113 105
+ 104 158 168 162 164 160 158 160 163 173 167 163 166 144 117 152
+ 105 111 143 128 134 135 136 139 151 156 141 136 137 85 109 146
+ 98 21 23 16 11 9 15 24 21 27 29 11 11 18 118 140
+ 100 10 16 14 10 11 7 9 16 16 16 11 4 12 117 152
+ 79 13 19 14 5 2 6 5 17 19 24 28 14 20 119 147
+ 81 86 138 132 134 127 130 135 140 135 134 133 144 75 130 141
+ 80 132 156 166 160 160 162 164 160 160 160 160 165 83 122 134
+ 80 109 164 164 162 160 160 165 160 160 160 160 146 49 138 133
+ 95 54 148 168 160 162 164 172 160 168 162 152 84 32 158 120
+ 123 30 34 88 130 155 165 159 162 145 103 40 15 81 158 120
+ 158 76 16 16 22 28 28 22 19 11 12 14 32 122 161 123
+ 156 145 43 11 16 16 16 10 16 18 10 6 92 162 162 128
+ 156 164 133 54 18 4 6 7 12 9 51 100 161 162 160 124
+ 156 164 164 161 121 85 57 58 80 104 144 166 162 166 167 108
+ 158 180 170 165 161 148 145 152 152 158 152 158 169 169 173 122
+
diff --git a/Utilidades/bin/python/Data/patt.f b/Utilidades/bin/python/Data/patt.f
new file mode 100755
index 0000000..94fe9ca
--- /dev/null
+++ b/Utilidades/bin/python/Data/patt.f
@@ -0,0 +1,196 @@
+ 146 151 146 148 144 150 150 136 131 141 144 144 142 142 143 140
+ 163 170 150 114 74 56 68 96 113 108 98 94 77 105 167 168
+ 148 172 162 160 38 17 26 112 154 160 148 118 60 77 168 156
+ 152 175 170 160 58 16 21 94 170 176 176 176 148 88 172 155
+ 155 170 176 163 63 16 11 116 172 176 167 166 172 123 170 152
+ 148 176 176 160 53 16 24 134 172 166 128 154 176 156 172 151
+ 164 176 175 167 62 16 16 110 165 145 77 142 176 173 172 148
+ 155 176 175 173 50 16 30 92 126 90 28 153 176 176 173 151
+ 146 171 172 164 36 16 29 101 118 83 44 158 174 176 168 166
+ 157 175 176 164 52 16 24 111 164 148 70 140 173 174 168 164
+ 153 176 176 167 56 19 24 124 176 166 129 152 175 176 176 160
+ 156 176 176 156 43 16 22 130 176 176 158 160 167 171 168 147
+ 159 173 176 166 47 16 19 125 173 176 176 176 176 168 168 156
+ 156 176 174 159 40 19 22 102 164 176 176 176 176 168 166 148
+ 158 180 164 126 81 69 62 90 132 164 176 176 176 174 171 143
+ 135 152 152 152 149 150 137 134 140 162 160 160 160 158 158 138
+ 132 147 138 136 136 129 130 120 124 139 144 144 144 138 130 136
+ 149 158 141 110 66 48 58 80 97 84 82 80 68 96 156 152
+ 137 164 160 154 30 16 21 103 150 144 136 112 52 65 160 150
+ 140 160 160 152 48 16 22 96 160 160 160 160 136 72 160 151
+ 143 160 160 154 53 16 7 108 160 160 160 160 166 108 160 155
+ 148 160 160 157 50 16 14 120 160 160 114 139 164 154 160 144
+ 152 160 160 147 47 16 16 102 159 142 75 138 160 160 160 140
+ 143 160 160 160 48 16 16 76 114 84 26 144 166 160 160 150
+ 142 160 164 160 42 16 19 85 104 70 32 150 164 160 160 158
+ 140 160 160 152 52 16 22 107 162 146 60 130 164 160 160 152
+ 140 160 160 156 53 16 11 108 164 166 126 142 160 160 160 152
+ 152 165 160 153 42 16 16 120 164 164 150 152 160 160 160 147
+ 150 163 163 152 47 16 16 111 161 161 160 160 160 160 160 154
+ 140 160 160 156 38 16 16 96 164 164 160 160 160 161 162 142
+ 146 160 142 108 64 58 53 81 132 152 160 160 160 161 161 139
+ 131 146 136 144 139 150 137 132 136 150 148 152 154 160 160 142
+ 134 151 146 142 136 151 156 135 127 143 144 132 133 134 135 142
+ 158 166 144 110 62 48 50 76 89 82 76 73 57 92 158 156
+ 142 164 160 148 32 16 20 109 150 148 142 116 41 61 158 146
+ 140 170 166 160 54 16 15 94 160 160 160 160 132 68 160 151
+ 143 168 172 164 54 16 16 116 160 160 157 157 162 109 160 146
+ 144 160 160 149 48 16 14 120 163 173 119 135 164 156 160 144
+ 152 172 169 154 59 16 12 106 158 142 70 138 160 160 160 142
+ 144 162 162 160 48 16 16 76 110 74 20 144 160 160 166 148
+ 136 162 165 160 34 15 14 79 104 67 24 146 160 160 162 162
+ 149 171 166 164 52 12 10 114 170 144 61 131 162 174 172 160
+ 144 172 162 158 54 16 12 104 160 163 117 143 162 162 160 148
+ 148 168 166 157 50 16 10 120 160 160 148 158 163 166 160 148
+ 158 160 160 156 47 16 16 119 162 166 160 160 164 160 160 151
+ 140 160 158 152 26 9 14 96 164 160 160 160 165 160 164 146
+ 150 168 143 104 62 50 50 75 121 148 160 170 161 164 165 139
+ 136 152 160 160 153 155 138 134 142 158 156 160 160 161 163 140
+
+ 140 168 156 155 152 151 148 151 166 164 160 147 156 148 143 138
+ 143 167 168 172 170 172 172 173 168 168 176 168 168 166 171 158
+ 142 105 77 88 123 156 173 176 176 174 176 171 168 168 174 158
+ 142 77 60 148 172 176 176 176 174 173 175 167 176 176 176 160
+ 144 94 118 176 166 154 142 153 158 140 152 160 176 176 176 160
+ 144 98 148 176 167 128 77 28 44 70 129 158 176 176 176 160
+ 141 108 160 176 176 166 145 90 83 148 166 176 176 176 164 162
+ 131 113 154 170 172 172 165 126 118 164 176 176 173 164 132 140
+ 136 96 112 94 116 134 110 92 101 111 124 130 125 102 90 134
+ 150 68 26 21 11 24 16 30 29 24 24 22 19 22 62 137
+ 150 56 17 16 16 16 16 16 16 16 19 16 16 19 69 150
+ 144 74 38 58 63 53 62 50 36 52 56 43 47 40 81 149
+ 148 114 160 160 163 160 167 173 164 164 167 156 166 159 126 152
+ 146 150 162 170 176 176 175 175 172 176 176 176 176 174 164 152
+ 151 170 172 175 170 176 176 176 171 175 176 176 173 176 180 152
+ 146 163 148 152 155 148 164 155 146 157 153 156 159 156 158 135
+ 136 152 150 151 155 144 140 150 158 152 152 147 154 142 139 142
+ 130 156 160 160 160 160 160 160 160 160 160 160 160 162 161 160
+ 138 96 65 72 108 154 160 160 160 160 160 160 160 161 161 160
+ 144 68 52 136 166 164 160 166 164 164 160 160 160 160 160 154
+ 144 80 112 160 160 139 138 144 150 130 142 152 160 160 160 152
+ 144 82 136 160 160 114 75 26 32 60 126 150 160 160 160 148
+ 139 84 144 160 160 160 142 84 70 146 166 164 161 164 152 150
+ 124 97 150 160 160 160 159 114 104 162 164 164 161 164 132 136
+ 120 80 103 96 108 120 102 76 85 107 108 120 111 96 81 132
+ 130 58 21 22 7 14 16 16 19 22 11 16 16 16 53 137
+ 129 48 16 16 16 16 16 16 16 16 16 16 16 16 58 150
+ 136 66 30 48 53 50 47 48 42 52 53 42 47 38 64 139
+ 136 110 154 152 154 157 147 160 160 152 156 153 152 156 108 144
+ 138 141 160 160 160 160 160 160 164 160 160 160 163 160 142 136
+ 147 158 164 160 160 160 160 160 160 160 160 165 163 160 160 146
+ 132 149 137 140 143 148 152 143 142 140 140 152 150 140 146 131
+ 142 156 146 151 146 144 142 148 162 160 148 148 151 146 139 140
+ 135 158 158 160 160 160 160 166 162 172 160 160 160 164 165 163
+ 134 92 61 68 109 156 160 160 160 174 162 166 160 160 164 161
+ 133 57 41 132 162 164 160 160 160 162 162 163 164 165 161 160
+ 132 73 116 160 157 135 138 144 146 131 143 158 160 160 170 160
+ 144 76 142 160 157 119 70 20 24 61 117 148 160 160 160 156
+ 143 82 148 160 160 173 142 74 67 144 163 160 166 160 148 158
+ 127 89 150 160 160 163 158 110 104 170 160 160 162 164 121 142
+ 135 76 109 94 116 120 106 76 79 114 104 120 119 96 75 134
+ 156 50 20 15 16 14 12 16 14 10 12 10 16 14 50 138
+ 151 48 16 16 16 16 16 16 15 12 16 16 16 9 50 155
+ 136 62 32 54 54 48 59 48 34 52 54 50 47 26 62 153
+ 142 110 148 160 164 149 154 160 160 164 158 157 156 152 104 160
+ 146 144 160 166 172 160 169 162 165 166 162 166 160 158 143 160
+ 151 166 164 170 168 160 172 162 162 171 172 168 160 160 168 152
+ 134 158 142 140 143 144 152 144 136 149 144 148 158 140 150 136
+
+ 138 158 158 160 160 160 162 140 134 137 150 149 152 152 152 135
+ 143 171 174 176 176 176 164 132 90 62 69 81 126 164 180 158
+ 148 166 168 176 176 176 176 164 102 22 19 40 159 174 176 156
+ 156 168 168 176 176 176 176 173 125 19 16 47 166 176 173 159
+ 147 168 171 167 160 158 176 176 130 22 16 43 156 176 176 156
+ 160 176 176 175 152 129 166 176 124 24 19 56 167 176 176 153
+ 164 168 174 173 140 70 148 164 111 24 16 52 164 176 175 157
+ 166 168 176 174 158 44 83 118 101 29 16 36 164 172 171 146
+ 151 173 176 176 153 28 90 126 92 30 16 50 173 175 176 155
+ 148 172 173 176 142 77 145 165 110 16 16 62 167 175 176 164
+ 151 172 156 176 154 128 166 172 134 24 16 53 160 176 176 148
+ 152 170 123 172 166 167 176 172 116 11 16 63 163 176 170 155
+ 155 172 88 148 176 176 176 170 94 21 16 58 160 170 175 152
+ 156 168 77 60 118 148 160 154 112 26 17 38 160 162 172 148
+ 168 167 105 77 94 98 108 113 96 68 56 74 114 150 170 163
+ 140 143 142 142 144 144 141 131 136 150 150 144 148 146 151 146
+ 142 160 160 154 152 148 150 136 132 137 150 139 144 136 146 131
+ 139 161 161 160 160 160 152 132 81 53 58 64 108 142 160 146
+ 142 162 161 160 160 160 164 164 96 16 16 38 156 160 160 140
+ 154 160 160 160 160 160 161 161 111 16 16 47 152 163 163 150
+ 147 160 160 160 152 150 164 164 120 16 16 42 153 160 165 152
+ 152 160 160 160 142 126 166 164 108 11 16 53 156 160 160 140
+ 152 160 160 164 130 60 146 162 107 22 16 52 152 160 160 140
+ 158 160 160 164 150 32 70 104 85 19 16 42 160 164 160 142
+ 150 160 160 166 144 26 84 114 76 16 16 48 160 160 160 143
+ 140 160 160 160 138 75 142 159 102 16 16 47 147 160 160 152
+ 144 160 154 164 139 114 160 160 120 14 16 50 157 160 160 148
+ 155 160 108 166 160 160 160 160 108 7 16 53 154 160 160 143
+ 151 160 72 136 160 160 160 160 96 22 16 48 152 160 160 140
+ 150 160 65 52 112 136 144 150 103 21 16 30 154 160 164 137
+ 152 156 96 68 80 82 84 97 80 58 48 66 110 141 158 149
+ 136 130 138 144 144 144 139 124 120 130 129 136 136 138 147 132
+ 140 163 161 160 160 156 158 142 134 138 155 153 160 160 152 136
+ 139 165 164 161 170 160 148 121 75 50 50 62 104 143 168 150
+ 146 164 160 165 160 160 160 164 96 14 9 26 152 158 160 140
+ 151 160 160 164 160 160 166 162 119 16 16 47 156 160 160 158
+ 148 160 166 163 158 148 160 160 120 10 16 50 157 166 168 148
+ 148 160 162 162 143 117 163 160 104 12 16 54 158 162 172 144
+ 160 172 174 162 131 61 144 170 114 10 12 52 164 166 171 149
+ 162 162 160 160 146 24 67 104 79 14 15 34 160 165 162 136
+ 148 166 160 160 144 20 74 110 76 16 16 48 160 162 162 144
+ 142 160 160 160 138 70 142 158 106 12 16 59 154 169 172 152
+ 144 160 156 164 135 119 173 163 120 14 16 48 149 160 160 144
+ 146 160 109 162 157 157 160 160 116 16 16 54 164 172 168 143
+ 151 160 68 132 160 160 160 160 94 15 16 54 160 166 170 140
+ 146 158 61 41 116 142 148 150 109 20 16 32 148 160 164 142
+ 156 158 92 57 73 76 82 89 76 50 48 62 110 144 166 158
+ 142 135 134 133 132 144 143 127 135 156 151 136 142 146 151 134
+
+ 135 158 156 159 156 153 157 146 155 164 148 155 152 148 163 146
+ 152 180 176 173 176 176 175 171 176 176 176 170 175 172 170 151
+ 152 164 174 176 176 176 176 172 175 175 176 176 170 162 150 146
+ 152 126 159 166 156 167 164 164 173 167 160 163 160 160 114 148
+ 149 81 40 47 43 56 52 36 50 62 53 63 58 38 74 144
+ 150 69 19 16 16 19 16 16 16 16 16 16 16 17 56 150
+ 137 62 22 19 22 24 24 29 30 16 24 11 21 26 68 150
+ 134 90 102 125 130 124 111 101 92 110 134 116 94 112 96 136
+ 140 132 164 173 176 176 164 118 126 165 172 172 170 154 113 131
+ 162 164 176 176 176 166 148 83 90 145 166 176 176 160 108 141
+ 160 176 176 176 158 129 70 44 28 77 128 167 176 148 98 144
+ 160 176 176 176 160 152 140 158 153 142 154 166 176 118 94 144
+ 160 176 176 176 167 175 173 174 176 176 176 172 148 60 77 142
+ 158 174 168 168 171 176 174 176 176 173 156 123 88 77 105 142
+ 158 171 166 168 168 176 168 168 173 172 172 170 172 168 167 143
+ 138 143 148 156 147 160 164 166 151 148 151 152 155 156 168 140
+ 131 146 140 150 152 140 140 142 143 152 148 143 140 137 149 132
+ 146 160 160 163 165 160 160 160 160 160 160 160 160 164 158 147
+ 136 142 160 163 160 160 160 164 160 160 160 160 160 160 141 138
+ 144 108 156 152 153 156 152 160 160 147 157 154 152 154 110 136
+ 139 64 38 47 42 53 52 42 48 47 50 53 48 30 66 136
+ 150 58 16 16 16 16 16 16 16 16 16 16 16 16 48 129
+ 137 53 16 16 16 11 22 19 16 16 14 7 22 21 58 130
+ 132 81 96 111 120 108 107 85 76 102 120 108 96 103 80 120
+ 136 132 164 161 164 164 162 104 114 159 160 160 160 150 97 124
+ 150 152 164 161 164 166 146 70 84 142 160 160 160 144 84 139
+ 148 160 160 160 150 126 60 32 26 75 114 160 160 136 82 144
+ 152 160 160 160 152 142 130 150 144 138 139 160 160 112 80 144
+ 154 160 160 160 160 160 164 164 166 160 164 166 136 52 68 144
+ 160 161 161 160 160 160 160 160 160 160 154 108 72 65 96 138
+ 160 161 162 160 160 160 160 160 160 160 160 160 160 160 156 130
+ 142 139 142 154 147 152 152 158 150 140 144 155 151 150 152 136
+ 136 150 140 158 148 144 149 136 144 152 144 143 140 142 158 134
+ 152 168 160 160 168 172 171 162 162 172 160 168 170 164 166 151
+ 160 143 158 160 166 162 166 165 162 169 160 172 166 160 144 146
+ 160 104 152 156 157 158 164 160 160 154 149 164 160 148 110 142
+ 153 62 26 47 50 54 52 34 48 59 48 54 54 32 62 136
+ 155 50 9 16 16 16 12 15 16 16 16 16 16 16 48 151
+ 138 50 14 16 10 12 10 14 16 12 14 16 15 20 50 156
+ 134 75 96 119 120 104 114 79 76 106 120 116 94 109 76 135
+ 142 121 164 162 160 160 170 104 110 158 163 160 160 150 89 127
+ 158 148 160 166 160 163 144 67 74 142 173 160 160 148 82 143
+ 156 160 160 160 148 117 61 24 20 70 119 157 160 142 76 144
+ 160 170 160 160 158 143 131 146 144 138 135 157 160 116 73 132
+ 160 161 165 164 163 162 162 160 160 160 164 162 132 41 57 133
+ 161 164 160 160 166 162 174 160 160 160 156 109 68 61 92 134
+ 163 165 164 160 160 160 172 162 166 160 160 160 160 158 158 135
+ 140 139 146 151 148 148 160 162 148 142 144 146 151 146 156 142
+
diff --git a/Utilidades/bin/python/Data/patt.g b/Utilidades/bin/python/Data/patt.g
new file mode 100755
index 0000000..be7d282
--- /dev/null
+++ b/Utilidades/bin/python/Data/patt.g
@@ -0,0 +1,196 @@
+ 120 126 132 128 136 129 113 114 105 105 105 109 109 113 120 103
+ 161 168 163 161 151 112 75 68 72 77 60 105 147 148 124 138
+ 147 160 158 129 52 27 75 141 157 162 133 78 50 35 91 146
+ 143 160 122 28 20 51 157 166 170 166 176 173 115 29 103 150
+ 148 150 49 17 22 113 161 169 170 167 163 163 172 78 96 148
+ 145 101 16 16 37 155 173 172 167 160 160 165 163 132 113 155
+ 138 53 16 21 59 158 169 168 174 166 169 165 166 160 160 139
+ 135 20 13 19 62 161 170 170 169 171 166 160 160 160 160 142
+ 142 27 16 12 66 170 172 176 170 174 155 158 155 164 160 142
+ 141 22 11 18 57 162 169 167 161 124 94 75 72 66 68 108
+ 161 64 16 14 34 161 171 165 160 156 146 34 16 16 90 136
+ 145 117 12 19 39 154 168 160 163 169 171 22 15 14 104 140
+ 150 150 70 12 8 93 163 167 162 161 160 38 16 12 101 131
+ 161 167 155 74 19 19 124 166 169 164 164 36 18 17 114 137
+ 152 160 169 169 119 49 35 64 100 105 87 40 62 76 139 139
+ 151 154 150 160 150 148 127 111 103 116 116 128 144 164 162 139
+ 97 114 121 114 120 117 100 109 100 99 101 99 97 100 108 97
+ 139 157 160 159 147 111 67 62 65 71 56 101 136 137 111 133
+ 141 160 160 131 57 16 58 121 144 152 124 67 29 25 96 134
+ 133 158 122 33 15 35 149 160 160 160 160 160 84 14 103 138
+ 144 147 47 9 10 103 160 160 154 160 155 160 151 66 93 145
+ 132 98 15 16 33 150 160 160 160 160 160 160 157 129 104 144
+ 139 48 11 15 50 157 160 160 160 160 160 156 158 153 152 154
+ 141 32 12 16 59 160 160 160 160 160 160 154 160 160 158 136
+ 136 20 10 16 65 156 160 160 160 160 154 158 155 157 156 135
+ 134 29 16 16 58 155 160 160 160 121 84 69 67 62 60 88
+ 137 57 9 14 36 159 160 160 160 153 137 17 14 14 84 128
+ 136 126 19 11 28 139 158 160 156 160 152 20 14 13 102 140
+ 140 155 79 12 10 90 152 160 160 159 145 39 16 12 106 140
+ 148 160 152 68 14 24 118 156 160 160 162 34 10 11 107 133
+ 147 160 160 156 104 42 21 58 94 100 72 24 46 74 130 123
+ 142 152 152 160 145 147 125 111 99 105 106 129 141 152 148 129
+ 110 114 121 122 126 120 104 104 100 94 96 98 98 103 108 107
+ 143 159 160 160 151 117 80 72 68 71 56 105 136 145 119 144
+ 141 159 157 129 54 18 61 121 144 152 122 58 29 18 81 144
+ 130 153 121 33 9 39 147 159 160 160 156 159 89 11 91 134
+ 128 141 43 16 19 113 152 154 160 160 160 159 153 67 88 137
+ 134 104 18 2 19 137 158 160 160 156 160 160 156 118 109 131
+ 139 52 16 9 37 146 160 160 160 158 160 160 159 160 144 136
+ 129 28 16 10 47 151 160 158 156 160 160 160 160 159 156 143
+ 142 31 15 10 51 157 160 157 159 160 154 160 156 156 155 154
+ 156 37 9 1 51 158 160 160 160 117 94 73 78 68 65 91
+ 154 59 10 15 49 153 159 160 160 154 144 29 16 5 73 122
+ 152 124 16 15 25 136 157 160 160 160 158 27 7 1 90 127
+ 147 153 71 8 5 108 158 160 160 160 148 27 10 2 98 127
+ 143 155 152 70 15 24 118 156 155 156 150 27 9 17 112 133
+ 137 153 149 152 107 51 27 57 94 100 78 29 42 70 132 139
+ 135 154 147 155 151 152 126 104 94 105 110 124 141 158 152 145
+
+ 103 138 146 150 148 155 139 142 142 108 136 140 131 137 139 139
+ 120 124 91 103 96 113 160 160 160 68 90 104 101 114 139 162
+ 113 148 35 29 78 132 160 160 164 66 16 14 12 17 76 164
+ 109 147 50 115 172 163 166 160 155 72 16 15 16 18 62 144
+ 109 105 78 173 163 165 165 160 158 75 34 22 38 36 40 128
+ 105 60 133 176 163 160 169 166 155 94 146 171 160 164 87 116
+ 105 77 162 166 167 160 166 171 174 124 156 169 161 164 105 116
+ 105 72 157 170 170 167 174 169 170 161 160 163 162 169 100 103
+ 114 68 141 166 169 172 168 170 176 167 165 160 167 166 64 111
+ 113 75 75 157 161 173 169 170 172 169 171 168 163 124 35 127
+ 129 112 27 51 113 155 158 161 170 162 161 154 93 19 49 148
+ 136 151 52 20 22 37 59 62 66 57 34 39 8 19 119 150
+ 128 161 129 28 17 16 21 19 12 18 14 19 12 74 169 160
+ 132 163 158 122 49 16 16 13 16 11 16 12 70 155 169 150
+ 126 168 160 160 150 101 53 20 27 22 64 117 150 167 160 154
+ 120 161 147 143 148 145 138 135 142 141 161 145 150 161 152 151
+ 97 133 134 138 145 144 154 136 135 88 128 140 140 133 123 129
+ 108 111 96 103 93 104 152 158 156 60 84 102 106 107 130 148
+ 100 137 25 14 66 129 153 160 157 62 14 13 12 11 74 152
+ 97 136 29 84 151 157 158 160 155 67 14 14 16 10 46 141
+ 99 101 67 160 160 160 156 154 158 69 17 20 39 34 24 129
+ 101 56 124 160 155 160 160 160 154 84 137 152 145 162 72 106
+ 99 71 152 160 160 160 160 160 160 121 153 160 159 160 100 105
+ 100 65 144 160 154 160 160 160 160 160 160 156 160 160 94 99
+ 109 62 121 160 160 160 160 160 160 160 160 160 160 156 58 111
+ 100 67 58 149 160 160 160 160 160 160 160 158 152 118 21 125
+ 117 111 16 35 103 150 157 160 156 155 159 139 90 24 42 147
+ 120 147 57 15 10 33 50 59 65 58 36 28 10 14 104 145
+ 114 159 131 33 9 16 15 16 16 16 14 11 12 68 156 160
+ 121 160 160 122 47 15 11 12 10 16 9 19 79 152 160 152
+ 114 157 160 158 147 98 48 32 20 29 57 126 155 160 160 152
+ 97 139 141 133 144 132 139 141 136 134 137 136 140 148 147 142
+ 107 144 144 134 137 131 136 143 154 91 122 127 127 133 139 145
+ 108 119 81 91 88 109 144 156 155 65 73 90 98 112 132 152
+ 103 145 18 11 67 118 160 159 156 68 5 1 2 17 70 158
+ 98 136 29 89 153 156 159 160 156 78 16 7 10 9 42 141
+ 98 105 58 159 159 160 160 160 160 73 29 27 27 27 29 124
+ 96 56 122 156 160 160 160 160 154 94 144 158 148 150 78 110
+ 94 71 152 160 160 156 158 160 160 117 154 160 160 156 100 105
+ 100 68 144 160 160 160 160 156 159 160 160 160 160 155 94 94
+ 104 72 121 159 154 160 160 158 157 160 160 160 160 156 57 104
+ 104 80 61 147 152 158 160 160 160 160 159 157 158 118 27 126
+ 120 117 18 39 113 137 146 151 157 158 153 136 108 24 51 152
+ 126 151 54 9 19 19 37 47 51 51 49 25 5 15 107 151
+ 122 160 129 33 16 2 9 10 10 1 15 15 8 70 152 155
+ 121 160 157 121 43 18 16 16 15 9 10 16 71 152 149 147
+ 114 159 159 153 141 104 52 28 31 37 59 124 153 155 153 154
+ 110 143 141 130 128 134 139 129 142 156 154 152 147 143 137 135
+
+ 139 162 164 144 128 116 116 103 111 127 148 150 160 150 154 151
+ 139 139 76 62 40 87 105 100 64 35 49 119 169 169 160 152
+ 137 114 17 18 36 164 164 169 166 124 19 19 74 155 167 161
+ 131 101 12 16 38 160 161 162 167 163 93 8 12 70 150 150
+ 140 104 14 15 22 171 169 163 160 168 154 39 19 12 117 145
+ 136 90 16 16 34 146 156 160 165 171 161 34 14 16 64 161
+ 108 68 66 72 75 94 124 161 167 169 162 57 18 11 22 141
+ 142 160 164 155 158 155 174 170 176 172 170 66 12 16 27 142
+ 142 160 160 160 160 166 171 169 170 170 161 62 19 13 20 135
+ 139 160 160 166 165 169 166 174 168 169 158 59 21 16 53 138
+ 155 113 132 163 165 160 160 167 172 173 155 37 16 16 101 145
+ 148 96 78 172 163 163 167 170 169 161 113 22 17 49 150 148
+ 150 103 29 115 173 176 166 170 166 157 51 20 28 122 160 143
+ 146 91 35 50 78 133 162 157 141 75 27 52 129 158 160 147
+ 138 124 148 147 105 60 77 72 68 75 112 151 161 163 168 161
+ 103 120 113 109 109 105 105 105 114 113 129 136 128 132 126 120
+ 129 148 152 141 129 106 105 99 111 125 147 145 160 152 152 142
+ 123 130 74 46 24 72 100 94 58 21 42 104 156 160 160 147
+ 133 107 11 10 34 162 160 160 156 118 24 14 68 152 160 148
+ 140 106 12 16 39 145 159 160 160 152 90 10 12 79 155 140
+ 140 102 13 14 20 152 160 156 160 158 139 28 11 19 126 136
+ 128 84 14 14 17 137 153 160 160 160 159 36 14 9 57 137
+ 88 60 62 67 69 84 121 160 160 160 155 58 16 16 29 134
+ 135 156 157 155 158 154 160 160 160 160 156 65 16 10 20 136
+ 136 158 160 160 154 160 160 160 160 160 160 59 16 12 32 141
+ 154 152 153 158 156 160 160 160 160 160 157 50 15 11 48 139
+ 144 104 129 157 160 160 160 160 160 160 150 33 16 15 98 132
+ 145 93 66 151 160 155 160 154 160 160 103 10 9 47 147 144
+ 138 103 14 84 160 160 160 160 160 149 35 15 33 122 158 133
+ 134 96 25 29 67 124 152 144 121 58 16 57 131 160 160 141
+ 133 111 137 136 101 56 71 65 62 67 111 147 159 160 157 139
+ 97 108 100 97 99 101 99 100 109 100 117 120 114 121 114 97
+ 145 152 158 141 124 110 105 94 104 126 152 151 155 147 154 135
+ 139 132 70 42 29 78 100 94 57 27 51 107 152 149 153 137
+ 133 112 17 9 27 150 156 155 156 118 24 15 70 152 155 143
+ 127 98 2 10 27 148 160 160 160 158 108 5 8 71 153 147
+ 127 90 1 7 27 158 160 160 160 157 136 25 15 16 124 152
+ 122 73 5 16 29 144 154 160 160 159 153 49 15 10 59 154
+ 91 65 68 78 73 94 117 160 160 160 158 51 1 9 37 156
+ 154 155 156 156 160 154 160 159 157 160 157 51 10 15 31 142
+ 143 156 159 160 160 160 160 156 158 160 151 47 10 16 28 129
+ 136 144 160 159 160 160 158 160 160 160 146 37 9 16 52 139
+ 131 109 118 156 160 160 156 160 160 158 137 19 2 18 104 134
+ 137 88 67 153 159 160 160 160 154 152 113 19 16 43 141 128
+ 134 91 11 89 159 156 160 160 159 147 39 9 33 121 153 130
+ 144 81 18 29 58 122 152 144 121 61 18 54 129 157 159 141
+ 144 119 145 136 105 56 71 68 72 80 117 151 160 160 159 143
+ 107 108 103 98 98 96 94 100 104 104 120 126 122 121 114 110
+
+ 151 152 161 150 145 161 141 142 135 138 145 148 143 147 161 120
+ 154 160 167 150 117 64 22 27 20 53 101 150 160 160 168 126
+ 150 169 155 70 12 16 11 16 13 16 16 49 122 158 163 132
+ 160 169 74 12 19 14 18 12 19 21 16 17 28 129 161 128
+ 150 119 19 8 39 34 57 66 62 59 37 22 20 52 151 136
+ 148 49 19 93 154 161 162 170 161 158 155 113 51 27 112 129
+ 127 35 124 163 168 171 169 172 170 169 173 161 157 75 75 113
+ 111 64 166 167 160 165 167 176 170 168 172 169 166 141 68 114
+ 103 100 169 162 163 160 161 170 169 174 167 170 170 157 72 105
+ 116 105 164 161 169 156 124 174 171 166 160 167 166 162 77 105
+ 116 87 164 160 171 146 94 155 166 169 160 163 176 133 60 105
+ 128 40 36 38 22 34 75 158 160 165 165 163 173 78 105 109
+ 144 62 18 16 15 16 72 155 160 166 163 172 115 50 147 109
+ 164 76 17 12 14 16 66 164 160 160 132 78 29 35 148 113
+ 162 139 114 101 104 90 68 160 160 160 113 96 103 91 124 120
+ 139 139 137 131 140 136 108 142 142 139 155 148 150 146 138 103
+ 142 147 148 140 136 137 134 136 141 139 132 144 133 141 139 97
+ 152 160 160 155 126 57 29 20 32 48 98 147 158 160 157 114
+ 152 160 152 79 19 9 16 10 12 11 15 47 122 160 160 121
+ 160 156 68 12 11 14 16 16 16 15 16 9 33 131 159 114
+ 145 104 14 10 28 36 58 65 59 50 33 10 15 57 147 120
+ 147 42 24 90 139 159 155 156 160 157 150 103 35 16 111 117
+ 125 21 118 152 158 160 160 160 160 160 160 160 149 58 67 100
+ 111 58 156 160 160 160 160 160 160 160 160 160 160 121 62 109
+ 99 94 160 160 156 160 160 160 160 160 160 154 160 144 65 100
+ 105 100 160 159 160 153 121 160 160 160 160 160 160 152 71 99
+ 106 72 162 145 152 137 84 154 160 160 160 155 160 124 56 101
+ 129 24 34 39 20 17 69 158 154 156 160 160 160 67 101 99
+ 141 46 10 16 14 14 67 155 160 158 157 151 84 29 136 97
+ 152 74 11 12 13 14 62 157 160 153 129 66 14 25 137 100
+ 148 130 107 106 102 84 60 156 158 152 104 93 103 96 111 108
+ 129 123 133 140 140 128 88 135 136 154 144 145 138 134 133 97
+ 135 137 143 147 152 154 156 142 129 139 134 128 130 141 143 110
+ 154 153 155 153 124 59 37 31 28 52 104 141 153 159 159 114
+ 147 149 152 71 16 10 9 15 16 16 18 43 121 157 160 121
+ 155 152 70 8 15 15 1 10 10 9 2 16 33 129 160 122
+ 151 107 15 5 25 49 51 51 47 37 19 19 9 54 151 126
+ 152 51 24 108 136 153 158 157 151 146 137 113 39 18 117 120
+ 126 27 118 158 157 159 160 160 160 160 158 152 147 61 80 104
+ 104 57 156 160 160 160 160 157 158 160 160 154 159 121 72 104
+ 94 94 155 160 160 160 160 159 156 160 160 160 160 144 68 100
+ 105 100 156 160 160 154 117 160 160 158 156 160 160 152 71 94
+ 110 78 150 148 158 144 94 154 160 160 160 160 156 122 56 96
+ 124 29 27 27 27 29 73 160 160 160 160 159 159 58 105 98
+ 141 42 9 10 7 16 78 156 160 159 156 153 89 29 136 98
+ 158 70 17 2 1 5 68 156 159 160 118 67 11 18 145 103
+ 152 132 112 98 90 73 65 155 156 144 109 88 91 81 119 108
+ 145 139 133 127 127 122 91 154 143 136 131 137 134 144 144 107
+
diff --git a/Utilidades/bin/python/PuiModule.py b/Utilidades/bin/python/PuiModule.py
new file mode 100644
index 0000000..e12a370
--- /dev/null
+++ b/Utilidades/bin/python/PuiModule.py
@@ -0,0 +1,351 @@
+# This file was automatically generated by SWIG (http://www.swig.org).
+# Version 1.3.36
+#
+# Don't modify this file, modify the SWIG interface instead.
+# This file is compatible with both classic and new-style classes.
+
+import _PuiModule
+import new
+new_instancemethod = new.instancemethod
+try:
+ _swig_property = property
+except NameError:
+ pass # Python < 2.2 doesn't have 'property'.
+def _swig_setattr_nondynamic(self,class_type,name,value,static=1):
+ if (name == "thisown"): return self.this.own(value)
+ if (name == "this"):
+ if type(value).__name__ == 'PySwigObject':
+ self.__dict__[name] = value
+ return
+ method = class_type.__swig_setmethods__.get(name,None)
+ if method: return method(self,value)
+ if (not static) or hasattr(self,name):
+ self.__dict__[name] = value
+ else:
+ raise AttributeError("You cannot add attributes to %s" % self)
+
+def _swig_setattr(self,class_type,name,value):
+ return _swig_setattr_nondynamic(self,class_type,name,value,0)
+
+def _swig_getattr(self,class_type,name):
+ if (name == "thisown"): return self.this.own()
+ method = class_type.__swig_getmethods__.get(name,None)
+ if method: return method(self)
+ raise AttributeError,name
+
+def _swig_repr(self):
+ try: strthis = "proxy of " + self.this.__repr__()
+ except: strthis = ""
+ return "<%s.%s; %s >" % (self.__class__.__module__, self.__class__.__name__, strthis,)
+
+import types
+try:
+ _object = types.ObjectType
+ _newclass = 1
+except AttributeError:
+ class _object : pass
+ _newclass = 0
+del types
+
+
+class ARCoordMarcador(_object):
+ __swig_setmethods__ = {}
+ __setattr__ = lambda self, name, value: _swig_setattr(self, ARCoordMarcador, name, value)
+ __swig_getmethods__ = {}
+ __getattr__ = lambda self, name: _swig_getattr(self, ARCoordMarcador, name)
+ __repr__ = _swig_repr
+ __swig_setmethods__["area"] = _PuiModule.ARCoordMarcador_area_set
+ __swig_getmethods__["area"] = _PuiModule.ARCoordMarcador_area_get
+ if _newclass:area = _swig_property(_PuiModule.ARCoordMarcador_area_get, _PuiModule.ARCoordMarcador_area_set)
+ __swig_setmethods__["centro"] = _PuiModule.ARCoordMarcador_centro_set
+ __swig_getmethods__["centro"] = _PuiModule.ARCoordMarcador_centro_get
+ if _newclass:centro = _swig_property(_PuiModule.ARCoordMarcador_centro_get, _PuiModule.ARCoordMarcador_centro_set)
+ __swig_setmethods__["vertex"] = _PuiModule.ARCoordMarcador_vertex_set
+ __swig_getmethods__["vertex"] = _PuiModule.ARCoordMarcador_vertex_get
+ if _newclass:vertex = _swig_property(_PuiModule.ARCoordMarcador_vertex_get, _PuiModule.ARCoordMarcador_vertex_set)
+ __swig_setmethods__["visible"] = _PuiModule.ARCoordMarcador_visible_set
+ __swig_getmethods__["visible"] = _PuiModule.ARCoordMarcador_visible_get
+ if _newclass:visible = _swig_property(_PuiModule.ARCoordMarcador_visible_get, _PuiModule.ARCoordMarcador_visible_set)
+ __swig_setmethods__["id"] = _PuiModule.ARCoordMarcador_id_set
+ __swig_getmethods__["id"] = _PuiModule.ARCoordMarcador_id_get
+ if _newclass:id = _swig_property(_PuiModule.ARCoordMarcador_id_get, _PuiModule.ARCoordMarcador_id_set)
+ __swig_setmethods__["cf"] = _PuiModule.ARCoordMarcador_cf_set
+ __swig_getmethods__["cf"] = _PuiModule.ARCoordMarcador_cf_get
+ if _newclass:cf = _swig_property(_PuiModule.ARCoordMarcador_cf_get, _PuiModule.ARCoordMarcador_cf_set)
+ def __init__(self, *args):
+ this = _PuiModule.new_ARCoordMarcador(*args)
+ try: self.this.append(this)
+ except: self.this = this
+ __swig_destroy__ = _PuiModule.delete_ARCoordMarcador
+ __del__ = lambda self : None;
+ARCoordMarcador_swigregister = _PuiModule.ARCoordMarcador_swigregister
+ARCoordMarcador_swigregister(ARCoordMarcador)
+
+class Elemento(_object):
+ __swig_setmethods__ = {}
+ __setattr__ = lambda self, name, value: _swig_setattr(self, Elemento, name, value)
+ __swig_getmethods__ = {}
+ __getattr__ = lambda self, name: _swig_getattr(self, Elemento, name)
+ __repr__ = _swig_repr
+ __swig_setmethods__["idPatt"] = _PuiModule.Elemento_idPatt_set
+ __swig_getmethods__["idPatt"] = _PuiModule.Elemento_idPatt_get
+ if _newclass:idPatt = _swig_property(_PuiModule.Elemento_idPatt_get, _PuiModule.Elemento_idPatt_set)
+ __swig_setmethods__["imagen"] = _PuiModule.Elemento_imagen_set
+ __swig_getmethods__["imagen"] = _PuiModule.Elemento_imagen_get
+ if _newclass:imagen = _swig_property(_PuiModule.Elemento_imagen_get, _PuiModule.Elemento_imagen_set)
+ __swig_setmethods__["sonido"] = _PuiModule.Elemento_sonido_set
+ __swig_getmethods__["sonido"] = _PuiModule.Elemento_sonido_get
+ if _newclass:sonido = _swig_property(_PuiModule.Elemento_sonido_get, _PuiModule.Elemento_sonido_set)
+ __swig_setmethods__["nombre"] = _PuiModule.Elemento_nombre_set
+ __swig_getmethods__["nombre"] = _PuiModule.Elemento_nombre_get
+ if _newclass:nombre = _swig_property(_PuiModule.Elemento_nombre_get, _PuiModule.Elemento_nombre_set)
+ __swig_setmethods__["conjunto"] = _PuiModule.Elemento_conjunto_set
+ __swig_getmethods__["conjunto"] = _PuiModule.Elemento_conjunto_get
+ if _newclass:conjunto = _swig_property(_PuiModule.Elemento_conjunto_get, _PuiModule.Elemento_conjunto_set)
+ __swig_setmethods__["idElementoRelacionado"] = _PuiModule.Elemento_idElementoRelacionado_set
+ __swig_getmethods__["idElementoRelacionado"] = _PuiModule.Elemento_idElementoRelacionado_get
+ if _newclass:idElementoRelacionado = _swig_property(_PuiModule.Elemento_idElementoRelacionado_get, _PuiModule.Elemento_idElementoRelacionado_set)
+ __swig_setmethods__["nombreRelacion"] = _PuiModule.Elemento_nombreRelacion_set
+ __swig_getmethods__["nombreRelacion"] = _PuiModule.Elemento_nombreRelacion_get
+ if _newclass:nombreRelacion = _swig_property(_PuiModule.Elemento_nombreRelacion_get, _PuiModule.Elemento_nombreRelacion_set)
+ __swig_setmethods__["idImagenSDL"] = _PuiModule.Elemento_idImagenSDL_set
+ __swig_getmethods__["idImagenSDL"] = _PuiModule.Elemento_idImagenSDL_get
+ if _newclass:idImagenSDL = _swig_property(_PuiModule.Elemento_idImagenSDL_get, _PuiModule.Elemento_idImagenSDL_set)
+ def __init__(self, *args):
+ this = _PuiModule.new_Elemento(*args)
+ try: self.this.append(this)
+ except: self.this = this
+ __swig_destroy__ = _PuiModule.delete_Elemento
+ __del__ = lambda self : None;
+Elemento_swigregister = _PuiModule.Elemento_swigregister
+Elemento_swigregister(Elemento)
+
+class Historico(_object):
+ __swig_setmethods__ = {}
+ __setattr__ = lambda self, name, value: _swig_setattr(self, Historico, name, value)
+ __swig_getmethods__ = {}
+ __getattr__ = lambda self, name: _swig_getattr(self, Historico, name)
+ __repr__ = _swig_repr
+ __swig_setmethods__["tope"] = _PuiModule.Historico_tope_set
+ __swig_getmethods__["tope"] = _PuiModule.Historico_tope_get
+ if _newclass:tope = _swig_property(_PuiModule.Historico_tope_get, _PuiModule.Historico_tope_set)
+ __swig_setmethods__["cantHistorico"] = _PuiModule.Historico_cantHistorico_set
+ __swig_getmethods__["cantHistorico"] = _PuiModule.Historico_cantHistorico_get
+ if _newclass:cantHistorico = _swig_property(_PuiModule.Historico_cantHistorico_get, _PuiModule.Historico_cantHistorico_set)
+ __swig_setmethods__["historicoElementos"] = _PuiModule.Historico_historicoElementos_set
+ __swig_getmethods__["historicoElementos"] = _PuiModule.Historico_historicoElementos_get
+ if _newclass:historicoElementos = _swig_property(_PuiModule.Historico_historicoElementos_get, _PuiModule.Historico_historicoElementos_set)
+ def __init__(self, *args):
+ this = _PuiModule.new_Historico(*args)
+ try: self.this.append(this)
+ except: self.this = this
+ __swig_destroy__ = _PuiModule.delete_Historico
+ __del__ = lambda self : None;
+Historico_swigregister = _PuiModule.Historico_swigregister
+Historico_swigregister(Historico)
+
+class RangosColorApuntador(_object):
+ __swig_setmethods__ = {}
+ __setattr__ = lambda self, name, value: _swig_setattr(self, RangosColorApuntador, name, value)
+ __swig_getmethods__ = {}
+ __getattr__ = lambda self, name: _swig_getattr(self, RangosColorApuntador, name)
+ __repr__ = _swig_repr
+ __swig_setmethods__["hmin"] = _PuiModule.RangosColorApuntador_hmin_set
+ __swig_getmethods__["hmin"] = _PuiModule.RangosColorApuntador_hmin_get
+ if _newclass:hmin = _swig_property(_PuiModule.RangosColorApuntador_hmin_get, _PuiModule.RangosColorApuntador_hmin_set)
+ __swig_setmethods__["hmax"] = _PuiModule.RangosColorApuntador_hmax_set
+ __swig_getmethods__["hmax"] = _PuiModule.RangosColorApuntador_hmax_get
+ if _newclass:hmax = _swig_property(_PuiModule.RangosColorApuntador_hmax_get, _PuiModule.RangosColorApuntador_hmax_set)
+ __swig_setmethods__["smin"] = _PuiModule.RangosColorApuntador_smin_set
+ __swig_getmethods__["smin"] = _PuiModule.RangosColorApuntador_smin_get
+ if _newclass:smin = _swig_property(_PuiModule.RangosColorApuntador_smin_get, _PuiModule.RangosColorApuntador_smin_set)
+ __swig_setmethods__["smax"] = _PuiModule.RangosColorApuntador_smax_set
+ __swig_getmethods__["smax"] = _PuiModule.RangosColorApuntador_smax_get
+ if _newclass:smax = _swig_property(_PuiModule.RangosColorApuntador_smax_get, _PuiModule.RangosColorApuntador_smax_set)
+ __swig_setmethods__["vmin"] = _PuiModule.RangosColorApuntador_vmin_set
+ __swig_getmethods__["vmin"] = _PuiModule.RangosColorApuntador_vmin_get
+ if _newclass:vmin = _swig_property(_PuiModule.RangosColorApuntador_vmin_get, _PuiModule.RangosColorApuntador_vmin_set)
+ __swig_setmethods__["vmax"] = _PuiModule.RangosColorApuntador_vmax_set
+ __swig_getmethods__["vmax"] = _PuiModule.RangosColorApuntador_vmax_get
+ if _newclass:vmax = _swig_property(_PuiModule.RangosColorApuntador_vmax_get, _PuiModule.RangosColorApuntador_vmax_set)
+ def __init__(self, *args):
+ this = _PuiModule.new_RangosColorApuntador(*args)
+ try: self.this.append(this)
+ except: self.this = this
+ __swig_destroy__ = _PuiModule.delete_RangosColorApuntador
+ __del__ = lambda self : None;
+RangosColorApuntador_swigregister = _PuiModule.RangosColorApuntador_swigregister
+RangosColorApuntador_swigregister(RangosColorApuntador)
+
+class ResultadosCalibracion(_object):
+ __swig_setmethods__ = {}
+ __setattr__ = lambda self, name, value: _swig_setattr(self, ResultadosCalibracion, name, value)
+ __swig_getmethods__ = {}
+ __getattr__ = lambda self, name: _swig_getattr(self, ResultadosCalibracion, name)
+ __repr__ = _swig_repr
+ __swig_setmethods__["areas_minimas"] = _PuiModule.ResultadosCalibracion_areas_minimas_set
+ __swig_getmethods__["areas_minimas"] = _PuiModule.ResultadosCalibracion_areas_minimas_get
+ if _newclass:areas_minimas = _swig_property(_PuiModule.ResultadosCalibracion_areas_minimas_get, _PuiModule.ResultadosCalibracion_areas_minimas_set)
+ __swig_setmethods__["areas_maximas"] = _PuiModule.ResultadosCalibracion_areas_maximas_set
+ __swig_getmethods__["areas_maximas"] = _PuiModule.ResultadosCalibracion_areas_maximas_get
+ if _newclass:areas_maximas = _swig_property(_PuiModule.ResultadosCalibracion_areas_maximas_get, _PuiModule.ResultadosCalibracion_areas_maximas_set)
+ __swig_setmethods__["relaciones_promedio"] = _PuiModule.ResultadosCalibracion_relaciones_promedio_set
+ __swig_getmethods__["relaciones_promedio"] = _PuiModule.ResultadosCalibracion_relaciones_promedio_get
+ if _newclass:relaciones_promedio = _swig_property(_PuiModule.ResultadosCalibracion_relaciones_promedio_get, _PuiModule.ResultadosCalibracion_relaciones_promedio_set)
+ def __init__(self, *args):
+ this = _PuiModule.new_ResultadosCalibracion(*args)
+ try: self.this.append(this)
+ except: self.this = this
+ __swig_destroy__ = _PuiModule.delete_ResultadosCalibracion
+ __del__ = lambda self : None;
+ResultadosCalibracion_swigregister = _PuiModule.ResultadosCalibracion_swigregister
+ResultadosCalibracion_swigregister(ResultadosCalibracion)
+
+class CoordApuntador(_object):
+ __swig_setmethods__ = {}
+ __setattr__ = lambda self, name, value: _swig_setattr(self, CoordApuntador, name, value)
+ __swig_getmethods__ = {}
+ __getattr__ = lambda self, name: _swig_getattr(self, CoordApuntador, name)
+ __repr__ = _swig_repr
+ __swig_setmethods__["area"] = _PuiModule.CoordApuntador_area_set
+ __swig_getmethods__["area"] = _PuiModule.CoordApuntador_area_get
+ if _newclass:area = _swig_property(_PuiModule.CoordApuntador_area_get, _PuiModule.CoordApuntador_area_set)
+ __swig_setmethods__["centro"] = _PuiModule.CoordApuntador_centro_set
+ __swig_getmethods__["centro"] = _PuiModule.CoordApuntador_centro_get
+ if _newclass:centro = _swig_property(_PuiModule.CoordApuntador_centro_get, _PuiModule.CoordApuntador_centro_set)
+ def __init__(self, *args):
+ this = _PuiModule.new_CoordApuntador(*args)
+ try: self.this.append(this)
+ except: self.this = this
+ __swig_destroy__ = _PuiModule.delete_CoordApuntador
+ __del__ = lambda self : None;
+CoordApuntador_swigregister = _PuiModule.CoordApuntador_swigregister
+CoordApuntador_swigregister(CoordApuntador)
+
+FORMA_APUNTADOR_CIRCULO = _PuiModule.FORMA_APUNTADOR_CIRCULO
+FORMA_APUNTADOR_RECTANGULAR = _PuiModule.FORMA_APUNTADOR_RECTANGULAR
+FORMA_APUNTADOR_MANO = _PuiModule.FORMA_APUNTADOR_MANO
+ERROR_DETECTANDO_MARCADORES = _PuiModule.ERROR_DETECTANDO_MARCADORES
+ERROR_CALCULANDO_MATRIZ_TRANSFORMACION = _PuiModule.ERROR_CALCULANDO_MATRIZ_TRANSFORMACION
+ERROR_NINGUN_MARCADOR_DETECTADO = _PuiModule.ERROR_NINGUN_MARCADOR_DETECTADO
+ERROR_IMAGEN_NULL = _PuiModule.ERROR_IMAGEN_NULL
+DETECCION_CORRECTA = _PuiModule.DETECCION_CORRECTA
+MASCARA_APLICADA = _PuiModule.MASCARA_APLICADA
+MASCARA_NO_APLICADA = _PuiModule.MASCARA_NO_APLICADA
+TIPO_MASCARA_BINARIA = _PuiModule.TIPO_MASCARA_BINARIA
+TIPO_MASCARA_ATENUANTE = _PuiModule.TIPO_MASCARA_ATENUANTE
+ERROR_TOMAR_MUESTRA_FORMA_NO_IMPLEMENTADA = _PuiModule.ERROR_TOMAR_MUESTRA_FORMA_NO_IMPLEMENTADA
+ERROR_TOMAR_MUESTRA_OK = _PuiModule.ERROR_TOMAR_MUESTRA_OK
+OFFSET_ROI = _PuiModule.OFFSET_ROI
+MIN_AREA_WIDTH_HEIGHT = _PuiModule.MIN_AREA_WIDTH_HEIGHT
+MIN_CF_MARKER_DETECT = _PuiModule.MIN_CF_MARKER_DETECT
+MODO_MULTI_MARKERS = _PuiModule.MODO_MULTI_MARKERS
+MODO_SIMPLE = _PuiModule.MODO_SIMPLE
+MODO_MULTI_MARKERS_CALIBRADOR = _PuiModule.MODO_MULTI_MARKERS_CALIBRADOR
+class Pui(_object):
+ __swig_setmethods__ = {}
+ __setattr__ = lambda self, name, value: _swig_setattr(self, Pui, name, value)
+ __swig_getmethods__ = {}
+ __getattr__ = lambda self, name: _swig_getattr(self, Pui, name)
+ __repr__ = _swig_repr
+ FAST_SPEED_LOOP = _PuiModule.Pui_FAST_SPEED_LOOP
+ NORMAL_SPEED_LOOP = _PuiModule.Pui_NORMAL_SPEED_LOOP
+ FAST_SPEED_LOOP_MULTIPLIER = _PuiModule.Pui_FAST_SPEED_LOOP_MULTIPLIER
+ NORMAL_SPEED_LOOP_MULTIPLIER = _PuiModule.Pui_NORMAL_SPEED_LOOP_MULTIPLIER
+ def insert(*args): return _PuiModule.Pui_insert(*args)
+ def out(*args): return _PuiModule.Pui_out(*args)
+ def __init__(self, *args):
+ this = _PuiModule.new_Pui(*args)
+ try: self.this.append(this)
+ except: self.this = this
+ __swig_destroy__ = _PuiModule.delete_Pui
+ __del__ = lambda self : None;
+ def leerConfiguracionObjetosPUI(*args): return _PuiModule.Pui_leerConfiguracionObjetosPUI(*args)
+ def leerPatternsModoSimple(*args): return _PuiModule.Pui_leerPatternsModoSimple(*args)
+ def imprimirPropiedadesObjetosPUI(*args): return _PuiModule.Pui_imprimirPropiedadesObjetosPUI(*args)
+ def getNombreObjetoPUI(*args): return _PuiModule.Pui_getNombreObjetoPUI(*args)
+ def getSonidoObjetoPUI(*args): return _PuiModule.Pui_getSonidoObjetoPUI(*args)
+ def getImagenObjetoPUI(*args): return _PuiModule.Pui_getImagenObjetoPUI(*args)
+ def getSonidoError(*args): return _PuiModule.Pui_getSonidoError(*args)
+ def getSonidoOk(*args): return _PuiModule.Pui_getSonidoOk(*args)
+ def esRelacionCorrecta(*args): return _PuiModule.Pui_esRelacionCorrecta(*args)
+ def getConjuntoObjetoPui(*args): return _PuiModule.Pui_getConjuntoObjetoPui(*args)
+ def getIdElementoRelacionado(*args): return _PuiModule.Pui_getIdElementoRelacionado(*args)
+ def getNombreRelacionObjetoPUI(*args): return _PuiModule.Pui_getNombreRelacionObjetoPUI(*args)
+ def detectarSeleccion(*args): return _PuiModule.Pui_detectarSeleccion(*args)
+ def initDeteccionApuntador(*args): return _PuiModule.Pui_initDeteccionApuntador(*args)
+ def getPropiedadesDeteccionApuntador(*args): return _PuiModule.Pui_getPropiedadesDeteccionApuntador(*args)
+ def setPropiedadesDeteccionApuntador(*args): return _PuiModule.Pui_setPropiedadesDeteccionApuntador(*args)
+ def getPropiedadesColorApuntador(*args): return _PuiModule.Pui_getPropiedadesColorApuntador(*args)
+ def setPropiedadesColorApuntador(*args): return _PuiModule.Pui_setPropiedadesColorApuntador(*args)
+ def setHminApuntador(*args): return _PuiModule.Pui_setHminApuntador(*args)
+ def getHminApuntador(*args): return _PuiModule.Pui_getHminApuntador(*args)
+ def setHmaxApuntador(*args): return _PuiModule.Pui_setHmaxApuntador(*args)
+ def getHmaxApuntador(*args): return _PuiModule.Pui_getHmaxApuntador(*args)
+ def setSminApuntador(*args): return _PuiModule.Pui_setSminApuntador(*args)
+ def getSminApuntador(*args): return _PuiModule.Pui_getSminApuntador(*args)
+ def setSmaxApuntador(*args): return _PuiModule.Pui_setSmaxApuntador(*args)
+ def getSmaxApuntador(*args): return _PuiModule.Pui_getSmaxApuntador(*args)
+ def setVminApuntador(*args): return _PuiModule.Pui_setVminApuntador(*args)
+ def getVminApuntador(*args): return _PuiModule.Pui_getVminApuntador(*args)
+ def setVmaxApuntador(*args): return _PuiModule.Pui_setVmaxApuntador(*args)
+ def getVmaxApuntador(*args): return _PuiModule.Pui_getVmaxApuntador(*args)
+ def procesarDatosCalibracion(*args): return _PuiModule.Pui_procesarDatosCalibracion(*args)
+ def guardarDatosCalibracion(*args): return _PuiModule.Pui_guardarDatosCalibracion(*args)
+ def initPropiedadesCalibracion(*args): return _PuiModule.Pui_initPropiedadesCalibracion(*args)
+ def leerConfiguracionCalibracion(*args): return _PuiModule.Pui_leerConfiguracionCalibracion(*args)
+ def calibrarThreshold(*args): return _PuiModule.Pui_calibrarThreshold(*args)
+ def setBrillo(*args): return _PuiModule.Pui_setBrillo(*args)
+ def setAutoWhiteBalance(*args): return _PuiModule.Pui_setAutoWhiteBalance(*args)
+ def setAutoGain(*args): return _PuiModule.Pui_setAutoGain(*args)
+ def setHorizontalFlip(*args): return _PuiModule.Pui_setHorizontalFlip(*args)
+ def abrirVentanaGrafica(*args): return _PuiModule.Pui_abrirVentanaGrafica(*args)
+ def cerrarVentanaGrafica(*args): return _PuiModule.Pui_cerrarVentanaGrafica(*args)
+ def desplegarImagenAR(*args): return _PuiModule.Pui_desplegarImagenAR(*args)
+ def desplegarImagenFromData(*args): return _PuiModule.Pui_desplegarImagenFromData(*args)
+ def capNext(*args): return _PuiModule.Pui_capNext(*args)
+ def capStart(*args): return _PuiModule.Pui_capStart(*args)
+ def capStop(*args): return _PuiModule.Pui_capStop(*args)
+ def capClose(*args): return _PuiModule.Pui_capClose(*args)
+ def capturarImagenAR(*args): return _PuiModule.Pui_capturarImagenAR(*args)
+ def capturarPyImageAR(*args): return _PuiModule.Pui_capturarPyImageAR(*args)
+ def obtenerImagenDebugAR(*args): return _PuiModule.Pui_obtenerImagenDebugAR(*args)
+ def initPropiedadesCalibracionSoloApuntador(*args): return _PuiModule.Pui_initPropiedadesCalibracionSoloApuntador(*args)
+ def aplicarNuevaMascaraCalibrador(*args): return _PuiModule.Pui_aplicarNuevaMascaraCalibrador(*args)
+ def aplicarMascaraCalibrador(*args): return _PuiModule.Pui_aplicarMascaraCalibrador(*args)
+ def setAchicarRadioMascaraCircular(*args): return _PuiModule.Pui_setAchicarRadioMascaraCircular(*args)
+ def getAchicarRadioMascaraCircular(*args): return _PuiModule.Pui_getAchicarRadioMascaraCircular(*args)
+ def getCalibrationImage(*args): return _PuiModule.Pui_getCalibrationImage(*args)
+ def tomarMuestraApuntador(*args): return _PuiModule.Pui_tomarMuestraApuntador(*args)
+ def calcularResultadosCalibracionApuntador(*args): return _PuiModule.Pui_calcularResultadosCalibracionApuntador(*args)
+ def guardarSoloRangosColorApuntador(*args): return _PuiModule.Pui_guardarSoloRangosColorApuntador(*args)
+ def guardarCalibracionApuntador(*args): return _PuiModule.Pui_guardarCalibracionApuntador(*args)
+ def setDebugCalibracion(*args): return _PuiModule.Pui_setDebugCalibracion(*args)
+ def isDebugCalibracion(*args): return _PuiModule.Pui_isDebugCalibracion(*args)
+ def getResultadosRangosColor(*args): return _PuiModule.Pui_getResultadosRangosColor(*args)
+ def detectarYCalcularPosicionTodosMultiMarkers(*args): return _PuiModule.Pui_detectarYCalcularPosicionTodosMultiMarkers(*args)
+ def detectarMarcadores(*args): return _PuiModule.Pui_detectarMarcadores(*args)
+ def detectarMarcadoresSimple(*args): return _PuiModule.Pui_detectarMarcadoresSimple(*args)
+ def getIdMarcadorSimpleDetectado(*args): return _PuiModule.Pui_getIdMarcadorSimpleDetectado(*args)
+ def getMarcadorSimpleDetectado(*args): return _PuiModule.Pui_getMarcadorSimpleDetectado(*args)
+ def getInfoMultiMarcador(*args): return _PuiModule.Pui_getInfoMultiMarcador(*args)
+ def setARCf(*args): return _PuiModule.Pui_setARCf(*args)
+ def getARCf(*args): return _PuiModule.Pui_getARCf(*args)
+ def getARThreshold(*args): return _PuiModule.Pui_getARThreshold(*args)
+ def setARThreshold(*args): return _PuiModule.Pui_setARThreshold(*args)
+ def initPuiConCapturaDeVideo(*args): return _PuiModule.Pui_initPuiConCapturaDeVideo(*args)
+ def setDebugConImagenes(*args): return _PuiModule.Pui_setDebugConImagenes(*args)
+ def getDebugConImagenes(*args): return _PuiModule.Pui_getDebugConImagenes(*args)
+ def habilitarHistorico(*args): return _PuiModule.Pui_habilitarHistorico(*args)
+ def isHistoricoHabilitado(*args): return _PuiModule.Pui_isHistoricoHabilitado(*args)
+ def finish(*args): return _PuiModule.Pui_finish(*args)
+ def getFPSAndResetCount(*args): return _PuiModule.Pui_getFPSAndResetCount(*args)
+ def getFPS(*args): return _PuiModule.Pui_getFPS(*args)
+ def getModuleInfo(*args): return _PuiModule.Pui_getModuleInfo(*args)
+ def setDebugMode(*args): return _PuiModule.Pui_setDebugMode(*args)
+ def getDebugMode(*args): return _PuiModule.Pui_getDebugMode(*args)
+Pui_swigregister = _PuiModule.Pui_swigregister
+Pui_swigregister(Pui)
+
+
+
diff --git a/Utilidades/bin/python/PuiModule.pyc b/Utilidades/bin/python/PuiModule.pyc
new file mode 100644
index 0000000..70f54c6
--- /dev/null
+++ b/Utilidades/bin/python/PuiModule.pyc
Binary files differ
diff --git a/Utilidades/bin/python/Pui_wrap.cxx b/Utilidades/bin/python/Pui_wrap.cxx
new file mode 100644
index 0000000..9f6bda5
--- /dev/null
+++ b/Utilidades/bin/python/Pui_wrap.cxx
@@ -0,0 +1,9772 @@
+/* ----------------------------------------------------------------------------
+ * This file was automatically generated by SWIG (http://www.swig.org).
+ * Version 1.3.36
+ *
+ * This file is not intended to be easily readable and contains a number of
+ * coding conventions designed to improve portability and efficiency. Do not make
+ * changes to this file unless you know what you are doing--modify the SWIG
+ * interface file instead.
+ * ----------------------------------------------------------------------------- */
+
+#define SWIGPYTHON
+#define SWIG_PYTHON_DIRECTOR_NO_VTABLE
+
+#ifdef __cplusplus
+template<typename T> class SwigValueWrapper {
+ T *tt;
+public:
+ SwigValueWrapper() : tt(0) { }
+ SwigValueWrapper(const SwigValueWrapper<T>& rhs) : tt(new T(*rhs.tt)) { }
+ SwigValueWrapper(const T& t) : tt(new T(t)) { }
+ ~SwigValueWrapper() { delete tt; }
+ SwigValueWrapper& operator=(const T& t) { delete tt; tt = new T(t); return *this; }
+ operator T&() const { return *tt; }
+ T *operator&() { return tt; }
+private:
+ SwigValueWrapper& operator=(const SwigValueWrapper<T>& rhs);
+};
+
+template <typename T> T SwigValueInit() {
+ return T();
+}
+#endif
+
+/* -----------------------------------------------------------------------------
+ * This section contains generic SWIG labels for method/variable
+ * declarations/attributes, and other compiler dependent labels.
+ * ----------------------------------------------------------------------------- */
+
+/* template workaround for compilers that cannot correctly implement the C++ standard */
+#ifndef SWIGTEMPLATEDISAMBIGUATOR
+# if defined(__SUNPRO_CC) && (__SUNPRO_CC <= 0x560)
+# define SWIGTEMPLATEDISAMBIGUATOR template
+# elif defined(__HP_aCC)
+/* Needed even with `aCC -AA' when `aCC -V' reports HP ANSI C++ B3910B A.03.55 */
+/* If we find a maximum version that requires this, the test would be __HP_aCC <= 35500 for A.03.55 */
+# define SWIGTEMPLATEDISAMBIGUATOR template
+# else
+# define SWIGTEMPLATEDISAMBIGUATOR
+# endif
+#endif
+
+/* inline attribute */
+#ifndef SWIGINLINE
+# if defined(__cplusplus) || (defined(__GNUC__) && !defined(__STRICT_ANSI__))
+# define SWIGINLINE inline
+# else
+# define SWIGINLINE
+# endif
+#endif
+
+/* attribute recognised by some compilers to avoid 'unused' warnings */
+#ifndef SWIGUNUSED
+# if defined(__GNUC__)
+# if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4))
+# define SWIGUNUSED __attribute__ ((__unused__))
+# else
+# define SWIGUNUSED
+# endif
+# elif defined(__ICC)
+# define SWIGUNUSED __attribute__ ((__unused__))
+# else
+# define SWIGUNUSED
+# endif
+#endif
+
+#ifndef SWIG_MSC_UNSUPPRESS_4505
+# if defined(_MSC_VER)
+# pragma warning(disable : 4505) /* unreferenced local function has been removed */
+# endif
+#endif
+
+#ifndef SWIGUNUSEDPARM
+# ifdef __cplusplus
+# define SWIGUNUSEDPARM(p)
+# else
+# define SWIGUNUSEDPARM(p) p SWIGUNUSED
+# endif
+#endif
+
+/* internal SWIG method */
+#ifndef SWIGINTERN
+# define SWIGINTERN static SWIGUNUSED
+#endif
+
+/* internal inline SWIG method */
+#ifndef SWIGINTERNINLINE
+# define SWIGINTERNINLINE SWIGINTERN SWIGINLINE
+#endif
+
+/* exporting methods */
+#if (__GNUC__ >= 4) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)
+# ifndef GCC_HASCLASSVISIBILITY
+# define GCC_HASCLASSVISIBILITY
+# endif
+#endif
+
+#ifndef SWIGEXPORT
+# if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)
+# if defined(STATIC_LINKED)
+# define SWIGEXPORT
+# else
+# define SWIGEXPORT __declspec(dllexport)
+# endif
+# else
+# if defined(__GNUC__) && defined(GCC_HASCLASSVISIBILITY)
+# define SWIGEXPORT __attribute__ ((visibility("default")))
+# else
+# define SWIGEXPORT
+# endif
+# endif
+#endif
+
+/* calling conventions for Windows */
+#ifndef SWIGSTDCALL
+# if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)
+# define SWIGSTDCALL __stdcall
+# else
+# define SWIGSTDCALL
+# endif
+#endif
+
+/* Deal with Microsoft's attempt at deprecating C standard runtime functions */
+#if !defined(SWIG_NO_CRT_SECURE_NO_DEPRECATE) && defined(_MSC_VER) && !defined(_CRT_SECURE_NO_DEPRECATE)
+# define _CRT_SECURE_NO_DEPRECATE
+#endif
+
+/* Deal with Microsoft's attempt at deprecating methods in the standard C++ library */
+#if !defined(SWIG_NO_SCL_SECURE_NO_DEPRECATE) && defined(_MSC_VER) && !defined(_SCL_SECURE_NO_DEPRECATE)
+# define _SCL_SECURE_NO_DEPRECATE
+#endif
+
+
+
+/* Python.h has to appear first */
+#include <Python.h>
+
+/* -----------------------------------------------------------------------------
+ * swigrun.swg
+ *
+ * This file contains generic CAPI SWIG runtime support for pointer
+ * type checking.
+ * ----------------------------------------------------------------------------- */
+
+/* This should only be incremented when either the layout of swig_type_info changes,
+ or for whatever reason, the runtime changes incompatibly */
+#define SWIG_RUNTIME_VERSION "4"
+
+/* define SWIG_TYPE_TABLE_NAME as "SWIG_TYPE_TABLE" */
+#ifdef SWIG_TYPE_TABLE
+# define SWIG_QUOTE_STRING(x) #x
+# define SWIG_EXPAND_AND_QUOTE_STRING(x) SWIG_QUOTE_STRING(x)
+# define SWIG_TYPE_TABLE_NAME SWIG_EXPAND_AND_QUOTE_STRING(SWIG_TYPE_TABLE)
+#else
+# define SWIG_TYPE_TABLE_NAME
+#endif
+
+/*
+ You can use the SWIGRUNTIME and SWIGRUNTIMEINLINE macros for
+ creating a static or dynamic library from the swig runtime code.
+ In 99.9% of the cases, swig just needs to declare them as 'static'.
+
+ But only do this if is strictly necessary, ie, if you have problems
+ with your compiler or so.
+*/
+
+#ifndef SWIGRUNTIME
+# define SWIGRUNTIME SWIGINTERN
+#endif
+
+#ifndef SWIGRUNTIMEINLINE
+# define SWIGRUNTIMEINLINE SWIGRUNTIME SWIGINLINE
+#endif
+
+/* Generic buffer size */
+#ifndef SWIG_BUFFER_SIZE
+# define SWIG_BUFFER_SIZE 1024
+#endif
+
+/* Flags for pointer conversions */
+#define SWIG_POINTER_DISOWN 0x1
+#define SWIG_CAST_NEW_MEMORY 0x2
+
+/* Flags for new pointer objects */
+#define SWIG_POINTER_OWN 0x1
+
+
+/*
+ Flags/methods for returning states.
+
+ The swig conversion methods, as ConvertPtr, return and integer
+ that tells if the conversion was successful or not. And if not,
+ an error code can be returned (see swigerrors.swg for the codes).
+
+ Use the following macros/flags to set or process the returning
+ states.
+
+ In old swig versions, you usually write code as:
+
+ if (SWIG_ConvertPtr(obj,vptr,ty.flags) != -1) {
+ // success code
+ } else {
+ //fail code
+ }
+
+ Now you can be more explicit as:
+
+ int res = SWIG_ConvertPtr(obj,vptr,ty.flags);
+ if (SWIG_IsOK(res)) {
+ // success code
+ } else {
+ // fail code
+ }
+
+ that seems to be the same, but now you can also do
+
+ Type *ptr;
+ int res = SWIG_ConvertPtr(obj,(void **)(&ptr),ty.flags);
+ if (SWIG_IsOK(res)) {
+ // success code
+ if (SWIG_IsNewObj(res) {
+ ...
+ delete *ptr;
+ } else {
+ ...
+ }
+ } else {
+ // fail code
+ }
+
+ I.e., now SWIG_ConvertPtr can return new objects and you can
+ identify the case and take care of the deallocation. Of course that
+ requires also to SWIG_ConvertPtr to return new result values, as
+
+ int SWIG_ConvertPtr(obj, ptr,...) {
+ if (<obj is ok>) {
+ if (<need new object>) {
+ *ptr = <ptr to new allocated object>;
+ return SWIG_NEWOBJ;
+ } else {
+ *ptr = <ptr to old object>;
+ return SWIG_OLDOBJ;
+ }
+ } else {
+ return SWIG_BADOBJ;
+ }
+ }
+
+ Of course, returning the plain '0(success)/-1(fail)' still works, but you can be
+ more explicit by returning SWIG_BADOBJ, SWIG_ERROR or any of the
+ swig errors code.
+
+ Finally, if the SWIG_CASTRANK_MODE is enabled, the result code
+ allows to return the 'cast rank', for example, if you have this
+
+ int food(double)
+ int fooi(int);
+
+ and you call
+
+ food(1) // cast rank '1' (1 -> 1.0)
+ fooi(1) // cast rank '0'
+
+ just use the SWIG_AddCast()/SWIG_CheckState()
+
+
+ */
+#define SWIG_OK (0)
+#define SWIG_ERROR (-1)
+#define SWIG_IsOK(r) (r >= 0)
+#define SWIG_ArgError(r) ((r != SWIG_ERROR) ? r : SWIG_TypeError)
+
+/* The CastRankLimit says how many bits are used for the cast rank */
+#define SWIG_CASTRANKLIMIT (1 << 8)
+/* The NewMask denotes the object was created (using new/malloc) */
+#define SWIG_NEWOBJMASK (SWIG_CASTRANKLIMIT << 1)
+/* The TmpMask is for in/out typemaps that use temporal objects */
+#define SWIG_TMPOBJMASK (SWIG_NEWOBJMASK << 1)
+/* Simple returning values */
+#define SWIG_BADOBJ (SWIG_ERROR)
+#define SWIG_OLDOBJ (SWIG_OK)
+#define SWIG_NEWOBJ (SWIG_OK | SWIG_NEWOBJMASK)
+#define SWIG_TMPOBJ (SWIG_OK | SWIG_TMPOBJMASK)
+/* Check, add and del mask methods */
+#define SWIG_AddNewMask(r) (SWIG_IsOK(r) ? (r | SWIG_NEWOBJMASK) : r)
+#define SWIG_DelNewMask(r) (SWIG_IsOK(r) ? (r & ~SWIG_NEWOBJMASK) : r)
+#define SWIG_IsNewObj(r) (SWIG_IsOK(r) && (r & SWIG_NEWOBJMASK))
+#define SWIG_AddTmpMask(r) (SWIG_IsOK(r) ? (r | SWIG_TMPOBJMASK) : r)
+#define SWIG_DelTmpMask(r) (SWIG_IsOK(r) ? (r & ~SWIG_TMPOBJMASK) : r)
+#define SWIG_IsTmpObj(r) (SWIG_IsOK(r) && (r & SWIG_TMPOBJMASK))
+
+
+/* Cast-Rank Mode */
+#if defined(SWIG_CASTRANK_MODE)
+# ifndef SWIG_TypeRank
+# define SWIG_TypeRank unsigned long
+# endif
+# ifndef SWIG_MAXCASTRANK /* Default cast allowed */
+# define SWIG_MAXCASTRANK (2)
+# endif
+# define SWIG_CASTRANKMASK ((SWIG_CASTRANKLIMIT) -1)
+# define SWIG_CastRank(r) (r & SWIG_CASTRANKMASK)
+SWIGINTERNINLINE int SWIG_AddCast(int r) {
+ return SWIG_IsOK(r) ? ((SWIG_CastRank(r) < SWIG_MAXCASTRANK) ? (r + 1) : SWIG_ERROR) : r;
+}
+SWIGINTERNINLINE int SWIG_CheckState(int r) {
+ return SWIG_IsOK(r) ? SWIG_CastRank(r) + 1 : 0;
+}
+#else /* no cast-rank mode */
+# define SWIG_AddCast
+# define SWIG_CheckState(r) (SWIG_IsOK(r) ? 1 : 0)
+#endif
+
+
+
+
+#include <string.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef void *(*swig_converter_func)(void *, int *);
+typedef struct swig_type_info *(*swig_dycast_func)(void **);
+
+/* Structure to store information on one type */
+typedef struct swig_type_info {
+ const char *name; /* mangled name of this type */
+ const char *str; /* human readable name of this type */
+ swig_dycast_func dcast; /* dynamic cast function down a hierarchy */
+ struct swig_cast_info *cast; /* linked list of types that can cast into this type */
+ void *clientdata; /* language specific type data */
+ int owndata; /* flag if the structure owns the clientdata */
+} swig_type_info;
+
+/* Structure to store a type and conversion function used for casting */
+typedef struct swig_cast_info {
+ swig_type_info *type; /* pointer to type that is equivalent to this type */
+ swig_converter_func converter; /* function to cast the void pointers */
+ struct swig_cast_info *next; /* pointer to next cast in linked list */
+ struct swig_cast_info *prev; /* pointer to the previous cast */
+} swig_cast_info;
+
+/* Structure used to store module information
+ * Each module generates one structure like this, and the runtime collects
+ * all of these structures and stores them in a circularly linked list.*/
+typedef struct swig_module_info {
+ swig_type_info **types; /* Array of pointers to swig_type_info structures that are in this module */
+ size_t size; /* Number of types in this module */
+ struct swig_module_info *next; /* Pointer to next element in circularly linked list */
+ swig_type_info **type_initial; /* Array of initially generated type structures */
+ swig_cast_info **cast_initial; /* Array of initially generated casting structures */
+ void *clientdata; /* Language specific module data */
+} swig_module_info;
+
+/*
+ Compare two type names skipping the space characters, therefore
+ "char*" == "char *" and "Class<int>" == "Class<int >", etc.
+
+ Return 0 when the two name types are equivalent, as in
+ strncmp, but skipping ' '.
+*/
+SWIGRUNTIME int
+SWIG_TypeNameComp(const char *f1, const char *l1,
+ const char *f2, const char *l2) {
+ for (;(f1 != l1) && (f2 != l2); ++f1, ++f2) {
+ while ((*f1 == ' ') && (f1 != l1)) ++f1;
+ while ((*f2 == ' ') && (f2 != l2)) ++f2;
+ if (*f1 != *f2) return (*f1 > *f2) ? 1 : -1;
+ }
+ return (int)((l1 - f1) - (l2 - f2));
+}
+
+/*
+ Check type equivalence in a name list like <name1>|<name2>|...
+ Return 0 if not equal, 1 if equal
+*/
+SWIGRUNTIME int
+SWIG_TypeEquiv(const char *nb, const char *tb) {
+ int equiv = 0;
+ const char* te = tb + strlen(tb);
+ const char* ne = nb;
+ while (!equiv && *ne) {
+ for (nb = ne; *ne; ++ne) {
+ if (*ne == '|') break;
+ }
+ equiv = (SWIG_TypeNameComp(nb, ne, tb, te) == 0) ? 1 : 0;
+ if (*ne) ++ne;
+ }
+ return equiv;
+}
+
+/*
+ Check type equivalence in a name list like <name1>|<name2>|...
+ Return 0 if equal, -1 if nb < tb, 1 if nb > tb
+*/
+SWIGRUNTIME int
+SWIG_TypeCompare(const char *nb, const char *tb) {
+ int equiv = 0;
+ const char* te = tb + strlen(tb);
+ const char* ne = nb;
+ while (!equiv && *ne) {
+ for (nb = ne; *ne; ++ne) {
+ if (*ne == '|') break;
+ }
+ equiv = (SWIG_TypeNameComp(nb, ne, tb, te) == 0) ? 1 : 0;
+ if (*ne) ++ne;
+ }
+ return equiv;
+}
+
+
+/* think of this as a c++ template<> or a scheme macro */
+#define SWIG_TypeCheck_Template(comparison, ty) \
+ if (ty) { \
+ swig_cast_info *iter = ty->cast; \
+ while (iter) { \
+ if (comparison) { \
+ if (iter == ty->cast) return iter; \
+ /* Move iter to the top of the linked list */ \
+ iter->prev->next = iter->next; \
+ if (iter->next) \
+ iter->next->prev = iter->prev; \
+ iter->next = ty->cast; \
+ iter->prev = 0; \
+ if (ty->cast) ty->cast->prev = iter; \
+ ty->cast = iter; \
+ return iter; \
+ } \
+ iter = iter->next; \
+ } \
+ } \
+ return 0
+
+/*
+ Check the typename
+*/
+SWIGRUNTIME swig_cast_info *
+SWIG_TypeCheck(const char *c, swig_type_info *ty) {
+ SWIG_TypeCheck_Template(strcmp(iter->type->name, c) == 0, ty);
+}
+
+/* Same as previous function, except strcmp is replaced with a pointer comparison */
+SWIGRUNTIME swig_cast_info *
+SWIG_TypeCheckStruct(swig_type_info *from, swig_type_info *into) {
+ SWIG_TypeCheck_Template(iter->type == from, into);
+}
+
+/*
+ Cast a pointer up an inheritance hierarchy
+*/
+SWIGRUNTIMEINLINE void *
+SWIG_TypeCast(swig_cast_info *ty, void *ptr, int *newmemory) {
+ return ((!ty) || (!ty->converter)) ? ptr : (*ty->converter)(ptr, newmemory);
+}
+
+/*
+ Dynamic pointer casting. Down an inheritance hierarchy
+*/
+SWIGRUNTIME swig_type_info *
+SWIG_TypeDynamicCast(swig_type_info *ty, void **ptr) {
+ swig_type_info *lastty = ty;
+ if (!ty || !ty->dcast) return ty;
+ while (ty && (ty->dcast)) {
+ ty = (*ty->dcast)(ptr);
+ if (ty) lastty = ty;
+ }
+ return lastty;
+}
+
+/*
+ Return the name associated with this type
+*/
+SWIGRUNTIMEINLINE const char *
+SWIG_TypeName(const swig_type_info *ty) {
+ return ty->name;
+}
+
+/*
+ Return the pretty name associated with this type,
+ that is an unmangled type name in a form presentable to the user.
+*/
+SWIGRUNTIME const char *
+SWIG_TypePrettyName(const swig_type_info *type) {
+ /* The "str" field contains the equivalent pretty names of the
+ type, separated by vertical-bar characters. We choose
+ to print the last name, as it is often (?) the most
+ specific. */
+ if (!type) return NULL;
+ if (type->str != NULL) {
+ const char *last_name = type->str;
+ const char *s;
+ for (s = type->str; *s; s++)
+ if (*s == '|') last_name = s+1;
+ return last_name;
+ }
+ else
+ return type->name;
+}
+
+/*
+ Set the clientdata field for a type
+*/
+SWIGRUNTIME void
+SWIG_TypeClientData(swig_type_info *ti, void *clientdata) {
+ swig_cast_info *cast = ti->cast;
+ /* if (ti->clientdata == clientdata) return; */
+ ti->clientdata = clientdata;
+
+ while (cast) {
+ if (!cast->converter) {
+ swig_type_info *tc = cast->type;
+ if (!tc->clientdata) {
+ SWIG_TypeClientData(tc, clientdata);
+ }
+ }
+ cast = cast->next;
+ }
+}
+SWIGRUNTIME void
+SWIG_TypeNewClientData(swig_type_info *ti, void *clientdata) {
+ SWIG_TypeClientData(ti, clientdata);
+ ti->owndata = 1;
+}
+
+/*
+ Search for a swig_type_info structure only by mangled name
+ Search is a O(log #types)
+
+ We start searching at module start, and finish searching when start == end.
+ Note: if start == end at the beginning of the function, we go all the way around
+ the circular list.
+*/
+SWIGRUNTIME swig_type_info *
+SWIG_MangledTypeQueryModule(swig_module_info *start,
+ swig_module_info *end,
+ const char *name) {
+ swig_module_info *iter = start;
+ do {
+ if (iter->size) {
+ register size_t l = 0;
+ register size_t r = iter->size - 1;
+ do {
+ /* since l+r >= 0, we can (>> 1) instead (/ 2) */
+ register size_t i = (l + r) >> 1;
+ const char *iname = iter->types[i]->name;
+ if (iname) {
+ register int compare = strcmp(name, iname);
+ if (compare == 0) {
+ return iter->types[i];
+ } else if (compare < 0) {
+ if (i) {
+ r = i - 1;
+ } else {
+ break;
+ }
+ } else if (compare > 0) {
+ l = i + 1;
+ }
+ } else {
+ break; /* should never happen */
+ }
+ } while (l <= r);
+ }
+ iter = iter->next;
+ } while (iter != end);
+ return 0;
+}
+
+/*
+ Search for a swig_type_info structure for either a mangled name or a human readable name.
+ It first searches the mangled names of the types, which is a O(log #types)
+ If a type is not found it then searches the human readable names, which is O(#types).
+
+ We start searching at module start, and finish searching when start == end.
+ Note: if start == end at the beginning of the function, we go all the way around
+ the circular list.
+*/
+SWIGRUNTIME swig_type_info *
+SWIG_TypeQueryModule(swig_module_info *start,
+ swig_module_info *end,
+ const char *name) {
+ /* STEP 1: Search the name field using binary search */
+ swig_type_info *ret = SWIG_MangledTypeQueryModule(start, end, name);
+ if (ret) {
+ return ret;
+ } else {
+ /* STEP 2: If the type hasn't been found, do a complete search
+ of the str field (the human readable name) */
+ swig_module_info *iter = start;
+ do {
+ register size_t i = 0;
+ for (; i < iter->size; ++i) {
+ if (iter->types[i]->str && (SWIG_TypeEquiv(iter->types[i]->str, name)))
+ return iter->types[i];
+ }
+ iter = iter->next;
+ } while (iter != end);
+ }
+
+ /* neither found a match */
+ return 0;
+}
+
+/*
+ Pack binary data into a string
+*/
+SWIGRUNTIME char *
+SWIG_PackData(char *c, void *ptr, size_t sz) {
+ static const char hex[17] = "0123456789abcdef";
+ register const unsigned char *u = (unsigned char *) ptr;
+ register const unsigned char *eu = u + sz;
+ for (; u != eu; ++u) {
+ register unsigned char uu = *u;
+ *(c++) = hex[(uu & 0xf0) >> 4];
+ *(c++) = hex[uu & 0xf];
+ }
+ return c;
+}
+
+/*
+ Unpack binary data from a string
+*/
+SWIGRUNTIME const char *
+SWIG_UnpackData(const char *c, void *ptr, size_t sz) {
+ register unsigned char *u = (unsigned char *) ptr;
+ register const unsigned char *eu = u + sz;
+ for (; u != eu; ++u) {
+ register char d = *(c++);
+ register unsigned char uu;
+ if ((d >= '0') && (d <= '9'))
+ uu = ((d - '0') << 4);
+ else if ((d >= 'a') && (d <= 'f'))
+ uu = ((d - ('a'-10)) << 4);
+ else
+ return (char *) 0;
+ d = *(c++);
+ if ((d >= '0') && (d <= '9'))
+ uu |= (d - '0');
+ else if ((d >= 'a') && (d <= 'f'))
+ uu |= (d - ('a'-10));
+ else
+ return (char *) 0;
+ *u = uu;
+ }
+ return c;
+}
+
+/*
+ Pack 'void *' into a string buffer.
+*/
+SWIGRUNTIME char *
+SWIG_PackVoidPtr(char *buff, void *ptr, const char *name, size_t bsz) {
+ char *r = buff;
+ if ((2*sizeof(void *) + 2) > bsz) return 0;
+ *(r++) = '_';
+ r = SWIG_PackData(r,&ptr,sizeof(void *));
+ if (strlen(name) + 1 > (bsz - (r - buff))) return 0;
+ strcpy(r,name);
+ return buff;
+}
+
+SWIGRUNTIME const char *
+SWIG_UnpackVoidPtr(const char *c, void **ptr, const char *name) {
+ if (*c != '_') {
+ if (strcmp(c,"NULL") == 0) {
+ *ptr = (void *) 0;
+ return name;
+ } else {
+ return 0;
+ }
+ }
+ return SWIG_UnpackData(++c,ptr,sizeof(void *));
+}
+
+SWIGRUNTIME char *
+SWIG_PackDataName(char *buff, void *ptr, size_t sz, const char *name, size_t bsz) {
+ char *r = buff;
+ size_t lname = (name ? strlen(name) : 0);
+ if ((2*sz + 2 + lname) > bsz) return 0;
+ *(r++) = '_';
+ r = SWIG_PackData(r,ptr,sz);
+ if (lname) {
+ strncpy(r,name,lname+1);
+ } else {
+ *r = 0;
+ }
+ return buff;
+}
+
+SWIGRUNTIME const char *
+SWIG_UnpackDataName(const char *c, void *ptr, size_t sz, const char *name) {
+ if (*c != '_') {
+ if (strcmp(c,"NULL") == 0) {
+ memset(ptr,0,sz);
+ return name;
+ } else {
+ return 0;
+ }
+ }
+ return SWIG_UnpackData(++c,ptr,sz);
+}
+
+#ifdef __cplusplus
+}
+#endif
+
+/* Errors in SWIG */
+#define SWIG_UnknownError -1
+#define SWIG_IOError -2
+#define SWIG_RuntimeError -3
+#define SWIG_IndexError -4
+#define SWIG_TypeError -5
+#define SWIG_DivisionByZero -6
+#define SWIG_OverflowError -7
+#define SWIG_SyntaxError -8
+#define SWIG_ValueError -9
+#define SWIG_SystemError -10
+#define SWIG_AttributeError -11
+#define SWIG_MemoryError -12
+#define SWIG_NullReferenceError -13
+
+
+
+
+/* Add PyOS_snprintf for old Pythons */
+#if PY_VERSION_HEX < 0x02020000
+# if defined(_MSC_VER) || defined(__BORLANDC__) || defined(_WATCOM)
+# define PyOS_snprintf _snprintf
+# else
+# define PyOS_snprintf snprintf
+# endif
+#endif
+
+/* A crude PyString_FromFormat implementation for old Pythons */
+#if PY_VERSION_HEX < 0x02020000
+
+#ifndef SWIG_PYBUFFER_SIZE
+# define SWIG_PYBUFFER_SIZE 1024
+#endif
+
+static PyObject *
+PyString_FromFormat(const char *fmt, ...) {
+ va_list ap;
+ char buf[SWIG_PYBUFFER_SIZE * 2];
+ int res;
+ va_start(ap, fmt);
+ res = vsnprintf(buf, sizeof(buf), fmt, ap);
+ va_end(ap);
+ return (res < 0 || res >= (int)sizeof(buf)) ? 0 : PyString_FromString(buf);
+}
+#endif
+
+/* Add PyObject_Del for old Pythons */
+#if PY_VERSION_HEX < 0x01060000
+# define PyObject_Del(op) PyMem_DEL((op))
+#endif
+#ifndef PyObject_DEL
+# define PyObject_DEL PyObject_Del
+#endif
+
+/* A crude PyExc_StopIteration exception for old Pythons */
+#if PY_VERSION_HEX < 0x02020000
+# ifndef PyExc_StopIteration
+# define PyExc_StopIteration PyExc_RuntimeError
+# endif
+# ifndef PyObject_GenericGetAttr
+# define PyObject_GenericGetAttr 0
+# endif
+#endif
+/* Py_NotImplemented is defined in 2.1 and up. */
+#if PY_VERSION_HEX < 0x02010000
+# ifndef Py_NotImplemented
+# define Py_NotImplemented PyExc_RuntimeError
+# endif
+#endif
+
+
+/* A crude PyString_AsStringAndSize implementation for old Pythons */
+#if PY_VERSION_HEX < 0x02010000
+# ifndef PyString_AsStringAndSize
+# define PyString_AsStringAndSize(obj, s, len) {*s = PyString_AsString(obj); *len = *s ? strlen(*s) : 0;}
+# endif
+#endif
+
+/* PySequence_Size for old Pythons */
+#if PY_VERSION_HEX < 0x02000000
+# ifndef PySequence_Size
+# define PySequence_Size PySequence_Length
+# endif
+#endif
+
+
+/* PyBool_FromLong for old Pythons */
+#if PY_VERSION_HEX < 0x02030000
+static
+PyObject *PyBool_FromLong(long ok)
+{
+ PyObject *result = ok ? Py_True : Py_False;
+ Py_INCREF(result);
+ return result;
+}
+#endif
+
+/* Py_ssize_t for old Pythons */
+/* This code is as recommended by: */
+/* http://www.python.org/dev/peps/pep-0353/#conversion-guidelines */
+#if PY_VERSION_HEX < 0x02050000 && !defined(PY_SSIZE_T_MIN)
+typedef int Py_ssize_t;
+# define PY_SSIZE_T_MAX INT_MAX
+# define PY_SSIZE_T_MIN INT_MIN
+#endif
+
+/* -----------------------------------------------------------------------------
+ * error manipulation
+ * ----------------------------------------------------------------------------- */
+
+SWIGRUNTIME PyObject*
+SWIG_Python_ErrorType(int code) {
+ PyObject* type = 0;
+ switch(code) {
+ case SWIG_MemoryError:
+ type = PyExc_MemoryError;
+ break;
+ case SWIG_IOError:
+ type = PyExc_IOError;
+ break;
+ case SWIG_RuntimeError:
+ type = PyExc_RuntimeError;
+ break;
+ case SWIG_IndexError:
+ type = PyExc_IndexError;
+ break;
+ case SWIG_TypeError:
+ type = PyExc_TypeError;
+ break;
+ case SWIG_DivisionByZero:
+ type = PyExc_ZeroDivisionError;
+ break;
+ case SWIG_OverflowError:
+ type = PyExc_OverflowError;
+ break;
+ case SWIG_SyntaxError:
+ type = PyExc_SyntaxError;
+ break;
+ case SWIG_ValueError:
+ type = PyExc_ValueError;
+ break;
+ case SWIG_SystemError:
+ type = PyExc_SystemError;
+ break;
+ case SWIG_AttributeError:
+ type = PyExc_AttributeError;
+ break;
+ default:
+ type = PyExc_RuntimeError;
+ }
+ return type;
+}
+
+
+SWIGRUNTIME void
+SWIG_Python_AddErrorMsg(const char* mesg)
+{
+ PyObject *type = 0;
+ PyObject *value = 0;
+ PyObject *traceback = 0;
+
+ if (PyErr_Occurred()) PyErr_Fetch(&type, &value, &traceback);
+ if (value) {
+ PyObject *old_str = PyObject_Str(value);
+ PyErr_Clear();
+ Py_XINCREF(type);
+ PyErr_Format(type, "%s %s", PyString_AsString(old_str), mesg);
+ Py_DECREF(old_str);
+ Py_DECREF(value);
+ } else {
+ PyErr_SetString(PyExc_RuntimeError, mesg);
+ }
+}
+
+
+
+#if defined(SWIG_PYTHON_NO_THREADS)
+# if defined(SWIG_PYTHON_THREADS)
+# undef SWIG_PYTHON_THREADS
+# endif
+#endif
+#if defined(SWIG_PYTHON_THREADS) /* Threading support is enabled */
+# if !defined(SWIG_PYTHON_USE_GIL) && !defined(SWIG_PYTHON_NO_USE_GIL)
+# if (PY_VERSION_HEX >= 0x02030000) /* For 2.3 or later, use the PyGILState calls */
+# define SWIG_PYTHON_USE_GIL
+# endif
+# endif
+# if defined(SWIG_PYTHON_USE_GIL) /* Use PyGILState threads calls */
+# ifndef SWIG_PYTHON_INITIALIZE_THREADS
+# define SWIG_PYTHON_INITIALIZE_THREADS PyEval_InitThreads()
+# endif
+# ifdef __cplusplus /* C++ code */
+ class SWIG_Python_Thread_Block {
+ bool status;
+ PyGILState_STATE state;
+ public:
+ void end() { if (status) { PyGILState_Release(state); status = false;} }
+ SWIG_Python_Thread_Block() : status(true), state(PyGILState_Ensure()) {}
+ ~SWIG_Python_Thread_Block() { end(); }
+ };
+ class SWIG_Python_Thread_Allow {
+ bool status;
+ PyThreadState *save;
+ public:
+ void end() { if (status) { PyEval_RestoreThread(save); status = false; }}
+ SWIG_Python_Thread_Allow() : status(true), save(PyEval_SaveThread()) {}
+ ~SWIG_Python_Thread_Allow() { end(); }
+ };
+# define SWIG_PYTHON_THREAD_BEGIN_BLOCK SWIG_Python_Thread_Block _swig_thread_block
+# define SWIG_PYTHON_THREAD_END_BLOCK _swig_thread_block.end()
+# define SWIG_PYTHON_THREAD_BEGIN_ALLOW SWIG_Python_Thread_Allow _swig_thread_allow
+# define SWIG_PYTHON_THREAD_END_ALLOW _swig_thread_allow.end()
+# else /* C code */
+# define SWIG_PYTHON_THREAD_BEGIN_BLOCK PyGILState_STATE _swig_thread_block = PyGILState_Ensure()
+# define SWIG_PYTHON_THREAD_END_BLOCK PyGILState_Release(_swig_thread_block)
+# define SWIG_PYTHON_THREAD_BEGIN_ALLOW PyThreadState *_swig_thread_allow = PyEval_SaveThread()
+# define SWIG_PYTHON_THREAD_END_ALLOW PyEval_RestoreThread(_swig_thread_allow)
+# endif
+# else /* Old thread way, not implemented, user must provide it */
+# if !defined(SWIG_PYTHON_INITIALIZE_THREADS)
+# define SWIG_PYTHON_INITIALIZE_THREADS
+# endif
+# if !defined(SWIG_PYTHON_THREAD_BEGIN_BLOCK)
+# define SWIG_PYTHON_THREAD_BEGIN_BLOCK
+# endif
+# if !defined(SWIG_PYTHON_THREAD_END_BLOCK)
+# define SWIG_PYTHON_THREAD_END_BLOCK
+# endif
+# if !defined(SWIG_PYTHON_THREAD_BEGIN_ALLOW)
+# define SWIG_PYTHON_THREAD_BEGIN_ALLOW
+# endif
+# if !defined(SWIG_PYTHON_THREAD_END_ALLOW)
+# define SWIG_PYTHON_THREAD_END_ALLOW
+# endif
+# endif
+#else /* No thread support */
+# define SWIG_PYTHON_INITIALIZE_THREADS
+# define SWIG_PYTHON_THREAD_BEGIN_BLOCK
+# define SWIG_PYTHON_THREAD_END_BLOCK
+# define SWIG_PYTHON_THREAD_BEGIN_ALLOW
+# define SWIG_PYTHON_THREAD_END_ALLOW
+#endif
+
+/* -----------------------------------------------------------------------------
+ * Python API portion that goes into the runtime
+ * ----------------------------------------------------------------------------- */
+
+#ifdef __cplusplus
+extern "C" {
+#if 0
+} /* cc-mode */
+#endif
+#endif
+
+/* -----------------------------------------------------------------------------
+ * Constant declarations
+ * ----------------------------------------------------------------------------- */
+
+/* Constant Types */
+#define SWIG_PY_POINTER 4
+#define SWIG_PY_BINARY 5
+
+/* Constant information structure */
+typedef struct swig_const_info {
+ int type;
+ char *name;
+ long lvalue;
+ double dvalue;
+ void *pvalue;
+ swig_type_info **ptype;
+} swig_const_info;
+
+#ifdef __cplusplus
+#if 0
+{ /* cc-mode */
+#endif
+}
+#endif
+
+
+/* -----------------------------------------------------------------------------
+ * See the LICENSE file for information on copyright, usage and redistribution
+ * of SWIG, and the README file for authors - http://www.swig.org/release.html.
+ *
+ * pyrun.swg
+ *
+ * This file contains the runtime support for Python modules
+ * and includes code for managing global variables and pointer
+ * type checking.
+ *
+ * ----------------------------------------------------------------------------- */
+
+/* Common SWIG API */
+
+/* for raw pointers */
+#define SWIG_Python_ConvertPtr(obj, pptr, type, flags) SWIG_Python_ConvertPtrAndOwn(obj, pptr, type, flags, 0)
+#define SWIG_ConvertPtr(obj, pptr, type, flags) SWIG_Python_ConvertPtr(obj, pptr, type, flags)
+#define SWIG_ConvertPtrAndOwn(obj,pptr,type,flags,own) SWIG_Python_ConvertPtrAndOwn(obj, pptr, type, flags, own)
+#define SWIG_NewPointerObj(ptr, type, flags) SWIG_Python_NewPointerObj(ptr, type, flags)
+#define SWIG_CheckImplicit(ty) SWIG_Python_CheckImplicit(ty)
+#define SWIG_AcquirePtr(ptr, src) SWIG_Python_AcquirePtr(ptr, src)
+#define swig_owntype int
+
+/* for raw packed data */
+#define SWIG_ConvertPacked(obj, ptr, sz, ty) SWIG_Python_ConvertPacked(obj, ptr, sz, ty)
+#define SWIG_NewPackedObj(ptr, sz, type) SWIG_Python_NewPackedObj(ptr, sz, type)
+
+/* for class or struct pointers */
+#define SWIG_ConvertInstance(obj, pptr, type, flags) SWIG_ConvertPtr(obj, pptr, type, flags)
+#define SWIG_NewInstanceObj(ptr, type, flags) SWIG_NewPointerObj(ptr, type, flags)
+
+/* for C or C++ function pointers */
+#define SWIG_ConvertFunctionPtr(obj, pptr, type) SWIG_Python_ConvertFunctionPtr(obj, pptr, type)
+#define SWIG_NewFunctionPtrObj(ptr, type) SWIG_Python_NewPointerObj(ptr, type, 0)
+
+/* for C++ member pointers, ie, member methods */
+#define SWIG_ConvertMember(obj, ptr, sz, ty) SWIG_Python_ConvertPacked(obj, ptr, sz, ty)
+#define SWIG_NewMemberObj(ptr, sz, type) SWIG_Python_NewPackedObj(ptr, sz, type)
+
+
+/* Runtime API */
+
+#define SWIG_GetModule(clientdata) SWIG_Python_GetModule()
+#define SWIG_SetModule(clientdata, pointer) SWIG_Python_SetModule(pointer)
+#define SWIG_NewClientData(obj) PySwigClientData_New(obj)
+
+#define SWIG_SetErrorObj SWIG_Python_SetErrorObj
+#define SWIG_SetErrorMsg SWIG_Python_SetErrorMsg
+#define SWIG_ErrorType(code) SWIG_Python_ErrorType(code)
+#define SWIG_Error(code, msg) SWIG_Python_SetErrorMsg(SWIG_ErrorType(code), msg)
+#define SWIG_fail goto fail
+
+
+/* Runtime API implementation */
+
+/* Error manipulation */
+
+SWIGINTERN void
+SWIG_Python_SetErrorObj(PyObject *errtype, PyObject *obj) {
+ SWIG_PYTHON_THREAD_BEGIN_BLOCK;
+ PyErr_SetObject(errtype, obj);
+ Py_DECREF(obj);
+ SWIG_PYTHON_THREAD_END_BLOCK;
+}
+
+SWIGINTERN void
+SWIG_Python_SetErrorMsg(PyObject *errtype, const char *msg) {
+ SWIG_PYTHON_THREAD_BEGIN_BLOCK;
+ PyErr_SetString(errtype, (char *) msg);
+ SWIG_PYTHON_THREAD_END_BLOCK;
+}
+
+#define SWIG_Python_Raise(obj, type, desc) SWIG_Python_SetErrorObj(SWIG_Python_ExceptionType(desc), obj)
+
+/* Set a constant value */
+
+SWIGINTERN void
+SWIG_Python_SetConstant(PyObject *d, const char *name, PyObject *obj) {
+ PyDict_SetItemString(d, (char*) name, obj);
+ Py_DECREF(obj);
+}
+
+/* Append a value to the result obj */
+
+SWIGINTERN PyObject*
+SWIG_Python_AppendOutput(PyObject* result, PyObject* obj) {
+#if !defined(SWIG_PYTHON_OUTPUT_TUPLE)
+ if (!result) {
+ result = obj;
+ } else if (result == Py_None) {
+ Py_DECREF(result);
+ result = obj;
+ } else {
+ if (!PyList_Check(result)) {
+ PyObject *o2 = result;
+ result = PyList_New(1);
+ PyList_SetItem(result, 0, o2);
+ }
+ PyList_Append(result,obj);
+ Py_DECREF(obj);
+ }
+ return result;
+#else
+ PyObject* o2;
+ PyObject* o3;
+ if (!result) {
+ result = obj;
+ } else if (result == Py_None) {
+ Py_DECREF(result);
+ result = obj;
+ } else {
+ if (!PyTuple_Check(result)) {
+ o2 = result;
+ result = PyTuple_New(1);
+ PyTuple_SET_ITEM(result, 0, o2);
+ }
+ o3 = PyTuple_New(1);
+ PyTuple_SET_ITEM(o3, 0, obj);
+ o2 = result;
+ result = PySequence_Concat(o2, o3);
+ Py_DECREF(o2);
+ Py_DECREF(o3);
+ }
+ return result;
+#endif
+}
+
+/* Unpack the argument tuple */
+
+SWIGINTERN int
+SWIG_Python_UnpackTuple(PyObject *args, const char *name, Py_ssize_t min, Py_ssize_t max, PyObject **objs)
+{
+ if (!args) {
+ if (!min && !max) {
+ return 1;
+ } else {
+ PyErr_Format(PyExc_TypeError, "%s expected %s%d arguments, got none",
+ name, (min == max ? "" : "at least "), (int)min);
+ return 0;
+ }
+ }
+ if (!PyTuple_Check(args)) {
+ PyErr_SetString(PyExc_SystemError, "UnpackTuple() argument list is not a tuple");
+ return 0;
+ } else {
+ register Py_ssize_t l = PyTuple_GET_SIZE(args);
+ if (l < min) {
+ PyErr_Format(PyExc_TypeError, "%s expected %s%d arguments, got %d",
+ name, (min == max ? "" : "at least "), (int)min, (int)l);
+ return 0;
+ } else if (l > max) {
+ PyErr_Format(PyExc_TypeError, "%s expected %s%d arguments, got %d",
+ name, (min == max ? "" : "at most "), (int)max, (int)l);
+ return 0;
+ } else {
+ register int i;
+ for (i = 0; i < l; ++i) {
+ objs[i] = PyTuple_GET_ITEM(args, i);
+ }
+ for (; l < max; ++l) {
+ objs[l] = 0;
+ }
+ return i + 1;
+ }
+ }
+}
+
+/* A functor is a function object with one single object argument */
+#if PY_VERSION_HEX >= 0x02020000
+#define SWIG_Python_CallFunctor(functor, obj) PyObject_CallFunctionObjArgs(functor, obj, NULL);
+#else
+#define SWIG_Python_CallFunctor(functor, obj) PyObject_CallFunction(functor, "O", obj);
+#endif
+
+/*
+ Helper for static pointer initialization for both C and C++ code, for example
+ static PyObject *SWIG_STATIC_POINTER(MyVar) = NewSomething(...);
+*/
+#ifdef __cplusplus
+#define SWIG_STATIC_POINTER(var) var
+#else
+#define SWIG_STATIC_POINTER(var) var = 0; if (!var) var
+#endif
+
+/* -----------------------------------------------------------------------------
+ * Pointer declarations
+ * ----------------------------------------------------------------------------- */
+
+/* Flags for new pointer objects */
+#define SWIG_POINTER_NOSHADOW (SWIG_POINTER_OWN << 1)
+#define SWIG_POINTER_NEW (SWIG_POINTER_NOSHADOW | SWIG_POINTER_OWN)
+
+#define SWIG_POINTER_IMPLICIT_CONV (SWIG_POINTER_DISOWN << 1)
+
+#ifdef __cplusplus
+extern "C" {
+#if 0
+} /* cc-mode */
+#endif
+#endif
+
+/* How to access Py_None */
+#if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)
+# ifndef SWIG_PYTHON_NO_BUILD_NONE
+# ifndef SWIG_PYTHON_BUILD_NONE
+# define SWIG_PYTHON_BUILD_NONE
+# endif
+# endif
+#endif
+
+#ifdef SWIG_PYTHON_BUILD_NONE
+# ifdef Py_None
+# undef Py_None
+# define Py_None SWIG_Py_None()
+# endif
+SWIGRUNTIMEINLINE PyObject *
+_SWIG_Py_None(void)
+{
+ PyObject *none = Py_BuildValue((char*)"");
+ Py_DECREF(none);
+ return none;
+}
+SWIGRUNTIME PyObject *
+SWIG_Py_None(void)
+{
+ static PyObject *SWIG_STATIC_POINTER(none) = _SWIG_Py_None();
+ return none;
+}
+#endif
+
+/* The python void return value */
+
+SWIGRUNTIMEINLINE PyObject *
+SWIG_Py_Void(void)
+{
+ PyObject *none = Py_None;
+ Py_INCREF(none);
+ return none;
+}
+
+/* PySwigClientData */
+
+typedef struct {
+ PyObject *klass;
+ PyObject *newraw;
+ PyObject *newargs;
+ PyObject *destroy;
+ int delargs;
+ int implicitconv;
+} PySwigClientData;
+
+SWIGRUNTIMEINLINE int
+SWIG_Python_CheckImplicit(swig_type_info *ty)
+{
+ PySwigClientData *data = (PySwigClientData *)ty->clientdata;
+ return data ? data->implicitconv : 0;
+}
+
+SWIGRUNTIMEINLINE PyObject *
+SWIG_Python_ExceptionType(swig_type_info *desc) {
+ PySwigClientData *data = desc ? (PySwigClientData *) desc->clientdata : 0;
+ PyObject *klass = data ? data->klass : 0;
+ return (klass ? klass : PyExc_RuntimeError);
+}
+
+
+SWIGRUNTIME PySwigClientData *
+PySwigClientData_New(PyObject* obj)
+{
+ if (!obj) {
+ return 0;
+ } else {
+ PySwigClientData *data = (PySwigClientData *)malloc(sizeof(PySwigClientData));
+ /* the klass element */
+ data->klass = obj;
+ Py_INCREF(data->klass);
+ /* the newraw method and newargs arguments used to create a new raw instance */
+ if (PyClass_Check(obj)) {
+ data->newraw = 0;
+ data->newargs = obj;
+ Py_INCREF(obj);
+ } else {
+#if (PY_VERSION_HEX < 0x02020000)
+ data->newraw = 0;
+#else
+ data->newraw = PyObject_GetAttrString(data->klass, (char *)"__new__");
+#endif
+ if (data->newraw) {
+ Py_INCREF(data->newraw);
+ data->newargs = PyTuple_New(1);
+ PyTuple_SetItem(data->newargs, 0, obj);
+ } else {
+ data->newargs = obj;
+ }
+ Py_INCREF(data->newargs);
+ }
+ /* the destroy method, aka as the C++ delete method */
+ data->destroy = PyObject_GetAttrString(data->klass, (char *)"__swig_destroy__");
+ if (PyErr_Occurred()) {
+ PyErr_Clear();
+ data->destroy = 0;
+ }
+ if (data->destroy) {
+ int flags;
+ Py_INCREF(data->destroy);
+ flags = PyCFunction_GET_FLAGS(data->destroy);
+#ifdef METH_O
+ data->delargs = !(flags & (METH_O));
+#else
+ data->delargs = 0;
+#endif
+ } else {
+ data->delargs = 0;
+ }
+ data->implicitconv = 0;
+ return data;
+ }
+}
+
+SWIGRUNTIME void
+PySwigClientData_Del(PySwigClientData* data)
+{
+ Py_XDECREF(data->newraw);
+ Py_XDECREF(data->newargs);
+ Py_XDECREF(data->destroy);
+}
+
+/* =============== PySwigObject =====================*/
+
+typedef struct {
+ PyObject_HEAD
+ void *ptr;
+ swig_type_info *ty;
+ int own;
+ PyObject *next;
+} PySwigObject;
+
+SWIGRUNTIME PyObject *
+PySwigObject_long(PySwigObject *v)
+{
+ return PyLong_FromVoidPtr(v->ptr);
+}
+
+SWIGRUNTIME PyObject *
+PySwigObject_format(const char* fmt, PySwigObject *v)
+{
+ PyObject *res = NULL;
+ PyObject *args = PyTuple_New(1);
+ if (args) {
+ if (PyTuple_SetItem(args, 0, PySwigObject_long(v)) == 0) {
+ PyObject *ofmt = PyString_FromString(fmt);
+ if (ofmt) {
+ res = PyString_Format(ofmt,args);
+ Py_DECREF(ofmt);
+ }
+ Py_DECREF(args);
+ }
+ }
+ return res;
+}
+
+SWIGRUNTIME PyObject *
+PySwigObject_oct(PySwigObject *v)
+{
+ return PySwigObject_format("%o",v);
+}
+
+SWIGRUNTIME PyObject *
+PySwigObject_hex(PySwigObject *v)
+{
+ return PySwigObject_format("%x",v);
+}
+
+SWIGRUNTIME PyObject *
+#ifdef METH_NOARGS
+PySwigObject_repr(PySwigObject *v)
+#else
+PySwigObject_repr(PySwigObject *v, PyObject *args)
+#endif
+{
+ const char *name = SWIG_TypePrettyName(v->ty);
+ PyObject *hex = PySwigObject_hex(v);
+ PyObject *repr = PyString_FromFormat("<Swig Object of type '%s' at 0x%s>", name, PyString_AsString(hex));
+ Py_DECREF(hex);
+ if (v->next) {
+#ifdef METH_NOARGS
+ PyObject *nrep = PySwigObject_repr((PySwigObject *)v->next);
+#else
+ PyObject *nrep = PySwigObject_repr((PySwigObject *)v->next, args);
+#endif
+ PyString_ConcatAndDel(&repr,nrep);
+ }
+ return repr;
+}
+
+SWIGRUNTIME int
+PySwigObject_print(PySwigObject *v, FILE *fp, int SWIGUNUSEDPARM(flags))
+{
+#ifdef METH_NOARGS
+ PyObject *repr = PySwigObject_repr(v);
+#else
+ PyObject *repr = PySwigObject_repr(v, NULL);
+#endif
+ if (repr) {
+ fputs(PyString_AsString(repr), fp);
+ Py_DECREF(repr);
+ return 0;
+ } else {
+ return 1;
+ }
+}
+
+SWIGRUNTIME PyObject *
+PySwigObject_str(PySwigObject *v)
+{
+ char result[SWIG_BUFFER_SIZE];
+ return SWIG_PackVoidPtr(result, v->ptr, v->ty->name, sizeof(result)) ?
+ PyString_FromString(result) : 0;
+}
+
+SWIGRUNTIME int
+PySwigObject_compare(PySwigObject *v, PySwigObject *w)
+{
+ void *i = v->ptr;
+ void *j = w->ptr;
+ return (i < j) ? -1 : ((i > j) ? 1 : 0);
+}
+
+SWIGRUNTIME PyTypeObject* _PySwigObject_type(void);
+
+SWIGRUNTIME PyTypeObject*
+PySwigObject_type(void) {
+ static PyTypeObject *SWIG_STATIC_POINTER(type) = _PySwigObject_type();
+ return type;
+}
+
+SWIGRUNTIMEINLINE int
+PySwigObject_Check(PyObject *op) {
+ return ((op)->ob_type == PySwigObject_type())
+ || (strcmp((op)->ob_type->tp_name,"PySwigObject") == 0);
+}
+
+SWIGRUNTIME PyObject *
+PySwigObject_New(void *ptr, swig_type_info *ty, int own);
+
+SWIGRUNTIME void
+PySwigObject_dealloc(PyObject *v)
+{
+ PySwigObject *sobj = (PySwigObject *) v;
+ PyObject *next = sobj->next;
+ if (sobj->own == SWIG_POINTER_OWN) {
+ swig_type_info *ty = sobj->ty;
+ PySwigClientData *data = ty ? (PySwigClientData *) ty->clientdata : 0;
+ PyObject *destroy = data ? data->destroy : 0;
+ if (destroy) {
+ /* destroy is always a VARARGS method */
+ PyObject *res;
+ if (data->delargs) {
+ /* we need to create a temporal object to carry the destroy operation */
+ PyObject *tmp = PySwigObject_New(sobj->ptr, ty, 0);
+ res = SWIG_Python_CallFunctor(destroy, tmp);
+ Py_DECREF(tmp);
+ } else {
+ PyCFunction meth = PyCFunction_GET_FUNCTION(destroy);
+ PyObject *mself = PyCFunction_GET_SELF(destroy);
+ res = ((*meth)(mself, v));
+ }
+ Py_XDECREF(res);
+ }
+#if !defined(SWIG_PYTHON_SILENT_MEMLEAK)
+ else {
+ const char *name = SWIG_TypePrettyName(ty);
+ printf("swig/python detected a memory leak of type '%s', no destructor found.\n", (name ? name : "unknown"));
+ }
+#endif
+ }
+ Py_XDECREF(next);
+ PyObject_DEL(v);
+}
+
+SWIGRUNTIME PyObject*
+PySwigObject_append(PyObject* v, PyObject* next)
+{
+ PySwigObject *sobj = (PySwigObject *) v;
+#ifndef METH_O
+ PyObject *tmp = 0;
+ if (!PyArg_ParseTuple(next,(char *)"O:append", &tmp)) return NULL;
+ next = tmp;
+#endif
+ if (!PySwigObject_Check(next)) {
+ return NULL;
+ }
+ sobj->next = next;
+ Py_INCREF(next);
+ return SWIG_Py_Void();
+}
+
+SWIGRUNTIME PyObject*
+#ifdef METH_NOARGS
+PySwigObject_next(PyObject* v)
+#else
+PySwigObject_next(PyObject* v, PyObject *SWIGUNUSEDPARM(args))
+#endif
+{
+ PySwigObject *sobj = (PySwigObject *) v;
+ if (sobj->next) {
+ Py_INCREF(sobj->next);
+ return sobj->next;
+ } else {
+ return SWIG_Py_Void();
+ }
+}
+
+SWIGINTERN PyObject*
+#ifdef METH_NOARGS
+PySwigObject_disown(PyObject *v)
+#else
+PySwigObject_disown(PyObject* v, PyObject *SWIGUNUSEDPARM(args))
+#endif
+{
+ PySwigObject *sobj = (PySwigObject *)v;
+ sobj->own = 0;
+ return SWIG_Py_Void();
+}
+
+SWIGINTERN PyObject*
+#ifdef METH_NOARGS
+PySwigObject_acquire(PyObject *v)
+#else
+PySwigObject_acquire(PyObject* v, PyObject *SWIGUNUSEDPARM(args))
+#endif
+{
+ PySwigObject *sobj = (PySwigObject *)v;
+ sobj->own = SWIG_POINTER_OWN;
+ return SWIG_Py_Void();
+}
+
+SWIGINTERN PyObject*
+PySwigObject_own(PyObject *v, PyObject *args)
+{
+ PyObject *val = 0;
+#if (PY_VERSION_HEX < 0x02020000)
+ if (!PyArg_ParseTuple(args,(char *)"|O:own",&val))
+#else
+ if (!PyArg_UnpackTuple(args, (char *)"own", 0, 1, &val))
+#endif
+ {
+ return NULL;
+ }
+ else
+ {
+ PySwigObject *sobj = (PySwigObject *)v;
+ PyObject *obj = PyBool_FromLong(sobj->own);
+ if (val) {
+#ifdef METH_NOARGS
+ if (PyObject_IsTrue(val)) {
+ PySwigObject_acquire(v);
+ } else {
+ PySwigObject_disown(v);
+ }
+#else
+ if (PyObject_IsTrue(val)) {
+ PySwigObject_acquire(v,args);
+ } else {
+ PySwigObject_disown(v,args);
+ }
+#endif
+ }
+ return obj;
+ }
+}
+
+#ifdef METH_O
+static PyMethodDef
+swigobject_methods[] = {
+ {(char *)"disown", (PyCFunction)PySwigObject_disown, METH_NOARGS, (char *)"releases ownership of the pointer"},
+ {(char *)"acquire", (PyCFunction)PySwigObject_acquire, METH_NOARGS, (char *)"aquires ownership of the pointer"},
+ {(char *)"own", (PyCFunction)PySwigObject_own, METH_VARARGS, (char *)"returns/sets ownership of the pointer"},
+ {(char *)"append", (PyCFunction)PySwigObject_append, METH_O, (char *)"appends another 'this' object"},
+ {(char *)"next", (PyCFunction)PySwigObject_next, METH_NOARGS, (char *)"returns the next 'this' object"},
+ {(char *)"__repr__",(PyCFunction)PySwigObject_repr, METH_NOARGS, (char *)"returns object representation"},
+ {0, 0, 0, 0}
+};
+#else
+static PyMethodDef
+swigobject_methods[] = {
+ {(char *)"disown", (PyCFunction)PySwigObject_disown, METH_VARARGS, (char *)"releases ownership of the pointer"},
+ {(char *)"acquire", (PyCFunction)PySwigObject_acquire, METH_VARARGS, (char *)"aquires ownership of the pointer"},
+ {(char *)"own", (PyCFunction)PySwigObject_own, METH_VARARGS, (char *)"returns/sets ownership of the pointer"},
+ {(char *)"append", (PyCFunction)PySwigObject_append, METH_VARARGS, (char *)"appends another 'this' object"},
+ {(char *)"next", (PyCFunction)PySwigObject_next, METH_VARARGS, (char *)"returns the next 'this' object"},
+ {(char *)"__repr__",(PyCFunction)PySwigObject_repr, METH_VARARGS, (char *)"returns object representation"},
+ {0, 0, 0, 0}
+};
+#endif
+
+#if PY_VERSION_HEX < 0x02020000
+SWIGINTERN PyObject *
+PySwigObject_getattr(PySwigObject *sobj,char *name)
+{
+ return Py_FindMethod(swigobject_methods, (PyObject *)sobj, name);
+}
+#endif
+
+SWIGRUNTIME PyTypeObject*
+_PySwigObject_type(void) {
+ static char swigobject_doc[] = "Swig object carries a C/C++ instance pointer";
+
+ static PyNumberMethods PySwigObject_as_number = {
+ (binaryfunc)0, /*nb_add*/
+ (binaryfunc)0, /*nb_subtract*/
+ (binaryfunc)0, /*nb_multiply*/
+ (binaryfunc)0, /*nb_divide*/
+ (binaryfunc)0, /*nb_remainder*/
+ (binaryfunc)0, /*nb_divmod*/
+ (ternaryfunc)0,/*nb_power*/
+ (unaryfunc)0, /*nb_negative*/
+ (unaryfunc)0, /*nb_positive*/
+ (unaryfunc)0, /*nb_absolute*/
+ (inquiry)0, /*nb_nonzero*/
+ 0, /*nb_invert*/
+ 0, /*nb_lshift*/
+ 0, /*nb_rshift*/
+ 0, /*nb_and*/
+ 0, /*nb_xor*/
+ 0, /*nb_or*/
+ (coercion)0, /*nb_coerce*/
+ (unaryfunc)PySwigObject_long, /*nb_int*/
+ (unaryfunc)PySwigObject_long, /*nb_long*/
+ (unaryfunc)0, /*nb_float*/
+ (unaryfunc)PySwigObject_oct, /*nb_oct*/
+ (unaryfunc)PySwigObject_hex, /*nb_hex*/
+#if PY_VERSION_HEX >= 0x02050000 /* 2.5.0 */
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 /* nb_inplace_add -> nb_index */
+#elif PY_VERSION_HEX >= 0x02020000 /* 2.2.0 */
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 /* nb_inplace_add -> nb_inplace_true_divide */
+#elif PY_VERSION_HEX >= 0x02000000 /* 2.0.0 */
+ 0,0,0,0,0,0,0,0,0,0,0 /* nb_inplace_add -> nb_inplace_or */
+#endif
+ };
+
+ static PyTypeObject pyswigobject_type;
+ static int type_init = 0;
+ if (!type_init) {
+ const PyTypeObject tmp
+ = {
+ PyObject_HEAD_INIT(NULL)
+ 0, /* ob_size */
+ (char *)"PySwigObject", /* tp_name */
+ sizeof(PySwigObject), /* tp_basicsize */
+ 0, /* tp_itemsize */
+ (destructor)PySwigObject_dealloc, /* tp_dealloc */
+ (printfunc)PySwigObject_print, /* tp_print */
+#if PY_VERSION_HEX < 0x02020000
+ (getattrfunc)PySwigObject_getattr, /* tp_getattr */
+#else
+ (getattrfunc)0, /* tp_getattr */
+#endif
+ (setattrfunc)0, /* tp_setattr */
+ (cmpfunc)PySwigObject_compare, /* tp_compare */
+ (reprfunc)PySwigObject_repr, /* tp_repr */
+ &PySwigObject_as_number, /* tp_as_number */
+ 0, /* tp_as_sequence */
+ 0, /* tp_as_mapping */
+ (hashfunc)0, /* tp_hash */
+ (ternaryfunc)0, /* tp_call */
+ (reprfunc)PySwigObject_str, /* tp_str */
+ PyObject_GenericGetAttr, /* tp_getattro */
+ 0, /* tp_setattro */
+ 0, /* tp_as_buffer */
+ Py_TPFLAGS_DEFAULT, /* tp_flags */
+ swigobject_doc, /* tp_doc */
+ 0, /* tp_traverse */
+ 0, /* tp_clear */
+ 0, /* tp_richcompare */
+ 0, /* tp_weaklistoffset */
+#if PY_VERSION_HEX >= 0x02020000
+ 0, /* tp_iter */
+ 0, /* tp_iternext */
+ swigobject_methods, /* tp_methods */
+ 0, /* tp_members */
+ 0, /* tp_getset */
+ 0, /* tp_base */
+ 0, /* tp_dict */
+ 0, /* tp_descr_get */
+ 0, /* tp_descr_set */
+ 0, /* tp_dictoffset */
+ 0, /* tp_init */
+ 0, /* tp_alloc */
+ 0, /* tp_new */
+ 0, /* tp_free */
+ 0, /* tp_is_gc */
+ 0, /* tp_bases */
+ 0, /* tp_mro */
+ 0, /* tp_cache */
+ 0, /* tp_subclasses */
+ 0, /* tp_weaklist */
+#endif
+#if PY_VERSION_HEX >= 0x02030000
+ 0, /* tp_del */
+#endif
+#ifdef COUNT_ALLOCS
+ 0,0,0,0 /* tp_alloc -> tp_next */
+#endif
+ };
+ pyswigobject_type = tmp;
+ pyswigobject_type.ob_type = &PyType_Type;
+ type_init = 1;
+ }
+ return &pyswigobject_type;
+}
+
+SWIGRUNTIME PyObject *
+PySwigObject_New(void *ptr, swig_type_info *ty, int own)
+{
+ PySwigObject *sobj = PyObject_NEW(PySwigObject, PySwigObject_type());
+ if (sobj) {
+ sobj->ptr = ptr;
+ sobj->ty = ty;
+ sobj->own = own;
+ sobj->next = 0;
+ }
+ return (PyObject *)sobj;
+}
+
+/* -----------------------------------------------------------------------------
+ * Implements a simple Swig Packed type, and use it instead of string
+ * ----------------------------------------------------------------------------- */
+
+typedef struct {
+ PyObject_HEAD
+ void *pack;
+ swig_type_info *ty;
+ size_t size;
+} PySwigPacked;
+
+SWIGRUNTIME int
+PySwigPacked_print(PySwigPacked *v, FILE *fp, int SWIGUNUSEDPARM(flags))
+{
+ char result[SWIG_BUFFER_SIZE];
+ fputs("<Swig Packed ", fp);
+ if (SWIG_PackDataName(result, v->pack, v->size, 0, sizeof(result))) {
+ fputs("at ", fp);
+ fputs(result, fp);
+ }
+ fputs(v->ty->name,fp);
+ fputs(">", fp);
+ return 0;
+}
+
+SWIGRUNTIME PyObject *
+PySwigPacked_repr(PySwigPacked *v)
+{
+ char result[SWIG_BUFFER_SIZE];
+ if (SWIG_PackDataName(result, v->pack, v->size, 0, sizeof(result))) {
+ return PyString_FromFormat("<Swig Packed at %s%s>", result, v->ty->name);
+ } else {
+ return PyString_FromFormat("<Swig Packed %s>", v->ty->name);
+ }
+}
+
+SWIGRUNTIME PyObject *
+PySwigPacked_str(PySwigPacked *v)
+{
+ char result[SWIG_BUFFER_SIZE];
+ if (SWIG_PackDataName(result, v->pack, v->size, 0, sizeof(result))){
+ return PyString_FromFormat("%s%s", result, v->ty->name);
+ } else {
+ return PyString_FromString(v->ty->name);
+ }
+}
+
+SWIGRUNTIME int
+PySwigPacked_compare(PySwigPacked *v, PySwigPacked *w)
+{
+ size_t i = v->size;
+ size_t j = w->size;
+ int s = (i < j) ? -1 : ((i > j) ? 1 : 0);
+ return s ? s : strncmp((char *)v->pack, (char *)w->pack, 2*v->size);
+}
+
+SWIGRUNTIME PyTypeObject* _PySwigPacked_type(void);
+
+SWIGRUNTIME PyTypeObject*
+PySwigPacked_type(void) {
+ static PyTypeObject *SWIG_STATIC_POINTER(type) = _PySwigPacked_type();
+ return type;
+}
+
+SWIGRUNTIMEINLINE int
+PySwigPacked_Check(PyObject *op) {
+ return ((op)->ob_type == _PySwigPacked_type())
+ || (strcmp((op)->ob_type->tp_name,"PySwigPacked") == 0);
+}
+
+SWIGRUNTIME void
+PySwigPacked_dealloc(PyObject *v)
+{
+ if (PySwigPacked_Check(v)) {
+ PySwigPacked *sobj = (PySwigPacked *) v;
+ free(sobj->pack);
+ }
+ PyObject_DEL(v);
+}
+
+SWIGRUNTIME PyTypeObject*
+_PySwigPacked_type(void) {
+ static char swigpacked_doc[] = "Swig object carries a C/C++ instance pointer";
+ static PyTypeObject pyswigpacked_type;
+ static int type_init = 0;
+ if (!type_init) {
+ const PyTypeObject tmp
+ = {
+ PyObject_HEAD_INIT(NULL)
+ 0, /* ob_size */
+ (char *)"PySwigPacked", /* tp_name */
+ sizeof(PySwigPacked), /* tp_basicsize */
+ 0, /* tp_itemsize */
+ (destructor)PySwigPacked_dealloc, /* tp_dealloc */
+ (printfunc)PySwigPacked_print, /* tp_print */
+ (getattrfunc)0, /* tp_getattr */
+ (setattrfunc)0, /* tp_setattr */
+ (cmpfunc)PySwigPacked_compare, /* tp_compare */
+ (reprfunc)PySwigPacked_repr, /* tp_repr */
+ 0, /* tp_as_number */
+ 0, /* tp_as_sequence */
+ 0, /* tp_as_mapping */
+ (hashfunc)0, /* tp_hash */
+ (ternaryfunc)0, /* tp_call */
+ (reprfunc)PySwigPacked_str, /* tp_str */
+ PyObject_GenericGetAttr, /* tp_getattro */
+ 0, /* tp_setattro */
+ 0, /* tp_as_buffer */
+ Py_TPFLAGS_DEFAULT, /* tp_flags */
+ swigpacked_doc, /* tp_doc */
+ 0, /* tp_traverse */
+ 0, /* tp_clear */
+ 0, /* tp_richcompare */
+ 0, /* tp_weaklistoffset */
+#if PY_VERSION_HEX >= 0x02020000
+ 0, /* tp_iter */
+ 0, /* tp_iternext */
+ 0, /* tp_methods */
+ 0, /* tp_members */
+ 0, /* tp_getset */
+ 0, /* tp_base */
+ 0, /* tp_dict */
+ 0, /* tp_descr_get */
+ 0, /* tp_descr_set */
+ 0, /* tp_dictoffset */
+ 0, /* tp_init */
+ 0, /* tp_alloc */
+ 0, /* tp_new */
+ 0, /* tp_free */
+ 0, /* tp_is_gc */
+ 0, /* tp_bases */
+ 0, /* tp_mro */
+ 0, /* tp_cache */
+ 0, /* tp_subclasses */
+ 0, /* tp_weaklist */
+#endif
+#if PY_VERSION_HEX >= 0x02030000
+ 0, /* tp_del */
+#endif
+#ifdef COUNT_ALLOCS
+ 0,0,0,0 /* tp_alloc -> tp_next */
+#endif
+ };
+ pyswigpacked_type = tmp;
+ pyswigpacked_type.ob_type = &PyType_Type;
+ type_init = 1;
+ }
+ return &pyswigpacked_type;
+}
+
+SWIGRUNTIME PyObject *
+PySwigPacked_New(void *ptr, size_t size, swig_type_info *ty)
+{
+ PySwigPacked *sobj = PyObject_NEW(PySwigPacked, PySwigPacked_type());
+ if (sobj) {
+ void *pack = malloc(size);
+ if (pack) {
+ memcpy(pack, ptr, size);
+ sobj->pack = pack;
+ sobj->ty = ty;
+ sobj->size = size;
+ } else {
+ PyObject_DEL((PyObject *) sobj);
+ sobj = 0;
+ }
+ }
+ return (PyObject *) sobj;
+}
+
+SWIGRUNTIME swig_type_info *
+PySwigPacked_UnpackData(PyObject *obj, void *ptr, size_t size)
+{
+ if (PySwigPacked_Check(obj)) {
+ PySwigPacked *sobj = (PySwigPacked *)obj;
+ if (sobj->size != size) return 0;
+ memcpy(ptr, sobj->pack, size);
+ return sobj->ty;
+ } else {
+ return 0;
+ }
+}
+
+/* -----------------------------------------------------------------------------
+ * pointers/data manipulation
+ * ----------------------------------------------------------------------------- */
+
+SWIGRUNTIMEINLINE PyObject *
+_SWIG_This(void)
+{
+ return PyString_FromString("this");
+}
+
+SWIGRUNTIME PyObject *
+SWIG_This(void)
+{
+ static PyObject *SWIG_STATIC_POINTER(swig_this) = _SWIG_This();
+ return swig_this;
+}
+
+/* #define SWIG_PYTHON_SLOW_GETSET_THIS */
+
+SWIGRUNTIME PySwigObject *
+SWIG_Python_GetSwigThis(PyObject *pyobj)
+{
+ if (PySwigObject_Check(pyobj)) {
+ return (PySwigObject *) pyobj;
+ } else {
+ PyObject *obj = 0;
+#if (!defined(SWIG_PYTHON_SLOW_GETSET_THIS) && (PY_VERSION_HEX >= 0x02030000))
+ if (PyInstance_Check(pyobj)) {
+ obj = _PyInstance_Lookup(pyobj, SWIG_This());
+ } else {
+ PyObject **dictptr = _PyObject_GetDictPtr(pyobj);
+ if (dictptr != NULL) {
+ PyObject *dict = *dictptr;
+ obj = dict ? PyDict_GetItem(dict, SWIG_This()) : 0;
+ } else {
+#ifdef PyWeakref_CheckProxy
+ if (PyWeakref_CheckProxy(pyobj)) {
+ PyObject *wobj = PyWeakref_GET_OBJECT(pyobj);
+ return wobj ? SWIG_Python_GetSwigThis(wobj) : 0;
+ }
+#endif
+ obj = PyObject_GetAttr(pyobj,SWIG_This());
+ if (obj) {
+ Py_DECREF(obj);
+ } else {
+ if (PyErr_Occurred()) PyErr_Clear();
+ return 0;
+ }
+ }
+ }
+#else
+ obj = PyObject_GetAttr(pyobj,SWIG_This());
+ if (obj) {
+ Py_DECREF(obj);
+ } else {
+ if (PyErr_Occurred()) PyErr_Clear();
+ return 0;
+ }
+#endif
+ if (obj && !PySwigObject_Check(obj)) {
+ /* a PyObject is called 'this', try to get the 'real this'
+ PySwigObject from it */
+ return SWIG_Python_GetSwigThis(obj);
+ }
+ return (PySwigObject *)obj;
+ }
+}
+
+/* Acquire a pointer value */
+
+SWIGRUNTIME int
+SWIG_Python_AcquirePtr(PyObject *obj, int own) {
+ if (own == SWIG_POINTER_OWN) {
+ PySwigObject *sobj = SWIG_Python_GetSwigThis(obj);
+ if (sobj) {
+ int oldown = sobj->own;
+ sobj->own = own;
+ return oldown;
+ }
+ }
+ return 0;
+}
+
+/* Convert a pointer value */
+
+SWIGRUNTIME int
+SWIG_Python_ConvertPtrAndOwn(PyObject *obj, void **ptr, swig_type_info *ty, int flags, int *own) {
+ if (!obj) return SWIG_ERROR;
+ if (obj == Py_None) {
+ if (ptr) *ptr = 0;
+ return SWIG_OK;
+ } else {
+ PySwigObject *sobj = SWIG_Python_GetSwigThis(obj);
+ if (own)
+ *own = 0;
+ while (sobj) {
+ void *vptr = sobj->ptr;
+ if (ty) {
+ swig_type_info *to = sobj->ty;
+ if (to == ty) {
+ /* no type cast needed */
+ if (ptr) *ptr = vptr;
+ break;
+ } else {
+ swig_cast_info *tc = SWIG_TypeCheck(to->name,ty);
+ if (!tc) {
+ sobj = (PySwigObject *)sobj->next;
+ } else {
+ if (ptr) {
+ int newmemory = 0;
+ *ptr = SWIG_TypeCast(tc,vptr,&newmemory);
+ if (newmemory == SWIG_CAST_NEW_MEMORY) {
+ assert(own);
+ if (own)
+ *own = *own | SWIG_CAST_NEW_MEMORY;
+ }
+ }
+ break;
+ }
+ }
+ } else {
+ if (ptr) *ptr = vptr;
+ break;
+ }
+ }
+ if (sobj) {
+ if (own)
+ *own = *own | sobj->own;
+ if (flags & SWIG_POINTER_DISOWN) {
+ sobj->own = 0;
+ }
+ return SWIG_OK;
+ } else {
+ int res = SWIG_ERROR;
+ if (flags & SWIG_POINTER_IMPLICIT_CONV) {
+ PySwigClientData *data = ty ? (PySwigClientData *) ty->clientdata : 0;
+ if (data && !data->implicitconv) {
+ PyObject *klass = data->klass;
+ if (klass) {
+ PyObject *impconv;
+ data->implicitconv = 1; /* avoid recursion and call 'explicit' constructors*/
+ impconv = SWIG_Python_CallFunctor(klass, obj);
+ data->implicitconv = 0;
+ if (PyErr_Occurred()) {
+ PyErr_Clear();
+ impconv = 0;
+ }
+ if (impconv) {
+ PySwigObject *iobj = SWIG_Python_GetSwigThis(impconv);
+ if (iobj) {
+ void *vptr;
+ res = SWIG_Python_ConvertPtrAndOwn((PyObject*)iobj, &vptr, ty, 0, 0);
+ if (SWIG_IsOK(res)) {
+ if (ptr) {
+ *ptr = vptr;
+ /* transfer the ownership to 'ptr' */
+ iobj->own = 0;
+ res = SWIG_AddCast(res);
+ res = SWIG_AddNewMask(res);
+ } else {
+ res = SWIG_AddCast(res);
+ }
+ }
+ }
+ Py_DECREF(impconv);
+ }
+ }
+ }
+ }
+ return res;
+ }
+ }
+}
+
+/* Convert a function ptr value */
+
+SWIGRUNTIME int
+SWIG_Python_ConvertFunctionPtr(PyObject *obj, void **ptr, swig_type_info *ty) {
+ if (!PyCFunction_Check(obj)) {
+ return SWIG_ConvertPtr(obj, ptr, ty, 0);
+ } else {
+ void *vptr = 0;
+
+ /* here we get the method pointer for callbacks */
+ const char *doc = (((PyCFunctionObject *)obj) -> m_ml -> ml_doc);
+ const char *desc = doc ? strstr(doc, "swig_ptr: ") : 0;
+ if (desc) {
+ desc = ty ? SWIG_UnpackVoidPtr(desc + 10, &vptr, ty->name) : 0;
+ if (!desc) return SWIG_ERROR;
+ }
+ if (ty) {
+ swig_cast_info *tc = SWIG_TypeCheck(desc,ty);
+ if (tc) {
+ int newmemory = 0;
+ *ptr = SWIG_TypeCast(tc,vptr,&newmemory);
+ assert(!newmemory); /* newmemory handling not yet implemented */
+ } else {
+ return SWIG_ERROR;
+ }
+ } else {
+ *ptr = vptr;
+ }
+ return SWIG_OK;
+ }
+}
+
+/* Convert a packed value value */
+
+SWIGRUNTIME int
+SWIG_Python_ConvertPacked(PyObject *obj, void *ptr, size_t sz, swig_type_info *ty) {
+ swig_type_info *to = PySwigPacked_UnpackData(obj, ptr, sz);
+ if (!to) return SWIG_ERROR;
+ if (ty) {
+ if (to != ty) {
+ /* check type cast? */
+ swig_cast_info *tc = SWIG_TypeCheck(to->name,ty);
+ if (!tc) return SWIG_ERROR;
+ }
+ }
+ return SWIG_OK;
+}
+
+/* -----------------------------------------------------------------------------
+ * Create a new pointer object
+ * ----------------------------------------------------------------------------- */
+
+/*
+ Create a new instance object, whitout calling __init__, and set the
+ 'this' attribute.
+*/
+
+SWIGRUNTIME PyObject*
+SWIG_Python_NewShadowInstance(PySwigClientData *data, PyObject *swig_this)
+{
+#if (PY_VERSION_HEX >= 0x02020000)
+ PyObject *inst = 0;
+ PyObject *newraw = data->newraw;
+ if (newraw) {
+ inst = PyObject_Call(newraw, data->newargs, NULL);
+ if (inst) {
+#if !defined(SWIG_PYTHON_SLOW_GETSET_THIS)
+ PyObject **dictptr = _PyObject_GetDictPtr(inst);
+ if (dictptr != NULL) {
+ PyObject *dict = *dictptr;
+ if (dict == NULL) {
+ dict = PyDict_New();
+ *dictptr = dict;
+ PyDict_SetItem(dict, SWIG_This(), swig_this);
+ }
+ }
+#else
+ PyObject *key = SWIG_This();
+ PyObject_SetAttr(inst, key, swig_this);
+#endif
+ }
+ } else {
+ PyObject *dict = PyDict_New();
+ PyDict_SetItem(dict, SWIG_This(), swig_this);
+ inst = PyInstance_NewRaw(data->newargs, dict);
+ Py_DECREF(dict);
+ }
+ return inst;
+#else
+#if (PY_VERSION_HEX >= 0x02010000)
+ PyObject *inst;
+ PyObject *dict = PyDict_New();
+ PyDict_SetItem(dict, SWIG_This(), swig_this);
+ inst = PyInstance_NewRaw(data->newargs, dict);
+ Py_DECREF(dict);
+ return (PyObject *) inst;
+#else
+ PyInstanceObject *inst = PyObject_NEW(PyInstanceObject, &PyInstance_Type);
+ if (inst == NULL) {
+ return NULL;
+ }
+ inst->in_class = (PyClassObject *)data->newargs;
+ Py_INCREF(inst->in_class);
+ inst->in_dict = PyDict_New();
+ if (inst->in_dict == NULL) {
+ Py_DECREF(inst);
+ return NULL;
+ }
+#ifdef Py_TPFLAGS_HAVE_WEAKREFS
+ inst->in_weakreflist = NULL;
+#endif
+#ifdef Py_TPFLAGS_GC
+ PyObject_GC_Init(inst);
+#endif
+ PyDict_SetItem(inst->in_dict, SWIG_This(), swig_this);
+ return (PyObject *) inst;
+#endif
+#endif
+}
+
+SWIGRUNTIME void
+SWIG_Python_SetSwigThis(PyObject *inst, PyObject *swig_this)
+{
+ PyObject *dict;
+#if (PY_VERSION_HEX >= 0x02020000) && !defined(SWIG_PYTHON_SLOW_GETSET_THIS)
+ PyObject **dictptr = _PyObject_GetDictPtr(inst);
+ if (dictptr != NULL) {
+ dict = *dictptr;
+ if (dict == NULL) {
+ dict = PyDict_New();
+ *dictptr = dict;
+ }
+ PyDict_SetItem(dict, SWIG_This(), swig_this);
+ return;
+ }
+#endif
+ dict = PyObject_GetAttrString(inst, (char*)"__dict__");
+ PyDict_SetItem(dict, SWIG_This(), swig_this);
+ Py_DECREF(dict);
+}
+
+
+SWIGINTERN PyObject *
+SWIG_Python_InitShadowInstance(PyObject *args) {
+ PyObject *obj[2];
+ if (!SWIG_Python_UnpackTuple(args,(char*)"swiginit", 2, 2, obj)) {
+ return NULL;
+ } else {
+ PySwigObject *sthis = SWIG_Python_GetSwigThis(obj[0]);
+ if (sthis) {
+ PySwigObject_append((PyObject*) sthis, obj[1]);
+ } else {
+ SWIG_Python_SetSwigThis(obj[0], obj[1]);
+ }
+ return SWIG_Py_Void();
+ }
+}
+
+/* Create a new pointer object */
+
+SWIGRUNTIME PyObject *
+SWIG_Python_NewPointerObj(void *ptr, swig_type_info *type, int flags) {
+ if (!ptr) {
+ return SWIG_Py_Void();
+ } else {
+ int own = (flags & SWIG_POINTER_OWN) ? SWIG_POINTER_OWN : 0;
+ PyObject *robj = PySwigObject_New(ptr, type, own);
+ PySwigClientData *clientdata = type ? (PySwigClientData *)(type->clientdata) : 0;
+ if (clientdata && !(flags & SWIG_POINTER_NOSHADOW)) {
+ PyObject *inst = SWIG_Python_NewShadowInstance(clientdata, robj);
+ if (inst) {
+ Py_DECREF(robj);
+ robj = inst;
+ }
+ }
+ return robj;
+ }
+}
+
+/* Create a new packed object */
+
+SWIGRUNTIMEINLINE PyObject *
+SWIG_Python_NewPackedObj(void *ptr, size_t sz, swig_type_info *type) {
+ return ptr ? PySwigPacked_New((void *) ptr, sz, type) : SWIG_Py_Void();
+}
+
+/* -----------------------------------------------------------------------------*
+ * Get type list
+ * -----------------------------------------------------------------------------*/
+
+#ifdef SWIG_LINK_RUNTIME
+void *SWIG_ReturnGlobalTypeList(void *);
+#endif
+
+SWIGRUNTIME swig_module_info *
+SWIG_Python_GetModule(void) {
+ static void *type_pointer = (void *)0;
+ /* first check if module already created */
+ if (!type_pointer) {
+#ifdef SWIG_LINK_RUNTIME
+ type_pointer = SWIG_ReturnGlobalTypeList((void *)0);
+#else
+ type_pointer = PyCObject_Import((char*)"swig_runtime_data" SWIG_RUNTIME_VERSION,
+ (char*)"type_pointer" SWIG_TYPE_TABLE_NAME);
+ if (PyErr_Occurred()) {
+ PyErr_Clear();
+ type_pointer = (void *)0;
+ }
+#endif
+ }
+ return (swig_module_info *) type_pointer;
+}
+
+#if PY_MAJOR_VERSION < 2
+/* PyModule_AddObject function was introduced in Python 2.0. The following function
+ is copied out of Python/modsupport.c in python version 2.3.4 */
+SWIGINTERN int
+PyModule_AddObject(PyObject *m, char *name, PyObject *o)
+{
+ PyObject *dict;
+ if (!PyModule_Check(m)) {
+ PyErr_SetString(PyExc_TypeError,
+ "PyModule_AddObject() needs module as first arg");
+ return SWIG_ERROR;
+ }
+ if (!o) {
+ PyErr_SetString(PyExc_TypeError,
+ "PyModule_AddObject() needs non-NULL value");
+ return SWIG_ERROR;
+ }
+
+ dict = PyModule_GetDict(m);
+ if (dict == NULL) {
+ /* Internal error -- modules must have a dict! */
+ PyErr_Format(PyExc_SystemError, "module '%s' has no __dict__",
+ PyModule_GetName(m));
+ return SWIG_ERROR;
+ }
+ if (PyDict_SetItemString(dict, name, o))
+ return SWIG_ERROR;
+ Py_DECREF(o);
+ return SWIG_OK;
+}
+#endif
+
+SWIGRUNTIME void
+SWIG_Python_DestroyModule(void *vptr)
+{
+ swig_module_info *swig_module = (swig_module_info *) vptr;
+ swig_type_info **types = swig_module->types;
+ size_t i;
+ for (i =0; i < swig_module->size; ++i) {
+ swig_type_info *ty = types[i];
+ if (ty->owndata) {
+ PySwigClientData *data = (PySwigClientData *) ty->clientdata;
+ if (data) PySwigClientData_Del(data);
+ }
+ }
+ Py_DECREF(SWIG_This());
+}
+
+SWIGRUNTIME void
+SWIG_Python_SetModule(swig_module_info *swig_module) {
+ static PyMethodDef swig_empty_runtime_method_table[] = { {NULL, NULL, 0, NULL} };/* Sentinel */
+
+ PyObject *module = Py_InitModule((char*)"swig_runtime_data" SWIG_RUNTIME_VERSION,
+ swig_empty_runtime_method_table);
+ PyObject *pointer = PyCObject_FromVoidPtr((void *) swig_module, SWIG_Python_DestroyModule);
+ if (pointer && module) {
+ PyModule_AddObject(module, (char*)"type_pointer" SWIG_TYPE_TABLE_NAME, pointer);
+ } else {
+ Py_XDECREF(pointer);
+ }
+}
+
+/* The python cached type query */
+SWIGRUNTIME PyObject *
+SWIG_Python_TypeCache(void) {
+ static PyObject *SWIG_STATIC_POINTER(cache) = PyDict_New();
+ return cache;
+}
+
+SWIGRUNTIME swig_type_info *
+SWIG_Python_TypeQuery(const char *type)
+{
+ PyObject *cache = SWIG_Python_TypeCache();
+ PyObject *key = PyString_FromString(type);
+ PyObject *obj = PyDict_GetItem(cache, key);
+ swig_type_info *descriptor;
+ if (obj) {
+ descriptor = (swig_type_info *) PyCObject_AsVoidPtr(obj);
+ } else {
+ swig_module_info *swig_module = SWIG_Python_GetModule();
+ descriptor = SWIG_TypeQueryModule(swig_module, swig_module, type);
+ if (descriptor) {
+ obj = PyCObject_FromVoidPtr(descriptor, NULL);
+ PyDict_SetItem(cache, key, obj);
+ Py_DECREF(obj);
+ }
+ }
+ Py_DECREF(key);
+ return descriptor;
+}
+
+/*
+ For backward compatibility only
+*/
+#define SWIG_POINTER_EXCEPTION 0
+#define SWIG_arg_fail(arg) SWIG_Python_ArgFail(arg)
+#define SWIG_MustGetPtr(p, type, argnum, flags) SWIG_Python_MustGetPtr(p, type, argnum, flags)
+
+SWIGRUNTIME int
+SWIG_Python_AddErrMesg(const char* mesg, int infront)
+{
+ if (PyErr_Occurred()) {
+ PyObject *type = 0;
+ PyObject *value = 0;
+ PyObject *traceback = 0;
+ PyErr_Fetch(&type, &value, &traceback);
+ if (value) {
+ PyObject *old_str = PyObject_Str(value);
+ Py_XINCREF(type);
+ PyErr_Clear();
+ if (infront) {
+ PyErr_Format(type, "%s %s", mesg, PyString_AsString(old_str));
+ } else {
+ PyErr_Format(type, "%s %s", PyString_AsString(old_str), mesg);
+ }
+ Py_DECREF(old_str);
+ }
+ return 1;
+ } else {
+ return 0;
+ }
+}
+
+SWIGRUNTIME int
+SWIG_Python_ArgFail(int argnum)
+{
+ if (PyErr_Occurred()) {
+ /* add information about failing argument */
+ char mesg[256];
+ PyOS_snprintf(mesg, sizeof(mesg), "argument number %d:", argnum);
+ return SWIG_Python_AddErrMesg(mesg, 1);
+ } else {
+ return 0;
+ }
+}
+
+SWIGRUNTIMEINLINE const char *
+PySwigObject_GetDesc(PyObject *self)
+{
+ PySwigObject *v = (PySwigObject *)self;
+ swig_type_info *ty = v ? v->ty : 0;
+ return ty ? ty->str : (char*)"";
+}
+
+SWIGRUNTIME void
+SWIG_Python_TypeError(const char *type, PyObject *obj)
+{
+ if (type) {
+#if defined(SWIG_COBJECT_TYPES)
+ if (obj && PySwigObject_Check(obj)) {
+ const char *otype = (const char *) PySwigObject_GetDesc(obj);
+ if (otype) {
+ PyErr_Format(PyExc_TypeError, "a '%s' is expected, 'PySwigObject(%s)' is received",
+ type, otype);
+ return;
+ }
+ } else
+#endif
+ {
+ const char *otype = (obj ? obj->ob_type->tp_name : 0);
+ if (otype) {
+ PyObject *str = PyObject_Str(obj);
+ const char *cstr = str ? PyString_AsString(str) : 0;
+ if (cstr) {
+ PyErr_Format(PyExc_TypeError, "a '%s' is expected, '%s(%s)' is received",
+ type, otype, cstr);
+ } else {
+ PyErr_Format(PyExc_TypeError, "a '%s' is expected, '%s' is received",
+ type, otype);
+ }
+ Py_XDECREF(str);
+ return;
+ }
+ }
+ PyErr_Format(PyExc_TypeError, "a '%s' is expected", type);
+ } else {
+ PyErr_Format(PyExc_TypeError, "unexpected type is received");
+ }
+}
+
+
+/* Convert a pointer value, signal an exception on a type mismatch */
+SWIGRUNTIME void *
+SWIG_Python_MustGetPtr(PyObject *obj, swig_type_info *ty, int argnum, int flags) {
+ void *result;
+ if (SWIG_Python_ConvertPtr(obj, &result, ty, flags) == -1) {
+ PyErr_Clear();
+ if (flags & SWIG_POINTER_EXCEPTION) {
+ SWIG_Python_TypeError(SWIG_TypePrettyName(ty), obj);
+ SWIG_Python_ArgFail(argnum);
+ }
+ }
+ return result;
+}
+
+
+#ifdef __cplusplus
+#if 0
+{ /* cc-mode */
+#endif
+}
+#endif
+
+
+
+#define SWIG_exception_fail(code, msg) do { SWIG_Error(code, msg); SWIG_fail; } while(0)
+
+#define SWIG_contract_assert(expr, msg) if (!(expr)) { SWIG_Error(SWIG_RuntimeError, msg); SWIG_fail; } else
+
+
+
+/* -------- TYPES TABLE (BEGIN) -------- */
+
+#define SWIGTYPE_p_ARCoordMarcador swig_types[0]
+#define SWIGTYPE_p_CoordApuntador swig_types[1]
+#define SWIGTYPE_p_Elemento swig_types[2]
+#define SWIGTYPE_p_Historico swig_types[3]
+#define SWIGTYPE_p_PropiedadesDeteccionApuntador swig_types[4]
+#define SWIGTYPE_p_Pui swig_types[5]
+#define SWIGTYPE_p_RangosColorApuntador swig_types[6]
+#define SWIGTYPE_p_ResultadosCalibracion swig_types[7]
+#define SWIGTYPE_p_a_2__double swig_types[8]
+#define SWIGTYPE_p_char swig_types[9]
+#define SWIGTYPE_p_double swig_types[10]
+#define SWIGTYPE_p_int swig_types[11]
+#define SWIGTYPE_p_p_char swig_types[12]
+#define SWIGTYPE_p_unsigned_char swig_types[13]
+static swig_type_info *swig_types[15];
+static swig_module_info swig_module = {swig_types, 14, 0, 0, 0, 0};
+#define SWIG_TypeQuery(name) SWIG_TypeQueryModule(&swig_module, &swig_module, name)
+#define SWIG_MangledTypeQuery(name) SWIG_MangledTypeQueryModule(&swig_module, &swig_module, name)
+
+/* -------- TYPES TABLE (END) -------- */
+
+#if (PY_VERSION_HEX <= 0x02000000)
+# if !defined(SWIG_PYTHON_CLASSIC)
+# error "This python version requires swig to be run with the '-classic' option"
+# endif
+#endif
+
+/*-----------------------------------------------
+ @(target):= _PuiModule.so
+ ------------------------------------------------*/
+#define SWIG_init init_PuiModule
+
+#define SWIG_name "_PuiModule"
+
+#define SWIGVERSION 0x010336
+#define SWIG_VERSION SWIGVERSION
+
+
+#define SWIG_as_voidptr(a) const_cast< void * >(static_cast< const void * >(a))
+#define SWIG_as_voidptrptr(a) ((void)SWIG_as_voidptr(*a),reinterpret_cast< void** >(a))
+
+
+#include <stdexcept>
+
+
+namespace swig {
+ class PyObject_ptr {
+ protected:
+ PyObject *_obj;
+
+ public:
+ PyObject_ptr() :_obj(0)
+ {
+ }
+
+ PyObject_ptr(const PyObject_ptr& item) : _obj(item._obj)
+ {
+ Py_XINCREF(_obj);
+ }
+
+ PyObject_ptr(PyObject *obj, bool initial_ref = true) :_obj(obj)
+ {
+ if (initial_ref) {
+ Py_XINCREF(_obj);
+ }
+ }
+
+ PyObject_ptr & operator=(const PyObject_ptr& item)
+ {
+ Py_XINCREF(item._obj);
+ Py_XDECREF(_obj);
+ _obj = item._obj;
+ return *this;
+ }
+
+ ~PyObject_ptr()
+ {
+ Py_XDECREF(_obj);
+ }
+
+ operator PyObject *() const
+ {
+ return _obj;
+ }
+
+ PyObject *operator->() const
+ {
+ return _obj;
+ }
+ };
+}
+
+
+namespace swig {
+ struct PyObject_var : PyObject_ptr {
+ PyObject_var(PyObject* obj = 0) : PyObject_ptr(obj, false) { }
+
+ PyObject_var & operator = (PyObject* obj)
+ {
+ Py_XDECREF(_obj);
+ _obj = obj;
+ return *this;
+ }
+ };
+}
+
+
+#ifndef ESTRUCTURASPUBLICAS_H_
+#define ESTRUCTURASPUBLICAS_H_
+
+ typedef struct {
+ int area;
+ double centro[2];
+ double vertex[4][2];
+ int visible;
+ int id;
+ double cf;
+ } ARCoordMarcador;
+
+ typedef struct {
+ int idPatt;
+ char imagen[255];
+ char sonido[255];
+ char nombre[255];
+ int conjunto; // 0 es conjunto A y 1 es conjunto B
+ int idElementoRelacionado; // El elemento relacionado debe pertenecer al conjunto opuesto
+ char nombreRelacion[255];
+ int idImagenSDL;
+ }Elemento;
+
+ typedef struct {
+ int tope;
+ int cantHistorico;
+ int * historicoElementos;
+ }Historico;
+
+ typedef struct{
+ int hmin, hmax, smin, smax,vmin,vmax;
+ }RangosColorApuntador;
+
+ typedef struct {
+ int * areas_minimas; //areas_minimas[i] indica el area cota inferior para la deteccion del apuntador sobre el marcador i
+ int * areas_maximas; //areas_maximas[i] indica el area cota superior para la deteccion del apuntador sobre el marcador i
+ double * relaciones_promedio; // relaciones_promedio[i] indica la relacion que hay entre el area promedio del apuntador y el area promedio del marcador i
+ }ResultadosCalibracion;
+
+
+ typedef struct {
+ int area;
+ double centro[2];
+ } CoordApuntador;
+
+#endif
+
+
+
+#include <limits.h>
+#if !defined(SWIG_NO_LLONG_MAX)
+# if !defined(LLONG_MAX) && defined(__GNUC__) && defined (__LONG_LONG_MAX__)
+# define LLONG_MAX __LONG_LONG_MAX__
+# define LLONG_MIN (-LLONG_MAX - 1LL)
+# define ULLONG_MAX (LLONG_MAX * 2ULL + 1ULL)
+# endif
+#endif
+
+
+SWIGINTERN int
+SWIG_AsVal_double (PyObject *obj, double *val)
+{
+ int res = SWIG_TypeError;
+ if (PyFloat_Check(obj)) {
+ if (val) *val = PyFloat_AsDouble(obj);
+ return SWIG_OK;
+ } else if (PyInt_Check(obj)) {
+ if (val) *val = PyInt_AsLong(obj);
+ return SWIG_OK;
+ } else if (PyLong_Check(obj)) {
+ double v = PyLong_AsDouble(obj);
+ if (!PyErr_Occurred()) {
+ if (val) *val = v;
+ return SWIG_OK;
+ } else {
+ PyErr_Clear();
+ }
+ }
+#ifdef SWIG_PYTHON_CAST_MODE
+ {
+ int dispatch = 0;
+ double d = PyFloat_AsDouble(obj);
+ if (!PyErr_Occurred()) {
+ if (val) *val = d;
+ return SWIG_AddCast(SWIG_OK);
+ } else {
+ PyErr_Clear();
+ }
+ if (!dispatch) {
+ long v = PyLong_AsLong(obj);
+ if (!PyErr_Occurred()) {
+ if (val) *val = v;
+ return SWIG_AddCast(SWIG_AddCast(SWIG_OK));
+ } else {
+ PyErr_Clear();
+ }
+ }
+ }
+#endif
+ return res;
+}
+
+
+#include <float.h>
+
+
+#include <math.h>
+
+
+SWIGINTERNINLINE int
+SWIG_CanCastAsInteger(double *d, double min, double max) {
+ double x = *d;
+ if ((min <= x && x <= max)) {
+ double fx = floor(x);
+ double cx = ceil(x);
+ double rd = ((x - fx) < 0.5) ? fx : cx; /* simple rint */
+ if ((errno == EDOM) || (errno == ERANGE)) {
+ errno = 0;
+ } else {
+ double summ, reps, diff;
+ if (rd < x) {
+ diff = x - rd;
+ } else if (rd > x) {
+ diff = rd - x;
+ } else {
+ return 1;
+ }
+ summ = rd + x;
+ reps = diff/summ;
+ if (reps < 8*DBL_EPSILON) {
+ *d = rd;
+ return 1;
+ }
+ }
+ }
+ return 0;
+}
+
+
+SWIGINTERN int
+SWIG_AsVal_long (PyObject *obj, long* val)
+{
+ if (PyInt_Check(obj)) {
+ if (val) *val = PyInt_AsLong(obj);
+ return SWIG_OK;
+ } else if (PyLong_Check(obj)) {
+ long v = PyLong_AsLong(obj);
+ if (!PyErr_Occurred()) {
+ if (val) *val = v;
+ return SWIG_OK;
+ } else {
+ PyErr_Clear();
+ }
+ }
+#ifdef SWIG_PYTHON_CAST_MODE
+ {
+ int dispatch = 0;
+ long v = PyInt_AsLong(obj);
+ if (!PyErr_Occurred()) {
+ if (val) *val = v;
+ return SWIG_AddCast(SWIG_OK);
+ } else {
+ PyErr_Clear();
+ }
+ if (!dispatch) {
+ double d;
+ int res = SWIG_AddCast(SWIG_AsVal_double (obj,&d));
+ if (SWIG_IsOK(res) && SWIG_CanCastAsInteger(&d, LONG_MIN, LONG_MAX)) {
+ if (val) *val = (long)(d);
+ return res;
+ }
+ }
+ }
+#endif
+ return SWIG_TypeError;
+}
+
+
+SWIGINTERN int
+SWIG_AsVal_int (PyObject * obj, int *val)
+{
+ long v;
+ int res = SWIG_AsVal_long (obj, &v);
+ if (SWIG_IsOK(res)) {
+ if ((v < INT_MIN || v > INT_MAX)) {
+ return SWIG_OverflowError;
+ } else {
+ if (val) *val = static_cast< int >(v);
+ }
+ }
+ return res;
+}
+
+
+ #define SWIG_From_long PyInt_FromLong
+
+
+SWIGINTERNINLINE PyObject *
+SWIG_From_int (int value)
+{
+ return SWIG_From_long (value);
+}
+
+
+ #define SWIG_From_double PyFloat_FromDouble
+
+
+SWIGINTERN swig_type_info*
+SWIG_pchar_descriptor(void)
+{
+ static int init = 0;
+ static swig_type_info* info = 0;
+ if (!init) {
+ info = SWIG_TypeQuery("_p_char");
+ init = 1;
+ }
+ return info;
+}
+
+
+SWIGINTERN int
+SWIG_AsCharPtrAndSize(PyObject *obj, char** cptr, size_t* psize, int *alloc)
+{
+ if (PyString_Check(obj)) {
+ char *cstr; Py_ssize_t len;
+ PyString_AsStringAndSize(obj, &cstr, &len);
+ if (cptr) {
+ if (alloc) {
+ /*
+ In python the user should not be able to modify the inner
+ string representation. To warranty that, if you define
+ SWIG_PYTHON_SAFE_CSTRINGS, a new/copy of the python string
+ buffer is always returned.
+
+ The default behavior is just to return the pointer value,
+ so, be careful.
+ */
+#if defined(SWIG_PYTHON_SAFE_CSTRINGS)
+ if (*alloc != SWIG_OLDOBJ)
+#else
+ if (*alloc == SWIG_NEWOBJ)
+#endif
+ {
+ *cptr = reinterpret_cast< char* >(memcpy((new char[len + 1]), cstr, sizeof(char)*(len + 1)));
+ *alloc = SWIG_NEWOBJ;
+ }
+ else {
+ *cptr = cstr;
+ *alloc = SWIG_OLDOBJ;
+ }
+ } else {
+ *cptr = PyString_AsString(obj);
+ }
+ }
+ if (psize) *psize = len + 1;
+ return SWIG_OK;
+ } else {
+ swig_type_info* pchar_descriptor = SWIG_pchar_descriptor();
+ if (pchar_descriptor) {
+ void* vptr = 0;
+ if (SWIG_ConvertPtr(obj, &vptr, pchar_descriptor, 0) == SWIG_OK) {
+ if (cptr) *cptr = (char *) vptr;
+ if (psize) *psize = vptr ? (strlen((char *)vptr) + 1) : 0;
+ if (alloc) *alloc = SWIG_OLDOBJ;
+ return SWIG_OK;
+ }
+ }
+ }
+ return SWIG_TypeError;
+}
+
+
+SWIGINTERN int
+SWIG_AsCharArray(PyObject * obj, char *val, size_t size)
+{
+ char* cptr = 0; size_t csize = 0; int alloc = SWIG_OLDOBJ;
+ int res = SWIG_AsCharPtrAndSize(obj, &cptr, &csize, &alloc);
+ if (SWIG_IsOK(res)) {
+ if ((csize == size + 1) && cptr && !(cptr[csize-1])) --csize;
+ if (csize <= size) {
+ if (val) {
+ if (csize) memcpy(val, cptr, csize*sizeof(char));
+ if (csize < size) memset(val + csize, 0, (size - csize)*sizeof(char));
+ }
+ if (alloc == SWIG_NEWOBJ) {
+ delete[] cptr;
+ res = SWIG_DelNewMask(res);
+ }
+ return res;
+ }
+ if (alloc == SWIG_NEWOBJ) delete[] cptr;
+ }
+ return SWIG_TypeError;
+}
+
+
+SWIGINTERNINLINE PyObject *
+SWIG_FromCharPtrAndSize(const char* carray, size_t size)
+{
+ if (carray) {
+ if (size > INT_MAX) {
+ swig_type_info* pchar_descriptor = SWIG_pchar_descriptor();
+ return pchar_descriptor ?
+ SWIG_NewPointerObj(const_cast< char * >(carray), pchar_descriptor, 0) : SWIG_Py_Void();
+ } else {
+ return PyString_FromStringAndSize(carray, static_cast< int >(size));
+ }
+ } else {
+ return SWIG_Py_Void();
+ }
+}
+
+
+
+#include <numpy/arrayobject.h>
+/*Incluyo Artoolkit*/
+#include <AR/param.h>
+#include <AR/ar.h>
+#include <AR/arMulti.h>
+#include <AR/video.h>
+
+#include <sys/ioctl.h>
+#include <linux/videodev.h>
+#include <fcntl.h>
+
+
+
+
+#define FORMA_APUNTADOR_CIRCULO 1
+#define FORMA_APUNTADOR_RECTANGULAR 2
+#define FORMA_APUNTADOR_MANO 3
+
+#define ERROR_DETECTANDO_MARCADORES 4
+#define ERROR_CALCULANDO_MATRIZ_TRANSFORMACION 5
+#define ERROR_NINGUN_MARCADOR_DETECTADO 6
+#define ERROR_IMAGEN_NULL 7
+#define DETECCION_CORRECTA 8
+
+#define MASCARA_APLICADA 9
+#define MASCARA_NO_APLICADA 10
+
+#define TIPO_MASCARA_BINARIA 11
+#define TIPO_MASCARA_ATENUANTE 12
+
+#define ERROR_TOMAR_MUESTRA_FORMA_NO_IMPLEMENTADA 13
+#define ERROR_TOMAR_MUESTRA_OK 14
+
+#define OFFSET_ROI 5 //Cuanto mas grande mas grande sera el ROI donde busco el apuntador
+#define MIN_AREA_WIDTH_HEIGHT 5 //Este valor sirve para indicar cual es el area minima en la cual se busca un apuntador.
+ //Por ejemplo si el marcador se encuentra apenas dentro de la pantalla y el height o el width no superan este valor entonces
+ //el area no sera analizada en busca de un apuntador
+
+#define MIN_CF_MARKER_DETECT 0.6
+#define MODO_MULTI_MARKERS 15
+#define MODO_SIMPLE 16
+#define MODO_MULTI_MARKERS_CALIBRADOR 17
+
+#include "cvUtilities.h"
+#include "Estructuras.h"
+#include "Funciones.h"
+#include "Estructuras_wrapp.h"
+
+class Pui {
+
+public:
+
+ static int const FAST_SPEED_LOOP = 15;
+ static int const NORMAL_SPEED_LOOP = 16;
+ static double const FAST_SPEED_LOOP_MULTIPLIER = 1./8.;
+ static double const NORMAL_SPEED_LOOP_MULTIPLIER = 1./2.;
+
+ int insert(unsigned char *bytes, int len);
+ binary_data out();
+
+
+ Pui();
+ virtual ~Pui();
+
+ /************************************** Manejo de Objetos PUI **************************************/
+ /*
+ * Inicializa los objetos PUI desde un archivo de texto.
+ * Como máximo se cargan la cantidad indicada por max_elementos
+ *
+ * Además de las propiedades de cada objeto PUI también se carga un sonido
+ * de error y uno de éxito
+ *
+ * @param archivoConfiguracion Ruta completa del archivo de configuración
+ * @param max_elementos Candidad máxima de elementos que serán cargados
+ */
+ int leerConfiguracionObjetosPUI(const char* archivoConfiguracion,int max_elementos);
+
+ /**
+ * Lee un archivo de configuracion conteniendo una lista de ruta de archivos .patt
+ * que seran cargados para utilizar en el modo MODO_SIMPLE
+ *
+ * @param config_name Ruta completa del archivo conteniendo la lista de .patt
+ *
+ * @return Retorna la cantidad de marcadores que fueron cargados
+ */
+ int leerPatternsModoSimple(const char* config_name);
+ /**
+ * Imprime en consola la información de los objetos PUI cargados
+ */
+ void imprimirPropiedadesObjetosPUI();
+
+
+ /*Funciones para acceder a propiedades de los objetos PUI*/
+
+ /**
+ * Retorna el nombre del Objeto PUI correspondiente al identificador idObjeto
+ *
+ * @param idObjeto Identificador del Objeto PUI
+ */
+ char * getNombreObjetoPUI(int idObjeto);
+
+ /**
+ * Retorna la ruta del archivo de sonido asociado al Objeto PUI correspondiente al identificador idObjeto
+ *
+ * @param idObjeto Identificador del Objeto PUI
+ */
+ char * getSonidoObjetoPUI(int idObjeto);
+
+ /**
+ * Retorna la ruta del archivo de imagen asociado al Objeto PUI correspondiente al identificador idObjeto
+ *
+ * @param idObjeto Identificador del Objeto PUI
+ */
+ char * getImagenObjetoPUI(int idObjeto);
+
+ /**
+ * Retorna la ruta del archivo de sonido de error.
+ */
+ char* getSonidoError();
+
+ /**
+ * Retorna la ruta del archivo de sonido de exito.
+ */
+ char* getSonidoOk();
+
+ /**
+ * Retorna true si y solo si el objeto1 esta relacionado con el objeto2
+ * objeto1---->objeto2
+ * No tiene porque cumplirse la coondicion inversa ( objeto2--->objeto1)
+ */
+ bool esRelacionCorrecta(int idObjeto1,int idObjeto2);
+
+ int getConjuntoObjetoPui(int idObjeto);
+
+ int getIdElementoRelacionado(int idObjeto);
+
+ char * getNombreRelacionObjetoPUI(int idObjeto);
+
+ /* Si hay algun apuntador tocando un marcador entonces devuelve el indice del marcador,
+ * de lo contrario retorna -1. Como máximo retorna el id de un sólo marcador aunque
+ * puedan existir multiples selecciones
+ *
+ * Algoritmo de detección:
+ *
+ * 1- Para cada marcador M no detectado:
+ * 1.1 - hay apuntador en el área correspondiente a M?
+ * 1.1.1 - Si ==> MarcadorSeleccionado = M
+ * break //termina el loop
+ *
+ * 2- Está habilitada la funciónalidad de historico?
+ * 2.1 - cantDeteccionesMarcador = Registrar detección (M)
+ * 2.2 - cantDeteccionesMarcador >= CANT_HISTORICO?
+ * 2.1 - Si ==> retorno M.id
+ * 2.2 - No ==> retonro -1 (aun no se llegó a detectar la selección sobre el mismo marcador la cantidad mínima
+ * de veces seguidas para decidir que realmente se haya producido una selección. Esta funcionalidad
+ * se denomina histórico y agrega robustez al algoritmo de detección evitando falsos positivos en
+ * los casos en que el apuntador no se detenga encima del marcador o que simplemente se haya introducido
+ * ruido en la imágen)
+ *
+ * Desarrollo del punto 1.1:
+ * Función hayApuntador:
+ * 1- Transformar la imagen original img a su respectiva representación en HSV(H:0-360,S:0-100,V:0-100) : img_hsv
+ * 2- Binarización de la imágen:
+ * 2.1: Para cada píxel P perteneciente a img_hsv:
+ * 2.1.1 : P está dentro de los rangos de color (definidos en la estructura RangosColorApuntador) ?
+ * 2.1.1.1 Si ==> img_mono[indice(P)] = 1
+ * 2.1.1.2 No ==> img_mono[indice(P)] = 0
+ *
+ * 3 - Aplicar cvSmooth (openCV) para eliminar ruido
+ * Si PropiedadesDeteccionApuntador.smooth El smooth o también conocido como blur (desenfoque) genera un borroneo en la
+ * ==> img_mono = cvSmooth(img_mono) imagen y se utiliza para reducir el ruido de la imagen. Se utiliza un vecindario de 7x7 píxeles para este filtro
+ * ------------------------------------------------------
+ * 4 - Aplicar cvErode (openCV) para eliminar ruido.
+ * Si PropiedadesDeteccionApuntador.erode > 0 Esta operación se utiliza para eliminar las pequeñas manchas aisladas en
+ * ==> img_mono = cvErode(img_mono,PropiedadesDeteccionApuntador.erode) la imagen. La idea es que las pequeñas manchas desaparezcan pero que
+ * las áreas mas grandes y significativas queden visibles. Luego de aplicar
+ * este filtro deberían permanecer en la imágen binaria solamente aquellos
+ * objetos de tamaño significativo cuyo color estaba comprendido dentro de los
+ * rangos aplicados en la binarización.
+ * ------------------------------------------------------
+ * 5- Aplicar cvDilate (openCV).
+ * Si PropiedadesDeteccionApuntador.dilate > 0 Se aplica dilate para conectar regiones cercanas y asi encontrar componentes
+ * ==>img_mono = cvDilate(img_mono,PropiedadesDeteccionApuntador.dilate) conectados. Muchas veces algunas regiones quedan con vacios que pueden ser producidos
+ * por ejemplo por un punto de luz u otro tipo de ruido. Una pequeña dilatación alrededor
+ * de estas regiones vacias puede terminar rellenandolas y produciendo un componente conexo sin
+ * agujeros. (luego se aproximan los componentes a polígonos y se hayan sus contornos)
+ * 6- Deteccion de contornos y calculo del area
+ * 6.1- contornos = calcularContonosExteriores(img_mono) Calcula solamente los contornos exteriores, no interesan aquellos contornos que estén anidados
+ * Si: PropiedadesDeteccionApuntador.enclosing_circle
+ * ==> area = area del circulo que circunscribe al contorno -- Se utiliza cvMinEnclosingCircle
+ * No:
+ * ==> area = area de la aproximacion por poligono del contorno -- Se utiliza poly = cvApproxPoly y area = cvContourArea(poly)
+ * 6.2 (area>=PropiedadesDeteccionApuntador.min_area &&
+ * area<=(areaMarcador/PropiedadesDeteccionApuntador.factorProporcionApuntadorMarcador))? --Actualmente los chequeos de proporcion entre el area del
+ * Si:==>retorna area apuntador y el marcador no son de mucha utilidad porque no se
+ * No:==>retorna -1 logró una precisión tan exacta en los calculos de ambas áreas y
+ * los resultados son muy variables.
+ * En cambio es importante establecer un area minima y chequear que el
+ * area encontrada al menos la iguale, esto evita falsos positivos por ruido
+ * en la imagen u objetos con tonalidades similares al apuntador
+ *
+ *
+ *
+ * */
+ int detectarSeleccion();
+
+ /**
+ * Se inicializan los parámetros para realizar la detección de los marcadores.
+ * También se inicializan las estructuras e imágenes auxiliares que se utilizan para la detección del apuntador.
+ *
+ * @param propiedadesDeteccion estructura con las propiedades utilizadas para realizar la detección del apuntador.
+ * Ver documentación de la estructura PropiedadesDeteccionApuntador y de la función Pui::detectarSeleccion
+ *
+ * @param rangosColorApuntador estructura que indica el rango de colores en representación HSV utilizado para la
+ * detección del apuntador
+ * Ver documentación de la estructura RangosColorApuntador y de la función Pui::detectarSeleccion
+ */
+ void initDeteccionApuntador(PropiedadesDeteccionApuntador propiedadesDeteccion,RangosColorApuntador rangosColorApuntador);
+
+ /**
+ * Se inicializan los parámetros para realizar la detección de los marcadores a partir de un archivo de configuración
+ * También se inicializan las estructuras e imágenes auxiliares que se utilizan para la detección del apuntador.
+
+ * Ver documentación de archivos de configuración
+ */
+ int initDeteccionApuntador(char* configuracionFileName);
+
+ /**
+ * Devuelve la configuración utilizada para la deteccion del apuntador.
+ * area minima
+ * proporcion entre el area del apuntador y los marcadores
+ * Parámetros para la eliminación de ruido: erode, dilate y smooth
+ * Flag indicando si el algorimo de detección aproxima el contorno del apuntador y
+ * por lo tanto su área a la de un círculo
+ */
+ PropiedadesDeteccionApuntador getPropiedadesDeteccionApuntador();
+
+ /**
+ * Establece la configuración utilizada para la deteccion del apuntador.
+ *
+ * propiedadesDeteccion.min_area : area minima
+ * propiedadesDeteccion.factorProporcionApuntadorMarcador : proporcion entre el area del apuntador y los marcadores
+ * propiedadesDeteccion.erode/dilate/smooth : Parámetros para la eliminación de ruido: erode, dilate y smooth (1,1,1 en casos normales)
+ * propiedadesDeteccion.enclosing_circle: Flag indicando si el algorimo de detección aproxima el contorno del apuntador y
+ * por lo tanto su área a la de un círculo. Se recomienda setearla en 1 cuando se utilizan apuntadores
+ * con forma aproximada a una esfera
+ */
+ void setPropiedadesDeteccionApuntador(PropiedadesDeteccionApuntador propiedadesDeteccion);
+
+ /**
+ * Devuelve los rangos HSV en los que se está intentando detectar el apuntador.
+ * La escala HSV utilizada en todos los casos es : H:0-360 S:0-100 V:0-100
+ */
+ RangosColorApuntador getPropiedadesColorApuntador();
+
+ /**
+ * Establece los rangos HSV en los que se está intentando detectar el apuntador.
+ * La escala HSV utilizada en todos los casos es : H:0-360 S:0-100 V:0-100
+ */
+ void setPropiedadesColorApuntador(RangosColorApuntador rangosColorApuntador);
+
+ /**
+ * Establece solamente el Hue minimo para la binarización de
+ * la imagen en el algoritmo de detección del apuntador. (Setea RangosColorApuntador.hmin)
+ */
+ void setHminApuntador(int hMin);
+ /**
+ * Devuelve el Hue minimo para la binarización de
+ * la imagen en el algoritmo de detección del apuntador. (Retorna RangosColorApuntador.hmin)
+ */
+ int getHminApuntador();
+
+ /**
+ * Establece solamente el Hue maximo para la binarización de
+ * la imagen en el algoritmo de detección del apuntador. (Setea RangosColorApuntador.hmax)
+ */
+ void setHmaxApuntador(int hMax);
+
+ /**
+ * Devuelve el Hue maximo para la binarización de
+ * la imagen en el algoritmo de detección del apuntador. (Retorna RangosColorApuntador.hmax)
+ */
+ int getHmaxApuntador();
+
+ /*Análoga a setHmin*/
+ void setSminApuntador(int vMin);
+
+ /*Análoga a getHmin*/
+ int getSminApuntador();
+
+ /*Analoga a setHmax*/
+ void setSmaxApuntador(int vMax);
+
+ /*Análoga a getHmax*/
+ int getSmaxApuntador();
+
+ /*Analoga a setHmin*/
+ void setVminApuntador(int vMin);
+
+ /*Análoga a getHmin*/
+ int getVminApuntador();
+
+ /*Analoga a setHmax*/
+ void setVmaxApuntador(int vMax);
+
+ /*Análoga a getHmax*/
+ int getVmaxApuntador();
+
+ /***************************************************************************************************/
+
+
+ /*************************** Calibracion de Proporcion apuntador-marcador ***********************/
+
+ /**
+ * Calcula los resultados de la calibración que establece la proporción
+ * del área del apuntador y el marcador.
+ *
+ * Actualmente obsoleta, para que funcione de forma óptima la comparación del área entre el
+ * marcador y el apuntador se requiere mayor precisión en los algoritmos que calculan ambas áreas.
+ *
+ * Para mayor información ver el programa Calibrador adjunto con la distribución PUI
+ */
+ void procesarDatosCalibracion();
+
+ /**
+ * Guarda los resultados de la calibración que establece la proporción
+ * del área del apuntador y el marcador.
+ *
+ * Actualmente obsoleta, para que funcione de forma óptima la comparación del área entre el
+ * marcador y el apuntador se requiere mayor precisión en los algoritmos que calculan ambas áreas.
+ *
+ * @param nombreArchivo Ruta completa del archivo donde se guarda la configuración
+ */
+ void guardarDatosCalibracion(const char* nombreArchivo);
+
+
+ /**
+ * Inicializa las propiedades para el calibrador de la proporcion de las areas del apuntador
+ * y los marcadores
+ *
+ * Actualmente obsoleta, se necesita migrar mas funcionalidades a la clase Pui para
+ * que soporte este tipo de calibracion
+ */
+ void initPropiedadesCalibracion(int veces_por_marcador, int cant_marcadores, int metodo,int debug);
+
+ /**
+ * Inicializa las imagenes que se utilizan en el calibrador de la proporcion de las areas del apuntador
+ * y los marcadores
+ *
+ * Actualmente obsoleta, se necesita migrar mas funcionalidades a la clase Pui para
+ * que soporte este tipo de calibracion
+ */
+ int leerConfiguracionCalibracion(const char* archivoConfiguracion, int cantMarcadores, char** imagenes);
+
+ /***************************************************************************************************/
+
+
+
+ /*********************************** Calibracion Threshold ARToolkit **************************************/
+
+ /**
+ * Calcula el Threshold utilizado por artoolkit (por mas info ver documentación de Artoolkit) que
+ * mejor funciona con los marcadores que se esten utilizando.
+ *
+ * La definición de que un valor t1 de threshold es mejor que otro valor t2 está dada por:
+ * t1 detecta mas marcadores que t2?
+ * Si: ==> t1 es mejor
+ * No: ==> detectan la misma cantidad de marcadores? (luego de cantidad_iteraciones se realiza un
+ * promedio de marcadores detectados)
+ * Si: Si el promedio de CF (valor de confianza de que un marcador detectado realmente sea ese marcador, ver
+ * documentacion de Artoolkit) para todos los marcadores utilizando t1 es mayor al
+ * de t2 ==> t1 es mejor, sino t2 es mejor.
+ * No: Entonces t2 detecta mas marcadores, por lo tanto t2 es mejor.
+ *
+ * En resumen, t1 es mejor que t2 si detecta mas marcadores, en caso de empate se decide cual es mejor
+ * comprando los promedios de CF obtenidos
+ *
+ * El valor calculado se almacena en Pui.dataArtoolkit.thresh
+ *
+ * @param cantidad_iteraciones Cantidad de veces que se detectan los marcadores
+ */
+ void calibrarThreshold(int cantidad_iteraciones);
+
+ /***************************************************************************************************/
+
+
+
+
+ /**************************************** Propiedades y manejo de video ************************************/
+ /* El dispositivo utilizado debe permitir estas opciones, de lo contrario el resultado es impredecible*/
+
+ /**
+ * Setea el brillo
+ */
+ void setBrillo(int brillo, char * device);
+
+ /**
+ * Setea en true o false el Balance de blanco automatico
+ */
+ void setAutoWhiteBalance(int habilitado,char * device);
+
+ /**
+ * Setea en true o false el AGC (Auto Gain Control)
+ */
+ void setAutoGain(int habilitado,char * device);
+
+ /**
+ * Setea flip horizontal en la imagen de video
+ */
+ void setHorizontalFlip(int habilitado,char * device);
+
+ /**
+ * Abre una ventana para desplegar el video.
+ * Pui debe ser compilado con la bandera GLUT_HABILITADO , de lo contrario no hace nada
+ */
+ void abrirVentanaGrafica();
+
+ /**
+ * Cierra la ventana abierta mediante la funcion Pui::abrirVentanaGrafica
+ * Invocar esta funcion al finalizar el programa
+ * Pui debe ser compilado con la bandera GLUT_HABILITADO , de lo contrario no hace nada
+ */
+ void cerrarVentanaGrafica();
+
+ /**
+ * Despliega video en la ventana abierta por la funcion Pui::abrirVentanaGrafica()
+ * Pui debe ser compilado con la bandera GLUT_HABILITADO , de lo contrario no hace nada
+ *
+ * @param debug Indica si se debe mostrar la imagen en modo debug.
+ */
+ void desplegarImagenAR(bool debug);
+
+ /**
+ * Despliega video en la ventana abierta por la funcion Pui::abrirVentanaGrafica()
+ * Pui debe ser compilado con la opcion GLUT_HABILITADO , de lo contrario no hace nada
+ */
+ void desplegarImagenFromData(unsigned char * imageData);
+
+ /**
+ * Capturar siguiente Frame
+ *
+ * Actualmente obsoleta, en la implementacion de Artoolkit (video.c) para captura de video esta
+ * funcion no hace nada y siempre retorna TRUE
+ */
+ void capNext();
+
+ /**
+ * Comienza la captura de video
+ */
+ void capStart();
+
+ /**
+ * Detiene la captura de video
+ */
+ void capStop();
+
+ /**
+ * Finaliza la captura de video.
+ * Previo se debe llamar a capStop
+ */
+ void capClose();
+ /***************************************************************************************************/
+
+
+ /*********************************** Captura de video *********************************/
+
+ /**
+ * Si hay un frame disponible entonces lo retorna.
+ * De lo contrario duerme y retorna NULL
+ */
+ unsigned char* capturarImagenAR();
+
+ /**
+ * Si hay un frame disponible entonces lo retorna.
+ * De lo contrario duerme y retorna NULL
+ *
+ * Solamente para pasaje de unsigned char* a Python mediante el
+ * typemap de binary_data. Ver archivo Pui.i
+ */
+ binary_data capturarPyImageAR();
+
+ /**
+ * Retorna la imagen de debug utilizada por artoolkit.
+ * No se debe trabajar sobre esta imagen. Es de uso interno
+ * de artoolkit.
+ *
+ * Es recomendable hacer una copia de los datos antes de realizar
+ * cualquier modificacion
+ */
+ unsigned char* obtenerImagenDebugAR();
+
+ //TODO Incluir la funcionalidad que retorna la imagen de debug para Python
+ //Implementacion analoga a capturarPyImageAR
+ //binary_data* obtenerPyImagenDebugAR();
+
+
+ /*******************************************************************************************/
+
+
+ /******************************** Calibracion de color el apuntador ********************************/
+
+ /*
+ * Inicializa los histogramas en cero
+ * Inicializa los resultados en los rangos maximos (H:0-360,S:0-100,V:0-100)
+ * Registra la forma de la mascara que se aplica a los frames obtenidos de la camara (circulo, rectangulo, mano)
+ * Actualmente solo soporta FORMA_APUNTADOR_CIRCULO
+ *
+ * @param forma Los posibles valores son FORMA_APUNTADOR_CIRCULO, FORMA_APUNTADOR_MANO y FORMA_APUNTADOR_RECTANGULAR.
+ * Actualmente solo funciona con FORMA_APUNTADOR_CIRCULO.
+ *
+ * @param rangos_escala Rangos de la escala HSV que se utilizara. Se recomienda excluir los valores 0 en H para evitar que se introduzca ruido
+ * por el negro y blanco de los marcadores. Utilizar Hmin=1 y Hmax=360
+ *
+ * @param h_bins Cantidad de Intervalos utilizados en el histograma calculado para H. Valor recomendado = 30
+ *
+ * @param s_bins Cantidad de Intervalos utilizados en el histograma calculado para S. Valor recomendado = 20
+ *
+ * @param v_bins Cantidad de Intervalos utilizados en el histograma calculado para V. Valor recomendado = 20
+ * */
+ void initPropiedadesCalibracionSoloApuntador(int forma,RangosColorApuntador rangos_escala,int h_bins, int s_bins, int v_bins,int debug);
+
+
+ /*
+ * Inicializa los histogramas en cero
+ * Inicializa los resultados en los rangos maximos (H:0-360,S:0-100,V:0-100)
+ * Registra la forma de la mascara que se aplica a los frames obtenidos de la camara (circulo, rectangulo, mano)
+ * Actualmente solo soporta FORMA_APUNTADOR_CIRCULO
+ *
+ * @param forma Los posibles valores son FORMA_APUNTADOR_CIRCULO, FORMA_APUNTADOR_MANO y FORMA_APUNTADOR_RECTANGULAR.
+ * Actualmente solo funciona con FORMA_APUNTADOR_CIRCULO.
+ *
+ * @param rangos_escala Rangos de la escala HSV que se utilizara. Se recomienda excluir los valores 0 en H para evitar que se introduzca ruido
+ * por el negro y blanco de los marcadores. Utilizar Hmin=1 y Hmax=360
+ *
+ * @param h_bins Cantidad de Intervalos utilizados en el histograma calculado para H. Valor recomendado = 30
+ *
+ * @param s_bins Cantidad de Intervalos utilizados en el histograma calculado para S. Valor recomendado = 20
+ *
+ * @param v_bins Cantidad de Intervalos utilizados en el histograma calculado para V. Valor recomendado = 20
+ * */
+ void initPropiedadesCalibracionSoloApuntador(int forma,int hmin,int hmax, int smin, int smax, int vmin, int vmax,int h_bins, int s_bins, int v_bins,int debug );
+
+
+ /*
+ * A partir de los marcadores detectados selecciona uno y aplica la mascara segun la forma seleccionada
+ * Como resultado se deja el frame con la mascara aplicada (this->dataArtoolkit.dataPtr)
+ * En caso de exito retorna TIPO_MASCARA_BINARIA, de lo contrario retorna MASCARA_NO_APLICADA
+ *
+ * @param idMarcador Se aplica la mascara dejando visible el marcador indicado
+ * @param tipoMascara Los posibles valores son TIPO_MASCARA_ATENUANTE y TIPO_MASCARA_BINARIA
+ */
+ int aplicarNuevaMascaraCalibrador(int idMarcador,int tipoMascara);
+
+ /*Solamente aplica una mascara previamente calculada por la funcion aplicarNuevaMascaraCalibrador
+ * si antes no se llama al menos una vez a aplicarNuevaMascaraCalibrador entonces no se aplicara la mascara
+ * En caso de exito retorna TIPO_MASCARA_BINARIA, de lo contrario retorna MASCARA_NO_APLICADA
+ *
+ * @param tipoMascara Los posibles valores son TIPO_MASCARA_ATENUANTE y TIPO_MASCARA_BINARIA
+ * */
+ int aplicarMascaraCalibrador(int tipoMascara);
+
+ /**
+ * Las mascaras para el tipo de apuntador FORMA_APUNTADOR_CIRCULO son circunferencias aproximadamente
+ * del tamaño del marcador.
+ *
+ * Esta operacion permite achicar o agrandar la circunferencia
+ *
+ * @param restarAlRadio Los valores positivos achican la circunferencia, los valores negativos la agrandan
+ */
+ void setAchicarRadioMascaraCircular(int restarAlRadio);
+
+ /**
+ * Devuelve el valor que se esta restando al radio de la circunferencia usada
+ * en la calibracion de apuntadores de tipo FORMA_APUNTADOR_CIRCULO.
+ *
+ * Inicialmente siempre es 0
+ */
+ int getAchicarRadioMascaraCircular();
+
+ /**
+ * Retorna imagen usada en la calibracion.
+ * Puede ser util para debaguear
+ */
+ unsigned char* getCalibrationImage();
+
+ //TODO Incluir la funcionalidad que retorna la imagen de debug para Python
+ //binary_data getCalibrationImage();
+
+ /*Calcula el histograma filtrado por la mascara lo acumula al histograma calculado con las muestras anteriores*/
+ int tomarMuestraApuntador();
+
+ /**
+ * Calcula los resultados de la calibracion del color del apuntador.
+ *
+ * @param factorThreshH Indica que nivel debe superar intervalo de H para ser incluido en los resultados.
+ * Valores alto producen una calibracion de H menos exigente y mas amplia, valores muy pequeños
+ * producen una calibracion muy precisa y puntual.
+ * Si el maximo en el histograma H se da con un valor de N pixeles (por ejemplo N pixeles que
+ * caen en el rango 20-50 del histograma H) entonces todos los intervalos (hay hbins intervalos en el hist H)
+ * que tengan un valor menor a N/H seran considerados nulos.
+ * Valor Recomendado = 10. En caso de que la calibracion falle porque los histogramas queden discontinuos
+ * (cuando esta funcion devuelve ERROR_RANGOS_HISTOGRAMA_NO_CONTINUO) se recomienda probar con valores mas altos
+ * de factorThreshH.
+ * En caso que la calibracion genere posteriores falsos positivos en la deteccion del apuntador se recomienda
+ * disminuir este valor.
+ *
+ * @param minPorcentajeRuido Indica el porcentaje de muestras para los intervalos de S y V que se consideran ruido y son puestos en 0.
+ * En caso de que un intervalo de S o V tenga menos pixeles que minPorcentajeRuido % sera puesto en 0.
+ * Ejemplo . Intervalo Saturation[0-30] = 1000 px. En un total de 320*240=76800, 20px corresponde a un 1,3% del total,
+ * si minPorcentajeRuido=3 entonces el intervalo Saturation[0-30] se pone en 0 y no se incluye en los resultados
+ * Valor Recomendado = 3
+ * En caso que la calibracion genere posteriores falsos positivos en la deteccion del apuntador se recomienda
+ * aumentar este valor.
+ *
+ */
+ int calcularResultadosCalibracionApuntador(int factorThreshH,int minPorcentajeRuido);
+
+ /**
+ * Guarda solamente los rangos HSV calculados para el apuntador.
+ *
+ * @param nombreArchivo Ruta completa del archivo donde se guardar los resultados
+ */
+ void guardarSoloRangosColorApuntador(char * nombreArchivo);
+
+ /**
+ * Guarda los rangos HSV calculados y ademas los valores pasados por parametro.
+ *
+ * @param area_min (Recomendado 300, lo mas recomendable es probar segun el apuntador que se este usando.
+ * Valores muy pequeños producen falsos positivos en la deteccion)
+ * @param erode (ver documentacion de Pui::detectarSeleccion(). Valor recomendado = 1)
+ * @param dilate (ver documentacion de Pui::detectarSeleccion(). Valor recomendado = 1)
+ * @param smooth (ver documentacion de Pui::detectarSeleccion(). Valor recomendado = 1)
+ * @param usarEnclosingCircle (ver documentacion de Pui::detectarSeleccion(). Valor recomendado = 1 para apuntadores esfericos, 0 en otros casos)
+ * * @param nombreArchivo Ruta completa del archivo donde se guardar los resultados
+ */
+ void guardarCalibracionApuntador(char * nombreArchivo,int area_min,float factorProporcionUnico,int erode, int dilate,int smooth,int usarEnclosingCircle);
+
+ /*
+ * Setea la propiedad debug_imagenes en las props del calibrador
+ */
+ void setDebugCalibracion(bool debug);
+
+ /**
+ * Devuelve true si se esta en modo debug mientras se realiza la calibracion del apuntador
+ */
+ bool isDebugCalibracion();
+
+ /*
+ * Retorna los resultados de la calibracion del color del apuntador o
+ * los rangos que se esten usando actualmente (seteados manualmente o cargados desde un archivo de configuracion)
+ *
+ * */
+ RangosColorApuntador getResultadosRangosColor();
+
+ /******************************************************************************************************************/
+
+
+
+ /******************************************* Manejo de ARToolkit **************************************************/
+
+
+ /*Devuelve la informacion de todos los marcadores
+ * Tanto los marcadores que no figuran en la estructura de dectados pero estan como visible o aquellos
+ * que directamente estan como no visibles tendran su area y cf en -1 */
+ int detectarYCalcularPosicionTodosMultiMarkers();
+
+ /**
+ * En caso de que Pui.modo sea MODO_MULTI_MARKERS invoca a la funcion detectarYCalcularPosicionTodosMultiMarkers
+ * si Pui.modo es MODO_SIMPLE invoca a la funcion detectarMarcadoresSimple
+ */
+ int detectarMarcadores();
+
+ /**
+ * Detecta un marcador cargado en modo MODO_SIMPLE.
+ * Se guarda el id del marcador detectado y puede ser consultado mediante
+ * la funcion Pui::getMarcadorSimpleDetectado
+ * Si se detecta mas de un marcador se guarda el id del marcador con mayor nivel
+ * de confianza (cf) detectado, es decir el que se haya detectado con mayor seguridad
+ */
+ int detectarMarcadoresSimple();
+
+ /**
+ * Retorna el id del marcador y objeto PUI detectado en la ultima invocacion
+ * a la funcion Pui::detectarMarcadoresSimple
+ */
+ int getIdMarcadorSimpleDetectado();
+
+ /**
+ * Retorna la informacion correspondiente al marcador detectado en la ultima invocacion
+ * a la funcion Pui::detectarMarcadoresSimple.
+ * El id del marcador es el mismo que el id del objeto PUI asociado.
+ */
+ ARCoordMarcador getMarcadorSimpleDetectado();
+
+
+ /**
+ * Retorna la información contenida en la estructura ARCoordMarcador para el marcador de id idMarcador
+ * Solo se utiliza en el caso de modo MODO_MULTI_MARKERS.
+ * Siempre se dispone de cada propiedad de la estructura ARCoordMarcador aunque el marcador no
+ * haya sido detectado (su area, coordenadas y verticas son calculados a partir de la informacion
+ * de aquellos marcadores detectados ) a excepcion de la propiedad cf que no tiene sentido en caso
+ * de que el marcador no haya sido detectado.
+ *
+ * @param idMarcador Identificador del marcador
+ */
+ ARCoordMarcador getInfoMultiMarcador(int idMarcador);
+
+ /**
+ * Utilizada en el modo MODO_SIMPLE
+ * Establece el minimo nivel de confianza para la deteccion de un marcador.
+ * Al detectar un marcador Artoolkit devuelve un valor llamado cf (entre 0 y 1) el cual indica
+ * la seguridad que se tiene de que el marcador detectado realmente sea ese
+ */
+ void setARCf(double cf);
+
+ /**
+ * Devuelve el nivel de confianza establecido para la deteccion de marcadores
+ * en el modo MODO_SIMPLE
+ */
+ double getARCf();
+ /**
+ * Setea el umbral de binarizacion usado por artoolkit.
+ * En condiciones de poca luz usar valores bajos.
+ * Valor por defecto = 100
+ */
+ int getARThreshold();
+
+ /**
+ * Setea el umbral de binarizacion usado por artoolkit.
+ * En condiciones de poca luz usar valores bajos.
+ */
+ void setARThreshold(int threshold);
+
+ /**************************************************************************************************************************************/
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ /****************************************GENERALES PUI**********************************************************/
+
+ /**
+ * Inicialización de PUI con soporte para capturar video
+ *
+ * @param modo Indica el modo de operación, las posibilidades son:
+ * 1. MODO_SIMPLE : No trabaja con multiples marcadores relacionados, simplemente se detectan los marcadores que
+ * se definieron en el archivo de configuración de objetos PUI y no soporta el uso de apuntadores.
+ * Si un marcador no es detectado entonces sus coordenadas no podrán ser calculadas a partir de las
+ * coordenadas de los demas marcadores (no existe relacion alguna entre ellos).
+ * Cuando se inicializa PUI en este modo debe utilizarse la funcion Pui::detectarMarcadoresSimples
+ * o Pui::detectarMarcadores la cual pregunta por el modo de operacion y realiza la correspondiente
+ * invocacion a Pui::detectarMarcadoresSimples o Pui::detectarYCalcularPosicionTodosMultiMarkers segun corresponda.
+ *
+ * 2. MODO_MULTI_MARKER : Trabaja con marcadores relacionados entre ellos. La posición de cada marcador es relativa a la de los
+ * demas. Por lo tanto, detectando por lo menos un marcador es capaz de deducir la posición en pantalla del
+ * resto.
+ * Este modo se utiliza junto con apuntadores que al tapar un marcador disparan la selección del correspondiente
+ * marcador.
+ * Cuando se inicializa PUI en este modo debe utilizarse la funcion Pui::detectarMarcadoresSimples
+ * o Pui::detectarMarcadores la cual pregunta por el modo de operacion y realiza la correspondiente
+ * invocacion a Pui::detectarMarcadoresSimples o Pui::detectarYCalcularPosicionTodosMultiMarkers segun corresponda.
+ *
+ * @param propiedadesDeteccion Parametros para la detección del apuntador en caso que se utilice MODO_MULTI_MARKER
+ * Ver documentacion de la funcion Pui::setPropiedadesDeteccionApuntador
+ *
+ * @param rangosColorApuntador Parametros que definen el rango de colores HSV en los cuales se busca el apuntador
+ * Ver documentacion de la funcion Pui::setPropiedadesColorApuntador
+ *
+ *
+ * @param configMarcadoresAR Si modo = Pui.MODO_MULTI_MARKER
+ * ==> Ruta completa del archivo de configuracion de Artoolkit que relaciona la posicion de los marcadores.
+ * Solamente soportado para el modo MODO_MULTI_MARKER
+ * Para mas informacion ver http://www.hitl.washington.edu/artoolkit/documentation/tutorialmulti.htm
+ *
+ * Si modo = Pui.MODO_SIMPLE
+ * ==> Ruta completa del archivo de configuracion donde se definen los marcadores que se van a utilizar
+ * Este archivo consiste en un conjunto de rutas que apuntan a los .patt correspondientes a cada marcador.
+ * El orden en que se declaran los archivos .patt debe ser el mismo orden en el que se declaran los objetos PUI
+ * cargados por la funcion Pui::leerConfiguracionObjetosPUI
+ *
+ * @param camera_para Archivo de calibracion de la camara
+ *
+ * @param vconf String de configuracion para gstreamer. En caso de ser vacio se utiliza el valor de la variable de ambiente ARTOOLKIT_CONFIG
+ *
+ * @param usarAlgoritmoRapido Utiliza los algoritmos Lite de artoolkit para la deteccion de marcadores. Esto supone un tiemp de procesamiento menor
+ * pero tambien una menor precision de la deteccion de los marcadores. En hardware con alto poder computacional no hay
+ * motivo para utilizar este tipo de algoritmo Lite.
+ *
+ * @param loopSpeed Posibles valores: Pui.FAST_SPEED_LOOP y Pui.NORMAL_SPEED_LOOP. Ver documentacion de estas dos constantes
+ *
+ * @param zoom En caso de haber compilado PUI con soporte para desplegar video (bandera GLUT_HABILITADO) entonces este
+ * parametro indica el zoom para desplegar video.
+ */
+ void initPuiConCapturaDeVideo(int modo,PropiedadesDeteccionApuntador propiedadesDeteccion,RangosColorApuntador rangosColorApuntador,
+ char * configMarcadoresAR,char * camera_para,char *vconf,int usarAlgoritmoRapido,int loopSpeed,double zoom);
+
+
+ /**
+ * Inicialización de PUI con soporte para capturar video
+ *
+ * @param modo Indica el modo de operación, las posibilidades son:
+ * 1. MODO_SIMPLE : No trabaja con multiples marcadores relacionados, simplemente se detectan los marcadores que
+ * se definieron en el archivo de configuración de objetos PUI y no soporta el uso de apuntadores.
+ * Si un marcador no es detectado entonces sus coordenadas no podrán ser calculadas a partir de las
+ * coordenadas de los demas marcadores (no existe relacion alguna entre ellos).
+ * Cuando se inicializa PUI en este modo debe utilizarse la funcion Pui::detectarMarcadoresSimples
+ * o Pui::detectarMarcadores la cual pregunta por el modo de operacion y realiza la correspondiente
+ * invocacion a Pui::detectarMarcadoresSimples o Pui::detectarYCalcularPosicionTodosMultiMarkers segun corresponda.
+ *
+ * 2. MODO_MULTI_MARKER : Trabaja con marcadores relacionados entre ellos. La posición de cada marcador es relativa a la de los
+ * demas. Por lo tanto, detectando por lo menos un marcador es capaz de deducir la posición en pantalla del resto.
+ * Este modo se utiliza junto con apuntadores que al tapar un marcador disparan la selección del correspondiente
+ * marcador.
+ * Cuando se inicializa PUI en este modo debe utilizarse la funcion Pui::detectarMarcadoresSimples
+ * o Pui::detectarMarcadores la cual pregunta por el modo de operacion y realiza la correspondiente
+ * invocacion a Pui::detectarMarcadoresSimples o Pui::detectarYCalcularPosicionTodosMultiMarkers segun corresponda.
+ *
+ * @param propiedadesDeteccion_RangosColor_Filename : Ruta completa de archivo de configuracion incluyendo Parametros para la detección del apuntador
+ * en caso que se utilice MODO_MULTI_MARKER
+ *
+ * @param configMarcadoresAR Si modo = Pui.MODO_MULTI_MARKER
+ * ==> Ruta completa del archivo de configuracion de Artoolkit que relaciona la posicion de los marcadores.
+ * Solamente soportado para el modo MODO_MULTI_MARKER
+ * Para mas informacion ver http://www.hitl.washington.edu/artoolkit/documentation/tutorialmulti.htm
+ *
+ * Si modo = Pui.MODO_SIMPLE
+ * ==> Ruta completa del archivo de configuracion donde se definen los marcadores que se van a utilizar
+ * Este archivo consiste en un conjunto de rutas que apuntan a los .patt correspondientes a cada marcador.
+ * El orden en que se declaran los archivos .patt debe ser el mismo orden en el que se declaran los objetos PUI
+ * cargados por la funcion Pui::leerConfiguracionObjetosPUI
+ *
+ * @param camera_para Archivo de calibracion de la camara
+ *
+ * @param vconf String de configuracion para gstreamer. En caso de ser vacio se utiliza el valor de la variable de ambiente ARTOOLKIT_CONFIG
+ *
+ * @param usarAlgoritmoRapido Utiliza los algoritmos Lite de artoolkit para la deteccion de marcadores. Esto supone un tiemp de procesamiento menor
+ * pero tambien una menor precision de la deteccion de los marcadores. En hardware con alto poder computacional no hay
+ * motivo para utilizar este tipo de algoritmo Lite.
+ *
+ * @param loopSpeed Posibles valores: Pui.FAST_SPEED_LOOP y Pui.NORMAL_SPEED_LOOP. Ver documentacion de estas dos constantes
+ *
+ * @param zoom En caso de haber compilado PUI con soporte para desplegar video (bandera GLUT_HABILITADO) entonces este
+ * parametro indica el zoom para desplegar video.
+ */
+ void initPuiConCapturaDeVideo(int modo,char* propiedadesDeteccion_RangosColor_Filename,char * configMarcadoresAR,char * camera_para,
+ char *vconf,int usarAlgoritmoRapido,int loopSpeed,double zoom);
+
+
+
+
+ /****************************************************************************************************************/
+
+ /**************************************************OTRAS*********************************************************/
+
+ /**
+ * Setea la propiedad que indica si se quiere habilitar el modo de depuración del
+ * algoritmo de detección de seleccion mediante apuntador utilizando imagenes.
+ */
+ void setDebugConImagenes(int debugConImagenes);
+
+ /**
+ * Retorna la propiedad que indica si se quiere habilitar el modo de depuración del
+ * algoritmo de detección de seleccion mediante apuntador utilizando imagenes.
+ */
+ int getDebugConImagenes();
+
+ /**
+ * Habilita o deshabilita la funcionalidad llamada histórico .
+ * La misma consta de llevar un conteo de las veces consecutivas que se detecto la
+ * seleccion de un mismo apuntador. Cuando se llega a un cierto valor establecido (cantHistorico)
+ * entonces recien se considerará como una seleccion y se reflejará en el resultado de la funcion Pui::detectarSeleccion
+ *
+ * El historico agrega robustez al algoritmo de detección evitando falsos positivos en los casos en que
+ * el apuntador no se detenga encima del marcador o que simplemente se haya introducido ruido en la imágen
+ *
+ * @param habilitar Indica si se desea habilitar o deshabilitar la funcionalidad de Historico
+ * @param cantHistorico Cantidad de selecciones consecutivas que deben detectarse sobre un mismo marcador para que se
+ * considere una seleccion real
+ *
+ * @param valorInicial Valor en que se inicializa el conteo, normalmente se utilizará el valor 0
+ */
+ void habilitarHistorico(bool habilitar,int cantHistorico,int valorInicial);
+
+ /**
+ * Retorna true si y solo si la funcionalidad Historico está habilitada
+ */
+ bool isHistoricoHabilitado();
+
+
+ /**
+ * Libera recursos.
+ * Debe ser invocada solo al finalizar el uso de Pui
+ */
+ void finish();
+
+
+
+ /**
+ * retorna la cantidad de imagenes procesadas por segundo y comienza el contador desde 0 nuevamente
+ * FIXME : Chequear la funcionalidad
+ */
+ double getFPSAndResetCount();
+
+ /**
+ * retorna la cantidad de imagenes procesadas por segundo
+ * FIXME : Chequear la funcionalidad
+ */
+ double getFPS();
+
+ /**
+ * Retorna un String con información de PUI (solo a modo informativo)
+ *
+ */
+ char* getModuleInfo();
+
+ /**
+ * Establece modo debug mediante impresiones en consola
+ *
+ * @param debugMode 1 en caso de que se quiera habilitar el modo debug en consola
+ * 0 para deshabilitarlo
+ */
+ void setDebugMode(int debugMode);
+
+ /**
+ * @return Retorna 1 si esta el modo debug habilitado,
+ * 0 en caso contrario
+ */
+ int getDebugMode();
+};
+
+
+
+
+
+SWIGINTERNINLINE PyObject *
+SWIG_FromCharPtr(const char *cptr)
+{
+ return SWIG_FromCharPtrAndSize(cptr, (cptr ? strlen(cptr) : 0));
+}
+
+
+SWIGINTERNINLINE PyObject*
+ SWIG_From_bool (bool value)
+{
+ return PyBool_FromLong(value ? 1 : 0);
+}
+
+
+SWIGINTERN int
+SWIG_AsVal_bool (PyObject *obj, bool *val)
+{
+ int r = PyObject_IsTrue(obj);
+ if (r == -1)
+ return SWIG_ERROR;
+ if (val) *val = r ? true : false;
+ return SWIG_OK;
+}
+
+
+SWIGINTERN int
+SWIG_AsVal_float (PyObject * obj, float *val)
+{
+ double v;
+ int res = SWIG_AsVal_double (obj, &v);
+ if (SWIG_IsOK(res)) {
+ if ((v < -FLT_MAX || v > FLT_MAX)) {
+ return SWIG_OverflowError;
+ } else {
+ if (val) *val = static_cast< float >(v);
+ }
+ }
+ return res;
+}
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+SWIGINTERN PyObject *_wrap_ARCoordMarcador_area_set(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ ARCoordMarcador *arg1 = (ARCoordMarcador *) 0 ;
+ int arg2 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ int val2 ;
+ int ecode2 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if (!PyArg_ParseTuple(args,(char *)"OO:ARCoordMarcador_area_set",&obj0,&obj1)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_ARCoordMarcador, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "ARCoordMarcador_area_set" "', argument " "1"" of type '" "ARCoordMarcador *""'");
+ }
+ arg1 = reinterpret_cast< ARCoordMarcador * >(argp1);
+ ecode2 = SWIG_AsVal_int(obj1, &val2);
+ if (!SWIG_IsOK(ecode2)) {
+ SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "ARCoordMarcador_area_set" "', argument " "2"" of type '" "int""'");
+ }
+ arg2 = static_cast< int >(val2);
+ if (arg1) (arg1)->area = arg2;
+ resultobj = SWIG_Py_Void();
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_ARCoordMarcador_area_get(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ ARCoordMarcador *arg1 = (ARCoordMarcador *) 0 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ PyObject * obj0 = 0 ;
+ int result;
+
+ if (!PyArg_ParseTuple(args,(char *)"O:ARCoordMarcador_area_get",&obj0)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_ARCoordMarcador, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "ARCoordMarcador_area_get" "', argument " "1"" of type '" "ARCoordMarcador *""'");
+ }
+ arg1 = reinterpret_cast< ARCoordMarcador * >(argp1);
+ result = (int) ((arg1)->area);
+ resultobj = SWIG_From_int(static_cast< int >(result));
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_ARCoordMarcador_centro_set(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ ARCoordMarcador *arg1 = (ARCoordMarcador *) 0 ;
+ double *arg2 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ void *argp2 = 0 ;
+ int res2 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if (!PyArg_ParseTuple(args,(char *)"OO:ARCoordMarcador_centro_set",&obj0,&obj1)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_ARCoordMarcador, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "ARCoordMarcador_centro_set" "', argument " "1"" of type '" "ARCoordMarcador *""'");
+ }
+ arg1 = reinterpret_cast< ARCoordMarcador * >(argp1);
+ res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_double, 0 | 0 );
+ if (!SWIG_IsOK(res2)) {
+ SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "ARCoordMarcador_centro_set" "', argument " "2"" of type '" "double [2]""'");
+ }
+ arg2 = reinterpret_cast< double * >(argp2);
+ {
+ if (arg2) {
+ size_t ii = 0;
+ for (; ii < (size_t)2; ++ii) arg1->centro[ii] = arg2[ii];
+ } else {
+ SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in variable '""centro""' of type '""double [2]""'");
+ }
+ }
+ resultobj = SWIG_Py_Void();
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_ARCoordMarcador_centro_get(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ ARCoordMarcador *arg1 = (ARCoordMarcador *) 0 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ PyObject * obj0 = 0 ;
+ double *result = 0 ;
+
+ if (!PyArg_ParseTuple(args,(char *)"O:ARCoordMarcador_centro_get",&obj0)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_ARCoordMarcador, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "ARCoordMarcador_centro_get" "', argument " "1"" of type '" "ARCoordMarcador *""'");
+ }
+ arg1 = reinterpret_cast< ARCoordMarcador * >(argp1);
+ result = (double *)(double *) ((arg1)->centro);
+ resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_double, 0 | 0 );
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_ARCoordMarcador_vertex_set(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ ARCoordMarcador *arg1 = (ARCoordMarcador *) 0 ;
+ double (*arg2)[2] ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ void *argp2 = 0 ;
+ int res2 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if (!PyArg_ParseTuple(args,(char *)"OO:ARCoordMarcador_vertex_set",&obj0,&obj1)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_ARCoordMarcador, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "ARCoordMarcador_vertex_set" "', argument " "1"" of type '" "ARCoordMarcador *""'");
+ }
+ arg1 = reinterpret_cast< ARCoordMarcador * >(argp1);
+ res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_a_2__double, 0 | 0 );
+ if (!SWIG_IsOK(res2)) {
+ SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "ARCoordMarcador_vertex_set" "', argument " "2"" of type '" "double [4][2]""'");
+ }
+ arg2 = reinterpret_cast< double (*)[2] >(argp2);
+ {
+ if (arg2) {
+ size_t ii = 0;
+ for (; ii < (size_t)4; ++ii) {
+ if (arg2[ii]) {
+ size_t jj = 0;
+ for (; jj < (size_t)2; ++jj) arg1->vertex[ii][jj] = arg2[ii][jj];
+ } else {
+ SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in variable '""vertex""' of type '""double [4][2]""'");
+ }
+ }
+ } else {
+ SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in variable '""vertex""' of type '""double [4][2]""'");
+ }
+ }
+ resultobj = SWIG_Py_Void();
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_ARCoordMarcador_vertex_get(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ ARCoordMarcador *arg1 = (ARCoordMarcador *) 0 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ PyObject * obj0 = 0 ;
+ double (*result)[2] = 0 ;
+
+ if (!PyArg_ParseTuple(args,(char *)"O:ARCoordMarcador_vertex_get",&obj0)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_ARCoordMarcador, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "ARCoordMarcador_vertex_get" "', argument " "1"" of type '" "ARCoordMarcador *""'");
+ }
+ arg1 = reinterpret_cast< ARCoordMarcador * >(argp1);
+ result = (double (*)[2])(double (*)[2]) ((arg1)->vertex);
+ resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_a_2__double, 0 | 0 );
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_ARCoordMarcador_visible_set(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ ARCoordMarcador *arg1 = (ARCoordMarcador *) 0 ;
+ int arg2 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ int val2 ;
+ int ecode2 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if (!PyArg_ParseTuple(args,(char *)"OO:ARCoordMarcador_visible_set",&obj0,&obj1)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_ARCoordMarcador, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "ARCoordMarcador_visible_set" "', argument " "1"" of type '" "ARCoordMarcador *""'");
+ }
+ arg1 = reinterpret_cast< ARCoordMarcador * >(argp1);
+ ecode2 = SWIG_AsVal_int(obj1, &val2);
+ if (!SWIG_IsOK(ecode2)) {
+ SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "ARCoordMarcador_visible_set" "', argument " "2"" of type '" "int""'");
+ }
+ arg2 = static_cast< int >(val2);
+ if (arg1) (arg1)->visible = arg2;
+ resultobj = SWIG_Py_Void();
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_ARCoordMarcador_visible_get(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ ARCoordMarcador *arg1 = (ARCoordMarcador *) 0 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ PyObject * obj0 = 0 ;
+ int result;
+
+ if (!PyArg_ParseTuple(args,(char *)"O:ARCoordMarcador_visible_get",&obj0)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_ARCoordMarcador, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "ARCoordMarcador_visible_get" "', argument " "1"" of type '" "ARCoordMarcador *""'");
+ }
+ arg1 = reinterpret_cast< ARCoordMarcador * >(argp1);
+ result = (int) ((arg1)->visible);
+ resultobj = SWIG_From_int(static_cast< int >(result));
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_ARCoordMarcador_id_set(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ ARCoordMarcador *arg1 = (ARCoordMarcador *) 0 ;
+ int arg2 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ int val2 ;
+ int ecode2 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if (!PyArg_ParseTuple(args,(char *)"OO:ARCoordMarcador_id_set",&obj0,&obj1)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_ARCoordMarcador, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "ARCoordMarcador_id_set" "', argument " "1"" of type '" "ARCoordMarcador *""'");
+ }
+ arg1 = reinterpret_cast< ARCoordMarcador * >(argp1);
+ ecode2 = SWIG_AsVal_int(obj1, &val2);
+ if (!SWIG_IsOK(ecode2)) {
+ SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "ARCoordMarcador_id_set" "', argument " "2"" of type '" "int""'");
+ }
+ arg2 = static_cast< int >(val2);
+ if (arg1) (arg1)->id = arg2;
+ resultobj = SWIG_Py_Void();
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_ARCoordMarcador_id_get(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ ARCoordMarcador *arg1 = (ARCoordMarcador *) 0 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ PyObject * obj0 = 0 ;
+ int result;
+
+ if (!PyArg_ParseTuple(args,(char *)"O:ARCoordMarcador_id_get",&obj0)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_ARCoordMarcador, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "ARCoordMarcador_id_get" "', argument " "1"" of type '" "ARCoordMarcador *""'");
+ }
+ arg1 = reinterpret_cast< ARCoordMarcador * >(argp1);
+ result = (int) ((arg1)->id);
+ resultobj = SWIG_From_int(static_cast< int >(result));
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_ARCoordMarcador_cf_set(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ ARCoordMarcador *arg1 = (ARCoordMarcador *) 0 ;
+ double arg2 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ double val2 ;
+ int ecode2 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if (!PyArg_ParseTuple(args,(char *)"OO:ARCoordMarcador_cf_set",&obj0,&obj1)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_ARCoordMarcador, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "ARCoordMarcador_cf_set" "', argument " "1"" of type '" "ARCoordMarcador *""'");
+ }
+ arg1 = reinterpret_cast< ARCoordMarcador * >(argp1);
+ ecode2 = SWIG_AsVal_double(obj1, &val2);
+ if (!SWIG_IsOK(ecode2)) {
+ SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "ARCoordMarcador_cf_set" "', argument " "2"" of type '" "double""'");
+ }
+ arg2 = static_cast< double >(val2);
+ if (arg1) (arg1)->cf = arg2;
+ resultobj = SWIG_Py_Void();
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_ARCoordMarcador_cf_get(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ ARCoordMarcador *arg1 = (ARCoordMarcador *) 0 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ PyObject * obj0 = 0 ;
+ double result;
+
+ if (!PyArg_ParseTuple(args,(char *)"O:ARCoordMarcador_cf_get",&obj0)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_ARCoordMarcador, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "ARCoordMarcador_cf_get" "', argument " "1"" of type '" "ARCoordMarcador *""'");
+ }
+ arg1 = reinterpret_cast< ARCoordMarcador * >(argp1);
+ result = (double) ((arg1)->cf);
+ resultobj = SWIG_From_double(static_cast< double >(result));
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_new_ARCoordMarcador(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ ARCoordMarcador *result = 0 ;
+
+ if (!PyArg_ParseTuple(args,(char *)":new_ARCoordMarcador")) SWIG_fail;
+ result = (ARCoordMarcador *)new ARCoordMarcador();
+ resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_ARCoordMarcador, SWIG_POINTER_NEW | 0 );
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_delete_ARCoordMarcador(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ ARCoordMarcador *arg1 = (ARCoordMarcador *) 0 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ PyObject * obj0 = 0 ;
+
+ if (!PyArg_ParseTuple(args,(char *)"O:delete_ARCoordMarcador",&obj0)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_ARCoordMarcador, SWIG_POINTER_DISOWN | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_ARCoordMarcador" "', argument " "1"" of type '" "ARCoordMarcador *""'");
+ }
+ arg1 = reinterpret_cast< ARCoordMarcador * >(argp1);
+ delete arg1;
+ resultobj = SWIG_Py_Void();
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *ARCoordMarcador_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *obj;
+ if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+ SWIG_TypeNewClientData(SWIGTYPE_p_ARCoordMarcador, SWIG_NewClientData(obj));
+ return SWIG_Py_Void();
+}
+
+SWIGINTERN PyObject *_wrap_Elemento_idPatt_set(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ Elemento *arg1 = (Elemento *) 0 ;
+ int arg2 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ int val2 ;
+ int ecode2 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if (!PyArg_ParseTuple(args,(char *)"OO:Elemento_idPatt_set",&obj0,&obj1)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Elemento, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Elemento_idPatt_set" "', argument " "1"" of type '" "Elemento *""'");
+ }
+ arg1 = reinterpret_cast< Elemento * >(argp1);
+ ecode2 = SWIG_AsVal_int(obj1, &val2);
+ if (!SWIG_IsOK(ecode2)) {
+ SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Elemento_idPatt_set" "', argument " "2"" of type '" "int""'");
+ }
+ arg2 = static_cast< int >(val2);
+ if (arg1) (arg1)->idPatt = arg2;
+ resultobj = SWIG_Py_Void();
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_Elemento_idPatt_get(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ Elemento *arg1 = (Elemento *) 0 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ PyObject * obj0 = 0 ;
+ int result;
+
+ if (!PyArg_ParseTuple(args,(char *)"O:Elemento_idPatt_get",&obj0)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Elemento, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Elemento_idPatt_get" "', argument " "1"" of type '" "Elemento *""'");
+ }
+ arg1 = reinterpret_cast< Elemento * >(argp1);
+ result = (int) ((arg1)->idPatt);
+ resultobj = SWIG_From_int(static_cast< int >(result));
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_Elemento_imagen_set(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ Elemento *arg1 = (Elemento *) 0 ;
+ char *arg2 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ char temp2[255] ;
+ int res2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if (!PyArg_ParseTuple(args,(char *)"OO:Elemento_imagen_set",&obj0,&obj1)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Elemento, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Elemento_imagen_set" "', argument " "1"" of type '" "Elemento *""'");
+ }
+ arg1 = reinterpret_cast< Elemento * >(argp1);
+ res2 = SWIG_AsCharArray(obj1, temp2, 255);
+ if (!SWIG_IsOK(res2)) {
+ SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Elemento_imagen_set" "', argument " "2"" of type '" "char [255]""'");
+ }
+ arg2 = reinterpret_cast< char * >(temp2);
+ if (arg2) memcpy(arg1->imagen,arg2,255*sizeof(char));
+ else memset(arg1->imagen,0,255*sizeof(char));
+ resultobj = SWIG_Py_Void();
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_Elemento_imagen_get(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ Elemento *arg1 = (Elemento *) 0 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ PyObject * obj0 = 0 ;
+ char *result = 0 ;
+
+ if (!PyArg_ParseTuple(args,(char *)"O:Elemento_imagen_get",&obj0)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Elemento, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Elemento_imagen_get" "', argument " "1"" of type '" "Elemento *""'");
+ }
+ arg1 = reinterpret_cast< Elemento * >(argp1);
+ result = (char *)(char *) ((arg1)->imagen);
+ {
+ size_t size = 255;
+
+ while (size && (result[size - 1] == '\0')) --size;
+
+ resultobj = SWIG_FromCharPtrAndSize(result, size);
+ }
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_Elemento_sonido_set(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ Elemento *arg1 = (Elemento *) 0 ;
+ char *arg2 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ char temp2[255] ;
+ int res2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if (!PyArg_ParseTuple(args,(char *)"OO:Elemento_sonido_set",&obj0,&obj1)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Elemento, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Elemento_sonido_set" "', argument " "1"" of type '" "Elemento *""'");
+ }
+ arg1 = reinterpret_cast< Elemento * >(argp1);
+ res2 = SWIG_AsCharArray(obj1, temp2, 255);
+ if (!SWIG_IsOK(res2)) {
+ SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Elemento_sonido_set" "', argument " "2"" of type '" "char [255]""'");
+ }
+ arg2 = reinterpret_cast< char * >(temp2);
+ if (arg2) memcpy(arg1->sonido,arg2,255*sizeof(char));
+ else memset(arg1->sonido,0,255*sizeof(char));
+ resultobj = SWIG_Py_Void();
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_Elemento_sonido_get(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ Elemento *arg1 = (Elemento *) 0 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ PyObject * obj0 = 0 ;
+ char *result = 0 ;
+
+ if (!PyArg_ParseTuple(args,(char *)"O:Elemento_sonido_get",&obj0)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Elemento, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Elemento_sonido_get" "', argument " "1"" of type '" "Elemento *""'");
+ }
+ arg1 = reinterpret_cast< Elemento * >(argp1);
+ result = (char *)(char *) ((arg1)->sonido);
+ {
+ size_t size = 255;
+
+ while (size && (result[size - 1] == '\0')) --size;
+
+ resultobj = SWIG_FromCharPtrAndSize(result, size);
+ }
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_Elemento_nombre_set(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ Elemento *arg1 = (Elemento *) 0 ;
+ char *arg2 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ char temp2[255] ;
+ int res2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if (!PyArg_ParseTuple(args,(char *)"OO:Elemento_nombre_set",&obj0,&obj1)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Elemento, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Elemento_nombre_set" "', argument " "1"" of type '" "Elemento *""'");
+ }
+ arg1 = reinterpret_cast< Elemento * >(argp1);
+ res2 = SWIG_AsCharArray(obj1, temp2, 255);
+ if (!SWIG_IsOK(res2)) {
+ SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Elemento_nombre_set" "', argument " "2"" of type '" "char [255]""'");
+ }
+ arg2 = reinterpret_cast< char * >(temp2);
+ if (arg2) memcpy(arg1->nombre,arg2,255*sizeof(char));
+ else memset(arg1->nombre,0,255*sizeof(char));
+ resultobj = SWIG_Py_Void();
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_Elemento_nombre_get(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ Elemento *arg1 = (Elemento *) 0 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ PyObject * obj0 = 0 ;
+ char *result = 0 ;
+
+ if (!PyArg_ParseTuple(args,(char *)"O:Elemento_nombre_get",&obj0)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Elemento, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Elemento_nombre_get" "', argument " "1"" of type '" "Elemento *""'");
+ }
+ arg1 = reinterpret_cast< Elemento * >(argp1);
+ result = (char *)(char *) ((arg1)->nombre);
+ {
+ size_t size = 255;
+
+ while (size && (result[size - 1] == '\0')) --size;
+
+ resultobj = SWIG_FromCharPtrAndSize(result, size);
+ }
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_Elemento_conjunto_set(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ Elemento *arg1 = (Elemento *) 0 ;
+ int arg2 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ int val2 ;
+ int ecode2 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if (!PyArg_ParseTuple(args,(char *)"OO:Elemento_conjunto_set",&obj0,&obj1)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Elemento, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Elemento_conjunto_set" "', argument " "1"" of type '" "Elemento *""'");
+ }
+ arg1 = reinterpret_cast< Elemento * >(argp1);
+ ecode2 = SWIG_AsVal_int(obj1, &val2);
+ if (!SWIG_IsOK(ecode2)) {
+ SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Elemento_conjunto_set" "', argument " "2"" of type '" "int""'");
+ }
+ arg2 = static_cast< int >(val2);
+ if (arg1) (arg1)->conjunto = arg2;
+ resultobj = SWIG_Py_Void();
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_Elemento_conjunto_get(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ Elemento *arg1 = (Elemento *) 0 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ PyObject * obj0 = 0 ;
+ int result;
+
+ if (!PyArg_ParseTuple(args,(char *)"O:Elemento_conjunto_get",&obj0)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Elemento, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Elemento_conjunto_get" "', argument " "1"" of type '" "Elemento *""'");
+ }
+ arg1 = reinterpret_cast< Elemento * >(argp1);
+ result = (int) ((arg1)->conjunto);
+ resultobj = SWIG_From_int(static_cast< int >(result));
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_Elemento_idElementoRelacionado_set(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ Elemento *arg1 = (Elemento *) 0 ;
+ int arg2 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ int val2 ;
+ int ecode2 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if (!PyArg_ParseTuple(args,(char *)"OO:Elemento_idElementoRelacionado_set",&obj0,&obj1)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Elemento, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Elemento_idElementoRelacionado_set" "', argument " "1"" of type '" "Elemento *""'");
+ }
+ arg1 = reinterpret_cast< Elemento * >(argp1);
+ ecode2 = SWIG_AsVal_int(obj1, &val2);
+ if (!SWIG_IsOK(ecode2)) {
+ SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Elemento_idElementoRelacionado_set" "', argument " "2"" of type '" "int""'");
+ }
+ arg2 = static_cast< int >(val2);
+ if (arg1) (arg1)->idElementoRelacionado = arg2;
+ resultobj = SWIG_Py_Void();
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_Elemento_idElementoRelacionado_get(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ Elemento *arg1 = (Elemento *) 0 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ PyObject * obj0 = 0 ;
+ int result;
+
+ if (!PyArg_ParseTuple(args,(char *)"O:Elemento_idElementoRelacionado_get",&obj0)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Elemento, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Elemento_idElementoRelacionado_get" "', argument " "1"" of type '" "Elemento *""'");
+ }
+ arg1 = reinterpret_cast< Elemento * >(argp1);
+ result = (int) ((arg1)->idElementoRelacionado);
+ resultobj = SWIG_From_int(static_cast< int >(result));
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_Elemento_nombreRelacion_set(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ Elemento *arg1 = (Elemento *) 0 ;
+ char *arg2 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ char temp2[255] ;
+ int res2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if (!PyArg_ParseTuple(args,(char *)"OO:Elemento_nombreRelacion_set",&obj0,&obj1)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Elemento, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Elemento_nombreRelacion_set" "', argument " "1"" of type '" "Elemento *""'");
+ }
+ arg1 = reinterpret_cast< Elemento * >(argp1);
+ res2 = SWIG_AsCharArray(obj1, temp2, 255);
+ if (!SWIG_IsOK(res2)) {
+ SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Elemento_nombreRelacion_set" "', argument " "2"" of type '" "char [255]""'");
+ }
+ arg2 = reinterpret_cast< char * >(temp2);
+ if (arg2) memcpy(arg1->nombreRelacion,arg2,255*sizeof(char));
+ else memset(arg1->nombreRelacion,0,255*sizeof(char));
+ resultobj = SWIG_Py_Void();
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_Elemento_nombreRelacion_get(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ Elemento *arg1 = (Elemento *) 0 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ PyObject * obj0 = 0 ;
+ char *result = 0 ;
+
+ if (!PyArg_ParseTuple(args,(char *)"O:Elemento_nombreRelacion_get",&obj0)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Elemento, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Elemento_nombreRelacion_get" "', argument " "1"" of type '" "Elemento *""'");
+ }
+ arg1 = reinterpret_cast< Elemento * >(argp1);
+ result = (char *)(char *) ((arg1)->nombreRelacion);
+ {
+ size_t size = 255;
+
+ while (size && (result[size - 1] == '\0')) --size;
+
+ resultobj = SWIG_FromCharPtrAndSize(result, size);
+ }
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_Elemento_idImagenSDL_set(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ Elemento *arg1 = (Elemento *) 0 ;
+ int arg2 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ int val2 ;
+ int ecode2 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if (!PyArg_ParseTuple(args,(char *)"OO:Elemento_idImagenSDL_set",&obj0,&obj1)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Elemento, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Elemento_idImagenSDL_set" "', argument " "1"" of type '" "Elemento *""'");
+ }
+ arg1 = reinterpret_cast< Elemento * >(argp1);
+ ecode2 = SWIG_AsVal_int(obj1, &val2);
+ if (!SWIG_IsOK(ecode2)) {
+ SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Elemento_idImagenSDL_set" "', argument " "2"" of type '" "int""'");
+ }
+ arg2 = static_cast< int >(val2);
+ if (arg1) (arg1)->idImagenSDL = arg2;
+ resultobj = SWIG_Py_Void();
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_Elemento_idImagenSDL_get(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ Elemento *arg1 = (Elemento *) 0 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ PyObject * obj0 = 0 ;
+ int result;
+
+ if (!PyArg_ParseTuple(args,(char *)"O:Elemento_idImagenSDL_get",&obj0)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Elemento, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Elemento_idImagenSDL_get" "', argument " "1"" of type '" "Elemento *""'");
+ }
+ arg1 = reinterpret_cast< Elemento * >(argp1);
+ result = (int) ((arg1)->idImagenSDL);
+ resultobj = SWIG_From_int(static_cast< int >(result));
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_new_Elemento(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ Elemento *result = 0 ;
+
+ if (!PyArg_ParseTuple(args,(char *)":new_Elemento")) SWIG_fail;
+ result = (Elemento *)new Elemento();
+ resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_Elemento, SWIG_POINTER_NEW | 0 );
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_delete_Elemento(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ Elemento *arg1 = (Elemento *) 0 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ PyObject * obj0 = 0 ;
+
+ if (!PyArg_ParseTuple(args,(char *)"O:delete_Elemento",&obj0)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Elemento, SWIG_POINTER_DISOWN | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_Elemento" "', argument " "1"" of type '" "Elemento *""'");
+ }
+ arg1 = reinterpret_cast< Elemento * >(argp1);
+ delete arg1;
+ resultobj = SWIG_Py_Void();
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *Elemento_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *obj;
+ if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+ SWIG_TypeNewClientData(SWIGTYPE_p_Elemento, SWIG_NewClientData(obj));
+ return SWIG_Py_Void();
+}
+
+SWIGINTERN PyObject *_wrap_Historico_tope_set(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ Historico *arg1 = (Historico *) 0 ;
+ int arg2 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ int val2 ;
+ int ecode2 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if (!PyArg_ParseTuple(args,(char *)"OO:Historico_tope_set",&obj0,&obj1)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Historico, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Historico_tope_set" "', argument " "1"" of type '" "Historico *""'");
+ }
+ arg1 = reinterpret_cast< Historico * >(argp1);
+ ecode2 = SWIG_AsVal_int(obj1, &val2);
+ if (!SWIG_IsOK(ecode2)) {
+ SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Historico_tope_set" "', argument " "2"" of type '" "int""'");
+ }
+ arg2 = static_cast< int >(val2);
+ if (arg1) (arg1)->tope = arg2;
+ resultobj = SWIG_Py_Void();
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_Historico_tope_get(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ Historico *arg1 = (Historico *) 0 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ PyObject * obj0 = 0 ;
+ int result;
+
+ if (!PyArg_ParseTuple(args,(char *)"O:Historico_tope_get",&obj0)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Historico, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Historico_tope_get" "', argument " "1"" of type '" "Historico *""'");
+ }
+ arg1 = reinterpret_cast< Historico * >(argp1);
+ result = (int) ((arg1)->tope);
+ resultobj = SWIG_From_int(static_cast< int >(result));
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_Historico_cantHistorico_set(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ Historico *arg1 = (Historico *) 0 ;
+ int arg2 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ int val2 ;
+ int ecode2 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if (!PyArg_ParseTuple(args,(char *)"OO:Historico_cantHistorico_set",&obj0,&obj1)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Historico, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Historico_cantHistorico_set" "', argument " "1"" of type '" "Historico *""'");
+ }
+ arg1 = reinterpret_cast< Historico * >(argp1);
+ ecode2 = SWIG_AsVal_int(obj1, &val2);
+ if (!SWIG_IsOK(ecode2)) {
+ SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Historico_cantHistorico_set" "', argument " "2"" of type '" "int""'");
+ }
+ arg2 = static_cast< int >(val2);
+ if (arg1) (arg1)->cantHistorico = arg2;
+ resultobj = SWIG_Py_Void();
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_Historico_cantHistorico_get(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ Historico *arg1 = (Historico *) 0 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ PyObject * obj0 = 0 ;
+ int result;
+
+ if (!PyArg_ParseTuple(args,(char *)"O:Historico_cantHistorico_get",&obj0)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Historico, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Historico_cantHistorico_get" "', argument " "1"" of type '" "Historico *""'");
+ }
+ arg1 = reinterpret_cast< Historico * >(argp1);
+ result = (int) ((arg1)->cantHistorico);
+ resultobj = SWIG_From_int(static_cast< int >(result));
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_Historico_historicoElementos_set(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ Historico *arg1 = (Historico *) 0 ;
+ int *arg2 = (int *) 0 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ void *argp2 = 0 ;
+ int res2 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if (!PyArg_ParseTuple(args,(char *)"OO:Historico_historicoElementos_set",&obj0,&obj1)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Historico, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Historico_historicoElementos_set" "', argument " "1"" of type '" "Historico *""'");
+ }
+ arg1 = reinterpret_cast< Historico * >(argp1);
+ res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_int, SWIG_POINTER_DISOWN | 0 );
+ if (!SWIG_IsOK(res2)) {
+ SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Historico_historicoElementos_set" "', argument " "2"" of type '" "int *""'");
+ }
+ arg2 = reinterpret_cast< int * >(argp2);
+ if (arg1) (arg1)->historicoElementos = arg2;
+ resultobj = SWIG_Py_Void();
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_Historico_historicoElementos_get(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ Historico *arg1 = (Historico *) 0 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ PyObject * obj0 = 0 ;
+ int *result = 0 ;
+
+ if (!PyArg_ParseTuple(args,(char *)"O:Historico_historicoElementos_get",&obj0)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Historico, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Historico_historicoElementos_get" "', argument " "1"" of type '" "Historico *""'");
+ }
+ arg1 = reinterpret_cast< Historico * >(argp1);
+ result = (int *) ((arg1)->historicoElementos);
+ resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_int, 0 | 0 );
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_new_Historico(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ Historico *result = 0 ;
+
+ if (!PyArg_ParseTuple(args,(char *)":new_Historico")) SWIG_fail;
+ result = (Historico *)new Historico();
+ resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_Historico, SWIG_POINTER_NEW | 0 );
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_delete_Historico(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ Historico *arg1 = (Historico *) 0 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ PyObject * obj0 = 0 ;
+
+ if (!PyArg_ParseTuple(args,(char *)"O:delete_Historico",&obj0)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Historico, SWIG_POINTER_DISOWN | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_Historico" "', argument " "1"" of type '" "Historico *""'");
+ }
+ arg1 = reinterpret_cast< Historico * >(argp1);
+ delete arg1;
+ resultobj = SWIG_Py_Void();
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *Historico_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *obj;
+ if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+ SWIG_TypeNewClientData(SWIGTYPE_p_Historico, SWIG_NewClientData(obj));
+ return SWIG_Py_Void();
+}
+
+SWIGINTERN PyObject *_wrap_RangosColorApuntador_hmin_set(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ RangosColorApuntador *arg1 = (RangosColorApuntador *) 0 ;
+ int arg2 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ int val2 ;
+ int ecode2 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if (!PyArg_ParseTuple(args,(char *)"OO:RangosColorApuntador_hmin_set",&obj0,&obj1)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_RangosColorApuntador, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RangosColorApuntador_hmin_set" "', argument " "1"" of type '" "RangosColorApuntador *""'");
+ }
+ arg1 = reinterpret_cast< RangosColorApuntador * >(argp1);
+ ecode2 = SWIG_AsVal_int(obj1, &val2);
+ if (!SWIG_IsOK(ecode2)) {
+ SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "RangosColorApuntador_hmin_set" "', argument " "2"" of type '" "int""'");
+ }
+ arg2 = static_cast< int >(val2);
+ if (arg1) (arg1)->hmin = arg2;
+ resultobj = SWIG_Py_Void();
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_RangosColorApuntador_hmin_get(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ RangosColorApuntador *arg1 = (RangosColorApuntador *) 0 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ PyObject * obj0 = 0 ;
+ int result;
+
+ if (!PyArg_ParseTuple(args,(char *)"O:RangosColorApuntador_hmin_get",&obj0)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_RangosColorApuntador, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RangosColorApuntador_hmin_get" "', argument " "1"" of type '" "RangosColorApuntador *""'");
+ }
+ arg1 = reinterpret_cast< RangosColorApuntador * >(argp1);
+ result = (int) ((arg1)->hmin);
+ resultobj = SWIG_From_int(static_cast< int >(result));
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_RangosColorApuntador_hmax_set(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ RangosColorApuntador *arg1 = (RangosColorApuntador *) 0 ;
+ int arg2 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ int val2 ;
+ int ecode2 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if (!PyArg_ParseTuple(args,(char *)"OO:RangosColorApuntador_hmax_set",&obj0,&obj1)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_RangosColorApuntador, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RangosColorApuntador_hmax_set" "', argument " "1"" of type '" "RangosColorApuntador *""'");
+ }
+ arg1 = reinterpret_cast< RangosColorApuntador * >(argp1);
+ ecode2 = SWIG_AsVal_int(obj1, &val2);
+ if (!SWIG_IsOK(ecode2)) {
+ SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "RangosColorApuntador_hmax_set" "', argument " "2"" of type '" "int""'");
+ }
+ arg2 = static_cast< int >(val2);
+ if (arg1) (arg1)->hmax = arg2;
+ resultobj = SWIG_Py_Void();
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_RangosColorApuntador_hmax_get(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ RangosColorApuntador *arg1 = (RangosColorApuntador *) 0 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ PyObject * obj0 = 0 ;
+ int result;
+
+ if (!PyArg_ParseTuple(args,(char *)"O:RangosColorApuntador_hmax_get",&obj0)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_RangosColorApuntador, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RangosColorApuntador_hmax_get" "', argument " "1"" of type '" "RangosColorApuntador *""'");
+ }
+ arg1 = reinterpret_cast< RangosColorApuntador * >(argp1);
+ result = (int) ((arg1)->hmax);
+ resultobj = SWIG_From_int(static_cast< int >(result));
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_RangosColorApuntador_smin_set(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ RangosColorApuntador *arg1 = (RangosColorApuntador *) 0 ;
+ int arg2 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ int val2 ;
+ int ecode2 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if (!PyArg_ParseTuple(args,(char *)"OO:RangosColorApuntador_smin_set",&obj0,&obj1)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_RangosColorApuntador, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RangosColorApuntador_smin_set" "', argument " "1"" of type '" "RangosColorApuntador *""'");
+ }
+ arg1 = reinterpret_cast< RangosColorApuntador * >(argp1);
+ ecode2 = SWIG_AsVal_int(obj1, &val2);
+ if (!SWIG_IsOK(ecode2)) {
+ SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "RangosColorApuntador_smin_set" "', argument " "2"" of type '" "int""'");
+ }
+ arg2 = static_cast< int >(val2);
+ if (arg1) (arg1)->smin = arg2;
+ resultobj = SWIG_Py_Void();
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_RangosColorApuntador_smin_get(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ RangosColorApuntador *arg1 = (RangosColorApuntador *) 0 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ PyObject * obj0 = 0 ;
+ int result;
+
+ if (!PyArg_ParseTuple(args,(char *)"O:RangosColorApuntador_smin_get",&obj0)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_RangosColorApuntador, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RangosColorApuntador_smin_get" "', argument " "1"" of type '" "RangosColorApuntador *""'");
+ }
+ arg1 = reinterpret_cast< RangosColorApuntador * >(argp1);
+ result = (int) ((arg1)->smin);
+ resultobj = SWIG_From_int(static_cast< int >(result));
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_RangosColorApuntador_smax_set(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ RangosColorApuntador *arg1 = (RangosColorApuntador *) 0 ;
+ int arg2 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ int val2 ;
+ int ecode2 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if (!PyArg_ParseTuple(args,(char *)"OO:RangosColorApuntador_smax_set",&obj0,&obj1)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_RangosColorApuntador, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RangosColorApuntador_smax_set" "', argument " "1"" of type '" "RangosColorApuntador *""'");
+ }
+ arg1 = reinterpret_cast< RangosColorApuntador * >(argp1);
+ ecode2 = SWIG_AsVal_int(obj1, &val2);
+ if (!SWIG_IsOK(ecode2)) {
+ SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "RangosColorApuntador_smax_set" "', argument " "2"" of type '" "int""'");
+ }
+ arg2 = static_cast< int >(val2);
+ if (arg1) (arg1)->smax = arg2;
+ resultobj = SWIG_Py_Void();
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_RangosColorApuntador_smax_get(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ RangosColorApuntador *arg1 = (RangosColorApuntador *) 0 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ PyObject * obj0 = 0 ;
+ int result;
+
+ if (!PyArg_ParseTuple(args,(char *)"O:RangosColorApuntador_smax_get",&obj0)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_RangosColorApuntador, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RangosColorApuntador_smax_get" "', argument " "1"" of type '" "RangosColorApuntador *""'");
+ }
+ arg1 = reinterpret_cast< RangosColorApuntador * >(argp1);
+ result = (int) ((arg1)->smax);
+ resultobj = SWIG_From_int(static_cast< int >(result));
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_RangosColorApuntador_vmin_set(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ RangosColorApuntador *arg1 = (RangosColorApuntador *) 0 ;
+ int arg2 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ int val2 ;
+ int ecode2 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if (!PyArg_ParseTuple(args,(char *)"OO:RangosColorApuntador_vmin_set",&obj0,&obj1)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_RangosColorApuntador, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RangosColorApuntador_vmin_set" "', argument " "1"" of type '" "RangosColorApuntador *""'");
+ }
+ arg1 = reinterpret_cast< RangosColorApuntador * >(argp1);
+ ecode2 = SWIG_AsVal_int(obj1, &val2);
+ if (!SWIG_IsOK(ecode2)) {
+ SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "RangosColorApuntador_vmin_set" "', argument " "2"" of type '" "int""'");
+ }
+ arg2 = static_cast< int >(val2);
+ if (arg1) (arg1)->vmin = arg2;
+ resultobj = SWIG_Py_Void();
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_RangosColorApuntador_vmin_get(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ RangosColorApuntador *arg1 = (RangosColorApuntador *) 0 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ PyObject * obj0 = 0 ;
+ int result;
+
+ if (!PyArg_ParseTuple(args,(char *)"O:RangosColorApuntador_vmin_get",&obj0)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_RangosColorApuntador, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RangosColorApuntador_vmin_get" "', argument " "1"" of type '" "RangosColorApuntador *""'");
+ }
+ arg1 = reinterpret_cast< RangosColorApuntador * >(argp1);
+ result = (int) ((arg1)->vmin);
+ resultobj = SWIG_From_int(static_cast< int >(result));
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_RangosColorApuntador_vmax_set(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ RangosColorApuntador *arg1 = (RangosColorApuntador *) 0 ;
+ int arg2 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ int val2 ;
+ int ecode2 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if (!PyArg_ParseTuple(args,(char *)"OO:RangosColorApuntador_vmax_set",&obj0,&obj1)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_RangosColorApuntador, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RangosColorApuntador_vmax_set" "', argument " "1"" of type '" "RangosColorApuntador *""'");
+ }
+ arg1 = reinterpret_cast< RangosColorApuntador * >(argp1);
+ ecode2 = SWIG_AsVal_int(obj1, &val2);
+ if (!SWIG_IsOK(ecode2)) {
+ SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "RangosColorApuntador_vmax_set" "', argument " "2"" of type '" "int""'");
+ }
+ arg2 = static_cast< int >(val2);
+ if (arg1) (arg1)->vmax = arg2;
+ resultobj = SWIG_Py_Void();
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_RangosColorApuntador_vmax_get(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ RangosColorApuntador *arg1 = (RangosColorApuntador *) 0 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ PyObject * obj0 = 0 ;
+ int result;
+
+ if (!PyArg_ParseTuple(args,(char *)"O:RangosColorApuntador_vmax_get",&obj0)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_RangosColorApuntador, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RangosColorApuntador_vmax_get" "', argument " "1"" of type '" "RangosColorApuntador *""'");
+ }
+ arg1 = reinterpret_cast< RangosColorApuntador * >(argp1);
+ result = (int) ((arg1)->vmax);
+ resultobj = SWIG_From_int(static_cast< int >(result));
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_new_RangosColorApuntador(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ RangosColorApuntador *result = 0 ;
+
+ if (!PyArg_ParseTuple(args,(char *)":new_RangosColorApuntador")) SWIG_fail;
+ result = (RangosColorApuntador *)new RangosColorApuntador();
+ resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_RangosColorApuntador, SWIG_POINTER_NEW | 0 );
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_delete_RangosColorApuntador(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ RangosColorApuntador *arg1 = (RangosColorApuntador *) 0 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ PyObject * obj0 = 0 ;
+
+ if (!PyArg_ParseTuple(args,(char *)"O:delete_RangosColorApuntador",&obj0)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_RangosColorApuntador, SWIG_POINTER_DISOWN | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_RangosColorApuntador" "', argument " "1"" of type '" "RangosColorApuntador *""'");
+ }
+ arg1 = reinterpret_cast< RangosColorApuntador * >(argp1);
+ delete arg1;
+ resultobj = SWIG_Py_Void();
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *RangosColorApuntador_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *obj;
+ if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+ SWIG_TypeNewClientData(SWIGTYPE_p_RangosColorApuntador, SWIG_NewClientData(obj));
+ return SWIG_Py_Void();
+}
+
+SWIGINTERN PyObject *_wrap_ResultadosCalibracion_areas_minimas_set(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ ResultadosCalibracion *arg1 = (ResultadosCalibracion *) 0 ;
+ int *arg2 = (int *) 0 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ void *argp2 = 0 ;
+ int res2 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if (!PyArg_ParseTuple(args,(char *)"OO:ResultadosCalibracion_areas_minimas_set",&obj0,&obj1)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_ResultadosCalibracion, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "ResultadosCalibracion_areas_minimas_set" "', argument " "1"" of type '" "ResultadosCalibracion *""'");
+ }
+ arg1 = reinterpret_cast< ResultadosCalibracion * >(argp1);
+ res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_int, SWIG_POINTER_DISOWN | 0 );
+ if (!SWIG_IsOK(res2)) {
+ SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "ResultadosCalibracion_areas_minimas_set" "', argument " "2"" of type '" "int *""'");
+ }
+ arg2 = reinterpret_cast< int * >(argp2);
+ if (arg1) (arg1)->areas_minimas = arg2;
+ resultobj = SWIG_Py_Void();
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_ResultadosCalibracion_areas_minimas_get(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ ResultadosCalibracion *arg1 = (ResultadosCalibracion *) 0 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ PyObject * obj0 = 0 ;
+ int *result = 0 ;
+
+ if (!PyArg_ParseTuple(args,(char *)"O:ResultadosCalibracion_areas_minimas_get",&obj0)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_ResultadosCalibracion, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "ResultadosCalibracion_areas_minimas_get" "', argument " "1"" of type '" "ResultadosCalibracion *""'");
+ }
+ arg1 = reinterpret_cast< ResultadosCalibracion * >(argp1);
+ result = (int *) ((arg1)->areas_minimas);
+ resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_int, 0 | 0 );
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_ResultadosCalibracion_areas_maximas_set(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ ResultadosCalibracion *arg1 = (ResultadosCalibracion *) 0 ;
+ int *arg2 = (int *) 0 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ void *argp2 = 0 ;
+ int res2 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if (!PyArg_ParseTuple(args,(char *)"OO:ResultadosCalibracion_areas_maximas_set",&obj0,&obj1)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_ResultadosCalibracion, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "ResultadosCalibracion_areas_maximas_set" "', argument " "1"" of type '" "ResultadosCalibracion *""'");
+ }
+ arg1 = reinterpret_cast< ResultadosCalibracion * >(argp1);
+ res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_int, SWIG_POINTER_DISOWN | 0 );
+ if (!SWIG_IsOK(res2)) {
+ SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "ResultadosCalibracion_areas_maximas_set" "', argument " "2"" of type '" "int *""'");
+ }
+ arg2 = reinterpret_cast< int * >(argp2);
+ if (arg1) (arg1)->areas_maximas = arg2;
+ resultobj = SWIG_Py_Void();
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_ResultadosCalibracion_areas_maximas_get(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ ResultadosCalibracion *arg1 = (ResultadosCalibracion *) 0 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ PyObject * obj0 = 0 ;
+ int *result = 0 ;
+
+ if (!PyArg_ParseTuple(args,(char *)"O:ResultadosCalibracion_areas_maximas_get",&obj0)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_ResultadosCalibracion, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "ResultadosCalibracion_areas_maximas_get" "', argument " "1"" of type '" "ResultadosCalibracion *""'");
+ }
+ arg1 = reinterpret_cast< ResultadosCalibracion * >(argp1);
+ result = (int *) ((arg1)->areas_maximas);
+ resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_int, 0 | 0 );
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_ResultadosCalibracion_relaciones_promedio_set(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ ResultadosCalibracion *arg1 = (ResultadosCalibracion *) 0 ;
+ double *arg2 = (double *) 0 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ void *argp2 = 0 ;
+ int res2 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if (!PyArg_ParseTuple(args,(char *)"OO:ResultadosCalibracion_relaciones_promedio_set",&obj0,&obj1)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_ResultadosCalibracion, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "ResultadosCalibracion_relaciones_promedio_set" "', argument " "1"" of type '" "ResultadosCalibracion *""'");
+ }
+ arg1 = reinterpret_cast< ResultadosCalibracion * >(argp1);
+ res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_double, SWIG_POINTER_DISOWN | 0 );
+ if (!SWIG_IsOK(res2)) {
+ SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "ResultadosCalibracion_relaciones_promedio_set" "', argument " "2"" of type '" "double *""'");
+ }
+ arg2 = reinterpret_cast< double * >(argp2);
+ if (arg1) (arg1)->relaciones_promedio = arg2;
+ resultobj = SWIG_Py_Void();
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_ResultadosCalibracion_relaciones_promedio_get(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ ResultadosCalibracion *arg1 = (ResultadosCalibracion *) 0 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ PyObject * obj0 = 0 ;
+ double *result = 0 ;
+
+ if (!PyArg_ParseTuple(args,(char *)"O:ResultadosCalibracion_relaciones_promedio_get",&obj0)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_ResultadosCalibracion, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "ResultadosCalibracion_relaciones_promedio_get" "', argument " "1"" of type '" "ResultadosCalibracion *""'");
+ }
+ arg1 = reinterpret_cast< ResultadosCalibracion * >(argp1);
+ result = (double *) ((arg1)->relaciones_promedio);
+ resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_double, 0 | 0 );
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_new_ResultadosCalibracion(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ ResultadosCalibracion *result = 0 ;
+
+ if (!PyArg_ParseTuple(args,(char *)":new_ResultadosCalibracion")) SWIG_fail;
+ result = (ResultadosCalibracion *)new ResultadosCalibracion();
+ resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_ResultadosCalibracion, SWIG_POINTER_NEW | 0 );
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_delete_ResultadosCalibracion(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ ResultadosCalibracion *arg1 = (ResultadosCalibracion *) 0 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ PyObject * obj0 = 0 ;
+
+ if (!PyArg_ParseTuple(args,(char *)"O:delete_ResultadosCalibracion",&obj0)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_ResultadosCalibracion, SWIG_POINTER_DISOWN | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_ResultadosCalibracion" "', argument " "1"" of type '" "ResultadosCalibracion *""'");
+ }
+ arg1 = reinterpret_cast< ResultadosCalibracion * >(argp1);
+ delete arg1;
+ resultobj = SWIG_Py_Void();
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *ResultadosCalibracion_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *obj;
+ if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+ SWIG_TypeNewClientData(SWIGTYPE_p_ResultadosCalibracion, SWIG_NewClientData(obj));
+ return SWIG_Py_Void();
+}
+
+SWIGINTERN PyObject *_wrap_CoordApuntador_area_set(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ CoordApuntador *arg1 = (CoordApuntador *) 0 ;
+ int arg2 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ int val2 ;
+ int ecode2 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if (!PyArg_ParseTuple(args,(char *)"OO:CoordApuntador_area_set",&obj0,&obj1)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CoordApuntador, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CoordApuntador_area_set" "', argument " "1"" of type '" "CoordApuntador *""'");
+ }
+ arg1 = reinterpret_cast< CoordApuntador * >(argp1);
+ ecode2 = SWIG_AsVal_int(obj1, &val2);
+ if (!SWIG_IsOK(ecode2)) {
+ SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CoordApuntador_area_set" "', argument " "2"" of type '" "int""'");
+ }
+ arg2 = static_cast< int >(val2);
+ if (arg1) (arg1)->area = arg2;
+ resultobj = SWIG_Py_Void();
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_CoordApuntador_area_get(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ CoordApuntador *arg1 = (CoordApuntador *) 0 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ PyObject * obj0 = 0 ;
+ int result;
+
+ if (!PyArg_ParseTuple(args,(char *)"O:CoordApuntador_area_get",&obj0)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CoordApuntador, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CoordApuntador_area_get" "', argument " "1"" of type '" "CoordApuntador *""'");
+ }
+ arg1 = reinterpret_cast< CoordApuntador * >(argp1);
+ result = (int) ((arg1)->area);
+ resultobj = SWIG_From_int(static_cast< int >(result));
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_CoordApuntador_centro_set(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ CoordApuntador *arg1 = (CoordApuntador *) 0 ;
+ double *arg2 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ void *argp2 = 0 ;
+ int res2 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if (!PyArg_ParseTuple(args,(char *)"OO:CoordApuntador_centro_set",&obj0,&obj1)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CoordApuntador, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CoordApuntador_centro_set" "', argument " "1"" of type '" "CoordApuntador *""'");
+ }
+ arg1 = reinterpret_cast< CoordApuntador * >(argp1);
+ res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_double, 0 | 0 );
+ if (!SWIG_IsOK(res2)) {
+ SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CoordApuntador_centro_set" "', argument " "2"" of type '" "double [2]""'");
+ }
+ arg2 = reinterpret_cast< double * >(argp2);
+ {
+ if (arg2) {
+ size_t ii = 0;
+ for (; ii < (size_t)2; ++ii) arg1->centro[ii] = arg2[ii];
+ } else {
+ SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in variable '""centro""' of type '""double [2]""'");
+ }
+ }
+ resultobj = SWIG_Py_Void();
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_CoordApuntador_centro_get(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ CoordApuntador *arg1 = (CoordApuntador *) 0 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ PyObject * obj0 = 0 ;
+ double *result = 0 ;
+
+ if (!PyArg_ParseTuple(args,(char *)"O:CoordApuntador_centro_get",&obj0)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CoordApuntador, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CoordApuntador_centro_get" "', argument " "1"" of type '" "CoordApuntador *""'");
+ }
+ arg1 = reinterpret_cast< CoordApuntador * >(argp1);
+ result = (double *)(double *) ((arg1)->centro);
+ resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_double, 0 | 0 );
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_new_CoordApuntador(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ CoordApuntador *result = 0 ;
+
+ if (!PyArg_ParseTuple(args,(char *)":new_CoordApuntador")) SWIG_fail;
+ result = (CoordApuntador *)new CoordApuntador();
+ resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CoordApuntador, SWIG_POINTER_NEW | 0 );
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_delete_CoordApuntador(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ CoordApuntador *arg1 = (CoordApuntador *) 0 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ PyObject * obj0 = 0 ;
+
+ if (!PyArg_ParseTuple(args,(char *)"O:delete_CoordApuntador",&obj0)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CoordApuntador, SWIG_POINTER_DISOWN | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_CoordApuntador" "', argument " "1"" of type '" "CoordApuntador *""'");
+ }
+ arg1 = reinterpret_cast< CoordApuntador * >(argp1);
+ delete arg1;
+ resultobj = SWIG_Py_Void();
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *CoordApuntador_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *obj;
+ if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+ SWIG_TypeNewClientData(SWIGTYPE_p_CoordApuntador, SWIG_NewClientData(obj));
+ return SWIG_Py_Void();
+}
+
+SWIGINTERN PyObject *_wrap_Pui_insert(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ Pui *arg1 = (Pui *) 0 ;
+ unsigned char *arg2 = (unsigned char *) 0 ;
+ int arg3 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ int result;
+
+ if (!PyArg_ParseTuple(args,(char *)"OO:Pui_insert",&obj0,&obj1)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Pui, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Pui_insert" "', argument " "1"" of type '" "Pui *""'");
+ }
+ arg1 = reinterpret_cast< Pui * >(argp1);
+ {
+ if (!PyString_Check(obj1)) {
+ PyErr_SetString(PyExc_ValueError,"Expected a string");
+ return NULL;
+ }
+ arg2 = reinterpret_cast<unsigned char *>(PyString_AsString(obj1));
+ arg3 = PyString_Size(obj1);
+ }
+ result = (int)(arg1)->insert(arg2,arg3);
+ resultobj = SWIG_From_int(static_cast< int >(result));
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_Pui_out(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ Pui *arg1 = (Pui *) 0 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ PyObject * obj0 = 0 ;
+
+ if (!PyArg_ParseTuple(args,(char *)"O:Pui_out",&obj0)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Pui, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Pui_out" "', argument " "1"" of type '" "Pui *""'");
+ }
+ arg1 = reinterpret_cast< Pui * >(argp1);
+ {
+ binary_data bin_data = (arg1)->out();
+ int size = bin_data.size;
+ if(size==0){
+ return Py_BuildValue("");
+ }
+ /* para crear el array en un espacio de memoria compartida ya creado y pasado por parametro
+ array = (PyArrayObject *) PyArray_ContiguousFromObject(input,PyArray_UBYTE,1,1);
+ */
+
+
+ PyArrayObject *array = (PyArrayObject *) PyArray_FromDims(1, &size,PyArray_UBYTE);
+ if (array == NULL){
+ PyErr_SetString(PyExc_ValueError,"Error creando PyArray");
+ return Py_BuildValue("");
+ }
+
+ //Una vez creado el array copio la info
+ memcpy(array->data,(unsigned char *)(bin_data.data),size);
+
+ resultobj = (PyObject *)array;
+ }
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_new_Pui(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ Pui *result = 0 ;
+
+ if (!PyArg_ParseTuple(args,(char *)":new_Pui")) SWIG_fail;
+ result = (Pui *)new Pui();
+ resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_Pui, SWIG_POINTER_NEW | 0 );
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_delete_Pui(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ Pui *arg1 = (Pui *) 0 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ PyObject * obj0 = 0 ;
+
+ if (!PyArg_ParseTuple(args,(char *)"O:delete_Pui",&obj0)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Pui, SWIG_POINTER_DISOWN | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_Pui" "', argument " "1"" of type '" "Pui *""'");
+ }
+ arg1 = reinterpret_cast< Pui * >(argp1);
+ delete arg1;
+ resultobj = SWIG_Py_Void();
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_Pui_leerConfiguracionObjetosPUI(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ Pui *arg1 = (Pui *) 0 ;
+ char *arg2 = (char *) 0 ;
+ int arg3 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ int res2 ;
+ char *buf2 = 0 ;
+ int alloc2 = 0 ;
+ int val3 ;
+ int ecode3 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+ int result;
+
+ if (!PyArg_ParseTuple(args,(char *)"OOO:Pui_leerConfiguracionObjetosPUI",&obj0,&obj1,&obj2)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Pui, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Pui_leerConfiguracionObjetosPUI" "', argument " "1"" of type '" "Pui *""'");
+ }
+ arg1 = reinterpret_cast< Pui * >(argp1);
+ res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+ if (!SWIG_IsOK(res2)) {
+ SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Pui_leerConfiguracionObjetosPUI" "', argument " "2"" of type '" "char const *""'");
+ }
+ arg2 = reinterpret_cast< char * >(buf2);
+ ecode3 = SWIG_AsVal_int(obj2, &val3);
+ if (!SWIG_IsOK(ecode3)) {
+ SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "Pui_leerConfiguracionObjetosPUI" "', argument " "3"" of type '" "int""'");
+ }
+ arg3 = static_cast< int >(val3);
+ result = (int)(arg1)->leerConfiguracionObjetosPUI((char const *)arg2,arg3);
+ resultobj = SWIG_From_int(static_cast< int >(result));
+ if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+ return resultobj;
+fail:
+ if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_Pui_leerPatternsModoSimple(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ Pui *arg1 = (Pui *) 0 ;
+ char *arg2 = (char *) 0 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ int res2 ;
+ char *buf2 = 0 ;
+ int alloc2 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ int result;
+
+ if (!PyArg_ParseTuple(args,(char *)"OO:Pui_leerPatternsModoSimple",&obj0,&obj1)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Pui, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Pui_leerPatternsModoSimple" "', argument " "1"" of type '" "Pui *""'");
+ }
+ arg1 = reinterpret_cast< Pui * >(argp1);
+ res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+ if (!SWIG_IsOK(res2)) {
+ SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Pui_leerPatternsModoSimple" "', argument " "2"" of type '" "char const *""'");
+ }
+ arg2 = reinterpret_cast< char * >(buf2);
+ result = (int)(arg1)->leerPatternsModoSimple((char const *)arg2);
+ resultobj = SWIG_From_int(static_cast< int >(result));
+ if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+ return resultobj;
+fail:
+ if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_Pui_imprimirPropiedadesObjetosPUI(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ Pui *arg1 = (Pui *) 0 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ PyObject * obj0 = 0 ;
+
+ if (!PyArg_ParseTuple(args,(char *)"O:Pui_imprimirPropiedadesObjetosPUI",&obj0)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Pui, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Pui_imprimirPropiedadesObjetosPUI" "', argument " "1"" of type '" "Pui *""'");
+ }
+ arg1 = reinterpret_cast< Pui * >(argp1);
+ (arg1)->imprimirPropiedadesObjetosPUI();
+ resultobj = SWIG_Py_Void();
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_Pui_getNombreObjetoPUI(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ Pui *arg1 = (Pui *) 0 ;
+ int arg2 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ int val2 ;
+ int ecode2 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ char *result = 0 ;
+
+ if (!PyArg_ParseTuple(args,(char *)"OO:Pui_getNombreObjetoPUI",&obj0,&obj1)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Pui, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Pui_getNombreObjetoPUI" "', argument " "1"" of type '" "Pui *""'");
+ }
+ arg1 = reinterpret_cast< Pui * >(argp1);
+ ecode2 = SWIG_AsVal_int(obj1, &val2);
+ if (!SWIG_IsOK(ecode2)) {
+ SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Pui_getNombreObjetoPUI" "', argument " "2"" of type '" "int""'");
+ }
+ arg2 = static_cast< int >(val2);
+ result = (char *)(arg1)->getNombreObjetoPUI(arg2);
+ resultobj = SWIG_FromCharPtr((const char *)result);
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_Pui_getSonidoObjetoPUI(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ Pui *arg1 = (Pui *) 0 ;
+ int arg2 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ int val2 ;
+ int ecode2 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ char *result = 0 ;
+
+ if (!PyArg_ParseTuple(args,(char *)"OO:Pui_getSonidoObjetoPUI",&obj0,&obj1)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Pui, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Pui_getSonidoObjetoPUI" "', argument " "1"" of type '" "Pui *""'");
+ }
+ arg1 = reinterpret_cast< Pui * >(argp1);
+ ecode2 = SWIG_AsVal_int(obj1, &val2);
+ if (!SWIG_IsOK(ecode2)) {
+ SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Pui_getSonidoObjetoPUI" "', argument " "2"" of type '" "int""'");
+ }
+ arg2 = static_cast< int >(val2);
+ result = (char *)(arg1)->getSonidoObjetoPUI(arg2);
+ resultobj = SWIG_FromCharPtr((const char *)result);
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_Pui_getImagenObjetoPUI(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ Pui *arg1 = (Pui *) 0 ;
+ int arg2 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ int val2 ;
+ int ecode2 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ char *result = 0 ;
+
+ if (!PyArg_ParseTuple(args,(char *)"OO:Pui_getImagenObjetoPUI",&obj0,&obj1)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Pui, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Pui_getImagenObjetoPUI" "', argument " "1"" of type '" "Pui *""'");
+ }
+ arg1 = reinterpret_cast< Pui * >(argp1);
+ ecode2 = SWIG_AsVal_int(obj1, &val2);
+ if (!SWIG_IsOK(ecode2)) {
+ SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Pui_getImagenObjetoPUI" "', argument " "2"" of type '" "int""'");
+ }
+ arg2 = static_cast< int >(val2);
+ result = (char *)(arg1)->getImagenObjetoPUI(arg2);
+ resultobj = SWIG_FromCharPtr((const char *)result);
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_Pui_getSonidoError(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ Pui *arg1 = (Pui *) 0 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ PyObject * obj0 = 0 ;
+ char *result = 0 ;
+
+ if (!PyArg_ParseTuple(args,(char *)"O:Pui_getSonidoError",&obj0)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Pui, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Pui_getSonidoError" "', argument " "1"" of type '" "Pui *""'");
+ }
+ arg1 = reinterpret_cast< Pui * >(argp1);
+ result = (char *)(arg1)->getSonidoError();
+ resultobj = SWIG_FromCharPtr((const char *)result);
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_Pui_getSonidoOk(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ Pui *arg1 = (Pui *) 0 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ PyObject * obj0 = 0 ;
+ char *result = 0 ;
+
+ if (!PyArg_ParseTuple(args,(char *)"O:Pui_getSonidoOk",&obj0)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Pui, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Pui_getSonidoOk" "', argument " "1"" of type '" "Pui *""'");
+ }
+ arg1 = reinterpret_cast< Pui * >(argp1);
+ result = (char *)(arg1)->getSonidoOk();
+ resultobj = SWIG_FromCharPtr((const char *)result);
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_Pui_esRelacionCorrecta(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ Pui *arg1 = (Pui *) 0 ;
+ int arg2 ;
+ int arg3 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ int val2 ;
+ int ecode2 = 0 ;
+ int val3 ;
+ int ecode3 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+ bool result;
+
+ if (!PyArg_ParseTuple(args,(char *)"OOO:Pui_esRelacionCorrecta",&obj0,&obj1,&obj2)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Pui, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Pui_esRelacionCorrecta" "', argument " "1"" of type '" "Pui *""'");
+ }
+ arg1 = reinterpret_cast< Pui * >(argp1);
+ ecode2 = SWIG_AsVal_int(obj1, &val2);
+ if (!SWIG_IsOK(ecode2)) {
+ SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Pui_esRelacionCorrecta" "', argument " "2"" of type '" "int""'");
+ }
+ arg2 = static_cast< int >(val2);
+ ecode3 = SWIG_AsVal_int(obj2, &val3);
+ if (!SWIG_IsOK(ecode3)) {
+ SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "Pui_esRelacionCorrecta" "', argument " "3"" of type '" "int""'");
+ }
+ arg3 = static_cast< int >(val3);
+ result = (bool)(arg1)->esRelacionCorrecta(arg2,arg3);
+ resultobj = SWIG_From_bool(static_cast< bool >(result));
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_Pui_getConjuntoObjetoPui(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ Pui *arg1 = (Pui *) 0 ;
+ int arg2 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ int val2 ;
+ int ecode2 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ int result;
+
+ if (!PyArg_ParseTuple(args,(char *)"OO:Pui_getConjuntoObjetoPui",&obj0,&obj1)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Pui, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Pui_getConjuntoObjetoPui" "', argument " "1"" of type '" "Pui *""'");
+ }
+ arg1 = reinterpret_cast< Pui * >(argp1);
+ ecode2 = SWIG_AsVal_int(obj1, &val2);
+ if (!SWIG_IsOK(ecode2)) {
+ SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Pui_getConjuntoObjetoPui" "', argument " "2"" of type '" "int""'");
+ }
+ arg2 = static_cast< int >(val2);
+ result = (int)(arg1)->getConjuntoObjetoPui(arg2);
+ resultobj = SWIG_From_int(static_cast< int >(result));
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_Pui_getIdElementoRelacionado(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ Pui *arg1 = (Pui *) 0 ;
+ int arg2 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ int val2 ;
+ int ecode2 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ int result;
+
+ if (!PyArg_ParseTuple(args,(char *)"OO:Pui_getIdElementoRelacionado",&obj0,&obj1)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Pui, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Pui_getIdElementoRelacionado" "', argument " "1"" of type '" "Pui *""'");
+ }
+ arg1 = reinterpret_cast< Pui * >(argp1);
+ ecode2 = SWIG_AsVal_int(obj1, &val2);
+ if (!SWIG_IsOK(ecode2)) {
+ SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Pui_getIdElementoRelacionado" "', argument " "2"" of type '" "int""'");
+ }
+ arg2 = static_cast< int >(val2);
+ result = (int)(arg1)->getIdElementoRelacionado(arg2);
+ resultobj = SWIG_From_int(static_cast< int >(result));
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_Pui_getNombreRelacionObjetoPUI(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ Pui *arg1 = (Pui *) 0 ;
+ int arg2 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ int val2 ;
+ int ecode2 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ char *result = 0 ;
+
+ if (!PyArg_ParseTuple(args,(char *)"OO:Pui_getNombreRelacionObjetoPUI",&obj0,&obj1)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Pui, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Pui_getNombreRelacionObjetoPUI" "', argument " "1"" of type '" "Pui *""'");
+ }
+ arg1 = reinterpret_cast< Pui * >(argp1);
+ ecode2 = SWIG_AsVal_int(obj1, &val2);
+ if (!SWIG_IsOK(ecode2)) {
+ SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Pui_getNombreRelacionObjetoPUI" "', argument " "2"" of type '" "int""'");
+ }
+ arg2 = static_cast< int >(val2);
+ result = (char *)(arg1)->getNombreRelacionObjetoPUI(arg2);
+ resultobj = SWIG_FromCharPtr((const char *)result);
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_Pui_detectarSeleccion(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ Pui *arg1 = (Pui *) 0 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ PyObject * obj0 = 0 ;
+ int result;
+
+ if (!PyArg_ParseTuple(args,(char *)"O:Pui_detectarSeleccion",&obj0)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Pui, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Pui_detectarSeleccion" "', argument " "1"" of type '" "Pui *""'");
+ }
+ arg1 = reinterpret_cast< Pui * >(argp1);
+ result = (int)(arg1)->detectarSeleccion();
+ resultobj = SWIG_From_int(static_cast< int >(result));
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_Pui_initDeteccionApuntador__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ Pui *arg1 = (Pui *) 0 ;
+ PropiedadesDeteccionApuntador arg2 ;
+ RangosColorApuntador arg3 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ void *argp2 ;
+ int res2 = 0 ;
+ void *argp3 ;
+ int res3 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+
+ if (!PyArg_ParseTuple(args,(char *)"OOO:Pui_initDeteccionApuntador",&obj0,&obj1,&obj2)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Pui, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Pui_initDeteccionApuntador" "', argument " "1"" of type '" "Pui *""'");
+ }
+ arg1 = reinterpret_cast< Pui * >(argp1);
+ {
+ res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_PropiedadesDeteccionApuntador, 0 | 0);
+ if (!SWIG_IsOK(res2)) {
+ SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Pui_initDeteccionApuntador" "', argument " "2"" of type '" "PropiedadesDeteccionApuntador""'");
+ }
+ if (!argp2) {
+ SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "Pui_initDeteccionApuntador" "', argument " "2"" of type '" "PropiedadesDeteccionApuntador""'");
+ } else {
+ PropiedadesDeteccionApuntador * temp = reinterpret_cast< PropiedadesDeteccionApuntador * >(argp2);
+ arg2 = *temp;
+ if (SWIG_IsNewObj(res2)) delete temp;
+ }
+ }
+ {
+ res3 = SWIG_ConvertPtr(obj2, &argp3, SWIGTYPE_p_RangosColorApuntador, 0 | 0);
+ if (!SWIG_IsOK(res3)) {
+ SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "Pui_initDeteccionApuntador" "', argument " "3"" of type '" "RangosColorApuntador""'");
+ }
+ if (!argp3) {
+ SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "Pui_initDeteccionApuntador" "', argument " "3"" of type '" "RangosColorApuntador""'");
+ } else {
+ RangosColorApuntador * temp = reinterpret_cast< RangosColorApuntador * >(argp3);
+ arg3 = *temp;
+ if (SWIG_IsNewObj(res3)) delete temp;
+ }
+ }
+ (arg1)->initDeteccionApuntador(arg2,arg3);
+ resultobj = SWIG_Py_Void();
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_Pui_initDeteccionApuntador__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ Pui *arg1 = (Pui *) 0 ;
+ char *arg2 = (char *) 0 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ int res2 ;
+ char *buf2 = 0 ;
+ int alloc2 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ int result;
+
+ if (!PyArg_ParseTuple(args,(char *)"OO:Pui_initDeteccionApuntador",&obj0,&obj1)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Pui, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Pui_initDeteccionApuntador" "', argument " "1"" of type '" "Pui *""'");
+ }
+ arg1 = reinterpret_cast< Pui * >(argp1);
+ res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+ if (!SWIG_IsOK(res2)) {
+ SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Pui_initDeteccionApuntador" "', argument " "2"" of type '" "char *""'");
+ }
+ arg2 = reinterpret_cast< char * >(buf2);
+ result = (int)(arg1)->initDeteccionApuntador(arg2);
+ resultobj = SWIG_From_int(static_cast< int >(result));
+ if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+ return resultobj;
+fail:
+ if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_Pui_initDeteccionApuntador(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[4];
+ int ii;
+
+ if (!PyTuple_Check(args)) SWIG_fail;
+ argc = (int)PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+ argv[ii] = PyTuple_GET_ITEM(args,ii);
+ }
+ if (argc == 2) {
+ int _v;
+ void *vptr = 0;
+ int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_Pui, 0);
+ _v = SWIG_CheckState(res);
+ if (_v) {
+ int res = SWIG_AsCharPtrAndSize(argv[1], 0, NULL, 0);
+ _v = SWIG_CheckState(res);
+ if (_v) {
+ return _wrap_Pui_initDeteccionApuntador__SWIG_1(self, args);
+ }
+ }
+ }
+ if (argc == 3) {
+ int _v;
+ void *vptr = 0;
+ int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_Pui, 0);
+ _v = SWIG_CheckState(res);
+ if (_v) {
+ int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_PropiedadesDeteccionApuntador, 0);
+ _v = SWIG_CheckState(res);
+ if (_v) {
+ int res = SWIG_ConvertPtr(argv[2], 0, SWIGTYPE_p_RangosColorApuntador, 0);
+ _v = SWIG_CheckState(res);
+ if (_v) {
+ return _wrap_Pui_initDeteccionApuntador__SWIG_0(self, args);
+ }
+ }
+ }
+ }
+
+fail:
+ SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'Pui_initDeteccionApuntador'.\n"
+ " Possible C/C++ prototypes are:\n"
+ " initDeteccionApuntador(Pui *,PropiedadesDeteccionApuntador,RangosColorApuntador)\n"
+ " initDeteccionApuntador(Pui *,char *)\n");
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_Pui_getPropiedadesDeteccionApuntador(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ Pui *arg1 = (Pui *) 0 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ PyObject * obj0 = 0 ;
+ PropiedadesDeteccionApuntador result;
+
+ if (!PyArg_ParseTuple(args,(char *)"O:Pui_getPropiedadesDeteccionApuntador",&obj0)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Pui, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Pui_getPropiedadesDeteccionApuntador" "', argument " "1"" of type '" "Pui *""'");
+ }
+ arg1 = reinterpret_cast< Pui * >(argp1);
+ result = (arg1)->getPropiedadesDeteccionApuntador();
+ resultobj = SWIG_NewPointerObj((new PropiedadesDeteccionApuntador(static_cast< const PropiedadesDeteccionApuntador& >(result))), SWIGTYPE_p_PropiedadesDeteccionApuntador, SWIG_POINTER_OWN | 0 );
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_Pui_setPropiedadesDeteccionApuntador(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ Pui *arg1 = (Pui *) 0 ;
+ PropiedadesDeteccionApuntador arg2 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ void *argp2 ;
+ int res2 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if (!PyArg_ParseTuple(args,(char *)"OO:Pui_setPropiedadesDeteccionApuntador",&obj0,&obj1)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Pui, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Pui_setPropiedadesDeteccionApuntador" "', argument " "1"" of type '" "Pui *""'");
+ }
+ arg1 = reinterpret_cast< Pui * >(argp1);
+ {
+ res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_PropiedadesDeteccionApuntador, 0 | 0);
+ if (!SWIG_IsOK(res2)) {
+ SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Pui_setPropiedadesDeteccionApuntador" "', argument " "2"" of type '" "PropiedadesDeteccionApuntador""'");
+ }
+ if (!argp2) {
+ SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "Pui_setPropiedadesDeteccionApuntador" "', argument " "2"" of type '" "PropiedadesDeteccionApuntador""'");
+ } else {
+ PropiedadesDeteccionApuntador * temp = reinterpret_cast< PropiedadesDeteccionApuntador * >(argp2);
+ arg2 = *temp;
+ if (SWIG_IsNewObj(res2)) delete temp;
+ }
+ }
+ (arg1)->setPropiedadesDeteccionApuntador(arg2);
+ resultobj = SWIG_Py_Void();
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_Pui_getPropiedadesColorApuntador(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ Pui *arg1 = (Pui *) 0 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ PyObject * obj0 = 0 ;
+ RangosColorApuntador result;
+
+ if (!PyArg_ParseTuple(args,(char *)"O:Pui_getPropiedadesColorApuntador",&obj0)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Pui, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Pui_getPropiedadesColorApuntador" "', argument " "1"" of type '" "Pui *""'");
+ }
+ arg1 = reinterpret_cast< Pui * >(argp1);
+ result = (arg1)->getPropiedadesColorApuntador();
+ resultobj = SWIG_NewPointerObj((new RangosColorApuntador(static_cast< const RangosColorApuntador& >(result))), SWIGTYPE_p_RangosColorApuntador, SWIG_POINTER_OWN | 0 );
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_Pui_setPropiedadesColorApuntador(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ Pui *arg1 = (Pui *) 0 ;
+ RangosColorApuntador arg2 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ void *argp2 ;
+ int res2 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if (!PyArg_ParseTuple(args,(char *)"OO:Pui_setPropiedadesColorApuntador",&obj0,&obj1)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Pui, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Pui_setPropiedadesColorApuntador" "', argument " "1"" of type '" "Pui *""'");
+ }
+ arg1 = reinterpret_cast< Pui * >(argp1);
+ {
+ res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_RangosColorApuntador, 0 | 0);
+ if (!SWIG_IsOK(res2)) {
+ SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Pui_setPropiedadesColorApuntador" "', argument " "2"" of type '" "RangosColorApuntador""'");
+ }
+ if (!argp2) {
+ SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "Pui_setPropiedadesColorApuntador" "', argument " "2"" of type '" "RangosColorApuntador""'");
+ } else {
+ RangosColorApuntador * temp = reinterpret_cast< RangosColorApuntador * >(argp2);
+ arg2 = *temp;
+ if (SWIG_IsNewObj(res2)) delete temp;
+ }
+ }
+ (arg1)->setPropiedadesColorApuntador(arg2);
+ resultobj = SWIG_Py_Void();
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_Pui_setHminApuntador(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ Pui *arg1 = (Pui *) 0 ;
+ int arg2 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ int val2 ;
+ int ecode2 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if (!PyArg_ParseTuple(args,(char *)"OO:Pui_setHminApuntador",&obj0,&obj1)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Pui, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Pui_setHminApuntador" "', argument " "1"" of type '" "Pui *""'");
+ }
+ arg1 = reinterpret_cast< Pui * >(argp1);
+ ecode2 = SWIG_AsVal_int(obj1, &val2);
+ if (!SWIG_IsOK(ecode2)) {
+ SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Pui_setHminApuntador" "', argument " "2"" of type '" "int""'");
+ }
+ arg2 = static_cast< int >(val2);
+ (arg1)->setHminApuntador(arg2);
+ resultobj = SWIG_Py_Void();
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_Pui_getHminApuntador(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ Pui *arg1 = (Pui *) 0 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ PyObject * obj0 = 0 ;
+ int result;
+
+ if (!PyArg_ParseTuple(args,(char *)"O:Pui_getHminApuntador",&obj0)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Pui, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Pui_getHminApuntador" "', argument " "1"" of type '" "Pui *""'");
+ }
+ arg1 = reinterpret_cast< Pui * >(argp1);
+ result = (int)(arg1)->getHminApuntador();
+ resultobj = SWIG_From_int(static_cast< int >(result));
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_Pui_setHmaxApuntador(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ Pui *arg1 = (Pui *) 0 ;
+ int arg2 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ int val2 ;
+ int ecode2 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if (!PyArg_ParseTuple(args,(char *)"OO:Pui_setHmaxApuntador",&obj0,&obj1)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Pui, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Pui_setHmaxApuntador" "', argument " "1"" of type '" "Pui *""'");
+ }
+ arg1 = reinterpret_cast< Pui * >(argp1);
+ ecode2 = SWIG_AsVal_int(obj1, &val2);
+ if (!SWIG_IsOK(ecode2)) {
+ SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Pui_setHmaxApuntador" "', argument " "2"" of type '" "int""'");
+ }
+ arg2 = static_cast< int >(val2);
+ (arg1)->setHmaxApuntador(arg2);
+ resultobj = SWIG_Py_Void();
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_Pui_getHmaxApuntador(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ Pui *arg1 = (Pui *) 0 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ PyObject * obj0 = 0 ;
+ int result;
+
+ if (!PyArg_ParseTuple(args,(char *)"O:Pui_getHmaxApuntador",&obj0)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Pui, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Pui_getHmaxApuntador" "', argument " "1"" of type '" "Pui *""'");
+ }
+ arg1 = reinterpret_cast< Pui * >(argp1);
+ result = (int)(arg1)->getHmaxApuntador();
+ resultobj = SWIG_From_int(static_cast< int >(result));
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_Pui_setSminApuntador(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ Pui *arg1 = (Pui *) 0 ;
+ int arg2 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ int val2 ;
+ int ecode2 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if (!PyArg_ParseTuple(args,(char *)"OO:Pui_setSminApuntador",&obj0,&obj1)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Pui, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Pui_setSminApuntador" "', argument " "1"" of type '" "Pui *""'");
+ }
+ arg1 = reinterpret_cast< Pui * >(argp1);
+ ecode2 = SWIG_AsVal_int(obj1, &val2);
+ if (!SWIG_IsOK(ecode2)) {
+ SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Pui_setSminApuntador" "', argument " "2"" of type '" "int""'");
+ }
+ arg2 = static_cast< int >(val2);
+ (arg1)->setSminApuntador(arg2);
+ resultobj = SWIG_Py_Void();
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_Pui_getSminApuntador(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ Pui *arg1 = (Pui *) 0 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ PyObject * obj0 = 0 ;
+ int result;
+
+ if (!PyArg_ParseTuple(args,(char *)"O:Pui_getSminApuntador",&obj0)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Pui, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Pui_getSminApuntador" "', argument " "1"" of type '" "Pui *""'");
+ }
+ arg1 = reinterpret_cast< Pui * >(argp1);
+ result = (int)(arg1)->getSminApuntador();
+ resultobj = SWIG_From_int(static_cast< int >(result));
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_Pui_setSmaxApuntador(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ Pui *arg1 = (Pui *) 0 ;
+ int arg2 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ int val2 ;
+ int ecode2 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if (!PyArg_ParseTuple(args,(char *)"OO:Pui_setSmaxApuntador",&obj0,&obj1)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Pui, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Pui_setSmaxApuntador" "', argument " "1"" of type '" "Pui *""'");
+ }
+ arg1 = reinterpret_cast< Pui * >(argp1);
+ ecode2 = SWIG_AsVal_int(obj1, &val2);
+ if (!SWIG_IsOK(ecode2)) {
+ SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Pui_setSmaxApuntador" "', argument " "2"" of type '" "int""'");
+ }
+ arg2 = static_cast< int >(val2);
+ (arg1)->setSmaxApuntador(arg2);
+ resultobj = SWIG_Py_Void();
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_Pui_getSmaxApuntador(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ Pui *arg1 = (Pui *) 0 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ PyObject * obj0 = 0 ;
+ int result;
+
+ if (!PyArg_ParseTuple(args,(char *)"O:Pui_getSmaxApuntador",&obj0)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Pui, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Pui_getSmaxApuntador" "', argument " "1"" of type '" "Pui *""'");
+ }
+ arg1 = reinterpret_cast< Pui * >(argp1);
+ result = (int)(arg1)->getSmaxApuntador();
+ resultobj = SWIG_From_int(static_cast< int >(result));
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_Pui_setVminApuntador(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ Pui *arg1 = (Pui *) 0 ;
+ int arg2 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ int val2 ;
+ int ecode2 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if (!PyArg_ParseTuple(args,(char *)"OO:Pui_setVminApuntador",&obj0,&obj1)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Pui, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Pui_setVminApuntador" "', argument " "1"" of type '" "Pui *""'");
+ }
+ arg1 = reinterpret_cast< Pui * >(argp1);
+ ecode2 = SWIG_AsVal_int(obj1, &val2);
+ if (!SWIG_IsOK(ecode2)) {
+ SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Pui_setVminApuntador" "', argument " "2"" of type '" "int""'");
+ }
+ arg2 = static_cast< int >(val2);
+ (arg1)->setVminApuntador(arg2);
+ resultobj = SWIG_Py_Void();
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_Pui_getVminApuntador(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ Pui *arg1 = (Pui *) 0 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ PyObject * obj0 = 0 ;
+ int result;
+
+ if (!PyArg_ParseTuple(args,(char *)"O:Pui_getVminApuntador",&obj0)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Pui, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Pui_getVminApuntador" "', argument " "1"" of type '" "Pui *""'");
+ }
+ arg1 = reinterpret_cast< Pui * >(argp1);
+ result = (int)(arg1)->getVminApuntador();
+ resultobj = SWIG_From_int(static_cast< int >(result));
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_Pui_setVmaxApuntador(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ Pui *arg1 = (Pui *) 0 ;
+ int arg2 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ int val2 ;
+ int ecode2 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if (!PyArg_ParseTuple(args,(char *)"OO:Pui_setVmaxApuntador",&obj0,&obj1)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Pui, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Pui_setVmaxApuntador" "', argument " "1"" of type '" "Pui *""'");
+ }
+ arg1 = reinterpret_cast< Pui * >(argp1);
+ ecode2 = SWIG_AsVal_int(obj1, &val2);
+ if (!SWIG_IsOK(ecode2)) {
+ SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Pui_setVmaxApuntador" "', argument " "2"" of type '" "int""'");
+ }
+ arg2 = static_cast< int >(val2);
+ (arg1)->setVmaxApuntador(arg2);
+ resultobj = SWIG_Py_Void();
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_Pui_getVmaxApuntador(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ Pui *arg1 = (Pui *) 0 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ PyObject * obj0 = 0 ;
+ int result;
+
+ if (!PyArg_ParseTuple(args,(char *)"O:Pui_getVmaxApuntador",&obj0)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Pui, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Pui_getVmaxApuntador" "', argument " "1"" of type '" "Pui *""'");
+ }
+ arg1 = reinterpret_cast< Pui * >(argp1);
+ result = (int)(arg1)->getVmaxApuntador();
+ resultobj = SWIG_From_int(static_cast< int >(result));
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_Pui_procesarDatosCalibracion(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ Pui *arg1 = (Pui *) 0 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ PyObject * obj0 = 0 ;
+
+ if (!PyArg_ParseTuple(args,(char *)"O:Pui_procesarDatosCalibracion",&obj0)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Pui, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Pui_procesarDatosCalibracion" "', argument " "1"" of type '" "Pui *""'");
+ }
+ arg1 = reinterpret_cast< Pui * >(argp1);
+ (arg1)->procesarDatosCalibracion();
+ resultobj = SWIG_Py_Void();
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_Pui_guardarDatosCalibracion(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ Pui *arg1 = (Pui *) 0 ;
+ char *arg2 = (char *) 0 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ int res2 ;
+ char *buf2 = 0 ;
+ int alloc2 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if (!PyArg_ParseTuple(args,(char *)"OO:Pui_guardarDatosCalibracion",&obj0,&obj1)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Pui, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Pui_guardarDatosCalibracion" "', argument " "1"" of type '" "Pui *""'");
+ }
+ arg1 = reinterpret_cast< Pui * >(argp1);
+ res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+ if (!SWIG_IsOK(res2)) {
+ SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Pui_guardarDatosCalibracion" "', argument " "2"" of type '" "char const *""'");
+ }
+ arg2 = reinterpret_cast< char * >(buf2);
+ (arg1)->guardarDatosCalibracion((char const *)arg2);
+ resultobj = SWIG_Py_Void();
+ if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+ return resultobj;
+fail:
+ if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_Pui_initPropiedadesCalibracion(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ Pui *arg1 = (Pui *) 0 ;
+ int arg2 ;
+ int arg3 ;
+ int arg4 ;
+ int arg5 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ int val2 ;
+ int ecode2 = 0 ;
+ int val3 ;
+ int ecode3 = 0 ;
+ int val4 ;
+ int ecode4 = 0 ;
+ int val5 ;
+ int ecode5 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+ PyObject * obj3 = 0 ;
+ PyObject * obj4 = 0 ;
+
+ if (!PyArg_ParseTuple(args,(char *)"OOOOO:Pui_initPropiedadesCalibracion",&obj0,&obj1,&obj2,&obj3,&obj4)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Pui, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Pui_initPropiedadesCalibracion" "', argument " "1"" of type '" "Pui *""'");
+ }
+ arg1 = reinterpret_cast< Pui * >(argp1);
+ ecode2 = SWIG_AsVal_int(obj1, &val2);
+ if (!SWIG_IsOK(ecode2)) {
+ SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Pui_initPropiedadesCalibracion" "', argument " "2"" of type '" "int""'");
+ }
+ arg2 = static_cast< int >(val2);
+ ecode3 = SWIG_AsVal_int(obj2, &val3);
+ if (!SWIG_IsOK(ecode3)) {
+ SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "Pui_initPropiedadesCalibracion" "', argument " "3"" of type '" "int""'");
+ }
+ arg3 = static_cast< int >(val3);
+ ecode4 = SWIG_AsVal_int(obj3, &val4);
+ if (!SWIG_IsOK(ecode4)) {
+ SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "Pui_initPropiedadesCalibracion" "', argument " "4"" of type '" "int""'");
+ }
+ arg4 = static_cast< int >(val4);
+ ecode5 = SWIG_AsVal_int(obj4, &val5);
+ if (!SWIG_IsOK(ecode5)) {
+ SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "Pui_initPropiedadesCalibracion" "', argument " "5"" of type '" "int""'");
+ }
+ arg5 = static_cast< int >(val5);
+ (arg1)->initPropiedadesCalibracion(arg2,arg3,arg4,arg5);
+ resultobj = SWIG_Py_Void();
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_Pui_leerConfiguracionCalibracion(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ Pui *arg1 = (Pui *) 0 ;
+ char *arg2 = (char *) 0 ;
+ int arg3 ;
+ char **arg4 = (char **) 0 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ int res2 ;
+ char *buf2 = 0 ;
+ int alloc2 = 0 ;
+ int val3 ;
+ int ecode3 = 0 ;
+ void *argp4 = 0 ;
+ int res4 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+ PyObject * obj3 = 0 ;
+ int result;
+
+ if (!PyArg_ParseTuple(args,(char *)"OOOO:Pui_leerConfiguracionCalibracion",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Pui, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Pui_leerConfiguracionCalibracion" "', argument " "1"" of type '" "Pui *""'");
+ }
+ arg1 = reinterpret_cast< Pui * >(argp1);
+ res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+ if (!SWIG_IsOK(res2)) {
+ SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Pui_leerConfiguracionCalibracion" "', argument " "2"" of type '" "char const *""'");
+ }
+ arg2 = reinterpret_cast< char * >(buf2);
+ ecode3 = SWIG_AsVal_int(obj2, &val3);
+ if (!SWIG_IsOK(ecode3)) {
+ SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "Pui_leerConfiguracionCalibracion" "', argument " "3"" of type '" "int""'");
+ }
+ arg3 = static_cast< int >(val3);
+ res4 = SWIG_ConvertPtr(obj3, &argp4,SWIGTYPE_p_p_char, 0 | 0 );
+ if (!SWIG_IsOK(res4)) {
+ SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "Pui_leerConfiguracionCalibracion" "', argument " "4"" of type '" "char **""'");
+ }
+ arg4 = reinterpret_cast< char ** >(argp4);
+ result = (int)(arg1)->leerConfiguracionCalibracion((char const *)arg2,arg3,arg4);
+ resultobj = SWIG_From_int(static_cast< int >(result));
+ if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+ return resultobj;
+fail:
+ if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_Pui_calibrarThreshold(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ Pui *arg1 = (Pui *) 0 ;
+ int arg2 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ int val2 ;
+ int ecode2 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if (!PyArg_ParseTuple(args,(char *)"OO:Pui_calibrarThreshold",&obj0,&obj1)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Pui, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Pui_calibrarThreshold" "', argument " "1"" of type '" "Pui *""'");
+ }
+ arg1 = reinterpret_cast< Pui * >(argp1);
+ ecode2 = SWIG_AsVal_int(obj1, &val2);
+ if (!SWIG_IsOK(ecode2)) {
+ SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Pui_calibrarThreshold" "', argument " "2"" of type '" "int""'");
+ }
+ arg2 = static_cast< int >(val2);
+ (arg1)->calibrarThreshold(arg2);
+ resultobj = SWIG_Py_Void();
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_Pui_setBrillo(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ Pui *arg1 = (Pui *) 0 ;
+ int arg2 ;
+ char *arg3 = (char *) 0 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ int val2 ;
+ int ecode2 = 0 ;
+ int res3 ;
+ char *buf3 = 0 ;
+ int alloc3 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+
+ if (!PyArg_ParseTuple(args,(char *)"OOO:Pui_setBrillo",&obj0,&obj1,&obj2)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Pui, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Pui_setBrillo" "', argument " "1"" of type '" "Pui *""'");
+ }
+ arg1 = reinterpret_cast< Pui * >(argp1);
+ ecode2 = SWIG_AsVal_int(obj1, &val2);
+ if (!SWIG_IsOK(ecode2)) {
+ SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Pui_setBrillo" "', argument " "2"" of type '" "int""'");
+ }
+ arg2 = static_cast< int >(val2);
+ res3 = SWIG_AsCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+ if (!SWIG_IsOK(res3)) {
+ SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "Pui_setBrillo" "', argument " "3"" of type '" "char *""'");
+ }
+ arg3 = reinterpret_cast< char * >(buf3);
+ (arg1)->setBrillo(arg2,arg3);
+ resultobj = SWIG_Py_Void();
+ if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+ return resultobj;
+fail:
+ if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_Pui_setAutoWhiteBalance(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ Pui *arg1 = (Pui *) 0 ;
+ int arg2 ;
+ char *arg3 = (char *) 0 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ int val2 ;
+ int ecode2 = 0 ;
+ int res3 ;
+ char *buf3 = 0 ;
+ int alloc3 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+
+ if (!PyArg_ParseTuple(args,(char *)"OOO:Pui_setAutoWhiteBalance",&obj0,&obj1,&obj2)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Pui, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Pui_setAutoWhiteBalance" "', argument " "1"" of type '" "Pui *""'");
+ }
+ arg1 = reinterpret_cast< Pui * >(argp1);
+ ecode2 = SWIG_AsVal_int(obj1, &val2);
+ if (!SWIG_IsOK(ecode2)) {
+ SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Pui_setAutoWhiteBalance" "', argument " "2"" of type '" "int""'");
+ }
+ arg2 = static_cast< int >(val2);
+ res3 = SWIG_AsCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+ if (!SWIG_IsOK(res3)) {
+ SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "Pui_setAutoWhiteBalance" "', argument " "3"" of type '" "char *""'");
+ }
+ arg3 = reinterpret_cast< char * >(buf3);
+ (arg1)->setAutoWhiteBalance(arg2,arg3);
+ resultobj = SWIG_Py_Void();
+ if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+ return resultobj;
+fail:
+ if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_Pui_setAutoGain(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ Pui *arg1 = (Pui *) 0 ;
+ int arg2 ;
+ char *arg3 = (char *) 0 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ int val2 ;
+ int ecode2 = 0 ;
+ int res3 ;
+ char *buf3 = 0 ;
+ int alloc3 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+
+ if (!PyArg_ParseTuple(args,(char *)"OOO:Pui_setAutoGain",&obj0,&obj1,&obj2)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Pui, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Pui_setAutoGain" "', argument " "1"" of type '" "Pui *""'");
+ }
+ arg1 = reinterpret_cast< Pui * >(argp1);
+ ecode2 = SWIG_AsVal_int(obj1, &val2);
+ if (!SWIG_IsOK(ecode2)) {
+ SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Pui_setAutoGain" "', argument " "2"" of type '" "int""'");
+ }
+ arg2 = static_cast< int >(val2);
+ res3 = SWIG_AsCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+ if (!SWIG_IsOK(res3)) {
+ SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "Pui_setAutoGain" "', argument " "3"" of type '" "char *""'");
+ }
+ arg3 = reinterpret_cast< char * >(buf3);
+ (arg1)->setAutoGain(arg2,arg3);
+ resultobj = SWIG_Py_Void();
+ if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+ return resultobj;
+fail:
+ if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_Pui_setHorizontalFlip(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ Pui *arg1 = (Pui *) 0 ;
+ int arg2 ;
+ char *arg3 = (char *) 0 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ int val2 ;
+ int ecode2 = 0 ;
+ int res3 ;
+ char *buf3 = 0 ;
+ int alloc3 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+
+ if (!PyArg_ParseTuple(args,(char *)"OOO:Pui_setHorizontalFlip",&obj0,&obj1,&obj2)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Pui, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Pui_setHorizontalFlip" "', argument " "1"" of type '" "Pui *""'");
+ }
+ arg1 = reinterpret_cast< Pui * >(argp1);
+ ecode2 = SWIG_AsVal_int(obj1, &val2);
+ if (!SWIG_IsOK(ecode2)) {
+ SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Pui_setHorizontalFlip" "', argument " "2"" of type '" "int""'");
+ }
+ arg2 = static_cast< int >(val2);
+ res3 = SWIG_AsCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+ if (!SWIG_IsOK(res3)) {
+ SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "Pui_setHorizontalFlip" "', argument " "3"" of type '" "char *""'");
+ }
+ arg3 = reinterpret_cast< char * >(buf3);
+ (arg1)->setHorizontalFlip(arg2,arg3);
+ resultobj = SWIG_Py_Void();
+ if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+ return resultobj;
+fail:
+ if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_Pui_abrirVentanaGrafica(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ Pui *arg1 = (Pui *) 0 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ PyObject * obj0 = 0 ;
+
+ if (!PyArg_ParseTuple(args,(char *)"O:Pui_abrirVentanaGrafica",&obj0)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Pui, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Pui_abrirVentanaGrafica" "', argument " "1"" of type '" "Pui *""'");
+ }
+ arg1 = reinterpret_cast< Pui * >(argp1);
+ (arg1)->abrirVentanaGrafica();
+ resultobj = SWIG_Py_Void();
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_Pui_cerrarVentanaGrafica(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ Pui *arg1 = (Pui *) 0 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ PyObject * obj0 = 0 ;
+
+ if (!PyArg_ParseTuple(args,(char *)"O:Pui_cerrarVentanaGrafica",&obj0)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Pui, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Pui_cerrarVentanaGrafica" "', argument " "1"" of type '" "Pui *""'");
+ }
+ arg1 = reinterpret_cast< Pui * >(argp1);
+ (arg1)->cerrarVentanaGrafica();
+ resultobj = SWIG_Py_Void();
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_Pui_desplegarImagenAR(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ Pui *arg1 = (Pui *) 0 ;
+ bool arg2 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ bool val2 ;
+ int ecode2 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if (!PyArg_ParseTuple(args,(char *)"OO:Pui_desplegarImagenAR",&obj0,&obj1)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Pui, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Pui_desplegarImagenAR" "', argument " "1"" of type '" "Pui *""'");
+ }
+ arg1 = reinterpret_cast< Pui * >(argp1);
+ ecode2 = SWIG_AsVal_bool(obj1, &val2);
+ if (!SWIG_IsOK(ecode2)) {
+ SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Pui_desplegarImagenAR" "', argument " "2"" of type '" "bool""'");
+ }
+ arg2 = static_cast< bool >(val2);
+ (arg1)->desplegarImagenAR(arg2);
+ resultobj = SWIG_Py_Void();
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_Pui_desplegarImagenFromData(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ Pui *arg1 = (Pui *) 0 ;
+ unsigned char *arg2 = (unsigned char *) 0 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ void *argp2 = 0 ;
+ int res2 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if (!PyArg_ParseTuple(args,(char *)"OO:Pui_desplegarImagenFromData",&obj0,&obj1)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Pui, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Pui_desplegarImagenFromData" "', argument " "1"" of type '" "Pui *""'");
+ }
+ arg1 = reinterpret_cast< Pui * >(argp1);
+ res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_unsigned_char, 0 | 0 );
+ if (!SWIG_IsOK(res2)) {
+ SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Pui_desplegarImagenFromData" "', argument " "2"" of type '" "unsigned char *""'");
+ }
+ arg2 = reinterpret_cast< unsigned char * >(argp2);
+ (arg1)->desplegarImagenFromData(arg2);
+ resultobj = SWIG_Py_Void();
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_Pui_capNext(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ Pui *arg1 = (Pui *) 0 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ PyObject * obj0 = 0 ;
+
+ if (!PyArg_ParseTuple(args,(char *)"O:Pui_capNext",&obj0)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Pui, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Pui_capNext" "', argument " "1"" of type '" "Pui *""'");
+ }
+ arg1 = reinterpret_cast< Pui * >(argp1);
+ (arg1)->capNext();
+ resultobj = SWIG_Py_Void();
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_Pui_capStart(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ Pui *arg1 = (Pui *) 0 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ PyObject * obj0 = 0 ;
+
+ if (!PyArg_ParseTuple(args,(char *)"O:Pui_capStart",&obj0)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Pui, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Pui_capStart" "', argument " "1"" of type '" "Pui *""'");
+ }
+ arg1 = reinterpret_cast< Pui * >(argp1);
+ (arg1)->capStart();
+ resultobj = SWIG_Py_Void();
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_Pui_capStop(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ Pui *arg1 = (Pui *) 0 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ PyObject * obj0 = 0 ;
+
+ if (!PyArg_ParseTuple(args,(char *)"O:Pui_capStop",&obj0)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Pui, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Pui_capStop" "', argument " "1"" of type '" "Pui *""'");
+ }
+ arg1 = reinterpret_cast< Pui * >(argp1);
+ (arg1)->capStop();
+ resultobj = SWIG_Py_Void();
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_Pui_capClose(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ Pui *arg1 = (Pui *) 0 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ PyObject * obj0 = 0 ;
+
+ if (!PyArg_ParseTuple(args,(char *)"O:Pui_capClose",&obj0)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Pui, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Pui_capClose" "', argument " "1"" of type '" "Pui *""'");
+ }
+ arg1 = reinterpret_cast< Pui * >(argp1);
+ (arg1)->capClose();
+ resultobj = SWIG_Py_Void();
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_Pui_capturarImagenAR(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ Pui *arg1 = (Pui *) 0 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ PyObject * obj0 = 0 ;
+ unsigned char *result = 0 ;
+
+ if (!PyArg_ParseTuple(args,(char *)"O:Pui_capturarImagenAR",&obj0)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Pui, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Pui_capturarImagenAR" "', argument " "1"" of type '" "Pui *""'");
+ }
+ arg1 = reinterpret_cast< Pui * >(argp1);
+ result = (unsigned char *)(arg1)->capturarImagenAR();
+ resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_unsigned_char, 0 | 0 );
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_Pui_capturarPyImageAR(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ Pui *arg1 = (Pui *) 0 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ PyObject * obj0 = 0 ;
+
+ if (!PyArg_ParseTuple(args,(char *)"O:Pui_capturarPyImageAR",&obj0)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Pui, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Pui_capturarPyImageAR" "', argument " "1"" of type '" "Pui *""'");
+ }
+ arg1 = reinterpret_cast< Pui * >(argp1);
+ {
+ binary_data bin_data = (arg1)->capturarPyImageAR();
+ int size = bin_data.size;
+ if(size==0){
+ return Py_BuildValue("");
+ }
+ /* para crear el array en un espacio de memoria compartida ya creado y pasado por parametro
+ array = (PyArrayObject *) PyArray_ContiguousFromObject(input,PyArray_UBYTE,1,1);
+ */
+
+
+ PyArrayObject *array = (PyArrayObject *) PyArray_FromDims(1, &size,PyArray_UBYTE);
+ if (array == NULL){
+ PyErr_SetString(PyExc_ValueError,"Error creando PyArray");
+ return Py_BuildValue("");
+ }
+
+ //Una vez creado el array copio la info
+ memcpy(array->data,(unsigned char *)(bin_data.data),size);
+
+ resultobj = (PyObject *)array;
+ }
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_Pui_obtenerImagenDebugAR(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ Pui *arg1 = (Pui *) 0 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ PyObject * obj0 = 0 ;
+ unsigned char *result = 0 ;
+
+ if (!PyArg_ParseTuple(args,(char *)"O:Pui_obtenerImagenDebugAR",&obj0)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Pui, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Pui_obtenerImagenDebugAR" "', argument " "1"" of type '" "Pui *""'");
+ }
+ arg1 = reinterpret_cast< Pui * >(argp1);
+ result = (unsigned char *)(arg1)->obtenerImagenDebugAR();
+ resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_unsigned_char, 0 | 0 );
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_Pui_initPropiedadesCalibracionSoloApuntador__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ Pui *arg1 = (Pui *) 0 ;
+ int arg2 ;
+ RangosColorApuntador arg3 ;
+ int arg4 ;
+ int arg5 ;
+ int arg6 ;
+ int arg7 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ int val2 ;
+ int ecode2 = 0 ;
+ void *argp3 ;
+ int res3 = 0 ;
+ int val4 ;
+ int ecode4 = 0 ;
+ int val5 ;
+ int ecode5 = 0 ;
+ int val6 ;
+ int ecode6 = 0 ;
+ int val7 ;
+ int ecode7 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+ PyObject * obj3 = 0 ;
+ PyObject * obj4 = 0 ;
+ PyObject * obj5 = 0 ;
+ PyObject * obj6 = 0 ;
+
+ if (!PyArg_ParseTuple(args,(char *)"OOOOOOO:Pui_initPropiedadesCalibracionSoloApuntador",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Pui, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Pui_initPropiedadesCalibracionSoloApuntador" "', argument " "1"" of type '" "Pui *""'");
+ }
+ arg1 = reinterpret_cast< Pui * >(argp1);
+ ecode2 = SWIG_AsVal_int(obj1, &val2);
+ if (!SWIG_IsOK(ecode2)) {
+ SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Pui_initPropiedadesCalibracionSoloApuntador" "', argument " "2"" of type '" "int""'");
+ }
+ arg2 = static_cast< int >(val2);
+ {
+ res3 = SWIG_ConvertPtr(obj2, &argp3, SWIGTYPE_p_RangosColorApuntador, 0 | 0);
+ if (!SWIG_IsOK(res3)) {
+ SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "Pui_initPropiedadesCalibracionSoloApuntador" "', argument " "3"" of type '" "RangosColorApuntador""'");
+ }
+ if (!argp3) {
+ SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "Pui_initPropiedadesCalibracionSoloApuntador" "', argument " "3"" of type '" "RangosColorApuntador""'");
+ } else {
+ RangosColorApuntador * temp = reinterpret_cast< RangosColorApuntador * >(argp3);
+ arg3 = *temp;
+ if (SWIG_IsNewObj(res3)) delete temp;
+ }
+ }
+ ecode4 = SWIG_AsVal_int(obj3, &val4);
+ if (!SWIG_IsOK(ecode4)) {
+ SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "Pui_initPropiedadesCalibracionSoloApuntador" "', argument " "4"" of type '" "int""'");
+ }
+ arg4 = static_cast< int >(val4);
+ ecode5 = SWIG_AsVal_int(obj4, &val5);
+ if (!SWIG_IsOK(ecode5)) {
+ SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "Pui_initPropiedadesCalibracionSoloApuntador" "', argument " "5"" of type '" "int""'");
+ }
+ arg5 = static_cast< int >(val5);
+ ecode6 = SWIG_AsVal_int(obj5, &val6);
+ if (!SWIG_IsOK(ecode6)) {
+ SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "Pui_initPropiedadesCalibracionSoloApuntador" "', argument " "6"" of type '" "int""'");
+ }
+ arg6 = static_cast< int >(val6);
+ ecode7 = SWIG_AsVal_int(obj6, &val7);
+ if (!SWIG_IsOK(ecode7)) {
+ SWIG_exception_fail(SWIG_ArgError(ecode7), "in method '" "Pui_initPropiedadesCalibracionSoloApuntador" "', argument " "7"" of type '" "int""'");
+ }
+ arg7 = static_cast< int >(val7);
+ (arg1)->initPropiedadesCalibracionSoloApuntador(arg2,arg3,arg4,arg5,arg6,arg7);
+ resultobj = SWIG_Py_Void();
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_Pui_initPropiedadesCalibracionSoloApuntador__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ Pui *arg1 = (Pui *) 0 ;
+ int arg2 ;
+ int arg3 ;
+ int arg4 ;
+ int arg5 ;
+ int arg6 ;
+ int arg7 ;
+ int arg8 ;
+ int arg9 ;
+ int arg10 ;
+ int arg11 ;
+ int arg12 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ int val2 ;
+ int ecode2 = 0 ;
+ int val3 ;
+ int ecode3 = 0 ;
+ int val4 ;
+ int ecode4 = 0 ;
+ int val5 ;
+ int ecode5 = 0 ;
+ int val6 ;
+ int ecode6 = 0 ;
+ int val7 ;
+ int ecode7 = 0 ;
+ int val8 ;
+ int ecode8 = 0 ;
+ int val9 ;
+ int ecode9 = 0 ;
+ int val10 ;
+ int ecode10 = 0 ;
+ int val11 ;
+ int ecode11 = 0 ;
+ int val12 ;
+ int ecode12 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+ PyObject * obj3 = 0 ;
+ PyObject * obj4 = 0 ;
+ PyObject * obj5 = 0 ;
+ PyObject * obj6 = 0 ;
+ PyObject * obj7 = 0 ;
+ PyObject * obj8 = 0 ;
+ PyObject * obj9 = 0 ;
+ PyObject * obj10 = 0 ;
+ PyObject * obj11 = 0 ;
+
+ if (!PyArg_ParseTuple(args,(char *)"OOOOOOOOOOOO:Pui_initPropiedadesCalibracionSoloApuntador",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6,&obj7,&obj8,&obj9,&obj10,&obj11)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Pui, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Pui_initPropiedadesCalibracionSoloApuntador" "', argument " "1"" of type '" "Pui *""'");
+ }
+ arg1 = reinterpret_cast< Pui * >(argp1);
+ ecode2 = SWIG_AsVal_int(obj1, &val2);
+ if (!SWIG_IsOK(ecode2)) {
+ SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Pui_initPropiedadesCalibracionSoloApuntador" "', argument " "2"" of type '" "int""'");
+ }
+ arg2 = static_cast< int >(val2);
+ ecode3 = SWIG_AsVal_int(obj2, &val3);
+ if (!SWIG_IsOK(ecode3)) {
+ SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "Pui_initPropiedadesCalibracionSoloApuntador" "', argument " "3"" of type '" "int""'");
+ }
+ arg3 = static_cast< int >(val3);
+ ecode4 = SWIG_AsVal_int(obj3, &val4);
+ if (!SWIG_IsOK(ecode4)) {
+ SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "Pui_initPropiedadesCalibracionSoloApuntador" "', argument " "4"" of type '" "int""'");
+ }
+ arg4 = static_cast< int >(val4);
+ ecode5 = SWIG_AsVal_int(obj4, &val5);
+ if (!SWIG_IsOK(ecode5)) {
+ SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "Pui_initPropiedadesCalibracionSoloApuntador" "', argument " "5"" of type '" "int""'");
+ }
+ arg5 = static_cast< int >(val5);
+ ecode6 = SWIG_AsVal_int(obj5, &val6);
+ if (!SWIG_IsOK(ecode6)) {
+ SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "Pui_initPropiedadesCalibracionSoloApuntador" "', argument " "6"" of type '" "int""'");
+ }
+ arg6 = static_cast< int >(val6);
+ ecode7 = SWIG_AsVal_int(obj6, &val7);
+ if (!SWIG_IsOK(ecode7)) {
+ SWIG_exception_fail(SWIG_ArgError(ecode7), "in method '" "Pui_initPropiedadesCalibracionSoloApuntador" "', argument " "7"" of type '" "int""'");
+ }
+ arg7 = static_cast< int >(val7);
+ ecode8 = SWIG_AsVal_int(obj7, &val8);
+ if (!SWIG_IsOK(ecode8)) {
+ SWIG_exception_fail(SWIG_ArgError(ecode8), "in method '" "Pui_initPropiedadesCalibracionSoloApuntador" "', argument " "8"" of type '" "int""'");
+ }
+ arg8 = static_cast< int >(val8);
+ ecode9 = SWIG_AsVal_int(obj8, &val9);
+ if (!SWIG_IsOK(ecode9)) {
+ SWIG_exception_fail(SWIG_ArgError(ecode9), "in method '" "Pui_initPropiedadesCalibracionSoloApuntador" "', argument " "9"" of type '" "int""'");
+ }
+ arg9 = static_cast< int >(val9);
+ ecode10 = SWIG_AsVal_int(obj9, &val10);
+ if (!SWIG_IsOK(ecode10)) {
+ SWIG_exception_fail(SWIG_ArgError(ecode10), "in method '" "Pui_initPropiedadesCalibracionSoloApuntador" "', argument " "10"" of type '" "int""'");
+ }
+ arg10 = static_cast< int >(val10);
+ ecode11 = SWIG_AsVal_int(obj10, &val11);
+ if (!SWIG_IsOK(ecode11)) {
+ SWIG_exception_fail(SWIG_ArgError(ecode11), "in method '" "Pui_initPropiedadesCalibracionSoloApuntador" "', argument " "11"" of type '" "int""'");
+ }
+ arg11 = static_cast< int >(val11);
+ ecode12 = SWIG_AsVal_int(obj11, &val12);
+ if (!SWIG_IsOK(ecode12)) {
+ SWIG_exception_fail(SWIG_ArgError(ecode12), "in method '" "Pui_initPropiedadesCalibracionSoloApuntador" "', argument " "12"" of type '" "int""'");
+ }
+ arg12 = static_cast< int >(val12);
+ (arg1)->initPropiedadesCalibracionSoloApuntador(arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10,arg11,arg12);
+ resultobj = SWIG_Py_Void();
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_Pui_initPropiedadesCalibracionSoloApuntador(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[13];
+ int ii;
+
+ if (!PyTuple_Check(args)) SWIG_fail;
+ argc = (int)PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 12); ii++) {
+ argv[ii] = PyTuple_GET_ITEM(args,ii);
+ }
+ if (argc == 7) {
+ int _v;
+ void *vptr = 0;
+ int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_Pui, 0);
+ _v = SWIG_CheckState(res);
+ if (_v) {
+ {
+ int res = SWIG_AsVal_int(argv[1], NULL);
+ _v = SWIG_CheckState(res);
+ }
+ if (_v) {
+ int res = SWIG_ConvertPtr(argv[2], 0, SWIGTYPE_p_RangosColorApuntador, 0);
+ _v = SWIG_CheckState(res);
+ if (_v) {
+ {
+ int res = SWIG_AsVal_int(argv[3], NULL);
+ _v = SWIG_CheckState(res);
+ }
+ if (_v) {
+ {
+ int res = SWIG_AsVal_int(argv[4], NULL);
+ _v = SWIG_CheckState(res);
+ }
+ if (_v) {
+ {
+ int res = SWIG_AsVal_int(argv[5], NULL);
+ _v = SWIG_CheckState(res);
+ }
+ if (_v) {
+ {
+ int res = SWIG_AsVal_int(argv[6], NULL);
+ _v = SWIG_CheckState(res);
+ }
+ if (_v) {
+ return _wrap_Pui_initPropiedadesCalibracionSoloApuntador__SWIG_0(self, args);
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ if (argc == 12) {
+ int _v;
+ void *vptr = 0;
+ int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_Pui, 0);
+ _v = SWIG_CheckState(res);
+ if (_v) {
+ {
+ int res = SWIG_AsVal_int(argv[1], NULL);
+ _v = SWIG_CheckState(res);
+ }
+ if (_v) {
+ {
+ int res = SWIG_AsVal_int(argv[2], NULL);
+ _v = SWIG_CheckState(res);
+ }
+ if (_v) {
+ {
+ int res = SWIG_AsVal_int(argv[3], NULL);
+ _v = SWIG_CheckState(res);
+ }
+ if (_v) {
+ {
+ int res = SWIG_AsVal_int(argv[4], NULL);
+ _v = SWIG_CheckState(res);
+ }
+ if (_v) {
+ {
+ int res = SWIG_AsVal_int(argv[5], NULL);
+ _v = SWIG_CheckState(res);
+ }
+ if (_v) {
+ {
+ int res = SWIG_AsVal_int(argv[6], NULL);
+ _v = SWIG_CheckState(res);
+ }
+ if (_v) {
+ {
+ int res = SWIG_AsVal_int(argv[7], NULL);
+ _v = SWIG_CheckState(res);
+ }
+ if (_v) {
+ {
+ int res = SWIG_AsVal_int(argv[8], NULL);
+ _v = SWIG_CheckState(res);
+ }
+ if (_v) {
+ {
+ int res = SWIG_AsVal_int(argv[9], NULL);
+ _v = SWIG_CheckState(res);
+ }
+ if (_v) {
+ {
+ int res = SWIG_AsVal_int(argv[10], NULL);
+ _v = SWIG_CheckState(res);
+ }
+ if (_v) {
+ {
+ int res = SWIG_AsVal_int(argv[11], NULL);
+ _v = SWIG_CheckState(res);
+ }
+ if (_v) {
+ return _wrap_Pui_initPropiedadesCalibracionSoloApuntador__SWIG_1(self, args);
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+
+fail:
+ SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'Pui_initPropiedadesCalibracionSoloApuntador'.\n"
+ " Possible C/C++ prototypes are:\n"
+ " initPropiedadesCalibracionSoloApuntador(Pui *,int,RangosColorApuntador,int,int,int,int)\n"
+ " initPropiedadesCalibracionSoloApuntador(Pui *,int,int,int,int,int,int,int,int,int,int,int)\n");
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_Pui_aplicarNuevaMascaraCalibrador(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ Pui *arg1 = (Pui *) 0 ;
+ int arg2 ;
+ int arg3 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ int val2 ;
+ int ecode2 = 0 ;
+ int val3 ;
+ int ecode3 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+ int result;
+
+ if (!PyArg_ParseTuple(args,(char *)"OOO:Pui_aplicarNuevaMascaraCalibrador",&obj0,&obj1,&obj2)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Pui, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Pui_aplicarNuevaMascaraCalibrador" "', argument " "1"" of type '" "Pui *""'");
+ }
+ arg1 = reinterpret_cast< Pui * >(argp1);
+ ecode2 = SWIG_AsVal_int(obj1, &val2);
+ if (!SWIG_IsOK(ecode2)) {
+ SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Pui_aplicarNuevaMascaraCalibrador" "', argument " "2"" of type '" "int""'");
+ }
+ arg2 = static_cast< int >(val2);
+ ecode3 = SWIG_AsVal_int(obj2, &val3);
+ if (!SWIG_IsOK(ecode3)) {
+ SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "Pui_aplicarNuevaMascaraCalibrador" "', argument " "3"" of type '" "int""'");
+ }
+ arg3 = static_cast< int >(val3);
+ result = (int)(arg1)->aplicarNuevaMascaraCalibrador(arg2,arg3);
+ resultobj = SWIG_From_int(static_cast< int >(result));
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_Pui_aplicarMascaraCalibrador(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ Pui *arg1 = (Pui *) 0 ;
+ int arg2 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ int val2 ;
+ int ecode2 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ int result;
+
+ if (!PyArg_ParseTuple(args,(char *)"OO:Pui_aplicarMascaraCalibrador",&obj0,&obj1)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Pui, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Pui_aplicarMascaraCalibrador" "', argument " "1"" of type '" "Pui *""'");
+ }
+ arg1 = reinterpret_cast< Pui * >(argp1);
+ ecode2 = SWIG_AsVal_int(obj1, &val2);
+ if (!SWIG_IsOK(ecode2)) {
+ SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Pui_aplicarMascaraCalibrador" "', argument " "2"" of type '" "int""'");
+ }
+ arg2 = static_cast< int >(val2);
+ result = (int)(arg1)->aplicarMascaraCalibrador(arg2);
+ resultobj = SWIG_From_int(static_cast< int >(result));
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_Pui_setAchicarRadioMascaraCircular(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ Pui *arg1 = (Pui *) 0 ;
+ int arg2 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ int val2 ;
+ int ecode2 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if (!PyArg_ParseTuple(args,(char *)"OO:Pui_setAchicarRadioMascaraCircular",&obj0,&obj1)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Pui, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Pui_setAchicarRadioMascaraCircular" "', argument " "1"" of type '" "Pui *""'");
+ }
+ arg1 = reinterpret_cast< Pui * >(argp1);
+ ecode2 = SWIG_AsVal_int(obj1, &val2);
+ if (!SWIG_IsOK(ecode2)) {
+ SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Pui_setAchicarRadioMascaraCircular" "', argument " "2"" of type '" "int""'");
+ }
+ arg2 = static_cast< int >(val2);
+ (arg1)->setAchicarRadioMascaraCircular(arg2);
+ resultobj = SWIG_Py_Void();
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_Pui_getAchicarRadioMascaraCircular(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ Pui *arg1 = (Pui *) 0 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ PyObject * obj0 = 0 ;
+ int result;
+
+ if (!PyArg_ParseTuple(args,(char *)"O:Pui_getAchicarRadioMascaraCircular",&obj0)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Pui, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Pui_getAchicarRadioMascaraCircular" "', argument " "1"" of type '" "Pui *""'");
+ }
+ arg1 = reinterpret_cast< Pui * >(argp1);
+ result = (int)(arg1)->getAchicarRadioMascaraCircular();
+ resultobj = SWIG_From_int(static_cast< int >(result));
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_Pui_getCalibrationImage(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ Pui *arg1 = (Pui *) 0 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ PyObject * obj0 = 0 ;
+ unsigned char *result = 0 ;
+
+ if (!PyArg_ParseTuple(args,(char *)"O:Pui_getCalibrationImage",&obj0)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Pui, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Pui_getCalibrationImage" "', argument " "1"" of type '" "Pui *""'");
+ }
+ arg1 = reinterpret_cast< Pui * >(argp1);
+ result = (unsigned char *)(arg1)->getCalibrationImage();
+ resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_unsigned_char, 0 | 0 );
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_Pui_tomarMuestraApuntador(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ Pui *arg1 = (Pui *) 0 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ PyObject * obj0 = 0 ;
+ int result;
+
+ if (!PyArg_ParseTuple(args,(char *)"O:Pui_tomarMuestraApuntador",&obj0)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Pui, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Pui_tomarMuestraApuntador" "', argument " "1"" of type '" "Pui *""'");
+ }
+ arg1 = reinterpret_cast< Pui * >(argp1);
+ result = (int)(arg1)->tomarMuestraApuntador();
+ resultobj = SWIG_From_int(static_cast< int >(result));
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_Pui_calcularResultadosCalibracionApuntador(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ Pui *arg1 = (Pui *) 0 ;
+ int arg2 ;
+ int arg3 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ int val2 ;
+ int ecode2 = 0 ;
+ int val3 ;
+ int ecode3 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+ int result;
+
+ if (!PyArg_ParseTuple(args,(char *)"OOO:Pui_calcularResultadosCalibracionApuntador",&obj0,&obj1,&obj2)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Pui, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Pui_calcularResultadosCalibracionApuntador" "', argument " "1"" of type '" "Pui *""'");
+ }
+ arg1 = reinterpret_cast< Pui * >(argp1);
+ ecode2 = SWIG_AsVal_int(obj1, &val2);
+ if (!SWIG_IsOK(ecode2)) {
+ SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Pui_calcularResultadosCalibracionApuntador" "', argument " "2"" of type '" "int""'");
+ }
+ arg2 = static_cast< int >(val2);
+ ecode3 = SWIG_AsVal_int(obj2, &val3);
+ if (!SWIG_IsOK(ecode3)) {
+ SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "Pui_calcularResultadosCalibracionApuntador" "', argument " "3"" of type '" "int""'");
+ }
+ arg3 = static_cast< int >(val3);
+ result = (int)(arg1)->calcularResultadosCalibracionApuntador(arg2,arg3);
+ resultobj = SWIG_From_int(static_cast< int >(result));
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_Pui_guardarSoloRangosColorApuntador(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ Pui *arg1 = (Pui *) 0 ;
+ char *arg2 = (char *) 0 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ int res2 ;
+ char *buf2 = 0 ;
+ int alloc2 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if (!PyArg_ParseTuple(args,(char *)"OO:Pui_guardarSoloRangosColorApuntador",&obj0,&obj1)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Pui, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Pui_guardarSoloRangosColorApuntador" "', argument " "1"" of type '" "Pui *""'");
+ }
+ arg1 = reinterpret_cast< Pui * >(argp1);
+ res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+ if (!SWIG_IsOK(res2)) {
+ SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Pui_guardarSoloRangosColorApuntador" "', argument " "2"" of type '" "char *""'");
+ }
+ arg2 = reinterpret_cast< char * >(buf2);
+ (arg1)->guardarSoloRangosColorApuntador(arg2);
+ resultobj = SWIG_Py_Void();
+ if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+ return resultobj;
+fail:
+ if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_Pui_guardarCalibracionApuntador(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ Pui *arg1 = (Pui *) 0 ;
+ char *arg2 = (char *) 0 ;
+ int arg3 ;
+ float arg4 ;
+ int arg5 ;
+ int arg6 ;
+ int arg7 ;
+ int arg8 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ int res2 ;
+ char *buf2 = 0 ;
+ int alloc2 = 0 ;
+ int val3 ;
+ int ecode3 = 0 ;
+ float val4 ;
+ int ecode4 = 0 ;
+ int val5 ;
+ int ecode5 = 0 ;
+ int val6 ;
+ int ecode6 = 0 ;
+ int val7 ;
+ int ecode7 = 0 ;
+ int val8 ;
+ int ecode8 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+ PyObject * obj3 = 0 ;
+ PyObject * obj4 = 0 ;
+ PyObject * obj5 = 0 ;
+ PyObject * obj6 = 0 ;
+ PyObject * obj7 = 0 ;
+
+ if (!PyArg_ParseTuple(args,(char *)"OOOOOOOO:Pui_guardarCalibracionApuntador",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6,&obj7)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Pui, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Pui_guardarCalibracionApuntador" "', argument " "1"" of type '" "Pui *""'");
+ }
+ arg1 = reinterpret_cast< Pui * >(argp1);
+ res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+ if (!SWIG_IsOK(res2)) {
+ SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Pui_guardarCalibracionApuntador" "', argument " "2"" of type '" "char *""'");
+ }
+ arg2 = reinterpret_cast< char * >(buf2);
+ ecode3 = SWIG_AsVal_int(obj2, &val3);
+ if (!SWIG_IsOK(ecode3)) {
+ SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "Pui_guardarCalibracionApuntador" "', argument " "3"" of type '" "int""'");
+ }
+ arg3 = static_cast< int >(val3);
+ ecode4 = SWIG_AsVal_float(obj3, &val4);
+ if (!SWIG_IsOK(ecode4)) {
+ SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "Pui_guardarCalibracionApuntador" "', argument " "4"" of type '" "float""'");
+ }
+ arg4 = static_cast< float >(val4);
+ ecode5 = SWIG_AsVal_int(obj4, &val5);
+ if (!SWIG_IsOK(ecode5)) {
+ SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "Pui_guardarCalibracionApuntador" "', argument " "5"" of type '" "int""'");
+ }
+ arg5 = static_cast< int >(val5);
+ ecode6 = SWIG_AsVal_int(obj5, &val6);
+ if (!SWIG_IsOK(ecode6)) {
+ SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "Pui_guardarCalibracionApuntador" "', argument " "6"" of type '" "int""'");
+ }
+ arg6 = static_cast< int >(val6);
+ ecode7 = SWIG_AsVal_int(obj6, &val7);
+ if (!SWIG_IsOK(ecode7)) {
+ SWIG_exception_fail(SWIG_ArgError(ecode7), "in method '" "Pui_guardarCalibracionApuntador" "', argument " "7"" of type '" "int""'");
+ }
+ arg7 = static_cast< int >(val7);
+ ecode8 = SWIG_AsVal_int(obj7, &val8);
+ if (!SWIG_IsOK(ecode8)) {
+ SWIG_exception_fail(SWIG_ArgError(ecode8), "in method '" "Pui_guardarCalibracionApuntador" "', argument " "8"" of type '" "int""'");
+ }
+ arg8 = static_cast< int >(val8);
+ (arg1)->guardarCalibracionApuntador(arg2,arg3,arg4,arg5,arg6,arg7,arg8);
+ resultobj = SWIG_Py_Void();
+ if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+ return resultobj;
+fail:
+ if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_Pui_setDebugCalibracion(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ Pui *arg1 = (Pui *) 0 ;
+ bool arg2 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ bool val2 ;
+ int ecode2 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if (!PyArg_ParseTuple(args,(char *)"OO:Pui_setDebugCalibracion",&obj0,&obj1)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Pui, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Pui_setDebugCalibracion" "', argument " "1"" of type '" "Pui *""'");
+ }
+ arg1 = reinterpret_cast< Pui * >(argp1);
+ ecode2 = SWIG_AsVal_bool(obj1, &val2);
+ if (!SWIG_IsOK(ecode2)) {
+ SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Pui_setDebugCalibracion" "', argument " "2"" of type '" "bool""'");
+ }
+ arg2 = static_cast< bool >(val2);
+ (arg1)->setDebugCalibracion(arg2);
+ resultobj = SWIG_Py_Void();
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_Pui_isDebugCalibracion(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ Pui *arg1 = (Pui *) 0 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ PyObject * obj0 = 0 ;
+ bool result;
+
+ if (!PyArg_ParseTuple(args,(char *)"O:Pui_isDebugCalibracion",&obj0)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Pui, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Pui_isDebugCalibracion" "', argument " "1"" of type '" "Pui *""'");
+ }
+ arg1 = reinterpret_cast< Pui * >(argp1);
+ result = (bool)(arg1)->isDebugCalibracion();
+ resultobj = SWIG_From_bool(static_cast< bool >(result));
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_Pui_getResultadosRangosColor(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ Pui *arg1 = (Pui *) 0 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ PyObject * obj0 = 0 ;
+ RangosColorApuntador result;
+
+ if (!PyArg_ParseTuple(args,(char *)"O:Pui_getResultadosRangosColor",&obj0)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Pui, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Pui_getResultadosRangosColor" "', argument " "1"" of type '" "Pui *""'");
+ }
+ arg1 = reinterpret_cast< Pui * >(argp1);
+ result = (arg1)->getResultadosRangosColor();
+ resultobj = SWIG_NewPointerObj((new RangosColorApuntador(static_cast< const RangosColorApuntador& >(result))), SWIGTYPE_p_RangosColorApuntador, SWIG_POINTER_OWN | 0 );
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_Pui_detectarYCalcularPosicionTodosMultiMarkers(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ Pui *arg1 = (Pui *) 0 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ PyObject * obj0 = 0 ;
+ int result;
+
+ if (!PyArg_ParseTuple(args,(char *)"O:Pui_detectarYCalcularPosicionTodosMultiMarkers",&obj0)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Pui, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Pui_detectarYCalcularPosicionTodosMultiMarkers" "', argument " "1"" of type '" "Pui *""'");
+ }
+ arg1 = reinterpret_cast< Pui * >(argp1);
+ result = (int)(arg1)->detectarYCalcularPosicionTodosMultiMarkers();
+ resultobj = SWIG_From_int(static_cast< int >(result));
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_Pui_detectarMarcadores(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ Pui *arg1 = (Pui *) 0 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ PyObject * obj0 = 0 ;
+ int result;
+
+ if (!PyArg_ParseTuple(args,(char *)"O:Pui_detectarMarcadores",&obj0)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Pui, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Pui_detectarMarcadores" "', argument " "1"" of type '" "Pui *""'");
+ }
+ arg1 = reinterpret_cast< Pui * >(argp1);
+ result = (int)(arg1)->detectarMarcadores();
+ resultobj = SWIG_From_int(static_cast< int >(result));
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_Pui_detectarMarcadoresSimple(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ Pui *arg1 = (Pui *) 0 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ PyObject * obj0 = 0 ;
+ int result;
+
+ if (!PyArg_ParseTuple(args,(char *)"O:Pui_detectarMarcadoresSimple",&obj0)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Pui, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Pui_detectarMarcadoresSimple" "', argument " "1"" of type '" "Pui *""'");
+ }
+ arg1 = reinterpret_cast< Pui * >(argp1);
+ result = (int)(arg1)->detectarMarcadoresSimple();
+ resultobj = SWIG_From_int(static_cast< int >(result));
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_Pui_getIdMarcadorSimpleDetectado(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ Pui *arg1 = (Pui *) 0 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ PyObject * obj0 = 0 ;
+ int result;
+
+ if (!PyArg_ParseTuple(args,(char *)"O:Pui_getIdMarcadorSimpleDetectado",&obj0)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Pui, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Pui_getIdMarcadorSimpleDetectado" "', argument " "1"" of type '" "Pui *""'");
+ }
+ arg1 = reinterpret_cast< Pui * >(argp1);
+ result = (int)(arg1)->getIdMarcadorSimpleDetectado();
+ resultobj = SWIG_From_int(static_cast< int >(result));
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_Pui_getMarcadorSimpleDetectado(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ Pui *arg1 = (Pui *) 0 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ PyObject * obj0 = 0 ;
+ ARCoordMarcador result;
+
+ if (!PyArg_ParseTuple(args,(char *)"O:Pui_getMarcadorSimpleDetectado",&obj0)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Pui, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Pui_getMarcadorSimpleDetectado" "', argument " "1"" of type '" "Pui *""'");
+ }
+ arg1 = reinterpret_cast< Pui * >(argp1);
+ result = (arg1)->getMarcadorSimpleDetectado();
+ resultobj = SWIG_NewPointerObj((new ARCoordMarcador(static_cast< const ARCoordMarcador& >(result))), SWIGTYPE_p_ARCoordMarcador, SWIG_POINTER_OWN | 0 );
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_Pui_getInfoMultiMarcador(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ Pui *arg1 = (Pui *) 0 ;
+ int arg2 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ int val2 ;
+ int ecode2 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ ARCoordMarcador result;
+
+ if (!PyArg_ParseTuple(args,(char *)"OO:Pui_getInfoMultiMarcador",&obj0,&obj1)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Pui, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Pui_getInfoMultiMarcador" "', argument " "1"" of type '" "Pui *""'");
+ }
+ arg1 = reinterpret_cast< Pui * >(argp1);
+ ecode2 = SWIG_AsVal_int(obj1, &val2);
+ if (!SWIG_IsOK(ecode2)) {
+ SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Pui_getInfoMultiMarcador" "', argument " "2"" of type '" "int""'");
+ }
+ arg2 = static_cast< int >(val2);
+ result = (arg1)->getInfoMultiMarcador(arg2);
+ resultobj = SWIG_NewPointerObj((new ARCoordMarcador(static_cast< const ARCoordMarcador& >(result))), SWIGTYPE_p_ARCoordMarcador, SWIG_POINTER_OWN | 0 );
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_Pui_setARCf(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ Pui *arg1 = (Pui *) 0 ;
+ double arg2 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ double val2 ;
+ int ecode2 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if (!PyArg_ParseTuple(args,(char *)"OO:Pui_setARCf",&obj0,&obj1)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Pui, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Pui_setARCf" "', argument " "1"" of type '" "Pui *""'");
+ }
+ arg1 = reinterpret_cast< Pui * >(argp1);
+ ecode2 = SWIG_AsVal_double(obj1, &val2);
+ if (!SWIG_IsOK(ecode2)) {
+ SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Pui_setARCf" "', argument " "2"" of type '" "double""'");
+ }
+ arg2 = static_cast< double >(val2);
+ (arg1)->setARCf(arg2);
+ resultobj = SWIG_Py_Void();
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_Pui_getARCf(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ Pui *arg1 = (Pui *) 0 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ PyObject * obj0 = 0 ;
+ double result;
+
+ if (!PyArg_ParseTuple(args,(char *)"O:Pui_getARCf",&obj0)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Pui, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Pui_getARCf" "', argument " "1"" of type '" "Pui *""'");
+ }
+ arg1 = reinterpret_cast< Pui * >(argp1);
+ result = (double)(arg1)->getARCf();
+ resultobj = SWIG_From_double(static_cast< double >(result));
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_Pui_getARThreshold(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ Pui *arg1 = (Pui *) 0 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ PyObject * obj0 = 0 ;
+ int result;
+
+ if (!PyArg_ParseTuple(args,(char *)"O:Pui_getARThreshold",&obj0)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Pui, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Pui_getARThreshold" "', argument " "1"" of type '" "Pui *""'");
+ }
+ arg1 = reinterpret_cast< Pui * >(argp1);
+ result = (int)(arg1)->getARThreshold();
+ resultobj = SWIG_From_int(static_cast< int >(result));
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_Pui_setARThreshold(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ Pui *arg1 = (Pui *) 0 ;
+ int arg2 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ int val2 ;
+ int ecode2 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if (!PyArg_ParseTuple(args,(char *)"OO:Pui_setARThreshold",&obj0,&obj1)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Pui, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Pui_setARThreshold" "', argument " "1"" of type '" "Pui *""'");
+ }
+ arg1 = reinterpret_cast< Pui * >(argp1);
+ ecode2 = SWIG_AsVal_int(obj1, &val2);
+ if (!SWIG_IsOK(ecode2)) {
+ SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Pui_setARThreshold" "', argument " "2"" of type '" "int""'");
+ }
+ arg2 = static_cast< int >(val2);
+ (arg1)->setARThreshold(arg2);
+ resultobj = SWIG_Py_Void();
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_Pui_initPuiConCapturaDeVideo__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ Pui *arg1 = (Pui *) 0 ;
+ int arg2 ;
+ PropiedadesDeteccionApuntador arg3 ;
+ RangosColorApuntador arg4 ;
+ char *arg5 = (char *) 0 ;
+ char *arg6 = (char *) 0 ;
+ char *arg7 = (char *) 0 ;
+ int arg8 ;
+ int arg9 ;
+ double arg10 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ int val2 ;
+ int ecode2 = 0 ;
+ void *argp3 ;
+ int res3 = 0 ;
+ void *argp4 ;
+ int res4 = 0 ;
+ int res5 ;
+ char *buf5 = 0 ;
+ int alloc5 = 0 ;
+ int res6 ;
+ char *buf6 = 0 ;
+ int alloc6 = 0 ;
+ int res7 ;
+ char *buf7 = 0 ;
+ int alloc7 = 0 ;
+ int val8 ;
+ int ecode8 = 0 ;
+ int val9 ;
+ int ecode9 = 0 ;
+ double val10 ;
+ int ecode10 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+ PyObject * obj3 = 0 ;
+ PyObject * obj4 = 0 ;
+ PyObject * obj5 = 0 ;
+ PyObject * obj6 = 0 ;
+ PyObject * obj7 = 0 ;
+ PyObject * obj8 = 0 ;
+ PyObject * obj9 = 0 ;
+
+ if (!PyArg_ParseTuple(args,(char *)"OOOOOOOOOO:Pui_initPuiConCapturaDeVideo",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6,&obj7,&obj8,&obj9)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Pui, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Pui_initPuiConCapturaDeVideo" "', argument " "1"" of type '" "Pui *""'");
+ }
+ arg1 = reinterpret_cast< Pui * >(argp1);
+ ecode2 = SWIG_AsVal_int(obj1, &val2);
+ if (!SWIG_IsOK(ecode2)) {
+ SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Pui_initPuiConCapturaDeVideo" "', argument " "2"" of type '" "int""'");
+ }
+ arg2 = static_cast< int >(val2);
+ {
+ res3 = SWIG_ConvertPtr(obj2, &argp3, SWIGTYPE_p_PropiedadesDeteccionApuntador, 0 | 0);
+ if (!SWIG_IsOK(res3)) {
+ SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "Pui_initPuiConCapturaDeVideo" "', argument " "3"" of type '" "PropiedadesDeteccionApuntador""'");
+ }
+ if (!argp3) {
+ SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "Pui_initPuiConCapturaDeVideo" "', argument " "3"" of type '" "PropiedadesDeteccionApuntador""'");
+ } else {
+ PropiedadesDeteccionApuntador * temp = reinterpret_cast< PropiedadesDeteccionApuntador * >(argp3);
+ arg3 = *temp;
+ if (SWIG_IsNewObj(res3)) delete temp;
+ }
+ }
+ {
+ res4 = SWIG_ConvertPtr(obj3, &argp4, SWIGTYPE_p_RangosColorApuntador, 0 | 0);
+ if (!SWIG_IsOK(res4)) {
+ SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "Pui_initPuiConCapturaDeVideo" "', argument " "4"" of type '" "RangosColorApuntador""'");
+ }
+ if (!argp4) {
+ SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "Pui_initPuiConCapturaDeVideo" "', argument " "4"" of type '" "RangosColorApuntador""'");
+ } else {
+ RangosColorApuntador * temp = reinterpret_cast< RangosColorApuntador * >(argp4);
+ arg4 = *temp;
+ if (SWIG_IsNewObj(res4)) delete temp;
+ }
+ }
+ res5 = SWIG_AsCharPtrAndSize(obj4, &buf5, NULL, &alloc5);
+ if (!SWIG_IsOK(res5)) {
+ SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "Pui_initPuiConCapturaDeVideo" "', argument " "5"" of type '" "char *""'");
+ }
+ arg5 = reinterpret_cast< char * >(buf5);
+ res6 = SWIG_AsCharPtrAndSize(obj5, &buf6, NULL, &alloc6);
+ if (!SWIG_IsOK(res6)) {
+ SWIG_exception_fail(SWIG_ArgError(res6), "in method '" "Pui_initPuiConCapturaDeVideo" "', argument " "6"" of type '" "char *""'");
+ }
+ arg6 = reinterpret_cast< char * >(buf6);
+ res7 = SWIG_AsCharPtrAndSize(obj6, &buf7, NULL, &alloc7);
+ if (!SWIG_IsOK(res7)) {
+ SWIG_exception_fail(SWIG_ArgError(res7), "in method '" "Pui_initPuiConCapturaDeVideo" "', argument " "7"" of type '" "char *""'");
+ }
+ arg7 = reinterpret_cast< char * >(buf7);
+ ecode8 = SWIG_AsVal_int(obj7, &val8);
+ if (!SWIG_IsOK(ecode8)) {
+ SWIG_exception_fail(SWIG_ArgError(ecode8), "in method '" "Pui_initPuiConCapturaDeVideo" "', argument " "8"" of type '" "int""'");
+ }
+ arg8 = static_cast< int >(val8);
+ ecode9 = SWIG_AsVal_int(obj8, &val9);
+ if (!SWIG_IsOK(ecode9)) {
+ SWIG_exception_fail(SWIG_ArgError(ecode9), "in method '" "Pui_initPuiConCapturaDeVideo" "', argument " "9"" of type '" "int""'");
+ }
+ arg9 = static_cast< int >(val9);
+ ecode10 = SWIG_AsVal_double(obj9, &val10);
+ if (!SWIG_IsOK(ecode10)) {
+ SWIG_exception_fail(SWIG_ArgError(ecode10), "in method '" "Pui_initPuiConCapturaDeVideo" "', argument " "10"" of type '" "double""'");
+ }
+ arg10 = static_cast< double >(val10);
+ (arg1)->initPuiConCapturaDeVideo(arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10);
+ resultobj = SWIG_Py_Void();
+ if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+ if (alloc6 == SWIG_NEWOBJ) delete[] buf6;
+ if (alloc7 == SWIG_NEWOBJ) delete[] buf7;
+ return resultobj;
+fail:
+ if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+ if (alloc6 == SWIG_NEWOBJ) delete[] buf6;
+ if (alloc7 == SWIG_NEWOBJ) delete[] buf7;
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_Pui_initPuiConCapturaDeVideo__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ Pui *arg1 = (Pui *) 0 ;
+ int arg2 ;
+ char *arg3 = (char *) 0 ;
+ char *arg4 = (char *) 0 ;
+ char *arg5 = (char *) 0 ;
+ char *arg6 = (char *) 0 ;
+ int arg7 ;
+ int arg8 ;
+ double arg9 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ int val2 ;
+ int ecode2 = 0 ;
+ int res3 ;
+ char *buf3 = 0 ;
+ int alloc3 = 0 ;
+ int res4 ;
+ char *buf4 = 0 ;
+ int alloc4 = 0 ;
+ int res5 ;
+ char *buf5 = 0 ;
+ int alloc5 = 0 ;
+ int res6 ;
+ char *buf6 = 0 ;
+ int alloc6 = 0 ;
+ int val7 ;
+ int ecode7 = 0 ;
+ int val8 ;
+ int ecode8 = 0 ;
+ double val9 ;
+ int ecode9 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+ PyObject * obj3 = 0 ;
+ PyObject * obj4 = 0 ;
+ PyObject * obj5 = 0 ;
+ PyObject * obj6 = 0 ;
+ PyObject * obj7 = 0 ;
+ PyObject * obj8 = 0 ;
+
+ if (!PyArg_ParseTuple(args,(char *)"OOOOOOOOO:Pui_initPuiConCapturaDeVideo",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6,&obj7,&obj8)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Pui, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Pui_initPuiConCapturaDeVideo" "', argument " "1"" of type '" "Pui *""'");
+ }
+ arg1 = reinterpret_cast< Pui * >(argp1);
+ ecode2 = SWIG_AsVal_int(obj1, &val2);
+ if (!SWIG_IsOK(ecode2)) {
+ SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Pui_initPuiConCapturaDeVideo" "', argument " "2"" of type '" "int""'");
+ }
+ arg2 = static_cast< int >(val2);
+ res3 = SWIG_AsCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+ if (!SWIG_IsOK(res3)) {
+ SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "Pui_initPuiConCapturaDeVideo" "', argument " "3"" of type '" "char *""'");
+ }
+ arg3 = reinterpret_cast< char * >(buf3);
+ res4 = SWIG_AsCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+ if (!SWIG_IsOK(res4)) {
+ SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "Pui_initPuiConCapturaDeVideo" "', argument " "4"" of type '" "char *""'");
+ }
+ arg4 = reinterpret_cast< char * >(buf4);
+ res5 = SWIG_AsCharPtrAndSize(obj4, &buf5, NULL, &alloc5);
+ if (!SWIG_IsOK(res5)) {
+ SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "Pui_initPuiConCapturaDeVideo" "', argument " "5"" of type '" "char *""'");
+ }
+ arg5 = reinterpret_cast< char * >(buf5);
+ res6 = SWIG_AsCharPtrAndSize(obj5, &buf6, NULL, &alloc6);
+ if (!SWIG_IsOK(res6)) {
+ SWIG_exception_fail(SWIG_ArgError(res6), "in method '" "Pui_initPuiConCapturaDeVideo" "', argument " "6"" of type '" "char *""'");
+ }
+ arg6 = reinterpret_cast< char * >(buf6);
+ ecode7 = SWIG_AsVal_int(obj6, &val7);
+ if (!SWIG_IsOK(ecode7)) {
+ SWIG_exception_fail(SWIG_ArgError(ecode7), "in method '" "Pui_initPuiConCapturaDeVideo" "', argument " "7"" of type '" "int""'");
+ }
+ arg7 = static_cast< int >(val7);
+ ecode8 = SWIG_AsVal_int(obj7, &val8);
+ if (!SWIG_IsOK(ecode8)) {
+ SWIG_exception_fail(SWIG_ArgError(ecode8), "in method '" "Pui_initPuiConCapturaDeVideo" "', argument " "8"" of type '" "int""'");
+ }
+ arg8 = static_cast< int >(val8);
+ ecode9 = SWIG_AsVal_double(obj8, &val9);
+ if (!SWIG_IsOK(ecode9)) {
+ SWIG_exception_fail(SWIG_ArgError(ecode9), "in method '" "Pui_initPuiConCapturaDeVideo" "', argument " "9"" of type '" "double""'");
+ }
+ arg9 = static_cast< double >(val9);
+ (arg1)->initPuiConCapturaDeVideo(arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9);
+ resultobj = SWIG_Py_Void();
+ if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+ if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+ if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+ if (alloc6 == SWIG_NEWOBJ) delete[] buf6;
+ return resultobj;
+fail:
+ if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+ if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+ if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+ if (alloc6 == SWIG_NEWOBJ) delete[] buf6;
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_Pui_initPuiConCapturaDeVideo(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[11];
+ int ii;
+
+ if (!PyTuple_Check(args)) SWIG_fail;
+ argc = (int)PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 10); ii++) {
+ argv[ii] = PyTuple_GET_ITEM(args,ii);
+ }
+ if (argc == 9) {
+ int _v;
+ void *vptr = 0;
+ int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_Pui, 0);
+ _v = SWIG_CheckState(res);
+ if (_v) {
+ {
+ int res = SWIG_AsVal_int(argv[1], NULL);
+ _v = SWIG_CheckState(res);
+ }
+ if (_v) {
+ int res = SWIG_AsCharPtrAndSize(argv[2], 0, NULL, 0);
+ _v = SWIG_CheckState(res);
+ if (_v) {
+ int res = SWIG_AsCharPtrAndSize(argv[3], 0, NULL, 0);
+ _v = SWIG_CheckState(res);
+ if (_v) {
+ int res = SWIG_AsCharPtrAndSize(argv[4], 0, NULL, 0);
+ _v = SWIG_CheckState(res);
+ if (_v) {
+ int res = SWIG_AsCharPtrAndSize(argv[5], 0, NULL, 0);
+ _v = SWIG_CheckState(res);
+ if (_v) {
+ {
+ int res = SWIG_AsVal_int(argv[6], NULL);
+ _v = SWIG_CheckState(res);
+ }
+ if (_v) {
+ {
+ int res = SWIG_AsVal_int(argv[7], NULL);
+ _v = SWIG_CheckState(res);
+ }
+ if (_v) {
+ {
+ int res = SWIG_AsVal_double(argv[8], NULL);
+ _v = SWIG_CheckState(res);
+ }
+ if (_v) {
+ return _wrap_Pui_initPuiConCapturaDeVideo__SWIG_1(self, args);
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ if (argc == 10) {
+ int _v;
+ void *vptr = 0;
+ int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_Pui, 0);
+ _v = SWIG_CheckState(res);
+ if (_v) {
+ {
+ int res = SWIG_AsVal_int(argv[1], NULL);
+ _v = SWIG_CheckState(res);
+ }
+ if (_v) {
+ int res = SWIG_ConvertPtr(argv[2], 0, SWIGTYPE_p_PropiedadesDeteccionApuntador, 0);
+ _v = SWIG_CheckState(res);
+ if (_v) {
+ int res = SWIG_ConvertPtr(argv[3], 0, SWIGTYPE_p_RangosColorApuntador, 0);
+ _v = SWIG_CheckState(res);
+ if (_v) {
+ int res = SWIG_AsCharPtrAndSize(argv[4], 0, NULL, 0);
+ _v = SWIG_CheckState(res);
+ if (_v) {
+ int res = SWIG_AsCharPtrAndSize(argv[5], 0, NULL, 0);
+ _v = SWIG_CheckState(res);
+ if (_v) {
+ int res = SWIG_AsCharPtrAndSize(argv[6], 0, NULL, 0);
+ _v = SWIG_CheckState(res);
+ if (_v) {
+ {
+ int res = SWIG_AsVal_int(argv[7], NULL);
+ _v = SWIG_CheckState(res);
+ }
+ if (_v) {
+ {
+ int res = SWIG_AsVal_int(argv[8], NULL);
+ _v = SWIG_CheckState(res);
+ }
+ if (_v) {
+ {
+ int res = SWIG_AsVal_double(argv[9], NULL);
+ _v = SWIG_CheckState(res);
+ }
+ if (_v) {
+ return _wrap_Pui_initPuiConCapturaDeVideo__SWIG_0(self, args);
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+
+fail:
+ SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'Pui_initPuiConCapturaDeVideo'.\n"
+ " Possible C/C++ prototypes are:\n"
+ " initPuiConCapturaDeVideo(Pui *,int,PropiedadesDeteccionApuntador,RangosColorApuntador,char *,char *,char *,int,int,double)\n"
+ " initPuiConCapturaDeVideo(Pui *,int,char *,char *,char *,char *,int,int,double)\n");
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_Pui_setDebugConImagenes(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ Pui *arg1 = (Pui *) 0 ;
+ int arg2 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ int val2 ;
+ int ecode2 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if (!PyArg_ParseTuple(args,(char *)"OO:Pui_setDebugConImagenes",&obj0,&obj1)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Pui, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Pui_setDebugConImagenes" "', argument " "1"" of type '" "Pui *""'");
+ }
+ arg1 = reinterpret_cast< Pui * >(argp1);
+ ecode2 = SWIG_AsVal_int(obj1, &val2);
+ if (!SWIG_IsOK(ecode2)) {
+ SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Pui_setDebugConImagenes" "', argument " "2"" of type '" "int""'");
+ }
+ arg2 = static_cast< int >(val2);
+ (arg1)->setDebugConImagenes(arg2);
+ resultobj = SWIG_Py_Void();
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_Pui_getDebugConImagenes(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ Pui *arg1 = (Pui *) 0 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ PyObject * obj0 = 0 ;
+ int result;
+
+ if (!PyArg_ParseTuple(args,(char *)"O:Pui_getDebugConImagenes",&obj0)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Pui, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Pui_getDebugConImagenes" "', argument " "1"" of type '" "Pui *""'");
+ }
+ arg1 = reinterpret_cast< Pui * >(argp1);
+ result = (int)(arg1)->getDebugConImagenes();
+ resultobj = SWIG_From_int(static_cast< int >(result));
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_Pui_habilitarHistorico(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ Pui *arg1 = (Pui *) 0 ;
+ bool arg2 ;
+ int arg3 ;
+ int arg4 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ bool val2 ;
+ int ecode2 = 0 ;
+ int val3 ;
+ int ecode3 = 0 ;
+ int val4 ;
+ int ecode4 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+ PyObject * obj3 = 0 ;
+
+ if (!PyArg_ParseTuple(args,(char *)"OOOO:Pui_habilitarHistorico",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Pui, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Pui_habilitarHistorico" "', argument " "1"" of type '" "Pui *""'");
+ }
+ arg1 = reinterpret_cast< Pui * >(argp1);
+ ecode2 = SWIG_AsVal_bool(obj1, &val2);
+ if (!SWIG_IsOK(ecode2)) {
+ SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Pui_habilitarHistorico" "', argument " "2"" of type '" "bool""'");
+ }
+ arg2 = static_cast< bool >(val2);
+ ecode3 = SWIG_AsVal_int(obj2, &val3);
+ if (!SWIG_IsOK(ecode3)) {
+ SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "Pui_habilitarHistorico" "', argument " "3"" of type '" "int""'");
+ }
+ arg3 = static_cast< int >(val3);
+ ecode4 = SWIG_AsVal_int(obj3, &val4);
+ if (!SWIG_IsOK(ecode4)) {
+ SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "Pui_habilitarHistorico" "', argument " "4"" of type '" "int""'");
+ }
+ arg4 = static_cast< int >(val4);
+ (arg1)->habilitarHistorico(arg2,arg3,arg4);
+ resultobj = SWIG_Py_Void();
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_Pui_isHistoricoHabilitado(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ Pui *arg1 = (Pui *) 0 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ PyObject * obj0 = 0 ;
+ bool result;
+
+ if (!PyArg_ParseTuple(args,(char *)"O:Pui_isHistoricoHabilitado",&obj0)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Pui, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Pui_isHistoricoHabilitado" "', argument " "1"" of type '" "Pui *""'");
+ }
+ arg1 = reinterpret_cast< Pui * >(argp1);
+ result = (bool)(arg1)->isHistoricoHabilitado();
+ resultobj = SWIG_From_bool(static_cast< bool >(result));
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_Pui_finish(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ Pui *arg1 = (Pui *) 0 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ PyObject * obj0 = 0 ;
+
+ if (!PyArg_ParseTuple(args,(char *)"O:Pui_finish",&obj0)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Pui, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Pui_finish" "', argument " "1"" of type '" "Pui *""'");
+ }
+ arg1 = reinterpret_cast< Pui * >(argp1);
+ (arg1)->finish();
+ resultobj = SWIG_Py_Void();
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_Pui_getFPSAndResetCount(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ Pui *arg1 = (Pui *) 0 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ PyObject * obj0 = 0 ;
+ double result;
+
+ if (!PyArg_ParseTuple(args,(char *)"O:Pui_getFPSAndResetCount",&obj0)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Pui, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Pui_getFPSAndResetCount" "', argument " "1"" of type '" "Pui *""'");
+ }
+ arg1 = reinterpret_cast< Pui * >(argp1);
+ result = (double)(arg1)->getFPSAndResetCount();
+ resultobj = SWIG_From_double(static_cast< double >(result));
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_Pui_getFPS(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ Pui *arg1 = (Pui *) 0 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ PyObject * obj0 = 0 ;
+ double result;
+
+ if (!PyArg_ParseTuple(args,(char *)"O:Pui_getFPS",&obj0)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Pui, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Pui_getFPS" "', argument " "1"" of type '" "Pui *""'");
+ }
+ arg1 = reinterpret_cast< Pui * >(argp1);
+ result = (double)(arg1)->getFPS();
+ resultobj = SWIG_From_double(static_cast< double >(result));
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_Pui_getModuleInfo(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ Pui *arg1 = (Pui *) 0 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ PyObject * obj0 = 0 ;
+ char *result = 0 ;
+
+ if (!PyArg_ParseTuple(args,(char *)"O:Pui_getModuleInfo",&obj0)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Pui, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Pui_getModuleInfo" "', argument " "1"" of type '" "Pui *""'");
+ }
+ arg1 = reinterpret_cast< Pui * >(argp1);
+ result = (char *)(arg1)->getModuleInfo();
+ resultobj = SWIG_FromCharPtr((const char *)result);
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_Pui_setDebugMode(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ Pui *arg1 = (Pui *) 0 ;
+ int arg2 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ int val2 ;
+ int ecode2 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if (!PyArg_ParseTuple(args,(char *)"OO:Pui_setDebugMode",&obj0,&obj1)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Pui, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Pui_setDebugMode" "', argument " "1"" of type '" "Pui *""'");
+ }
+ arg1 = reinterpret_cast< Pui * >(argp1);
+ ecode2 = SWIG_AsVal_int(obj1, &val2);
+ if (!SWIG_IsOK(ecode2)) {
+ SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Pui_setDebugMode" "', argument " "2"" of type '" "int""'");
+ }
+ arg2 = static_cast< int >(val2);
+ (arg1)->setDebugMode(arg2);
+ resultobj = SWIG_Py_Void();
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_Pui_getDebugMode(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ Pui *arg1 = (Pui *) 0 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ PyObject * obj0 = 0 ;
+ int result;
+
+ if (!PyArg_ParseTuple(args,(char *)"O:Pui_getDebugMode",&obj0)) SWIG_fail;
+ res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Pui, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Pui_getDebugMode" "', argument " "1"" of type '" "Pui *""'");
+ }
+ arg1 = reinterpret_cast< Pui * >(argp1);
+ result = (int)(arg1)->getDebugMode();
+ resultobj = SWIG_From_int(static_cast< int >(result));
+ return resultobj;
+fail:
+ return NULL;
+}
+
+
+SWIGINTERN PyObject *Pui_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *obj;
+ if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+ SWIG_TypeNewClientData(SWIGTYPE_p_Pui, SWIG_NewClientData(obj));
+ return SWIG_Py_Void();
+}
+
+static PyMethodDef SwigMethods[] = {
+ { (char *)"ARCoordMarcador_area_set", _wrap_ARCoordMarcador_area_set, METH_VARARGS, NULL},
+ { (char *)"ARCoordMarcador_area_get", _wrap_ARCoordMarcador_area_get, METH_VARARGS, NULL},
+ { (char *)"ARCoordMarcador_centro_set", _wrap_ARCoordMarcador_centro_set, METH_VARARGS, NULL},
+ { (char *)"ARCoordMarcador_centro_get", _wrap_ARCoordMarcador_centro_get, METH_VARARGS, NULL},
+ { (char *)"ARCoordMarcador_vertex_set", _wrap_ARCoordMarcador_vertex_set, METH_VARARGS, NULL},
+ { (char *)"ARCoordMarcador_vertex_get", _wrap_ARCoordMarcador_vertex_get, METH_VARARGS, NULL},
+ { (char *)"ARCoordMarcador_visible_set", _wrap_ARCoordMarcador_visible_set, METH_VARARGS, NULL},
+ { (char *)"ARCoordMarcador_visible_get", _wrap_ARCoordMarcador_visible_get, METH_VARARGS, NULL},
+ { (char *)"ARCoordMarcador_id_set", _wrap_ARCoordMarcador_id_set, METH_VARARGS, NULL},
+ { (char *)"ARCoordMarcador_id_get", _wrap_ARCoordMarcador_id_get, METH_VARARGS, NULL},
+ { (char *)"ARCoordMarcador_cf_set", _wrap_ARCoordMarcador_cf_set, METH_VARARGS, NULL},
+ { (char *)"ARCoordMarcador_cf_get", _wrap_ARCoordMarcador_cf_get, METH_VARARGS, NULL},
+ { (char *)"new_ARCoordMarcador", _wrap_new_ARCoordMarcador, METH_VARARGS, NULL},
+ { (char *)"delete_ARCoordMarcador", _wrap_delete_ARCoordMarcador, METH_VARARGS, NULL},
+ { (char *)"ARCoordMarcador_swigregister", ARCoordMarcador_swigregister, METH_VARARGS, NULL},
+ { (char *)"Elemento_idPatt_set", _wrap_Elemento_idPatt_set, METH_VARARGS, NULL},
+ { (char *)"Elemento_idPatt_get", _wrap_Elemento_idPatt_get, METH_VARARGS, NULL},
+ { (char *)"Elemento_imagen_set", _wrap_Elemento_imagen_set, METH_VARARGS, NULL},
+ { (char *)"Elemento_imagen_get", _wrap_Elemento_imagen_get, METH_VARARGS, NULL},
+ { (char *)"Elemento_sonido_set", _wrap_Elemento_sonido_set, METH_VARARGS, NULL},
+ { (char *)"Elemento_sonido_get", _wrap_Elemento_sonido_get, METH_VARARGS, NULL},
+ { (char *)"Elemento_nombre_set", _wrap_Elemento_nombre_set, METH_VARARGS, NULL},
+ { (char *)"Elemento_nombre_get", _wrap_Elemento_nombre_get, METH_VARARGS, NULL},
+ { (char *)"Elemento_conjunto_set", _wrap_Elemento_conjunto_set, METH_VARARGS, NULL},
+ { (char *)"Elemento_conjunto_get", _wrap_Elemento_conjunto_get, METH_VARARGS, NULL},
+ { (char *)"Elemento_idElementoRelacionado_set", _wrap_Elemento_idElementoRelacionado_set, METH_VARARGS, NULL},
+ { (char *)"Elemento_idElementoRelacionado_get", _wrap_Elemento_idElementoRelacionado_get, METH_VARARGS, NULL},
+ { (char *)"Elemento_nombreRelacion_set", _wrap_Elemento_nombreRelacion_set, METH_VARARGS, NULL},
+ { (char *)"Elemento_nombreRelacion_get", _wrap_Elemento_nombreRelacion_get, METH_VARARGS, NULL},
+ { (char *)"Elemento_idImagenSDL_set", _wrap_Elemento_idImagenSDL_set, METH_VARARGS, NULL},
+ { (char *)"Elemento_idImagenSDL_get", _wrap_Elemento_idImagenSDL_get, METH_VARARGS, NULL},
+ { (char *)"new_Elemento", _wrap_new_Elemento, METH_VARARGS, NULL},
+ { (char *)"delete_Elemento", _wrap_delete_Elemento, METH_VARARGS, NULL},
+ { (char *)"Elemento_swigregister", Elemento_swigregister, METH_VARARGS, NULL},
+ { (char *)"Historico_tope_set", _wrap_Historico_tope_set, METH_VARARGS, NULL},
+ { (char *)"Historico_tope_get", _wrap_Historico_tope_get, METH_VARARGS, NULL},
+ { (char *)"Historico_cantHistorico_set", _wrap_Historico_cantHistorico_set, METH_VARARGS, NULL},
+ { (char *)"Historico_cantHistorico_get", _wrap_Historico_cantHistorico_get, METH_VARARGS, NULL},
+ { (char *)"Historico_historicoElementos_set", _wrap_Historico_historicoElementos_set, METH_VARARGS, NULL},
+ { (char *)"Historico_historicoElementos_get", _wrap_Historico_historicoElementos_get, METH_VARARGS, NULL},
+ { (char *)"new_Historico", _wrap_new_Historico, METH_VARARGS, NULL},
+ { (char *)"delete_Historico", _wrap_delete_Historico, METH_VARARGS, NULL},
+ { (char *)"Historico_swigregister", Historico_swigregister, METH_VARARGS, NULL},
+ { (char *)"RangosColorApuntador_hmin_set", _wrap_RangosColorApuntador_hmin_set, METH_VARARGS, NULL},
+ { (char *)"RangosColorApuntador_hmin_get", _wrap_RangosColorApuntador_hmin_get, METH_VARARGS, NULL},
+ { (char *)"RangosColorApuntador_hmax_set", _wrap_RangosColorApuntador_hmax_set, METH_VARARGS, NULL},
+ { (char *)"RangosColorApuntador_hmax_get", _wrap_RangosColorApuntador_hmax_get, METH_VARARGS, NULL},
+ { (char *)"RangosColorApuntador_smin_set", _wrap_RangosColorApuntador_smin_set, METH_VARARGS, NULL},
+ { (char *)"RangosColorApuntador_smin_get", _wrap_RangosColorApuntador_smin_get, METH_VARARGS, NULL},
+ { (char *)"RangosColorApuntador_smax_set", _wrap_RangosColorApuntador_smax_set, METH_VARARGS, NULL},
+ { (char *)"RangosColorApuntador_smax_get", _wrap_RangosColorApuntador_smax_get, METH_VARARGS, NULL},
+ { (char *)"RangosColorApuntador_vmin_set", _wrap_RangosColorApuntador_vmin_set, METH_VARARGS, NULL},
+ { (char *)"RangosColorApuntador_vmin_get", _wrap_RangosColorApuntador_vmin_get, METH_VARARGS, NULL},
+ { (char *)"RangosColorApuntador_vmax_set", _wrap_RangosColorApuntador_vmax_set, METH_VARARGS, NULL},
+ { (char *)"RangosColorApuntador_vmax_get", _wrap_RangosColorApuntador_vmax_get, METH_VARARGS, NULL},
+ { (char *)"new_RangosColorApuntador", _wrap_new_RangosColorApuntador, METH_VARARGS, NULL},
+ { (char *)"delete_RangosColorApuntador", _wrap_delete_RangosColorApuntador, METH_VARARGS, NULL},
+ { (char *)"RangosColorApuntador_swigregister", RangosColorApuntador_swigregister, METH_VARARGS, NULL},
+ { (char *)"ResultadosCalibracion_areas_minimas_set", _wrap_ResultadosCalibracion_areas_minimas_set, METH_VARARGS, NULL},
+ { (char *)"ResultadosCalibracion_areas_minimas_get", _wrap_ResultadosCalibracion_areas_minimas_get, METH_VARARGS, NULL},
+ { (char *)"ResultadosCalibracion_areas_maximas_set", _wrap_ResultadosCalibracion_areas_maximas_set, METH_VARARGS, NULL},
+ { (char *)"ResultadosCalibracion_areas_maximas_get", _wrap_ResultadosCalibracion_areas_maximas_get, METH_VARARGS, NULL},
+ { (char *)"ResultadosCalibracion_relaciones_promedio_set", _wrap_ResultadosCalibracion_relaciones_promedio_set, METH_VARARGS, NULL},
+ { (char *)"ResultadosCalibracion_relaciones_promedio_get", _wrap_ResultadosCalibracion_relaciones_promedio_get, METH_VARARGS, NULL},
+ { (char *)"new_ResultadosCalibracion", _wrap_new_ResultadosCalibracion, METH_VARARGS, NULL},
+ { (char *)"delete_ResultadosCalibracion", _wrap_delete_ResultadosCalibracion, METH_VARARGS, NULL},
+ { (char *)"ResultadosCalibracion_swigregister", ResultadosCalibracion_swigregister, METH_VARARGS, NULL},
+ { (char *)"CoordApuntador_area_set", _wrap_CoordApuntador_area_set, METH_VARARGS, NULL},
+ { (char *)"CoordApuntador_area_get", _wrap_CoordApuntador_area_get, METH_VARARGS, NULL},
+ { (char *)"CoordApuntador_centro_set", _wrap_CoordApuntador_centro_set, METH_VARARGS, NULL},
+ { (char *)"CoordApuntador_centro_get", _wrap_CoordApuntador_centro_get, METH_VARARGS, NULL},
+ { (char *)"new_CoordApuntador", _wrap_new_CoordApuntador, METH_VARARGS, NULL},
+ { (char *)"delete_CoordApuntador", _wrap_delete_CoordApuntador, METH_VARARGS, NULL},
+ { (char *)"CoordApuntador_swigregister", CoordApuntador_swigregister, METH_VARARGS, NULL},
+ { (char *)"Pui_insert", _wrap_Pui_insert, METH_VARARGS, NULL},
+ { (char *)"Pui_out", _wrap_Pui_out, METH_VARARGS, NULL},
+ { (char *)"new_Pui", _wrap_new_Pui, METH_VARARGS, NULL},
+ { (char *)"delete_Pui", _wrap_delete_Pui, METH_VARARGS, NULL},
+ { (char *)"Pui_leerConfiguracionObjetosPUI", _wrap_Pui_leerConfiguracionObjetosPUI, METH_VARARGS, NULL},
+ { (char *)"Pui_leerPatternsModoSimple", _wrap_Pui_leerPatternsModoSimple, METH_VARARGS, NULL},
+ { (char *)"Pui_imprimirPropiedadesObjetosPUI", _wrap_Pui_imprimirPropiedadesObjetosPUI, METH_VARARGS, NULL},
+ { (char *)"Pui_getNombreObjetoPUI", _wrap_Pui_getNombreObjetoPUI, METH_VARARGS, NULL},
+ { (char *)"Pui_getSonidoObjetoPUI", _wrap_Pui_getSonidoObjetoPUI, METH_VARARGS, NULL},
+ { (char *)"Pui_getImagenObjetoPUI", _wrap_Pui_getImagenObjetoPUI, METH_VARARGS, NULL},
+ { (char *)"Pui_getSonidoError", _wrap_Pui_getSonidoError, METH_VARARGS, NULL},
+ { (char *)"Pui_getSonidoOk", _wrap_Pui_getSonidoOk, METH_VARARGS, NULL},
+ { (char *)"Pui_esRelacionCorrecta", _wrap_Pui_esRelacionCorrecta, METH_VARARGS, NULL},
+ { (char *)"Pui_getConjuntoObjetoPui", _wrap_Pui_getConjuntoObjetoPui, METH_VARARGS, NULL},
+ { (char *)"Pui_getIdElementoRelacionado", _wrap_Pui_getIdElementoRelacionado, METH_VARARGS, NULL},
+ { (char *)"Pui_getNombreRelacionObjetoPUI", _wrap_Pui_getNombreRelacionObjetoPUI, METH_VARARGS, NULL},
+ { (char *)"Pui_detectarSeleccion", _wrap_Pui_detectarSeleccion, METH_VARARGS, NULL},
+ { (char *)"Pui_initDeteccionApuntador", _wrap_Pui_initDeteccionApuntador, METH_VARARGS, NULL},
+ { (char *)"Pui_getPropiedadesDeteccionApuntador", _wrap_Pui_getPropiedadesDeteccionApuntador, METH_VARARGS, NULL},
+ { (char *)"Pui_setPropiedadesDeteccionApuntador", _wrap_Pui_setPropiedadesDeteccionApuntador, METH_VARARGS, NULL},
+ { (char *)"Pui_getPropiedadesColorApuntador", _wrap_Pui_getPropiedadesColorApuntador, METH_VARARGS, NULL},
+ { (char *)"Pui_setPropiedadesColorApuntador", _wrap_Pui_setPropiedadesColorApuntador, METH_VARARGS, NULL},
+ { (char *)"Pui_setHminApuntador", _wrap_Pui_setHminApuntador, METH_VARARGS, NULL},
+ { (char *)"Pui_getHminApuntador", _wrap_Pui_getHminApuntador, METH_VARARGS, NULL},
+ { (char *)"Pui_setHmaxApuntador", _wrap_Pui_setHmaxApuntador, METH_VARARGS, NULL},
+ { (char *)"Pui_getHmaxApuntador", _wrap_Pui_getHmaxApuntador, METH_VARARGS, NULL},
+ { (char *)"Pui_setSminApuntador", _wrap_Pui_setSminApuntador, METH_VARARGS, NULL},
+ { (char *)"Pui_getSminApuntador", _wrap_Pui_getSminApuntador, METH_VARARGS, NULL},
+ { (char *)"Pui_setSmaxApuntador", _wrap_Pui_setSmaxApuntador, METH_VARARGS, NULL},
+ { (char *)"Pui_getSmaxApuntador", _wrap_Pui_getSmaxApuntador, METH_VARARGS, NULL},
+ { (char *)"Pui_setVminApuntador", _wrap_Pui_setVminApuntador, METH_VARARGS, NULL},
+ { (char *)"Pui_getVminApuntador", _wrap_Pui_getVminApuntador, METH_VARARGS, NULL},
+ { (char *)"Pui_setVmaxApuntador", _wrap_Pui_setVmaxApuntador, METH_VARARGS, NULL},
+ { (char *)"Pui_getVmaxApuntador", _wrap_Pui_getVmaxApuntador, METH_VARARGS, NULL},
+ { (char *)"Pui_procesarDatosCalibracion", _wrap_Pui_procesarDatosCalibracion, METH_VARARGS, NULL},
+ { (char *)"Pui_guardarDatosCalibracion", _wrap_Pui_guardarDatosCalibracion, METH_VARARGS, NULL},
+ { (char *)"Pui_initPropiedadesCalibracion", _wrap_Pui_initPropiedadesCalibracion, METH_VARARGS, NULL},
+ { (char *)"Pui_leerConfiguracionCalibracion", _wrap_Pui_leerConfiguracionCalibracion, METH_VARARGS, NULL},
+ { (char *)"Pui_calibrarThreshold", _wrap_Pui_calibrarThreshold, METH_VARARGS, NULL},
+ { (char *)"Pui_setBrillo", _wrap_Pui_setBrillo, METH_VARARGS, NULL},
+ { (char *)"Pui_setAutoWhiteBalance", _wrap_Pui_setAutoWhiteBalance, METH_VARARGS, NULL},
+ { (char *)"Pui_setAutoGain", _wrap_Pui_setAutoGain, METH_VARARGS, NULL},
+ { (char *)"Pui_setHorizontalFlip", _wrap_Pui_setHorizontalFlip, METH_VARARGS, NULL},
+ { (char *)"Pui_abrirVentanaGrafica", _wrap_Pui_abrirVentanaGrafica, METH_VARARGS, NULL},
+ { (char *)"Pui_cerrarVentanaGrafica", _wrap_Pui_cerrarVentanaGrafica, METH_VARARGS, NULL},
+ { (char *)"Pui_desplegarImagenAR", _wrap_Pui_desplegarImagenAR, METH_VARARGS, NULL},
+ { (char *)"Pui_desplegarImagenFromData", _wrap_Pui_desplegarImagenFromData, METH_VARARGS, NULL},
+ { (char *)"Pui_capNext", _wrap_Pui_capNext, METH_VARARGS, NULL},
+ { (char *)"Pui_capStart", _wrap_Pui_capStart, METH_VARARGS, NULL},
+ { (char *)"Pui_capStop", _wrap_Pui_capStop, METH_VARARGS, NULL},
+ { (char *)"Pui_capClose", _wrap_Pui_capClose, METH_VARARGS, NULL},
+ { (char *)"Pui_capturarImagenAR", _wrap_Pui_capturarImagenAR, METH_VARARGS, NULL},
+ { (char *)"Pui_capturarPyImageAR", _wrap_Pui_capturarPyImageAR, METH_VARARGS, NULL},
+ { (char *)"Pui_obtenerImagenDebugAR", _wrap_Pui_obtenerImagenDebugAR, METH_VARARGS, NULL},
+ { (char *)"Pui_initPropiedadesCalibracionSoloApuntador", _wrap_Pui_initPropiedadesCalibracionSoloApuntador, METH_VARARGS, NULL},
+ { (char *)"Pui_aplicarNuevaMascaraCalibrador", _wrap_Pui_aplicarNuevaMascaraCalibrador, METH_VARARGS, NULL},
+ { (char *)"Pui_aplicarMascaraCalibrador", _wrap_Pui_aplicarMascaraCalibrador, METH_VARARGS, NULL},
+ { (char *)"Pui_setAchicarRadioMascaraCircular", _wrap_Pui_setAchicarRadioMascaraCircular, METH_VARARGS, NULL},
+ { (char *)"Pui_getAchicarRadioMascaraCircular", _wrap_Pui_getAchicarRadioMascaraCircular, METH_VARARGS, NULL},
+ { (char *)"Pui_getCalibrationImage", _wrap_Pui_getCalibrationImage, METH_VARARGS, NULL},
+ { (char *)"Pui_tomarMuestraApuntador", _wrap_Pui_tomarMuestraApuntador, METH_VARARGS, NULL},
+ { (char *)"Pui_calcularResultadosCalibracionApuntador", _wrap_Pui_calcularResultadosCalibracionApuntador, METH_VARARGS, NULL},
+ { (char *)"Pui_guardarSoloRangosColorApuntador", _wrap_Pui_guardarSoloRangosColorApuntador, METH_VARARGS, NULL},
+ { (char *)"Pui_guardarCalibracionApuntador", _wrap_Pui_guardarCalibracionApuntador, METH_VARARGS, NULL},
+ { (char *)"Pui_setDebugCalibracion", _wrap_Pui_setDebugCalibracion, METH_VARARGS, NULL},
+ { (char *)"Pui_isDebugCalibracion", _wrap_Pui_isDebugCalibracion, METH_VARARGS, NULL},
+ { (char *)"Pui_getResultadosRangosColor", _wrap_Pui_getResultadosRangosColor, METH_VARARGS, NULL},
+ { (char *)"Pui_detectarYCalcularPosicionTodosMultiMarkers", _wrap_Pui_detectarYCalcularPosicionTodosMultiMarkers, METH_VARARGS, NULL},
+ { (char *)"Pui_detectarMarcadores", _wrap_Pui_detectarMarcadores, METH_VARARGS, NULL},
+ { (char *)"Pui_detectarMarcadoresSimple", _wrap_Pui_detectarMarcadoresSimple, METH_VARARGS, NULL},
+ { (char *)"Pui_getIdMarcadorSimpleDetectado", _wrap_Pui_getIdMarcadorSimpleDetectado, METH_VARARGS, NULL},
+ { (char *)"Pui_getMarcadorSimpleDetectado", _wrap_Pui_getMarcadorSimpleDetectado, METH_VARARGS, NULL},
+ { (char *)"Pui_getInfoMultiMarcador", _wrap_Pui_getInfoMultiMarcador, METH_VARARGS, NULL},
+ { (char *)"Pui_setARCf", _wrap_Pui_setARCf, METH_VARARGS, NULL},
+ { (char *)"Pui_getARCf", _wrap_Pui_getARCf, METH_VARARGS, NULL},
+ { (char *)"Pui_getARThreshold", _wrap_Pui_getARThreshold, METH_VARARGS, NULL},
+ { (char *)"Pui_setARThreshold", _wrap_Pui_setARThreshold, METH_VARARGS, NULL},
+ { (char *)"Pui_initPuiConCapturaDeVideo", _wrap_Pui_initPuiConCapturaDeVideo, METH_VARARGS, NULL},
+ { (char *)"Pui_setDebugConImagenes", _wrap_Pui_setDebugConImagenes, METH_VARARGS, NULL},
+ { (char *)"Pui_getDebugConImagenes", _wrap_Pui_getDebugConImagenes, METH_VARARGS, NULL},
+ { (char *)"Pui_habilitarHistorico", _wrap_Pui_habilitarHistorico, METH_VARARGS, NULL},
+ { (char *)"Pui_isHistoricoHabilitado", _wrap_Pui_isHistoricoHabilitado, METH_VARARGS, NULL},
+ { (char *)"Pui_finish", _wrap_Pui_finish, METH_VARARGS, NULL},
+ { (char *)"Pui_getFPSAndResetCount", _wrap_Pui_getFPSAndResetCount, METH_VARARGS, NULL},
+ { (char *)"Pui_getFPS", _wrap_Pui_getFPS, METH_VARARGS, NULL},
+ { (char *)"Pui_getModuleInfo", _wrap_Pui_getModuleInfo, METH_VARARGS, NULL},
+ { (char *)"Pui_setDebugMode", _wrap_Pui_setDebugMode, METH_VARARGS, NULL},
+ { (char *)"Pui_getDebugMode", _wrap_Pui_getDebugMode, METH_VARARGS, NULL},
+ { (char *)"Pui_swigregister", Pui_swigregister, METH_VARARGS, NULL},
+ { NULL, NULL, 0, NULL }
+};
+
+
+/* -------- TYPE CONVERSION AND EQUIVALENCE RULES (BEGIN) -------- */
+
+static swig_type_info _swigt__p_ARCoordMarcador = {"_p_ARCoordMarcador", "ARCoordMarcador *", 0, 0, (void*)0, 0};
+static swig_type_info _swigt__p_CoordApuntador = {"_p_CoordApuntador", "CoordApuntador *", 0, 0, (void*)0, 0};
+static swig_type_info _swigt__p_Elemento = {"_p_Elemento", "Elemento *", 0, 0, (void*)0, 0};
+static swig_type_info _swigt__p_Historico = {"_p_Historico", "Historico *", 0, 0, (void*)0, 0};
+static swig_type_info _swigt__p_PropiedadesDeteccionApuntador = {"_p_PropiedadesDeteccionApuntador", "PropiedadesDeteccionApuntador *", 0, 0, (void*)0, 0};
+static swig_type_info _swigt__p_Pui = {"_p_Pui", "Pui *", 0, 0, (void*)0, 0};
+static swig_type_info _swigt__p_RangosColorApuntador = {"_p_RangosColorApuntador", "RangosColorApuntador *", 0, 0, (void*)0, 0};
+static swig_type_info _swigt__p_ResultadosCalibracion = {"_p_ResultadosCalibracion", "ResultadosCalibracion *", 0, 0, (void*)0, 0};
+static swig_type_info _swigt__p_a_2__double = {"_p_a_2__double", "double (*)[2]", 0, 0, (void*)0, 0};
+static swig_type_info _swigt__p_char = {"_p_char", "char *", 0, 0, (void*)0, 0};
+static swig_type_info _swigt__p_double = {"_p_double", "double *", 0, 0, (void*)0, 0};
+static swig_type_info _swigt__p_int = {"_p_int", "int *", 0, 0, (void*)0, 0};
+static swig_type_info _swigt__p_p_char = {"_p_p_char", "char **", 0, 0, (void*)0, 0};
+static swig_type_info _swigt__p_unsigned_char = {"_p_unsigned_char", "unsigned char *", 0, 0, (void*)0, 0};
+
+static swig_type_info *swig_type_initial[] = {
+ &_swigt__p_ARCoordMarcador,
+ &_swigt__p_CoordApuntador,
+ &_swigt__p_Elemento,
+ &_swigt__p_Historico,
+ &_swigt__p_PropiedadesDeteccionApuntador,
+ &_swigt__p_Pui,
+ &_swigt__p_RangosColorApuntador,
+ &_swigt__p_ResultadosCalibracion,
+ &_swigt__p_a_2__double,
+ &_swigt__p_char,
+ &_swigt__p_double,
+ &_swigt__p_int,
+ &_swigt__p_p_char,
+ &_swigt__p_unsigned_char,
+};
+
+static swig_cast_info _swigc__p_ARCoordMarcador[] = { {&_swigt__p_ARCoordMarcador, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_CoordApuntador[] = { {&_swigt__p_CoordApuntador, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_Elemento[] = { {&_swigt__p_Elemento, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_Historico[] = { {&_swigt__p_Historico, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_PropiedadesDeteccionApuntador[] = { {&_swigt__p_PropiedadesDeteccionApuntador, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_Pui[] = { {&_swigt__p_Pui, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_RangosColorApuntador[] = { {&_swigt__p_RangosColorApuntador, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_ResultadosCalibracion[] = { {&_swigt__p_ResultadosCalibracion, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_a_2__double[] = { {&_swigt__p_a_2__double, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_char[] = { {&_swigt__p_char, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_double[] = { {&_swigt__p_double, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_int[] = { {&_swigt__p_int, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_p_char[] = { {&_swigt__p_p_char, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_unsigned_char[] = { {&_swigt__p_unsigned_char, 0, 0, 0},{0, 0, 0, 0}};
+
+static swig_cast_info *swig_cast_initial[] = {
+ _swigc__p_ARCoordMarcador,
+ _swigc__p_CoordApuntador,
+ _swigc__p_Elemento,
+ _swigc__p_Historico,
+ _swigc__p_PropiedadesDeteccionApuntador,
+ _swigc__p_Pui,
+ _swigc__p_RangosColorApuntador,
+ _swigc__p_ResultadosCalibracion,
+ _swigc__p_a_2__double,
+ _swigc__p_char,
+ _swigc__p_double,
+ _swigc__p_int,
+ _swigc__p_p_char,
+ _swigc__p_unsigned_char,
+};
+
+
+/* -------- TYPE CONVERSION AND EQUIVALENCE RULES (END) -------- */
+
+static swig_const_info swig_const_table[] = {
+{0, 0, 0, 0.0, 0, 0}};
+
+#ifdef __cplusplus
+}
+#endif
+/* -----------------------------------------------------------------------------
+ * Type initialization:
+ * This problem is tough by the requirement that no dynamic
+ * memory is used. Also, since swig_type_info structures store pointers to
+ * swig_cast_info structures and swig_cast_info structures store pointers back
+ * to swig_type_info structures, we need some lookup code at initialization.
+ * The idea is that swig generates all the structures that are needed.
+ * The runtime then collects these partially filled structures.
+ * The SWIG_InitializeModule function takes these initial arrays out of
+ * swig_module, and does all the lookup, filling in the swig_module.types
+ * array with the correct data and linking the correct swig_cast_info
+ * structures together.
+ *
+ * The generated swig_type_info structures are assigned staticly to an initial
+ * array. We just loop through that array, and handle each type individually.
+ * First we lookup if this type has been already loaded, and if so, use the
+ * loaded structure instead of the generated one. Then we have to fill in the
+ * cast linked list. The cast data is initially stored in something like a
+ * two-dimensional array. Each row corresponds to a type (there are the same
+ * number of rows as there are in the swig_type_initial array). Each entry in
+ * a column is one of the swig_cast_info structures for that type.
+ * The cast_initial array is actually an array of arrays, because each row has
+ * a variable number of columns. So to actually build the cast linked list,
+ * we find the array of casts associated with the type, and loop through it
+ * adding the casts to the list. The one last trick we need to do is making
+ * sure the type pointer in the swig_cast_info struct is correct.
+ *
+ * First off, we lookup the cast->type name to see if it is already loaded.
+ * There are three cases to handle:
+ * 1) If the cast->type has already been loaded AND the type we are adding
+ * casting info to has not been loaded (it is in this module), THEN we
+ * replace the cast->type pointer with the type pointer that has already
+ * been loaded.
+ * 2) If BOTH types (the one we are adding casting info to, and the
+ * cast->type) are loaded, THEN the cast info has already been loaded by
+ * the previous module so we just ignore it.
+ * 3) Finally, if cast->type has not already been loaded, then we add that
+ * swig_cast_info to the linked list (because the cast->type) pointer will
+ * be correct.
+ * ----------------------------------------------------------------------------- */
+
+#ifdef __cplusplus
+extern "C" {
+#if 0
+} /* c-mode */
+#endif
+#endif
+
+#if 0
+#define SWIGRUNTIME_DEBUG
+#endif
+
+
+SWIGRUNTIME void
+SWIG_InitializeModule(void *clientdata) {
+ size_t i;
+ swig_module_info *module_head, *iter;
+ int found, init;
+
+ clientdata = clientdata;
+
+ /* check to see if the circular list has been setup, if not, set it up */
+ if (swig_module.next==0) {
+ /* Initialize the swig_module */
+ swig_module.type_initial = swig_type_initial;
+ swig_module.cast_initial = swig_cast_initial;
+ swig_module.next = &swig_module;
+ init = 1;
+ } else {
+ init = 0;
+ }
+
+ /* Try and load any already created modules */
+ module_head = SWIG_GetModule(clientdata);
+ if (!module_head) {
+ /* This is the first module loaded for this interpreter */
+ /* so set the swig module into the interpreter */
+ SWIG_SetModule(clientdata, &swig_module);
+ module_head = &swig_module;
+ } else {
+ /* the interpreter has loaded a SWIG module, but has it loaded this one? */
+ found=0;
+ iter=module_head;
+ do {
+ if (iter==&swig_module) {
+ found=1;
+ break;
+ }
+ iter=iter->next;
+ } while (iter!= module_head);
+
+ /* if the is found in the list, then all is done and we may leave */
+ if (found) return;
+ /* otherwise we must add out module into the list */
+ swig_module.next = module_head->next;
+ module_head->next = &swig_module;
+ }
+
+ /* When multiple interpeters are used, a module could have already been initialized in
+ a different interpreter, but not yet have a pointer in this interpreter.
+ In this case, we do not want to continue adding types... everything should be
+ set up already */
+ if (init == 0) return;
+
+ /* Now work on filling in swig_module.types */
+#ifdef SWIGRUNTIME_DEBUG
+ printf("SWIG_InitializeModule: size %d\n", swig_module.size);
+#endif
+ for (i = 0; i < swig_module.size; ++i) {
+ swig_type_info *type = 0;
+ swig_type_info *ret;
+ swig_cast_info *cast;
+
+#ifdef SWIGRUNTIME_DEBUG
+ printf("SWIG_InitializeModule: type %d %s\n", i, swig_module.type_initial[i]->name);
+#endif
+
+ /* if there is another module already loaded */
+ if (swig_module.next != &swig_module) {
+ type = SWIG_MangledTypeQueryModule(swig_module.next, &swig_module, swig_module.type_initial[i]->name);
+ }
+ if (type) {
+ /* Overwrite clientdata field */
+#ifdef SWIGRUNTIME_DEBUG
+ printf("SWIG_InitializeModule: found type %s\n", type->name);
+#endif
+ if (swig_module.type_initial[i]->clientdata) {
+ type->clientdata = swig_module.type_initial[i]->clientdata;
+#ifdef SWIGRUNTIME_DEBUG
+ printf("SWIG_InitializeModule: found and overwrite type %s \n", type->name);
+#endif
+ }
+ } else {
+ type = swig_module.type_initial[i];
+ }
+
+ /* Insert casting types */
+ cast = swig_module.cast_initial[i];
+ while (cast->type) {
+ /* Don't need to add information already in the list */
+ ret = 0;
+#ifdef SWIGRUNTIME_DEBUG
+ printf("SWIG_InitializeModule: look cast %s\n", cast->type->name);
+#endif
+ if (swig_module.next != &swig_module) {
+ ret = SWIG_MangledTypeQueryModule(swig_module.next, &swig_module, cast->type->name);
+#ifdef SWIGRUNTIME_DEBUG
+ if (ret) printf("SWIG_InitializeModule: found cast %s\n", ret->name);
+#endif
+ }
+ if (ret) {
+ if (type == swig_module.type_initial[i]) {
+#ifdef SWIGRUNTIME_DEBUG
+ printf("SWIG_InitializeModule: skip old type %s\n", ret->name);
+#endif
+ cast->type = ret;
+ ret = 0;
+ } else {
+ /* Check for casting already in the list */
+ swig_cast_info *ocast = SWIG_TypeCheck(ret->name, type);
+#ifdef SWIGRUNTIME_DEBUG
+ if (ocast) printf("SWIG_InitializeModule: skip old cast %s\n", ret->name);
+#endif
+ if (!ocast) ret = 0;
+ }
+ }
+
+ if (!ret) {
+#ifdef SWIGRUNTIME_DEBUG
+ printf("SWIG_InitializeModule: adding cast %s\n", cast->type->name);
+#endif
+ if (type->cast) {
+ type->cast->prev = cast;
+ cast->next = type->cast;
+ }
+ type->cast = cast;
+ }
+ cast++;
+ }
+ /* Set entry in modules->types array equal to the type */
+ swig_module.types[i] = type;
+ }
+ swig_module.types[i] = 0;
+
+#ifdef SWIGRUNTIME_DEBUG
+ printf("**** SWIG_InitializeModule: Cast List ******\n");
+ for (i = 0; i < swig_module.size; ++i) {
+ int j = 0;
+ swig_cast_info *cast = swig_module.cast_initial[i];
+ printf("SWIG_InitializeModule: type %d %s\n", i, swig_module.type_initial[i]->name);
+ while (cast->type) {
+ printf("SWIG_InitializeModule: cast type %s\n", cast->type->name);
+ cast++;
+ ++j;
+ }
+ printf("---- Total casts: %d\n",j);
+ }
+ printf("**** SWIG_InitializeModule: Cast List ******\n");
+#endif
+}
+
+/* This function will propagate the clientdata field of type to
+* any new swig_type_info structures that have been added into the list
+* of equivalent types. It is like calling
+* SWIG_TypeClientData(type, clientdata) a second time.
+*/
+SWIGRUNTIME void
+SWIG_PropagateClientData(void) {
+ size_t i;
+ swig_cast_info *equiv;
+ static int init_run = 0;
+
+ if (init_run) return;
+ init_run = 1;
+
+ for (i = 0; i < swig_module.size; i++) {
+ if (swig_module.types[i]->clientdata) {
+ equiv = swig_module.types[i]->cast;
+ while (equiv) {
+ if (!equiv->converter) {
+ if (equiv->type && !equiv->type->clientdata)
+ SWIG_TypeClientData(equiv->type, swig_module.types[i]->clientdata);
+ }
+ equiv = equiv->next;
+ }
+ }
+ }
+}
+
+#ifdef __cplusplus
+#if 0
+{
+ /* c-mode */
+#endif
+}
+#endif
+
+
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+ /* Python-specific SWIG API */
+#define SWIG_newvarlink() SWIG_Python_newvarlink()
+#define SWIG_addvarlink(p, name, get_attr, set_attr) SWIG_Python_addvarlink(p, name, get_attr, set_attr)
+#define SWIG_InstallConstants(d, constants) SWIG_Python_InstallConstants(d, constants)
+
+ /* -----------------------------------------------------------------------------
+ * global variable support code.
+ * ----------------------------------------------------------------------------- */
+
+ typedef struct swig_globalvar {
+ char *name; /* Name of global variable */
+ PyObject *(*get_attr)(void); /* Return the current value */
+ int (*set_attr)(PyObject *); /* Set the value */
+ struct swig_globalvar *next;
+ } swig_globalvar;
+
+ typedef struct swig_varlinkobject {
+ PyObject_HEAD
+ swig_globalvar *vars;
+ } swig_varlinkobject;
+
+ SWIGINTERN PyObject *
+ swig_varlink_repr(swig_varlinkobject *SWIGUNUSEDPARM(v)) {
+ return PyString_FromString("<Swig global variables>");
+ }
+
+ SWIGINTERN PyObject *
+ swig_varlink_str(swig_varlinkobject *v) {
+ PyObject *str = PyString_FromString("(");
+ swig_globalvar *var;
+ for (var = v->vars; var; var=var->next) {
+ PyString_ConcatAndDel(&str,PyString_FromString(var->name));
+ if (var->next) PyString_ConcatAndDel(&str,PyString_FromString(", "));
+ }
+ PyString_ConcatAndDel(&str,PyString_FromString(")"));
+ return str;
+ }
+
+ SWIGINTERN int
+ swig_varlink_print(swig_varlinkobject *v, FILE *fp, int SWIGUNUSEDPARM(flags)) {
+ PyObject *str = swig_varlink_str(v);
+ fprintf(fp,"Swig global variables ");
+ fprintf(fp,"%s\n", PyString_AsString(str));
+ Py_DECREF(str);
+ return 0;
+ }
+
+ SWIGINTERN void
+ swig_varlink_dealloc(swig_varlinkobject *v) {
+ swig_globalvar *var = v->vars;
+ while (var) {
+ swig_globalvar *n = var->next;
+ free(var->name);
+ free(var);
+ var = n;
+ }
+ }
+
+ SWIGINTERN PyObject *
+ swig_varlink_getattr(swig_varlinkobject *v, char *n) {
+ PyObject *res = NULL;
+ swig_globalvar *var = v->vars;
+ while (var) {
+ if (strcmp(var->name,n) == 0) {
+ res = (*var->get_attr)();
+ break;
+ }
+ var = var->next;
+ }
+ if (res == NULL && !PyErr_Occurred()) {
+ PyErr_SetString(PyExc_NameError,"Unknown C global variable");
+ }
+ return res;
+ }
+
+ SWIGINTERN int
+ swig_varlink_setattr(swig_varlinkobject *v, char *n, PyObject *p) {
+ int res = 1;
+ swig_globalvar *var = v->vars;
+ while (var) {
+ if (strcmp(var->name,n) == 0) {
+ res = (*var->set_attr)(p);
+ break;
+ }
+ var = var->next;
+ }
+ if (res == 1 && !PyErr_Occurred()) {
+ PyErr_SetString(PyExc_NameError,"Unknown C global variable");
+ }
+ return res;
+ }
+
+ SWIGINTERN PyTypeObject*
+ swig_varlink_type(void) {
+ static char varlink__doc__[] = "Swig var link object";
+ static PyTypeObject varlink_type;
+ static int type_init = 0;
+ if (!type_init) {
+ const PyTypeObject tmp
+ = {
+ PyObject_HEAD_INIT(NULL)
+ 0, /* Number of items in variable part (ob_size) */
+ (char *)"swigvarlink", /* Type name (tp_name) */
+ sizeof(swig_varlinkobject), /* Basic size (tp_basicsize) */
+ 0, /* Itemsize (tp_itemsize) */
+ (destructor) swig_varlink_dealloc, /* Deallocator (tp_dealloc) */
+ (printfunc) swig_varlink_print, /* Print (tp_print) */
+ (getattrfunc) swig_varlink_getattr, /* get attr (tp_getattr) */
+ (setattrfunc) swig_varlink_setattr, /* Set attr (tp_setattr) */
+ 0, /* tp_compare */
+ (reprfunc) swig_varlink_repr, /* tp_repr */
+ 0, /* tp_as_number */
+ 0, /* tp_as_sequence */
+ 0, /* tp_as_mapping */
+ 0, /* tp_hash */
+ 0, /* tp_call */
+ (reprfunc)swig_varlink_str, /* tp_str */
+ 0, /* tp_getattro */
+ 0, /* tp_setattro */
+ 0, /* tp_as_buffer */
+ 0, /* tp_flags */
+ varlink__doc__, /* tp_doc */
+ 0, /* tp_traverse */
+ 0, /* tp_clear */
+ 0, /* tp_richcompare */
+ 0, /* tp_weaklistoffset */
+#if PY_VERSION_HEX >= 0x02020000
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* tp_iter -> tp_weaklist */
+#endif
+#if PY_VERSION_HEX >= 0x02030000
+ 0, /* tp_del */
+#endif
+#ifdef COUNT_ALLOCS
+ 0,0,0,0 /* tp_alloc -> tp_next */
+#endif
+ };
+ varlink_type = tmp;
+ varlink_type.ob_type = &PyType_Type;
+ type_init = 1;
+ }
+ return &varlink_type;
+ }
+
+ /* Create a variable linking object for use later */
+ SWIGINTERN PyObject *
+ SWIG_Python_newvarlink(void) {
+ swig_varlinkobject *result = PyObject_NEW(swig_varlinkobject, swig_varlink_type());
+ if (result) {
+ result->vars = 0;
+ }
+ return ((PyObject*) result);
+ }
+
+ SWIGINTERN void
+ SWIG_Python_addvarlink(PyObject *p, char *name, PyObject *(*get_attr)(void), int (*set_attr)(PyObject *p)) {
+ swig_varlinkobject *v = (swig_varlinkobject *) p;
+ swig_globalvar *gv = (swig_globalvar *) malloc(sizeof(swig_globalvar));
+ if (gv) {
+ size_t size = strlen(name)+1;
+ gv->name = (char *)malloc(size);
+ if (gv->name) {
+ strncpy(gv->name,name,size);
+ gv->get_attr = get_attr;
+ gv->set_attr = set_attr;
+ gv->next = v->vars;
+ }
+ }
+ v->vars = gv;
+ }
+
+ SWIGINTERN PyObject *
+ SWIG_globals(void) {
+ static PyObject *_SWIG_globals = 0;
+ if (!_SWIG_globals) _SWIG_globals = SWIG_newvarlink();
+ return _SWIG_globals;
+ }
+
+ /* -----------------------------------------------------------------------------
+ * constants/methods manipulation
+ * ----------------------------------------------------------------------------- */
+
+ /* Install Constants */
+ SWIGINTERN void
+ SWIG_Python_InstallConstants(PyObject *d, swig_const_info constants[]) {
+ PyObject *obj = 0;
+ size_t i;
+ for (i = 0; constants[i].type; ++i) {
+ switch(constants[i].type) {
+ case SWIG_PY_POINTER:
+ obj = SWIG_NewPointerObj(constants[i].pvalue, *(constants[i]).ptype,0);
+ break;
+ case SWIG_PY_BINARY:
+ obj = SWIG_NewPackedObj(constants[i].pvalue, constants[i].lvalue, *(constants[i].ptype));
+ break;
+ default:
+ obj = 0;
+ break;
+ }
+ if (obj) {
+ PyDict_SetItemString(d, constants[i].name, obj);
+ Py_DECREF(obj);
+ }
+ }
+ }
+
+ /* -----------------------------------------------------------------------------*/
+ /* Fix SwigMethods to carry the callback ptrs when needed */
+ /* -----------------------------------------------------------------------------*/
+
+ SWIGINTERN void
+ SWIG_Python_FixMethods(PyMethodDef *methods,
+ swig_const_info *const_table,
+ swig_type_info **types,
+ swig_type_info **types_initial) {
+ size_t i;
+ for (i = 0; methods[i].ml_name; ++i) {
+ const char *c = methods[i].ml_doc;
+ if (c && (c = strstr(c, "swig_ptr: "))) {
+ int j;
+ swig_const_info *ci = 0;
+ const char *name = c + 10;
+ for (j = 0; const_table[j].type; ++j) {
+ if (strncmp(const_table[j].name, name,
+ strlen(const_table[j].name)) == 0) {
+ ci = &(const_table[j]);
+ break;
+ }
+ }
+ if (ci) {
+ size_t shift = (ci->ptype) - types;
+ swig_type_info *ty = types_initial[shift];
+ size_t ldoc = (c - methods[i].ml_doc);
+ size_t lptr = strlen(ty->name)+2*sizeof(void*)+2;
+ char *ndoc = (char*)malloc(ldoc + lptr + 10);
+ if (ndoc) {
+ char *buff = ndoc;
+ void *ptr = (ci->type == SWIG_PY_POINTER) ? ci->pvalue : 0;
+ if (ptr) {
+ strncpy(buff, methods[i].ml_doc, ldoc);
+ buff += ldoc;
+ strncpy(buff, "swig_ptr: ", 10);
+ buff += 10;
+ SWIG_PackVoidPtr(buff, ptr, ty->name, lptr);
+ methods[i].ml_doc = ndoc;
+ }
+ }
+ }
+ }
+ }
+ }
+
+#ifdef __cplusplus
+}
+#endif
+
+/* -----------------------------------------------------------------------------*
+ * Partial Init method
+ * -----------------------------------------------------------------------------*/
+
+#ifdef __cplusplus
+extern "C"
+#endif
+SWIGEXPORT void SWIG_init(void) {
+ PyObject *m, *d;
+
+ /* Fix SwigMethods to carry the callback ptrs when needed */
+ SWIG_Python_FixMethods(SwigMethods, swig_const_table, swig_types, swig_type_initial);
+
+ m = Py_InitModule((char *) SWIG_name, SwigMethods);
+ d = PyModule_GetDict(m);
+
+ SWIG_InitializeModule(0);
+ SWIG_InstallConstants(d,swig_const_table);
+
+
+
+ import_array(); /* load the Numeric PyCObjects */
+
+ SWIG_Python_SetConstant(d, "FORMA_APUNTADOR_CIRCULO",SWIG_From_int(static_cast< int >(1)));
+ SWIG_Python_SetConstant(d, "FORMA_APUNTADOR_RECTANGULAR",SWIG_From_int(static_cast< int >(2)));
+ SWIG_Python_SetConstant(d, "FORMA_APUNTADOR_MANO",SWIG_From_int(static_cast< int >(3)));
+ SWIG_Python_SetConstant(d, "ERROR_DETECTANDO_MARCADORES",SWIG_From_int(static_cast< int >(4)));
+ SWIG_Python_SetConstant(d, "ERROR_CALCULANDO_MATRIZ_TRANSFORMACION",SWIG_From_int(static_cast< int >(5)));
+ SWIG_Python_SetConstant(d, "ERROR_NINGUN_MARCADOR_DETECTADO",SWIG_From_int(static_cast< int >(6)));
+ SWIG_Python_SetConstant(d, "ERROR_IMAGEN_NULL",SWIG_From_int(static_cast< int >(7)));
+ SWIG_Python_SetConstant(d, "DETECCION_CORRECTA",SWIG_From_int(static_cast< int >(8)));
+ SWIG_Python_SetConstant(d, "MASCARA_APLICADA",SWIG_From_int(static_cast< int >(9)));
+ SWIG_Python_SetConstant(d, "MASCARA_NO_APLICADA",SWIG_From_int(static_cast< int >(10)));
+ SWIG_Python_SetConstant(d, "TIPO_MASCARA_BINARIA",SWIG_From_int(static_cast< int >(11)));
+ SWIG_Python_SetConstant(d, "TIPO_MASCARA_ATENUANTE",SWIG_From_int(static_cast< int >(12)));
+ SWIG_Python_SetConstant(d, "ERROR_TOMAR_MUESTRA_FORMA_NO_IMPLEMENTADA",SWIG_From_int(static_cast< int >(13)));
+ SWIG_Python_SetConstant(d, "ERROR_TOMAR_MUESTRA_OK",SWIG_From_int(static_cast< int >(14)));
+ SWIG_Python_SetConstant(d, "OFFSET_ROI",SWIG_From_int(static_cast< int >(5)));
+ SWIG_Python_SetConstant(d, "MIN_AREA_WIDTH_HEIGHT",SWIG_From_int(static_cast< int >(5)));
+ SWIG_Python_SetConstant(d, "MIN_CF_MARKER_DETECT",SWIG_From_double(static_cast< double >(0.6)));
+ SWIG_Python_SetConstant(d, "MODO_MULTI_MARKERS",SWIG_From_int(static_cast< int >(15)));
+ SWIG_Python_SetConstant(d, "MODO_SIMPLE",SWIG_From_int(static_cast< int >(16)));
+ SWIG_Python_SetConstant(d, "MODO_MULTI_MARKERS_CALIBRADOR",SWIG_From_int(static_cast< int >(17)));
+ SWIG_Python_SetConstant(d, "Pui_FAST_SPEED_LOOP",SWIG_From_int(static_cast< int >(Pui::FAST_SPEED_LOOP)));
+ SWIG_Python_SetConstant(d, "Pui_NORMAL_SPEED_LOOP",SWIG_From_int(static_cast< int >(Pui::NORMAL_SPEED_LOOP)));
+ SWIG_Python_SetConstant(d, "Pui_FAST_SPEED_LOOP_MULTIPLIER",SWIG_From_double(static_cast< double >(Pui::FAST_SPEED_LOOP_MULTIPLIER)));
+ SWIG_Python_SetConstant(d, "Pui_NORMAL_SPEED_LOOP_MULTIPLIER",SWIG_From_double(static_cast< double >(Pui::NORMAL_SPEED_LOOP_MULTIPLIER)));
+}
+