Salome HOME
Merge branch V7_3_1_BR V7_4_0a1 V7_4_0b1
authorvsr <vsr@opencascade.com>
Thu, 3 Apr 2014 12:38:29 +0000 (16:38 +0400)
committervsr <vsr@opencascade.com>
Thu, 3 Apr 2014 12:38:29 +0000 (16:38 +0400)
266 files changed:
CMakeLists.txt
Doxyfile
HEXABLOCK_version.h.in
SalomeHEXABLOCKConfig.cmake.in
adm_local/CMakeLists.txt
adm_local/cmake_files/CMakeLists.txt
adm_local/cmake_files/FindSalomeHEXABLOCK.cmake
adm_local/unix/CMakeLists.txt
adm_local/unix/config_files/CMakeLists.txt
adm_local/unix/config_files/check_HEXABLOCK.m4
adm_local/unix/config_files/check_libxml.m4
adm_local/unix/config_files/check_sphinx.m4
adm_local/unix/config_files/i2_check_qt4.m4
bin/CMakeLists.txt
bin/myrunSalome.py
bin/runAppli.in
doc/CMakeLists.txt
doc/cas_test_python/BIELLE.py
doc/conf.py.in
doc/pyplots/BIELLE1.py
doc/pyplots/bielle.py
doc/pyplots/bielle_JPL.py
doc/pyplots/bride.py
doc/pyplots/process_vtk.py
doc/pyplots/test_cut.py
doc/pyplots/test_disconnect.py
doc/pyplots/test_join_quads.py
doc/pyplots/test_make_cart_grid.py
doc/pyplots/test_make_cyl_grid.py
doc/pyplots/test_make_cylinder.py
doc/pyplots/test_make_elmts_transform.py
doc/pyplots/test_make_pipe.py
doc/pyplots/test_make_spher_grid.py
doc/pyplots/test_prism_quads.py
doc/pyplots/test_propagation.py
doc/test_doc/cartesian_grid/cartesian_grid.py
doc/test_doc/cutHexa/cut_hexa.py
doc/test_doc/cylinder/cylinder.py
doc/test_doc/cylinder/cylinders.py
doc/test_doc/edge/edge.py
doc/test_doc/extrudeQuad/extrude_quad.py
doc/test_doc/hemisphere/concentric.py
doc/test_doc/hemisphere/rind.py
doc/test_doc/hemisphere/sphere.py
doc/test_doc/hexa/hexa.py
doc/test_doc/joinQuad/join_quad.py
doc/test_doc/make_symmetry/make_sym_line.py
doc/test_doc/make_symmetry/make_sym_plane.py
doc/test_doc/make_symmetry/make_sym_point.py
doc/test_doc/make_transformation/make_rotation.py
doc/test_doc/make_transformation/make_scale.py
doc/test_doc/make_transformation/make_translation.py
doc/test_doc/pipe/pipe.py
doc/test_doc/pipe/pipes.py
doc/test_doc/quad/quad.py
doc/test_doc/quadRevolution/revolution_quad.py
doc/test_doc/replace_hexa/replace_hexa.py
doc/test_doc/test_cone/test_cone.py
doc/test_doc/update_tests.sh
doc/test_doc/vertex/vertex.py
salome_adm/unix/SALOMEconfig.h.in
src/CMakeLists.txt
src/HEXABLOCK/CMakeLists.txt
src/HEXABLOCK/Hex.cxx
src/HEXABLOCK/Hex.hxx
src/HEXABLOCK/HexAnaQuads.hxx
src/HEXABLOCK/HexAssoEdge.cxx
src/HEXABLOCK/HexAssoEdge.hxx
src/HEXABLOCK/HexBiCylinder.cxx
src/HEXABLOCK/HexBiCylinder.hxx
src/HEXABLOCK/HexBiCylinderShape.cxx
src/HEXABLOCK/HexBiCylinderShape.hxx
src/HEXABLOCK/HexCloner.cxx
src/HEXABLOCK/HexCloner.hxx
src/HEXABLOCK/HexCramer.hxx
src/HEXABLOCK/HexCrossElements.hxx
src/HEXABLOCK/HexCylinder.hxx
src/HEXABLOCK/HexDiagnostics.hxx
src/HEXABLOCK/HexDocument.cxx
src/HEXABLOCK/HexDocument.hxx
src/HEXABLOCK/HexDocument_Xml.cxx
src/HEXABLOCK/HexDocument_asso.cxx
src/HEXABLOCK/HexDocument_quads.cxx
src/HEXABLOCK/HexDocument_skin.cxx
src/HEXABLOCK/HexDocument_tools.cxx
src/HEXABLOCK/HexDocument_trans.cxx
src/HEXABLOCK/HexDocument_v6.cxx
src/HEXABLOCK/HexDummyCad.hxx
src/HEXABLOCK/HexDumpStudy.cxx
src/HEXABLOCK/HexDumpStudy.hxx
src/HEXABLOCK/HexEdge.cxx
src/HEXABLOCK/HexEdge.hxx
src/HEXABLOCK/HexEdgeShape.cxx
src/HEXABLOCK/HexEdgeShape.hxx
src/HEXABLOCK/HexElements.cxx
src/HEXABLOCK/HexElements.hxx
src/HEXABLOCK/HexElements_asso.cxx
src/HEXABLOCK/HexElements_bis.cxx
src/HEXABLOCK/HexElements_check.cxx
src/HEXABLOCK/HexElements_grid.cxx
src/HEXABLOCK/HexElements_piq.cxx
src/HEXABLOCK/HexElements_ter.cxx
src/HEXABLOCK/HexElements_v6.cxx
src/HEXABLOCK/HexEltBase.cxx
src/HEXABLOCK/HexEltBase.hxx
src/HEXABLOCK/HexFaceShape.cxx
src/HEXABLOCK/HexFaceShape.hxx
src/HEXABLOCK/HexGlobale.cxx
src/HEXABLOCK/HexGlobale.hxx
src/HEXABLOCK/HexGroup.cxx
src/HEXABLOCK/HexGroup.hxx
src/HEXABLOCK/HexHexa.cxx
src/HEXABLOCK/HexHexa.hxx
src/HEXABLOCK/HexHexa_disco.cxx
src/HEXABLOCK/HexKas_functions.cxx
src/HEXABLOCK/HexKas_functions.hxx
src/HEXABLOCK/HexLaw.cxx
src/HEXABLOCK/HexLaw.hxx
src/HEXABLOCK/HexMatrix.hxx
src/HEXABLOCK/HexNewShape.cxx
src/HEXABLOCK/HexNewShape.hxx
src/HEXABLOCK/HexOldShape.hxx
src/HEXABLOCK/HexPipe.hxx
src/HEXABLOCK/HexPropagation.hxx
src/HEXABLOCK/HexQpattern.cxx
src/HEXABLOCK/HexQpattern.hxx
src/HEXABLOCK/HexQuad.cxx
src/HEXABLOCK/HexQuad.hxx
src/HEXABLOCK/HexShape.cxx
src/HEXABLOCK/HexShape.hxx
src/HEXABLOCK/HexSubShape.cxx
src/HEXABLOCK/HexSubShape.hxx
src/HEXABLOCK/HexVector.cxx
src/HEXABLOCK/HexVector.hxx
src/HEXABLOCK/HexVertex.cxx
src/HEXABLOCK/HexVertex.hxx
src/HEXABLOCK/HexVertexShape.cxx
src/HEXABLOCK/HexVertexShape.hxx
src/HEXABLOCK/HexWitness.cxx
src/HEXABLOCK/HexWitness.hxx
src/HEXABLOCK/HexXmlTree.cxx
src/HEXABLOCK/HexXmlTree.hxx
src/HEXABLOCK/HexXmlWriter.cxx
src/HEXABLOCK/HexXmlWriter.hxx
src/HEXABLOCK/Hex_defines.hxx
src/HEXABLOCK/Hex_salome.cxx
src/HEXABLOCK/Sauver
src/HEXABLOCK/dsave
src/HEXABLOCK/hexa_base.hxx
src/HEXABLOCK/hexa_utils.cxx
src/HEXABLOCK/make.make
src/HEXABLOCK/make_dummycad
src/HEXABLOCK/make_swig
src/HEXABLOCK/test_brep.cxx
src/HEXABLOCK/test_hexa1.cxx
src/HEXABLOCK/test_hexa5.cxx
src/HEXABLOCK/test_hexa6.cxx
src/HEXABLOCK/test_quads.cxx
src/HEXABLOCK/test_tools.cxx
src/HEXABLOCK/test_unit.hxx
src/HEXABLOCK/umake
src/HEXABLOCK/work/hexablock.py
src/HEXABLOCK/work/umake
src/HEXABLOCKGUI/CMakeLists.txt
src/HEXABLOCKGUI/HEXABLOCKGUI.cxx
src/HEXABLOCKGUI/HEXABLOCKGUI.hxx
src/HEXABLOCKGUI/HEXABLOCKGUI_DocumentItem.cxx
src/HEXABLOCKGUI/HEXABLOCKGUI_DocumentItem.hxx
src/HEXABLOCKGUI/HEXABLOCKGUI_DocumentModel.cxx
src/HEXABLOCKGUI/HEXABLOCKGUI_DocumentModel.hxx
src/HEXABLOCKGUI/HEXABLOCKGUI_DocumentPanel.cxx
src/HEXABLOCKGUI/HEXABLOCKGUI_DocumentPanel.hxx
src/HEXABLOCKGUI/HEXABLOCKGUI_DocumentSelectionModel.cxx
src/HEXABLOCKGUI/HEXABLOCKGUI_DocumentSelectionModel.hxx
src/HEXABLOCKGUI/HEXABLOCKGUI_Exception.cxx
src/HEXABLOCKGUI/HEXABLOCKGUI_Exception.hxx
src/HEXABLOCKGUI/HEXABLOCKGUI_Export.hxx
src/HEXABLOCKGUI/HEXABLOCKGUI_GraphicViewsHandler.cxx
src/HEXABLOCKGUI/HEXABLOCKGUI_GraphicViewsHandler.hxx
src/HEXABLOCKGUI/HEXABLOCKGUI_Model.cxx
src/HEXABLOCKGUI/HEXABLOCKGUI_Model.hxx
src/HEXABLOCKGUI/HEXABLOCKGUI_OCCSelector.cxx
src/HEXABLOCKGUI/HEXABLOCKGUI_OCCSelector.h
src/HEXABLOCKGUI/HEXABLOCKGUI_OccGraphicView.cxx
src/HEXABLOCKGUI/HEXABLOCKGUI_OccGraphicView.hxx
src/HEXABLOCKGUI/HEXABLOCKGUI_Resource.cxx
src/HEXABLOCKGUI/HEXABLOCKGUI_Resource.hxx
src/HEXABLOCKGUI/HEXABLOCKGUI_SalomeTools.cxx
src/HEXABLOCKGUI/HEXABLOCKGUI_SalomeTools.hxx
src/HEXABLOCKGUI/HEXABLOCKGUI_Trace.cxx
src/HEXABLOCKGUI/HEXABLOCKGUI_Trace.hxx
src/HEXABLOCKGUI/HEXABLOCKGUI_VtkDocumentGraphicView.cxx
src/HEXABLOCKGUI/HEXABLOCKGUI_VtkDocumentGraphicView.hxx
src/HEXABLOCKGUI/MyBasicGUI_PointDlg.cxx
src/HEXABLOCKGUI/MyBasicGUI_PointDlg.hxx
src/HEXABLOCKGUI/MyDlgRef/CMakeLists.txt
src/HEXABLOCKGUI/MyDlgRef/MyDlgRef.cxx
src/HEXABLOCKGUI/MyDlgRef/MyDlgRef.hxx
src/HEXABLOCKGUI/MyGEOMBase_Skeleton.cxx
src/HEXABLOCKGUI/MyGEOMBase_Skeleton.hxx
src/HEXABLOCKGUI/Resource.cxx
src/HEXABLOCKGUI/Resource.hxx
src/HEXABLOCKGUI/resources/HEXABLOCKCatalog.xml.in
src/HEXABLOCKGUI/resources/HEXABLOCK_icons.ts
src/HEXABLOCKGUI/resources/LightApp.xml
src/HEXABLOCKGUI/resources/SalomeApp.xml.in
src/HEXABLOCK_SWIG/CMakeLists.txt
src/HEXABLOCK_SWIG/hexablock.py
src/HEXABLOCK_SWIG/hexablock_swig.py
src/HEXABLOCK_SWIG/hexablock_swig_wrap.cc
src/HEXABLOCK_SWIG/make_swig
src/TEST_CPP/CMakeLists.txt
src/TEST_CPP/HexEdgeTest.cxx
src/TEST_CPP/HexEdgeTest.hxx
src/TEST_CPP/HexTest.hxx
src/TEST_CPP/HexVertexTest.cxx
src/TEST_CPP/HexVertexTest.hxx
src/TEST_CPP/ModelTest.cxx
src/TEST_CPP/ModelTest.hxx
src/TEST_CPP/Test_HEXABLOCK.cxx
src/TEST_CPP/test_hexa1.cxx
src/TEST_CPP/test_quads.cxx
src/TEST_CPP/test_tools.cxx
src/TEST_CPP/test_unit.hxx
src/TEST_PY/CMakeLists.txt
src/TEST_PY/cas_2013/casImplicite.brep [new file with mode: 0755]
src/TEST_PY/cas_2013/casImplicite.vtk [new file with mode: 0755]
src/TEST_PY/cas_2013/cas_2013.py [new file with mode: 0755]
src/TEST_PY/cas_2013/make_pave.py [new file with mode: 0644]
src/TEST_PY/non_regression/k21592_getAsso.py
src/TEST_PY/recettes/bielle.py
src/TEST_PY/recettes/cuve.py
src/TEST_PY/recettes/troisCylindres.py
src/TEST_PY/recettes/tuyau.py
src/TEST_PY/recettes/tuyauterie.py
src/TEST_PY/test_unit/asso_grid.py
src/TEST_PY/test_unit/cut_grille.py
src/TEST_PY/test_unit/hexa_quads.py
src/TEST_PY/test_unit/revolution.py
src/TEST_PY/test_unit/test_asso_lines.py
src/TEST_PY/test_unit/test_bugs.py
src/TEST_PY/test_unit/test_carre.py
src/TEST_PY/test_unit/test_cone.py
src/TEST_PY/test_unit/test_cross.py
src/TEST_PY/test_unit/test_cuve.py
src/TEST_PY/test_unit/test_cylinders.py
src/TEST_PY/test_unit/test_disco.py
src/TEST_PY/test_unit/test_double_t.py
src/TEST_PY/test_unit/test_perform.py
src/TEST_PY/test_unit/test_piquage.py
src/TEST_PY/test_unit/test_rind.py
src/TEST_PY/test_unit/test_shapes.py
src/TEST_PY/test_unit/test_sphere.py
src/TEST_PY/test_unit/test_transfo.py
src/TEST_PY/test_unit/test_xml.py
src/TEST_PY/test_unit/troisCylindres_v5.py
src/TEST_PY/test_v6/makeCartesianTop.py [new file with mode: 0644]
src/TEST_PY/test_v6/makeCylinderTop.py [new file with mode: 0644]
src/TEST_PY/test_v6/makePipeTop.py [new file with mode: 0644]
src/TEST_PY/test_v6/makeRindTop.py [new file with mode: 0644]
src/TEST_PY/test_v6/makeRindUni.py [new file with mode: 0644]
src/TEST_PY/test_v6/makeSphere.py [new file with mode: 0644]
src/TEST_PY/test_v6/makeSphereTop.py [new file with mode: 0644]
src/TEST_PY/test_v6/makeSphereUni.py [new file with mode: 0644]
src/TEST_PY/test_v6/monica.py [new file with mode: 0755]
src/TEST_PY/test_v6/test_cone.py [new file with mode: 0644]

index 847ba193e3427fed66d14aec6172a969e669707f..3fe5cbceb49fc39d7beced7dbffc1077ddb5a094 100755 (executable)
@@ -1,9 +1,9 @@
-# Copyright (C) 2012-2013  CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2012-2014  CEA/DEN, EDF R&D
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
 # License as published by the Free Software Foundation; either
-# version 2.1 of the License.
+# version 2.1 of the License, or (at your option) any later version.
 #
 # This library is distributed in the hope that it will be useful,
 # but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -32,7 +32,7 @@ SET(${PROJECT_NAME_UC}_MINOR_VERSION 3)
 SET(${PROJECT_NAME_UC}_PATCH_VERSION 1)
 SET(${PROJECT_NAME_UC}_VERSION
   ${${PROJECT_NAME_UC}_MAJOR_VERSION}.${${PROJECT_NAME_UC}_MINOR_VERSION}.${${PROJECT_NAME_UC}_PATCH_VERSION})
-SET(${PROJECT_NAME_UC}_VERSION_DEV 0)
+SET(${PROJECT_NAME_UC}_VERSION_DEV 1)
 
 # Find KERNEL
 # ===========
@@ -199,12 +199,12 @@ INCLUDE(CMakePackageConfigHelpers)
 # List of targets in this project we want to make visible to the rest of the world.
 # They all have to be INSTALL'd with the option "EXPORT ${PROJECT_NAME}TargetGroup"
 SET(_${PROJECT_NAME}_exposed_targets 
-  HEXABLOCKEngine _hexablock_swig MyDlgRef
+  HEXABLOCKEngine _hexablock_swig
 )
 
 IF(SALOME_BUILD_GUI)
   LIST(APPEND _${PROJECT_NAME}_exposed_targets 
-    HEXABLOCK
+    MyDlgRef HEXABLOCK
   )
 ENDIF(SALOME_BUILD_GUI)
 
index 0d8f402f2f0a9123b08ebc69af65465190105a62..48d4c5e3729881bcc02980a93be1a4b4224d5f40 100755 (executable)
--- a/Doxyfile
+++ b/Doxyfile
@@ -1,9 +1,9 @@
-# Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+# Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
 # License as published by the Free Software Foundation; either
-# version 2.1 of the License.
+# version 2.1 of the License, or (at your option) any later version.
 #
 # This library is distributed in the hope that it will be useful,
 # but WITHOUT ANY WARRANTY; without even the implied warranty of
index d448bd61784f18517e84d1a2d16be3d3aa299da7..9fd3f3777260bf73ba266a948fdd5e9a65dfdb4d 100755 (executable)
@@ -1,9 +1,9 @@
-// Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+// Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
index 7528830abd191da28939216af187865b170188e2..72dfcda9e7678d33e4ba0a694fd4d52a7fb962cd 100644 (file)
@@ -1,32 +1,27 @@
-# - Config file for the @PROJECT_NAME@ package
-# It defines the following variables. 
-# Specific to the pacakge @PROJECT_NAME@ itself:
-#  @PROJECT_NAME_UC@_ROOT_DIR_EXP - the root path of the installation providing this CMake file
+# Copyright (C) 2007-2014  CEA/DEN, EDF R&D
 #
-
-###############################################################
-#  Copyright (C) 2007-2013  CEA/DEN, EDF R&D, OPEN CASCADE
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
 #
-#  Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-#  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Lesser General Public License for more details.
 #
-#  This library is free software; you can redistribute it and/or
-#  modify it under the terms of the GNU Lesser General Public
-#  License as published by the Free Software Foundation; either
-#  version 2.1 of the License.
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
 #
-#  This library is distributed in the hope that it will be useful,
-#  but WITHOUT ANY WARRANTY; without even the implied warranty of
-#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-#  Lesser General Public License for more details.
+# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 #
-#  You should have received a copy of the GNU Lesser General Public
-#  License along with this library; if not, write to the Free Software
-#  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+
+# - Config file for the @PROJECT_NAME@ package
+# It defines the following variables. 
+# Specific to the pacakge @PROJECT_NAME@ itself:
+#  @PROJECT_NAME_UC@_ROOT_DIR_EXP - the root path of the installation providing this CMake file
 #
-#  See http://www.salome-platform.org/ or
-#  email : webmaster.salome@opencascade.com
-###############################################################
 
 ### Initialisation performed by CONFIGURE_PACKAGE_CONFIG_FILE:
 @PACKAGE_INIT@
index 84d97c22e5014fa450423e11fb3931dd15cccf26..5162c28b4b690df6fd06cf2242d30bb722b2a082 100755 (executable)
@@ -1,12 +1,9 @@
-# Copyright (C) 2007-2013  CEA/DEN, EDF R&D, OPEN CASCADE
-#
-# Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+# Copyright (C) 2012-2014  CEA/DEN, EDF R&D
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
 # License as published by the Free Software Foundation; either
-# version 2.1 of the License.
+# version 2.1 of the License, or (at your option) any later version.
 #
 # This library is distributed in the hope that it will be useful,
 # but WITHOUT ANY WARRANTY; without even the implied warranty of
index f1b2c53353b3fb2b58f5c954fcf3ff43ac68f22e..16d91c4c53596b07d2a27f103490788e6f614fa4 100755 (executable)
@@ -1,9 +1,9 @@
-# Copyright (C) 2012-2013  CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2012-2014  CEA/DEN, EDF R&D
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
 # License as published by the Free Software Foundation; either
-# version 2.1 of the License.
+# version 2.1 of the License, or (at your option) any later version.
 #
 # This library is distributed in the hope that it will be useful,
 # but WITHOUT ANY WARRANTY; without even the implied warranty of
index a1ccb0f61a442968441bd7424f7521d5811110c3..8dac5e3f230ababfe6e7ef2731f659778f3c23bd 100644 (file)
@@ -1,9 +1,9 @@
-# Copyright (C) 2007-2013  CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2007-2014  CEA/DEN, EDF R&D
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
 # License as published by the Free Software Foundation; either
-# version 2.1 of the License.
+# version 2.1 of the License, or (at your option) any later version.
 #
 # This library is distributed in the hope that it will be useful,
 # but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -16,7 +16,6 @@
 #
 # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 #
-#
 
 IF(NOT SalomeHEXABLOCK_FIND_QUIETLY)
   MESSAGE(STATUS "Looking for Salome HEXABLOCK ...")
index 2f895ae4bc65192d67fe49837c7fbdaa8b7fd4a5..f3b612c2b6df7872353d67258fc850b6056149c6 100755 (executable)
@@ -1,9 +1,9 @@
-# Copyright (C) 2012-2013  CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2012-2014  CEA/DEN, EDF R&D
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
 # License as published by the Free Software Foundation; either
-# version 2.1 of the License.
+# version 2.1 of the License, or (at your option) any later version.
 #
 # This library is distributed in the hope that it will be useful,
 # but WITHOUT ANY WARRANTY; without even the implied warranty of
index 9049a5effd824269f352d9a12e153ece7711bf42..8e54530fb397c7d6b7678667c30ec77cf5e45a85 100755 (executable)
@@ -1,12 +1,9 @@
-# Copyright (C) 2007-2013  CEA/DEN, EDF R&D, OPEN CASCADE
-#
-# Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+# Copyright (C) 2007-2014  CEA/DEN, EDF R&D
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
 # License as published by the Free Software Foundation; either
-# version 2.1 of the License.
+# version 2.1 of the License, or (at your option) any later version.
 #
 # This library is distributed in the hope that it will be useful,
 # but WITHOUT ANY WARRANTY; without even the implied warranty of
index f593298b083ee27d73247b0f1b674394592013f6..cf8d5d191a9d3996e52b9983da9aed302529202b 100755 (executable)
@@ -1,9 +1,9 @@
-dnl Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+dnl Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 dnl
 dnl This library is free software; you can redistribute it and/or
 dnl modify it under the terms of the GNU Lesser General Public
 dnl License as published by the Free Software Foundation; either
-dnl version 2.1 of the License.
+dnl version 2.1 of the License, or (at your option) any later version.
 dnl
 dnl This library is distributed in the hope that it will be useful,
 dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
index 082f4b187ca39f9eb18575d03f27f07a89103efe..f6b2710437e624fa50b1c49f1132e1e6be55f2ab 100755 (executable)
@@ -1,9 +1,9 @@
-dnl Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+dnl Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 dnl
 dnl This library is free software; you can redistribute it and/or
 dnl modify it under the terms of the GNU Lesser General Public
 dnl License as published by the Free Software Foundation; either
-dnl version 2.1 of the License.
+dnl version 2.1 of the License, or (at your option) any later version.
 dnl
 dnl This library is distributed in the hope that it will be useful,
 dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
index 4f98f432d7fff3e8baf5132a13cdb703a6be4857..46f70bba15b3408f3120dd0725c7eda16b418285 100644 (file)
@@ -1,9 +1,9 @@
-dnl Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+dnl Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 dnl
 dnl This library is free software; you can redistribute it and/or
 dnl modify it under the terms of the GNU Lesser General Public
 dnl License as published by the Free Software Foundation; either
-dnl version 2.1 of the License.
+dnl version 2.1 of the License, or (at your option) any later version.
 dnl
 dnl This library is distributed in the hope that it will be useful,
 dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
index cacaba716be9fed12a0cabb09873bcbc08a97a4f..1fbe24fe2d38a590368516f28f1b8636e6211682 100755 (executable)
@@ -1,9 +1,9 @@
-dnl Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+dnl Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 dnl
 dnl This library is free software; you can redistribute it and/or
 dnl modify it under the terms of the GNU Lesser General Public
 dnl License as published by the Free Software Foundation; either
-dnl version 2.1 of the License.
+dnl version 2.1 of the License, or (at your option) any later version.
 dnl
 dnl This library is distributed in the hope that it will be useful,
 dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
index a724e6ecbf3bee0680783825e2c323e9f7a7d6e3..4e27cf031ac418c7ed794f8c70d2667eaaab172a 100755 (executable)
@@ -1,9 +1,9 @@
-# Copyright (C) 2012-2013  CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2012-2014  CEA/DEN, EDF R&D
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
 # License as published by the Free Software Foundation; either
-# version 2.1 of the License.
+# version 2.1 of the License, or (at your option) any later version.
 #
 # This library is distributed in the hope that it will be useful,
 # but WITHOUT ANY WARRANTY; without even the implied warranty of
index f6e9645766f6b23eb41f8b15b9aeb99a956e3bf9..dc05e7357ad356185601f4ce91ce411e20cf7b11 100755 (executable)
@@ -1,10 +1,10 @@
 #!/usr/bin/env python
-# Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+# Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
 # License as published by the Free Software Foundation; either
-# version 2.1 of the License.
+# version 2.1 of the License, or (at your option) any later version.
 #
 # This library is distributed in the hope that it will be useful,
 # but WITHOUT ANY WARRANTY; without even the implied warranty of
index 559d02198870affb308b903c635a1b8b06ceb523..080a3200d78e8e80410a55aa247fd843af9fff8e 100755 (executable)
@@ -1,10 +1,10 @@
 #!/bin/sh
-# Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+# Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
 # License as published by the Free Software Foundation; either
-# version 2.1 of the License.
+# version 2.1 of the License, or (at your option) any later version.
 #
 # This library is distributed in the hope that it will be useful,
 # but WITHOUT ANY WARRANTY; without even the implied warranty of
index 78ed205c1800ae0a542dac91afbd664b89115c8c..9cf22e3bf1cd160bc67709e0906c76374365849c 100755 (executable)
@@ -1,9 +1,9 @@
-# Copyright (C) 2012-2013  CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2012-2014  CEA/DEN, EDF R&D
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
 # License as published by the Free Software Foundation; either
-# version 2.1 of the License.
+# version 2.1 of the License, or (at your option) any later version.
 #
 # This library is distributed in the hope that it will be useful,
 # but WITHOUT ANY WARRANTY; without even the implied warranty of
index d08996e6d4d32227b5dc93f76ec71c81205794ff..e4f13b28df9f822bd13973b7e7424ce15269dd33 100644 (file)
@@ -1,10 +1,10 @@
 # -*- coding: latin-1 -*-
-# Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+# Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
 # License as published by the Free Software Foundation; either
-# version 2.1 of the License.
+# version 2.1 of the License, or (at your option) any later version.
 #
 # This library is distributed in the hope that it will be useful,
 # but WITHOUT ANY WARRANTY; without even the implied warranty of
index c5f403fb9a319e2372b7b1c1749d3d18ce58e28e..22c4fe1937ce0f386cd724732949f4709d9e128f 100644 (file)
@@ -49,7 +49,7 @@ master_doc = 'index'
 
 # General information about the project.
 project = u'HexaBlock'
-copyright = u'2009-2013  CEA/DEN, EDF R&D'
+copyright = u'2009-2014  CEA/DEN, EDF R&D'
 
 # The version info for the project you're documenting, acts as replacement for
 # |version| and |release|, also used in various other places throughout the
index 03367c4b6b75737bccde97e9d229dbed2c50acec..8a51763e24915c33219fdd22ad3d2e9dd4293be5 100644 (file)
@@ -1,10 +1,10 @@
 # -*- coding: latin-1 -*-
-# Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+# Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
 # License as published by the Free Software Foundation; either
-# version 2.1 of the License.
+# version 2.1 of the License, or (at your option) any later version.
 #
 # This library is distributed in the hope that it will be useful,
 # but WITHOUT ANY WARRANTY; without even the implied warranty of
index 3e965a473f70c19198e0dc240dc39d788dea28b3..03452d0877eac1af82e2d8f20a92cb06e501ea21 100644 (file)
@@ -1,10 +1,10 @@
 # -*- coding: latin-1 -*-
-# Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+# Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
 # License as published by the Free Software Foundation; either
-# version 2.1 of the License.
+# version 2.1 of the License, or (at your option) any later version.
 #
 # This library is distributed in the hope that it will be useful,
 # but WITHOUT ANY WARRANTY; without even the implied warranty of
index 035d8fb3a86174fd41bfaa8747814fda460e9529..390ee86ff0fda114a06a57a01e17e555772e429d 100644 (file)
@@ -1,10 +1,10 @@
 #!/usr/bin/python
-# Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+# Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
 # License as published by the Free Software Foundation; either
-# version 2.1 of the License.
+# version 2.1 of the License, or (at your option) any later version.
 #
 # This library is distributed in the hope that it will be useful,
 # but WITHOUT ANY WARRANTY; without even the implied warranty of
index 5a963777bd35b2a5958902d3788b87b49a7609c3..4d7d015ec6961edbc42c8fb36517ee5d6a2a524f 100644 (file)
@@ -1,10 +1,10 @@
 # -*- coding: latin-1 -*-
-# Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+# Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
 # License as published by the Free Software Foundation; either
-# version 2.1 of the License.
+# version 2.1 of the License, or (at your option) any later version.
 #
 # This library is distributed in the hope that it will be useful,
 # but WITHOUT ANY WARRANTY; without even the implied warranty of
index 2db0efa663b4c596454c0257ae883e0ac92403cc..d8edec70b0d3beb1462cc355723e207e9de583da 100755 (executable)
@@ -1,9 +1,9 @@
-# Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+# Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
 # License as published by the Free Software Foundation; either
-# version 2.1 of the License.
+# version 2.1 of the License, or (at your option) any later version.
 #
 # This library is distributed in the hope that it will be useful,
 # but WITHOUT ANY WARRANTY; without even the implied warranty of
index f0ce64056129b91c751f53cf8d56887a25826e6b..892a701ae071c1d27e9bed649d28cdaba1b3f564 100644 (file)
@@ -1,9 +1,9 @@
-# Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+# Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
 # License as published by the Free Software Foundation; either
-# version 2.1 of the License.
+# version 2.1 of the License, or (at your option) any later version.
 #
 # This library is distributed in the hope that it will be useful,
 # but WITHOUT ANY WARRANTY; without even the implied warranty of
index c0271568b0faf902f1193d1f4dc50b6a58fec03f..36d52541314850f7f6309ebb593e2fc6983cc436 100644 (file)
@@ -1,9 +1,9 @@
-# Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+# Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
 # License as published by the Free Software Foundation; either
-# version 2.1 of the License.
+# version 2.1 of the License, or (at your option) any later version.
 #
 # This library is distributed in the hope that it will be useful,
 # but WITHOUT ANY WARRANTY; without even the implied warranty of
index 77a28dea3c87255b3441f54491e7f12927d5d8ee..abdaca540ef667923881f03127985324aac3b3c8 100644 (file)
@@ -1,9 +1,9 @@
-# Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+# Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
 # License as published by the Free Software Foundation; either
-# version 2.1 of the License.
+# version 2.1 of the License, or (at your option) any later version.
 #
 # This library is distributed in the hope that it will be useful,
 # but WITHOUT ANY WARRANTY; without even the implied warranty of
index 5052e0abc0d6a6f4e65b4c1f3dfa88369fc050db..1030f0f2b130502ff36d5604680a512b5dec5e5b 100644 (file)
@@ -1,9 +1,9 @@
-# Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+# Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
 # License as published by the Free Software Foundation; either
-# version 2.1 of the License.
+# version 2.1 of the License, or (at your option) any later version.
 #
 # This library is distributed in the hope that it will be useful,
 # but WITHOUT ANY WARRANTY; without even the implied warranty of
index ccefb8cbf214351a742e21ce28fe25820c8e0cb4..88a25c7f30d7487545fb644f0aa85b116a41c74b 100644 (file)
@@ -1,9 +1,9 @@
-# Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+# Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
 # License as published by the Free Software Foundation; either
-# version 2.1 of the License.
+# version 2.1 of the License, or (at your option) any later version.
 #
 # This library is distributed in the hope that it will be useful,
 # but WITHOUT ANY WARRANTY; without even the implied warranty of
index 681155d4f820644b1a9a899759935260ff55017e..943f0caa107c2ab99898d9bb6b2617f04edd2192 100644 (file)
@@ -1,9 +1,9 @@
-# Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+# Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
 # License as published by the Free Software Foundation; either
-# version 2.1 of the License.
+# version 2.1 of the License, or (at your option) any later version.
 #
 # This library is distributed in the hope that it will be useful,
 # but WITHOUT ANY WARRANTY; without even the implied warranty of
index 095cc2e2c4e8282b5b034bfe4c5ee20716333b69..4b9bad71e6e2a5d757117438834c8c4cb3732104 100644 (file)
@@ -1,9 +1,9 @@
-# Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+# Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
 # License as published by the Free Software Foundation; either
-# version 2.1 of the License.
+# version 2.1 of the License, or (at your option) any later version.
 #
 # This library is distributed in the hope that it will be useful,
 # but WITHOUT ANY WARRANTY; without even the implied warranty of
index caa63aa8edd111e11f4eca5e9d9214dcc3865676..de0d6a291a8aaece26c6e0323f7a5e01be7861d8 100644 (file)
@@ -1,9 +1,9 @@
-# Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+# Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
 # License as published by the Free Software Foundation; either
-# version 2.1 of the License.
+# version 2.1 of the License, or (at your option) any later version.
 #
 # This library is distributed in the hope that it will be useful,
 # but WITHOUT ANY WARRANTY; without even the implied warranty of
index faa960d3b01ed79d36f0a6a1a07a5d30f67732f7..e317323ff13b917759073258c04faffd59f57009 100644 (file)
@@ -1,9 +1,9 @@
-# Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+# Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
 # License as published by the Free Software Foundation; either
-# version 2.1 of the License.
+# version 2.1 of the License, or (at your option) any later version.
 #
 # This library is distributed in the hope that it will be useful,
 # but WITHOUT ANY WARRANTY; without even the implied warranty of
index bb854c92080210577696923042bbf65ffcde40cf..cb741c695d463bfd919edb21b3e16ad5c9ccc498 100644 (file)
@@ -1,9 +1,9 @@
-# Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+# Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
 # License as published by the Free Software Foundation; either
-# version 2.1 of the License.
+# version 2.1 of the License, or (at your option) any later version.
 #
 # This library is distributed in the hope that it will be useful,
 # but WITHOUT ANY WARRANTY; without even the implied warranty of
index 49ee8d0a8a1f46fcef3a8d425dc9dc8c8fd477ae..78deb492a08186979b1b554c74ee4f3dbdb0f1da 100644 (file)
@@ -1,9 +1,9 @@
-# Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+# Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
 # License as published by the Free Software Foundation; either
-# version 2.1 of the License.
+# version 2.1 of the License, or (at your option) any later version.
 #
 # This library is distributed in the hope that it will be useful,
 # but WITHOUT ANY WARRANTY; without even the implied warranty of
index 0fce4244deff3272fce1c3986612bd1ee0dc05fe..f6cd1e3d9c42d0090fe18a467943b80cc46057f5 100644 (file)
@@ -1,4 +1,23 @@
 # -*- coding: utf-8 -*-
+# Copyright (C) 2009-2014  CEA/DEN, EDF R&D
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+#
+# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+#
+
 ####### Test Cartesian Grid #################    
     
 import hexablock
index ce81aeb763787fe99a2da0cdb0eaaf898452f09a..048b42b84af60021811086af30828706a9aa5914 100644 (file)
@@ -1,4 +1,23 @@
 # -*- coding: utf-8 -*-
+# Copyright (C) 2009-2014  CEA/DEN, EDF R&D
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+#
+# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+#
+
 ####### Test for Cut Hexa ###############
 
 import hexablock
index 2e307e47498444bf8f1bb4a26e222d52c5cb87de..b6970563d9b54fbf0c89a4e6162d44a5cb982c71 100644 (file)
@@ -1,4 +1,23 @@
 # -*- coding: utf-8 -*-
+# Copyright (C) 2009-2014  CEA/DEN, EDF R&D
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+#
+# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+#
+
 ####### Make Cylinder Test ########## 
 
 import hexablock
index 4cc2eb511c26cc1824ede12836a7bacb89df7dcc..0e65223d445e36fdbe4e9f40792a9a4e50aac994 100644 (file)
@@ -1,4 +1,23 @@
 # -*- coding: utf-8 -*-
+# Copyright (C) 2009-2014  CEA/DEN, EDF R&D
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+#
+# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+#
+
 ####### Make Cylinders Test ########## 
 
 import hexablock
index f12e02e3738efdae3be756bff9736bca6e044e7b..bf28347f8c242ede6091fd0bb18e75e027a35933 100644 (file)
@@ -1,10 +1,10 @@
 # -*- coding: latin-1 -*-
-# Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+# Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
 # License as published by the Free Software Foundation; either
-# version 2.1 of the License.
+# version 2.1 of the License, or (at your option) any later version.
 #
 # This library is distributed in the hope that it will be useful,
 # but WITHOUT ANY WARRANTY; without even the implied warranty of
index b393e68fd3d414e0104eec1c102b93927101bde3..dc5bfe16c1f1a5b4dd4bc4fa61434ab34435c9d1 100644 (file)
@@ -1,4 +1,23 @@
 # -*- coding: utf-8 -*-
+# Copyright (C) 2009-2014  CEA/DEN, EDF R&D
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+#
+# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+#
+
 ####### Test for Extrude Quad ###############
 
 import hexablock
index 4720f4abb2763d625a5a1d2230b1ef856f2282ef..2974c12045c25ffb7e352653ad81022fd6bd638b 100644 (file)
@@ -1,4 +1,23 @@
 # -*- coding: utf-8 -*-
+# Copyright (C) 2009-2014  CEA/DEN, EDF R&D
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+#
+# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+#
+
 ####### Concentric (Spherical) Grid Test ##########
 
 import hexablock
index 3359cdb2d8532900146032d048fe741c31b22b5e..664c6e9f68827aa87f6c7b0d16c5c37d3cb9eeae 100644 (file)
@@ -1,4 +1,23 @@
 # -*- coding: utf-8 -*-
+# Copyright (C) 2009-2014  CEA/DEN, EDF R&D
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+#
+# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+#
+
 ####### Rind Grid Test ##########
 
 import hexablock
index fdbd761f4c42a73a3cfbd29c2dbcbe48e32cf603..629c62ad89076eb335b3b790834b2c4c7b84d79e 100644 (file)
@@ -1,4 +1,23 @@
 # -*- coding: utf-8 -*-
+# Copyright (C) 2009-2014  CEA/DEN, EDF R&D
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+#
+# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+#
+
 ####### Sphere Grid Test ##########
 
 import hexablock
index a9b7487fa7b1a35ab65c2bda6d6ed5e690de5b47..c22abcf07b19698b1e6f38f6809d14775fa52ce0 100644 (file)
@@ -1,10 +1,10 @@
 # -*- coding: latin-1 -*-
-# Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+# Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
 # License as published by the Free Software Foundation; either
-# version 2.1 of the License.
+# version 2.1 of the License, or (at your option) any later version.
 #
 # This library is distributed in the hope that it will be useful,
 # but WITHOUT ANY WARRANTY; without even the implied warranty of
index 5d1e0bff7fce5d9ec6347fe37740bf9340857112..91e797c25d6a1ef23be07cbd05d29d24b9b17469 100644 (file)
@@ -1,4 +1,23 @@
 # -*- coding: utf-8 -*-
+# Copyright (C) 2009-2014  CEA/DEN, EDF R&D
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+#
+# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+#
+
 ####### Test for Join Quad ###############
 
 import hexablock
index 04a53097b88399da969f201cf2c36e0a5af62228..c9b35e28eb47c4912d2808a641ebbc51d3b56abf 100644 (file)
@@ -1,10 +1,10 @@
 # -*- coding: latin-1 -*-
-# Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+# Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
 # License as published by the Free Software Foundation; either
-# version 2.1 of the License.
+# version 2.1 of the License, or (at your option) any later version.
 #
 # This library is distributed in the hope that it will be useful,
 # but WITHOUT ANY WARRANTY; without even the implied warranty of
index f227c8d0104145a354cc6bd4c900170a70669895..670ef2d3e4b7dd7497032e094d0ab614fbb19e16 100644 (file)
@@ -1,10 +1,10 @@
 # -*- coding: latin-1 -*-
-# Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+# Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
 # License as published by the Free Software Foundation; either
-# version 2.1 of the License.
+# version 2.1 of the License, or (at your option) any later version.
 #
 # This library is distributed in the hope that it will be useful,
 # but WITHOUT ANY WARRANTY; without even the implied warranty of
index fbf45823493979fb71890a1cc9806ed7f81cb310..28fbcf11bffcc19482d1f4b902a96d07bd048ed9 100644 (file)
@@ -1,10 +1,10 @@
 # -*- coding: latin-1 -*-
-# Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+# Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
 # License as published by the Free Software Foundation; either
-# version 2.1 of the License.
+# version 2.1 of the License, or (at your option) any later version.
 #
 # This library is distributed in the hope that it will be useful,
 # but WITHOUT ANY WARRANTY; without even the implied warranty of
index e88672ccee66fca4fd5696353e9959ecc4f597e6..b01395bd6ce9dbcad5e4eb304f929a679c52e0ce 100644 (file)
@@ -1,10 +1,10 @@
 # -*- coding: latin-1 -*-
-# Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+# Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
 # License as published by the Free Software Foundation; either
-# version 2.1 of the License.
+# version 2.1 of the License, or (at your option) any later version.
 #
 # This library is distributed in the hope that it will be useful,
 # but WITHOUT ANY WARRANTY; without even the implied warranty of
index 3cf69a1c2c893a765724a858ce2e43ce0092f926..6a710d25ab72a1980f17bdb0380f0401dd3efda0 100644 (file)
@@ -1,10 +1,10 @@
 # -*- coding: latin-1 -*-
-# Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+# Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
 # License as published by the Free Software Foundation; either
-# version 2.1 of the License.
+# version 2.1 of the License, or (at your option) any later version.
 #
 # This library is distributed in the hope that it will be useful,
 # but WITHOUT ANY WARRANTY; without even the implied warranty of
index 95d6a0474b5ef0c124ffb14cce1ca985f1dabe1b..bf391d5a98da32901e2344ee0021f4c7bb2744bc 100644 (file)
@@ -1,10 +1,10 @@
 # -*- coding: latin-1 -*-
-# Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+# Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
 # License as published by the Free Software Foundation; either
-# version 2.1 of the License.
+# version 2.1 of the License, or (at your option) any later version.
 #
 # This library is distributed in the hope that it will be useful,
 # but WITHOUT ANY WARRANTY; without even the implied warranty of
index ea8095ed6634ac919f192e661a401dfe0d3ed77a..7ac0c7c5cd317a0fa05ac1c34c1a8b1735770408 100644 (file)
@@ -1,4 +1,23 @@
 # -*- coding: utf-8 -*-
+# Copyright (C) 2009-2014  CEA/DEN, EDF R&D
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+#
+# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+#
+
 ####### Make Pipe Test ########## 
 
 import hexablock
index 6ec7521ec78536c07cd9aa87ebb5d02fdf1ee3ed..2afc22fb7deb7f8810f80e423e608855495c1965 100644 (file)
@@ -1,4 +1,23 @@
 # -*- coding: utf-8 -*-
+# Copyright (C) 2009-2014  CEA/DEN, EDF R&D
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+#
+# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+#
+
 ####### Make Pipes Test ########## 
 
 import hexablock
index bb1875af77293928fbb948434b1245c89d47cea1..582d8de3f1265279500c2dae40aa06da36b3c4e1 100644 (file)
@@ -1,10 +1,10 @@
 # -*- coding: latin-1 -*-
-# Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+# Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
 # License as published by the Free Software Foundation; either
-# version 2.1 of the License.
+# version 2.1 of the License, or (at your option) any later version.
 #
 # This library is distributed in the hope that it will be useful,
 # but WITHOUT ANY WARRANTY; without even the implied warranty of
index 03515a39208b302efbbfca51f3bd94ddf739c9aa..a3d35b8885fd1ceab39be056c5a28fa87f619e65 100644 (file)
@@ -1,4 +1,23 @@
 # -*- coding: utf-8 -*-
+# Copyright (C) 2009-2014  CEA/DEN, EDF R&D
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+#
+# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+#
+
 #### Quad Revolution Test #####
 
 import hexablock
index 9eac8a0f55da1736ea4d66e4b551eba2611f40ca..3eaa4b941e1109b94ad600b6929def55d679dc34 100644 (file)
@@ -1,10 +1,10 @@
 # -*- coding: latin-1 -*-
-# Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+# Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
 # License as published by the Free Software Foundation; either
-# version 2.1 of the License.
+# version 2.1 of the License, or (at your option) any later version.
 #
 # This library is distributed in the hope that it will be useful,
 # but WITHOUT ANY WARRANTY; without even the implied warranty of
index 3d4ab001fe6c8ab017de739e161934b0a8655f06..f5e2901b6f9fdb5ec4d0f87ab2131534d4236663 100644 (file)
@@ -1,10 +1,10 @@
 # -*- coding: latin-1 -*-
-# Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+# Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
 # License as published by the Free Software Foundation; either
-# version 2.1 of the License.
+# version 2.1 of the License, or (at your option) any later version.
 #
 # This library is distributed in the hope that it will be useful,
 # but WITHOUT ANY WARRANTY; without even the implied warranty of
index fbc6cec53396d97b84204f10f949135c4cb45bd3..90c19562f904656329ff0dfc80ca4c9a7a8707e8 100755 (executable)
@@ -1,10 +1,10 @@
 #!/bin/sh
-# Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+# Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
 # License as published by the Free Software Foundation; either
-# version 2.1 of the License.
+# version 2.1 of the License, or (at your option) any later version.
 #
 # This library is distributed in the hope that it will be useful,
 # but WITHOUT ANY WARRANTY; without even the implied warranty of
index e8ce001655931e356763be6b4d0f6c4c4de1bd4b..dbd39c81aa79a4497487810f2936c5e02c743f1d 100644 (file)
@@ -1,10 +1,10 @@
 # -*- coding: latin-1 -*-
-# Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+# Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
 # License as published by the Free Software Foundation; either
-# version 2.1 of the License.
+# version 2.1 of the License, or (at your option) any later version.
 #
 # This library is distributed in the hope that it will be useful,
 # but WITHOUT ANY WARRANTY; without even the implied warranty of
index 5df9104b1ed1088663a2041ada5755cccb260297..4420712a8959e356fe5c7d59379940cee247a801 100755 (executable)
@@ -1,12 +1,9 @@
-// Copyright (C) 2007-2013  CEA/DEN, EDF R&D, OPEN CASCADE
-//
-// Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+// Copyright (C) 2007-2014  CEA/DEN, EDF R&D
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
index 94f16ca2eedcb308b66124ac8ca8f5ba299cd7b7..761cfd1bf1bf20b620bffa165b10158a86f6094f 100755 (executable)
@@ -1,9 +1,9 @@
-# Copyright (C) 2012-2013  CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2012-2014  CEA/DEN, EDF R&D
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
 # License as published by the Free Software Foundation; either
-# version 2.1 of the License.
+# version 2.1 of the License, or (at your option) any later version.
 #
 # This library is distributed in the hope that it will be useful,
 # but WITHOUT ANY WARRANTY; without even the implied warranty of
index 88fd8f74e154e4075069daef84abe5981498458f..98060ff15517b54db66555b3056c391dd556b2ba 100644 (file)
@@ -1,9 +1,9 @@
-# Copyright (C) 2012-2013  CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2012-2014  CEA/DEN, EDF R&D
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
 # License as published by the Free Software Foundation; either
-# version 2.1 of the License.
+# version 2.1 of the License, or (at your option) any later version.
 #
 # This library is distributed in the hope that it will be useful,
 # but WITHOUT ANY WARRANTY; without even the implied warranty of
index 9e3f36142a8bc026858089f33d9e4cdc612e5095..328a7486a107d04dad1861511ebd6c8b1c393b14 100755 (executable)
@@ -1,12 +1,12 @@
 
 // C++ : La clase principale de Hexa
 
-// Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+// Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
index 7c727c172a683552145bad1a808bbbe673f4e6d5..1104e381aa0776b0db71a25143feefa1f76c0cf7 100755 (executable)
@@ -1,12 +1,12 @@
 
 // class : La clase principale de Hexa
 
-// Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+// Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -17,8 +17,7 @@
 // License along with this library; if not, write to the Free Software
 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
 //
-// See http://www.salome-platform.org/ 
-// or email : webmaster.salome@opencascade.com
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 //
 
 #ifndef __HEX_H
index 1751e1888c994d25476df7a40ac53a16489c4e9e..c0e13b4a02dc3edaee897203799a29f48e342d27 100755 (executable)
@@ -1,12 +1,12 @@
 
 // class : Analyse des quadrangles avant construction
 
-// Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+// Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
index bbcf28c13ffced0e7bb029b4fd2be19561e322e7..ba7a445df2e0c1220d77371173c4dda75c5aaca9 100755 (executable)
@@ -1,12 +1,12 @@
 //
 // C++ : Implementation des associations d'edges
 //
-// Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+// Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -17,8 +17,8 @@
 // License along with this library; if not, write to the Free Software
 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
 //
-// See http://www.salome-platform.org/
-// or email : webmaster.salome@opencascade.com
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+//
 
 #include "HexAssoEdge.hxx"
 #include "HexXmlWriter.hxx"
index 7e9898e1be12ac3c498edfb8fd5751e19a01a101..4c8711540b83fe9d9c0113f6fe0f763beea89b38 100644 (file)
@@ -1,6 +1,25 @@
 
 // class : Gestion des formes associees (Hexa 5)
 
+// Copyright (C) 2009-2014  CEA/DEN, EDF R&D
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+//
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+//
+
 #ifndef __ASSO_EDGE_H_
 #define __ASSO_EDGE_H_
 
index 59468446d9426827671b5a0ed5fede0978a5601a..f7fbe409e708da714d3369db9b6adda2125fd5e9 100755 (executable)
@@ -1,24 +1,24 @@
 
 // C++ : Gestion des cylindres croises
 
-//  Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+// Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 //
-//  This library is free software; you can redistribute it and/or
-//  modify it under the terms of the GNU Lesser General Public
-//  License as published by the Free Software Foundation; either
-//  version 2.1 of the License.
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
 //
-//  This library is distributed in the hope that it will be useful,
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-//  Lesser General Public License for more details.
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+// Lesser General Public License for more details.
 //
-//  You should have received a copy of the GNU Lesser General Public
-//  License along with this library; if not, write to the Free Software
-//  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+//
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 //
-//  See http://www.salome-platform.org/
-//  or email : webmaster.salome@opencascade.com
 
 #include "HexBiCylinder.hxx"
 
index ba6d3699b284daec17b807a9736555196aa7a1a4..8f566a61cef9db1f1d87d26f2eca2553cbcd1bf5 100755 (executable)
@@ -1,24 +1,23 @@
 
 // Class : Gestion des tutaux en T (like castles in scotland)
 
-//  Copyright (C) 2009-2011  CEA/DEN, EDF R&D
+// Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 //
-//  This library is free software; you can redistribute it and/or
-//  modify it under the terms of the GNU Lesser General Public
-//  License as published by the Free Software Foundation; either
-//  version 2.1 of the License.
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
 //
-//  This library is distributed in the hope that it will be useful,
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-//  Lesser General Public License for more details.
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+// Lesser General Public License for more details.
 //
-//  You should have received a copy of the GNU Lesser General Public
-//  License along with this library; if not, write to the Free Software
-//  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
 //
-//  See http://www.salome-platform.org/
-//  or email : webmaster.salome@opencascade.com
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 //
 #ifndef __BI_CYLINDER_H_
 #define __BI_CYLINDER_H_
index 82c9ba6c183a36197742e1afc3fb9ea0d54bfb51..770d487277efa1539849a1fa4e18bcf755d4da96 100755 (executable)
@@ -1,12 +1,12 @@
 //
 // CC++ : Interface Cascade de la classe Elements
 //
-// Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+// Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
 // License along with this library; if not, write to the Free Software
 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
 //
-// See http://www.salome-platform.org/
-// or email : webmaster.salome@opencascade.com
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 //
-//--+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8
 
 #include "HexBiCylinderShape.hxx"
 
index 7309f45ac964fd8b2969149e5e99c7e7ff9c4050..44d281357d6583210dfed86000f7d3530b26de3d 100755 (executable)
@@ -1,12 +1,12 @@
 //
 // CC++ : Representation Cascade d'un bi-cylindre
 //
-// Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+// Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
index f50e322f6399967992b9e73375825ddb5035c231..4be0d99f90fcf36af6089760687734a0e2b2d799 100755 (executable)
@@ -1,12 +1,12 @@
 
 // C++ : Copiteur d'hexaedres
 
-// Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+// Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
index 1f9390b8119271815c00ac5e92073a88347065e1..2ab6094385094d5574e8c07f5396709066c4ce9e 100755 (executable)
@@ -1,9 +1,9 @@
-// Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+// Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
index 0898f0ac886d26b8f5d8f0f535b8abea6ee56a0c..0bade2fc51167c6ebff0a32bfc51278458c358bf 100755 (executable)
@@ -1,12 +1,12 @@
 
 // class : Resolution d'un systeme de Cramer
 
-// Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+// Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
index df152e41c22650c53aea37d8fe1875173e6e10bd..f374b9f906f7495b765c73100217def21581d62e 100755 (executable)
@@ -1,12 +1,12 @@
 
 // Class : Gestion des tutaux en T (like castles in scotland)
 
-// Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+// Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
index 6ed0ac75980ab6fe5e0f955b2f1badacdccd1074..75c48c98720e660a23f3137ac9dc9152096ca7a2 100755 (executable)
@@ -1,12 +1,12 @@
 
 // class : Les cylindres
 
-// Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+// Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
index ed436ad38e86c4352caaa7e11e023b262d131170..b2e91881506637165506a5293a4a171293893055 100755 (executable)
@@ -1,12 +1,12 @@
 
 // Incl : Diagnostics
 
-// Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+// Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
index 59a203f2836a8a9b3dc170cd854921b087468d77..9857797b36274001a3197e150131347adc385a02 100755 (executable)
@@ -1,24 +1,24 @@
 
 // C++ : La clase principale de Hexa
 
-//  Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+// Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 //
-//  This library is free software; you can redistribute it and/or
-//  modify it under the terms of the GNU Lesser General Public
-//  License as published by the Free Software Foundation; either
-//  version 2.1 of the License.
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
 //
-//  This library is distributed in the hope that it will be useful,
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-//  Lesser General Public License for more details.
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+// Lesser General Public License for more details.
 //
-//  You should have received a copy of the GNU Lesser General Public
-//  License along with this library; if not, write to the Free Software
-//  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+//
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 //
-//  See http://www.salome-platform.org/
-//  or email : webmaster.salome@opencascade.com
 
 #include "HexDocument.hxx"
 
index d9a10edd4f630ab57252d9887280e3c224fffc3b..82f71a35d62a73a8163586b4ec16a2f73dc05b06 100755 (executable)
@@ -1,12 +1,12 @@
 
 // class : Document
 
-// Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+// Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
index 8238bd4d3d057037601351404529a77b347531f8..d04a640f0261d3bc5d230a46bef6939154389604 100755 (executable)
@@ -1,12 +1,12 @@
 
 // C++ : Classe Document : methodes internes
 
-// Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+// Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
index 11cf32204e36e670f2555d99f5d86c75e2049dd9..bb0f042c43a4856ffa101cebe26a375b63c9eb34 100755 (executable)
@@ -1,12 +1,12 @@
 
 // C++ : Associations dans le document
 
-// Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+// Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -17,8 +17,7 @@
 // License along with this library; if not, write to the Free Software
 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
 //
-// See http://www.salome-platform.org/
-// or email : webmaster.salome@opencascade.com
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 //
 #include "HexDocument.hxx"
 #include "HexEdge.hxx"
index 56496f2a8564808372031da031f706c25499acad..0c159b8aafbe4f26fde63b9ca0e155db92db0e25 100755 (executable)
@@ -1,12 +1,12 @@
 
 // C++ : Classe Document : Methodes internes 2011
 
-// Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+// Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
index f58d68b9c0784a2a992856518e42cc92c8e53f4a..90abd87c9cda2255bbab42e75295e67bbcdbdc0f 100755 (executable)
@@ -1,6 +1,25 @@
 
 // C++ : Reordonnancement des faces
 
+// Copyright (C) 2009-2014  CEA/DEN, EDF R&D
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+//
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+//
+
 #include "HexDocument.hxx"
 
 #include "HexVertex.hxx"
index 3b2e25e9b45192ade65bf14f378c8b1e4fee47c6..42754e875ae2b1ad103912d5028f0799118c673c 100644 (file)
@@ -1,12 +1,12 @@
 
 // C++ : Classe Document : Methodes internes 2011
 
-// Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+// Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -17,8 +17,8 @@
 // License along with this library; if not, write to the Free Software
 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
 //
-// See http://www.salome-platform.org/ 
-// or email : webmaster.salome@opencascade.com
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+//
 
 #include "HexDocument.hxx"
 #include "HexVertex.hxx"
index 856d895beac43eabb680ffea93c1741f3e0cea49..5592e8a890c7ac78d845ec948cab88b846aabac7 100755 (executable)
@@ -1,12 +1,12 @@
 
 // C++ : La clase principale de Hexa
 
-// Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+// Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -220,13 +220,29 @@ int Document::removeHexa (Hexa* cell)
    DumpStart ("removeHexa", cell);
 
    int ier = HOK;
-   if (cell==NULL)
+   if (BadElement (cell))
+      {
       ier = HERR;
-   else
-      cell->remove ();
+      DumpReturn (ier);
+      return ier;
+      }
 
-   DumpReturn (ier);
-   return ier;
+   update ();
+   Quads menage;
+   for (int nro = 0 ; nro < HQ_MAXI ; ++nro)
+       {
+       Quad* quad = cell->getQuad (nro);
+       if (EltIsValid(quad) && quad->getNbrParents()<=1)
+          menage.push_back (quad);
+       }
+
+   cell->remove ();
+   int nbdel = menage.size();
+   for (int nro = 0 ; nro < nbdel ; ++nro)
+       menage[nro]->remove();
+
+   DumpReturn (HOK);
+   return HOK;
 }
 // ========================================================= removeQuad
 int Document::removeQuad (Quad* cell)
index a8ba2e6aab3eac6e860e663f40e28ca04d6e7d57..9275067f2130fad758363e49f01ab2bcb63d4d1c 100644 (file)
@@ -1,24 +1,24 @@
 
 // C++ : Fonctions de creation HexaBlock v6
 
-//  Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+// Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 //
-//  This library is free software; you can redistribute it and/or
-//  modify it under the terms of the GNU Lesser General Public
-//  License as published by the Free Software Foundation; either
-//  version 2.1 of the License.
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
 //
-//  This library is distributed in the hope that it will be useful,
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-//  Lesser General Public License for more details.
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+// Lesser General Public License for more details.
 //
-//  You should have received a copy of the GNU Lesser General Public
-//  License along with this library; if not, write to the Free Software
-//  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+//
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 //
-//  See http://www.salome-platform.org/
-//  or email : webmaster.salome@opencascade.com
 
 #include "HexDocument.hxx"
 
 #include "HexBiCylinder.hxx"
 #include "HexVector.hxx"
 #include "HexQuad.hxx"
+#include "HexHexa.hxx"
 
 #include "HexGlobale.hxx"
 
 BEGIN_NAMESPACE_HEXA
 
 
+// ======================================================== make_normale
+int make_normale (Quads& tquads, double axe[], double& largeur)
+{
+   double lgmoy = 0;
+   Real3  cf, cg, vn;
+   int    nbre = tquads.size();
+   if (nbre==0)
+       return HERR;
+
+   double coeff = 0;
+   for (int nro=0 ; nro<nbre ; ++nro)
+       {
+       Quad* quad = tquads[nro];
+       int nbp    = quad->getNbrParents();
+       if (nbp!=1)
+          return HERR;
+                        // Calcul des cotes
+       for (int nc=0 ; nc<QUAD4 ; ++nc) 
+           lgmoy += quad->getEdge(nc)->getLength ();
+                        // Calcul de la normale sortante
+       Hexa* hexa = quad->getParent (0);
+       hexa->getCenter (cg);
+       quad->getCenter (cf);
+       calc_vecteur (cg, cf, vn);
+       for (int nc=0 ; nc<DIM3 ; ++nc) 
+           axe[nc] = coeff*axe[nc] + vn[nc];
+       coeff = 1;
+       }
+   
+   normer_vecteur (axe);
+   largeur = lgmoy / (4*nbre);
+   return HOK;
+}
 // ======================================================== makeCartesianTop
 Elements* Document::makeCartesianTop (int nx, int ny, int nz)
 {
@@ -749,10 +783,9 @@ Elements* Document::extrudeQuadTop (Quad* start, int nbre)
    double     larg = 1;
    Elements*  grid = new Elements (this);
 
-   tstart.push_back (start);
-
+   tstart.push_back  (start);
    grid->checkQuad   (start);
-   grid->makeNormale (tstart, axe, larg);
+   make_normale (tstart, axe, larg);
    for (int nro=0 ; nro<nbre; ++nro) tlen.push_back ((nro+1)*larg);
 
    if (grid->isValid())
@@ -823,8 +856,8 @@ Elements* Document::extrudeQuadsTop (Quads tstart, int nbre)
    double     larg = 1;
    Elements* grid = new Elements (this);
 
-   grid->checkQuads  (tstart);
-   grid->makeNormale (tstart, axe, larg);
+   grid->checkQuads (tstart);
+   make_normale     (tstart, axe, larg);
    for (int nro=0 ; nro<nbre; ++nro) tlen.push_back ((nro+1)*larg);
 
    if (grid->isValid())
index af9726eac14a0b85f52fa7c9e4c65349ccc65532..dc03cfa999d7f7566da9a93ddc41fc666aeda115 100644 (file)
-\r
-// Class : Ecriture d'un dump python\r
-\r
-// Copyright (C) 2009-2013  CEA/DEN, EDF R&D\r
-//\r
-// This library is free software; you can redistribute it and/or\r
-// modify it under the terms of the GNU Lesser General Public\r
-// License as published by the Free Software Foundation; either\r
-// version 2.1 of the License.\r
-//\r
-// This library is distributed in the hope that it will be useful,\r
-// but WITHOUT ANY WARRANTY; without even the implied warranty of\r
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\r
-// Lesser General Public License for more details.\r
-//\r
-// You should have received a copy of the GNU Lesser General Public\r
-// License along with this library; if not, write to the Free Software\r
-// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA\r
-//\r
-// See http://www.salome-platform.org/\r
-// or email : webmaster.salome@opencascade.com\r
-\r
-#ifndef __DUMMY_CASCAD_\r
-#define __DUMMY_CASCAD_\r
-\r
-class BRepAdaptor_Curve;\r
-class BRepAlgoAPI_Section;\r
-class BRepBuilderAPI_MakeEdge;\r
-class BRepBuilderAPI_MakeVertex;\r
-class BRepBuilderAPI_Transform;\r
-class BRepPrimAPI_MakeCylinder;\r
-class BRepPrimAPI_MakeSphere;\r
-class BRepTools;\r
-class BRep_Builder;\r
-class BRep_Tool;\r
-class GC_MakeCircle;\r
-class GeomAdaptor_Curve;\r
-class GeomAPI_ProjectPointOnCurve;\r
-class Geom_Circle;\r
-class TopExp_Explorer;\r
-class TopTools_IndexedMapOfShape;\r
-class TopoDS;\r
-class TopoDS_Compound;\r
-class TopoDS_Edge;\r
-class TopoDS_Iterator;\r
-class TopoDS_Vertex;\r
-\r
-class gp_Circ;\r
-class gp_Dir;\r
-class gp_Lin;\r
-class gp_Pln;\r
-class gp_Pnt;\r
-class gp_Vec;\r
-class gp_Ax2;\r
-\r
-// -----------------------------------------------------------\r
-#define Standard_True true\r
-#define Handle(x) int\r
-                        // Extrait de TopAbs_ShapeEnum.hxx \r
-enum TopAbs_ShapeEnum {\r
-  TopAbs_COMPOUND, TopAbs_COMPSOLID, TopAbs_SOLID, TopAbs_SHELL,\r
-  TopAbs_FACE, TopAbs_WIRE, TopAbs_EDGE, TopAbs_VERTEX,\r
-  TopAbs_SHAPE\r
-};\r
-\r
-// -----------------------------------------------------------\r
-class gp_Pnt\r
-{\r
-public :\r
-gp_Pnt ()              {}\r
-gp_Pnt (double, double, double)              {}\r
-double X () { return 0;   }\r
-double Y () { return 0;   }\r
-double Z () { return 0;   }\r
-};\r
-// -----------------------------------------------------------\r
-class gp_Vec\r
-{\r
-public :\r
-gp_Vec (double, double, double)              {}\r
-};\r
-// -----------------------------------------------------------\r
-class gp_Dir\r
-{\r
-public :\r
-gp_Dir (int, int, int)    {}\r
-};\r
-// -----------------------------------------------------------\r
-class gp_Ax2\r
-{\r
-public :\r
-gp_Ax2 (gp_Pnt&, gp_Vec&, gp_Vec&)              {}\r
-gp_Ax2 (gp_Pnt&, gp_Dir, gp_Dir)    {}\r
-};\r
-// -----------------------------------------------------------\r
-class gp_Trsf\r
-{\r
-public :\r
-void SetTranslation (gp_Vec) {}\r
-void SetValues (double, double, double, double,\r
-                double, double, double, double,\r
-                double, double, double, double,\r
-                double, double) {}\r
-gp_Trsf& operator* (gp_Trsf&) { return *this ; }\r
-};\r
-// -----------------------------------------------------------\r
-class TopLoc_Location\r
-{\r
-public :\r
-TopLoc_Location ()         {}\r
-TopLoc_Location (gp_Trsf&) {}\r
-gp_Trsf  Transformation() { return tra ; }\r
-private :\r
-gp_Trsf  tra;\r
-};\r
-// -----------------------------------------------------------\r
-class TopoDS_Shape\r
-{\r
-public :\r
-   TopLoc_Location Location () { return top_loc ; }\r
-   TopoDS_Shape    Located (TopLoc_Location& top_loc) { return *this; }\r
-   int ShapeType () const    { return 0 ; }\r
-\r
-   bool IsNull () const    { return true ; }\r
-   TopoDS_Shape& operator=(const BRepBuilderAPI_MakeVertex&)\r
-        {  return *this ; }\r
-\r
-private :\r
-   TopLoc_Location top_loc;\r
-};\r
-// -----------------------------------------------------------\r
-class gp_Circ\r
-{\r
-public :\r
-gp_Circ (gp_Ax2&, double )              {}\r
-};\r
-// -----------------------------------------------------------\r
-class GCPnts_AbscissaPoint\r
-{\r
-public :\r
-GCPnts_AbscissaPoint (BRepAdaptor_Curve&, double, double) {}\r
-double Parameter ()                                       {return 1; }\r
-static double Length (GeomAdaptor_Curve&, double&, double&)  {return 1; }\r
-gp_Pnt Value (double)  { return point ; }\r
-\r
-private :\r
-gp_Pnt point;\r
-\r
-};\r
-// -----------------------------------------------------------\r
-class BRepAdaptor_Curve\r
-{\r
-public :\r
-BRepAdaptor_Curve (TopoDS_Edge&) {}\r
-double FirstParameter ()                                  {return 1; }\r
-gp_Pnt Value (double)  { return point ; }\r
-\r
-private :\r
-gp_Pnt point;\r
-};\r
-// -----------------------------------------------------------\r
-class GeomAdaptor_Curve\r
-{\r
-public :\r
-GeomAdaptor_Curve (int)   {}\r
-int GetType ()   { return 0 ;}\r
-};\r
-// -----------------------------------------------------------\r
-class BRepPrimAPI_MakeCylinder\r
-{\r
-public :\r
-  BRepPrimAPI_MakeCylinder (gp_Ax2&, double, double) {}\r
-  void         Build ()   {  }\r
-  bool         IsDone ()  { return true; }\r
-  TopoDS_Shape Shape ()   { return forme ; }\r
-\r
-private :\r
-  TopoDS_Shape forme;\r
-};\r
-// -----------------------------------------------------------\r
-class BRepAlgoAPI_Section\r
-{\r
-public :\r
-BRepAlgoAPI_Section (TopoDS_Shape&, TopoDS_Shape&,  bool) {}\r
-  void         Build ()   {  }\r
-  bool         IsDone ()  { return true; }\r
-  void         Approximation (bool)  { }\r
-  TopoDS_Shape Shape ()   { return forme ; }\r
-\r
-private :\r
-  TopoDS_Shape forme;\r
-};\r
-// -----------------------------------------------------------\r
-class TopoDS_Vertex {};\r
-// -----------------------------------------------------------\r
-class TopoDS_Edge {};\r
-// -----------------------------------------------------------\r
-class TopoDS\r
-{\r
-public :\r
-   static TopoDS_Edge    Edge   (const TopoDS_Shape&) { return edge ; }\r
-   static TopoDS_Vertex  Vertex (const TopoDS_Shape&) { return vertex ; }\r
-private :\r
-  static TopoDS_Edge   edge;\r
-  static TopoDS_Vertex vertex;\r
-};\r
-// -----------------------------------------------------------\r
-class BRep_Tool\r
-{\r
-public :\r
-   static int Curve (TopoDS_Edge, double, double) { return 0 ; }\r
-   static int Curve (TopoDS_Edge, TopLoc_Location&, double, double) {return 0;}\r
-   static gp_Pnt Pnt(TopoDS_Vertex vertex ) { return point; }\r
-private :\r
-   static gp_Pnt  point;\r
-\r
-};\r
-// -----------------------------------------------------------\r
-class GeomAPI_ProjectPointOnCurve\r
-{\r
-public :\r
-GeomAPI_ProjectPointOnCurve (gp_Pnt&, int) {};\r
-int    NbPoints () {return 0 ;};\r
-double LowerDistanceParameter () {return 0 ;};\r
-};\r
-// -----------------------------------------------------------\r
-class BRepBuilderAPI_MakeEdge\r
-{\r
-public :\r
-BRepBuilderAPI_MakeEdge (gp_Circ&)  {}\r
-TopoDS_Edge  Edge () { return edge ; }\r
-private :\r
-  static TopoDS_Edge edge;\r
-\r
-};\r
-// -----------------------------------------------------------\r
-class BRep_Builder\r
-{\r
-public :\r
-   void MakeCompound (TopoDS_Compound& ) {}\r
-   void Add (TopoDS_Compound&, TopoDS_Shape& ) {}\r
-   void Add (TopoDS_Compound&, TopoDS_Edge& ) {}\r
-};\r
-// -----------------------------------------------------------\r
-class BRepTools\r
-{\r
-public :\r
-static void Write (TopoDS_Edge&, ostringstream&) {}\r
-static void Write (TopoDS_Shape&, ostringstream&) {}\r
-static void Read  (TopoDS_Shape&, istringstream&, BRep_Builder&) {}\r
-static void Clean  (TopoDS_Shape&) {}\r
-};\r
-// -----------------------------------------------------------\r
-class BRepPrimAPI_MakeSphere\r
-{\r
-public :\r
-BRepPrimAPI_MakeSphere(gp_Ax2&, double&) {}\r
-void         Build ()   {  }\r
-TopoDS_Shape  Face () { return forme ; }\r
-private :\r
-  static TopoDS_Shape forme;\r
-\r
-};\r
-// -----------------------------------------------------------\r
-class BRepBuilderAPI_Transform\r
-{\r
-public :\r
-BRepBuilderAPI_Transform (TopoDS_Shape&, gp_Trsf&, bool)  {}\r
-TopoDS_Shape  Shape () { return forme ; }\r
-\r
-private :\r
-  TopoDS_Shape forme;\r
-\r
-};\r
-\r
-// -----------------------------------------------------------\r
-class TopExp_Explorer\r
-{\r
-public :\r
-TopExp_Explorer (TopoDS_Shape&, int)    {}\r
-bool More()                             { return false ; }\r
-void Next()                             {}\r
-TopoDS_Shape& Current()                 { return forme ; }\r
-private :\r
-  TopoDS_Shape forme;\r
-};\r
-// -----------------------------------------------------------\r
-class TopoDS_Iterator\r
-{\r
-public :\r
-TopoDS_Iterator (const TopoDS_Shape&)   {}\r
-bool More()                             { return false ; }\r
-void Next()                             {}\r
-TopoDS_Shape& Value()                   { return forme ; }\r
-private :\r
-  TopoDS_Shape forme;\r
-};\r
-// -----------------------------------------------------------\r
-class BRepBuilderAPI_MakeVertex\r
-{\r
-public :\r
-BRepBuilderAPI_MakeVertex (gp_Pnt&) {}\r
-TopoDS_Shape& Shape()    { return forme ; }\r
-private :\r
-  TopoDS_Shape forme;\r
-};\r
-// -----------------------------------------------------------\r
-class TopTools_IndexedMapOfShape\r
-{\r
-public :\r
-void Clear()                  {}\r
-int Add (const TopoDS_Shape&)  { return 0 ; }\r
-const TopoDS_Shape& FindKey (int id) { return forme ; }\r
-\r
-private :\r
-  TopoDS_Shape forme;\r
-};\r
-// -----------------------------------------------------------\r
-class GC_MakeCircle {};\r
-class Geom_Circle {};\r
-class TopoDS_Compound : public TopoDS_Shape {};\r
-class gp_Lin {};\r
-class gp_Pln {};\r
-#endif\r
+
+// Class : Ecriture d'un dump python
+
+// Copyright (C) 2009-2014  CEA/DEN, EDF R&D
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+//
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+//
+
+#ifndef __DUMMY_CASCAD_
+#define __DUMMY_CASCAD_
+
+class BRepAdaptor_Curve;
+class BRepAlgoAPI_Section;
+class BRepBuilderAPI_MakeEdge;
+class BRepBuilderAPI_MakeVertex;
+class BRepBuilderAPI_Transform;
+class BRepPrimAPI_MakeCylinder;
+class BRepPrimAPI_MakeSphere;
+class BRepTools;
+class BRep_Builder;
+class BRep_Tool;
+class GC_MakeCircle;
+class GeomAdaptor_Curve;
+class GeomAPI_ProjectPointOnCurve;
+class Geom_Circle;
+class TopExp_Explorer;
+class TopTools_IndexedMapOfShape;
+class TopoDS;
+class TopoDS_Compound;
+class TopoDS_Edge;
+class TopoDS_Iterator;
+class TopoDS_Vertex;
+
+class gp_Circ;
+class gp_Dir;
+class gp_Lin;
+class gp_Pln;
+class gp_Pnt;
+class gp_Vec;
+class gp_Ax2;
+
+// -----------------------------------------------------------
+#define Standard_True true
+#define Handle(x) int
+                        // Extrait de TopAbs_ShapeEnum.hxx 
+enum TopAbs_ShapeEnum {
+  TopAbs_COMPOUND, TopAbs_COMPSOLID, TopAbs_SOLID, TopAbs_SHELL,
+  TopAbs_FACE, TopAbs_WIRE, TopAbs_EDGE, TopAbs_VERTEX,
+  TopAbs_SHAPE
+};
+
+// -----------------------------------------------------------
+class gp_Pnt
+{
+public :
+gp_Pnt ()              {}
+gp_Pnt (double, double, double)              {}
+double X () { return 0;   }
+double Y () { return 0;   }
+double Z () { return 0;   }
+};
+// -----------------------------------------------------------
+class gp_Vec
+{
+public :
+gp_Vec (double, double, double)              {}
+};
+// -----------------------------------------------------------
+class gp_Dir
+{
+public :
+gp_Dir (int, int, int)    {}
+};
+// -----------------------------------------------------------
+class gp_Ax2
+{
+public :
+gp_Ax2 (gp_Pnt&, gp_Vec&, gp_Vec&)              {}
+gp_Ax2 (gp_Pnt&, gp_Dir, gp_Dir)    {}
+};
+// -----------------------------------------------------------
+class gp_Trsf
+{
+public :
+void SetTranslation (gp_Vec) {}
+void SetValues (double, double, double, double,
+                double, double, double, double,
+                double, double, double, double,
+                double, double) {}
+gp_Trsf& operator* (gp_Trsf&) { return *this ; }
+};
+// -----------------------------------------------------------
+class TopLoc_Location
+{
+public :
+TopLoc_Location ()         {}
+TopLoc_Location (gp_Trsf&) {}
+gp_Trsf  Transformation() { return tra ; }
+private :
+gp_Trsf  tra;
+};
+// -----------------------------------------------------------
+class TopoDS_Shape
+{
+public :
+   TopLoc_Location Location () { return top_loc ; }
+   TopoDS_Shape    Located (TopLoc_Location& top_loc) { return *this; }
+   int ShapeType () const    { return 0 ; }
+
+   bool IsNull () const    { return true ; }
+   TopoDS_Shape& operator=(const BRepBuilderAPI_MakeVertex&)
+        {  return *this ; }
+
+private :
+   TopLoc_Location top_loc;
+};
+// -----------------------------------------------------------
+class gp_Circ
+{
+public :
+gp_Circ (gp_Ax2&, double )              {}
+};
+// -----------------------------------------------------------
+class GCPnts_AbscissaPoint
+{
+public :
+GCPnts_AbscissaPoint (BRepAdaptor_Curve&, double, double) {}
+double Parameter ()                                       {return 1; }
+static double Length (GeomAdaptor_Curve&, double&, double&)  {return 1; }
+gp_Pnt Value (double)  { return point ; }
+
+private :
+gp_Pnt point;
+
+};
+// -----------------------------------------------------------
+class BRepAdaptor_Curve
+{
+public :
+BRepAdaptor_Curve (TopoDS_Edge&) {}
+double FirstParameter ()                                  {return 1; }
+gp_Pnt Value (double)  { return point ; }
+
+private :
+gp_Pnt point;
+};
+// -----------------------------------------------------------
+class GeomAdaptor_Curve
+{
+public :
+GeomAdaptor_Curve (int)   {}
+int GetType ()   { return 0 ;}
+};
+// -----------------------------------------------------------
+class BRepPrimAPI_MakeCylinder
+{
+public :
+  BRepPrimAPI_MakeCylinder (gp_Ax2&, double, double) {}
+  void         Build ()   {  }
+  bool         IsDone ()  { return true; }
+  TopoDS_Shape Shape ()   { return forme ; }
+
+private :
+  TopoDS_Shape forme;
+};
+// -----------------------------------------------------------
+class BRepAlgoAPI_Section
+{
+public :
+BRepAlgoAPI_Section (TopoDS_Shape&, TopoDS_Shape&,  bool) {}
+  void         Build ()   {  }
+  bool         IsDone ()  { return true; }
+  void         Approximation (bool)  { }
+  TopoDS_Shape Shape ()   { return forme ; }
+
+private :
+  TopoDS_Shape forme;
+};
+// -----------------------------------------------------------
+class TopoDS_Vertex {};
+// -----------------------------------------------------------
+class TopoDS_Edge {};
+// -----------------------------------------------------------
+class TopoDS
+{
+public :
+   static TopoDS_Edge    Edge   (const TopoDS_Shape&) { return edge ; }
+   static TopoDS_Vertex  Vertex (const TopoDS_Shape&) { return vertex ; }
+private :
+  static TopoDS_Edge   edge;
+  static TopoDS_Vertex vertex;
+};
+// -----------------------------------------------------------
+class BRep_Tool
+{
+public :
+   static int Curve (TopoDS_Edge, double, double) { return 0 ; }
+   static int Curve (TopoDS_Edge, TopLoc_Location&, double, double) {return 0;}
+   static gp_Pnt Pnt(TopoDS_Vertex vertex ) { return point; }
+private :
+   static gp_Pnt  point;
+
+};
+// -----------------------------------------------------------
+class GeomAPI_ProjectPointOnCurve
+{
+public :
+GeomAPI_ProjectPointOnCurve (gp_Pnt&, int) {};
+int    NbPoints () {return 0 ;};
+double LowerDistanceParameter () {return 0 ;};
+};
+// -----------------------------------------------------------
+class BRepBuilderAPI_MakeEdge
+{
+public :
+BRepBuilderAPI_MakeEdge (gp_Circ&)  {}
+TopoDS_Edge  Edge () { return edge ; }
+private :
+  static TopoDS_Edge edge;
+
+};
+// -----------------------------------------------------------
+class BRep_Builder
+{
+public :
+   void MakeCompound (TopoDS_Compound& ) {}
+   void Add (TopoDS_Compound&, TopoDS_Shape& ) {}
+   void Add (TopoDS_Compound&, TopoDS_Edge& ) {}
+};
+// -----------------------------------------------------------
+class BRepTools
+{
+public :
+static void Write (TopoDS_Edge&, ostringstream&) {}
+static void Write (TopoDS_Shape&, ostringstream&) {}
+static void Read  (TopoDS_Shape&, istringstream&, BRep_Builder&) {}
+static void Clean  (TopoDS_Shape&) {}
+};
+// -----------------------------------------------------------
+class BRepPrimAPI_MakeSphere
+{
+public :
+BRepPrimAPI_MakeSphere(gp_Ax2&, double&) {}
+void         Build ()   {  }
+TopoDS_Shape  Face () { return forme ; }
+private :
+  static TopoDS_Shape forme;
+
+};
+// -----------------------------------------------------------
+class BRepBuilderAPI_Transform
+{
+public :
+BRepBuilderAPI_Transform (TopoDS_Shape&, gp_Trsf&, bool)  {}
+TopoDS_Shape  Shape () { return forme ; }
+
+private :
+  TopoDS_Shape forme;
+
+};
+
+// -----------------------------------------------------------
+class TopExp_Explorer
+{
+public :
+TopExp_Explorer (TopoDS_Shape&, int)    {}
+bool More()                             { return false ; }
+void Next()                             {}
+TopoDS_Shape& Current()                 { return forme ; }
+private :
+  TopoDS_Shape forme;
+};
+// -----------------------------------------------------------
+class TopoDS_Iterator
+{
+public :
+TopoDS_Iterator (const TopoDS_Shape&)   {}
+bool More()                             { return false ; }
+void Next()                             {}
+TopoDS_Shape& Value()                   { return forme ; }
+private :
+  TopoDS_Shape forme;
+};
+// -----------------------------------------------------------
+class BRepBuilderAPI_MakeVertex
+{
+public :
+BRepBuilderAPI_MakeVertex (gp_Pnt&) {}
+TopoDS_Shape& Shape()    { return forme ; }
+private :
+  TopoDS_Shape forme;
+};
+// -----------------------------------------------------------
+class TopTools_IndexedMapOfShape
+{
+public :
+void Clear()                  {}
+int Add (const TopoDS_Shape&)  { return 0 ; }
+const TopoDS_Shape& FindKey (int id) { return forme ; }
+
+private :
+  TopoDS_Shape forme;
+};
+// -----------------------------------------------------------
+class GC_MakeCircle {};
+class Geom_Circle {};
+class TopoDS_Compound : public TopoDS_Shape {};
+class gp_Lin {};
+class gp_Pln {};
+#endif
index d13effe04b5f7c9d01e252b7b5f63bb624d4d3b4..50cccbb74c4bc3ab2af34bb6373ab4eaaf3eaef6 100755 (executable)
@@ -1,12 +1,12 @@
 
 // C++ : Dump python
 
-// Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+// Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
index 0d089bba3358eb4b92c87152ff13a9224c172111..43dfc58241759912c7c9520a0c390599c10c707d 100755 (executable)
@@ -1,12 +1,12 @@
 
 // Class : Ecriture d'un dump python
 
-// Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+// Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -17,8 +17,8 @@
 // License along with this library; if not, write to the Free Software
 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
 //
-// See http://www.salome-platform.org/ 
-// or email : webmaster.salome@opencascade.com
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+//
 
 #ifndef __DUMP_STUDY_H_
 #define __DUMP_STUDY_H_
index b5c540427adaa9bd58f820098e3e0b8877ee7dff..b19429d5b78bfd08b504c82c8e19ae892c271390 100755 (executable)
@@ -1,12 +1,12 @@
 
 // C++ : Gestion des aretes
 
-// Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+// Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -17,8 +17,7 @@
 // License along with this library; if not, write to the Free Software
 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
 //
-// See http://www.salome-platform.org/
-// or email : webmaster.salome@opencascade.com
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 //
 #include "HexEdge.hxx"
 #include "HexVertex.hxx"
index 8b60c1f53a0420d84f91fb267cb6afce08a10912..e334ea071e60fa8fa35acce8c93f280f1a0614d7 100755 (executable)
@@ -1,12 +1,12 @@
 
 // class : Gestion des aretes
 
-// Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+// Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
index 0b90d6b68ba005f99d38d2b6064d7d47608afd0a..875ed0e6246e99b942dc54f0f545759bb901181c 100755 (executable)
@@ -1,12 +1,12 @@
 
 // C++ : Gestion des soous-shapes
 
-// Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+// Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -17,9 +17,9 @@
 // License along with this library; if not, write to the Free Software
 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
 //
-// See http://www.salome-platform.org/
-// or email : webmaster.salome@opencascade.com
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 //
+
 //--+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8
 
 #include "HexEdgeShape.hxx"
index 38f1062ac34abbd8efd4c79100b43a636425fad7..ffc83dd27b4a52d0e265b4eab79b5b2b8bc4053f 100644 (file)
@@ -1,6 +1,25 @@
 
 // class : Gestion des Sous-shapes categorie Edge
 
+// Copyright (C) 2009-2014  CEA/DEN, EDF R&D
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+//
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+//
+
 #ifndef __LIBE_SHAPE_H_
 #define __LIBE_SHAPE_H_
 
index d5d7c9d299f7d4262516f37933b8321f66b3e2ad..1b3b8b1e7dcf5297b007debe1bfcafc86c9f0197 100755 (executable)
@@ -1,12 +1,12 @@
 
 // C++ : Grilles
 
-// Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+// Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
 #include <cmath>
 #include <map>
 
-static bool db=false;
-
 BEGIN_NAMESPACE_HEXA
 
+static bool db=on_debug();
+
 // ====================================================== Constructeur
 Elements::Elements (Document* doc) : EltBase (doc, EL_GRID)
 {
index 6f539bcedcf031055cef632521a172c513140f53..9f5dfa0933f99f142017df6c0c52519a0102f49e 100755 (executable)
@@ -1,12 +1,12 @@
 
 // Class : Gestion des tableaux d'hexaedres
 
-// Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+// Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
index 6450c832b6d28863637cfd8b9f79a75d44f1c48a..9169fa428ca45c6a13816086b563b535f99962a9 100755 (executable)
@@ -1,12 +1,12 @@
 //
 // CC++ : Ancienne interface Cascade de la classe Elements ** A SUPPRIMER **
 //
-// Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+// Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
index 06d701b53db9bfe101b276b50dd3fe9e52a9d3cf..548e5e2f964d6a41e917b5ef623da5934df2a83d 100755 (executable)
@@ -1,12 +1,12 @@
 
 // C++ : Table d'hexaedres
 
-// Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+// Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
index c1e631108a92d0bc6cb767525f4429b93db0a184..dfb7574323a4435ad806f59b5c108b11cb521104 100644 (file)
@@ -1,24 +1,24 @@
 
 // C++ : Controle arguments
 
-//  Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+// Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 //
-//  This library is free software; you can redistribute it and/or
-//  modify it under the terms of the GNU Lesser General Public
-//  License as published by the Free Software Foundation; either
-//  version 2.1 of the License.
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
 //
-//  This library is distributed in the hope that it will be useful,
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-//  Lesser General Public License for more details.
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+// Lesser General Public License for more details.
 //
-//  You should have received a copy of the GNU Lesser General Public
-//  License along with this library; if not, write to the Free Software
-//  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+//
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 //
-//  See http://www.salome-platform.org/
-//  or email : webmaster.salome@opencascade.com
 
 #include "HexElements.hxx"
 
index 4371cb9fad726213638b69b5d2b6f0d90030d14f..147069355c152a04396bc750546936202a854e47 100755 (executable)
@@ -1,9 +1,9 @@
-// Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+// Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -421,9 +421,7 @@ void Elements::fillCenterOdd ()
 int Elements::makeBasicCylinder (RealVector& tdr, RealVector& tda, 
                                  RealVector& tdh, bool fill)
 {
-   int na = tda.size()-1;
-   PutData (na);
-
+   int na    = tda.size()-1;
    cyl_dispo = CYL_NOFILL;
    if (fill && na > 3)
       {
index e2921a5e6efc637bfcb7518a75d67e8baf59fc21..4bbb4b949cfa7b89fa15f06c63cfee6d2a2023f0 100755 (executable)
@@ -1,12 +1,12 @@
 
 // C++ : Table d'hexaedres (Evol Versions 3)
 
-// Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+// Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
index 1c129cb3bc49c32f958d7ca7517e8cb102848f4f..1964be7ccb595b5674004bce5a85bc0c7552ce8d 100755 (executable)
@@ -1,11 +1,11 @@
 // C++ : Table d'hexaedres (Evol Versions 3)
 
-// Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+// Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
index 64e667c0f6a3239fba021dd32b932d6240251d93..82719bb2d6c08a8ddee3488f8a5050bd86c05e6e 100644 (file)
@@ -1,12 +1,12 @@
 
 // C++ : Grilles hexa 6
 
-// Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+// Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
index 727530d9c5ea11606f20d481fe3f117831994907..f4e4fbaee897e30a64a7111313371bb4fee9fb48 100755 (executable)
@@ -1,12 +1,12 @@
 
 // C++ : Element de base
 
-// Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+// Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -128,14 +128,9 @@ void EltBase::printName  (cpchar sep)
 // ========================================================= dumpRef
 void EltBase::dumpRef ()
 {
-   int nbp = el_parent.size();
+   int  nbp   = el_parent.size();
    bool prems = true;
 
-   if (nbp==0)
-      {
-      printf ("\n");
-      }
-
    for (int nro=0 ; nro<nbp ; nro++)
        {
        if (el_parent[nro]->isHere ())
index 4d5bf8e8b6a18c0f8e9389dd9ea80e4efa68e723..ba9e52e9d7bc6181baa3054cf0dcf91599feba60 100755 (executable)
@@ -1,12 +1,12 @@
 
 // Class : Element de base des Vertex/Edge/Quad, etc...
 
-// Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+// Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
index 261ba4223ac1dec894092a140c6cc041da55b2d7..06d9e8099d56e1df9a33c14a814bacacb106727d 100755 (executable)
@@ -1,12 +1,12 @@
 
 // C++ : Gestion des soous-shapes
 
-// Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+// Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -17,8 +17,7 @@
 // License along with this library; if not, write to the Free Software
 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
 //
-// See http://www.salome-platform.org/
-// or email : webmaster.salome@opencascade.com
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 //
 
 #include "HexFaceShape.hxx"
index c149510b3696f8c2092646add702a796b394808c..e8090e523fc73546aa670d5414861d4f85667164 100644 (file)
@@ -1,6 +1,25 @@
 
 // class : Gestion des Sous-shapes categorie Faces
 
+// Copyright (C) 2009-2014  CEA/DEN, EDF R&D
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+//
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+//
+
 #ifndef __FACE_SHAPE_H_
 #define __FACE_SHAPE_H_
 
index 5e1d8fe31921d6bca133aadb887e7d41157c745f..fd84ba5fd162c8f29a8eeab83a1b63e12326b9f6 100755 (executable)
@@ -1,9 +1,9 @@
-// Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+// Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
index 7c7558033cdc15c9cb3b8c4293a883ce321c7e4e..b773d48fc3aa9eeb9d844a74b1b60f6151c9da44 100755 (executable)
@@ -1,12 +1,12 @@
 
 // Singleton : Var globales : Disposition sommets/aretes/faces d'un hexaedre
 
-// Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+// Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -17,8 +17,7 @@
 // License along with this library; if not, write to the Free Software
 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
 //
-// See http://www.salome-platform.org/ 
-// or email : webmaster.salome@opencascade.com
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 //
 
 #ifndef _HEX_GLOBALE_H
index 763a90edfd66f2724ecb74e0d841da85c35a0a35..ba7c27068172d0a496ea2ff1f24a97b2d9d90b12 100755 (executable)
@@ -1,12 +1,12 @@
 
 // C++ : Implementation des groupes
 
-// Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+// Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
index abb7e8f51812c1028c713f0f2a033261c791026e..3db4757756e7a943d0e0c055e4036682bac12b91 100755 (executable)
@@ -1,12 +1,12 @@
 
 // Class : Implementation des groupes
 
-// Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+// Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
index ededa53038f4a7e199a8ee34782b2bb8b0fed8e1..c8444682c09359b438be7548d16dae9f866230be 100755 (executable)
@@ -1,12 +1,12 @@
 
 // C++ : Gestion des Hexaedres
 
-// Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+// Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
index a26ff5a6c754a137f333b1a9183d4575e9a516b3..8e55a81211e77b309f892a97870be2557a1222b2 100755 (executable)
@@ -1,12 +1,12 @@
 
 // class : Les hexaedres
 
-// Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+// Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
index c7c803dc910e045184bc6b39957d828da2b5cc09..929e72669510db33ab723fda02118b680a46fff1 100644 (file)
@@ -1,12 +1,12 @@
 
 // C++ : Gestion des Hexaedres
 
-// Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+// Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
index 002845272d104961347f023e9beb27e1ad18c1a8..81eeb96fa9071dcc8284cd8c326b34db612ae682 100755 (executable)
@@ -1,12 +1,12 @@
 //
 // CC++ : Fonctions Interface Cascade
 //
-// Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+// Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -17,8 +17,7 @@
 // License along with this library; if not, write to the Free Software
 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
 //
-// See http://www.salome-platform.org/
-// or email : webmaster.salome@opencascade.com
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 //
 
 #include "HexKas_functions.hxx"
index 84f57ecdbec00757dfd9ada2f98001f36cc76f3e..b7997c1749122413ac16bc84dc7f30888ddb6edf 100755 (executable)
@@ -1,12 +1,12 @@
 //
 // CC++ : Representation Cascade d'un point
 //
-// Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+// Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
index cd58b6c6133df83fbc23384dc78ac7154f2d1d7d..ca641ffbc3e4692e96317ff1293603c087416aca 100644 (file)
@@ -1,10 +1,10 @@
 
-// Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+// Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
index 0138e22445d79ae5f1f983127e815a41e9270290..094190122c45bff716799aafb4c5534d947266b6 100755 (executable)
@@ -1,12 +1,12 @@
 
 // class : Au nom de la loi
 
-// Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+// Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
index fd8ef38801065ae3bb5d8a7dd1a8ec616936a3fa..f7ffdbac9df4650e380c905ac467326fc8e8690e 100755 (executable)
@@ -1,12 +1,12 @@
 
 // class : Les matrices
 
-// Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+// Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
index 17ca499cc7ea3abc58188415873329dd4e9d5ca7..a0645101652eb2d2b2ace6d06da6ed8ba36b88ec 100755 (executable)
@@ -1,12 +1,12 @@
 
 // C++ : Gestion des Shapes (Hexa v5)
 
-// Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+// Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -17,8 +17,8 @@
 // License along with this library; if not, write to the Free Software
 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
 //
-// See http://www.salome-platform.org/
-// or email : webmaster.salome@opencascade.com
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+//
 
 #include "HexNewShape.hxx"
 #include "HexSubShape.hxx"
index db3e3609cf4a94887c614f4d30613f2cdbf44325..6f49ee47748a410c440775cffac895b19862a5f4 100644 (file)
@@ -1,6 +1,25 @@
 
 // class : Gestion des formes associees (Hexa 5)
 
+// Copyright (C) 2009-2014  CEA/DEN, EDF R&D
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+//
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+//
+
 #ifndef __NEW_SHAPE_H_
 #define __NEW_SHAPE_H_
 
index 04d3441bcca118dc7d893f731f9dc712aa6a8c58..091443c7b5bd5226450045a5134fe62ce48a4147 100755 (executable)
@@ -1,12 +1,12 @@
 
 // class : Gestion des formes associees
 
-// Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+// Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
index c6e89229c0dacc74710063b36ea037e572707a8a..34e1fc169ee787f4701d32591f9a52a725eb7990 100755 (executable)
@@ -1,9 +1,9 @@
-// Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+// Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
index ed1c435c4c1ff9eb595530d6eff98aaf9d0ffe69..a280cdd6926114eafaf20535fd13acc6de0a86f6 100755 (executable)
@@ -1,9 +1,9 @@
-// Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+// Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
index 812371e6fc2d5da997cf866269ec6f8b83d0442c..401ebf98d995c24f7a9c9e82ddc2271b927d0dc9 100644 (file)
@@ -1,12 +1,12 @@
 
 // C++ : Table d'hexaedres (Evol Versions 3)
 
-// Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+// Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
index 1c0a4bc325c3a6b9039b643fa5ebc0092b13a439..24659a4df894d7582e56da9c1d9dca15fb0fa2f4 100644 (file)
@@ -1,12 +1,12 @@
 
 // C++ : Quads Pattern (for replaceHexas)
 
-// Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+// Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
index 202bcaefa512e3a5738975a48a433384fc83e91e..f63cff293f4b274683e858b4a7f601eafee10164 100755 (executable)
@@ -1,12 +1,12 @@
 
 // C++ : Gestion des Quadrangles
 
-// Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+// Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -32,7 +32,7 @@
 
 BEGIN_NAMESPACE_HEXA
 
-bool db = false;
+bool db = on_debug();
 
 // ======================================================== Constructeur
 Quad::Quad (Vertex* va, Vertex* vb, Vertex* vc, Vertex* vd)
@@ -328,7 +328,7 @@ Quad* Quad::getBrother (StrOrient* orient)
           int   mark  = next->getMark();
           int   mark2 = dad ? dad->getMark() : IS_NONE;
 
-          if (nbp  <= 1  && mark2 != IS_MARRIED && mark == IS_NONE)
+          if (nbp  == 1  && mark2 != IS_MARRIED && mark == IS_NONE)
              return next;
           // if (nbp  <= 1  && mark == IS_NONE)
              // return next;
@@ -341,6 +341,11 @@ int Quad::coupler (Quad* other, StrOrient* orient, Elements* table)
 {
    if (other==NULL)
       return HERR;
+   if (db)
+      {
+      cout << " Quads::coupler " << el_name << " -> " << other->getName () 
+           << endl;
+      }
 
    Hexa* hexa = other->getParent(0);
 
@@ -543,6 +548,9 @@ void Quad::dump ()
    printf (")");
 
    dumpRef ();
+   Real3 cg;
+   getCenter (cg);
+   printf ("     -> (%g, %g, %g)\n", cg[dir_x], cg[dir_y], cg[dir_z]);
 }
 // ======================================================== dumpPlus
 void Quad::dumpPlus ()
@@ -842,13 +850,13 @@ double* Quad::getCenter (double* center)
        {
        if (BadElement (q_vertex [nv]))
            return NULL;
-       center [dir_x] += q_vertex[nv]->getX();
-       center [dir_y] += q_vertex[nv]->getY();
-       center [dir_z] += q_vertex[nv]->getZ();
+       center [dir_x] += q_vertex[nv]->getX()/4;
+       center [dir_y] += q_vertex[nv]->getY()/4;
+       center [dir_z] += q_vertex[nv]->getZ()/4;
        }
     return center;
 }
-// =============================================================== getCenter
+// =============================================================== dist2
 double Quad::dist2 (double* point)
 {
    Real3 center;
@@ -858,7 +866,7 @@ double Quad::dist2 (double* point)
              + carre (point[dir_z] - center[dir_z]) ;
    return d2;
 }
-// =============================================================== getCenter
+// =============================================================== opposedHexa
 Hexa* Quad::opposedHexa (Hexa* hexa)
 {
    int nbre = getNbrParents ();
index 8c543f1a8b68a6d33d8f01e1376b53b386f407e0..c539e7b65d40bfbd2f9cefca901fb1a4ec98b450 100755 (executable)
@@ -1,12 +1,12 @@
 
 // class : Les Quadrangles
 
-// Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+// Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
index c51fd596d4a4d67792f398afbdabd5246c947f1a..4b471b105d21877127cd44ea21beb07be2f1074e 100755 (executable)
@@ -1,12 +1,12 @@
 
 // C++ : Gestion des formes associees
 
-// Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+// Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
index bb7076577004aaa0c47d329614816d0152346cf5..d532fc418a47893960877470f6e1f0118ec69676 100755 (executable)
@@ -1,12 +1,12 @@
 
 // class : Gestion des formes associees
 
-// Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+// Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
index ba29f01c4d1bf4c49159de343e4b62087a1fd4b9..da454863a1e26d8acce68e78782373c596cbf8e8 100755 (executable)
@@ -1,12 +1,12 @@
 
 // C++ : Gestion des soous-shapes
 
-// Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+// Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -17,8 +17,7 @@
 // License along with this library; if not, write to the Free Software
 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
 //
-// See http://www.salome-platform.org/
-// or email : webmaster.salome@opencascade.com
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 //
 
 #include "HexSubShape.hxx"
index a2d8cc243fee0763a3fa111553121c54f2193203..ff410dde306507467cfb7d773baf2b1ead61c3ef 100644 (file)
@@ -1,6 +1,25 @@
 
 // class : Gestion des formes associees (Hexa 5)
 
+// Copyright (C) 2009-2014  CEA/DEN, EDF R&D
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+//
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+//
+
 #ifndef __SUB_SHAPE_H_
 #define __SUB_SHAPE_H_
 
index f37212c4fff29156b6d2f3d2eb9c5131c090bcff..ee379b850c74c828b21031633c26f7bf30a28532 100755 (executable)
@@ -1,12 +1,12 @@
 
 // C++ : Gestion des vecteurs
 
-// Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+// Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
index 322f7f4ef6cc688965f06dca521e6bdf453c72d2..43c433629ef2c695441f7a52298fbf4cc66a6608 100755 (executable)
@@ -1,12 +1,12 @@
 
 // class : Les vecteurs
 
-// Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+// Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
index 1ef88ef2edf4247f5452689a7424a9b6c447ae5e..5afdd315b93064d2978fd8a6f546523535421b22 100755 (executable)
@@ -1,12 +1,12 @@
 
 //  C++ Les noeuds
 
-// Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+// Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
index 565af90d5ef0f91142917e4052bf8cef88fcfa1b..7a6d9e9254e4d5da04504d266a173045c77cec41 100755 (executable)
@@ -1,12 +1,12 @@
 
 // Class : Gestion des sommets
 
-// Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+// Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
index 2e06e0573f656fda738b6763054525e2904f56d7..7df3ca7bbfc4b02bdf1382b94b6d9bda6bd99518 100755 (executable)
@@ -1,12 +1,12 @@
 
 // C++ : Gestion des soous-shapes
 
-// Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+// Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -17,8 +17,7 @@
 // License along with this library; if not, write to the Free Software
 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
 //
-// See http://www.salome-platform.org/
-// or email : webmaster.salome@opencascade.com
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 //
 
 #include "HexVertexShape.hxx"
index 549b9bce3284783b0f73453cc5eaf7162ce421d5..c167b03f73c99778f7b42df40955c986cf467cb7 100644 (file)
@@ -1,6 +1,25 @@
 
 // class : Gestion des Sous-shapes categorie Vertex
 
+// Copyright (C) 2009-2014  CEA/DEN, EDF R&D
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+//
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+//
+
 #ifndef __NODE_SHAPE_H_
 #define __NODE_SHAPE_H_
 
index bd1c8dca35a73eac59ab40596d24e98d92cd54ed..1b1430b8c0dd353e7d683048fbdf437e11a2fc51 100644 (file)
@@ -1,12 +1,12 @@
 
 // C++ : Dump python
 
-// Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+// Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
index e8d74be6936805574303f7d6d38df473836231d8..6a381901bc876c5923b9c039ec7ec9a303117606 100644 (file)
@@ -1,12 +1,12 @@
 
 // Class : Enregistrement des dianostics
 
-// Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+// Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -17,8 +17,8 @@
 // License along with this library; if not, write to the Free Software
 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
 //
-// See http://www.salome-platform.org/ 
-// or email : webmaster.salome@opencascade.com
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+//
 
 #ifndef __WITNESS_H_
 #define __WITNESS_H_
index df47df4ea9bdd7d2a69040bd5fa28ff520948435..fe711b2637cf552d079ca42997425e69fa689563 100755 (executable)
@@ -1,12 +1,12 @@
 
 // C++ : ParserXml
 
-// Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+// Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
index 2bff3f7dba356307f1b7082b2a58abdec1a4c7fd..11c3b4354f37ae9bb440d36bff99fb72eb399cf6 100755 (executable)
@@ -1,9 +1,9 @@
-// Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+// Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
index b6c4f901413507ab0b52686a9bf6655a725d3d0c..34bc727e869e593e293b3912e713d1dfa4fad061 100755 (executable)
@@ -1,12 +1,12 @@
 
 // C++ : Ecriture en XML
 
-// Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+// Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
index 82dc9adac6a84c6918aba05a062ef2ccc2134824..6f12ffc85f1481b281d1834ca26416ca33255d7f 100755 (executable)
@@ -1,9 +1,9 @@
-// Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+// Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
index 90126b3879854d7786abc863e731157cc5d97a28..1c3e94833be661332047eb27cb6e191737a30df7 100755 (executable)
@@ -1,9 +1,9 @@
-// Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+// Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -14,8 +14,8 @@
 // License along with this library; if not, write to the Free Software
 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
 //
-// See http://www.salome-platform.org/ 
-// or email : webmaster.salome@opencascade.com
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+//
 
 #ifndef _HEX_DEFINES_HXX_
 #define _HEX_DEFINES_HXX_
index 248b9ceb0de259bc005d25fba15411f942a47e47..31db2ed2f188682ae36caad8d5dd198bb0666c5b 100755 (executable)
@@ -1,12 +1,12 @@
 
 // C++ : La clase principale de Hexa
 
-// Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+// Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
index a7b7be3e67b0408a998694c49293d72426b0db00..c7528e5067ef4cba070d76a5144133a305d47b75 100755 (executable)
@@ -1,4 +1,23 @@
 #!/bin/sh
+# Copyright (C) 2009-2014  CEA/DEN, EDF R&D
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+#
+# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+#
+
 # Comm : Sauvegarde
 
 model=`pwd`
index 45298f1f5bc029226313304cfeb351dbddafdf20..54abbcbad0e0eef22579973ac141ba0b363be46d 100644 (file)
@@ -1,10 +1,10 @@
 #!/bin/sh
-# Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+# Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
 # License as published by the Free Software Foundation; either
-# version 2.1 of the License.
+# version 2.1 of the License, or (at your option) any later version.
 #
 # This library is distributed in the hope that it will be useful,
 # but WITHOUT ANY WARRANTY; without even the implied warranty of
index c0dfcbe31eb2c0ddf552769ef9075c26fc98442f..73142e56bfa23295676681c9cd7d495a91406d9d 100755 (executable)
@@ -1,12 +1,12 @@
 
 // Incl : Common definitions for HEXA-BLOCK
 
-// Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+// Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -17,8 +17,7 @@
 // License along with this library; if not, write to the Free Software
 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
 //
-// See http://www.salome-platform.org/
-// or email : webmaster.salome@opencascade.com
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 //
 
 #define DumpActif true
index cf05020bfe63f7a2b74d77a07bbdaaf860b03f6a..058e8a9d590b31145de9dd8418a452953b61c667 100755 (executable)
@@ -1,12 +1,12 @@
 
 // C++ : Fonctions utilitaires de Hexa
 
-// Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+// Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
index 9674d530de3e995a0b7e3c749a523e05013fa2ea..ff767a5b4a765d3e22daf161c2f7c5d9a9da87e8 100755 (executable)
@@ -1,4 +1,23 @@
 #!/bin/sh
+# Copyright (C) 2009-2014  CEA/DEN, EDF R&D
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+#
+# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+#
+
 # Comm : Generateur de Makefile
 
 commande=$0
index 001c50f926fef2153fb685a690fb4f369b13871d..7a71a7910f50bfb0c45309cee29bffdc8d80b3c5 100755 (executable)
@@ -1,4 +1,23 @@
 #!/bin/sh
+# Copyright (C) 2009-2014  CEA/DEN, EDF R&D
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+#
+# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+#
+
 # Comm : Generation d'une partie CasCade fictive
 
 rm   -rf nokas
index 3f193bcf1b366d99879a12dc6b2b9b9de20141ef..40f207c708a6d9e58f7f1b53a0fb0dc64c6f82b3 100755 (executable)
@@ -1,4 +1,23 @@
 #!/bin/sh
+# Copyright (C) 2009-2014  CEA/DEN, EDF R&D
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+#
+# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+#
+
 # Comm : I'm swigging in the rain
 
 module=hexablock_swig
index 397dae89dddd25ba9d75b6e2fa270adc385c4f94..016db2b350e502b6d3e3db039c904ebd4396c45a 100755 (executable)
@@ -1,24 +1,24 @@
 
 // C++ : Extraction des brep d'un fichier XML 
 
-//  Copyright (C) 2009-2011  CEA/DEN, EDF R&D and My Apple
+// Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 //
-//  This library is free software; you can redistribute it and/or
-//  modify it under the terms of the GNU Lesser General Public
-//  License as published by the Free Software Foundation; either
-//  version 2.1 of the License.
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
 //
-//  This library is distributed in the hope that it will be useful,
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-//  Lesser General Public License for more details.
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+// Lesser General Public License for more details.
 //
-//  You should have received a copy of the GNU Lesser General Public
-//  License along with this library; if not, write to the Free Software
-//  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+//
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 //
-//  See http://www.salome-platform.org/ 
-//  or email : webmaster.salome@opencascade.com
 
 
 #include "HexXmlTree.hxx"
index 1d00f9344c1c1e1d77a8db6f13aa7eaca0573914..c7f9c3add404509e33f33de6ca9294c8e0dec484 100755 (executable)
@@ -1,24 +1,24 @@
 
 // C++ : Tests unitaires
 
-//  Copyright (C) 2009-2011  CEA/DEN, EDF R&D
+// Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 //
-//  This library is free software; you can redistribute it and/or
-//  modify it under the terms of the GNU Lesser General Public
-//  License as published by the Free Software Foundation; either
-//  version 2.1 of the License.
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
 //
-//  This library is distributed in the hope that it will be useful,
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-//  Lesser General Public License for more details.
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+// Lesser General Public License for more details.
 //
-//  You should have received a copy of the GNU Lesser General Public
-//  License along with this library; if not, write to the Free Software
-//  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+//
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 //
-//  See http://www.salome-platform.org/
-//  or email : webmaster.salome@opencascade.com
 
 #include "test_unit.hxx"
 
index 0added27f2b55ea74f1e494f80842f1c4308167a..c3298a8288fe89b5c8c9b333dae2159e0d1c4675 100644 (file)
@@ -1,24 +1,23 @@
 
 // C++ : Tests unitaires sur les creations h'hexaedres
 
-//  Copyright (C) 2009-2011  CEA/DEN, EDF R&D
+// Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 //
-//  This library is free software; you can redistribute it and/or
-//  modify it under the terms of the GNU Lesser General Public
-//  License as published by the Free Software Foundation; either
-//  version 2.1 of the License.
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
 //
-//  This library is distributed in the hope that it will be useful,
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-//  Lesser General Public License for more details.
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+// Lesser General Public License for more details.
 //
-//  You should have received a copy of the GNU Lesser General Public
-//  License along with this library; if not, write to the Free Software
-//  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
 //
-//  See http://www.salome-platform.org/ 
-//  or email : webmaster.salome@opencascade.com
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 //
 #include "Hex.hxx"
 
index 353801799eb8cb9fb26335be5b351d707e69c4d8..8d1eee53de094744213931e002aca4fbb80ae3b1 100644 (file)
@@ -1,24 +1,24 @@
 
 // C++ : Tests unitaires
 
-//  Copyright (C) 2009-2011  CEA/DEN, EDF R&D
+// Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 //
-//  This library is free software; you can redistribute it and/or
-//  modify it under the terms of the GNU Lesser General Public
-//  License as published by the Free Software Foundation; either
-//  version 2.1 of the License.
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
 //
-//  This library is distributed in the hope that it will be useful,
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-//  Lesser General Public License for more details.
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+// Lesser General Public License for more details.
 //
-//  You should have received a copy of the GNU Lesser General Public
-//  License along with this library; if not, write to the Free Software
-//  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+//
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 //
-//  See http://www.salome-platform.org/
-//  or email : webmaster.salome@opencascade.com
 
 #include "test_unit.hxx"
 
@@ -101,13 +101,13 @@ void eplucher (Hex::Document* doc, Hex::Elements* grid, string& radical)
 int test_cartesian6 (int nbargs, cpchar tabargs[])
 {
    case_name = "cartesian_top";
+   Hex::Document* doc  = get_document ();
+
+/***********************
    const int size_x = 3;
    const int size_y = 4;
    const int size_z = 5;
 
-   Hex::Document* doc  = get_document ();
-
-/***********************
    Hex::Elements* grid1 = doc->makeCartesianTop (size_x, size_y, size_z);
    grid1->saveVtk ("makeCartesianTop.vtk");
    PutData (grid1->isValid());
@@ -490,6 +490,29 @@ int test_extrude6 (int nbargs, cpchar tabargs[])
    doc->saveVtk ("prisme3.vtk");
    return HOK;
 }
+// ======================================================== test_extrude7
+int test_extrude7 (int nbargs, cpchar tabargs[])
+{
+   const int nr = 2;
+   const int na = 8;
+   const int nh = 3;
+
+   Hex::Document* doc   = get_document ();
+   Hex::Elements* grid1 = doc->makeCylinderTop (nr, na, nh);
+
+   Hex::Quads tquads;
+   for (int k=0 ; k<nh ; k++)
+       {
+       Hex::Quad* quad = grid1->getQuadJK (nr, 0, k);
+       quad->setColor   (5);
+       tquads.push_back (quad);
+       }
+
+   doc->saveVtk ("grid0.vtk");
+   Hex::Elements* grid2 = doc->extrudeQuadsTop (tquads, 4);
+   doc->saveVtk ("grid1.vtk");
+   return HOK;
+}
 // ======================================================== test_revolution6
 int test_revolution6 (int nbargs, cpchar tabargs[])
 {
index 295c6f3238bc1c6db8a0749dcd69b6cb16e63615..bc2bc028ffc9491499a1e344a90ad196b0dfac92 100644 (file)
@@ -1,24 +1,23 @@
 
 // C++ : Tests unitaires sur les creations h'hexaedres
 
-//  Copyright (C) 2009-2011  CEA/DEN, EDF R&D
+// Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 //
-//  This library is free software; you can redistribute it and/or
-//  modify it under the terms of the GNU Lesser General Public
-//  License as published by the Free Software Foundation; either
-//  version 2.1 of the License.
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
 //
-//  This library is distributed in the hope that it will be useful,
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-//  Lesser General Public License for more details.
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+// Lesser General Public License for more details.
 //
-//  You should have received a copy of the GNU Lesser General Public
-//  License along with this library; if not, write to the Free Software
-//  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
 //
-//  See http://www.salome-platform.org/ 
-//  or email : webmaster.salome@opencascade.com
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 //
 #include "Hex.hxx"
 
index a1697c981d5df46d349492d45627b61a0e7c5403..7c6a1f77df82ee00b25ae2e496de2ee73d75e146 100755 (executable)
@@ -1,24 +1,24 @@
 
 // C++ : Outils communs aux tests unitaires
 
-//  Copyright (C) 2009-2011  CEA/DEN, EDF R&D
+// Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 //
-//  This library is free software; you can redistribute it and/or
-//  modify it under the terms of the GNU Lesser General Public
-//  License as published by the Free Software Foundation; either
-//  version 2.1 of the License.
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
 //
-//  This library is distributed in the hope that it will be useful,
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-//  Lesser General Public License for more details.
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+// Lesser General Public License for more details.
 //
-//  You should have received a copy of the GNU Lesser General Public
-//  License along with this library; if not, write to the Free Software
-//  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+//
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 //
-//  See http://www.salome-platform.org/ 
-//  or email : webmaster.salome@opencascade.com
 
 
 #include "test_unit.hxx"
index 33f4a0b609251650b47ac4f624390ed9d26817cd..edde4af670bae98a8410dfc00c6e6ba4a324745f 100644 (file)
@@ -1,22 +1,21 @@
 
-//  Copyright (C) 2009-2011  CEA/DEN, EDF R&D
+// Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 //
-//  This library is free software; you can redistribute it and/or
-//  modify it under the terms of the GNU Lesser General Public
-//  License as published by the Free Software Foundation; either
-//  version 2.1 of the License.
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
 //
-//  This library is distributed in the hope that it will be useful,
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-//  Lesser General Public License for more details.
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+// Lesser General Public License for more details.
 //
-//  You should have received a copy of the GNU Lesser General Public
-//  License along with this library; if not, write to the Free Software
-//  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
 //
-//  See http://www.salome-platform.org/ 
-//  or email : webmaster.salome@opencascade.com
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 //
 
 #ifndef _TEST_UNIT_H_
index 0273ecb734a75f71dcd821377c24cbb73fdf1da2..82aa876a069aab7503a0eb715f23a57e229af474 100755 (executable)
@@ -1,4 +1,23 @@
 #!/bin/sh
+# Copyright (C) 2009-2014  CEA/DEN, EDF R&D
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+#
+# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+#
+
 # Comm : Makefile associe aux tests unitaires
 
 commande=$0
index ff151b1dae2c13771a527d6c45363b832e643abb..a93ae919817c49cf8b6357fec768f34d246cb5c6 100644 (file)
@@ -1,4 +1,23 @@
 # -*- coding: latin-1 -*-
+# Copyright (C) 2009-2014  CEA/DEN, EDF R&D
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+#
+# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+#
+
 # HexaBlock : Module principal
 
 import hexablock_swig
@@ -49,3 +68,13 @@ def mesh (doc, name=None, dim=3, container="FactoryServer"):
 def dump (doc, mesh=None, full=False) :
    return  [ 36, 15, 36, 17]
 
+# ======================================================= printMessage
+def printMessage () :
+
+    nl = hexa.sizeofMessage()
+    if nl == 0 : 
+       return
+    for ni in range (nl) :
+        mess = hexa.getMessageLine (ni)
+        print mess
+
index f59d55ffb32fe89d096d66dc9f642694f55e26e6..65d0dbd86cb8886cd0a87acb1215acd637c997a0 100755 (executable)
@@ -1,4 +1,23 @@
 #!/bin/sh
+# Copyright (C) 2009-2014  CEA/DEN, EDF R&D
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+#
+# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+#
+
 # Comm : Makefile associe aux tests unitaires
 
 cd ..
index af1c2926fb1191375f7be29572df1b1a57320013..f69f732a4b0f9bffabc7a018b478853ea599de81 100644 (file)
@@ -1,9 +1,9 @@
-# Copyright (C) 2012-2013  CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2012-2014  CEA/DEN, EDF R&D
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
 # License as published by the Free Software Foundation; either
-# version 2.1 of the License.
+# version 2.1 of the License, or (at your option) any later version.
 #
 # This library is distributed in the hope that it will be useful,
 # but WITHOUT ANY WARRANTY; without even the implied warranty of
index 63ebc656a7c23085cc726e82e882974f7cae8e9b..94c81f3884db300ecbea3b43886defa772a14dca 100755 (executable)
@@ -1,9 +1,9 @@
-// Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+// Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
 
 
 #include <Visual3d_ViewManager.hxx>
-#include <V3d_PerspectiveView.hxx>
+//#include <V3d_PerspectiveView.hxx>
 #include <V3d_AmbientLight.hxx>
 #include <V3d_DirectionalLight.hxx>
 #include <Xw_Window.hxx>
@@ -154,6 +154,7 @@ HEXABLOCKGUI::HEXABLOCKGUI() :
 //          _treeViewDelegate(0),
           _isSaved( false ),
           moduleActivatedOnce(false),
+          menusEnabled(true),
           _vertexDiag(0),
           _edgeDiag(0),
           _quadDiag(0),
@@ -360,7 +361,10 @@ bool HEXABLOCKGUI::activateModule( SUIT_Study* theStudy )
             currentDocGView->getViewWindow()->installEventFilter(this);
     }
     else
-        initialMenus();
+    {
+        newDocument();
+//        initialMenus();
+    }
 
     return bOk;
 }
@@ -619,6 +623,8 @@ void HEXABLOCKGUI::onObjectBrowserClick(const QModelIndex& index)
             docGView->setViewWindow(graphicViewsHandler->createVtkWindow());
             docGView->getViewWindow()->installEventFilter(this);
             showAllMenus();
+            if (!menusEnabled)
+                setAllMenusEnabled(true);
         }
         else
             docGView->setViewWindow(currentDocGView->getViewWindow());
@@ -660,7 +666,10 @@ void HEXABLOCKGUI::onWindowClosed( SUIT_ViewWindow* svw)
             if (currentDocGView != NULL)
                 currentDocGView->setViewWindow(NULL);
 
-            initialMenus();
+//            initialMenus();
+            setAllMenusEnabled(false);
+            enableDocumentMenus(true);
+
             return;
         }
 
@@ -1563,6 +1572,16 @@ void HEXABLOCKGUI::showAllMenus()
     showMeshMenus( true );
 }
 
+void HEXABLOCKGUI::setAllMenusEnabled(bool enable)
+{
+    enableDocumentMenus( enable );
+    enablePatternMenus( enable );
+    enableAssociationMenus( enable );
+    enableGroupsMenus( enable );
+    enableMeshMenus( enable );
+
+    menusEnabled = enable;
+}
 
 void HEXABLOCKGUI::showDocumentMenus(bool show)
 {
@@ -1578,6 +1597,22 @@ void HEXABLOCKGUI::showDocumentMenus(bool show)
     setToolShown(_saveAct, show);
 }
 
+void HEXABLOCKGUI::enableDocumentMenus(bool enable)
+{
+    _newAct->setEnabled(enable);
+//    setToolShown(_newAct, enable);
+
+    _importAct->setEnabled(enable);
+//    setToolShown(_importAct, enable);
+
+    _showModelInfoAct->setEnabled(enable);
+//    setToolShown(_showModelInfoAct, enable);
+
+    _saveAct->setEnabled(enable);
+//    setToolShown(_saveAct, enable);
+}
+
+
 void HEXABLOCKGUI::showPatternMenus(bool show)
 {
     DEBTRACE("HEXABLOCKGUI::showPatternMenus " << show);
@@ -1653,6 +1688,93 @@ void HEXABLOCKGUI::showPatternMenus(bool show)
     setMenuShown( _showModelInfoAct, show );
 }
 
+void HEXABLOCKGUI::enablePatternMenus(bool enable)
+{
+    if ( enable && !getCurrentModel() ) return;
+
+    _addVertex->setEnabled(enable);
+//    setToolShown(_addVertex, enable);
+
+    _addEdge->setEnabled(enable);
+//    setToolShown(_addEdge, enable);
+
+    _addQuad->setEnabled(enable);
+//    setToolShown(_addQuad, enable);
+
+    _addHexa->setEnabled(enable);
+//    setToolShown(_addHexa, enable);
+
+//    setMenuShown(_sep1, enable );
+//    setToolShown(_sep1, enable);
+
+    _addVector->setEnabled(enable);
+//    setToolShown( _addVector, enable);
+
+//    setMenuShown(_sep2, enable );
+//    setToolShown(_sep2, enable);
+
+    _makeGrid->setEnabled(enable);
+//    setToolShown( _makeGrid, enable);
+
+    _makePipe->setEnabled(enable);
+//    setToolShown( _makePipe, enable);
+
+//    setMenuShown(_sep3, enable );
+//    setToolShown(_sep3, enable);
+
+    _makeCylinder->setEnabled(enable);
+//    setToolShown( _makeCylinder, enable);
+
+    _makeCylinders->setEnabled(enable);
+//    setToolShown( _makeCylinders, enable);
+
+    _makePipes->setEnabled(enable);
+//    setToolShown( _makePipes, enable);
+
+    _makeHemiSphere->setEnabled(enable);
+//    setToolShown( _makeHemiSphere, enable);
+
+    // Pattern Data Edition
+    _removeHexa->setEnabled(enable);
+//    setToolShown( _removeHexa, enable);
+
+    _prismQuad->setEnabled(enable);
+//    setToolShown( _prismQuad, enable);
+
+    _joinQuad->setEnabled(enable);
+//    setToolShown( _joinQuad, enable);
+
+    _merge->setEnabled(enable);
+//    setToolShown( _merge, enable);
+
+    _disconnect->setEnabled(enable);
+//    setToolShown( _disconnect, enable);
+
+    _cutEdge->setEnabled(enable);
+//    setToolShown( _cutEdge, enable);
+
+    _makeTransformation->setEnabled(enable);
+//    setToolShown( _makeTransformation, enable);
+
+    _makeSymmetry->setEnabled(enable);
+//    setToolShown( _makeSymmetry, enable);
+
+    _performTransformation->setEnabled(enable);
+//    setToolShown( _performTransformation, enable);
+
+    _performSymmetry->setEnabled(enable);
+//    setToolShown( _performSymmetry, enable);
+
+    _replaceHexa->setEnabled(enable);
+//    setToolShown( _replaceHexa, enable);
+
+    _quadRevolution->setEnabled(enable);
+//    setToolShown( _quadRevolution, enable);
+
+//    setMenuShown( _sep4, enable );
+    _showModelInfoAct->setEnabled(enable);
+}
+
 
 void HEXABLOCKGUI::showAssociationMenus(bool show)
 {
@@ -1662,13 +1784,34 @@ void HEXABLOCKGUI::showAssociationMenus(bool show)
     // Association Edition
     setMenuShown( _assocVertex,  show );
     setToolShown( _assocVertex, show );
+
     setMenuShown( _assocEdge,  show );
     setToolShown( _assocEdge, show );
+
     setMenuShown( _assocQuad,  show );
     setToolShown( _assocQuad, show );
+
     setMenuShown( _addShapeAct, show );
     setToolShown( _addShapeAct, show );
+}
 
+void HEXABLOCKGUI::enableAssociationMenus(bool enable)
+{
+    if ( enable && !getCurrentModel() )
+        return;
+
+    // Association Edition
+     _assocVertex->setEnabled(enable);
+ //    setToolShown( _assocVertex, enable );
+
+     _assocEdge->setEnabled(enable);
+ //    setToolShown( _assocEdge, enable );
+
+     _assocQuad->setEnabled(enable);
+ //    setToolShown( _assocQuad, enable );
+
+     _addShapeAct->setEnabled(enable);
+ //    setToolShown( _addShapeAct, enable );
 }
 
 void HEXABLOCKGUI::showGroupsMenus(bool show)
@@ -1681,6 +1824,18 @@ void HEXABLOCKGUI::showGroupsMenus(bool show)
     setToolShown( _removeGroup , show);
 }
 
+void HEXABLOCKGUI::enableGroupsMenus(bool enable)
+{
+    if ( enable && !getCurrentModel() )
+        return;
+
+    _addGroup->setEnabled(enable);
+//    setToolShown( _addGroup, enable);
+
+    _removeGroup->setEnabled(enable);
+//    setToolShown( _removeGroup , enable);
+}
+
 void HEXABLOCKGUI::showMeshMenus(bool show)
 {
     DEBTRACE("HEXABLOCKGUI::showMeshMenus" << show);
@@ -1695,6 +1850,24 @@ void HEXABLOCKGUI::showMeshMenus(bool show)
     setToolShown( _computeMesh, show);
 }
 
+void HEXABLOCKGUI::enableMeshMenus(bool enable)
+{
+    if ( enable && !getCurrentModel() )
+        return;
+
+    _addLaw->setEnabled(enable);
+//    setToolShown( _addLaw, enable);
+
+    _removeLaw->setEnabled(enable);
+//    setToolShown( _removeLaw, enable);
+
+    _setPropagation->setEnabled(enable);
+//    setToolShown( _setPropagation, enable);
+
+    _computeMesh->setEnabled(enable);
+//    setToolShown( _computeMesh, enable);
+}
+
 void HEXABLOCKGUI::showVtkActor()
 {
     VtkDocumentGraphicView* currentVtkGView = getCurrentVtkGraphicView();
@@ -1977,6 +2150,8 @@ void HEXABLOCKGUI::switchModel(VtkDocumentGraphicView* dgview)
     currentDocGView->getDocumentModel()->refresh();
 //    _dwPattern->setWindowTitle(currentDocGView->getDocumentModel()->getName());
     showAllMenus();
+    if (!menusEnabled)
+        setAllMenusEnabled(true);
 }
 
 DocumentModel* HEXABLOCKGUI::getCurrentModel()
index f844c41ee87e7eed3258371fe0c9233e8d508162..b8a460fa052ec9b1755042c00100b1d6a80eced3 100755 (executable)
@@ -1,9 +1,9 @@
-// Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+// Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -173,6 +173,7 @@ public:
 
   void initialMenus();
   void showAllMenus();
+  void setAllMenusEnabled(bool enable);
   void updateSelectors();
 
   void switchModel(HEXABLOCK::GUI::VtkDocumentGraphicView* dgview);
@@ -217,6 +218,12 @@ public slots:
   void showGroupsMenus(bool show);
   void showMeshMenus(bool show);
 
+  void enableDocumentMenus(bool enable);
+  void enablePatternMenus(bool enable);
+  void enableAssociationMenus(bool enable);
+  void enableGroupsMenus(bool enable);
+  void enableMeshMenus(bool enable);
+
 protected slots:
   void onWindowActivated( SUIT_ViewWindow* svw);
   void onWindowClosed( SUIT_ViewWindow* svw);
@@ -485,6 +492,7 @@ private:
 
   bool _isSaved;
   bool moduleActivatedOnce;
+  bool menusEnabled;
 
   QDir* loadDocLastPath;
   QDir* saveDocLastPath;
index 7e3e2b77e22b069f3f89b8107b16bb960e22d723..cb95b69aa3f67f79e8d84122fe174c511c2bbbe0 100755 (executable)
@@ -1,9 +1,9 @@
-// Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+// Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
index 18729593cabed13b95d7e3cfe2d418adf6c6d408..bac96438cb7ebc917d2ab5271c8307b26b4b77e7 100755 (executable)
@@ -1,9 +1,9 @@
-// Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+// Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
index 0858c66cce781009def60a0a722c83b153fe4710..b9572456df97a3c6f89b3d825bebe8c3242d6e14 100755 (executable)
@@ -1,9 +1,9 @@
-// Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+// Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
index 129d54a2133c57a7a079a966c5ac857d4d2c99d8..169d9634e2cbeef56905de2919a52ec63a18f90a 100755 (executable)
@@ -1,9 +1,9 @@
-// Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+// Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
index 64eb9a6669dea714cb9901592e137c8f7ef33b61..0738c50fbee682fc75992a2f6a8e49ab0c468e29 100755 (executable)
@@ -1,9 +1,9 @@
-// Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+// Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
index 9f0f6356d3665b9914bca1dcb2a457acdd055845..68843255489e97d03e7f5efd995c8f4ad7145bfa 100755 (executable)
@@ -1,9 +1,9 @@
-// Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+// Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
index 7abc8b7fc6e933b666d8b4327a5e1ccea5638e9d..91248a5df64ce3d0f74b65a95f8ad9460b9f4a79 100755 (executable)
@@ -1,9 +1,9 @@
-// Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+// Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
index fcc7d46ef8d401e39d38ab96cc14fefce311cda1..525119bdb60b632806050022c702752feaefb5e8 100755 (executable)
@@ -1,9 +1,9 @@
-// Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+// Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
index 57b7aaaa637aa1f05270d3cbd86cbcd02d27e659..6011f98c0ca28875292ba391a821d2852151d432 100755 (executable)
@@ -1,9 +1,9 @@
-// Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+// Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
index 6ba6a00083dc20cc64b6d27d33896bdf0403a289..a2e97898a438682423c3ef7c723a7e8451502c10 100755 (executable)
@@ -1,9 +1,9 @@
-// Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+// Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
index 10351e7255adfbf8c2add39015edf64e0ca93488..c7a69d83cff96b48a522dfba24e53c10f6fff0c8 100755 (executable)
@@ -1,9 +1,9 @@
-// Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+// Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
index a9da07a6227b136355925aeaae3ac18b36a4d046..80c92b0855fb25cbc5ec9adbc5d00154a5f30d2c 100644 (file)
@@ -1,9 +1,9 @@
-// Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+// Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
index c4164c4b7d2d5b906af322fd3718045ac6a31463..eb889c0498e5ed98b20a5cdb08fc5c618155194a 100644 (file)
@@ -1,9 +1,9 @@
-// Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+// Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
index a5d5c474a176923523e2bc831d2183a22162e345..e6061146df6c52d103ca371fbef99652d0c5499b 100755 (executable)
@@ -1,9 +1,9 @@
-// Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+// Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -17,6 +17,7 @@
 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 //
 
+#include "hexa_base.hxx"
 #include "HEXABLOCKGUI_Model.hxx"
 
 //#define _DEVDEBUG_
@@ -28,6 +29,7 @@ HEXABLOCKGUI_Model::HEXABLOCKGUI_Model(CAM_Module* theModule)
   : SalomeApp_DataModel(theModule)
 {
   DEBTRACE("HEXABLOCKGUI_Model::HEXABLOCKGUI_Model");
+  std::cout <<  "HEXABLOCKGUI_Model::HEXABLOCKGUI_Model" << std::endl;
 }
 
 HEXABLOCKGUI_Model::~HEXABLOCKGUI_Model()
@@ -44,12 +46,13 @@ bool HEXABLOCKGUI_Model::open(const QString& fileName, CAM_Study* study, QString
 bool HEXABLOCKGUI_Model::save(QStringList& listOfFiles)
 {
   DEBTRACE("HEXABLOCKGUI_Model::save");
+  std::cout <<  "HEXABLOCKGUI_Model::save" << std::endl;
   return SalomeApp_DataModel::save(listOfFiles);
 }
 
 bool HEXABLOCKGUI_Model::saveAs(const QString& fileName, CAM_Study* study, QStringList& listOfFiles)
 {
   DEBTRACE("HEXABLOCKGUI_Model::saveAs");
+  std::cout <<  "HEXABLOCKGUI_Model::saveAs" << std::endl;
   return SalomeApp_DataModel::saveAs(fileName, study, listOfFiles);
 }
-
index 0f5c2eef33a126cd3860ff954fb9717d32a1fa2a..e83f5de8231db6334f7922f300fd0f52b005516c 100755 (executable)
@@ -1,9 +1,9 @@
-// Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+// Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
index 042192e0d3e874331cd96cb3e5269da59435cc40..55feef0bc1f69223c273bbfa069bf2924c0a9894 100755 (executable)
@@ -1,12 +1,9 @@
-// Copyright (C) 2007-2013  CEA/DEN, EDF R&D, OPEN CASCADE
-//
-// Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+// Copyright (C) 2013-2014  CEA/DEN, EDF R&D
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
index cab143cefea51749ce105ab3f07b896524a1efd0..e5255c4670c8b4f456c3259b04d25ed576281ff5 100755 (executable)
@@ -1,12 +1,9 @@
-// Copyright (C) 2007-2012  CEA/DEN, EDF R&D, OPEN CASCADE
-//
-// Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+// Copyright (C) 2013-2014  CEA/DEN, EDF R&D
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
 #ifndef HEXABLOCKGUI_OCCSELECTOR_H
 #define HEXABLOCKGUI_OCCSELECTOR_H
 
-#include "HEXABLOCKGUI_Export.hxx"
 
 #include <LightApp_OCCSelector.h>
+#include "hexa_base.hxx"
+#include "HEXABLOCKGUI_Export.hxx"
 
 class HEXABLOCK_EXPORT HEXABLOCKGUI_OCCSelector : public LightApp_OCCSelector
 {
index 512c985e4ff7ee5e1be686562a8d2fa1b9ca9a21..c049810588424a6626212040c279392d42256fde 100644 (file)
@@ -1,9 +1,9 @@
-// Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+// Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
index d1077517154d92fe5818f6a621b476abbf6f4911..2a735d50108adb9b8b2894ea138df22bc3c1a10f 100644 (file)
@@ -1,9 +1,9 @@
-// Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+// Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
index acc00b013f7895af870d5d8992bf816a9f9d9e58..c31e6912d3a36cdfd60013721a12fa04e6eaff0e 100755 (executable)
@@ -1,9 +1,9 @@
-// Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+// Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
index 87d1621ba6adb4bd0fb0ca39edcd79c3cf343054..35424b67cfb7a9e0bd3cdf5619749465a26e0e9d 100755 (executable)
@@ -1,9 +1,9 @@
-// Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+// Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
index 542cf3e751e8e874ebdad7019664559b509bffe5..814b49426b743bddc9f85f47878f964077f9f8af 100644 (file)
@@ -1,9 +1,9 @@
-// Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+// Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
index c5097fd756ed438aa4607704cdc645b1ade405df..69bb3303c31c17ef9de86f57ab6f487d3b57e9ef 100644 (file)
@@ -1,9 +1,9 @@
-// Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+// Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
index 01683c5bfc288da031ab5ec3df7ff2a4b2d19c2d..7a1218ba693df70a1258c8cf15c1c2bd74ac4211 100755 (executable)
@@ -1,9 +1,9 @@
-// Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+// Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
index 92708129b6e87ccfda040a301fff027403aab31d..81b85e650ba5f382ceee79caba6bda7182b55386 100755 (executable)
@@ -1,9 +1,9 @@
-// Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+// Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
index 0c4d3bdc4b49201139eb705d8f2946d56baa03b2..6e2a8a9ee2739c96af02b17d701ed8c2f9b11cbc 100755 (executable)
@@ -1,9 +1,9 @@
-// Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+// Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
index e5d0899996eed459a9813a1460923b8d4bc6eaf8..09bc5c12deccd0303f90aec57294aeb82b07ca16 100755 (executable)
@@ -1,9 +1,9 @@
-// Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+// Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
index f2007d9bfdff22af0380184ddab7f0d2c866fb49..1d5786a7672f60e5ad7284933070b51f4ecd8c40 100644 (file)
@@ -1,9 +1,9 @@
-// Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+// Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -115,15 +115,19 @@ MyBasicGUI_PointDlg::MyBasicGUI_PointDlg(QWidget* parent, Qt::WindowFlags fl)
     myParamCoord = new QButtonGroup(myParamGroup);
     QHBoxLayout* boxLayout = new QHBoxLayout(myParamGroup);
     boxLayout->setMargin(MARGIN); boxLayout->setSpacing(SPACING);
+
     QRadioButton* btn = new QRadioButton(tr("By Param"), myParamGroup);
     myParamCoord->addButton(btn, PARAM_VALUE);
     boxLayout->addWidget(btn);
+
     btn = new QRadioButton(tr("By Length"), myParamGroup);
     myParamCoord->addButton(btn, LENGTH_VALUE);
     boxLayout->addWidget(btn);
+
     btn = new QRadioButton(tr("By Coords"), myParamGroup);
     myParamCoord->addButton(btn, COORD_VALUE);
     boxLayout->addWidget(btn);
+
     myParamCoord->setExclusive(true);
     myParamCoord->button(PARAM_VALUE)->setChecked(true);
 
@@ -1058,9 +1062,20 @@ void MyBasicGUI_PointDlg::clear()
 void MyBasicGUI_PointDlg::onWindowActivated(SUIT_ViewManager* vm)
 {
     QString vmType = vm->getType();
-    if ( (vmType == SVTK_Viewer::Type()) || (vmType == VTKViewer_Viewer::Type()) ){
+    if ( ((vmType == SVTK_Viewer::Type()) || (vmType == VTKViewer_Viewer::Type())) &&
+            !mainFrame()->RadioButton4->isChecked() &&
+            !myParamCoord->button(LENGTH_VALUE)->isChecked() )
         mainFrame()->_vertex_le->setFocus();
-    } else if ( vmType == OCCViewer_Viewer::Type() ){
-        // ...
+    else if ( vmType == OCCViewer_Viewer::Type() ){
+        if (mainFrame()->RadioButton1->isChecked())
+            // Make the field "Vertex of the model" lose the focus
+            mainFrame()->RadioButton1->click();
+        else if (mainFrame()->RadioButton2->isChecked())
+            GroupRefPoint->LineEdit1->setFocus();
+        else if (mainFrame()->RadioButton3->isChecked() &&
+                !myParamCoord->button(LENGTH_VALUE)->isChecked())
+            GroupOnCurve->LineEdit1->setFocus();
+        else if (mainFrame()->RadioButton5->isChecked())
+            GroupOnSurface->LineEdit1->setFocus();
     }
 }
index 16982661a012e6be62a8ab6a61e14adeec3d6a00..c7f1aabe584572a82b8577adbed6011a173a2049 100755 (executable)
@@ -1,9 +1,9 @@
-// Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+// Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -78,8 +78,6 @@ private:
   double                             getUParameter() const;
   double                             getVParameter() const;
   void                               updateParamCoord(bool theIsUpdate);
-
-private:
   bool                               myBusy;
 
   MyDlgRef_3Spin*                      GroupXYZ;
index 37083852c89be79ff1cc650d8d4f675e9bc21ac1..fdb65b8194ca4695097e7b790f5df471b2555214 100644 (file)
@@ -1,9 +1,9 @@
-# Copyright (C) 2012-2013  CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2012-2014  CEA/DEN, EDF R&D
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
 # License as published by the Free Software Foundation; either
-# version 2.1 of the License.
+# version 2.1 of the License, or (at your option) any later version.
 #
 # This library is distributed in the hope that it will be useful,
 # but WITHOUT ANY WARRANTY; without even the implied warranty of
index 6fc2e576d83c94c089abc76af97ee48cbdff2adf..f4b6c514dca299f9fc8e39fd062510f2d8db839e 100755 (executable)
@@ -1,20 +1,20 @@
-//  Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+// Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 //
-//  This library is free software; you can redistribute it and/or
-//  modify it under the terms of the GNU Lesser General Public
-//  License as published by the Free Software Foundation; either
-//  version 2.1 of the License.
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
 //
-//  This library is distributed in the hope that it will be useful,
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-//  Lesser General Public License for more details.
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+// Lesser General Public License for more details.
 //
-//  You should have received a copy of the GNU Lesser General Public
-//  License along with this library; if not, write to the Free Software
-//  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
 //
-//  See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 //
 
 
index 44977499348cbdf28d15a7052b3244671c7f62b4..653a0ce39769cdf17ef18fb25a046e48655ca100 100644 (file)
@@ -1,20 +1,20 @@
-//  Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+// Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 //
-//  This library is free software; you can redistribute it and/or
-//  modify it under the terms of the GNU Lesser General Public
-//  License as published by the Free Software Foundation; either
-//  version 2.1 of the License.
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
 //
-//  This library is distributed in the hope that it will be useful,
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-//  Lesser General Public License for more details.
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+// Lesser General Public License for more details.
 //
-//  You should have received a copy of the GNU Lesser General Public
-//  License along with this library; if not, write to the Free Software
-//  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
 //
-//  See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 //
 
 
index 4661ab879949c56944803b15444c780089550081..c03b2a671ead724fe1156caa0b53ac1b7119e1d5 100755 (executable)
@@ -1,9 +1,9 @@
-// Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+// Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
index c38723cb5df0cf83e384a75fefd4574e613521f0..a643f88399c9ca13e773db60820442586f976c46 100755 (executable)
@@ -1,9 +1,9 @@
-// Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+// Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
index a3fbc8fee104238f972a793ef566b249a28e5bc8..5c6e28d78157ba0c720a2073a014249e4a7e9a54 100755 (executable)
@@ -1,9 +1,9 @@
-// Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+// Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
index f745ea358ff61f65cbd2bf9a1242087531f01337..3509d1ddf76d090b82ef8545781cc56e0c4f6f99 100755 (executable)
@@ -1,9 +1,9 @@
-// Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+// Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
index e6d2fbe25d774a822d620fc3bc6270833caa3b6f..2857dbca20dc1f1007a6db3bfe146213d218d2b1 100755 (executable)
@@ -1,11 +1,11 @@
 <?xml version='1.0' encoding='us-ascii' ?>
 <!--
-  Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+  Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 
   This library is free software; you can redistribute it and/or
   modify it under the terms of the GNU Lesser General Public
   License as published by the Free Software Foundation; either
-  version 2.1 of the License.
+  version 2.1 of the License, or (at your option) any later version.
 
   This library is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
index 92f78e6676f92d0e6bcc707a6b40933a60e658c5..d4abe971a0f7ebe6597d0531d0f8fd0405076663 100755 (executable)
@@ -1,11 +1,11 @@
 <!DOCTYPE TS>
 <!--
-  Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+  Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 
   This library is free software; you can redistribute it and/or
   modify it under the terms of the GNU Lesser General Public
   License as published by the Free Software Foundation; either
-  version 2.1 of the License.
+  version 2.1 of the License, or (at your option) any later version.
 
   This library is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
index b1bdcb398c9de7b028a7719ed3f205d5743304ef..a9efd463efaefb0ee59d2371c4970808e29bb2fb 100644 (file)
@@ -1,10 +1,10 @@
 <!--
-  Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+  Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 
   This library is free software; you can redistribute it and/or
   modify it under the terms of the GNU Lesser General Public
   License as published by the Free Software Foundation; either
-  version 2.1 of the License.
+  version 2.1 of the License, or (at your option) any later version.
 
   This library is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
index 16ab98d943d36ed73bcc2980770df59e1a397081..3b5b170734decd60b68a5d3f05438be6faeff76a 100755 (executable)
@@ -1,10 +1,10 @@
 <!--
-  Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+  Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 
   This library is free software; you can redistribute it and/or
   modify it under the terms of the GNU Lesser General Public
   License as published by the Free Software Foundation; either
-  version 2.1 of the License.
+  version 2.1 of the License, or (at your option) any later version.
 
   This library is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
index ff51f83680dd069b3c73954e9bc1ae8d6fc2f8d9..e6148817123f02c3ab574736f5cccb53df1bbeca 100644 (file)
@@ -1,9 +1,9 @@
-# Copyright (C) 2012-2013  CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2012-2014  CEA/DEN, EDF R&D
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
 # License as published by the Free Software Foundation; either
-# version 2.1 of the License.
+# version 2.1 of the License, or (at your option) any later version.
 #
 # This library is distributed in the hope that it will be useful,
 # but WITHOUT ANY WARRANTY; without even the implied warranty of
index 49489581918b1a83ce34231e7c6288492f6016a1..484d41f75ff1d4c707f2979da1fbe4c89014b05b 100644 (file)
@@ -1,4 +1,23 @@
 # -*- coding: latin-1 -*-
+# Copyright (C) 2009-2014  CEA/DEN, EDF R&D
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+#
+# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+#
+
 # HexaBlock : Module principal
 
 import hexablock_swig
index 7b8710f88b1d1276b78053d5adaf85e7a62e36bd..d9829676d0a60fcaedf8d96e2688f0485d960d39 100644 (file)
@@ -1,32 +1,12 @@
 # This file was automatically generated by SWIG (http://www.swig.org).
-# Version 1.3.40
+# Version 1.3.31
 #
-# Do not make changes to this file unless you know what you are doing--modify
-# the SWIG interface file instead.
+# Don't modify this file, modify the SWIG interface instead.
 # This file is compatible with both classic and new-style classes.
 
-from sys import version_info
-if version_info >= (2,6,0):
-    def swig_import_helper():
-        from os.path import dirname
-        import imp
-        fp = None
-        try:
-            fp, pathname, description = imp.find_module('_hexablock_swig', [dirname(__file__)])
-        except ImportError:
-            import _hexablock_swig
-            return _hexablock_swig
-        if fp is not None:
-            try:
-                _mod = imp.load_module('_hexablock_swig', fp, pathname, description)
-            finally:
-                fp.close()
-            return _mod
-    _hexablock_swig = swig_import_helper()
-    del swig_import_helper
-else:
-    import _hexablock_swig
-del version_info
+import _hexablock_swig
+import new
+new_instancemethod = new.instancemethod
 try:
     _swig_property = property
 except NameError:
@@ -34,7 +14,7 @@ except NameError:
 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__ == 'SwigPyObject':
+        if type(value).__name__ == 'PySwigObject':
             self.__dict__[name] = value
             return
     method = class_type.__swig_setmethods__.get(name,None)
@@ -51,49 +31,50 @@ 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)
+    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 = object
+    _object = types.ObjectType
     _newclass = 1
 except AttributeError:
     class _object : pass
     _newclass = 0
+del types
 
 
-class SwigPyIterator(_object):
+class PySwigIterator(_object):
     __swig_setmethods__ = {}
-    __setattr__ = lambda self, name, value: _swig_setattr(self, SwigPyIterator, name, value)
+    __setattr__ = lambda self, name, value: _swig_setattr(self, PySwigIterator, name, value)
     __swig_getmethods__ = {}
-    __getattr__ = lambda self, name: _swig_getattr(self, SwigPyIterator, name)
-    def __init__(self, *args, **kwargs): raise AttributeError("No constructor defined - class is abstract")
+    __getattr__ = lambda self, name: _swig_getattr(self, PySwigIterator, name)
+    def __init__(self): raise AttributeError, "No constructor defined"
     __repr__ = _swig_repr
-    __swig_destroy__ = _hexablock_swig.delete_SwigPyIterator
+    __swig_destroy__ = _hexablock_swig.delete_PySwigIterator
     __del__ = lambda self : None;
-    def value(self): return _hexablock_swig.SwigPyIterator_value(self)
-    def incr(self, n = 1): return _hexablock_swig.SwigPyIterator_incr(self, n)
-    def decr(self, n = 1): return _hexablock_swig.SwigPyIterator_decr(self, n)
-    def distance(self, *args): return _hexablock_swig.SwigPyIterator_distance(self, *args)
-    def equal(self, *args): return _hexablock_swig.SwigPyIterator_equal(self, *args)
-    def copy(self): return _hexablock_swig.SwigPyIterator_copy(self)
-    def next(self): return _hexablock_swig.SwigPyIterator_next(self)
-    def __next__(self): return _hexablock_swig.SwigPyIterator___next__(self)
-    def previous(self): return _hexablock_swig.SwigPyIterator_previous(self)
-    def advance(self, *args): return _hexablock_swig.SwigPyIterator_advance(self, *args)
-    def __eq__(self, *args): return _hexablock_swig.SwigPyIterator___eq__(self, *args)
-    def __ne__(self, *args): return _hexablock_swig.SwigPyIterator___ne__(self, *args)
-    def __iadd__(self, *args): return _hexablock_swig.SwigPyIterator___iadd__(self, *args)
-    def __isub__(self, *args): return _hexablock_swig.SwigPyIterator___isub__(self, *args)
-    def __add__(self, *args): return _hexablock_swig.SwigPyIterator___add__(self, *args)
-    def __sub__(self, *args): return _hexablock_swig.SwigPyIterator___sub__(self, *args)
+    def value(*args): return _hexablock_swig.PySwigIterator_value(*args)
+    def incr(*args): return _hexablock_swig.PySwigIterator_incr(*args)
+    def decr(*args): return _hexablock_swig.PySwigIterator_decr(*args)
+    def distance(*args): return _hexablock_swig.PySwigIterator_distance(*args)
+    def equal(*args): return _hexablock_swig.PySwigIterator_equal(*args)
+    def copy(*args): return _hexablock_swig.PySwigIterator_copy(*args)
+    def next(*args): return _hexablock_swig.PySwigIterator_next(*args)
+    def previous(*args): return _hexablock_swig.PySwigIterator_previous(*args)
+    def advance(*args): return _hexablock_swig.PySwigIterator_advance(*args)
+    def __eq__(*args): return _hexablock_swig.PySwigIterator___eq__(*args)
+    def __ne__(*args): return _hexablock_swig.PySwigIterator___ne__(*args)
+    def __iadd__(*args): return _hexablock_swig.PySwigIterator___iadd__(*args)
+    def __isub__(*args): return _hexablock_swig.PySwigIterator___isub__(*args)
+    def __add__(*args): return _hexablock_swig.PySwigIterator___add__(*args)
+    def __sub__(*args): return _hexablock_swig.PySwigIterator___sub__(*args)
     def __iter__(self): return self
-SwigPyIterator_swigregister = _hexablock_swig.SwigPyIterator_swigregister
-SwigPyIterator_swigregister(SwigPyIterator)
+PySwigIterator_swigregister = _hexablock_swig.PySwigIterator_swigregister
+PySwigIterator_swigregister(PySwigIterator)
 
 class VectorHexas(_object):
     __swig_setmethods__ = {}
@@ -101,42 +82,41 @@ class VectorHexas(_object):
     __swig_getmethods__ = {}
     __getattr__ = lambda self, name: _swig_getattr(self, VectorHexas, name)
     __repr__ = _swig_repr
-    def iterator(self): return _hexablock_swig.VectorHexas_iterator(self)
+    def iterator(*args): return _hexablock_swig.VectorHexas_iterator(*args)
     def __iter__(self): return self.iterator()
-    def __nonzero__(self): return _hexablock_swig.VectorHexas___nonzero__(self)
-    def __bool__(self): return _hexablock_swig.VectorHexas___bool__(self)
-    def __len__(self): return _hexablock_swig.VectorHexas___len__(self)
-    def pop(self): return _hexablock_swig.VectorHexas_pop(self)
-    def __getslice__(self, *args): return _hexablock_swig.VectorHexas___getslice__(self, *args)
-    def __setslice__(self, *args): return _hexablock_swig.VectorHexas___setslice__(self, *args)
-    def __delslice__(self, *args): return _hexablock_swig.VectorHexas___delslice__(self, *args)
-    def __delitem__(self, *args): return _hexablock_swig.VectorHexas___delitem__(self, *args)
-    def __getitem__(self, *args): return _hexablock_swig.VectorHexas___getitem__(self, *args)
-    def __setitem__(self, *args): return _hexablock_swig.VectorHexas___setitem__(self, *args)
-    def append(self, *args): return _hexablock_swig.VectorHexas_append(self, *args)
-    def empty(self): return _hexablock_swig.VectorHexas_empty(self)
-    def size(self): return _hexablock_swig.VectorHexas_size(self)
-    def clear(self): return _hexablock_swig.VectorHexas_clear(self)
-    def swap(self, *args): return _hexablock_swig.VectorHexas_swap(self, *args)
-    def get_allocator(self): return _hexablock_swig.VectorHexas_get_allocator(self)
-    def begin(self): return _hexablock_swig.VectorHexas_begin(self)
-    def end(self): return _hexablock_swig.VectorHexas_end(self)
-    def rbegin(self): return _hexablock_swig.VectorHexas_rbegin(self)
-    def rend(self): return _hexablock_swig.VectorHexas_rend(self)
-    def pop_back(self): return _hexablock_swig.VectorHexas_pop_back(self)
-    def erase(self, *args): return _hexablock_swig.VectorHexas_erase(self, *args)
+    def __nonzero__(*args): return _hexablock_swig.VectorHexas___nonzero__(*args)
+    def __len__(*args): return _hexablock_swig.VectorHexas___len__(*args)
+    def pop(*args): return _hexablock_swig.VectorHexas_pop(*args)
+    def __getslice__(*args): return _hexablock_swig.VectorHexas___getslice__(*args)
+    def __setslice__(*args): return _hexablock_swig.VectorHexas___setslice__(*args)
+    def __delslice__(*args): return _hexablock_swig.VectorHexas___delslice__(*args)
+    def __delitem__(*args): return _hexablock_swig.VectorHexas___delitem__(*args)
+    def __getitem__(*args): return _hexablock_swig.VectorHexas___getitem__(*args)
+    def __setitem__(*args): return _hexablock_swig.VectorHexas___setitem__(*args)
+    def append(*args): return _hexablock_swig.VectorHexas_append(*args)
+    def empty(*args): return _hexablock_swig.VectorHexas_empty(*args)
+    def size(*args): return _hexablock_swig.VectorHexas_size(*args)
+    def clear(*args): return _hexablock_swig.VectorHexas_clear(*args)
+    def swap(*args): return _hexablock_swig.VectorHexas_swap(*args)
+    def get_allocator(*args): return _hexablock_swig.VectorHexas_get_allocator(*args)
+    def begin(*args): return _hexablock_swig.VectorHexas_begin(*args)
+    def end(*args): return _hexablock_swig.VectorHexas_end(*args)
+    def rbegin(*args): return _hexablock_swig.VectorHexas_rbegin(*args)
+    def rend(*args): return _hexablock_swig.VectorHexas_rend(*args)
+    def pop_back(*args): return _hexablock_swig.VectorHexas_pop_back(*args)
+    def erase(*args): return _hexablock_swig.VectorHexas_erase(*args)
     def __init__(self, *args): 
         this = _hexablock_swig.new_VectorHexas(*args)
         try: self.this.append(this)
         except: self.this = this
-    def push_back(self, *args): return _hexablock_swig.VectorHexas_push_back(self, *args)
-    def front(self): return _hexablock_swig.VectorHexas_front(self)
-    def back(self): return _hexablock_swig.VectorHexas_back(self)
-    def assign(self, *args): return _hexablock_swig.VectorHexas_assign(self, *args)
-    def resize(self, *args): return _hexablock_swig.VectorHexas_resize(self, *args)
-    def insert(self, *args): return _hexablock_swig.VectorHexas_insert(self, *args)
-    def reserve(self, *args): return _hexablock_swig.VectorHexas_reserve(self, *args)
-    def capacity(self): return _hexablock_swig.VectorHexas_capacity(self)
+    def push_back(*args): return _hexablock_swig.VectorHexas_push_back(*args)
+    def front(*args): return _hexablock_swig.VectorHexas_front(*args)
+    def back(*args): return _hexablock_swig.VectorHexas_back(*args)
+    def assign(*args): return _hexablock_swig.VectorHexas_assign(*args)
+    def resize(*args): return _hexablock_swig.VectorHexas_resize(*args)
+    def insert(*args): return _hexablock_swig.VectorHexas_insert(*args)
+    def reserve(*args): return _hexablock_swig.VectorHexas_reserve(*args)
+    def capacity(*args): return _hexablock_swig.VectorHexas_capacity(*args)
     __swig_destroy__ = _hexablock_swig.delete_VectorHexas
     __del__ = lambda self : None;
 VectorHexas_swigregister = _hexablock_swig.VectorHexas_swigregister
@@ -148,42 +128,41 @@ class VectorQuads(_object):
     __swig_getmethods__ = {}
     __getattr__ = lambda self, name: _swig_getattr(self, VectorQuads, name)
     __repr__ = _swig_repr
-    def iterator(self): return _hexablock_swig.VectorQuads_iterator(self)
+    def iterator(*args): return _hexablock_swig.VectorQuads_iterator(*args)
     def __iter__(self): return self.iterator()
-    def __nonzero__(self): return _hexablock_swig.VectorQuads___nonzero__(self)
-    def __bool__(self): return _hexablock_swig.VectorQuads___bool__(self)
-    def __len__(self): return _hexablock_swig.VectorQuads___len__(self)
-    def pop(self): return _hexablock_swig.VectorQuads_pop(self)
-    def __getslice__(self, *args): return _hexablock_swig.VectorQuads___getslice__(self, *args)
-    def __setslice__(self, *args): return _hexablock_swig.VectorQuads___setslice__(self, *args)
-    def __delslice__(self, *args): return _hexablock_swig.VectorQuads___delslice__(self, *args)
-    def __delitem__(self, *args): return _hexablock_swig.VectorQuads___delitem__(self, *args)
-    def __getitem__(self, *args): return _hexablock_swig.VectorQuads___getitem__(self, *args)
-    def __setitem__(self, *args): return _hexablock_swig.VectorQuads___setitem__(self, *args)
-    def append(self, *args): return _hexablock_swig.VectorQuads_append(self, *args)
-    def empty(self): return _hexablock_swig.VectorQuads_empty(self)
-    def size(self): return _hexablock_swig.VectorQuads_size(self)
-    def clear(self): return _hexablock_swig.VectorQuads_clear(self)
-    def swap(self, *args): return _hexablock_swig.VectorQuads_swap(self, *args)
-    def get_allocator(self): return _hexablock_swig.VectorQuads_get_allocator(self)
-    def begin(self): return _hexablock_swig.VectorQuads_begin(self)
-    def end(self): return _hexablock_swig.VectorQuads_end(self)
-    def rbegin(self): return _hexablock_swig.VectorQuads_rbegin(self)
-    def rend(self): return _hexablock_swig.VectorQuads_rend(self)
-    def pop_back(self): return _hexablock_swig.VectorQuads_pop_back(self)
-    def erase(self, *args): return _hexablock_swig.VectorQuads_erase(self, *args)
+    def __nonzero__(*args): return _hexablock_swig.VectorQuads___nonzero__(*args)
+    def __len__(*args): return _hexablock_swig.VectorQuads___len__(*args)
+    def pop(*args): return _hexablock_swig.VectorQuads_pop(*args)
+    def __getslice__(*args): return _hexablock_swig.VectorQuads___getslice__(*args)
+    def __setslice__(*args): return _hexablock_swig.VectorQuads___setslice__(*args)
+    def __delslice__(*args): return _hexablock_swig.VectorQuads___delslice__(*args)
+    def __delitem__(*args): return _hexablock_swig.VectorQuads___delitem__(*args)
+    def __getitem__(*args): return _hexablock_swig.VectorQuads___getitem__(*args)
+    def __setitem__(*args): return _hexablock_swig.VectorQuads___setitem__(*args)
+    def append(*args): return _hexablock_swig.VectorQuads_append(*args)
+    def empty(*args): return _hexablock_swig.VectorQuads_empty(*args)
+    def size(*args): return _hexablock_swig.VectorQuads_size(*args)
+    def clear(*args): return _hexablock_swig.VectorQuads_clear(*args)
+    def swap(*args): return _hexablock_swig.VectorQuads_swap(*args)
+    def get_allocator(*args): return _hexablock_swig.VectorQuads_get_allocator(*args)
+    def begin(*args): return _hexablock_swig.VectorQuads_begin(*args)
+    def end(*args): return _hexablock_swig.VectorQuads_end(*args)
+    def rbegin(*args): return _hexablock_swig.VectorQuads_rbegin(*args)
+    def rend(*args): return _hexablock_swig.VectorQuads_rend(*args)
+    def pop_back(*args): return _hexablock_swig.VectorQuads_pop_back(*args)
+    def erase(*args): return _hexablock_swig.VectorQuads_erase(*args)
     def __init__(self, *args): 
         this = _hexablock_swig.new_VectorQuads(*args)
         try: self.this.append(this)
         except: self.this = this
-    def push_back(self, *args): return _hexablock_swig.VectorQuads_push_back(self, *args)
-    def front(self): return _hexablock_swig.VectorQuads_front(self)
-    def back(self): return _hexablock_swig.VectorQuads_back(self)
-    def assign(self, *args): return _hexablock_swig.VectorQuads_assign(self, *args)
-    def resize(self, *args): return _hexablock_swig.VectorQuads_resize(self, *args)
-    def insert(self, *args): return _hexablock_swig.VectorQuads_insert(self, *args)
-    def reserve(self, *args): return _hexablock_swig.VectorQuads_reserve(self, *args)
-    def capacity(self): return _hexablock_swig.VectorQuads_capacity(self)
+    def push_back(*args): return _hexablock_swig.VectorQuads_push_back(*args)
+    def front(*args): return _hexablock_swig.VectorQuads_front(*args)
+    def back(*args): return _hexablock_swig.VectorQuads_back(*args)
+    def assign(*args): return _hexablock_swig.VectorQuads_assign(*args)
+    def resize(*args): return _hexablock_swig.VectorQuads_resize(*args)
+    def insert(*args): return _hexablock_swig.VectorQuads_insert(*args)
+    def reserve(*args): return _hexablock_swig.VectorQuads_reserve(*args)
+    def capacity(*args): return _hexablock_swig.VectorQuads_capacity(*args)
     __swig_destroy__ = _hexablock_swig.delete_VectorQuads
     __del__ = lambda self : None;
 VectorQuads_swigregister = _hexablock_swig.VectorQuads_swigregister
@@ -195,42 +174,41 @@ class VectorEdges(_object):
     __swig_getmethods__ = {}
     __getattr__ = lambda self, name: _swig_getattr(self, VectorEdges, name)
     __repr__ = _swig_repr
-    def iterator(self): return _hexablock_swig.VectorEdges_iterator(self)
+    def iterator(*args): return _hexablock_swig.VectorEdges_iterator(*args)
     def __iter__(self): return self.iterator()
-    def __nonzero__(self): return _hexablock_swig.VectorEdges___nonzero__(self)
-    def __bool__(self): return _hexablock_swig.VectorEdges___bool__(self)
-    def __len__(self): return _hexablock_swig.VectorEdges___len__(self)
-    def pop(self): return _hexablock_swig.VectorEdges_pop(self)
-    def __getslice__(self, *args): return _hexablock_swig.VectorEdges___getslice__(self, *args)
-    def __setslice__(self, *args): return _hexablock_swig.VectorEdges___setslice__(self, *args)
-    def __delslice__(self, *args): return _hexablock_swig.VectorEdges___delslice__(self, *args)
-    def __delitem__(self, *args): return _hexablock_swig.VectorEdges___delitem__(self, *args)
-    def __getitem__(self, *args): return _hexablock_swig.VectorEdges___getitem__(self, *args)
-    def __setitem__(self, *args): return _hexablock_swig.VectorEdges___setitem__(self, *args)
-    def append(self, *args): return _hexablock_swig.VectorEdges_append(self, *args)
-    def empty(self): return _hexablock_swig.VectorEdges_empty(self)
-    def size(self): return _hexablock_swig.VectorEdges_size(self)
-    def clear(self): return _hexablock_swig.VectorEdges_clear(self)
-    def swap(self, *args): return _hexablock_swig.VectorEdges_swap(self, *args)
-    def get_allocator(self): return _hexablock_swig.VectorEdges_get_allocator(self)
-    def begin(self): return _hexablock_swig.VectorEdges_begin(self)
-    def end(self): return _hexablock_swig.VectorEdges_end(self)
-    def rbegin(self): return _hexablock_swig.VectorEdges_rbegin(self)
-    def rend(self): return _hexablock_swig.VectorEdges_rend(self)
-    def pop_back(self): return _hexablock_swig.VectorEdges_pop_back(self)
-    def erase(self, *args): return _hexablock_swig.VectorEdges_erase(self, *args)
+    def __nonzero__(*args): return _hexablock_swig.VectorEdges___nonzero__(*args)
+    def __len__(*args): return _hexablock_swig.VectorEdges___len__(*args)
+    def pop(*args): return _hexablock_swig.VectorEdges_pop(*args)
+    def __getslice__(*args): return _hexablock_swig.VectorEdges___getslice__(*args)
+    def __setslice__(*args): return _hexablock_swig.VectorEdges___setslice__(*args)
+    def __delslice__(*args): return _hexablock_swig.VectorEdges___delslice__(*args)
+    def __delitem__(*args): return _hexablock_swig.VectorEdges___delitem__(*args)
+    def __getitem__(*args): return _hexablock_swig.VectorEdges___getitem__(*args)
+    def __setitem__(*args): return _hexablock_swig.VectorEdges___setitem__(*args)
+    def append(*args): return _hexablock_swig.VectorEdges_append(*args)
+    def empty(*args): return _hexablock_swig.VectorEdges_empty(*args)
+    def size(*args): return _hexablock_swig.VectorEdges_size(*args)
+    def clear(*args): return _hexablock_swig.VectorEdges_clear(*args)
+    def swap(*args): return _hexablock_swig.VectorEdges_swap(*args)
+    def get_allocator(*args): return _hexablock_swig.VectorEdges_get_allocator(*args)
+    def begin(*args): return _hexablock_swig.VectorEdges_begin(*args)
+    def end(*args): return _hexablock_swig.VectorEdges_end(*args)
+    def rbegin(*args): return _hexablock_swig.VectorEdges_rbegin(*args)
+    def rend(*args): return _hexablock_swig.VectorEdges_rend(*args)
+    def pop_back(*args): return _hexablock_swig.VectorEdges_pop_back(*args)
+    def erase(*args): return _hexablock_swig.VectorEdges_erase(*args)
     def __init__(self, *args): 
         this = _hexablock_swig.new_VectorEdges(*args)
         try: self.this.append(this)
         except: self.this = this
-    def push_back(self, *args): return _hexablock_swig.VectorEdges_push_back(self, *args)
-    def front(self): return _hexablock_swig.VectorEdges_front(self)
-    def back(self): return _hexablock_swig.VectorEdges_back(self)
-    def assign(self, *args): return _hexablock_swig.VectorEdges_assign(self, *args)
-    def resize(self, *args): return _hexablock_swig.VectorEdges_resize(self, *args)
-    def insert(self, *args): return _hexablock_swig.VectorEdges_insert(self, *args)
-    def reserve(self, *args): return _hexablock_swig.VectorEdges_reserve(self, *args)
-    def capacity(self): return _hexablock_swig.VectorEdges_capacity(self)
+    def push_back(*args): return _hexablock_swig.VectorEdges_push_back(*args)
+    def front(*args): return _hexablock_swig.VectorEdges_front(*args)
+    def back(*args): return _hexablock_swig.VectorEdges_back(*args)
+    def assign(*args): return _hexablock_swig.VectorEdges_assign(*args)
+    def resize(*args): return _hexablock_swig.VectorEdges_resize(*args)
+    def insert(*args): return _hexablock_swig.VectorEdges_insert(*args)
+    def reserve(*args): return _hexablock_swig.VectorEdges_reserve(*args)
+    def capacity(*args): return _hexablock_swig.VectorEdges_capacity(*args)
     __swig_destroy__ = _hexablock_swig.delete_VectorEdges
     __del__ = lambda self : None;
 VectorEdges_swigregister = _hexablock_swig.VectorEdges_swigregister
@@ -242,42 +220,41 @@ class VectorVertices(_object):
     __swig_getmethods__ = {}
     __getattr__ = lambda self, name: _swig_getattr(self, VectorVertices, name)
     __repr__ = _swig_repr
-    def iterator(self): return _hexablock_swig.VectorVertices_iterator(self)
+    def iterator(*args): return _hexablock_swig.VectorVertices_iterator(*args)
     def __iter__(self): return self.iterator()
-    def __nonzero__(self): return _hexablock_swig.VectorVertices___nonzero__(self)
-    def __bool__(self): return _hexablock_swig.VectorVertices___bool__(self)
-    def __len__(self): return _hexablock_swig.VectorVertices___len__(self)
-    def pop(self): return _hexablock_swig.VectorVertices_pop(self)
-    def __getslice__(self, *args): return _hexablock_swig.VectorVertices___getslice__(self, *args)
-    def __setslice__(self, *args): return _hexablock_swig.VectorVertices___setslice__(self, *args)
-    def __delslice__(self, *args): return _hexablock_swig.VectorVertices___delslice__(self, *args)
-    def __delitem__(self, *args): return _hexablock_swig.VectorVertices___delitem__(self, *args)
-    def __getitem__(self, *args): return _hexablock_swig.VectorVertices___getitem__(self, *args)
-    def __setitem__(self, *args): return _hexablock_swig.VectorVertices___setitem__(self, *args)
-    def append(self, *args): return _hexablock_swig.VectorVertices_append(self, *args)
-    def empty(self): return _hexablock_swig.VectorVertices_empty(self)
-    def size(self): return _hexablock_swig.VectorVertices_size(self)
-    def clear(self): return _hexablock_swig.VectorVertices_clear(self)
-    def swap(self, *args): return _hexablock_swig.VectorVertices_swap(self, *args)
-    def get_allocator(self): return _hexablock_swig.VectorVertices_get_allocator(self)
-    def begin(self): return _hexablock_swig.VectorVertices_begin(self)
-    def end(self): return _hexablock_swig.VectorVertices_end(self)
-    def rbegin(self): return _hexablock_swig.VectorVertices_rbegin(self)
-    def rend(self): return _hexablock_swig.VectorVertices_rend(self)
-    def pop_back(self): return _hexablock_swig.VectorVertices_pop_back(self)
-    def erase(self, *args): return _hexablock_swig.VectorVertices_erase(self, *args)
+    def __nonzero__(*args): return _hexablock_swig.VectorVertices___nonzero__(*args)
+    def __len__(*args): return _hexablock_swig.VectorVertices___len__(*args)
+    def pop(*args): return _hexablock_swig.VectorVertices_pop(*args)
+    def __getslice__(*args): return _hexablock_swig.VectorVertices___getslice__(*args)
+    def __setslice__(*args): return _hexablock_swig.VectorVertices___setslice__(*args)
+    def __delslice__(*args): return _hexablock_swig.VectorVertices___delslice__(*args)
+    def __delitem__(*args): return _hexablock_swig.VectorVertices___delitem__(*args)
+    def __getitem__(*args): return _hexablock_swig.VectorVertices___getitem__(*args)
+    def __setitem__(*args): return _hexablock_swig.VectorVertices___setitem__(*args)
+    def append(*args): return _hexablock_swig.VectorVertices_append(*args)
+    def empty(*args): return _hexablock_swig.VectorVertices_empty(*args)
+    def size(*args): return _hexablock_swig.VectorVertices_size(*args)
+    def clear(*args): return _hexablock_swig.VectorVertices_clear(*args)
+    def swap(*args): return _hexablock_swig.VectorVertices_swap(*args)
+    def get_allocator(*args): return _hexablock_swig.VectorVertices_get_allocator(*args)
+    def begin(*args): return _hexablock_swig.VectorVertices_begin(*args)
+    def end(*args): return _hexablock_swig.VectorVertices_end(*args)
+    def rbegin(*args): return _hexablock_swig.VectorVertices_rbegin(*args)
+    def rend(*args): return _hexablock_swig.VectorVertices_rend(*args)
+    def pop_back(*args): return _hexablock_swig.VectorVertices_pop_back(*args)
+    def erase(*args): return _hexablock_swig.VectorVertices_erase(*args)
     def __init__(self, *args): 
         this = _hexablock_swig.new_VectorVertices(*args)
         try: self.this.append(this)
         except: self.this = this
-    def push_back(self, *args): return _hexablock_swig.VectorVertices_push_back(self, *args)
-    def front(self): return _hexablock_swig.VectorVertices_front(self)
-    def back(self): return _hexablock_swig.VectorVertices_back(self)
-    def assign(self, *args): return _hexablock_swig.VectorVertices_assign(self, *args)
-    def resize(self, *args): return _hexablock_swig.VectorVertices_resize(self, *args)
-    def insert(self, *args): return _hexablock_swig.VectorVertices_insert(self, *args)
-    def reserve(self, *args): return _hexablock_swig.VectorVertices_reserve(self, *args)
-    def capacity(self): return _hexablock_swig.VectorVertices_capacity(self)
+    def push_back(*args): return _hexablock_swig.VectorVertices_push_back(*args)
+    def front(*args): return _hexablock_swig.VectorVertices_front(*args)
+    def back(*args): return _hexablock_swig.VectorVertices_back(*args)
+    def assign(*args): return _hexablock_swig.VectorVertices_assign(*args)
+    def resize(*args): return _hexablock_swig.VectorVertices_resize(*args)
+    def insert(*args): return _hexablock_swig.VectorVertices_insert(*args)
+    def reserve(*args): return _hexablock_swig.VectorVertices_reserve(*args)
+    def capacity(*args): return _hexablock_swig.VectorVertices_capacity(*args)
     __swig_destroy__ = _hexablock_swig.delete_VectorVertices
     __del__ = lambda self : None;
 VectorVertices_swigregister = _hexablock_swig.VectorVertices_swigregister
@@ -289,42 +266,41 @@ class VectorShapes(_object):
     __swig_getmethods__ = {}
     __getattr__ = lambda self, name: _swig_getattr(self, VectorShapes, name)
     __repr__ = _swig_repr
-    def iterator(self): return _hexablock_swig.VectorShapes_iterator(self)
+    def iterator(*args): return _hexablock_swig.VectorShapes_iterator(*args)
     def __iter__(self): return self.iterator()
-    def __nonzero__(self): return _hexablock_swig.VectorShapes___nonzero__(self)
-    def __bool__(self): return _hexablock_swig.VectorShapes___bool__(self)
-    def __len__(self): return _hexablock_swig.VectorShapes___len__(self)
-    def pop(self): return _hexablock_swig.VectorShapes_pop(self)
-    def __getslice__(self, *args): return _hexablock_swig.VectorShapes___getslice__(self, *args)
-    def __setslice__(self, *args): return _hexablock_swig.VectorShapes___setslice__(self, *args)
-    def __delslice__(self, *args): return _hexablock_swig.VectorShapes___delslice__(self, *args)
-    def __delitem__(self, *args): return _hexablock_swig.VectorShapes___delitem__(self, *args)
-    def __getitem__(self, *args): return _hexablock_swig.VectorShapes___getitem__(self, *args)
-    def __setitem__(self, *args): return _hexablock_swig.VectorShapes___setitem__(self, *args)
-    def append(self, *args): return _hexablock_swig.VectorShapes_append(self, *args)
-    def empty(self): return _hexablock_swig.VectorShapes_empty(self)
-    def size(self): return _hexablock_swig.VectorShapes_size(self)
-    def clear(self): return _hexablock_swig.VectorShapes_clear(self)
-    def swap(self, *args): return _hexablock_swig.VectorShapes_swap(self, *args)
-    def get_allocator(self): return _hexablock_swig.VectorShapes_get_allocator(self)
-    def begin(self): return _hexablock_swig.VectorShapes_begin(self)
-    def end(self): return _hexablock_swig.VectorShapes_end(self)
-    def rbegin(self): return _hexablock_swig.VectorShapes_rbegin(self)
-    def rend(self): return _hexablock_swig.VectorShapes_rend(self)
-    def pop_back(self): return _hexablock_swig.VectorShapes_pop_back(self)
-    def erase(self, *args): return _hexablock_swig.VectorShapes_erase(self, *args)
+    def __nonzero__(*args): return _hexablock_swig.VectorShapes___nonzero__(*args)
+    def __len__(*args): return _hexablock_swig.VectorShapes___len__(*args)
+    def pop(*args): return _hexablock_swig.VectorShapes_pop(*args)
+    def __getslice__(*args): return _hexablock_swig.VectorShapes___getslice__(*args)
+    def __setslice__(*args): return _hexablock_swig.VectorShapes___setslice__(*args)
+    def __delslice__(*args): return _hexablock_swig.VectorShapes___delslice__(*args)
+    def __delitem__(*args): return _hexablock_swig.VectorShapes___delitem__(*args)
+    def __getitem__(*args): return _hexablock_swig.VectorShapes___getitem__(*args)
+    def __setitem__(*args): return _hexablock_swig.VectorShapes___setitem__(*args)
+    def append(*args): return _hexablock_swig.VectorShapes_append(*args)
+    def empty(*args): return _hexablock_swig.VectorShapes_empty(*args)
+    def size(*args): return _hexablock_swig.VectorShapes_size(*args)
+    def clear(*args): return _hexablock_swig.VectorShapes_clear(*args)
+    def swap(*args): return _hexablock_swig.VectorShapes_swap(*args)
+    def get_allocator(*args): return _hexablock_swig.VectorShapes_get_allocator(*args)
+    def begin(*args): return _hexablock_swig.VectorShapes_begin(*args)
+    def end(*args): return _hexablock_swig.VectorShapes_end(*args)
+    def rbegin(*args): return _hexablock_swig.VectorShapes_rbegin(*args)
+    def rend(*args): return _hexablock_swig.VectorShapes_rend(*args)
+    def pop_back(*args): return _hexablock_swig.VectorShapes_pop_back(*args)
+    def erase(*args): return _hexablock_swig.VectorShapes_erase(*args)
     def __init__(self, *args): 
         this = _hexablock_swig.new_VectorShapes(*args)
         try: self.this.append(this)
         except: self.this = this
-    def push_back(self, *args): return _hexablock_swig.VectorShapes_push_back(self, *args)
-    def front(self): return _hexablock_swig.VectorShapes_front(self)
-    def back(self): return _hexablock_swig.VectorShapes_back(self)
-    def assign(self, *args): return _hexablock_swig.VectorShapes_assign(self, *args)
-    def resize(self, *args): return _hexablock_swig.VectorShapes_resize(self, *args)
-    def insert(self, *args): return _hexablock_swig.VectorShapes_insert(self, *args)
-    def reserve(self, *args): return _hexablock_swig.VectorShapes_reserve(self, *args)
-    def capacity(self): return _hexablock_swig.VectorShapes_capacity(self)
+    def push_back(*args): return _hexablock_swig.VectorShapes_push_back(*args)
+    def front(*args): return _hexablock_swig.VectorShapes_front(*args)
+    def back(*args): return _hexablock_swig.VectorShapes_back(*args)
+    def assign(*args): return _hexablock_swig.VectorShapes_assign(*args)
+    def resize(*args): return _hexablock_swig.VectorShapes_resize(*args)
+    def insert(*args): return _hexablock_swig.VectorShapes_insert(*args)
+    def reserve(*args): return _hexablock_swig.VectorShapes_reserve(*args)
+    def capacity(*args): return _hexablock_swig.VectorShapes_capacity(*args)
     __swig_destroy__ = _hexablock_swig.delete_VectorShapes
     __del__ = lambda self : None;
 VectorShapes_swigregister = _hexablock_swig.VectorShapes_swigregister
@@ -336,42 +312,41 @@ class VectorReal(_object):
     __swig_getmethods__ = {}
     __getattr__ = lambda self, name: _swig_getattr(self, VectorReal, name)
     __repr__ = _swig_repr
-    def iterator(self): return _hexablock_swig.VectorReal_iterator(self)
+    def iterator(*args): return _hexablock_swig.VectorReal_iterator(*args)
     def __iter__(self): return self.iterator()
-    def __nonzero__(self): return _hexablock_swig.VectorReal___nonzero__(self)
-    def __bool__(self): return _hexablock_swig.VectorReal___bool__(self)
-    def __len__(self): return _hexablock_swig.VectorReal___len__(self)
-    def pop(self): return _hexablock_swig.VectorReal_pop(self)
-    def __getslice__(self, *args): return _hexablock_swig.VectorReal___getslice__(self, *args)
-    def __setslice__(self, *args): return _hexablock_swig.VectorReal___setslice__(self, *args)
-    def __delslice__(self, *args): return _hexablock_swig.VectorReal___delslice__(self, *args)
-    def __delitem__(self, *args): return _hexablock_swig.VectorReal___delitem__(self, *args)
-    def __getitem__(self, *args): return _hexablock_swig.VectorReal___getitem__(self, *args)
-    def __setitem__(self, *args): return _hexablock_swig.VectorReal___setitem__(self, *args)
-    def append(self, *args): return _hexablock_swig.VectorReal_append(self, *args)
-    def empty(self): return _hexablock_swig.VectorReal_empty(self)
-    def size(self): return _hexablock_swig.VectorReal_size(self)
-    def clear(self): return _hexablock_swig.VectorReal_clear(self)
-    def swap(self, *args): return _hexablock_swig.VectorReal_swap(self, *args)
-    def get_allocator(self): return _hexablock_swig.VectorReal_get_allocator(self)
-    def begin(self): return _hexablock_swig.VectorReal_begin(self)
-    def end(self): return _hexablock_swig.VectorReal_end(self)
-    def rbegin(self): return _hexablock_swig.VectorReal_rbegin(self)
-    def rend(self): return _hexablock_swig.VectorReal_rend(self)
-    def pop_back(self): return _hexablock_swig.VectorReal_pop_back(self)
-    def erase(self, *args): return _hexablock_swig.VectorReal_erase(self, *args)
+    def __nonzero__(*args): return _hexablock_swig.VectorReal___nonzero__(*args)
+    def __len__(*args): return _hexablock_swig.VectorReal___len__(*args)
+    def pop(*args): return _hexablock_swig.VectorReal_pop(*args)
+    def __getslice__(*args): return _hexablock_swig.VectorReal___getslice__(*args)
+    def __setslice__(*args): return _hexablock_swig.VectorReal___setslice__(*args)
+    def __delslice__(*args): return _hexablock_swig.VectorReal___delslice__(*args)
+    def __delitem__(*args): return _hexablock_swig.VectorReal___delitem__(*args)
+    def __getitem__(*args): return _hexablock_swig.VectorReal___getitem__(*args)
+    def __setitem__(*args): return _hexablock_swig.VectorReal___setitem__(*args)
+    def append(*args): return _hexablock_swig.VectorReal_append(*args)
+    def empty(*args): return _hexablock_swig.VectorReal_empty(*args)
+    def size(*args): return _hexablock_swig.VectorReal_size(*args)
+    def clear(*args): return _hexablock_swig.VectorReal_clear(*args)
+    def swap(*args): return _hexablock_swig.VectorReal_swap(*args)
+    def get_allocator(*args): return _hexablock_swig.VectorReal_get_allocator(*args)
+    def begin(*args): return _hexablock_swig.VectorReal_begin(*args)
+    def end(*args): return _hexablock_swig.VectorReal_end(*args)
+    def rbegin(*args): return _hexablock_swig.VectorReal_rbegin(*args)
+    def rend(*args): return _hexablock_swig.VectorReal_rend(*args)
+    def pop_back(*args): return _hexablock_swig.VectorReal_pop_back(*args)
+    def erase(*args): return _hexablock_swig.VectorReal_erase(*args)
     def __init__(self, *args): 
         this = _hexablock_swig.new_VectorReal(*args)
         try: self.this.append(this)
         except: self.this = this
-    def push_back(self, *args): return _hexablock_swig.VectorReal_push_back(self, *args)
-    def front(self): return _hexablock_swig.VectorReal_front(self)
-    def back(self): return _hexablock_swig.VectorReal_back(self)
-    def assign(self, *args): return _hexablock_swig.VectorReal_assign(self, *args)
-    def resize(self, *args): return _hexablock_swig.VectorReal_resize(self, *args)
-    def insert(self, *args): return _hexablock_swig.VectorReal_insert(self, *args)
-    def reserve(self, *args): return _hexablock_swig.VectorReal_reserve(self, *args)
-    def capacity(self): return _hexablock_swig.VectorReal_capacity(self)
+    def push_back(*args): return _hexablock_swig.VectorReal_push_back(*args)
+    def front(*args): return _hexablock_swig.VectorReal_front(*args)
+    def back(*args): return _hexablock_swig.VectorReal_back(*args)
+    def assign(*args): return _hexablock_swig.VectorReal_assign(*args)
+    def resize(*args): return _hexablock_swig.VectorReal_resize(*args)
+    def insert(*args): return _hexablock_swig.VectorReal_insert(*args)
+    def reserve(*args): return _hexablock_swig.VectorReal_reserve(*args)
+    def capacity(*args): return _hexablock_swig.VectorReal_capacity(*args)
     __swig_destroy__ = _hexablock_swig.delete_VectorReal
     __del__ = lambda self : None;
 VectorReal_swigregister = _hexablock_swig.VectorReal_swigregister
@@ -383,42 +358,41 @@ class VectorInt(_object):
     __swig_getmethods__ = {}
     __getattr__ = lambda self, name: _swig_getattr(self, VectorInt, name)
     __repr__ = _swig_repr
-    def iterator(self): return _hexablock_swig.VectorInt_iterator(self)
+    def iterator(*args): return _hexablock_swig.VectorInt_iterator(*args)
     def __iter__(self): return self.iterator()
-    def __nonzero__(self): return _hexablock_swig.VectorInt___nonzero__(self)
-    def __bool__(self): return _hexablock_swig.VectorInt___bool__(self)
-    def __len__(self): return _hexablock_swig.VectorInt___len__(self)
-    def pop(self): return _hexablock_swig.VectorInt_pop(self)
-    def __getslice__(self, *args): return _hexablock_swig.VectorInt___getslice__(self, *args)
-    def __setslice__(self, *args): return _hexablock_swig.VectorInt___setslice__(self, *args)
-    def __delslice__(self, *args): return _hexablock_swig.VectorInt___delslice__(self, *args)
-    def __delitem__(self, *args): return _hexablock_swig.VectorInt___delitem__(self, *args)
-    def __getitem__(self, *args): return _hexablock_swig.VectorInt___getitem__(self, *args)
-    def __setitem__(self, *args): return _hexablock_swig.VectorInt___setitem__(self, *args)
-    def append(self, *args): return _hexablock_swig.VectorInt_append(self, *args)
-    def empty(self): return _hexablock_swig.VectorInt_empty(self)
-    def size(self): return _hexablock_swig.VectorInt_size(self)
-    def clear(self): return _hexablock_swig.VectorInt_clear(self)
-    def swap(self, *args): return _hexablock_swig.VectorInt_swap(self, *args)
-    def get_allocator(self): return _hexablock_swig.VectorInt_get_allocator(self)
-    def begin(self): return _hexablock_swig.VectorInt_begin(self)
-    def end(self): return _hexablock_swig.VectorInt_end(self)
-    def rbegin(self): return _hexablock_swig.VectorInt_rbegin(self)
-    def rend(self): return _hexablock_swig.VectorInt_rend(self)
-    def pop_back(self): return _hexablock_swig.VectorInt_pop_back(self)
-    def erase(self, *args): return _hexablock_swig.VectorInt_erase(self, *args)
+    def __nonzero__(*args): return _hexablock_swig.VectorInt___nonzero__(*args)
+    def __len__(*args): return _hexablock_swig.VectorInt___len__(*args)
+    def pop(*args): return _hexablock_swig.VectorInt_pop(*args)
+    def __getslice__(*args): return _hexablock_swig.VectorInt___getslice__(*args)
+    def __setslice__(*args): return _hexablock_swig.VectorInt___setslice__(*args)
+    def __delslice__(*args): return _hexablock_swig.VectorInt___delslice__(*args)
+    def __delitem__(*args): return _hexablock_swig.VectorInt___delitem__(*args)
+    def __getitem__(*args): return _hexablock_swig.VectorInt___getitem__(*args)
+    def __setitem__(*args): return _hexablock_swig.VectorInt___setitem__(*args)
+    def append(*args): return _hexablock_swig.VectorInt_append(*args)
+    def empty(*args): return _hexablock_swig.VectorInt_empty(*args)
+    def size(*args): return _hexablock_swig.VectorInt_size(*args)
+    def clear(*args): return _hexablock_swig.VectorInt_clear(*args)
+    def swap(*args): return _hexablock_swig.VectorInt_swap(*args)
+    def get_allocator(*args): return _hexablock_swig.VectorInt_get_allocator(*args)
+    def begin(*args): return _hexablock_swig.VectorInt_begin(*args)
+    def end(*args): return _hexablock_swig.VectorInt_end(*args)
+    def rbegin(*args): return _hexablock_swig.VectorInt_rbegin(*args)
+    def rend(*args): return _hexablock_swig.VectorInt_rend(*args)
+    def pop_back(*args): return _hexablock_swig.VectorInt_pop_back(*args)
+    def erase(*args): return _hexablock_swig.VectorInt_erase(*args)
     def __init__(self, *args): 
         this = _hexablock_swig.new_VectorInt(*args)
         try: self.this.append(this)
         except: self.this = this
-    def push_back(self, *args): return _hexablock_swig.VectorInt_push_back(self, *args)
-    def front(self): return _hexablock_swig.VectorInt_front(self)
-    def back(self): return _hexablock_swig.VectorInt_back(self)
-    def assign(self, *args): return _hexablock_swig.VectorInt_assign(self, *args)
-    def resize(self, *args): return _hexablock_swig.VectorInt_resize(self, *args)
-    def insert(self, *args): return _hexablock_swig.VectorInt_insert(self, *args)
-    def reserve(self, *args): return _hexablock_swig.VectorInt_reserve(self, *args)
-    def capacity(self): return _hexablock_swig.VectorInt_capacity(self)
+    def push_back(*args): return _hexablock_swig.VectorInt_push_back(*args)
+    def front(*args): return _hexablock_swig.VectorInt_front(*args)
+    def back(*args): return _hexablock_swig.VectorInt_back(*args)
+    def assign(*args): return _hexablock_swig.VectorInt_assign(*args)
+    def resize(*args): return _hexablock_swig.VectorInt_resize(*args)
+    def insert(*args): return _hexablock_swig.VectorInt_insert(*args)
+    def reserve(*args): return _hexablock_swig.VectorInt_reserve(*args)
+    def capacity(*args): return _hexablock_swig.VectorInt_capacity(*args)
     __swig_destroy__ = _hexablock_swig.delete_VectorInt
     __del__ = lambda self : None;
 VectorInt_swigregister = _hexablock_swig.VectorInt_swigregister
@@ -565,101 +539,29 @@ CylSmall = _hexablock_swig.CylSmall
 CylBig = _hexablock_swig.CylBig
 NxInt = _hexablock_swig.NxInt
 NxExt = _hexablock_swig.NxExt
-
-def get_temp_name(*args):
-  return _hexablock_swig.get_temp_name(*args)
 get_temp_name = _hexablock_swig.get_temp_name
-
-def prod_scalaire(*args):
-  return _hexablock_swig.prod_scalaire(*args)
 prod_scalaire = _hexablock_swig.prod_scalaire
-
-def prod_vectoriel(*args):
-  return _hexablock_swig.prod_vectoriel(*args)
 prod_vectoriel = _hexablock_swig.prod_vectoriel
-
-def prod_mixte(*args):
-  return _hexablock_swig.prod_mixte(*args)
 prod_mixte = _hexablock_swig.prod_mixte
-
-def deg2radians(*args):
-  return _hexablock_swig.deg2radians(*args)
 deg2radians = _hexablock_swig.deg2radians
-
-def rad2degres(*args):
-  return _hexablock_swig.rad2degres(*args)
 rad2degres = _hexablock_swig.rad2degres
-
-def calc_norme(*args):
-  return _hexablock_swig.calc_norme(*args)
 calc_norme = _hexablock_swig.calc_norme
-
-def calc_distance(*args):
-  return _hexablock_swig.calc_distance(*args)
 calc_distance = _hexablock_swig.calc_distance
-
-def calc_d2(*args):
-  return _hexablock_swig.calc_d2(*args)
 calc_d2 = _hexablock_swig.calc_d2
-
-def calc_vecteur(*args):
-  return _hexablock_swig.calc_vecteur(*args)
 calc_vecteur = _hexablock_swig.calc_vecteur
-
-def copy_vecteur(*args):
-  return _hexablock_swig.copy_vecteur(*args)
 copy_vecteur = _hexablock_swig.copy_vecteur
-
-def calc_milieu(*args):
-  return _hexablock_swig.calc_milieu(*args)
 calc_milieu = _hexablock_swig.calc_milieu
-
-def normer_vecteur(*args):
-  return _hexablock_swig.normer_vecteur(*args)
 normer_vecteur = _hexablock_swig.normer_vecteur
-
-def carre(*args):
-  return _hexablock_swig.carre(*args)
 carre = _hexablock_swig.carre
-
-def on_debug():
-  return _hexablock_swig.on_debug()
 on_debug = _hexablock_swig.on_debug
-
-def in_test():
-  return _hexablock_swig.in_test()
 in_test = _hexablock_swig.in_test
-
-def niv_debug():
-  return _hexablock_swig.niv_debug()
 niv_debug = _hexablock_swig.niv_debug
-
-def set_minus(*args):
-  return _hexablock_swig.set_minus(*args)
 set_minus = _hexablock_swig.set_minus
-
-def special_option():
-  return _hexablock_swig.special_option()
 special_option = _hexablock_swig.special_option
-
-def set_special_option(*args):
-  return _hexablock_swig.set_special_option(*args)
 set_special_option = _hexablock_swig.set_special_option
-
-def sizeof_file(*args):
-  return _hexablock_swig.sizeof_file(*args)
 sizeof_file = _hexablock_swig.sizeof_file
-
-def read_file(*args):
-  return _hexablock_swig.read_file(*args)
 read_file = _hexablock_swig.read_file
-
-def get_time(*args):
-  return _hexablock_swig.get_time(*args)
 get_time = _hexablock_swig.get_time
-
-def make_basename(*args):
-  return _hexablock_swig.make_basename(*args)
 make_basename = _hexablock_swig.make_basename
 class EltBase(_object):
     __swig_setmethods__ = {}
@@ -667,76 +569,64 @@ class EltBase(_object):
     __swig_getmethods__ = {}
     __getattr__ = lambda self, name: _swig_getattr(self, EltBase, name)
     __repr__ = _swig_repr
-    def countHexa(self): return _hexablock_swig.EltBase_countHexa(self)
-    def countQuad(self): return _hexablock_swig.EltBase_countQuad(self)
-    def countEdge(self): return _hexablock_swig.EltBase_countEdge(self)
-    def countVertex(self): return _hexablock_swig.EltBase_countVertex(self)
-    def setError(self, kod = 1): return _hexablock_swig.EltBase_setError(self, kod)
-    def getError(self): return _hexablock_swig.EltBase_getError(self)
-    def isValid(self): return _hexablock_swig.EltBase_isValid(self)
-    def isBad(self): return _hexablock_swig.EltBase_isBad(self)
-    def duplicate(self): return _hexablock_swig.EltBase_duplicate(self)
-    def clearAssociation(self): return _hexablock_swig.EltBase_clearAssociation(self)
-    def replaceEdge(self, *args): return _hexablock_swig.EltBase_replaceEdge(self, *args)
-    def replaceVertex(self, *args): return _hexablock_swig.EltBase_replaceVertex(self, *args)
+    def countHexa(*args): return _hexablock_swig.EltBase_countHexa(*args)
+    def countQuad(*args): return _hexablock_swig.EltBase_countQuad(*args)
+    def countEdge(*args): return _hexablock_swig.EltBase_countEdge(*args)
+    def countVertex(*args): return _hexablock_swig.EltBase_countVertex(*args)
+    def setError(*args): return _hexablock_swig.EltBase_setError(*args)
+    def getError(*args): return _hexablock_swig.EltBase_getError(*args)
+    def isValid(*args): return _hexablock_swig.EltBase_isValid(*args)
+    def isBad(*args): return _hexablock_swig.EltBase_isBad(*args)
+    def duplicate(*args): return _hexablock_swig.EltBase_duplicate(*args)
+    def clearAssociation(*args): return _hexablock_swig.EltBase_clearAssociation(*args)
+    def replaceEdge(*args): return _hexablock_swig.EltBase_replaceEdge(*args)
+    def replaceVertex(*args): return _hexablock_swig.EltBase_replaceVertex(*args)
     def __init__(self, *args): 
         this = _hexablock_swig.new_EltBase(*args)
         try: self.this.append(this)
         except: self.this = this
     __swig_destroy__ = _hexablock_swig.delete_EltBase
     __del__ = lambda self : None;
-    def remove(self): return _hexablock_swig.EltBase_remove(self)
-    def suppress(self): return _hexablock_swig.EltBase_suppress(self)
-    def dump(self): return _hexablock_swig.EltBase_dump(self)
-    def saveXml(self, *args): return _hexablock_swig.EltBase_saveXml(self, *args)
-    def majReferences(self): return _hexablock_swig.EltBase_majReferences(self)
-    def makeVarName(self, *args): return _hexablock_swig.EltBase_makeVarName(self, *args)
+    def remove(*args): return _hexablock_swig.EltBase_remove(*args)
+    def suppress(*args): return _hexablock_swig.EltBase_suppress(*args)
+    def dump(*args): return _hexablock_swig.EltBase_dump(*args)
+    def saveXml(*args): return _hexablock_swig.EltBase_saveXml(*args)
+    def majReferences(*args): return _hexablock_swig.EltBase_majReferences(*args)
+    def makeVarName(*args): return _hexablock_swig.EltBase_makeVarName(*args)
     __swig_getmethods__["makeName"] = lambda x: _hexablock_swig.EltBase_makeName
     if _newclass:makeName = staticmethod(_hexablock_swig.EltBase_makeName)
-    def next(self): return _hexablock_swig.EltBase_next(self)
-    def setNext(self, *args): return _hexablock_swig.EltBase_setNext(self, *args)
-    def getId(self): return _hexablock_swig.EltBase_getId(self)
-    def setId(self, *args): return _hexablock_swig.EltBase_setId(self, *args)
-    def dad(self): return _hexablock_swig.EltBase_dad(self)
-    def getType(self): return _hexablock_swig.EltBase_getType(self)
-    def isHere(self): return _hexablock_swig.EltBase_isHere(self)
-    def isDeleted(self): return _hexablock_swig.EltBase_isDeleted(self)
-    def razReferences(self): return _hexablock_swig.EltBase_razReferences(self)
-    def addParent(self, *args): return _hexablock_swig.EltBase_addParent(self, *args)
-    def getNbrParents(self): return _hexablock_swig.EltBase_getNbrParents(self)
-    def hasParents(self): return _hexablock_swig.EltBase_hasParents(self)
-    def getFather(self, *args): return _hexablock_swig.EltBase_getFather(self, *args)
-    def getMark(self): return _hexablock_swig.EltBase_getMark(self)
-    def setMark(self, *args): return _hexablock_swig.EltBase_setMark(self, *args)
-    def printName(self, sep = " "): return _hexablock_swig.EltBase_printName(self, sep)
-    def dumpRef(self): return _hexablock_swig.EltBase_dumpRef(self)
-    def getName(self, *args): return _hexablock_swig.EltBase_getName(self, *args)
-    def setName(self, *args): return _hexablock_swig.EltBase_setName(self, *args)
-    def debug(self, niv = 0): return _hexablock_swig.EltBase_debug(self, niv)
-    def isAssociated(self): return _hexablock_swig.EltBase_isAssociated(self)
-    def getNextName(self): return _hexablock_swig.EltBase_getNextName(self)
+    def next(*args): return _hexablock_swig.EltBase_next(*args)
+    def setNext(*args): return _hexablock_swig.EltBase_setNext(*args)
+    def getId(*args): return _hexablock_swig.EltBase_getId(*args)
+    def setId(*args): return _hexablock_swig.EltBase_setId(*args)
+    def dad(*args): return _hexablock_swig.EltBase_dad(*args)
+    def getType(*args): return _hexablock_swig.EltBase_getType(*args)
+    def isHere(*args): return _hexablock_swig.EltBase_isHere(*args)
+    def isDeleted(*args): return _hexablock_swig.EltBase_isDeleted(*args)
+    def razReferences(*args): return _hexablock_swig.EltBase_razReferences(*args)
+    def addParent(*args): return _hexablock_swig.EltBase_addParent(*args)
+    def getNbrParents(*args): return _hexablock_swig.EltBase_getNbrParents(*args)
+    def hasParents(*args): return _hexablock_swig.EltBase_hasParents(*args)
+    def getFather(*args): return _hexablock_swig.EltBase_getFather(*args)
+    def getMark(*args): return _hexablock_swig.EltBase_getMark(*args)
+    def setMark(*args): return _hexablock_swig.EltBase_setMark(*args)
+    def printName(*args): return _hexablock_swig.EltBase_printName(*args)
+    def dumpRef(*args): return _hexablock_swig.EltBase_dumpRef(*args)
+    def getName(*args): return _hexablock_swig.EltBase_getName(*args)
+    def setName(*args): return _hexablock_swig.EltBase_setName(*args)
+    def debug(*args): return _hexablock_swig.EltBase_debug(*args)
+    def isAssociated(*args): return _hexablock_swig.EltBase_isAssociated(*args)
+    def getNextName(*args): return _hexablock_swig.EltBase_getNextName(*args)
 EltBase_swigregister = _hexablock_swig.EltBase_swigregister
 EltBase_swigregister(EltBase)
 cvar = _hexablock_swig.cvar
 ABR_TYPES = cvar.ABR_TYPES
-
-def fatal_error(*args):
-  return _hexablock_swig.fatal_error(*args)
 fatal_error = _hexablock_swig.fatal_error
-
-def same_coords(*args):
-  return _hexablock_swig.same_coords(*args)
 same_coords = _hexablock_swig.same_coords
-
-def requals(*args):
-  return _hexablock_swig.requals(*args)
 requals = _hexablock_swig.requals
 Epsil = cvar.Epsil
 UnEpsil = cvar.UnEpsil
 Epsil2 = cvar.Epsil2
-
-def EltBase_makeName(*args):
-  return _hexablock_swig.EltBase_makeName(*args)
 EltBase_makeName = _hexablock_swig.EltBase_makeName
 
 class Vertex(EltBase):
@@ -747,18 +637,18 @@ class Vertex(EltBase):
     for _s in [EltBase]: __swig_getmethods__.update(getattr(_s,'__swig_getmethods__',{}))
     __getattr__ = lambda self, name: _swig_getattr(self, Vertex, name)
     __repr__ = _swig_repr
-    def getX(self): return _hexablock_swig.Vertex_getX(self)
-    def getY(self): return _hexablock_swig.Vertex_getY(self)
-    def getZ(self): return _hexablock_swig.Vertex_getZ(self)
-    def setX(self, *args): return _hexablock_swig.Vertex_setX(self, *args)
-    def setY(self, *args): return _hexablock_swig.Vertex_setY(self, *args)
-    def setZ(self, *args): return _hexablock_swig.Vertex_setZ(self, *args)
-    def getAssoX(self): return _hexablock_swig.Vertex_getAssoX(self)
-    def getAssoY(self): return _hexablock_swig.Vertex_getAssoY(self)
-    def getAssoZ(self): return _hexablock_swig.Vertex_getAssoZ(self)
-    def setAssociation(self, *args): return _hexablock_swig.Vertex_setAssociation(self, *args)
-    def clearAssociation(self): return _hexablock_swig.Vertex_clearAssociation(self)
-    def setColor(self, *args): return _hexablock_swig.Vertex_setColor(self, *args)
+    def getX(*args): return _hexablock_swig.Vertex_getX(*args)
+    def getY(*args): return _hexablock_swig.Vertex_getY(*args)
+    def getZ(*args): return _hexablock_swig.Vertex_getZ(*args)
+    def setX(*args): return _hexablock_swig.Vertex_setX(*args)
+    def setY(*args): return _hexablock_swig.Vertex_setY(*args)
+    def setZ(*args): return _hexablock_swig.Vertex_setZ(*args)
+    def getAssoX(*args): return _hexablock_swig.Vertex_getAssoX(*args)
+    def getAssoY(*args): return _hexablock_swig.Vertex_getAssoY(*args)
+    def getAssoZ(*args): return _hexablock_swig.Vertex_getAssoZ(*args)
+    def setAssociation(*args): return _hexablock_swig.Vertex_setAssociation(*args)
+    def clearAssociation(*args): return _hexablock_swig.Vertex_clearAssociation(*args)
+    def setColor(*args): return _hexablock_swig.Vertex_setColor(*args)
     def __init__(self, *args): 
         this = _hexablock_swig.new_Vertex(*args)
         try: self.this.append(this)
@@ -776,14 +666,14 @@ class Edge(EltBase):
     for _s in [EltBase]: __swig_getmethods__.update(getattr(_s,'__swig_getmethods__',{}))
     __getattr__ = lambda self, name: _swig_getattr(self, Edge, name)
     __repr__ = _swig_repr
-    def getVertex(self, *args): return _hexablock_swig.Edge_getVertex(self, *args)
-    def addAssociation(self, *args): return _hexablock_swig.Edge_addAssociation(self, *args)
-    def setAssociation(self, *args): return _hexablock_swig.Edge_setAssociation(self, *args)
-    def findAssociation(self, *args): return _hexablock_swig.Edge_findAssociation(self, *args)
-    def clearAssociation(self): return _hexablock_swig.Edge_clearAssociation(self)
-    def setColor(self, *args): return _hexablock_swig.Edge_setColor(self, *args)
-    def getWay(self): return _hexablock_swig.Edge_getWay(self)
-    def getLength(self): return _hexablock_swig.Edge_getLength(self)
+    def getVertex(*args): return _hexablock_swig.Edge_getVertex(*args)
+    def addAssociation(*args): return _hexablock_swig.Edge_addAssociation(*args)
+    def setAssociation(*args): return _hexablock_swig.Edge_setAssociation(*args)
+    def findAssociation(*args): return _hexablock_swig.Edge_findAssociation(*args)
+    def clearAssociation(*args): return _hexablock_swig.Edge_clearAssociation(*args)
+    def setColor(*args): return _hexablock_swig.Edge_setColor(*args)
+    def getWay(*args): return _hexablock_swig.Edge_getWay(*args)
+    def getLength(*args): return _hexablock_swig.Edge_getLength(*args)
     def __init__(self, *args): 
         this = _hexablock_swig.new_Edge(*args)
         try: self.this.append(this)
@@ -801,13 +691,13 @@ class Quad(EltBase):
     for _s in [EltBase]: __swig_getmethods__.update(getattr(_s,'__swig_getmethods__',{}))
     __getattr__ = lambda self, name: _swig_getattr(self, Quad, name)
     __repr__ = _swig_repr
-    def getEdge(self, *args): return _hexablock_swig.Quad_getEdge(self, *args)
-    def getVertex(self, *args): return _hexablock_swig.Quad_getVertex(self, *args)
-    def addAssociation(self, *args): return _hexablock_swig.Quad_addAssociation(self, *args)
-    def clearAssociation(self): return _hexablock_swig.Quad_clearAssociation(self)
-    def setColor(self, *args): return _hexablock_swig.Quad_setColor(self, *args)
-    def nearestVertex(self, *args): return _hexablock_swig.Quad_nearestVertex(self, *args)
-    def getCenter(self, *args): return _hexablock_swig.Quad_getCenter(self, *args)
+    def getEdge(*args): return _hexablock_swig.Quad_getEdge(*args)
+    def getVertex(*args): return _hexablock_swig.Quad_getVertex(*args)
+    def addAssociation(*args): return _hexablock_swig.Quad_addAssociation(*args)
+    def clearAssociation(*args): return _hexablock_swig.Quad_clearAssociation(*args)
+    def setColor(*args): return _hexablock_swig.Quad_setColor(*args)
+    def nearestVertex(*args): return _hexablock_swig.Quad_nearestVertex(*args)
+    def getCenter(*args): return _hexablock_swig.Quad_getCenter(*args)
     def __init__(self, *args): 
         this = _hexablock_swig.new_Quad(*args)
         try: self.this.append(this)
@@ -825,10 +715,10 @@ class Hexa(EltBase):
     for _s in [EltBase]: __swig_getmethods__.update(getattr(_s,'__swig_getmethods__',{}))
     __getattr__ = lambda self, name: _swig_getattr(self, Hexa, name)
     __repr__ = _swig_repr
-    def getQuad(self, *args): return _hexablock_swig.Hexa_getQuad(self, *args)
-    def getEdge(self, *args): return _hexablock_swig.Hexa_getEdge(self, *args)
-    def getVertex(self, *args): return _hexablock_swig.Hexa_getVertex(self, *args)
-    def setColor(self, *args): return _hexablock_swig.Hexa_setColor(self, *args)
+    def getQuad(*args): return _hexablock_swig.Hexa_getQuad(*args)
+    def getEdge(*args): return _hexablock_swig.Hexa_getEdge(*args)
+    def getVertex(*args): return _hexablock_swig.Hexa_getVertex(*args)
+    def setColor(*args): return _hexablock_swig.Hexa_setColor(*args)
     def __init__(self, *args): 
         this = _hexablock_swig.new_Hexa(*args)
         try: self.this.append(this)
@@ -846,11 +736,11 @@ class Vector(EltBase):
     for _s in [EltBase]: __swig_getmethods__.update(getattr(_s,'__swig_getmethods__',{}))
     __getattr__ = lambda self, name: _swig_getattr(self, Vector, name)
     __repr__ = _swig_repr
-    def getDx(self): return _hexablock_swig.Vector_getDx(self)
-    def getDy(self): return _hexablock_swig.Vector_getDy(self)
-    def getDz(self): return _hexablock_swig.Vector_getDz(self)
-    def getNorm(self): return _hexablock_swig.Vector_getNorm(self)
-    def getAngleX(self): return _hexablock_swig.Vector_getAngleX(self)
+    def getDx(*args): return _hexablock_swig.Vector_getDx(*args)
+    def getDy(*args): return _hexablock_swig.Vector_getDy(*args)
+    def getDz(*args): return _hexablock_swig.Vector_getDz(*args)
+    def getNorm(*args): return _hexablock_swig.Vector_getNorm(*args)
+    def getAngleX(*args): return _hexablock_swig.Vector_getAngleX(*args)
     def __init__(self, *args): 
         this = _hexablock_swig.new_Vector(*args)
         try: self.this.append(this)
@@ -872,143 +762,143 @@ class Document(EltBase):
         this = _hexablock_swig.new_Document(*args)
         try: self.this.append(this)
         except: self.this = this
-    def dump(self): return _hexablock_swig.Document_dump(self)
-    def setName(self, *args): return _hexablock_swig.Document_setName(self, *args)
-    def setLevel(self, *args): return _hexablock_swig.Document_setLevel(self, *args)
-    def save(self, *args): return _hexablock_swig.Document_save(self, *args)
-    def saveVtk(self, *args): return _hexablock_swig.Document_saveVtk(self, *args)
-    def purge(self): return _hexablock_swig.Document_purge(self)
-    def setTolerance(self, *args): return _hexablock_swig.Document_setTolerance(self, *args)
-    def getTolerance(self): return _hexablock_swig.Document_getTolerance(self)
-    def addVertex(self, x = 0.0, y = 0.0, z = 0.0): return _hexablock_swig.Document_addVertex(self, x, y, z)
-    def addEdge(self, *args): return _hexablock_swig.Document_addEdge(self, *args)
-    def addEdgeVector(self, *args): return _hexablock_swig.Document_addEdgeVector(self, *args)
-    def addQuad(self, *args): return _hexablock_swig.Document_addQuad(self, *args)
-    def addQuadVertices(self, *args): return _hexablock_swig.Document_addQuadVertices(self, *args)
-    def addHexa(self, *args): return _hexablock_swig.Document_addHexa(self, *args)
-    def addHexaVertices(self, *args): return _hexablock_swig.Document_addHexaVertices(self, *args)
-    def addHexa2Quads(self, *args): return _hexablock_swig.Document_addHexa2Quads(self, *args)
-    def addHexa3Quads(self, *args): return _hexablock_swig.Document_addHexa3Quads(self, *args)
-    def addHexa4Quads(self, *args): return _hexablock_swig.Document_addHexa4Quads(self, *args)
-    def addHexa5Quads(self, *args): return _hexablock_swig.Document_addHexa5Quads(self, *args)
-    def addVector(self, dx = 0.0, dy = 0.0, dz = 0.0): return _hexablock_swig.Document_addVector(self, dx, dy, dz)
-    def addVectorVertices(self, *args): return _hexablock_swig.Document_addVectorVertices(self, *args)
-    def addLaws(self, *args): return _hexablock_swig.Document_addLaws(self, *args)
-    def addHexaGroup(self, *args): return _hexablock_swig.Document_addHexaGroup(self, *args)
-    def addQuadGroup(self, *args): return _hexablock_swig.Document_addQuadGroup(self, *args)
-    def addQuadNodeGroup(self, *args): return _hexablock_swig.Document_addQuadNodeGroup(self, *args)
-    def addHexaNodeGroup(self, *args): return _hexablock_swig.Document_addHexaNodeGroup(self, *args)
-    def addEdgeGroup(self, *args): return _hexablock_swig.Document_addEdgeGroup(self, *args)
-    def addEdgeNodeGroup(self, *args): return _hexablock_swig.Document_addEdgeNodeGroup(self, *args)
-    def addVertexNodeGroup(self, *args): return _hexablock_swig.Document_addVertexNodeGroup(self, *args)
-    def makeTranslation(self, *args): return _hexablock_swig.Document_makeTranslation(self, *args)
-    def makeScale(self, *args): return _hexablock_swig.Document_makeScale(self, *args)
-    def makeRotation(self, *args): return _hexablock_swig.Document_makeRotation(self, *args)
-    def makeSymmetryPoint(self, *args): return _hexablock_swig.Document_makeSymmetryPoint(self, *args)
-    def makeSymmetryLine(self, *args): return _hexablock_swig.Document_makeSymmetryLine(self, *args)
-    def makeSymmetryPlane(self, *args): return _hexablock_swig.Document_makeSymmetryPlane(self, *args)
-    def performTranslation(self, *args): return _hexablock_swig.Document_performTranslation(self, *args)
-    def performScale(self, *args): return _hexablock_swig.Document_performScale(self, *args)
-    def performRotation(self, *args): return _hexablock_swig.Document_performRotation(self, *args)
-    def performSymmetryPoint(self, *args): return _hexablock_swig.Document_performSymmetryPoint(self, *args)
-    def performSymmetryLine(self, *args): return _hexablock_swig.Document_performSymmetryLine(self, *args)
-    def performSymmetryPlane(self, *args): return _hexablock_swig.Document_performSymmetryPlane(self, *args)
-    def disconnectQuad(self, *args): return _hexablock_swig.Document_disconnectQuad(self, *args)
-    def disconnectEdge(self, *args): return _hexablock_swig.Document_disconnectEdge(self, *args)
-    def disconnectVertex(self, *args): return _hexablock_swig.Document_disconnectVertex(self, *args)
-    def disconnectEdges(self, *args): return _hexablock_swig.Document_disconnectEdges(self, *args)
-    def replace(self, *args): return _hexablock_swig.Document_replace(self, *args)
-    def mergeVertices(self, *args): return _hexablock_swig.Document_mergeVertices(self, *args)
-    def mergeEdges(self, *args): return _hexablock_swig.Document_mergeEdges(self, *args)
-    def mergeQuads(self, *args): return _hexablock_swig.Document_mergeQuads(self, *args)
-    def clearAssociation(self): return _hexablock_swig.Document_clearAssociation(self)
-    def associateOpenedLine(self, *args): return _hexablock_swig.Document_associateOpenedLine(self, *args)
-    def associateClosedLine(self, *args): return _hexablock_swig.Document_associateClosedLine(self, *args)
-    def countHexa(self): return _hexablock_swig.Document_countHexa(self)
-    def countQuad(self): return _hexablock_swig.Document_countQuad(self)
-    def countEdge(self): return _hexablock_swig.Document_countEdge(self)
-    def countVertex(self): return _hexablock_swig.Document_countVertex(self)
-    def countVector(self): return _hexablock_swig.Document_countVector(self)
-    def countGroup(self): return _hexablock_swig.Document_countGroup(self)
-    def countLaw(self): return _hexablock_swig.Document_countLaw(self)
-    def countPropagation(self): return _hexablock_swig.Document_countPropagation(self)
-    def countShape(self): return _hexablock_swig.Document_countShape(self)
-    def countUsedHexa(self): return _hexablock_swig.Document_countUsedHexa(self)
-    def countUsedQuad(self): return _hexablock_swig.Document_countUsedQuad(self)
-    def countUsedEdge(self): return _hexablock_swig.Document_countUsedEdge(self)
-    def countUsedVertex(self): return _hexablock_swig.Document_countUsedVertex(self)
-    def getHexa(self, *args): return _hexablock_swig.Document_getHexa(self, *args)
-    def getQuad(self, *args): return _hexablock_swig.Document_getQuad(self, *args)
-    def getEdge(self, *args): return _hexablock_swig.Document_getEdge(self, *args)
-    def getVertex(self, *args): return _hexablock_swig.Document_getVertex(self, *args)
-    def getUsedHexa(self, *args): return _hexablock_swig.Document_getUsedHexa(self, *args)
-    def getUsedQuad(self, *args): return _hexablock_swig.Document_getUsedQuad(self, *args)
-    def getUsedEdge(self, *args): return _hexablock_swig.Document_getUsedEdge(self, *args)
-    def getUsedVertex(self, *args): return _hexablock_swig.Document_getUsedVertex(self, *args)
-    def getVector(self, *args): return _hexablock_swig.Document_getVector(self, *args)
-    def getShape(self, *args): return _hexablock_swig.Document_getShape(self, *args)
-    def getGroup(self, *args): return _hexablock_swig.Document_getGroup(self, *args)
-    def getLaw(self, *args): return _hexablock_swig.Document_getLaw(self, *args)
-    def getPropagation(self, *args): return _hexablock_swig.Document_getPropagation(self, *args)
-    def getFirstExplicitShape(self): return _hexablock_swig.Document_getFirstExplicitShape(self)
-    def findEdge(self, *args): return _hexablock_swig.Document_findEdge(self, *args)
-    def findQuad(self, *args): return _hexablock_swig.Document_findQuad(self, *args)
-    def findHexa(self, *args): return _hexablock_swig.Document_findHexa(self, *args)
-    def findGroup(self, *args): return _hexablock_swig.Document_findGroup(self, *args)
-    def findLaw(self, *args): return _hexablock_swig.Document_findLaw(self, *args)
-    def findPropagation(self, *args): return _hexablock_swig.Document_findPropagation(self, *args)
-    def removeHexa(self, *args): return _hexablock_swig.Document_removeHexa(self, *args)
-    def removeQuad(self, *args): return _hexablock_swig.Document_removeQuad(self, *args)
-    def removeConnectedHexa(self, *args): return _hexablock_swig.Document_removeConnectedHexa(self, *args)
-    def removeElements(self, *args): return _hexablock_swig.Document_removeElements(self, *args)
-    def removeGroup(self, *args): return _hexablock_swig.Document_removeGroup(self, *args)
-    def removeLaw(self, *args): return _hexablock_swig.Document_removeLaw(self, *args)
-    def makeCartesianTop(self, *args): return _hexablock_swig.Document_makeCartesianTop(self, *args)
-    def makeCartesianUni(self, *args): return _hexablock_swig.Document_makeCartesianUni(self, *args)
-    def makeCartesian(self, *args): return _hexablock_swig.Document_makeCartesian(self, *args)
-    def makeCylinderTop(self, *args): return _hexablock_swig.Document_makeCylinderTop(self, *args)
-    def makeCylinderUni(self, *args): return _hexablock_swig.Document_makeCylinderUni(self, *args)
-    def makeCylinder(self, *args): return _hexablock_swig.Document_makeCylinder(self, *args)
-    def makePipeTop(self, *args): return _hexablock_swig.Document_makePipeTop(self, *args)
-    def makePipeUni(self, *args): return _hexablock_swig.Document_makePipeUni(self, *args)
-    def makePipe(self, *args): return _hexablock_swig.Document_makePipe(self, *args)
-    def makeSphericalTop(self, *args): return _hexablock_swig.Document_makeSphericalTop(self, *args)
-    def makeSphericalUni(self, *args): return _hexablock_swig.Document_makeSphericalUni(self, *args)
-    def makeSpherical(self, *args): return _hexablock_swig.Document_makeSpherical(self, *args)
-    def makeSphereTop(self, *args): return _hexablock_swig.Document_makeSphereTop(self, *args)
-    def makeSphereUni(self, *args): return _hexablock_swig.Document_makeSphereUni(self, *args)
-    def makeSphere(self, *args): return _hexablock_swig.Document_makeSphere(self, *args)
-    def makeRindTop(self, *args): return _hexablock_swig.Document_makeRindTop(self, *args)
-    def makeRindUni(self, *args): return _hexablock_swig.Document_makeRindUni(self, *args)
-    def makeRind(self, *args): return _hexablock_swig.Document_makeRind(self, *args)
-    def makeCylinders(self, *args): return _hexablock_swig.Document_makeCylinders(self, *args)
-    def makePipes(self, *args): return _hexablock_swig.Document_makePipes(self, *args)
-    def extrudeQuadTop(self, *args): return _hexablock_swig.Document_extrudeQuadTop(self, *args)
-    def extrudeQuadUni(self, *args): return _hexablock_swig.Document_extrudeQuadUni(self, *args)
-    def extrudeQuad(self, *args): return _hexablock_swig.Document_extrudeQuad(self, *args)
-    def extrudeQuadsTop(self, *args): return _hexablock_swig.Document_extrudeQuadsTop(self, *args)
-    def extrudeQuadsUni(self, *args): return _hexablock_swig.Document_extrudeQuadsUni(self, *args)
-    def extrudeQuads(self, *args): return _hexablock_swig.Document_extrudeQuads(self, *args)
-    def revolutionQuadUni(self, *args): return _hexablock_swig.Document_revolutionQuadUni(self, *args)
-    def revolutionQuad(self, *args): return _hexablock_swig.Document_revolutionQuad(self, *args)
-    def revolutionQuadsUni(self, *args): return _hexablock_swig.Document_revolutionQuadsUni(self, *args)
-    def revolutionQuads(self, *args): return _hexablock_swig.Document_revolutionQuads(self, *args)
-    def joinQuadUni(self, *args): return _hexablock_swig.Document_joinQuadUni(self, *args)
-    def joinQuadsUni(self, *args): return _hexablock_swig.Document_joinQuadsUni(self, *args)
-    def joinQuad(self, *args): return _hexablock_swig.Document_joinQuad(self, *args)
-    def joinQuads(self, *args): return _hexablock_swig.Document_joinQuads(self, *args)
-    def cutUni(self, *args): return _hexablock_swig.Document_cutUni(self, *args)
-    def cut(self, *args): return _hexablock_swig.Document_cut(self, *args)
-    def addGroup(self, *args): return _hexablock_swig.Document_addGroup(self, *args)
-    def isSaved(self): return _hexablock_swig.Document_isSaved(self)
-    def appendXml(self, *args): return _hexablock_swig.Document_appendXml(self, *args)
-    def getXml(self): return _hexablock_swig.Document_getXml(self)
-    def getLevel(self): return _hexablock_swig.Document_getLevel(self)
-    def findVertex(self, *args): return _hexablock_swig.Document_findVertex(self, *args)
-    def closeQuads(self, *args): return _hexablock_swig.Document_closeQuads(self, *args)
-    def addLaw(self, *args): return _hexablock_swig.Document_addLaw(self, *args)
-    def checkAssociations(self): return _hexablock_swig.Document_checkAssociations(self)
-    def addShape(self, *args): return _hexablock_swig.Document_addShape(self, *args)
+    def dump(*args): return _hexablock_swig.Document_dump(*args)
+    def setName(*args): return _hexablock_swig.Document_setName(*args)
+    def setLevel(*args): return _hexablock_swig.Document_setLevel(*args)
+    def save(*args): return _hexablock_swig.Document_save(*args)
+    def saveVtk(*args): return _hexablock_swig.Document_saveVtk(*args)
+    def purge(*args): return _hexablock_swig.Document_purge(*args)
+    def setTolerance(*args): return _hexablock_swig.Document_setTolerance(*args)
+    def getTolerance(*args): return _hexablock_swig.Document_getTolerance(*args)
+    def addVertex(*args): return _hexablock_swig.Document_addVertex(*args)
+    def addEdge(*args): return _hexablock_swig.Document_addEdge(*args)
+    def addEdgeVector(*args): return _hexablock_swig.Document_addEdgeVector(*args)
+    def addQuad(*args): return _hexablock_swig.Document_addQuad(*args)
+    def addQuadVertices(*args): return _hexablock_swig.Document_addQuadVertices(*args)
+    def addHexa(*args): return _hexablock_swig.Document_addHexa(*args)
+    def addHexaVertices(*args): return _hexablock_swig.Document_addHexaVertices(*args)
+    def addHexa2Quads(*args): return _hexablock_swig.Document_addHexa2Quads(*args)
+    def addHexa3Quads(*args): return _hexablock_swig.Document_addHexa3Quads(*args)
+    def addHexa4Quads(*args): return _hexablock_swig.Document_addHexa4Quads(*args)
+    def addHexa5Quads(*args): return _hexablock_swig.Document_addHexa5Quads(*args)
+    def addVector(*args): return _hexablock_swig.Document_addVector(*args)
+    def addVectorVertices(*args): return _hexablock_swig.Document_addVectorVertices(*args)
+    def addLaws(*args): return _hexablock_swig.Document_addLaws(*args)
+    def addHexaGroup(*args): return _hexablock_swig.Document_addHexaGroup(*args)
+    def addQuadGroup(*args): return _hexablock_swig.Document_addQuadGroup(*args)
+    def addQuadNodeGroup(*args): return _hexablock_swig.Document_addQuadNodeGroup(*args)
+    def addHexaNodeGroup(*args): return _hexablock_swig.Document_addHexaNodeGroup(*args)
+    def addEdgeGroup(*args): return _hexablock_swig.Document_addEdgeGroup(*args)
+    def addEdgeNodeGroup(*args): return _hexablock_swig.Document_addEdgeNodeGroup(*args)
+    def addVertexNodeGroup(*args): return _hexablock_swig.Document_addVertexNodeGroup(*args)
+    def makeTranslation(*args): return _hexablock_swig.Document_makeTranslation(*args)
+    def makeScale(*args): return _hexablock_swig.Document_makeScale(*args)
+    def makeRotation(*args): return _hexablock_swig.Document_makeRotation(*args)
+    def makeSymmetryPoint(*args): return _hexablock_swig.Document_makeSymmetryPoint(*args)
+    def makeSymmetryLine(*args): return _hexablock_swig.Document_makeSymmetryLine(*args)
+    def makeSymmetryPlane(*args): return _hexablock_swig.Document_makeSymmetryPlane(*args)
+    def performTranslation(*args): return _hexablock_swig.Document_performTranslation(*args)
+    def performScale(*args): return _hexablock_swig.Document_performScale(*args)
+    def performRotation(*args): return _hexablock_swig.Document_performRotation(*args)
+    def performSymmetryPoint(*args): return _hexablock_swig.Document_performSymmetryPoint(*args)
+    def performSymmetryLine(*args): return _hexablock_swig.Document_performSymmetryLine(*args)
+    def performSymmetryPlane(*args): return _hexablock_swig.Document_performSymmetryPlane(*args)
+    def disconnectQuad(*args): return _hexablock_swig.Document_disconnectQuad(*args)
+    def disconnectEdge(*args): return _hexablock_swig.Document_disconnectEdge(*args)
+    def disconnectVertex(*args): return _hexablock_swig.Document_disconnectVertex(*args)
+    def disconnectEdges(*args): return _hexablock_swig.Document_disconnectEdges(*args)
+    def replace(*args): return _hexablock_swig.Document_replace(*args)
+    def mergeVertices(*args): return _hexablock_swig.Document_mergeVertices(*args)
+    def mergeEdges(*args): return _hexablock_swig.Document_mergeEdges(*args)
+    def mergeQuads(*args): return _hexablock_swig.Document_mergeQuads(*args)
+    def clearAssociation(*args): return _hexablock_swig.Document_clearAssociation(*args)
+    def associateOpenedLine(*args): return _hexablock_swig.Document_associateOpenedLine(*args)
+    def associateClosedLine(*args): return _hexablock_swig.Document_associateClosedLine(*args)
+    def countHexa(*args): return _hexablock_swig.Document_countHexa(*args)
+    def countQuad(*args): return _hexablock_swig.Document_countQuad(*args)
+    def countEdge(*args): return _hexablock_swig.Document_countEdge(*args)
+    def countVertex(*args): return _hexablock_swig.Document_countVertex(*args)
+    def countVector(*args): return _hexablock_swig.Document_countVector(*args)
+    def countGroup(*args): return _hexablock_swig.Document_countGroup(*args)
+    def countLaw(*args): return _hexablock_swig.Document_countLaw(*args)
+    def countPropagation(*args): return _hexablock_swig.Document_countPropagation(*args)
+    def countShape(*args): return _hexablock_swig.Document_countShape(*args)
+    def countUsedHexa(*args): return _hexablock_swig.Document_countUsedHexa(*args)
+    def countUsedQuad(*args): return _hexablock_swig.Document_countUsedQuad(*args)
+    def countUsedEdge(*args): return _hexablock_swig.Document_countUsedEdge(*args)
+    def countUsedVertex(*args): return _hexablock_swig.Document_countUsedVertex(*args)
+    def getHexa(*args): return _hexablock_swig.Document_getHexa(*args)
+    def getQuad(*args): return _hexablock_swig.Document_getQuad(*args)
+    def getEdge(*args): return _hexablock_swig.Document_getEdge(*args)
+    def getVertex(*args): return _hexablock_swig.Document_getVertex(*args)
+    def getUsedHexa(*args): return _hexablock_swig.Document_getUsedHexa(*args)
+    def getUsedQuad(*args): return _hexablock_swig.Document_getUsedQuad(*args)
+    def getUsedEdge(*args): return _hexablock_swig.Document_getUsedEdge(*args)
+    def getUsedVertex(*args): return _hexablock_swig.Document_getUsedVertex(*args)
+    def getVector(*args): return _hexablock_swig.Document_getVector(*args)
+    def getShape(*args): return _hexablock_swig.Document_getShape(*args)
+    def getGroup(*args): return _hexablock_swig.Document_getGroup(*args)
+    def getLaw(*args): return _hexablock_swig.Document_getLaw(*args)
+    def getPropagation(*args): return _hexablock_swig.Document_getPropagation(*args)
+    def getFirstExplicitShape(*args): return _hexablock_swig.Document_getFirstExplicitShape(*args)
+    def findEdge(*args): return _hexablock_swig.Document_findEdge(*args)
+    def findQuad(*args): return _hexablock_swig.Document_findQuad(*args)
+    def findHexa(*args): return _hexablock_swig.Document_findHexa(*args)
+    def findGroup(*args): return _hexablock_swig.Document_findGroup(*args)
+    def findLaw(*args): return _hexablock_swig.Document_findLaw(*args)
+    def findPropagation(*args): return _hexablock_swig.Document_findPropagation(*args)
+    def removeHexa(*args): return _hexablock_swig.Document_removeHexa(*args)
+    def removeQuad(*args): return _hexablock_swig.Document_removeQuad(*args)
+    def removeConnectedHexa(*args): return _hexablock_swig.Document_removeConnectedHexa(*args)
+    def removeElements(*args): return _hexablock_swig.Document_removeElements(*args)
+    def removeGroup(*args): return _hexablock_swig.Document_removeGroup(*args)
+    def removeLaw(*args): return _hexablock_swig.Document_removeLaw(*args)
+    def makeCartesianTop(*args): return _hexablock_swig.Document_makeCartesianTop(*args)
+    def makeCartesianUni(*args): return _hexablock_swig.Document_makeCartesianUni(*args)
+    def makeCartesian(*args): return _hexablock_swig.Document_makeCartesian(*args)
+    def makeCylinderTop(*args): return _hexablock_swig.Document_makeCylinderTop(*args)
+    def makeCylinderUni(*args): return _hexablock_swig.Document_makeCylinderUni(*args)
+    def makeCylinder(*args): return _hexablock_swig.Document_makeCylinder(*args)
+    def makePipeTop(*args): return _hexablock_swig.Document_makePipeTop(*args)
+    def makePipeUni(*args): return _hexablock_swig.Document_makePipeUni(*args)
+    def makePipe(*args): return _hexablock_swig.Document_makePipe(*args)
+    def makeSphericalTop(*args): return _hexablock_swig.Document_makeSphericalTop(*args)
+    def makeSphericalUni(*args): return _hexablock_swig.Document_makeSphericalUni(*args)
+    def makeSpherical(*args): return _hexablock_swig.Document_makeSpherical(*args)
+    def makeSphereTop(*args): return _hexablock_swig.Document_makeSphereTop(*args)
+    def makeSphereUni(*args): return _hexablock_swig.Document_makeSphereUni(*args)
+    def makeSphere(*args): return _hexablock_swig.Document_makeSphere(*args)
+    def makeRindTop(*args): return _hexablock_swig.Document_makeRindTop(*args)
+    def makeRindUni(*args): return _hexablock_swig.Document_makeRindUni(*args)
+    def makeRind(*args): return _hexablock_swig.Document_makeRind(*args)
+    def makeCylinders(*args): return _hexablock_swig.Document_makeCylinders(*args)
+    def makePipes(*args): return _hexablock_swig.Document_makePipes(*args)
+    def extrudeQuadTop(*args): return _hexablock_swig.Document_extrudeQuadTop(*args)
+    def extrudeQuadUni(*args): return _hexablock_swig.Document_extrudeQuadUni(*args)
+    def extrudeQuad(*args): return _hexablock_swig.Document_extrudeQuad(*args)
+    def extrudeQuadsTop(*args): return _hexablock_swig.Document_extrudeQuadsTop(*args)
+    def extrudeQuadsUni(*args): return _hexablock_swig.Document_extrudeQuadsUni(*args)
+    def extrudeQuads(*args): return _hexablock_swig.Document_extrudeQuads(*args)
+    def revolutionQuadUni(*args): return _hexablock_swig.Document_revolutionQuadUni(*args)
+    def revolutionQuad(*args): return _hexablock_swig.Document_revolutionQuad(*args)
+    def revolutionQuadsUni(*args): return _hexablock_swig.Document_revolutionQuadsUni(*args)
+    def revolutionQuads(*args): return _hexablock_swig.Document_revolutionQuads(*args)
+    def joinQuadUni(*args): return _hexablock_swig.Document_joinQuadUni(*args)
+    def joinQuadsUni(*args): return _hexablock_swig.Document_joinQuadsUni(*args)
+    def joinQuad(*args): return _hexablock_swig.Document_joinQuad(*args)
+    def joinQuads(*args): return _hexablock_swig.Document_joinQuads(*args)
+    def cutUni(*args): return _hexablock_swig.Document_cutUni(*args)
+    def cut(*args): return _hexablock_swig.Document_cut(*args)
+    def addGroup(*args): return _hexablock_swig.Document_addGroup(*args)
+    def isSaved(*args): return _hexablock_swig.Document_isSaved(*args)
+    def appendXml(*args): return _hexablock_swig.Document_appendXml(*args)
+    def getXml(*args): return _hexablock_swig.Document_getXml(*args)
+    def getLevel(*args): return _hexablock_swig.Document_getLevel(*args)
+    def findVertex(*args): return _hexablock_swig.Document_findVertex(*args)
+    def closeQuads(*args): return _hexablock_swig.Document_closeQuads(*args)
+    def addLaw(*args): return _hexablock_swig.Document_addLaw(*args)
+    def checkAssociations(*args): return _hexablock_swig.Document_checkAssociations(*args)
+    def addShape(*args): return _hexablock_swig.Document_addShape(*args)
     __swig_destroy__ = _hexablock_swig.delete_Document
     __del__ = lambda self : None;
 Document_swigregister = _hexablock_swig.Document_swigregister
@@ -1022,26 +912,23 @@ class Propagation(EltBase):
     for _s in [EltBase]: __swig_getmethods__.update(getattr(_s,'__swig_getmethods__',{}))
     __getattr__ = lambda self, name: _swig_getattr(self, Propagation, name)
     __repr__ = _swig_repr
-    def getEdges(self): return _hexablock_swig.Propagation_getEdges(self)
-    def getLaw(self): return _hexablock_swig.Propagation_getLaw(self)
-    def getWay(self): return _hexablock_swig.Propagation_getWay(self)
-    def setWay(self, *args): return _hexablock_swig.Propagation_setWay(self, *args)
-    def setLaw(self, *args): return _hexablock_swig.Propagation_setLaw(self, *args)
+    def getEdges(*args): return _hexablock_swig.Propagation_getEdges(*args)
+    def getLaw(*args): return _hexablock_swig.Propagation_getLaw(*args)
+    def getWay(*args): return _hexablock_swig.Propagation_getWay(*args)
+    def setWay(*args): return _hexablock_swig.Propagation_setWay(*args)
+    def setLaw(*args): return _hexablock_swig.Propagation_setLaw(*args)
     def __init__(self, *args): 
         this = _hexablock_swig.new_Propagation(*args)
         try: self.this.append(this)
         except: self.this = this
-    def saveXml(self, *args): return _hexablock_swig.Propagation_saveXml(self, *args)
-    def addEdge(self, *args): return _hexablock_swig.Propagation_addEdge(self, *args)
-    def majLaw(self): return _hexablock_swig.Propagation_majLaw(self)
+    def saveXml(*args): return _hexablock_swig.Propagation_saveXml(*args)
+    def addEdge(*args): return _hexablock_swig.Propagation_addEdge(*args)
+    def majLaw(*args): return _hexablock_swig.Propagation_majLaw(*args)
     __swig_destroy__ = _hexablock_swig.delete_Propagation
     __del__ = lambda self : None;
 Propagation_swigregister = _hexablock_swig.Propagation_swigregister
 Propagation_swigregister(Propagation)
 
-
-def hex_instance():
-  return _hexablock_swig.hex_instance()
 hex_instance = _hexablock_swig.hex_instance
 class Hex(_object):
     __swig_setmethods__ = {}
@@ -1051,31 +938,25 @@ class Hex(_object):
     __repr__ = _swig_repr
     __swig_getmethods__["getInstance"] = lambda x: _hexablock_swig.Hex_getInstance
     if _newclass:getInstance = staticmethod(_hexablock_swig.Hex_getInstance)
-    def countDocument(self): return _hexablock_swig.Hex_countDocument(self)
-    def getDocument(self, *args): return _hexablock_swig.Hex_getDocument(self, *args)
-    def removeDocument(self, *args): return _hexablock_swig.Hex_removeDocument(self, *args)
-    def addDocument(self, name = "default"): return _hexablock_swig.Hex_addDocument(self, name)
-    def loadDocument(self, *args): return _hexablock_swig.Hex_loadDocument(self, *args)
-    def findDocument(self, *args): return _hexablock_swig.Hex_findDocument(self, *args)
-    def what(self): return _hexablock_swig.Hex_what(self)
-    def sizeofMessage(self): return _hexablock_swig.Hex_sizeofMessage(self)
-    def getMessageLine(self, *args): return _hexablock_swig.Hex_getMessageLine(self, *args)
-    def __init__(self): 
-        this = _hexablock_swig.new_Hex()
+    def countDocument(*args): return _hexablock_swig.Hex_countDocument(*args)
+    def getDocument(*args): return _hexablock_swig.Hex_getDocument(*args)
+    def removeDocument(*args): return _hexablock_swig.Hex_removeDocument(*args)
+    def addDocument(*args): return _hexablock_swig.Hex_addDocument(*args)
+    def loadDocument(*args): return _hexablock_swig.Hex_loadDocument(*args)
+    def findDocument(*args): return _hexablock_swig.Hex_findDocument(*args)
+    def what(*args): return _hexablock_swig.Hex_what(*args)
+    def sizeofMessage(*args): return _hexablock_swig.Hex_sizeofMessage(*args)
+    def getMessageLine(*args): return _hexablock_swig.Hex_getMessageLine(*args)
+    def __init__(self, *args): 
+        this = _hexablock_swig.new_Hex(*args)
         try: self.this.append(this)
         except: self.this = this
     __swig_destroy__ = _hexablock_swig.delete_Hex
     __del__ = lambda self : None;
 Hex_swigregister = _hexablock_swig.Hex_swigregister
 Hex_swigregister(Hex)
-
-def Hex_getInstance():
-  return _hexablock_swig.Hex_getInstance()
 Hex_getInstance = _hexablock_swig.Hex_getInstance
 
-
-def what():
-  return _hexablock_swig.what()
 what = _hexablock_swig.what
 class Elements(EltBase):
     __swig_setmethods__ = {}
@@ -1085,26 +966,26 @@ class Elements(EltBase):
     for _s in [EltBase]: __swig_getmethods__.update(getattr(_s,'__swig_getmethods__',{}))
     __getattr__ = lambda self, name: _swig_getattr(self, Elements, name)
     __repr__ = _swig_repr
-    def getHexa(self, *args): return _hexablock_swig.Elements_getHexa(self, *args)
-    def getQuad(self, *args): return _hexablock_swig.Elements_getQuad(self, *args)
-    def getEdge(self, *args): return _hexablock_swig.Elements_getEdge(self, *args)
-    def getVertex(self, *args): return _hexablock_swig.Elements_getVertex(self, *args)
-    def getHexaIJK(self, *args): return _hexablock_swig.Elements_getHexaIJK(self, *args)
-    def getQuadIJ(self, *args): return _hexablock_swig.Elements_getQuadIJ(self, *args)
-    def getQuadJK(self, *args): return _hexablock_swig.Elements_getQuadJK(self, *args)
-    def getQuadIK(self, *args): return _hexablock_swig.Elements_getQuadIK(self, *args)
-    def getEdgeI(self, *args): return _hexablock_swig.Elements_getEdgeI(self, *args)
-    def getEdgeJ(self, *args): return _hexablock_swig.Elements_getEdgeJ(self, *args)
-    def getEdgeK(self, *args): return _hexablock_swig.Elements_getEdgeK(self, *args)
-    def getVertexIJK(self, *args): return _hexablock_swig.Elements_getVertexIJK(self, *args)
-    def countHexa(self): return _hexablock_swig.Elements_countHexa(self)
-    def countQuad(self): return _hexablock_swig.Elements_countQuad(self)
-    def countEdge(self): return _hexablock_swig.Elements_countEdge(self)
-    def countVertex(self): return _hexablock_swig.Elements_countVertex(self)
-    def nearestVertex(self, *args): return _hexablock_swig.Elements_nearestVertex(self, *args)
-    def findVertex(self, *args): return _hexablock_swig.Elements_findVertex(self, *args)
-    def clearAssociation(self): return _hexablock_swig.Elements_clearAssociation(self)
-    def saveVtk(self, *args): return _hexablock_swig.Elements_saveVtk(self, *args)
+    def getHexa(*args): return _hexablock_swig.Elements_getHexa(*args)
+    def getQuad(*args): return _hexablock_swig.Elements_getQuad(*args)
+    def getEdge(*args): return _hexablock_swig.Elements_getEdge(*args)
+    def getVertex(*args): return _hexablock_swig.Elements_getVertex(*args)
+    def getHexaIJK(*args): return _hexablock_swig.Elements_getHexaIJK(*args)
+    def getQuadIJ(*args): return _hexablock_swig.Elements_getQuadIJ(*args)
+    def getQuadJK(*args): return _hexablock_swig.Elements_getQuadJK(*args)
+    def getQuadIK(*args): return _hexablock_swig.Elements_getQuadIK(*args)
+    def getEdgeI(*args): return _hexablock_swig.Elements_getEdgeI(*args)
+    def getEdgeJ(*args): return _hexablock_swig.Elements_getEdgeJ(*args)
+    def getEdgeK(*args): return _hexablock_swig.Elements_getEdgeK(*args)
+    def getVertexIJK(*args): return _hexablock_swig.Elements_getVertexIJK(*args)
+    def countHexa(*args): return _hexablock_swig.Elements_countHexa(*args)
+    def countQuad(*args): return _hexablock_swig.Elements_countQuad(*args)
+    def countEdge(*args): return _hexablock_swig.Elements_countEdge(*args)
+    def countVertex(*args): return _hexablock_swig.Elements_countVertex(*args)
+    def nearestVertex(*args): return _hexablock_swig.Elements_nearestVertex(*args)
+    def findVertex(*args): return _hexablock_swig.Elements_findVertex(*args)
+    def clearAssociation(*args): return _hexablock_swig.Elements_clearAssociation(*args)
+    def saveVtk(*args): return _hexablock_swig.Elements_saveVtk(*args)
     def __init__(self, *args): 
         this = _hexablock_swig.new_Elements(*args)
         try: self.this.append(this)
@@ -1126,14 +1007,14 @@ class BiCylinder(Elements):
         this = _hexablock_swig.new_BiCylinder(*args)
         try: self.this.append(this)
         except: self.this = this
-    def getHexaIJK(self, *args): return _hexablock_swig.BiCylinder_getHexaIJK(self, *args)
-    def getQuadIJ(self, *args): return _hexablock_swig.BiCylinder_getQuadIJ(self, *args)
-    def getQuadJK(self, *args): return _hexablock_swig.BiCylinder_getQuadJK(self, *args)
-    def getQuadIK(self, *args): return _hexablock_swig.BiCylinder_getQuadIK(self, *args)
-    def getEdgeI(self, *args): return _hexablock_swig.BiCylinder_getEdgeI(self, *args)
-    def getEdgeJ(self, *args): return _hexablock_swig.BiCylinder_getEdgeJ(self, *args)
-    def getEdgeK(self, *args): return _hexablock_swig.BiCylinder_getEdgeK(self, *args)
-    def getVertexIJK(self, *args): return _hexablock_swig.BiCylinder_getVertexIJK(self, *args)
+    def getHexaIJK(*args): return _hexablock_swig.BiCylinder_getHexaIJK(*args)
+    def getQuadIJ(*args): return _hexablock_swig.BiCylinder_getQuadIJ(*args)
+    def getQuadJK(*args): return _hexablock_swig.BiCylinder_getQuadJK(*args)
+    def getQuadIK(*args): return _hexablock_swig.BiCylinder_getQuadIK(*args)
+    def getEdgeI(*args): return _hexablock_swig.BiCylinder_getEdgeI(*args)
+    def getEdgeJ(*args): return _hexablock_swig.BiCylinder_getEdgeJ(*args)
+    def getEdgeK(*args): return _hexablock_swig.BiCylinder_getEdgeK(*args)
+    def getVertexIJK(*args): return _hexablock_swig.BiCylinder_getVertexIJK(*args)
     __swig_destroy__ = _hexablock_swig.delete_BiCylinder
     __del__ = lambda self : None;
 BiCylinder_swigregister = _hexablock_swig.BiCylinder_swigregister
@@ -1147,15 +1028,15 @@ class NewShape(EltBase):
     for _s in [EltBase]: __swig_getmethods__.update(getattr(_s,'__swig_getmethods__',{}))
     __getattr__ = lambda self, name: _swig_getattr(self, NewShape, name)
     __repr__ = _swig_repr
-    def countVertex(self): return _hexablock_swig.NewShape_countVertex(self)
-    def countEdge(self): return _hexablock_swig.NewShape_countEdge(self)
-    def countFace(self): return _hexablock_swig.NewShape_countFace(self)
-    def getVertex(self, *args): return _hexablock_swig.NewShape_getVertex(self, *args)
-    def getEdge(self, *args): return _hexablock_swig.NewShape_getEdge(self, *args)
-    def getFace(self, *args): return _hexablock_swig.NewShape_getFace(self, *args)
-    def getNameVertex(self, *args): return _hexablock_swig.NewShape_getNameVertex(self, *args)
-    def getNameEdge(self, *args): return _hexablock_swig.NewShape_getNameEdge(self, *args)
-    def getNameFace(self, *args): return _hexablock_swig.NewShape_getNameFace(self, *args)
+    def countVertex(*args): return _hexablock_swig.NewShape_countVertex(*args)
+    def countEdge(*args): return _hexablock_swig.NewShape_countEdge(*args)
+    def countFace(*args): return _hexablock_swig.NewShape_countFace(*args)
+    def getVertex(*args): return _hexablock_swig.NewShape_getVertex(*args)
+    def getEdge(*args): return _hexablock_swig.NewShape_getEdge(*args)
+    def getFace(*args): return _hexablock_swig.NewShape_getFace(*args)
+    def getNameVertex(*args): return _hexablock_swig.NewShape_getNameVertex(*args)
+    def getNameEdge(*args): return _hexablock_swig.NewShape_getNameEdge(*args)
+    def getNameFace(*args): return _hexablock_swig.NewShape_getNameFace(*args)
     def __init__(self, *args): 
         this = _hexablock_swig.new_NewShape(*args)
         try: self.this.append(this)
@@ -1173,12 +1054,12 @@ class Group(EltBase):
     for _s in [EltBase]: __swig_getmethods__.update(getattr(_s,'__swig_getmethods__',{}))
     __getattr__ = lambda self, name: _swig_getattr(self, Group, name)
     __repr__ = _swig_repr
-    def addElement(self, *args): return _hexablock_swig.Group_addElement(self, *args)
-    def countElement(self): return _hexablock_swig.Group_countElement(self)
-    def getKind(self): return _hexablock_swig.Group_getKind(self)
-    def clearElement(self): return _hexablock_swig.Group_clearElement(self)
-    def removeElement(self, *args): return _hexablock_swig.Group_removeElement(self, *args)
-    def getElement(self, *args): return _hexablock_swig.Group_getElement(self, *args)
+    def addElement(*args): return _hexablock_swig.Group_addElement(*args)
+    def countElement(*args): return _hexablock_swig.Group_countElement(*args)
+    def getKind(*args): return _hexablock_swig.Group_getKind(*args)
+    def clearElement(*args): return _hexablock_swig.Group_clearElement(*args)
+    def removeElement(*args): return _hexablock_swig.Group_removeElement(*args)
+    def getElement(*args): return _hexablock_swig.Group_getElement(*args)
     def __init__(self, *args): 
         this = _hexablock_swig.new_Group(*args)
         try: self.this.append(this)
index caeadb1345081df2b558c8393f3475a544a39023..17abc168a247556f19141143c5b8d94c5a4ab86b 100644 (file)
@@ -1,6 +1,6 @@
 /* ----------------------------------------------------------------------------
  * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.40
+ * Version 1.3.31
  * 
  * 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
 #define SWIGPYTHON
 #define SWIG_PYTHON_DIRECTOR_NO_VTABLE
 
-
 #ifdef __cplusplus
-/* SwigValueWrapper is described in swig.swg */
-template<typename T> class SwigValueWrapper {
-  struct SwigMovePointer {
-    T *ptr;
-    SwigMovePointer(T *p) : ptr(p) { }
-    ~SwigMovePointer() { delete ptr; }
-    SwigMovePointer& operator=(SwigMovePointer& rhs) { T* oldptr = ptr; ptr = 0; delete oldptr; ptr = rhs.ptr; rhs.ptr = 0; return *this; }
-  } pointer;
-  SwigValueWrapper& operator=(const SwigValueWrapper<T>& rhs);
-  SwigValueWrapper(const SwigValueWrapper<T>& rhs);
+template<class T> class SwigValueWrapper {
+    T *tt;
 public:
-  SwigValueWrapper() : pointer(0) { }
-  SwigValueWrapper& operator=(const T& t) { SwigMovePointer tmp(new T(t)); pointer = tmp; return *this; }
-  operator T&() const { return *pointer.ptr; }
-  T *operator&() { return pointer.ptr; }
+    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
 
 /* -----------------------------------------------------------------------------
@@ -42,14 +34,14 @@ template <typename T> T SwigValueInit() {
 
 /* 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
+# if defined(__SUNPRO_CC)
+#   if (__SUNPRO_CC <= 0x560)
+#     define SWIGTEMPLATEDISAMBIGUATOR template
+#   else
+#     define SWIGTEMPLATEDISAMBIGUATOR 
+#   endif
 # else
-#  define SWIGTEMPLATEDISAMBIGUATOR
+#   define SWIGTEMPLATEDISAMBIGUATOR 
 # endif
 #endif
 
@@ -77,12 +69,6 @@ template <typename T> T SwigValueInit() {
 # 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)
@@ -138,12 +124,6 @@ template <typename T> T SwigValueInit() {
 # 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>
@@ -151,13 +131,13 @@ template <typename T> T SwigValueInit() {
 /* -----------------------------------------------------------------------------
  * swigrun.swg
  *
- * This file contains generic C API SWIG runtime support for pointer
+ * 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_RUNTIME_VERSION "3"
 
 /* define SWIG_TYPE_TABLE_NAME as "SWIG_TYPE_TABLE" */
 #ifdef SWIG_TYPE_TABLE
@@ -170,11 +150,11 @@ template <typename T> T SwigValueInit() {
 
 /*
   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'.
+  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 strictly necessary, ie, if you have problems
-  with your compiler or suchlike.
+  But only do this if is strictly necessary, ie, if you have problems
+  with your compiler or so.
 */
 
 #ifndef SWIGRUNTIME
@@ -192,7 +172,6 @@ template <typename T> T SwigValueInit() {
 
 /* 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
@@ -201,14 +180,14 @@ template <typename T> T SwigValueInit() {
 /* 
    Flags/methods for returning states.
    
-   The SWIG conversion methods, as ConvertPtr, return and integer 
+   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 versions of SWIG, code such as the following was usually written:
+   In old swig versions, you usually write code as:
 
      if (SWIG_ConvertPtr(obj,vptr,ty.flags) != -1) {
        // success code
@@ -216,7 +195,7 @@ template <typename T> T SwigValueInit() {
        //fail code
      }
 
-   Now you can be more explicit:
+   Now you can be more explicit as:
 
     int res = SWIG_ConvertPtr(obj,vptr,ty.flags);
     if (SWIG_IsOK(res)) {
@@ -225,7 +204,7 @@ template <typename T> T SwigValueInit() {
       // fail code
     }
 
-   which is the same really, but now you can also do
+   that seems to be the same, but now you can also do
 
     Type *ptr;
     int res = SWIG_ConvertPtr(obj,(void **)(&ptr),ty.flags);
@@ -243,7 +222,7 @@ template <typename T> T SwigValueInit() {
     
    I.e., now SWIG_ConvertPtr can return new objects and you can
    identify the case and take care of the deallocation. Of course that
-   also requires SWIG_ConvertPtr to return new result values, such as
+   requires also to SWIG_ConvertPtr to return new result values, as
 
       int SWIG_ConvertPtr(obj, ptr,...) {         
         if (<obj is ok>) {                            
@@ -261,7 +240,7 @@ template <typename T> T SwigValueInit() {
 
    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.
+   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
@@ -275,8 +254,9 @@ template <typename T> T SwigValueInit() {
       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)
@@ -301,6 +281,7 @@ template <typename T> T SwigValueInit() {
 #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
@@ -323,16 +304,18 @@ SWIGINTERNINLINE int SWIG_CheckState(int r) {
 #endif
 
 
+
+
 #include <string.h>
 
 #ifdef __cplusplus
 extern "C" {
 #endif
 
-typedef void *(*swig_converter_func)(void *, int *);
+typedef void *(*swig_converter_func)(void *);
 typedef struct swig_type_info *(*swig_dycast_func)(void **);
 
-/* Structure to store information on one type */
+/* Structure to store inforomation 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 */
@@ -377,7 +360,7 @@ SWIG_TypeNameComp(const char *f1, const char *l1,
     while ((*f2 == ' ') && (f2 != l2)) ++f2;
     if (*f1 != *f2) return (*f1 > *f2) ? 1 : -1;
   }
-  return (int)((l1 - f1) - (l2 - f2));
+  return (l1 - f1) - (l2 - f2);
 }
 
 /*
@@ -419,66 +402,48 @@ SWIG_TypeCompare(const char *nb, const char *tb) {
 }
 
 
+/* 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) {
-  if (ty) {
-    swig_cast_info *iter = ty->cast;
-    while (iter) {
-      if (strcmp(iter->type->name, c) == 0) {
-        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;
+  SWIG_TypeCheck_Template(strcmp(iter->type->name, c) == 0, ty);
 }
 
-/* 
-  Identical to SWIG_TypeCheck, except strcmp is replaced with a pointer comparison
-*/
+/* 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 *ty) {
-  if (ty) {
-    swig_cast_info *iter = ty->cast;
-    while (iter) {
-      if (iter->type == from) {
-        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;
+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);
+SWIG_TypeCast(swig_cast_info *ty, void *ptr) {
+  return ((!ty) || (!ty->converter)) ? ptr : (*ty->converter)(ptr);
 }
 
 /* 
@@ -749,67 +714,6 @@ SWIG_UnpackDataName(const char *c, void *ptr, size_t sz, const char *name) {
 
 
 
-/* Compatibility macros for Python 3 */
-#if PY_VERSION_HEX >= 0x03000000
-
-#define PyClass_Check(obj) PyObject_IsInstance(obj, (PyObject *)&PyType_Type)
-#define PyInt_Check(x) PyLong_Check(x)
-#define PyInt_AsLong(x) PyLong_AsLong(x)
-#define PyInt_FromLong(x) PyLong_FromLong(x)
-#define PyString_Format(fmt, args)  PyUnicode_Format(fmt, args)
-
-#endif
-
-#ifndef Py_TYPE
-#  define Py_TYPE(op) ((op)->ob_type)
-#endif
-
-/* SWIG APIs for compatibility of both Python 2 & 3 */
-
-#if PY_VERSION_HEX >= 0x03000000
-#  define SWIG_Python_str_FromFormat PyUnicode_FromFormat
-#else
-#  define SWIG_Python_str_FromFormat PyString_FromFormat
-#endif
-
-
-/* Warning: This function will allocate a new string in Python 3,
- * so please call SWIG_Python_str_DelForPy3(x) to free the space.
- */
-SWIGINTERN char*
-SWIG_Python_str_AsChar(PyObject *str)
-{
-#if PY_VERSION_HEX >= 0x03000000
-  char *cstr;
-  char *newstr;
-  Py_ssize_t len;
-  str = PyUnicode_AsUTF8String(str);
-  PyBytes_AsStringAndSize(str, &cstr, &len);
-  newstr = (char *) malloc(len+1);
-  memcpy(newstr, cstr, len+1);
-  Py_XDECREF(str);
-  return newstr;
-#else
-  return PyString_AsString(str);
-#endif
-}
-
-#if PY_VERSION_HEX >= 0x03000000
-#  define SWIG_Python_str_DelForPy3(x) free( (void*) (x) )
-#else
-#  define SWIG_Python_str_DelForPy3(x) 
-#endif
-
-
-SWIGINTERN PyObject*
-SWIG_Python_str_FromChar(const char *c)
-{
-#if PY_VERSION_HEX >= 0x03000000
-  return PyUnicode_FromString(c); 
-#else
-  return PyString_FromString(c);
-#endif
-}
 
 /* Add PyOS_snprintf for old Pythons */
 #if PY_VERSION_HEX < 0x02020000
@@ -856,7 +760,6 @@ PyString_FromFormat(const char *fmt, ...) {
 #  define PyObject_GenericGetAttr 0
 # endif
 #endif
-
 /* Py_NotImplemented is defined in 2.1 and up. */
 #if PY_VERSION_HEX < 0x02010000
 # ifndef Py_NotImplemented
@@ -864,6 +767,7 @@ PyString_FromFormat(const char *fmt, ...) {
 # endif
 #endif
 
+
 /* A crude PyString_AsStringAndSize implementation for old Pythons */
 #if PY_VERSION_HEX < 0x02010000
 # ifndef PyString_AsStringAndSize
@@ -878,6 +782,7 @@ PyString_FromFormat(const char *fmt, ...) {
 # endif
 #endif
 
+
 /* PyBool_FromLong for old Pythons */
 #if PY_VERSION_HEX < 0x02030000
 static
@@ -955,20 +860,19 @@ SWIG_Python_AddErrorMsg(const char* mesg)
 
   if (PyErr_Occurred()) PyErr_Fetch(&type, &value, &traceback);
   if (value) {
-    char *tmp;
     PyObject *old_str = PyObject_Str(value);
     PyErr_Clear();
     Py_XINCREF(type);
-
-    PyErr_Format(type, "%s %s", tmp = SWIG_Python_str_AsChar(old_str), mesg);
-    SWIG_Python_str_DelForPy3(tmp);
+    PyErr_Format(type, "%s %s", PyString_AsString(old_str), mesg);
     Py_DECREF(old_str);
     Py_DECREF(value);
   } else {
-    PyErr_SetString(PyExc_RuntimeError, mesg);
+    PyErr_Format(PyExc_RuntimeError, mesg);
   }
 }
 
+
+
 #if defined(SWIG_PYTHON_NO_THREADS)
 #  if defined(SWIG_PYTHON_THREADS)
 #    undef SWIG_PYTHON_THREADS
@@ -1065,20 +969,6 @@ typedef struct swig_const_info {
   swig_type_info **ptype;
 } swig_const_info;
 
-
-/* -----------------------------------------------------------------------------
- * Wrapper of PyInstanceMethod_New() used in Python 3
- * It is exported to the generated module, used for -fastproxy
- * ----------------------------------------------------------------------------- */
-SWIGRUNTIME PyObject* SWIG_PyInstanceMethod_New(PyObject *self, PyObject *func)
-{
-#if PY_VERSION_HEX >= 0x03000000
-  return PyInstanceMethod_New(func);
-#else
-  return NULL;
-#endif
-}
-
 #ifdef __cplusplus
 #if 0
 { /* cc-mode */
@@ -1131,7 +1021,7 @@ SWIGRUNTIME PyObject* SWIG_PyInstanceMethod_New(PyObject *self, PyObject *func)
 
 #define SWIG_GetModule(clientdata)                      SWIG_Python_GetModule()
 #define SWIG_SetModule(clientdata, pointer)             SWIG_Python_SetModule(pointer)
-#define SWIG_NewClientData(obj)                         SwigPyClientData_New(obj)
+#define SWIG_NewClientData(obj)                         PySwigClientData_New(obj)
 
 #define SWIG_SetErrorObj                                SWIG_Python_SetErrorObj                            
 #define SWIG_SetErrorMsg                               SWIG_Python_SetErrorMsg                            
@@ -1217,14 +1107,14 @@ SWIG_Python_AppendOutput(PyObject* result, PyObject* obj) {
 /* Unpack the argument tuple */
 
 SWIGINTERN int
-SWIG_Python_UnpackTuple(PyObject *args, const char *name, Py_ssize_t min, Py_ssize_t max, PyObject **objs)
+SWIG_Python_UnpackTuple(PyObject *args, const char *name, int min, int 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);
+                  name, (min == max ? "" : "at least "), min);
       return 0;
     }
   }  
@@ -1232,14 +1122,14 @@ SWIG_Python_UnpackTuple(PyObject *args, const char *name, Py_ssize_t min, Py_ssi
     PyErr_SetString(PyExc_SystemError, "UnpackTuple() argument list is not a tuple");
     return 0;
   } else {
-    register Py_ssize_t l = PyTuple_GET_SIZE(args);
+    register int 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);
+                  name, (min == max ? "" : "at least "), min, 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);
+                  name, (min == max ? "" : "at most "), max, l);
       return 0;
     } else {
       register int i;
@@ -1327,7 +1217,7 @@ SWIG_Py_Void(void)
   return none;
 }
 
-/* SwigPyClientData */
+/* PySwigClientData */
 
 typedef struct {
   PyObject *klass;
@@ -1336,30 +1226,30 @@ typedef struct {
   PyObject *destroy;
   int delargs;
   int implicitconv;
-} SwigPyClientData;
+} PySwigClientData;
 
 SWIGRUNTIMEINLINE int 
 SWIG_Python_CheckImplicit(swig_type_info *ty)
 {
-  SwigPyClientData *data = (SwigPyClientData *)ty->clientdata;
+  PySwigClientData *data = (PySwigClientData *)ty->clientdata;
   return data ? data->implicitconv : 0;
 }
 
 SWIGRUNTIMEINLINE PyObject *
 SWIG_Python_ExceptionType(swig_type_info *desc) {
-  SwigPyClientData *data = desc ? (SwigPyClientData *) desc->clientdata : 0;
+  PySwigClientData *data = desc ? (PySwigClientData *) desc->clientdata : 0;
   PyObject *klass = data ? data->klass : 0;
   return (klass ? klass : PyExc_RuntimeError);
 }
 
 
-SWIGRUNTIME SwigPyClientData * 
-SwigPyClientData_New(PyObject* obj)
+SWIGRUNTIME PySwigClientData * 
+PySwigClientData_New(PyObject* obj)
 {
   if (!obj) {
     return 0;
   } else {
-    SwigPyClientData *data = (SwigPyClientData *)malloc(sizeof(SwigPyClientData));
+    PySwigClientData *data = (PySwigClientData *)malloc(sizeof(PySwigClientData));
     /* the klass element */
     data->klass = obj;
     Py_INCREF(data->klass);
@@ -1407,14 +1297,14 @@ SwigPyClientData_New(PyObject* obj)
 }
 
 SWIGRUNTIME void 
-SwigPyClientData_Del(SwigPyClientData* data)
+PySwigClientData_Del(PySwigClientData* data)
 {
   Py_XDECREF(data->newraw);
   Py_XDECREF(data->newargs);
   Py_XDECREF(data->destroy);
 }
 
-/* =============== SwigPyObject =====================*/
+/* =============== PySwigObject =====================*/
 
 typedef struct {
   PyObject_HEAD
@@ -1422,28 +1312,24 @@ typedef struct {
   swig_type_info *ty;
   int own;
   PyObject *next;
-} SwigPyObject;
+} PySwigObject;
 
 SWIGRUNTIME PyObject *
-SwigPyObject_long(SwigPyObject *v)
+PySwigObject_long(PySwigObject *v)
 {
   return PyLong_FromVoidPtr(v->ptr);
 }
 
 SWIGRUNTIME PyObject *
-SwigPyObject_format(const char* fmt, SwigPyObject *v)
+PySwigObject_format(const char* fmt, PySwigObject *v)
 {
   PyObject *res = NULL;
   PyObject *args = PyTuple_New(1);
   if (args) {
-    if (PyTuple_SetItem(args, 0, SwigPyObject_long(v)) == 0) {
-      PyObject *ofmt = SWIG_Python_str_FromChar(fmt);
+    if (PyTuple_SetItem(args, 0, PySwigObject_long(v)) == 0) {
+      PyObject *ofmt = PyString_FromString(fmt);
       if (ofmt) {
-#if PY_VERSION_HEX >= 0x03000000
-       res = PyUnicode_Format(ofmt,args);
-#else
        res = PyString_Format(ofmt,args);
-#endif
        Py_DECREF(ofmt);
       }
       Py_DECREF(args);
@@ -1453,57 +1339,49 @@ SwigPyObject_format(const char* fmt, SwigPyObject *v)
 }
 
 SWIGRUNTIME PyObject *
-SwigPyObject_oct(SwigPyObject *v)
+PySwigObject_oct(PySwigObject *v)
 {
-  return SwigPyObject_format("%o",v);
+  return PySwigObject_format("%o",v);
 }
 
 SWIGRUNTIME PyObject *
-SwigPyObject_hex(SwigPyObject *v)
+PySwigObject_hex(PySwigObject *v)
 {
-  return SwigPyObject_format("%x",v);
+  return PySwigObject_format("%x",v);
 }
 
 SWIGRUNTIME PyObject *
 #ifdef METH_NOARGS
-SwigPyObject_repr(SwigPyObject *v)
+PySwigObject_repr(PySwigObject *v)
 #else
-SwigPyObject_repr(SwigPyObject *v, PyObject *args)
+PySwigObject_repr(PySwigObject *v, PyObject *args)
 #endif
 {
   const char *name = SWIG_TypePrettyName(v->ty);
-  PyObject *repr = SWIG_Python_str_FromFormat("<Swig Object of type '%s' at %p>", name, v);
+  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 = SwigPyObject_repr((SwigPyObject *)v->next);
+    PyObject *nrep = PySwigObject_repr((PySwigObject *)v->next);
 #else
-    PyObject *nrep = SwigPyObject_repr((SwigPyObject *)v->next, args);
+    PyObject *nrep = PySwigObject_repr((PySwigObject *)v->next, args);
 #endif
-#if PY_VERSION_HEX >= 0x03000000
-    PyObject *joined = PyUnicode_Concat(repr, nrep);
-    Py_DecRef(repr);
-    Py_DecRef(nrep);
-    repr = joined;
-#else
     PyString_ConcatAndDel(&repr,nrep);
-#endif
   }
   return repr;  
 }
 
 SWIGRUNTIME int
-SwigPyObject_print(SwigPyObject *v, FILE *fp, int SWIGUNUSEDPARM(flags))
+PySwigObject_print(PySwigObject *v, FILE *fp, int SWIGUNUSEDPARM(flags))
 {
-  char *str;
 #ifdef METH_NOARGS
-  PyObject *repr = SwigPyObject_repr(v);
+  PyObject *repr = PySwigObject_repr(v);
 #else
-  PyObject *repr = SwigPyObject_repr(v, NULL);
+  PyObject *repr = PySwigObject_repr(v, NULL);
 #endif
   if (repr) {
-    str = SWIG_Python_str_AsChar(repr); 
-    fputs(str, fp);
-    SWIG_Python_str_DelForPy3(str);
+    fputs(PyString_AsString(repr), fp);
     Py_DECREF(repr);
     return 0; 
   } else {
@@ -1512,71 +1390,53 @@ SwigPyObject_print(SwigPyObject *v, FILE *fp, int SWIGUNUSEDPARM(flags))
 }
 
 SWIGRUNTIME PyObject *
-SwigPyObject_str(SwigPyObject *v)
+PySwigObject_str(PySwigObject *v)
 {
   char result[SWIG_BUFFER_SIZE];
   return SWIG_PackVoidPtr(result, v->ptr, v->ty->name, sizeof(result)) ?
-    SWIG_Python_str_FromChar(result) : 0;
+    PyString_FromString(result) : 0;
 }
 
 SWIGRUNTIME int
-SwigPyObject_compare(SwigPyObject *v, SwigPyObject *w)
+PySwigObject_compare(PySwigObject *v, PySwigObject *w)
 {
   void *i = v->ptr;
   void *j = w->ptr;
   return (i < j) ? -1 : ((i > j) ? 1 : 0);
 }
 
-/* Added for Python 3.x, would it also be useful for Python 2.x? */
-SWIGRUNTIME PyObject*
-SwigPyObject_richcompare(SwigPyObject *v, SwigPyObject *w, int op)
-{
-  PyObject* res;
-  if( op != Py_EQ && op != Py_NE ) {
-    Py_INCREF(Py_NotImplemented);
-    return Py_NotImplemented;
-  }
-  if( (SwigPyObject_compare(v, w)==0) == (op == Py_EQ) )
-    res = Py_True;
-  else
-    res = Py_False;
-  Py_INCREF(res);
-  return res;  
-}
-
-
 SWIGRUNTIME PyTypeObject* _PySwigObject_type(void);
 
 SWIGRUNTIME PyTypeObject*
-SwigPyObject_type(void) {
+PySwigObject_type(void) {
   static PyTypeObject *SWIG_STATIC_POINTER(type) = _PySwigObject_type();
   return type;
 }
 
 SWIGRUNTIMEINLINE int
-SwigPyObject_Check(PyObject *op) {
-  return (Py_TYPE(op) == SwigPyObject_type())
-    || (strcmp(Py_TYPE(op)->tp_name,"SwigPyObject") == 0);
+PySwigObject_Check(PyObject *op) {
+  return ((op)->ob_type == PySwigObject_type())
+    || (strcmp((op)->ob_type->tp_name,"PySwigObject") == 0);
 }
 
 SWIGRUNTIME PyObject *
-SwigPyObject_New(void *ptr, swig_type_info *ty, int own);
+PySwigObject_New(void *ptr, swig_type_info *ty, int own);
 
 SWIGRUNTIME void
-SwigPyObject_dealloc(PyObject *v)
+PySwigObject_dealloc(PyObject *v)
 {
-  SwigPyObject *sobj = (SwigPyObject *) v;
+  PySwigObject *sobj = (PySwigObject *) v;
   PyObject *next = sobj->next;
-  if (sobj->own == SWIG_POINTER_OWN) {
+  if (sobj->own) {
     swig_type_info *ty = sobj->ty;
-    SwigPyClientData *data = ty ? (SwigPyClientData *) ty->clientdata : 0;
+    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 temporary object to carry the destroy operation */
-       PyObject *tmp = SwigPyObject_New(sobj->ptr, ty, 0);
+       /* 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 {
@@ -1585,28 +1445,27 @@ SwigPyObject_dealloc(PyObject *v)
        res = ((*meth)(mself, v));
       }
       Py_XDECREF(res);
-    } 
-#if !defined(SWIG_PYTHON_SILENT_MEMLEAK)
-    else {
+    } else {
       const char *name = SWIG_TypePrettyName(ty);
-      printf("swig/python detected a memory leak of type '%s', no destructor found.\n", (name ? name : "unknown"));
-    }
+#if !defined(SWIG_PYTHON_SILENT_MEMLEAK)
+      printf("swig/python detected a memory leak of type '%s', no destructor found.\n", name);
 #endif
+    }
   } 
   Py_XDECREF(next);
   PyObject_DEL(v);
 }
 
 SWIGRUNTIME PyObject* 
-SwigPyObject_append(PyObject* v, PyObject* next)
+PySwigObject_append(PyObject* v, PyObject* next)
 {
-  SwigPyObject *sobj = (SwigPyObject *) v;
+  PySwigObject *sobj = (PySwigObject *) v;
 #ifndef METH_O
   PyObject *tmp = 0;
   if (!PyArg_ParseTuple(next,(char *)"O:append", &tmp)) return NULL;
   next = tmp;
 #endif
-  if (!SwigPyObject_Check(next)) {
+  if (!PySwigObject_Check(next)) {
     return NULL;
   }
   sobj->next = next;
@@ -1616,12 +1475,12 @@ SwigPyObject_append(PyObject* v, PyObject* next)
 
 SWIGRUNTIME PyObject* 
 #ifdef METH_NOARGS
-SwigPyObject_next(PyObject* v)
+PySwigObject_next(PyObject* v)
 #else
-SwigPyObject_next(PyObject* v, PyObject *SWIGUNUSEDPARM(args))
+PySwigObject_next(PyObject* v, PyObject *SWIGUNUSEDPARM(args))
 #endif
 {
-  SwigPyObject *sobj = (SwigPyObject *) v;
+  PySwigObject *sobj = (PySwigObject *) v;
   if (sobj->next) {    
     Py_INCREF(sobj->next);
     return sobj->next;
@@ -1632,30 +1491,30 @@ SwigPyObject_next(PyObject* v, PyObject *SWIGUNUSEDPARM(args))
 
 SWIGINTERN PyObject*
 #ifdef METH_NOARGS
-SwigPyObject_disown(PyObject *v)
+PySwigObject_disown(PyObject *v)
 #else
-SwigPyObject_disown(PyObject* v, PyObject *SWIGUNUSEDPARM(args))
+PySwigObject_disown(PyObject* v, PyObject *SWIGUNUSEDPARM(args))
 #endif
 {
-  SwigPyObject *sobj = (SwigPyObject *)v;
+  PySwigObject *sobj = (PySwigObject *)v;
   sobj->own = 0;
   return SWIG_Py_Void();
 }
 
 SWIGINTERN PyObject*
 #ifdef METH_NOARGS
-SwigPyObject_acquire(PyObject *v)
+PySwigObject_acquire(PyObject *v)
 #else
-SwigPyObject_acquire(PyObject* v, PyObject *SWIGUNUSEDPARM(args))
+PySwigObject_acquire(PyObject* v, PyObject *SWIGUNUSEDPARM(args))
 #endif
 {
-  SwigPyObject *sobj = (SwigPyObject *)v;
+  PySwigObject *sobj = (PySwigObject *)v;
   sobj->own = SWIG_POINTER_OWN;
   return SWIG_Py_Void();
 }
 
 SWIGINTERN PyObject*
-SwigPyObject_own(PyObject *v, PyObject *args)
+PySwigObject_own(PyObject *v, PyObject *args)
 {
   PyObject *val = 0;
 #if (PY_VERSION_HEX < 0x02020000)
@@ -1668,20 +1527,20 @@ SwigPyObject_own(PyObject *v, PyObject *args)
     } 
   else
     {
-      SwigPyObject *sobj = (SwigPyObject *)v;
+      PySwigObject *sobj = (PySwigObject *)v;
       PyObject *obj = PyBool_FromLong(sobj->own);
       if (val) {
 #ifdef METH_NOARGS
        if (PyObject_IsTrue(val)) {
-         SwigPyObject_acquire(v);
+         PySwigObject_acquire(v);
        } else {
-         SwigPyObject_disown(v);
+         PySwigObject_disown(v);
        }
 #else
        if (PyObject_IsTrue(val)) {
-         SwigPyObject_acquire(v,args);
+         PySwigObject_acquire(v,args);
        } else {
-         SwigPyObject_disown(v,args);
+         PySwigObject_disown(v,args);
        }
 #endif
       } 
@@ -1692,30 +1551,30 @@ SwigPyObject_own(PyObject *v, PyObject *args)
 #ifdef METH_O
 static PyMethodDef
 swigobject_methods[] = {
-  {(char *)"disown",  (PyCFunction)SwigPyObject_disown,  METH_NOARGS,  (char *)"releases ownership of the pointer"},
-  {(char *)"acquire", (PyCFunction)SwigPyObject_acquire, METH_NOARGS,  (char *)"aquires ownership of the pointer"},
-  {(char *)"own",     (PyCFunction)SwigPyObject_own,     METH_VARARGS, (char *)"returns/sets ownership of the pointer"},
-  {(char *)"append",  (PyCFunction)SwigPyObject_append,  METH_O,       (char *)"appends another 'this' object"},
-  {(char *)"next",    (PyCFunction)SwigPyObject_next,    METH_NOARGS,  (char *)"returns the next 'this' object"},
-  {(char *)"__repr__",(PyCFunction)SwigPyObject_repr,    METH_NOARGS,  (char *)"returns object representation"},
+  {(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)SwigPyObject_disown,  METH_VARARGS,  (char *)"releases ownership of the pointer"},
-  {(char *)"acquire", (PyCFunction)SwigPyObject_acquire, METH_VARARGS,  (char *)"aquires ownership of the pointer"},
-  {(char *)"own",     (PyCFunction)SwigPyObject_own,     METH_VARARGS,  (char *)"returns/sets ownership of the pointer"},
-  {(char *)"append",  (PyCFunction)SwigPyObject_append,  METH_VARARGS,  (char *)"appends another 'this' object"},
-  {(char *)"next",    (PyCFunction)SwigPyObject_next,    METH_VARARGS,  (char *)"returns the next 'this' object"},
-  {(char *)"__repr__",(PyCFunction)SwigPyObject_repr,   METH_VARARGS,  (char *)"returns object representation"},
+  {(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 *
-SwigPyObject_getattr(SwigPyObject *sobj,char *name)
+PySwigObject_getattr(PySwigObject *sobj,char *name)
 {
   return Py_FindMethod(swigobject_methods, (PyObject *)sobj, name);
 }
@@ -1725,14 +1584,11 @@ SWIGRUNTIME PyTypeObject*
 _PySwigObject_type(void) {
   static char swigobject_doc[] = "Swig object carries a C/C++ instance pointer";
   
-  static PyNumberMethods SwigPyObject_as_number = {
+  static PyNumberMethods PySwigObject_as_number = {
     (binaryfunc)0, /*nb_add*/
     (binaryfunc)0, /*nb_subtract*/
     (binaryfunc)0, /*nb_multiply*/
-    /* nb_divide removed in Python 3 */
-#if PY_VERSION_HEX < 0x03000000
     (binaryfunc)0, /*nb_divide*/
-#endif
     (binaryfunc)0, /*nb_remainder*/
     (binaryfunc)0, /*nb_divmod*/
     (ternaryfunc)0,/*nb_power*/
@@ -1746,66 +1602,45 @@ _PySwigObject_type(void) {
     0,            /*nb_and*/
     0,            /*nb_xor*/
     0,            /*nb_or*/
-#if PY_VERSION_HEX < 0x03000000
-    0,   /*nb_coerce*/
-#endif
-    (unaryfunc)SwigPyObject_long, /*nb_int*/
-#if PY_VERSION_HEX < 0x03000000
-    (unaryfunc)SwigPyObject_long, /*nb_long*/
-#else
-    0, /*nb_reserved*/
-#endif
+    (coercion)0,   /*nb_coerce*/
+    (unaryfunc)PySwigObject_long, /*nb_int*/
+    (unaryfunc)PySwigObject_long, /*nb_long*/
     (unaryfunc)0,                 /*nb_float*/
-#if PY_VERSION_HEX < 0x03000000
-    (unaryfunc)SwigPyObject_oct,  /*nb_oct*/
-    (unaryfunc)SwigPyObject_hex,  /*nb_hex*/
-#endif
-#if PY_VERSION_HEX >= 0x03000000 /* 3.0 */
-    0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 /* nb_inplace_add -> nb_index, nb_inplace_divide removed */
-#elif 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 */
+    (unaryfunc)PySwigObject_oct,  /*nb_oct*/
+    (unaryfunc)PySwigObject_hex,  /*nb_hex*/
+#if PY_VERSION_HEX >= 0x02020000
+    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
     0,0,0,0,0,0,0,0,0,0,0 /* nb_inplace_add -> nb_inplace_or */
 #endif
   };
 
-  static PyTypeObject swigpyobject_type;  
+  static PyTypeObject pyswigobject_type;  
   static int type_init = 0;
   if (!type_init) {
     const PyTypeObject tmp
       = {
-       /* PyObject header changed in Python 3 */
-#if PY_VERSION_HEX >= 0x03000000
-       PyVarObject_HEAD_INIT(&PyType_Type, 0)
-#else    
        PyObject_HEAD_INIT(NULL)
        0,                                  /* ob_size */
-#endif
-       (char *)"SwigPyObject",             /* tp_name */
-       sizeof(SwigPyObject),               /* tp_basicsize */
+       (char *)"PySwigObject",             /* tp_name */
+       sizeof(PySwigObject),               /* tp_basicsize */
        0,                                  /* tp_itemsize */
-       (destructor)SwigPyObject_dealloc,   /* tp_dealloc */
-       (printfunc)SwigPyObject_print,      /* tp_print */
+       (destructor)PySwigObject_dealloc,   /* tp_dealloc */
+       (printfunc)PySwigObject_print,      /* tp_print */
 #if PY_VERSION_HEX < 0x02020000
-       (getattrfunc)SwigPyObject_getattr,  /* tp_getattr */ 
+       (getattrfunc)PySwigObject_getattr,  /* tp_getattr */ 
 #else
        (getattrfunc)0,                     /* tp_getattr */ 
 #endif
        (setattrfunc)0,                     /* tp_setattr */ 
-#if PY_VERSION_HEX >= 0x03000000
-    0, /* tp_reserved in 3.0.1, tp_compare in 3.0.0 but not used */
-#else
-       (cmpfunc)SwigPyObject_compare,      /* tp_compare */
-#endif
-       (reprfunc)SwigPyObject_repr,        /* tp_repr */    
-       &SwigPyObject_as_number,            /* tp_as_number */
+       (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)SwigPyObject_str,         /* tp_str */
+       (reprfunc)PySwigObject_str,         /* tp_str */
        PyObject_GenericGetAttr,            /* tp_getattro */
        0,                                  /* tp_setattro */
        0,                                  /* tp_as_buffer */
@@ -1813,7 +1648,7 @@ _PySwigObject_type(void) {
        swigobject_doc,                     /* tp_doc */        
        0,                                  /* tp_traverse */
        0,                                  /* tp_clear */
-       (richcmpfunc)SwigPyObject_richcompare,           /* tp_richcompare */
+       0,                                  /* tp_richcompare */
        0,                                  /* tp_weaklistoffset */
 #if PY_VERSION_HEX >= 0x02020000
        0,                                  /* tp_iter */
@@ -1830,11 +1665,11 @@ _PySwigObject_type(void) {
        0,                                  /* tp_alloc */              
        0,                                  /* tp_new */                
        0,                                  /* tp_free */          
-       0,                                  /* tp_is_gc */  
+        0,                                  /* tp_is_gc */  
        0,                                  /* tp_bases */   
        0,                                  /* tp_mro */
        0,                                  /* tp_cache */   
-       0,                                  /* tp_subclasses */
+       0,                                  /* tp_subclasses */
        0,                                  /* tp_weaklist */
 #endif
 #if PY_VERSION_HEX >= 0x02030000
@@ -1844,20 +1679,17 @@ _PySwigObject_type(void) {
        0,0,0,0                             /* tp_alloc -> tp_next */
 #endif
       };
-    swigpyobject_type = tmp;
-    /* for Python 3 we already assigned ob_type in PyVarObject_HEAD_INIT() */
-#if PY_VERSION_HEX < 0x03000000
-    swigpyobject_type.ob_type = &PyType_Type;
-#endif
+    pyswigobject_type = tmp;
+    pyswigobject_type.ob_type = &PyType_Type;
     type_init = 1;
   }
-  return &swigpyobject_type;
+  return &pyswigobject_type;
 }
 
 SWIGRUNTIME PyObject *
-SwigPyObject_New(void *ptr, swig_type_info *ty, int own)
+PySwigObject_New(void *ptr, swig_type_info *ty, int own)
 {
-  SwigPyObject *sobj = PyObject_NEW(SwigPyObject, SwigPyObject_type());
+  PySwigObject *sobj = PyObject_NEW(PySwigObject, PySwigObject_type());
   if (sobj) {
     sobj->ptr  = ptr;
     sobj->ty   = ty;
@@ -1876,10 +1708,10 @@ typedef struct {
   void *pack;
   swig_type_info *ty;
   size_t size;
-} SwigPyPacked;
+} PySwigPacked;
 
 SWIGRUNTIME int
-SwigPyPacked_print(SwigPyPacked *v, FILE *fp, int SWIGUNUSEDPARM(flags))
+PySwigPacked_print(PySwigPacked *v, FILE *fp, int SWIGUNUSEDPARM(flags))
 {
   char result[SWIG_BUFFER_SIZE];
   fputs("<Swig Packed ", fp); 
@@ -1893,29 +1725,29 @@ SwigPyPacked_print(SwigPyPacked *v, FILE *fp, int SWIGUNUSEDPARM(flags))
 }
   
 SWIGRUNTIME PyObject *
-SwigPyPacked_repr(SwigPyPacked *v)
+PySwigPacked_repr(PySwigPacked *v)
 {
   char result[SWIG_BUFFER_SIZE];
   if (SWIG_PackDataName(result, v->pack, v->size, 0, sizeof(result))) {
-    return SWIG_Python_str_FromFormat("<Swig Packed at %s%s>", result, v->ty->name);
+    return PyString_FromFormat("<Swig Packed at %s%s>", result, v->ty->name);
   } else {
-    return SWIG_Python_str_FromFormat("<Swig Packed %s>", v->ty->name);
+    return PyString_FromFormat("<Swig Packed %s>", v->ty->name);
   }  
 }
 
 SWIGRUNTIME PyObject *
-SwigPyPacked_str(SwigPyPacked *v)
+PySwigPacked_str(PySwigPacked *v)
 {
   char result[SWIG_BUFFER_SIZE];
   if (SWIG_PackDataName(result, v->pack, v->size, 0, sizeof(result))){
-    return SWIG_Python_str_FromFormat("%s%s", result, v->ty->name);
+    return PyString_FromFormat("%s%s", result, v->ty->name);
   } else {
-    return SWIG_Python_str_FromChar(v->ty->name);
+    return PyString_FromString(v->ty->name);
   }  
 }
 
 SWIGRUNTIME int
-SwigPyPacked_compare(SwigPyPacked *v, SwigPyPacked *w)
+PySwigPacked_compare(PySwigPacked *v, PySwigPacked *w)
 {
   size_t i = v->size;
   size_t j = w->size;
@@ -1926,22 +1758,22 @@ SwigPyPacked_compare(SwigPyPacked *v, SwigPyPacked *w)
 SWIGRUNTIME PyTypeObject* _PySwigPacked_type(void);
 
 SWIGRUNTIME PyTypeObject*
-SwigPyPacked_type(void) {
+PySwigPacked_type(void) {
   static PyTypeObject *SWIG_STATIC_POINTER(type) = _PySwigPacked_type();
   return type;
 }
 
 SWIGRUNTIMEINLINE int
-SwigPyPacked_Check(PyObject *op) {
+PySwigPacked_Check(PyObject *op) {
   return ((op)->ob_type == _PySwigPacked_type()) 
-    || (strcmp((op)->ob_type->tp_name,"SwigPyPacked") == 0);
+    || (strcmp((op)->ob_type->tp_name,"PySwigPacked") == 0);
 }
 
 SWIGRUNTIME void
-SwigPyPacked_dealloc(PyObject *v)
+PySwigPacked_dealloc(PyObject *v)
 {
-  if (SwigPyPacked_Check(v)) {
-    SwigPyPacked *sobj = (SwigPyPacked *) v;
+  if (PySwigPacked_Check(v)) {
+    PySwigPacked *sobj = (PySwigPacked *) v;
     free(sobj->pack);
   }
   PyObject_DEL(v);
@@ -1950,37 +1782,28 @@ SwigPyPacked_dealloc(PyObject *v)
 SWIGRUNTIME PyTypeObject*
 _PySwigPacked_type(void) {
   static char swigpacked_doc[] = "Swig object carries a C/C++ instance pointer";
-  static PyTypeObject swigpypacked_type;
+  static PyTypeObject pyswigpacked_type;
   static int type_init = 0;  
   if (!type_init) {
     const PyTypeObject tmp
       = {
-    /* PyObject header changed in Python 3 */
-#if PY_VERSION_HEX>=0x03000000
-    PyVarObject_HEAD_INIT(&PyType_Type, 0)
-#else
        PyObject_HEAD_INIT(NULL)
-    0,                             /* ob_size */       
-#endif
-       (char *)"SwigPyPacked",             /* tp_name */       
-       sizeof(SwigPyPacked),               /* tp_basicsize */  
+       0,                                  /* ob_size */       
+       (char *)"PySwigPacked",             /* tp_name */       
+       sizeof(PySwigPacked),               /* tp_basicsize */  
        0,                                  /* tp_itemsize */   
-       (destructor)SwigPyPacked_dealloc,   /* tp_dealloc */    
-       (printfunc)SwigPyPacked_print,      /* tp_print */      
+       (destructor)PySwigPacked_dealloc,   /* tp_dealloc */    
+       (printfunc)PySwigPacked_print,      /* tp_print */      
        (getattrfunc)0,                     /* tp_getattr */    
        (setattrfunc)0,                     /* tp_setattr */    
-#if PY_VERSION_HEX>=0x03000000
-    0, /* tp_reserved in 3.0.1 */
-#else
-    (cmpfunc)SwigPyPacked_compare,         /* tp_compare */
-#endif
-       (reprfunc)SwigPyPacked_repr,        /* tp_repr */
-       0,                                  /* tp_as_number */
+       (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)SwigPyPacked_str,         /* tp_str */
+       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 */
@@ -2019,20 +1842,17 @@ _PySwigPacked_type(void) {
        0,0,0,0                             /* tp_alloc -> tp_next */
 #endif
       };
-    swigpypacked_type = tmp;
-    /* for Python 3 the ob_type already assigned in PyVarObject_HEAD_INIT() */
-#if PY_VERSION_HEX < 0x03000000
-    swigpypacked_type.ob_type = &PyType_Type;
-#endif
+    pyswigpacked_type = tmp;
+    pyswigpacked_type.ob_type = &PyType_Type;
     type_init = 1;
   }
-  return &swigpypacked_type;
+  return &pyswigpacked_type;
 }
 
 SWIGRUNTIME PyObject *
-SwigPyPacked_New(void *ptr, size_t size, swig_type_info *ty)
+PySwigPacked_New(void *ptr, size_t size, swig_type_info *ty)
 {
-  SwigPyPacked *sobj = PyObject_NEW(SwigPyPacked, SwigPyPacked_type());
+  PySwigPacked *sobj = PyObject_NEW(PySwigPacked, PySwigPacked_type());
   if (sobj) {
     void *pack = malloc(size);
     if (pack) {
@@ -2049,10 +1869,10 @@ SwigPyPacked_New(void *ptr, size_t size, swig_type_info *ty)
 }
 
 SWIGRUNTIME swig_type_info *
-SwigPyPacked_UnpackData(PyObject *obj, void *ptr, size_t size)
+PySwigPacked_UnpackData(PyObject *obj, void *ptr, size_t size)
 {
-  if (SwigPyPacked_Check(obj)) {
-    SwigPyPacked *sobj = (SwigPyPacked *)obj;
+  if (PySwigPacked_Check(obj)) {
+    PySwigPacked *sobj = (PySwigPacked *)obj;
     if (sobj->size != size) return 0;
     memcpy(ptr, sobj->pack, size);
     return sobj->ty;
@@ -2068,7 +1888,7 @@ SwigPyPacked_UnpackData(PyObject *obj, void *ptr, size_t size)
 SWIGRUNTIMEINLINE PyObject *
 _SWIG_This(void)
 {
-    return SWIG_Python_str_FromChar("this");
+  return PyString_FromString("this");
 }
 
 SWIGRUNTIME PyObject *
@@ -2080,16 +1900,11 @@ SWIG_This(void)
 
 /* #define SWIG_PYTHON_SLOW_GETSET_THIS */
 
-/* TODO: I don't know how to implement the fast getset in Python 3 right now */
-#if PY_VERSION_HEX>=0x03000000
-#define SWIG_PYTHON_SLOW_GETSET_THIS 
-#endif
-
-SWIGRUNTIME SwigPyObject *
+SWIGRUNTIME PySwigObject *
 SWIG_Python_GetSwigThis(PyObject *pyobj) 
 {
-  if (SwigPyObject_Check(pyobj)) {
-    return (SwigPyObject *) pyobj;
+  if (PySwigObject_Check(pyobj)) {
+    return (PySwigObject *) pyobj;
   } else {
     PyObject *obj = 0;
 #if (!defined(SWIG_PYTHON_SLOW_GETSET_THIS) && (PY_VERSION_HEX >= 0x02030000))
@@ -2125,12 +1940,12 @@ SWIG_Python_GetSwigThis(PyObject *pyobj)
       return 0;
     }
 #endif
-    if (obj && !SwigPyObject_Check(obj)) {
+    if (obj && !PySwigObject_Check(obj)) {
       /* a PyObject is called 'this', try to get the 'real this'
-        SwigPyObject from it */ 
+        PySwigObject from it */ 
       return SWIG_Python_GetSwigThis(obj);
     }
-    return (SwigPyObject *)obj;
+    return (PySwigObject *)obj;
   }
 }
 
@@ -2138,8 +1953,8 @@ SWIG_Python_GetSwigThis(PyObject *pyobj)
 
 SWIGRUNTIME int
 SWIG_Python_AcquirePtr(PyObject *obj, int own) {
-  if (own == SWIG_POINTER_OWN) {
-    SwigPyObject *sobj = SWIG_Python_GetSwigThis(obj);
+  if (own) {
+    PySwigObject *sobj = SWIG_Python_GetSwigThis(obj);
     if (sobj) {
       int oldown = sobj->own;
       sobj->own = own;
@@ -2158,9 +1973,7 @@ SWIG_Python_ConvertPtrAndOwn(PyObject *obj, void **ptr, swig_type_info *ty, int
     if (ptr) *ptr = 0;
     return SWIG_OK;
   } else {
-    SwigPyObject *sobj = SWIG_Python_GetSwigThis(obj);
-    if (own)
-      *own = 0;
+    PySwigObject *sobj = SWIG_Python_GetSwigThis(obj);
     while (sobj) {
       void *vptr = sobj->ptr;
       if (ty) {
@@ -2172,17 +1985,9 @@ SWIG_Python_ConvertPtrAndOwn(PyObject *obj, void **ptr, swig_type_info *ty, int
        } else {
          swig_cast_info *tc = SWIG_TypeCheck(to->name,ty);
          if (!tc) {
-           sobj = (SwigPyObject *)sobj->next;
+           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;
-              }
-            }
+           if (ptr) *ptr = SWIG_TypeCast(tc,vptr);
            break;
          }
        }
@@ -2192,8 +1997,7 @@ SWIG_Python_ConvertPtrAndOwn(PyObject *obj, void **ptr, swig_type_info *ty, int
       }
     }
     if (sobj) {
-      if (own)
-        *own = *own | sobj->own;
+      if (own) *own = sobj->own;
       if (flags & SWIG_POINTER_DISOWN) {
        sobj->own = 0;
       }
@@ -2201,7 +2005,7 @@ SWIG_Python_ConvertPtrAndOwn(PyObject *obj, void **ptr, swig_type_info *ty, int
     } else {
       int res = SWIG_ERROR;
       if (flags & SWIG_POINTER_IMPLICIT_CONV) {
-       SwigPyClientData *data = ty ? (SwigPyClientData *) ty->clientdata : 0;
+       PySwigClientData *data = ty ? (PySwigClientData *) ty->clientdata : 0;
        if (data && !data->implicitconv) {
          PyObject *klass = data->klass;
          if (klass) {
@@ -2214,7 +2018,7 @@ SWIG_Python_ConvertPtrAndOwn(PyObject *obj, void **ptr, swig_type_info *ty, int
              impconv = 0;
            }
            if (impconv) {
-             SwigPyObject *iobj = SWIG_Python_GetSwigThis(impconv);
+             PySwigObject *iobj = SWIG_Python_GetSwigThis(impconv);
              if (iobj) {
                void *vptr;
                res = SWIG_Python_ConvertPtrAndOwn((PyObject*)iobj, &vptr, ty, 0, 0);
@@ -2252,19 +2056,14 @@ SWIG_Python_ConvertFunctionPtr(PyObject *obj, void **ptr, swig_type_info *ty) {
     /* 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)
+    if (desc) {
       desc = ty ? SWIG_UnpackVoidPtr(desc + 10, &vptr, ty->name) : 0;
-    if (!desc) 
-      return SWIG_ERROR;
+      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;
-      }
+      if (!tc) return SWIG_ERROR;
+      *ptr = SWIG_TypeCast(tc,vptr);
     } else {
       *ptr = vptr;
     }
@@ -2276,7 +2075,7 @@ SWIG_Python_ConvertFunctionPtr(PyObject *obj, void **ptr, swig_type_info *ty) {
 
 SWIGRUNTIME int
 SWIG_Python_ConvertPacked(PyObject *obj, void *ptr, size_t sz, swig_type_info *ty) {
-  swig_type_info *to = SwigPyPacked_UnpackData(obj, ptr, sz);
+  swig_type_info *to = PySwigPacked_UnpackData(obj, ptr, sz);
   if (!to) return SWIG_ERROR;
   if (ty) {
     if (to != ty) {
@@ -2293,12 +2092,12 @@ SWIG_Python_ConvertPacked(PyObject *obj, void *ptr, size_t sz, swig_type_info *t
  * ----------------------------------------------------------------------------- */
 
 /*
-  Create a new instance object, without calling __init__, and set the
+  Create a new instance object, whitout calling __init__, and set the
   'this' attribute.
 */
 
 SWIGRUNTIME PyObject* 
-SWIG_Python_NewShadowInstance(SwigPyClientData *data, PyObject *swig_this)
+SWIG_Python_NewShadowInstance(PySwigClientData *data, PyObject *swig_this)
 {
 #if (PY_VERSION_HEX >= 0x02020000)
   PyObject *inst = 0;
@@ -2322,16 +2121,10 @@ SWIG_Python_NewShadowInstance(SwigPyClientData *data, PyObject *swig_this)
 #endif
     }
   } else {
-#if PY_VERSION_HEX >= 0x03000000
-    inst = PyBaseObject_Type.tp_new((PyTypeObject*) data->newargs, Py_None, Py_None);
-    PyObject_SetAttr(inst, SWIG_This(), swig_this);
-    Py_TYPE(inst)->tp_flags &= ~Py_TPFLAGS_VALID_VERSION_TAG;
-#else
     PyObject *dict = PyDict_New();
     PyDict_SetItem(dict, SWIG_This(), swig_this);
     inst = PyInstance_NewRaw(data->newargs, dict);
     Py_DECREF(dict);
-#endif
   }
   return inst;
 #else
@@ -2394,9 +2187,9 @@ SWIG_Python_InitShadowInstance(PyObject *args) {
   if (!SWIG_Python_UnpackTuple(args,(char*)"swiginit", 2, 2, obj)) {
     return NULL;
   } else {
-    SwigPyObject *sthis = SWIG_Python_GetSwigThis(obj[0]);
+    PySwigObject *sthis = SWIG_Python_GetSwigThis(obj[0]);
     if (sthis) {
-      SwigPyObject_append((PyObject*) sthis, obj[1]);
+      PySwigObject_append((PyObject*) sthis, obj[1]);
     } else {
       SWIG_Python_SetSwigThis(obj[0], obj[1]);
     }
@@ -2412,8 +2205,8 @@ SWIG_Python_NewPointerObj(void *ptr, swig_type_info *type, int flags) {
     return SWIG_Py_Void();
   } else {
     int own = (flags & SWIG_POINTER_OWN) ? SWIG_POINTER_OWN : 0;
-    PyObject *robj = SwigPyObject_New(ptr, type, own);
-    SwigPyClientData *clientdata = type ? (SwigPyClientData *)(type->clientdata) : 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) {
@@ -2429,7 +2222,7 @@ SWIG_Python_NewPointerObj(void *ptr, swig_type_info *type, int flags) {
 
 SWIGRUNTIMEINLINE PyObject *
 SWIG_Python_NewPackedObj(void *ptr, size_t sz, swig_type_info *type) {
-  return ptr ? SwigPyPacked_New((void *) ptr, sz, type) : SWIG_Py_Void();
+  return ptr ? PySwigPacked_New((void *) ptr, sz, type) : SWIG_Py_Void();
 }
 
 /* -----------------------------------------------------------------------------*
@@ -2500,8 +2293,8 @@ SWIG_Python_DestroyModule(void *vptr)
   for (i =0; i < swig_module->size; ++i) {
     swig_type_info *ty = types[i];
     if (ty->owndata) {
-      SwigPyClientData *data = (SwigPyClientData *) ty->clientdata;
-      if (data) SwigPyClientData_Del(data);
+      PySwigClientData *data = (PySwigClientData *) ty->clientdata;
+      if (data) PySwigClientData_Del(data);
     }
   }
   Py_DECREF(SWIG_This());
@@ -2511,13 +2304,8 @@ SWIGRUNTIME void
 SWIG_Python_SetModule(swig_module_info *swig_module) {
   static PyMethodDef swig_empty_runtime_method_table[] = { {NULL, NULL, 0, NULL} };/* Sentinel */
 
-#if PY_VERSION_HEX >= 0x03000000
- /* Add a dummy module object into sys.modules */
-  PyObject *module = PyImport_AddModule((char*)"swig_runtime_data" SWIG_RUNTIME_VERSION);
-#else
   PyObject *module = Py_InitModule((char*)"swig_runtime_data" SWIG_RUNTIME_VERSION,
                                   swig_empty_runtime_method_table);
-#endif
   PyObject *pointer = PyCObject_FromVoidPtr((void *) swig_module, SWIG_Python_DestroyModule);
   if (pointer && module) {
     PyModule_AddObject(module, (char*)"type_pointer" SWIG_TYPE_TABLE_NAME, pointer);
@@ -2537,7 +2325,7 @@ SWIGRUNTIME swig_type_info *
 SWIG_Python_TypeQuery(const char *type)
 {
   PyObject *cache = SWIG_Python_TypeCache();
-  PyObject *key = SWIG_Python_str_FromChar(type); 
+  PyObject *key = PyString_FromString(type); 
   PyObject *obj = PyDict_GetItem(cache, key);
   swig_type_info *descriptor;
   if (obj) {
@@ -2564,23 +2352,21 @@ SWIG_Python_TypeQuery(const char *type)
 
 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) {
-      char *tmp;
       PyObject *old_str = PyObject_Str(value);
       Py_XINCREF(type);
       PyErr_Clear();
       if (infront) {
-       PyErr_Format(type, "%s %s", mesg, tmp = SWIG_Python_str_AsChar(old_str));
+       PyErr_Format(type, "%s %s", mesg, PyString_AsString(old_str));
       } else {
-       PyErr_Format(type, "%s %s", tmp = SWIG_Python_str_AsChar(old_str), mesg);
+       PyErr_Format(type, "%s %s", PyString_AsString(old_str), mesg);
       }
-      SWIG_Python_str_DelForPy3(tmp);
       Py_DECREF(old_str);
     }
     return 1;
@@ -2603,9 +2389,9 @@ SWIG_Python_ArgFail(int argnum)
 }
 
 SWIGRUNTIMEINLINE const char *
-SwigPyObject_GetDesc(PyObject *self)
+PySwigObject_GetDesc(PyObject *self)
 {
-  SwigPyObject *v = (SwigPyObject *)self;
+  PySwigObject *v = (PySwigObject *)self;
   swig_type_info *ty = v ? v->ty : 0;
   return ty ? ty->str : (char*)"";
 }
@@ -2615,10 +2401,10 @@ SWIG_Python_TypeError(const char *type, PyObject *obj)
 {
   if (type) {
 #if defined(SWIG_COBJECT_TYPES)
-    if (obj && SwigPyObject_Check(obj)) {
-      const char *otype = (const char *) SwigPyObject_GetDesc(obj);
+    if (obj && PySwigObject_Check(obj)) {
+      const char *otype = (const char *) PySwigObject_GetDesc(obj);
       if (otype) {
-       PyErr_Format(PyExc_TypeError, "a '%s' is expected, 'SwigPyObject(%s)' is received",
+       PyErr_Format(PyExc_TypeError, "a '%s' is expected, 'PySwigObject(%s)' is received",
                     type, otype);
        return;
       }
@@ -2628,11 +2414,10 @@ SWIG_Python_TypeError(const char *type, PyObject *obj)
       const char *otype = (obj ? obj->ob_type->tp_name : 0); 
       if (otype) {
        PyObject *str = PyObject_Str(obj);
-       const char *cstr = str ? SWIG_Python_str_AsChar(str) : 0;
+       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);
-          SWIG_Python_str_DelForPy3(cstr);
        } else {
          PyErr_Format(PyExc_TypeError, "a '%s' is expected, '%s' is received",
                       type, otype);
@@ -2654,12 +2439,10 @@ 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 SWIG_POINTER_EXCEPTION
-    if (flags) {
+    if (flags & SWIG_POINTER_EXCEPTION) {
       SWIG_Python_TypeError(SWIG_TypePrettyName(ty), obj);
       SWIG_Python_ArgFail(argnum);
     }
-#endif
   }
   return result;
 }
@@ -2714,35 +2497,35 @@ SWIG_Python_MustGetPtr(PyObject *obj, swig_type_info *ty, int argnum, int flags)
 #define SWIGTYPE_p_reference swig_types[26]
 #define SWIGTYPE_p_size_type swig_types[27]
 #define SWIGTYPE_p_std__invalid_argument swig_types[28]
-#define SWIGTYPE_p_std__vectorT_Hex__AssoEdge_p_std__allocatorT_Hex__AssoEdge_p_t_t swig_types[29]
-#define SWIGTYPE_p_std__vectorT_Hex__EdgeShape_p_std__allocatorT_Hex__EdgeShape_p_t_t swig_types[30]
-#define SWIGTYPE_p_std__vectorT_Hex__Edge_p_std__allocatorT_Hex__Edge_p_t_t swig_types[31]
-#define SWIGTYPE_p_std__vectorT_Hex__Edge_p_std__allocatorT_Hex__Edge_p_t_t__allocator_type swig_types[32]
-#define SWIGTYPE_p_std__vectorT_Hex__EltBase_p_std__allocatorT_Hex__EltBase_p_t_t swig_types[33]
-#define SWIGTYPE_p_std__vectorT_Hex__FaceShape_p_std__allocatorT_Hex__FaceShape_p_t_t swig_types[34]
-#define SWIGTYPE_p_std__vectorT_Hex__Hexa_p_std__allocatorT_Hex__Hexa_p_t_t swig_types[35]
-#define SWIGTYPE_p_std__vectorT_Hex__Hexa_p_std__allocatorT_Hex__Hexa_p_t_t__allocator_type swig_types[36]
-#define SWIGTYPE_p_std__vectorT_Hex__NewShape_p_std__allocatorT_Hex__NewShape_p_t_t swig_types[37]
-#define SWIGTYPE_p_std__vectorT_Hex__NewShape_p_std__allocatorT_Hex__NewShape_p_t_t__allocator_type swig_types[38]
-#define SWIGTYPE_p_std__vectorT_Hex__Quad_p_std__allocatorT_Hex__Quad_p_t_t swig_types[39]
-#define SWIGTYPE_p_std__vectorT_Hex__Quad_p_std__allocatorT_Hex__Quad_p_t_t__allocator_type swig_types[40]
-#define SWIGTYPE_p_std__vectorT_Hex__Shape_p_std__allocatorT_Hex__Shape_p_t_t swig_types[41]
-#define SWIGTYPE_p_std__vectorT_Hex__SubShape_p_std__allocatorT_Hex__SubShape_p_t_t swig_types[42]
-#define SWIGTYPE_p_std__vectorT_Hex__Vertex_p_std__allocatorT_Hex__Vertex_p_t_t swig_types[43]
-#define SWIGTYPE_p_std__vectorT_Hex__Vertex_p_std__allocatorT_Hex__Vertex_p_t_t__allocator_type swig_types[44]
-#define SWIGTYPE_p_std__vectorT_double_std__allocatorT_double_t_t swig_types[45]
-#define SWIGTYPE_p_std__vectorT_double_std__allocatorT_double_t_t__allocator_type swig_types[46]
-#define SWIGTYPE_p_std__vectorT_int_std__allocatorT_int_t_t swig_types[47]
-#define SWIGTYPE_p_std__vectorT_int_std__allocatorT_int_t_t__allocator_type swig_types[48]
-#define SWIGTYPE_p_std__vectorT_std__string_std__allocatorT_std__string_t_t swig_types[49]
+#define SWIGTYPE_p_std__vectorTHex__AssoEdge_p_std__allocatorTHex__AssoEdge_p_t_t swig_types[29]
+#define SWIGTYPE_p_std__vectorTHex__EdgeShape_p_std__allocatorTHex__EdgeShape_p_t_t swig_types[30]
+#define SWIGTYPE_p_std__vectorTHex__Edge_p_std__allocatorTHex__Edge_p_t_t swig_types[31]
+#define SWIGTYPE_p_std__vectorTHex__Edge_p_std__allocatorTHex__Edge_p_t_t__allocator_type swig_types[32]
+#define SWIGTYPE_p_std__vectorTHex__EltBase_p_std__allocatorTHex__EltBase_p_t_t swig_types[33]
+#define SWIGTYPE_p_std__vectorTHex__FaceShape_p_std__allocatorTHex__FaceShape_p_t_t swig_types[34]
+#define SWIGTYPE_p_std__vectorTHex__Hexa_p_std__allocatorTHex__Hexa_p_t_t swig_types[35]
+#define SWIGTYPE_p_std__vectorTHex__Hexa_p_std__allocatorTHex__Hexa_p_t_t__allocator_type swig_types[36]
+#define SWIGTYPE_p_std__vectorTHex__NewShape_p_std__allocatorTHex__NewShape_p_t_t swig_types[37]
+#define SWIGTYPE_p_std__vectorTHex__NewShape_p_std__allocatorTHex__NewShape_p_t_t__allocator_type swig_types[38]
+#define SWIGTYPE_p_std__vectorTHex__Quad_p_std__allocatorTHex__Quad_p_t_t swig_types[39]
+#define SWIGTYPE_p_std__vectorTHex__Quad_p_std__allocatorTHex__Quad_p_t_t__allocator_type swig_types[40]
+#define SWIGTYPE_p_std__vectorTHex__Shape_p_std__allocatorTHex__Shape_p_t_t swig_types[41]
+#define SWIGTYPE_p_std__vectorTHex__SubShape_p_std__allocatorTHex__SubShape_p_t_t swig_types[42]
+#define SWIGTYPE_p_std__vectorTHex__Vertex_p_std__allocatorTHex__Vertex_p_t_t swig_types[43]
+#define SWIGTYPE_p_std__vectorTHex__Vertex_p_std__allocatorTHex__Vertex_p_t_t__allocator_type swig_types[44]
+#define SWIGTYPE_p_std__vectorTdouble_std__allocatorTdouble_t_t swig_types[45]
+#define SWIGTYPE_p_std__vectorTdouble_std__allocatorTdouble_t_t__allocator_type swig_types[46]
+#define SWIGTYPE_p_std__vectorTint_std__allocatorTint_t_t swig_types[47]
+#define SWIGTYPE_p_std__vectorTint_std__allocatorTint_t_t__allocator_type swig_types[48]
+#define SWIGTYPE_p_std__vectorTstd__string_std__allocatorTstd__string_t_t swig_types[49]
 #define SWIGTYPE_p_string swig_types[50]
-#define SWIGTYPE_p_swig__SwigPyIterator swig_types[51]
+#define SWIGTYPE_p_swig__PySwigIterator swig_types[51]
 #define SWIGTYPE_p_value_type swig_types[52]
-#define SWIGTYPE_std__vectorT_Hex__Edge_p_std__allocatorT_Hex__Edge_p_t_t__value_type swig_types[53]
-#define SWIGTYPE_std__vectorT_Hex__Hexa_p_std__allocatorT_Hex__Hexa_p_t_t__value_type swig_types[54]
-#define SWIGTYPE_std__vectorT_Hex__NewShape_p_std__allocatorT_Hex__NewShape_p_t_t__value_type swig_types[55]
-#define SWIGTYPE_std__vectorT_Hex__Quad_p_std__allocatorT_Hex__Quad_p_t_t__value_type swig_types[56]
-#define SWIGTYPE_std__vectorT_Hex__Vertex_p_std__allocatorT_Hex__Vertex_p_t_t__value_type swig_types[57]
+#define SWIGTYPE_std__vectorTHex__Edge_p_std__allocatorTHex__Edge_p_t_t__value_type swig_types[53]
+#define SWIGTYPE_std__vectorTHex__Hexa_p_std__allocatorTHex__Hexa_p_t_t__value_type swig_types[54]
+#define SWIGTYPE_std__vectorTHex__NewShape_p_std__allocatorTHex__NewShape_p_t_t__value_type swig_types[55]
+#define SWIGTYPE_std__vectorTHex__Quad_p_std__allocatorTHex__Quad_p_t_t__value_type swig_types[56]
+#define SWIGTYPE_std__vectorTHex__Vertex_p_std__allocatorTHex__Vertex_p_t_t__value_type swig_types[57]
 static swig_type_info *swig_types[59];
 static swig_module_info swig_module = {swig_types, 58, 0, 0, 0, 0};
 #define SWIG_TypeQuery(name) SWIG_TypeQueryModule(&swig_module, &swig_module, name)
@@ -2759,16 +2542,11 @@ static swig_module_info swig_module = {swig_types, 58, 0, 0, 0, 0};
 /*-----------------------------------------------
               @(target):= _hexablock_swig.so
   ------------------------------------------------*/
-#if PY_VERSION_HEX >= 0x03000000
-#  define SWIG_init    PyInit__hexablock_swig
-
-#else
-#  define SWIG_init    init_hexablock_swig
+#define SWIG_init    init_hexablock_swig
 
-#endif
 #define SWIG_name    "_hexablock_swig"
 
-#define SWIGVERSION 0x010340 
+#define SWIGVERSION 0x010331 
 #define SWIG_VERSION SWIGVERSION
 
 
@@ -2780,28 +2558,26 @@ static swig_module_info swig_module = {swig_types, 58, 0, 0, 0, 0};
 
 
 namespace swig {
-  class SwigPtr_PyObject {
+  class PyObject_ptr {
   protected:
     PyObject *_obj;
 
   public:
-    SwigPtr_PyObject() :_obj(0)
+    PyObject_ptr() :_obj(0)
     {
     }
 
-    SwigPtr_PyObject(const SwigPtr_PyObject& item) : _obj(item._obj)
+    PyObject_ptr(const PyObject_ptr& item) : _obj(item._obj)
     {
       Py_XINCREF(_obj);      
     }
     
-    SwigPtr_PyObject(PyObject *obj, bool initial_ref = true) :_obj(obj)
+    PyObject_ptr(PyObject *obj, bool initial_ref = true) :_obj(obj)
     {
-      if (initial_ref) {
-        Py_XINCREF(_obj);
-      }
+      if (initial_ref) Py_XINCREF(_obj);
     }
     
-    SwigPtr_PyObject & operator=(const SwigPtr_PyObject& item) 
+    PyObject_ptr & operator=(const PyObject_ptr& item) 
     {
       Py_XINCREF(item._obj);
       Py_XDECREF(_obj);
@@ -2809,7 +2585,7 @@ namespace swig {
       return *this;      
     }
     
-    ~SwigPtr_PyObject() 
+    ~PyObject_ptr() 
     {
       Py_XDECREF(_obj);
     }
@@ -2828,10 +2604,10 @@ namespace swig {
 
 
 namespace swig {
-  struct SwigVar_PyObject : SwigPtr_PyObject {
-    SwigVar_PyObject(PyObject* obj = 0) : SwigPtr_PyObject(obj, false) { }
+  struct PyObject_var : PyObject_ptr {
+    PyObject_var(PyObject* obj = 0) : PyObject_ptr(obj, false) { }
     
-    SwigVar_PyObject & operator = (PyObject* obj)
+    PyObject_var & operator = (PyObject* obj)
     {
       Py_XDECREF(_obj);
       _obj = obj;
@@ -2861,6 +2637,13 @@ namespace swig {
 #include <stdexcept>
 
 
+  
+#if defined(__SUNPRO_CC) && defined(_RWSTD_VER)
+#  define SWIG_STD_NOASSIGN_STL
+#  define SWIG_STD_NOINSERT_TEMPLATE_STL
+#  define SWIG_STD_NOITERATOR_TRAITS_STL
+#endif
+
 #if defined(__GNUC__)
 #  if __GNUC__ == 2 && __GNUC_MINOR <= 96
 #     define SWIG_STD_NOMODERN_STL
@@ -2868,6 +2651,8 @@ namespace swig {
 #endif
 
 
+
+
 #include <string>
 #include <stdexcept>
 
@@ -2876,104 +2661,93 @@ namespace swig {
   struct stop_iteration {
   };
 
-  struct SwigPyIterator {
+  struct PySwigIterator {
   private:
-    SwigPtr_PyObject _seq;
+    PyObject_ptr _seq;
 
   protected:
-    SwigPyIterator(PyObject *seq) : _seq(seq)
+    PySwigIterator(PyObject *seq) : _seq(seq)
     {
     }
       
   public:
-    virtual ~SwigPyIterator() {}
+    virtual ~PySwigIterator() {}
 
     // Access iterator method, required by Python
     virtual PyObject *value() const = 0;
 
     // Forward iterator method, required by Python
-    virtual SwigPyIterator *incr(size_t n = 1) = 0;
+    virtual PySwigIterator *incr(size_t n = 1) = 0;
     
     // Backward iterator method, very common in C++, but not required in Python
-    virtual SwigPyIterator *decr(size_t /*n*/ = 1)
+    virtual PySwigIterator *decr(size_t n = 1)
     {
       throw stop_iteration();
     }
 
     // Random access iterator methods, but not required in Python
-    virtual ptrdiff_t distance(const SwigPyIterator &/*x*/) const
+    virtual ptrdiff_t distance(const PySwigIterator &x) const
     {
       throw std::invalid_argument("operation not supported");
     }
 
-    virtual bool equal (const SwigPyIterator &/*x*/) const
+    virtual bool equal (const PySwigIterator &x) const
     {
       throw std::invalid_argument("operation not supported");
     }
     
     // C++ common/needed methods
-    virtual SwigPyIterator *copy() const = 0;
+    virtual PySwigIterator *copy() const = 0;
 
-    PyObject *next()     
+    PyObject *next()
     {
-      SWIG_PYTHON_THREAD_BEGIN_BLOCK; // disable threads       
       PyObject *obj = value();
-      incr();       
-      SWIG_PYTHON_THREAD_END_BLOCK; // re-enable threads
-      return obj;     
-    }
-
-    /* Make an alias for Python 3.x */
-    PyObject *__next__()
-    {
-      return next();
+      incr();
+      return obj;
     }
 
     PyObject *previous()
     {
-      SWIG_PYTHON_THREAD_BEGIN_BLOCK; // disable threads       
       decr();
-      PyObject *obj = value();
-      SWIG_PYTHON_THREAD_END_BLOCK; // re-enable threads       
-      return obj;
+      return value();
     }
 
-    SwigPyIterator *advance(ptrdiff_t n)
+    PySwigIterator *advance(ptrdiff_t n)
     {
       return  (n > 0) ?  incr(n) : decr(-n);
     }
       
-    bool operator == (const SwigPyIterator& x)  const
+    bool operator == (const PySwigIterator& x)  const
     {
       return equal(x);
     }
       
-    bool operator != (const SwigPyIterator& x) const
+    bool operator != (const PySwigIterator& x) const
     {
       return ! operator==(x);
     }
       
-    SwigPyIterator& operator += (ptrdiff_t n)
+    PySwigIterator& operator += (ptrdiff_t n)
     {
       return *advance(n);
     }
 
-    SwigPyIterator& operator -= (ptrdiff_t n)
+    PySwigIterator& operator -= (ptrdiff_t n)
     {
       return *advance(-n);
     }
       
-    SwigPyIterator* operator + (ptrdiff_t n) const
+    PySwigIterator* operator + (ptrdiff_t n) const
     {
       return copy()->advance(n);
     }
 
-    SwigPyIterator* operator - (ptrdiff_t n) const
+    PySwigIterator* operator - (ptrdiff_t n) const
     {
       return copy()->advance(-n);
     }
       
-    ptrdiff_t operator - (const SwigPyIterator& x) const
+    ptrdiff_t operator - (const PySwigIterator& x) const
     {
       return x.distance(*this);
     }
@@ -2982,7 +2756,7 @@ namespace swig {
       static int init = 0;
       static swig_type_info* desc = 0;
       if (!init) {
-       desc = SWIG_TypeQuery("swig::SwigPyIterator *");
+       desc = SWIG_TypeQuery("swig::PySwigIterator *");
        init = 1;
       }        
       return desc;
@@ -3315,7 +3089,7 @@ namespace swig {
   struct traits_asptr {   
     static int asptr(PyObject *obj, Type **val) {
       Type *p;
-      int res = SWIG_ConvertPtr(obj, (void**)&p, type_info<Type>(), 0);
+      int res = (SWIG_ConvertPtr(obj, (void**)&p, type_info<Type>(), 0) == SWIG_OK) ? SWIG_OLDOBJ : 0;
       if (SWIG_IsOK(res)) {
        if (val) *val = p;
       }
@@ -3380,7 +3154,7 @@ namespace swig {
       int res = asval(obj, &v);
       if (!obj || !SWIG_IsOK(res)) {
        if (!PyErr_Occurred()) {
-         ::SWIG_Error(SWIG_TypeError,  swig::type_name<Type>());
+         SWIG_Error(SWIG_TypeError,  swig::type_name<Type>());
        }
        if (throw_error) throw std::invalid_argument("bad type");
       }
@@ -3470,38 +3244,27 @@ namespace std {
     { 
       bool res;
       SWIG_PYTHON_THREAD_BEGIN_BLOCK;
-      res = PyObject_RichCompareBool(v, w, Py_LT) ? true : false;
-      /* This may fall into a case of inconsistent
-               eg. ObjA > ObjX > ObjB
-               but ObjA < ObjB
-      */
-      if( PyErr_Occurred() && PyErr_ExceptionMatches(PyExc_TypeError) )
-      {
-        /* Objects can't be compared, this mostly occurred in Python 3.0 */
-        /* Compare their ptr directly for a workaround */
-        res = (v < w);
-        PyErr_Clear();
-      }
+      res = PyObject_Compare(v, w) < 0;
       SWIG_PYTHON_THREAD_END_BLOCK;
       return res;
     }
   };
 
   template <>
-  struct less <swig::SwigPtr_PyObject>: public binary_function<swig::SwigPtr_PyObject, swig::SwigPtr_PyObject, bool>
+  struct less <swig::PyObject_ptr>: public binary_function<swig::PyObject_ptr, swig::PyObject_ptr, bool>
   {
     bool
-    operator()(const swig::SwigPtr_PyObject& v, const swig::SwigPtr_PyObject& w) const
+    operator()(const swig::PyObject_ptr& v, const swig::PyObject_ptr& w) const
     {
       return std::less<PyObject *>()(v, w);
     }
   };
 
   template <>
-  struct less <swig::SwigVar_PyObject>: public binary_function<swig::SwigVar_PyObject, swig::SwigVar_PyObject, bool>
+  struct less <swig::PyObject_var>: public binary_function<swig::PyObject_var, swig::PyObject_var, bool>
   {
     bool
-    operator()(const swig::SwigVar_PyObject& v, const swig::SwigVar_PyObject& w) const
+    operator()(const swig::PyObject_var& v, const swig::PyObject_var& w) const
     {
       return std::less<PyObject *>()(v, w);
     }
@@ -3643,27 +3406,23 @@ namespace swig {
 }
 
 
-#if defined(__SUNPRO_CC) && defined(_RWSTD_VER)
-#  if !defined(SWIG_NO_STD_NOITERATOR_TRAITS_STL)
-#    define SWIG_STD_NOITERATOR_TRAITS_STL
-#  endif
-#endif
-
 #if !defined(SWIG_STD_NOITERATOR_TRAITS_STL)
 #include <iterator>
 #else
-namespace std {
+namespace std  {
   template <class Iterator>
   struct iterator_traits {
     typedef ptrdiff_t difference_type;
     typedef typename Iterator::value_type value_type;
   };
 
+#if defined(__SUNPRO_CC) && defined(_RWSTD_VER)
   template <class Iterator, class Category,class T, class Reference, class Pointer, class Distance>
   struct iterator_traits<__reverse_bi_iterator<Iterator,Category,T,Reference,Pointer,Distance> > {
     typedef Distance difference_type;
     typedef T value_type;
   };
+#endif  
 
   template <class T>
   struct iterator_traits<T*> {
@@ -3681,21 +3440,22 @@ namespace std {
     }
     return __n;
   }
-}
+
+} 
 #endif
 
 
 namespace swig {
   template<typename OutIterator>
-  class SwigPyIterator_T :  public SwigPyIterator
+  class PySwigIterator_T :  public PySwigIterator
   {
   public:
     typedef OutIterator out_iterator;
     typedef typename std::iterator_traits<out_iterator>::value_type value_type;    
-    typedef SwigPyIterator_T<out_iterator> self_type;
+    typedef PySwigIterator_T<out_iterator> self_type;
 
-    SwigPyIterator_T(out_iterator curr, PyObject *seq)
-      : SwigPyIterator(seq), current(curr)
+    PySwigIterator_T(out_iterator curr, PyObject *seq)
+      : PySwigIterator(seq), current(curr)
     {
     }
 
@@ -3705,7 +3465,7 @@ namespace swig {
     }
 
     
-    bool equal (const SwigPyIterator &iter) const
+    bool equal (const PySwigIterator &iter) const
     {
       const self_type *iters = dynamic_cast<const self_type *>(&iter);
       if (iters) {
@@ -3715,7 +3475,7 @@ namespace swig {
       }
     }
     
-    ptrdiff_t distance(const SwigPyIterator &iter) const
+    ptrdiff_t distance(const PySwigIterator &iter) const
     {
       const self_type *iters = dynamic_cast<const self_type *>(&iter);
       if (iters) {
@@ -3743,17 +3503,17 @@ namespace swig {
   template<typename OutIterator, 
           typename ValueType = typename std::iterator_traits<OutIterator>::value_type,
           typename FromOper = from_oper<ValueType> >
-  class SwigPyIteratorOpen_T :  public SwigPyIterator_T<OutIterator>
+  class PySwigIteratorOpen_T :  public PySwigIterator_T<OutIterator>
   {
   public:
     FromOper from;
     typedef OutIterator out_iterator;
     typedef ValueType value_type;
-    typedef SwigPyIterator_T<out_iterator>  base;
-    typedef SwigPyIteratorOpen_T<OutIterator, ValueType, FromOper> self_type;
+    typedef PySwigIterator_T<out_iterator>  base;
+    typedef PySwigIteratorOpen_T<OutIterator, ValueType, FromOper> self_type;
     
-    SwigPyIteratorOpen_T(out_iterator curr, PyObject *seq)
-      : SwigPyIterator_T<OutIterator>(curr, seq)
+    PySwigIteratorOpen_T(out_iterator curr, PyObject *seq)
+      : PySwigIterator_T<OutIterator>(curr, seq)
     {
     }
     
@@ -3761,12 +3521,12 @@ namespace swig {
       return from(static_cast<const value_type&>(*(base::current)));
     }
     
-    SwigPyIterator *copy() const
+    PySwigIterator *copy() const
     {
       return new self_type(*this);
     }
 
-    SwigPyIterator *incr(size_t n = 1)
+    PySwigIterator *incr(size_t n = 1)
     {
       while (n--) {
        ++base::current;
@@ -3774,7 +3534,7 @@ namespace swig {
       return this;
     }
 
-    SwigPyIterator *decr(size_t n = 1)
+    PySwigIterator *decr(size_t n = 1)
     {
       while (n--) {
        --base::current;
@@ -3786,17 +3546,17 @@ namespace swig {
   template<typename OutIterator, 
           typename ValueType = typename std::iterator_traits<OutIterator>::value_type,
           typename FromOper = from_oper<ValueType> >
-  class SwigPyIteratorClosed_T :  public SwigPyIterator_T<OutIterator>
+  class PySwigIteratorClosed_T :  public PySwigIterator_T<OutIterator>
   {
   public:
     FromOper from;
     typedef OutIterator out_iterator;
     typedef ValueType value_type;
-    typedef SwigPyIterator_T<out_iterator>  base;    
-    typedef SwigPyIteratorClosed_T<OutIterator, ValueType, FromOper> self_type;
+    typedef PySwigIterator_T<out_iterator>  base;    
+    typedef PySwigIteratorClosed_T<OutIterator, ValueType, FromOper> self_type;
     
-    SwigPyIteratorClosed_T(out_iterator curr, out_iterator first, out_iterator last, PyObject *seq)
-      : SwigPyIterator_T<OutIterator>(curr, seq), begin(first), end(last)
+    PySwigIteratorClosed_T(out_iterator curr, out_iterator first, out_iterator last, PyObject *seq)
+      : PySwigIterator_T<OutIterator>(curr, seq), begin(first), end(last)
     {
     }
     
@@ -3808,12 +3568,12 @@ namespace swig {
       }
     }
     
-    SwigPyIterator *copy() const
+    PySwigIterator *copy() const
     {
       return new self_type(*this);
     }
 
-    SwigPyIterator *incr(size_t n = 1)
+    PySwigIterator *incr(size_t n = 1)
     {
       while (n--) {
        if (base::current == end) {
@@ -3825,7 +3585,7 @@ namespace swig {
       return this;
     }
 
-    SwigPyIterator *decr(size_t n = 1)
+    PySwigIterator *decr(size_t n = 1)
     {
       while (n--) {
        if (base::current == begin) {
@@ -3843,17 +3603,17 @@ namespace swig {
   };
 
   template<typename OutIter>
-  inline SwigPyIterator*
+  inline PySwigIterator*
   make_output_iterator(const OutIter& current, const OutIter& begin,const OutIter& end, PyObject *seq = 0)
   {
-    return new SwigPyIteratorClosed_T<OutIter>(current, begin, end, seq);
+    return new PySwigIteratorClosed_T<OutIter>(current, begin, end, seq);
   }
 
   template<typename OutIter>
-  inline SwigPyIterator*
+  inline PySwigIterator*
   make_output_iterator(const OutIter& current, PyObject *seq = 0)
   {
-    return new SwigPyIteratorOpen_T<OutIter>(current, seq);
+    return new PySwigIteratorOpen_T<OutIter>(current, seq);
   }
 }
 
@@ -3861,23 +3621,23 @@ namespace swig {
 namespace swig
 {
   template <class T>
-  struct SwigPySequence_Ref
+  struct PySequence_Ref
   {
-    SwigPySequence_Ref(PyObject* seq, int index)
+    PySequence_Ref(PyObject* seq, int index)
       : _seq(seq), _index(index)
     {
     }
     
     operator T () const
     {
-      swig::SwigVar_PyObject item = PySequence_GetItem(_seq, _index);
+      swig::PyObject_var item = PySequence_GetItem(_seq, _index);
       try {
        return swig::as<T>(item, true);
       } catch (std::exception& e) {
        char msg[1024];
        sprintf(msg, "in sequence element %d ", _index);
        if (!PyErr_Occurred()) {
-         ::SWIG_Error(SWIG_TypeError,  swig::type_name<T>());
+         SWIG_Error(SWIG_TypeError,  swig::type_name<T>());
        }
        SWIG_Python_AddErrorMsg(msg);
        SWIG_Python_AddErrorMsg(e.what());
@@ -3885,7 +3645,7 @@ namespace swig
       }
     }
 
-    SwigPySequence_Ref& operator=(const T& v)
+    PySequence_Ref& operator=(const T& v)
     {
       PySequence_SetItem(_seq, _index, swig::from<T>(v));
       return *this;
@@ -3897,18 +3657,18 @@ namespace swig
   };
 
   template <class T>
-  struct SwigPySequence_ArrowProxy
+  struct PySequence_ArrowProxy
   {
-    SwigPySequence_ArrowProxy(const T& x): m_value(x) {}
+    PySequence_ArrowProxy(const T& x): m_value(x) {}
     const T* operator->() const { return &m_value; }
     operator const T*() const { return &m_value; }
     T m_value;
   };
 
   template <class T, class Reference >
-  struct SwigPySequence_InputIterator
+  struct PySequence_InputIterator
   {
-    typedef SwigPySequence_InputIterator<T, Reference > self;
+    typedef PySequence_InputIterator<T, Reference > self;
 
     typedef std::random_access_iterator_tag iterator_category;
     typedef Reference reference;
@@ -3916,11 +3676,11 @@ namespace swig
     typedef T* pointer;
     typedef int difference_type;
 
-    SwigPySequence_InputIterator()
+    PySequence_InputIterator()
     {
     }
 
-    SwigPySequence_InputIterator(PyObject* seq, int index)
+    PySequence_InputIterator(PyObject* seq, int index)
       : _seq(seq), _index(index)
     {
     }
@@ -3930,9 +3690,9 @@ namespace swig
       return reference(_seq, _index);
     }
 
-    SwigPySequence_ArrowProxy<T>
+    PySequence_ArrowProxy<T>
     operator->() const {
-      return SwigPySequence_ArrowProxy<T>(operator*());
+      return PySequence_ArrowProxy<T>(operator*());
     }
 
     bool operator==(const self& ri) const
@@ -4001,19 +3761,19 @@ namespace swig
   };
 
   template <class T>
-  struct SwigPySequence_Cont
+  struct PySequence_Cont
   {
-    typedef SwigPySequence_Ref<T> reference;
-    typedef const SwigPySequence_Ref<T> const_reference;
+    typedef PySequence_Ref<T> reference;
+    typedef const PySequence_Ref<T> const_reference;
     typedef T value_type;
     typedef T* pointer;
     typedef int difference_type;
     typedef int size_type;
     typedef const pointer const_pointer;
-    typedef SwigPySequence_InputIterator<T, reference> iterator;
-    typedef SwigPySequence_InputIterator<T, const_reference> const_iterator;
+    typedef PySequence_InputIterator<T, reference> iterator;
+    typedef PySequence_InputIterator<T, const_reference> const_iterator;
 
-    SwigPySequence_Cont(PyObject* seq) : _seq(0)
+    PySequence_Cont(PyObject* seq) : _seq(0)
     {
       if (!PySequence_Check(seq)) {
        throw std::invalid_argument("a sequence is expected");
@@ -4022,14 +3782,14 @@ namespace swig
       Py_INCREF(_seq);
     }
 
-    ~SwigPySequence_Cont()
+    ~PySequence_Cont()
     {
-      Py_XDECREF(_seq);
+      if (_seq) Py_DECREF(_seq);
     }
 
     size_type size() const
     {
-      return static_cast<size_type>(PySequence_Size(_seq));
+      return PySequence_Size(_seq);
     }
 
     bool empty() const
@@ -4071,7 +3831,7 @@ namespace swig
     {
       int s = size();
       for (int i = 0; i < s; ++i) {
-       swig::SwigVar_PyObject item = PySequence_GetItem(_seq, i);
+       swig::PyObject_var item = PySequence_GetItem(_seq, i);
        if (!swig::check<value_type>(item)) {
          if (set_err) {
            char msg[1024];
@@ -4100,15 +3860,18 @@ namespace swig
 
 
 namespace swig {
-  template <class SwigPySeq, class Seq>
+  template <class PySeq, class Seq>
   inline void
-  assign(const SwigPySeq& swigpyseq, Seq* seq) {
-    // seq->assign(swigpyseq.begin(), swigpyseq.end()); // not used as not always implemented
-    typedef typename SwigPySeq::value_type value_type;
-    typename SwigPySeq::const_iterator it = swigpyseq.begin();
-    for (;it != swigpyseq.end(); ++it) {
+  assign(const PySeq& pyseq, Seq* seq) {
+#ifdef SWIG_STD_NOASSIGN_STL
+    typedef typename PySeq::value_type value_type;
+    typename PySeq::const_iterator it = pyseq.begin();
+    for (;it != pyseq.end(); ++it) {
       seq->insert(seq->end(),(value_type)(*it));
     }
+#else
+    seq->assign(pyseq.begin(), pyseq.end());
+#endif
   }
 
   template <class Seq, class T = typename Seq::value_type >
@@ -4117,23 +3880,16 @@ namespace swig {
     typedef T value_type;
 
     static int asptr(PyObject *obj, sequence **seq) {
-      if (obj == Py_None || SWIG_Python_GetSwigThis(obj)) {
-       sequence *p;
-       if (::SWIG_ConvertPtr(obj,(void**)&p,
-                             swig::type_info<sequence>(),0) == SWIG_OK) {
-         if (seq) *seq = p;
-         return SWIG_OLDOBJ;
-       }
-      } else if (PySequence_Check(obj)) {
+      if (PySequence_Check(obj)) {
        try {
-         SwigPySequence_Cont<value_type> swigpyseq(obj);
+         PySequence_Cont<value_type> pyseq(obj);
          if (seq) {
            sequence *pseq = new sequence();
-           assign(swigpyseq, pseq);
+           assign(pyseq, pseq);
            *seq = pseq;
            return SWIG_NEWOBJ;
          } else {
-           return swigpyseq.check() ? SWIG_OK : SWIG_ERROR;
+           return pyseq.check() ? SWIG_OK : SWIG_ERROR;
          }
        } catch (std::exception& e) {
          if (seq) {
@@ -4143,6 +3899,13 @@ namespace swig {
          }
          return SWIG_ERROR;
        }
+      } else {
+       sequence *p;
+       if (SWIG_ConvertPtr(obj,(void**)&p,
+                           swig::type_info<sequence>(),0) == SWIG_OK) {
+         if (seq) *seq = p;
+         return SWIG_OLDOBJ;
+       }
       }
       return SWIG_ERROR;
     }
@@ -4156,12 +3919,12 @@ namespace swig {
     typedef typename sequence::const_iterator const_iterator;
 
     static PyObject *from(const sequence& seq) {
-#ifdef SWIG_PYTHON_EXTRA_NATIVE_CONTAINERS
-      swig_type_info *desc = swig::type_info<sequence>();
-      if (desc && desc->clientdata) {
-       return SWIG_NewPointerObj(new sequence(seq), desc, SWIG_POINTER_OWN);
-      }
-#endif
+
+
+
+
+
+
       size_type size = seq.size();
       if (size <= (size_type)INT_MAX) {
        PyObject *obj = PyTuple_New((int)size);
@@ -4198,24 +3961,21 @@ namespace swig {
 
 
       namespace swig {
-       template <>  struct traits<std::vector<Hex::Hexa*, std::allocator< Hex::Hexa * > > > {
+       template <>  struct traits<std::vector<Hex::Hexa*, std::allocator<Hex::Hexa * > > > {
          typedef value_category category;
          static const char* type_name() {
-           return "std::vector<" "Hex::Hexa" " *," "std::allocator< Hex::Hexa * >" " >";
+           return "std::vector<" "Hex::Hexa" " *," "std::allocator<Hex::Hexa * >" " >";
          }
        };
       }
     
-SWIGINTERN swig::SwigPyIterator *std_vector_Sl_Hex_Hexa_Sm__Sg__iterator(std::vector< Hex::Hexa * > *self,PyObject **PYTHON_SELF){
+SWIGINTERN swig::PySwigIterator *std_vector_Sl_Hex_Hexa_Sm__Sg__iterator(std::vector<Hex::Hexa * > *self,PyObject **PYTHON_SELF){
       return swig::make_output_iterator(self->begin(), self->begin(), self->end(), *PYTHON_SELF);
     }
-SWIGINTERN bool std_vector_Sl_Hex_Hexa_Sm__Sg____nonzero__(std::vector< Hex::Hexa * > const *self){
-      return !(self->empty());
-    }
-SWIGINTERN bool std_vector_Sl_Hex_Hexa_Sm__Sg____bool__(std::vector< Hex::Hexa * > const *self){
+SWIGINTERN bool std_vector_Sl_Hex_Hexa_Sm__Sg____nonzero__(std::vector<Hex::Hexa * > const *self){
       return !(self->empty());
     }
-SWIGINTERN std::vector< Hex::Hexa * >::size_type std_vector_Sl_Hex_Hexa_Sm__Sg____len__(std::vector< Hex::Hexa * > const *self){
+SWIGINTERN std::vector<Hex::Hexa * >::size_type std_vector_Sl_Hex_Hexa_Sm__Sg____len__(std::vector<Hex::Hexa * > const *self){
       return self->size();
     }
 
@@ -4233,59 +3993,32 @@ SWIG_From_size_t  (size_t value)
   return SWIG_From_unsigned_SS_long  (static_cast< unsigned long >(value));
 }
 
-SWIGINTERN std::vector< Hex::Hexa * >::value_type std_vector_Sl_Hex_Hexa_Sm__Sg__pop(std::vector< Hex::Hexa * > *self){
+SWIGINTERN std::vector<Hex::Hexa * >::value_type std_vector_Sl_Hex_Hexa_Sm__Sg__pop(std::vector<Hex::Hexa * > *self){
       if (self->size() == 0)
        throw std::out_of_range("pop from empty container");
-      std::vector<Hex::Hexa*,std::allocator< Hex::Hexa * > >::value_type x = self->back();
+      std::vector<Hex::Hexa*,std::allocator<Hex::Hexa * > >::value_type x = self->back();
       self->pop_back();
       return x;
     }
-SWIGINTERN std::vector< Hex::Hexa *,std::allocator< Hex::Hexa * > > *std_vector_Sl_Hex_Hexa_Sm__Sg____getslice__(std::vector< Hex::Hexa * > *self,std::vector< Hex::Hexa * >::difference_type i,std::vector< Hex::Hexa * >::difference_type j){
+SWIGINTERN std::vector<Hex::Hexa *,std::allocator<Hex::Hexa * > > *std_vector_Sl_Hex_Hexa_Sm__Sg____getslice__(std::vector<Hex::Hexa * > *self,std::vector<Hex::Hexa * >::difference_type i,std::vector<Hex::Hexa * >::difference_type j){
       return swig::getslice(self, i, j);
     }
-SWIGINTERN void std_vector_Sl_Hex_Hexa_Sm__Sg____setslice__(std::vector< Hex::Hexa * > *self,std::vector< Hex::Hexa * >::difference_type i,std::vector< Hex::Hexa * >::difference_type j,std::vector< Hex::Hexa *,std::allocator< Hex::Hexa * > > const &v){
+SWIGINTERN void std_vector_Sl_Hex_Hexa_Sm__Sg____setslice__(std::vector<Hex::Hexa * > *self,std::vector<Hex::Hexa * >::difference_type i,std::vector<Hex::Hexa * >::difference_type j,std::vector<Hex::Hexa *,std::allocator<Hex::Hexa * > > const &v){
       swig::setslice(self, i, j, v);
     }
-SWIGINTERN void std_vector_Sl_Hex_Hexa_Sm__Sg____delslice__(std::vector< Hex::Hexa * > *self,std::vector< Hex::Hexa * >::difference_type i,std::vector< Hex::Hexa * >::difference_type j){
+SWIGINTERN void std_vector_Sl_Hex_Hexa_Sm__Sg____delslice__(std::vector<Hex::Hexa * > *self,std::vector<Hex::Hexa * >::difference_type i,std::vector<Hex::Hexa * >::difference_type j){
       swig::delslice(self, i, j);
     }
-SWIGINTERN void std_vector_Sl_Hex_Hexa_Sm__Sg____delitem____SWIG_0(std::vector< Hex::Hexa * > *self,std::vector< Hex::Hexa * >::difference_type i){
+SWIGINTERN void std_vector_Sl_Hex_Hexa_Sm__Sg____delitem__(std::vector<Hex::Hexa * > *self,std::vector<Hex::Hexa * >::difference_type i){
       self->erase(swig::getpos(self,i));
     }
-SWIGINTERN std::vector< Hex::Hexa *,std::allocator< Hex::Hexa * > > *std_vector_Sl_Hex_Hexa_Sm__Sg____getitem____SWIG_0(std::vector< Hex::Hexa * > *self,PySliceObject *slice){
-      Py_ssize_t i, j, step;
-      if( !PySlice_Check(slice) ) {
-        SWIG_Error(SWIG_TypeError, "Slice object expected.");
-        return NULL;
-      }
-      PySlice_GetIndices(slice, self->size(), &i, &j, &step);
-      return swig::getslice(self, i, j);
-    }
-SWIGINTERN void std_vector_Sl_Hex_Hexa_Sm__Sg____setitem____SWIG_0(std::vector< Hex::Hexa * > *self,PySliceObject *slice,std::vector< Hex::Hexa *,std::allocator< Hex::Hexa * > > const &v){
-      Py_ssize_t i, j, step;
-      if( !PySlice_Check(slice) ) {
-        SWIG_Error(SWIG_TypeError, "Slice object expected.");
-        return;
-      }
-      PySlice_GetIndices(slice, self->size(), &i, &j, &step);
-      swig::setslice(self, i, j, v);
-    }
-SWIGINTERN void std_vector_Sl_Hex_Hexa_Sm__Sg____delitem____SWIG_1(std::vector< Hex::Hexa * > *self,PySliceObject *slice){
-      Py_ssize_t i, j, step;
-      if( !PySlice_Check(slice) ) {
-        SWIG_Error(SWIG_TypeError, "Slice object expected.");
-        return;
-      }
-      PySlice_GetIndices(slice, self->size(), &i, &j, &step);
-      swig::delslice(self, i,j);
-    }
-SWIGINTERN std::vector< Hex::Hexa * >::value_type std_vector_Sl_Hex_Hexa_Sm__Sg____getitem____SWIG_1(std::vector< Hex::Hexa * > *self,std::vector< Hex::Hexa * >::difference_type i){
+SWIGINTERN std::vector<Hex::Hexa * >::value_type std_vector_Sl_Hex_Hexa_Sm__Sg____getitem__(std::vector<Hex::Hexa * > *self,std::vector<Hex::Hexa * >::difference_type i){
       return *(swig::cgetpos(self, i));
     }
-SWIGINTERN void std_vector_Sl_Hex_Hexa_Sm__Sg____setitem____SWIG_1(std::vector< Hex::Hexa * > *self,std::vector< Hex::Hexa * >::difference_type i,std::vector< Hex::Hexa * >::value_type x){
+SWIGINTERN void std_vector_Sl_Hex_Hexa_Sm__Sg____setitem__(std::vector<Hex::Hexa * > *self,std::vector<Hex::Hexa * >::difference_type i,std::vector<Hex::Hexa * >::value_type x){
       *(swig::getpos(self,i)) = x;
     }
-SWIGINTERN void std_vector_Sl_Hex_Hexa_Sm__Sg__append(std::vector< Hex::Hexa * > *self,std::vector< Hex::Hexa * >::value_type x){
+SWIGINTERN void std_vector_Sl_Hex_Hexa_Sm__Sg__append(std::vector<Hex::Hexa * > *self,std::vector<Hex::Hexa * >::value_type x){
       self->push_back(x);
     }
 
@@ -4298,79 +4031,49 @@ SWIGINTERN void std_vector_Sl_Hex_Hexa_Sm__Sg__append(std::vector< Hex::Hexa * >
 
 
       namespace swig {
-       template <>  struct traits<std::vector<Hex::Quad*, std::allocator< Hex::Quad * > > > {
+       template <>  struct traits<std::vector<Hex::Quad*, std::allocator<Hex::Quad * > > > {
          typedef value_category category;
          static const char* type_name() {
-           return "std::vector<" "Hex::Quad" " *," "std::allocator< Hex::Quad * >" " >";
+           return "std::vector<" "Hex::Quad" " *," "std::allocator<Hex::Quad * >" " >";
          }
        };
       }
     
-SWIGINTERN swig::SwigPyIterator *std_vector_Sl_Hex_Quad_Sm__Sg__iterator(std::vector< Hex::Quad * > *self,PyObject **PYTHON_SELF){
+SWIGINTERN swig::PySwigIterator *std_vector_Sl_Hex_Quad_Sm__Sg__iterator(std::vector<Hex::Quad * > *self,PyObject **PYTHON_SELF){
       return swig::make_output_iterator(self->begin(), self->begin(), self->end(), *PYTHON_SELF);
     }
-SWIGINTERN bool std_vector_Sl_Hex_Quad_Sm__Sg____nonzero__(std::vector< Hex::Quad * > const *self){
-      return !(self->empty());
-    }
-SWIGINTERN bool std_vector_Sl_Hex_Quad_Sm__Sg____bool__(std::vector< Hex::Quad * > const *self){
+SWIGINTERN bool std_vector_Sl_Hex_Quad_Sm__Sg____nonzero__(std::vector<Hex::Quad * > const *self){
       return !(self->empty());
     }
-SWIGINTERN std::vector< Hex::Quad * >::size_type std_vector_Sl_Hex_Quad_Sm__Sg____len__(std::vector< Hex::Quad * > const *self){
+SWIGINTERN std::vector<Hex::Quad * >::size_type std_vector_Sl_Hex_Quad_Sm__Sg____len__(std::vector<Hex::Quad * > const *self){
       return self->size();
     }
-SWIGINTERN std::vector< Hex::Quad * >::value_type std_vector_Sl_Hex_Quad_Sm__Sg__pop(std::vector< Hex::Quad * > *self){
+SWIGINTERN std::vector<Hex::Quad * >::value_type std_vector_Sl_Hex_Quad_Sm__Sg__pop(std::vector<Hex::Quad * > *self){
       if (self->size() == 0)
        throw std::out_of_range("pop from empty container");
-      std::vector<Hex::Quad*,std::allocator< Hex::Quad * > >::value_type x = self->back();
+      std::vector<Hex::Quad*,std::allocator<Hex::Quad * > >::value_type x = self->back();
       self->pop_back();
       return x;
     }
-SWIGINTERN std::vector< Hex::Quad *,std::allocator< Hex::Quad * > > *std_vector_Sl_Hex_Quad_Sm__Sg____getslice__(std::vector< Hex::Quad * > *self,std::vector< Hex::Quad * >::difference_type i,std::vector< Hex::Quad * >::difference_type j){
+SWIGINTERN std::vector<Hex::Quad *,std::allocator<Hex::Quad * > > *std_vector_Sl_Hex_Quad_Sm__Sg____getslice__(std::vector<Hex::Quad * > *self,std::vector<Hex::Quad * >::difference_type i,std::vector<Hex::Quad * >::difference_type j){
       return swig::getslice(self, i, j);
     }
-SWIGINTERN void std_vector_Sl_Hex_Quad_Sm__Sg____setslice__(std::vector< Hex::Quad * > *self,std::vector< Hex::Quad * >::difference_type i,std::vector< Hex::Quad * >::difference_type j,std::vector< Hex::Quad *,std::allocator< Hex::Quad * > > const &v){
+SWIGINTERN void std_vector_Sl_Hex_Quad_Sm__Sg____setslice__(std::vector<Hex::Quad * > *self,std::vector<Hex::Quad * >::difference_type i,std::vector<Hex::Quad * >::difference_type j,std::vector<Hex::Quad *,std::allocator<Hex::Quad * > > const &v){
       swig::setslice(self, i, j, v);
     }
-SWIGINTERN void std_vector_Sl_Hex_Quad_Sm__Sg____delslice__(std::vector< Hex::Quad * > *self,std::vector< Hex::Quad * >::difference_type i,std::vector< Hex::Quad * >::difference_type j){
+SWIGINTERN void std_vector_Sl_Hex_Quad_Sm__Sg____delslice__(std::vector<Hex::Quad * > *self,std::vector<Hex::Quad * >::difference_type i,std::vector<Hex::Quad * >::difference_type j){
       swig::delslice(self, i, j);
     }
-SWIGINTERN void std_vector_Sl_Hex_Quad_Sm__Sg____delitem____SWIG_0(std::vector< Hex::Quad * > *self,std::vector< Hex::Quad * >::difference_type i){
+SWIGINTERN void std_vector_Sl_Hex_Quad_Sm__Sg____delitem__(std::vector<Hex::Quad * > *self,std::vector<Hex::Quad * >::difference_type i){
       self->erase(swig::getpos(self,i));
     }
-SWIGINTERN std::vector< Hex::Quad *,std::allocator< Hex::Quad * > > *std_vector_Sl_Hex_Quad_Sm__Sg____getitem____SWIG_0(std::vector< Hex::Quad * > *self,PySliceObject *slice){
-      Py_ssize_t i, j, step;
-      if( !PySlice_Check(slice) ) {
-        SWIG_Error(SWIG_TypeError, "Slice object expected.");
-        return NULL;
-      }
-      PySlice_GetIndices(slice, self->size(), &i, &j, &step);
-      return swig::getslice(self, i, j);
-    }
-SWIGINTERN void std_vector_Sl_Hex_Quad_Sm__Sg____setitem____SWIG_0(std::vector< Hex::Quad * > *self,PySliceObject *slice,std::vector< Hex::Quad *,std::allocator< Hex::Quad * > > const &v){
-      Py_ssize_t i, j, step;
-      if( !PySlice_Check(slice) ) {
-        SWIG_Error(SWIG_TypeError, "Slice object expected.");
-        return;
-      }
-      PySlice_GetIndices(slice, self->size(), &i, &j, &step);
-      swig::setslice(self, i, j, v);
-    }
-SWIGINTERN void std_vector_Sl_Hex_Quad_Sm__Sg____delitem____SWIG_1(std::vector< Hex::Quad * > *self,PySliceObject *slice){
-      Py_ssize_t i, j, step;
-      if( !PySlice_Check(slice) ) {
-        SWIG_Error(SWIG_TypeError, "Slice object expected.");
-        return;
-      }
-      PySlice_GetIndices(slice, self->size(), &i, &j, &step);
-      swig::delslice(self, i,j);
-    }
-SWIGINTERN std::vector< Hex::Quad * >::value_type std_vector_Sl_Hex_Quad_Sm__Sg____getitem____SWIG_1(std::vector< Hex::Quad * > *self,std::vector< Hex::Quad * >::difference_type i){
+SWIGINTERN std::vector<Hex::Quad * >::value_type std_vector_Sl_Hex_Quad_Sm__Sg____getitem__(std::vector<Hex::Quad * > *self,std::vector<Hex::Quad * >::difference_type i){
       return *(swig::cgetpos(self, i));
     }
-SWIGINTERN void std_vector_Sl_Hex_Quad_Sm__Sg____setitem____SWIG_1(std::vector< Hex::Quad * > *self,std::vector< Hex::Quad * >::difference_type i,std::vector< Hex::Quad * >::value_type x){
+SWIGINTERN void std_vector_Sl_Hex_Quad_Sm__Sg____setitem__(std::vector<Hex::Quad * > *self,std::vector<Hex::Quad * >::difference_type i,std::vector<Hex::Quad * >::value_type x){
       *(swig::getpos(self,i)) = x;
     }
-SWIGINTERN void std_vector_Sl_Hex_Quad_Sm__Sg__append(std::vector< Hex::Quad * > *self,std::vector< Hex::Quad * >::value_type x){
+SWIGINTERN void std_vector_Sl_Hex_Quad_Sm__Sg__append(std::vector<Hex::Quad * > *self,std::vector<Hex::Quad * >::value_type x){
       self->push_back(x);
     }
 
@@ -4383,79 +4086,49 @@ SWIGINTERN void std_vector_Sl_Hex_Quad_Sm__Sg__append(std::vector< Hex::Quad * >
 
 
       namespace swig {
-       template <>  struct traits<std::vector<Hex::Edge*, std::allocator< Hex::Edge * > > > {
+       template <>  struct traits<std::vector<Hex::Edge*, std::allocator<Hex::Edge * > > > {
          typedef value_category category;
          static const char* type_name() {
-           return "std::vector<" "Hex::Edge" " *," "std::allocator< Hex::Edge * >" " >";
+           return "std::vector<" "Hex::Edge" " *," "std::allocator<Hex::Edge * >" " >";
          }
        };
       }
     
-SWIGINTERN swig::SwigPyIterator *std_vector_Sl_Hex_Edge_Sm__Sg__iterator(std::vector< Hex::Edge * > *self,PyObject **PYTHON_SELF){
+SWIGINTERN swig::PySwigIterator *std_vector_Sl_Hex_Edge_Sm__Sg__iterator(std::vector<Hex::Edge * > *self,PyObject **PYTHON_SELF){
       return swig::make_output_iterator(self->begin(), self->begin(), self->end(), *PYTHON_SELF);
     }
-SWIGINTERN bool std_vector_Sl_Hex_Edge_Sm__Sg____nonzero__(std::vector< Hex::Edge * > const *self){
-      return !(self->empty());
-    }
-SWIGINTERN bool std_vector_Sl_Hex_Edge_Sm__Sg____bool__(std::vector< Hex::Edge * > const *self){
+SWIGINTERN bool std_vector_Sl_Hex_Edge_Sm__Sg____nonzero__(std::vector<Hex::Edge * > const *self){
       return !(self->empty());
     }
-SWIGINTERN std::vector< Hex::Edge * >::size_type std_vector_Sl_Hex_Edge_Sm__Sg____len__(std::vector< Hex::Edge * > const *self){
+SWIGINTERN std::vector<Hex::Edge * >::size_type std_vector_Sl_Hex_Edge_Sm__Sg____len__(std::vector<Hex::Edge * > const *self){
       return self->size();
     }
-SWIGINTERN std::vector< Hex::Edge * >::value_type std_vector_Sl_Hex_Edge_Sm__Sg__pop(std::vector< Hex::Edge * > *self){
+SWIGINTERN std::vector<Hex::Edge * >::value_type std_vector_Sl_Hex_Edge_Sm__Sg__pop(std::vector<Hex::Edge * > *self){
       if (self->size() == 0)
        throw std::out_of_range("pop from empty container");
-      std::vector<Hex::Edge*,std::allocator< Hex::Edge * > >::value_type x = self->back();
+      std::vector<Hex::Edge*,std::allocator<Hex::Edge * > >::value_type x = self->back();
       self->pop_back();
       return x;
     }
-SWIGINTERN std::vector< Hex::Edge *,std::allocator< Hex::Edge * > > *std_vector_Sl_Hex_Edge_Sm__Sg____getslice__(std::vector< Hex::Edge * > *self,std::vector< Hex::Edge * >::difference_type i,std::vector< Hex::Edge * >::difference_type j){
+SWIGINTERN std::vector<Hex::Edge *,std::allocator<Hex::Edge * > > *std_vector_Sl_Hex_Edge_Sm__Sg____getslice__(std::vector<Hex::Edge * > *self,std::vector<Hex::Edge * >::difference_type i,std::vector<Hex::Edge * >::difference_type j){
       return swig::getslice(self, i, j);
     }
-SWIGINTERN void std_vector_Sl_Hex_Edge_Sm__Sg____setslice__(std::vector< Hex::Edge * > *self,std::vector< Hex::Edge * >::difference_type i,std::vector< Hex::Edge * >::difference_type j,std::vector< Hex::Edge *,std::allocator< Hex::Edge * > > const &v){
+SWIGINTERN void std_vector_Sl_Hex_Edge_Sm__Sg____setslice__(std::vector<Hex::Edge * > *self,std::vector<Hex::Edge * >::difference_type i,std::vector<Hex::Edge * >::difference_type j,std::vector<Hex::Edge *,std::allocator<Hex::Edge * > > const &v){
       swig::setslice(self, i, j, v);
     }
-SWIGINTERN void std_vector_Sl_Hex_Edge_Sm__Sg____delslice__(std::vector< Hex::Edge * > *self,std::vector< Hex::Edge * >::difference_type i,std::vector< Hex::Edge * >::difference_type j){
+SWIGINTERN void std_vector_Sl_Hex_Edge_Sm__Sg____delslice__(std::vector<Hex::Edge * > *self,std::vector<Hex::Edge * >::difference_type i,std::vector<Hex::Edge * >::difference_type j){
       swig::delslice(self, i, j);
     }
-SWIGINTERN void std_vector_Sl_Hex_Edge_Sm__Sg____delitem____SWIG_0(std::vector< Hex::Edge * > *self,std::vector< Hex::Edge * >::difference_type i){
+SWIGINTERN void std_vector_Sl_Hex_Edge_Sm__Sg____delitem__(std::vector<Hex::Edge * > *self,std::vector<Hex::Edge * >::difference_type i){
       self->erase(swig::getpos(self,i));
     }
-SWIGINTERN std::vector< Hex::Edge *,std::allocator< Hex::Edge * > > *std_vector_Sl_Hex_Edge_Sm__Sg____getitem____SWIG_0(std::vector< Hex::Edge * > *self,PySliceObject *slice){
-      Py_ssize_t i, j, step;
-      if( !PySlice_Check(slice) ) {
-        SWIG_Error(SWIG_TypeError, "Slice object expected.");
-        return NULL;
-      }
-      PySlice_GetIndices(slice, self->size(), &i, &j, &step);
-      return swig::getslice(self, i, j);
-    }
-SWIGINTERN void std_vector_Sl_Hex_Edge_Sm__Sg____setitem____SWIG_0(std::vector< Hex::Edge * > *self,PySliceObject *slice,std::vector< Hex::Edge *,std::allocator< Hex::Edge * > > const &v){
-      Py_ssize_t i, j, step;
-      if( !PySlice_Check(slice) ) {
-        SWIG_Error(SWIG_TypeError, "Slice object expected.");
-        return;
-      }
-      PySlice_GetIndices(slice, self->size(), &i, &j, &step);
-      swig::setslice(self, i, j, v);
-    }
-SWIGINTERN void std_vector_Sl_Hex_Edge_Sm__Sg____delitem____SWIG_1(std::vector< Hex::Edge * > *self,PySliceObject *slice){
-      Py_ssize_t i, j, step;
-      if( !PySlice_Check(slice) ) {
-        SWIG_Error(SWIG_TypeError, "Slice object expected.");
-        return;
-      }
-      PySlice_GetIndices(slice, self->size(), &i, &j, &step);
-      swig::delslice(self, i,j);
-    }
-SWIGINTERN std::vector< Hex::Edge * >::value_type std_vector_Sl_Hex_Edge_Sm__Sg____getitem____SWIG_1(std::vector< Hex::Edge * > *self,std::vector< Hex::Edge * >::difference_type i){
+SWIGINTERN std::vector<Hex::Edge * >::value_type std_vector_Sl_Hex_Edge_Sm__Sg____getitem__(std::vector<Hex::Edge * > *self,std::vector<Hex::Edge * >::difference_type i){
       return *(swig::cgetpos(self, i));
     }
-SWIGINTERN void std_vector_Sl_Hex_Edge_Sm__Sg____setitem____SWIG_1(std::vector< Hex::Edge * > *self,std::vector< Hex::Edge * >::difference_type i,std::vector< Hex::Edge * >::value_type x){
+SWIGINTERN void std_vector_Sl_Hex_Edge_Sm__Sg____setitem__(std::vector<Hex::Edge * > *self,std::vector<Hex::Edge * >::difference_type i,std::vector<Hex::Edge * >::value_type x){
       *(swig::getpos(self,i)) = x;
     }
-SWIGINTERN void std_vector_Sl_Hex_Edge_Sm__Sg__append(std::vector< Hex::Edge * > *self,std::vector< Hex::Edge * >::value_type x){
+SWIGINTERN void std_vector_Sl_Hex_Edge_Sm__Sg__append(std::vector<Hex::Edge * > *self,std::vector<Hex::Edge * >::value_type x){
       self->push_back(x);
     }
 
@@ -4468,79 +4141,49 @@ SWIGINTERN void std_vector_Sl_Hex_Edge_Sm__Sg__append(std::vector< Hex::Edge * >
 
 
       namespace swig {
-       template <>  struct traits<std::vector<Hex::Vertex*, std::allocator< Hex::Vertex * > > > {
+       template <>  struct traits<std::vector<Hex::Vertex*, std::allocator<Hex::Vertex * > > > {
          typedef value_category category;
          static const char* type_name() {
-           return "std::vector<" "Hex::Vertex" " *," "std::allocator< Hex::Vertex * >" " >";
+           return "std::vector<" "Hex::Vertex" " *," "std::allocator<Hex::Vertex * >" " >";
          }
        };
       }
     
-SWIGINTERN swig::SwigPyIterator *std_vector_Sl_Hex_Vertex_Sm__Sg__iterator(std::vector< Hex::Vertex * > *self,PyObject **PYTHON_SELF){
+SWIGINTERN swig::PySwigIterator *std_vector_Sl_Hex_Vertex_Sm__Sg__iterator(std::vector<Hex::Vertex * > *self,PyObject **PYTHON_SELF){
       return swig::make_output_iterator(self->begin(), self->begin(), self->end(), *PYTHON_SELF);
     }
-SWIGINTERN bool std_vector_Sl_Hex_Vertex_Sm__Sg____nonzero__(std::vector< Hex::Vertex * > const *self){
-      return !(self->empty());
-    }
-SWIGINTERN bool std_vector_Sl_Hex_Vertex_Sm__Sg____bool__(std::vector< Hex::Vertex * > const *self){
+SWIGINTERN bool std_vector_Sl_Hex_Vertex_Sm__Sg____nonzero__(std::vector<Hex::Vertex * > const *self){
       return !(self->empty());
     }
-SWIGINTERN std::vector< Hex::Vertex * >::size_type std_vector_Sl_Hex_Vertex_Sm__Sg____len__(std::vector< Hex::Vertex * > const *self){
+SWIGINTERN std::vector<Hex::Vertex * >::size_type std_vector_Sl_Hex_Vertex_Sm__Sg____len__(std::vector<Hex::Vertex * > const *self){
       return self->size();
     }
-SWIGINTERN std::vector< Hex::Vertex * >::value_type std_vector_Sl_Hex_Vertex_Sm__Sg__pop(std::vector< Hex::Vertex * > *self){
+SWIGINTERN std::vector<Hex::Vertex * >::value_type std_vector_Sl_Hex_Vertex_Sm__Sg__pop(std::vector<Hex::Vertex * > *self){
       if (self->size() == 0)
        throw std::out_of_range("pop from empty container");
-      std::vector<Hex::Vertex*,std::allocator< Hex::Vertex * > >::value_type x = self->back();
+      std::vector<Hex::Vertex*,std::allocator<Hex::Vertex * > >::value_type x = self->back();
       self->pop_back();
       return x;
     }
-SWIGINTERN std::vector< Hex::Vertex *,std::allocator< Hex::Vertex * > > *std_vector_Sl_Hex_Vertex_Sm__Sg____getslice__(std::vector< Hex::Vertex * > *self,std::vector< Hex::Vertex * >::difference_type i,std::vector< Hex::Vertex * >::difference_type j){
+SWIGINTERN std::vector<Hex::Vertex *,std::allocator<Hex::Vertex * > > *std_vector_Sl_Hex_Vertex_Sm__Sg____getslice__(std::vector<Hex::Vertex * > *self,std::vector<Hex::Vertex * >::difference_type i,std::vector<Hex::Vertex * >::difference_type j){
       return swig::getslice(self, i, j);
     }
-SWIGINTERN void std_vector_Sl_Hex_Vertex_Sm__Sg____setslice__(std::vector< Hex::Vertex * > *self,std::vector< Hex::Vertex * >::difference_type i,std::vector< Hex::Vertex * >::difference_type j,std::vector< Hex::Vertex *,std::allocator< Hex::Vertex * > > const &v){
+SWIGINTERN void std_vector_Sl_Hex_Vertex_Sm__Sg____setslice__(std::vector<Hex::Vertex * > *self,std::vector<Hex::Vertex * >::difference_type i,std::vector<Hex::Vertex * >::difference_type j,std::vector<Hex::Vertex *,std::allocator<Hex::Vertex * > > const &v){
       swig::setslice(self, i, j, v);
     }
-SWIGINTERN void std_vector_Sl_Hex_Vertex_Sm__Sg____delslice__(std::vector< Hex::Vertex * > *self,std::vector< Hex::Vertex * >::difference_type i,std::vector< Hex::Vertex * >::difference_type j){
+SWIGINTERN void std_vector_Sl_Hex_Vertex_Sm__Sg____delslice__(std::vector<Hex::Vertex * > *self,std::vector<Hex::Vertex * >::difference_type i,std::vector<Hex::Vertex * >::difference_type j){
       swig::delslice(self, i, j);
     }
-SWIGINTERN void std_vector_Sl_Hex_Vertex_Sm__Sg____delitem____SWIG_0(std::vector< Hex::Vertex * > *self,std::vector< Hex::Vertex * >::difference_type i){
+SWIGINTERN void std_vector_Sl_Hex_Vertex_Sm__Sg____delitem__(std::vector<Hex::Vertex * > *self,std::vector<Hex::Vertex * >::difference_type i){
       self->erase(swig::getpos(self,i));
     }
-SWIGINTERN std::vector< Hex::Vertex *,std::allocator< Hex::Vertex * > > *std_vector_Sl_Hex_Vertex_Sm__Sg____getitem____SWIG_0(std::vector< Hex::Vertex * > *self,PySliceObject *slice){
-      Py_ssize_t i, j, step;
-      if( !PySlice_Check(slice) ) {
-        SWIG_Error(SWIG_TypeError, "Slice object expected.");
-        return NULL;
-      }
-      PySlice_GetIndices(slice, self->size(), &i, &j, &step);
-      return swig::getslice(self, i, j);
-    }
-SWIGINTERN void std_vector_Sl_Hex_Vertex_Sm__Sg____setitem____SWIG_0(std::vector< Hex::Vertex * > *self,PySliceObject *slice,std::vector< Hex::Vertex *,std::allocator< Hex::Vertex * > > const &v){
-      Py_ssize_t i, j, step;
-      if( !PySlice_Check(slice) ) {
-        SWIG_Error(SWIG_TypeError, "Slice object expected.");
-        return;
-      }
-      PySlice_GetIndices(slice, self->size(), &i, &j, &step);
-      swig::setslice(self, i, j, v);
-    }
-SWIGINTERN void std_vector_Sl_Hex_Vertex_Sm__Sg____delitem____SWIG_1(std::vector< Hex::Vertex * > *self,PySliceObject *slice){
-      Py_ssize_t i, j, step;
-      if( !PySlice_Check(slice) ) {
-        SWIG_Error(SWIG_TypeError, "Slice object expected.");
-        return;
-      }
-      PySlice_GetIndices(slice, self->size(), &i, &j, &step);
-      swig::delslice(self, i,j);
-    }
-SWIGINTERN std::vector< Hex::Vertex * >::value_type std_vector_Sl_Hex_Vertex_Sm__Sg____getitem____SWIG_1(std::vector< Hex::Vertex * > *self,std::vector< Hex::Vertex * >::difference_type i){
+SWIGINTERN std::vector<Hex::Vertex * >::value_type std_vector_Sl_Hex_Vertex_Sm__Sg____getitem__(std::vector<Hex::Vertex * > *self,std::vector<Hex::Vertex * >::difference_type i){
       return *(swig::cgetpos(self, i));
     }
-SWIGINTERN void std_vector_Sl_Hex_Vertex_Sm__Sg____setitem____SWIG_1(std::vector< Hex::Vertex * > *self,std::vector< Hex::Vertex * >::difference_type i,std::vector< Hex::Vertex * >::value_type x){
+SWIGINTERN void std_vector_Sl_Hex_Vertex_Sm__Sg____setitem__(std::vector<Hex::Vertex * > *self,std::vector<Hex::Vertex * >::difference_type i,std::vector<Hex::Vertex * >::value_type x){
       *(swig::getpos(self,i)) = x;
     }
-SWIGINTERN void std_vector_Sl_Hex_Vertex_Sm__Sg__append(std::vector< Hex::Vertex * > *self,std::vector< Hex::Vertex * >::value_type x){
+SWIGINTERN void std_vector_Sl_Hex_Vertex_Sm__Sg__append(std::vector<Hex::Vertex * > *self,std::vector<Hex::Vertex * >::value_type x){
       self->push_back(x);
     }
 
@@ -4553,79 +4196,49 @@ SWIGINTERN void std_vector_Sl_Hex_Vertex_Sm__Sg__append(std::vector< Hex::Vertex
 
 
       namespace swig {
-       template <>  struct traits<std::vector<Hex::NewShape*, std::allocator< Hex::NewShape * > > > {
+       template <>  struct traits<std::vector<Hex::NewShape*, std::allocator<Hex::NewShape * > > > {
          typedef value_category category;
          static const char* type_name() {
-           return "std::vector<" "Hex::NewShape" " *," "std::allocator< Hex::NewShape * >" " >";
+           return "std::vector<" "Hex::NewShape" " *," "std::allocator<Hex::NewShape * >" " >";
          }
        };
       }
     
-SWIGINTERN swig::SwigPyIterator *std_vector_Sl_Hex_NewShape_Sm__Sg__iterator(std::vector< Hex::NewShape * > *self,PyObject **PYTHON_SELF){
+SWIGINTERN swig::PySwigIterator *std_vector_Sl_Hex_NewShape_Sm__Sg__iterator(std::vector<Hex::NewShape * > *self,PyObject **PYTHON_SELF){
       return swig::make_output_iterator(self->begin(), self->begin(), self->end(), *PYTHON_SELF);
     }
-SWIGINTERN bool std_vector_Sl_Hex_NewShape_Sm__Sg____nonzero__(std::vector< Hex::NewShape * > const *self){
-      return !(self->empty());
-    }
-SWIGINTERN bool std_vector_Sl_Hex_NewShape_Sm__Sg____bool__(std::vector< Hex::NewShape * > const *self){
+SWIGINTERN bool std_vector_Sl_Hex_NewShape_Sm__Sg____nonzero__(std::vector<Hex::NewShape * > const *self){
       return !(self->empty());
     }
-SWIGINTERN std::vector< Hex::NewShape * >::size_type std_vector_Sl_Hex_NewShape_Sm__Sg____len__(std::vector< Hex::NewShape * > const *self){
+SWIGINTERN std::vector<Hex::NewShape * >::size_type std_vector_Sl_Hex_NewShape_Sm__Sg____len__(std::vector<Hex::NewShape * > const *self){
       return self->size();
     }
-SWIGINTERN std::vector< Hex::NewShape * >::value_type std_vector_Sl_Hex_NewShape_Sm__Sg__pop(std::vector< Hex::NewShape * > *self){
+SWIGINTERN std::vector<Hex::NewShape * >::value_type std_vector_Sl_Hex_NewShape_Sm__Sg__pop(std::vector<Hex::NewShape * > *self){
       if (self->size() == 0)
        throw std::out_of_range("pop from empty container");
-      std::vector<Hex::NewShape*,std::allocator< Hex::NewShape * > >::value_type x = self->back();
+      std::vector<Hex::NewShape*,std::allocator<Hex::NewShape * > >::value_type x = self->back();
       self->pop_back();
       return x;
     }
-SWIGINTERN std::vector< Hex::NewShape *,std::allocator< Hex::NewShape * > > *std_vector_Sl_Hex_NewShape_Sm__Sg____getslice__(std::vector< Hex::NewShape * > *self,std::vector< Hex::NewShape * >::difference_type i,std::vector< Hex::NewShape * >::difference_type j){
+SWIGINTERN std::vector<Hex::NewShape *,std::allocator<Hex::NewShape * > > *std_vector_Sl_Hex_NewShape_Sm__Sg____getslice__(std::vector<Hex::NewShape * > *self,std::vector<Hex::NewShape * >::difference_type i,std::vector<Hex::NewShape * >::difference_type j){
       return swig::getslice(self, i, j);
     }
-SWIGINTERN void std_vector_Sl_Hex_NewShape_Sm__Sg____setslice__(std::vector< Hex::NewShape * > *self,std::vector< Hex::NewShape * >::difference_type i,std::vector< Hex::NewShape * >::difference_type j,std::vector< Hex::NewShape *,std::allocator< Hex::NewShape * > > const &v){
+SWIGINTERN void std_vector_Sl_Hex_NewShape_Sm__Sg____setslice__(std::vector<Hex::NewShape * > *self,std::vector<Hex::NewShape * >::difference_type i,std::vector<Hex::NewShape * >::difference_type j,std::vector<Hex::NewShape *,std::allocator<Hex::NewShape * > > const &v){
       swig::setslice(self, i, j, v);
     }
-SWIGINTERN void std_vector_Sl_Hex_NewShape_Sm__Sg____delslice__(std::vector< Hex::NewShape * > *self,std::vector< Hex::NewShape * >::difference_type i,std::vector< Hex::NewShape * >::difference_type j){
+SWIGINTERN void std_vector_Sl_Hex_NewShape_Sm__Sg____delslice__(std::vector<Hex::NewShape * > *self,std::vector<Hex::NewShape * >::difference_type i,std::vector<Hex::NewShape * >::difference_type j){
       swig::delslice(self, i, j);
     }
-SWIGINTERN void std_vector_Sl_Hex_NewShape_Sm__Sg____delitem____SWIG_0(std::vector< Hex::NewShape * > *self,std::vector< Hex::NewShape * >::difference_type i){
+SWIGINTERN void std_vector_Sl_Hex_NewShape_Sm__Sg____delitem__(std::vector<Hex::NewShape * > *self,std::vector<Hex::NewShape * >::difference_type i){
       self->erase(swig::getpos(self,i));
     }
-SWIGINTERN std::vector< Hex::NewShape *,std::allocator< Hex::NewShape * > > *std_vector_Sl_Hex_NewShape_Sm__Sg____getitem____SWIG_0(std::vector< Hex::NewShape * > *self,PySliceObject *slice){
-      Py_ssize_t i, j, step;
-      if( !PySlice_Check(slice) ) {
-        SWIG_Error(SWIG_TypeError, "Slice object expected.");
-        return NULL;
-      }
-      PySlice_GetIndices(slice, self->size(), &i, &j, &step);
-      return swig::getslice(self, i, j);
-    }
-SWIGINTERN void std_vector_Sl_Hex_NewShape_Sm__Sg____setitem____SWIG_0(std::vector< Hex::NewShape * > *self,PySliceObject *slice,std::vector< Hex::NewShape *,std::allocator< Hex::NewShape * > > const &v){
-      Py_ssize_t i, j, step;
-      if( !PySlice_Check(slice) ) {
-        SWIG_Error(SWIG_TypeError, "Slice object expected.");
-        return;
-      }
-      PySlice_GetIndices(slice, self->size(), &i, &j, &step);
-      swig::setslice(self, i, j, v);
-    }
-SWIGINTERN void std_vector_Sl_Hex_NewShape_Sm__Sg____delitem____SWIG_1(std::vector< Hex::NewShape * > *self,PySliceObject *slice){
-      Py_ssize_t i, j, step;
-      if( !PySlice_Check(slice) ) {
-        SWIG_Error(SWIG_TypeError, "Slice object expected.");
-        return;
-      }
-      PySlice_GetIndices(slice, self->size(), &i, &j, &step);
-      swig::delslice(self, i,j);
-    }
-SWIGINTERN std::vector< Hex::NewShape * >::value_type std_vector_Sl_Hex_NewShape_Sm__Sg____getitem____SWIG_1(std::vector< Hex::NewShape * > *self,std::vector< Hex::NewShape * >::difference_type i){
+SWIGINTERN std::vector<Hex::NewShape * >::value_type std_vector_Sl_Hex_NewShape_Sm__Sg____getitem__(std::vector<Hex::NewShape * > *self,std::vector<Hex::NewShape * >::difference_type i){
       return *(swig::cgetpos(self, i));
     }
-SWIGINTERN void std_vector_Sl_Hex_NewShape_Sm__Sg____setitem____SWIG_1(std::vector< Hex::NewShape * > *self,std::vector< Hex::NewShape * >::difference_type i,std::vector< Hex::NewShape * >::value_type x){
+SWIGINTERN void std_vector_Sl_Hex_NewShape_Sm__Sg____setitem__(std::vector<Hex::NewShape * > *self,std::vector<Hex::NewShape * >::difference_type i,std::vector<Hex::NewShape * >::value_type x){
       *(swig::getpos(self,i)) = x;
     }
-SWIGINTERN void std_vector_Sl_Hex_NewShape_Sm__Sg__append(std::vector< Hex::NewShape * > *self,std::vector< Hex::NewShape * >::value_type x){
+SWIGINTERN void std_vector_Sl_Hex_NewShape_Sm__Sg__append(std::vector<Hex::NewShape * > *self,std::vector<Hex::NewShape * >::value_type x){
       self->push_back(x);
     }
 
@@ -4653,89 +4266,61 @@ namespace swig {
 
 
       namespace swig {
-       template <>  struct traits<std::vector<double, std::allocator< double > > > {
+       template <>  struct traits<std::vector<double, std::allocator<double > > > {
          typedef pointer_category category;
          static const char* type_name() {
-           return "std::vector<" "double" "," "std::allocator< double >" " >";
+           return "std::vector<" "double" "," "std::allocator<double >" " >";
          }
        };
       }
     
-SWIGINTERN swig::SwigPyIterator *std_vector_Sl_double_Sg__iterator(std::vector< double > *self,PyObject **PYTHON_SELF){
+SWIGINTERN swig::PySwigIterator *std_vector_Sl_double_Sg__iterator(std::vector<double > *self,PyObject **PYTHON_SELF){
       return swig::make_output_iterator(self->begin(), self->begin(), self->end(), *PYTHON_SELF);
     }
-SWIGINTERN bool std_vector_Sl_double_Sg____nonzero__(std::vector< double > const *self){
-      return !(self->empty());
-    }
-SWIGINTERN bool std_vector_Sl_double_Sg____bool__(std::vector< double > const *self){
+SWIGINTERN bool std_vector_Sl_double_Sg____nonzero__(std::vector<double > const *self){
       return !(self->empty());
     }
-SWIGINTERN std::vector< double >::size_type std_vector_Sl_double_Sg____len__(std::vector< double > const *self){
+SWIGINTERN std::vector<double >::size_type std_vector_Sl_double_Sg____len__(std::vector<double > const *self){
       return self->size();
     }
-SWIGINTERN std::vector< double >::value_type std_vector_Sl_double_Sg__pop(std::vector< double > *self){
+SWIGINTERN std::vector<double >::value_type std_vector_Sl_double_Sg__pop(std::vector<double > *self){
       if (self->size() == 0)
        throw std::out_of_range("pop from empty container");
-      std::vector<double,std::allocator< double > >::value_type x = self->back();
+      std::vector<double,std::allocator<double > >::value_type x = self->back();
       self->pop_back();
       return x;
     }
-SWIGINTERN std::vector< double,std::allocator< double > > *std_vector_Sl_double_Sg____getslice__(std::vector< double > *self,std::vector< double >::difference_type i,std::vector< double >::difference_type j){
+SWIGINTERN std::vector<double,std::allocator<double > > *std_vector_Sl_double_Sg____getslice__(std::vector<double > *self,std::vector<double >::difference_type i,std::vector<double >::difference_type j){
       return swig::getslice(self, i, j);
     }
-SWIGINTERN void std_vector_Sl_double_Sg____setslice__(std::vector< double > *self,std::vector< double >::difference_type i,std::vector< double >::difference_type j,std::vector< double,std::allocator< double > > const &v){
+SWIGINTERN void std_vector_Sl_double_Sg____setslice__(std::vector<double > *self,std::vector<double >::difference_type i,std::vector<double >::difference_type j,std::vector<double,std::allocator<double > > const &v){
       swig::setslice(self, i, j, v);
     }
-SWIGINTERN void std_vector_Sl_double_Sg____delslice__(std::vector< double > *self,std::vector< double >::difference_type i,std::vector< double >::difference_type j){
+SWIGINTERN void std_vector_Sl_double_Sg____delslice__(std::vector<double > *self,std::vector<double >::difference_type i,std::vector<double >::difference_type j){
       swig::delslice(self, i, j);
     }
-SWIGINTERN void std_vector_Sl_double_Sg____delitem____SWIG_0(std::vector< double > *self,std::vector< double >::difference_type i){
+SWIGINTERN void std_vector_Sl_double_Sg____delitem__(std::vector<double > *self,std::vector<double >::difference_type i){
       self->erase(swig::getpos(self,i));
     }
-SWIGINTERN std::vector< double,std::allocator< double > > *std_vector_Sl_double_Sg____getitem____SWIG_0(std::vector< double > *self,PySliceObject *slice){
-      Py_ssize_t i, j, step;
-      if( !PySlice_Check(slice) ) {
-        SWIG_Error(SWIG_TypeError, "Slice object expected.");
-        return NULL;
-      }
-      PySlice_GetIndices(slice, self->size(), &i, &j, &step);
-      return swig::getslice(self, i, j);
-    }
-SWIGINTERN void std_vector_Sl_double_Sg____setitem____SWIG_0(std::vector< double > *self,PySliceObject *slice,std::vector< double,std::allocator< double > > const &v){
-      Py_ssize_t i, j, step;
-      if( !PySlice_Check(slice) ) {
-        SWIG_Error(SWIG_TypeError, "Slice object expected.");
-        return;
-      }
-      PySlice_GetIndices(slice, self->size(), &i, &j, &step);
-      swig::setslice(self, i, j, v);
-    }
-SWIGINTERN void std_vector_Sl_double_Sg____delitem____SWIG_1(std::vector< double > *self,PySliceObject *slice){
-      Py_ssize_t i, j, step;
-      if( !PySlice_Check(slice) ) {
-        SWIG_Error(SWIG_TypeError, "Slice object expected.");
-        return;
-      }
-      PySlice_GetIndices(slice, self->size(), &i, &j, &step);
-      swig::delslice(self, i,j);
-    }
-SWIGINTERN std::vector< double >::value_type const &std_vector_Sl_double_Sg____getitem____SWIG_1(std::vector< double > const *self,std::vector< double >::difference_type i){
+SWIGINTERN std::vector<double >::value_type const &std_vector_Sl_double_Sg____getitem__(std::vector<double > const *self,std::vector<double >::difference_type i){
       return *(swig::cgetpos(self, i));
     }
-SWIGINTERN void std_vector_Sl_double_Sg____setitem____SWIG_1(std::vector< double > *self,std::vector< double >::difference_type i,std::vector< double >::value_type const &x){
+SWIGINTERN void std_vector_Sl_double_Sg____setitem__(std::vector<double > *self,std::vector<double >::difference_type i,std::vector<double >::value_type const &x){
       *(swig::getpos(self,i)) = x;
     }
-SWIGINTERN void std_vector_Sl_double_Sg__append(std::vector< double > *self,std::vector< double >::value_type const &x){
+SWIGINTERN void std_vector_Sl_double_Sg__append(std::vector<double > *self,std::vector<double >::value_type const &x){
       self->push_back(x);
     }
 
 #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
+#ifndef LLONG_MIN
+# define LLONG_MIN     LONG_LONG_MIN
+#endif
+#ifndef LLONG_MAX
+# define LLONG_MAX     LONG_LONG_MAX
+#endif
+#ifndef ULLONG_MAX
+# define ULLONG_MAX    ULONG_LONG_MAX
 #endif
 
 
@@ -4783,79 +4368,49 @@ namespace swig {
 
 
       namespace swig {
-       template <>  struct traits<std::vector<int, std::allocator< int > > > {
+       template <>  struct traits<std::vector<int, std::allocator<int > > > {
          typedef pointer_category category;
          static const char* type_name() {
-           return "std::vector<" "int" "," "std::allocator< int >" " >";
+           return "std::vector<" "int" "," "std::allocator<int >" " >";
          }
        };
       }
     
-SWIGINTERN swig::SwigPyIterator *std_vector_Sl_int_Sg__iterator(std::vector< int > *self,PyObject **PYTHON_SELF){
+SWIGINTERN swig::PySwigIterator *std_vector_Sl_int_Sg__iterator(std::vector<int > *self,PyObject **PYTHON_SELF){
       return swig::make_output_iterator(self->begin(), self->begin(), self->end(), *PYTHON_SELF);
     }
-SWIGINTERN bool std_vector_Sl_int_Sg____nonzero__(std::vector< int > const *self){
+SWIGINTERN bool std_vector_Sl_int_Sg____nonzero__(std::vector<int > const *self){
       return !(self->empty());
     }
-SWIGINTERN bool std_vector_Sl_int_Sg____bool__(std::vector< int > const *self){
-      return !(self->empty());
-    }
-SWIGINTERN std::vector< int >::size_type std_vector_Sl_int_Sg____len__(std::vector< int > const *self){
+SWIGINTERN std::vector<int >::size_type std_vector_Sl_int_Sg____len__(std::vector<int > const *self){
       return self->size();
     }
-SWIGINTERN std::vector< int >::value_type std_vector_Sl_int_Sg__pop(std::vector< int > *self){
+SWIGINTERN std::vector<int >::value_type std_vector_Sl_int_Sg__pop(std::vector<int > *self){
       if (self->size() == 0)
        throw std::out_of_range("pop from empty container");
-      std::vector<int,std::allocator< int > >::value_type x = self->back();
+      std::vector<int,std::allocator<int > >::value_type x = self->back();
       self->pop_back();
       return x;
     }
-SWIGINTERN std::vector< int,std::allocator< int > > *std_vector_Sl_int_Sg____getslice__(std::vector< int > *self,std::vector< int >::difference_type i,std::vector< int >::difference_type j){
+SWIGINTERN std::vector<int,std::allocator<int > > *std_vector_Sl_int_Sg____getslice__(std::vector<int > *self,std::vector<int >::difference_type i,std::vector<int >::difference_type j){
       return swig::getslice(self, i, j);
     }
-SWIGINTERN void std_vector_Sl_int_Sg____setslice__(std::vector< int > *self,std::vector< int >::difference_type i,std::vector< int >::difference_type j,std::vector< int,std::allocator< int > > const &v){
+SWIGINTERN void std_vector_Sl_int_Sg____setslice__(std::vector<int > *self,std::vector<int >::difference_type i,std::vector<int >::difference_type j,std::vector<int,std::allocator<int > > const &v){
       swig::setslice(self, i, j, v);
     }
-SWIGINTERN void std_vector_Sl_int_Sg____delslice__(std::vector< int > *self,std::vector< int >::difference_type i,std::vector< int >::difference_type j){
+SWIGINTERN void std_vector_Sl_int_Sg____delslice__(std::vector<int > *self,std::vector<int >::difference_type i,std::vector<int >::difference_type j){
       swig::delslice(self, i, j);
     }
-SWIGINTERN void std_vector_Sl_int_Sg____delitem____SWIG_0(std::vector< int > *self,std::vector< int >::difference_type i){
+SWIGINTERN void std_vector_Sl_int_Sg____delitem__(std::vector<int > *self,std::vector<int >::difference_type i){
       self->erase(swig::getpos(self,i));
     }
-SWIGINTERN std::vector< int,std::allocator< int > > *std_vector_Sl_int_Sg____getitem____SWIG_0(std::vector< int > *self,PySliceObject *slice){
-      Py_ssize_t i, j, step;
-      if( !PySlice_Check(slice) ) {
-        SWIG_Error(SWIG_TypeError, "Slice object expected.");
-        return NULL;
-      }
-      PySlice_GetIndices(slice, self->size(), &i, &j, &step);
-      return swig::getslice(self, i, j);
-    }
-SWIGINTERN void std_vector_Sl_int_Sg____setitem____SWIG_0(std::vector< int > *self,PySliceObject *slice,std::vector< int,std::allocator< int > > const &v){
-      Py_ssize_t i, j, step;
-      if( !PySlice_Check(slice) ) {
-        SWIG_Error(SWIG_TypeError, "Slice object expected.");
-        return;
-      }
-      PySlice_GetIndices(slice, self->size(), &i, &j, &step);
-      swig::setslice(self, i, j, v);
-    }
-SWIGINTERN void std_vector_Sl_int_Sg____delitem____SWIG_1(std::vector< int > *self,PySliceObject *slice){
-      Py_ssize_t i, j, step;
-      if( !PySlice_Check(slice) ) {
-        SWIG_Error(SWIG_TypeError, "Slice object expected.");
-        return;
-      }
-      PySlice_GetIndices(slice, self->size(), &i, &j, &step);
-      swig::delslice(self, i,j);
-    }
-SWIGINTERN std::vector< int >::value_type const &std_vector_Sl_int_Sg____getitem____SWIG_1(std::vector< int > const *self,std::vector< int >::difference_type i){
+SWIGINTERN std::vector<int >::value_type const &std_vector_Sl_int_Sg____getitem__(std::vector<int > const *self,std::vector<int >::difference_type i){
       return *(swig::cgetpos(self, i));
     }
-SWIGINTERN void std_vector_Sl_int_Sg____setitem____SWIG_1(std::vector< int > *self,std::vector< int >::difference_type i,std::vector< int >::value_type const &x){
+SWIGINTERN void std_vector_Sl_int_Sg____setitem__(std::vector<int > *self,std::vector<int >::difference_type i,std::vector<int >::value_type const &x){
       *(swig::getpos(self,i)) = x;
     }
-SWIGINTERN void std_vector_Sl_int_Sg__append(std::vector< int > *self,std::vector< int >::value_type const &x){
+SWIGINTERN void std_vector_Sl_int_Sg__append(std::vector<int > *self,std::vector<int >::value_type const &x){
       self->push_back(x);
     }
 
@@ -4881,11 +4436,7 @@ SWIG_FromCharPtrAndSize(const char* carray, size_t size)
       return pchar_descriptor ? 
        SWIG_NewPointerObj(const_cast< char * >(carray), pchar_descriptor, 0) : SWIG_Py_Void();
     } else {
-#if PY_VERSION_HEX >= 0x03000000
-      return PyUnicode_FromStringAndSize(carray, static_cast< int >(size));
-#else
       return PyString_FromStringAndSize(carray, static_cast< int >(size));
-#endif
     }
   } else {
     return SWIG_Py_Void();
@@ -4910,28 +4461,10 @@ SWIG_FromCharPtr(const char *cptr)
 SWIGINTERN int
 SWIG_AsCharPtrAndSize(PyObject *obj, char** cptr, size_t* psize, int *alloc)
 {
-#if PY_VERSION_HEX>=0x03000000
-  if (PyUnicode_Check(obj))
-#else  
-  if (PyString_Check(obj))
-#endif
-  {
+  if (PyString_Check(obj)) {
     char *cstr; Py_ssize_t len;
-#if PY_VERSION_HEX>=0x03000000
-    if (!alloc && cptr) {
-        /* We can't allow converting without allocation, since the internal
-           representation of string in Python 3 is UCS-2/UCS-4 but we require
-           a UTF-8 representation.
-           TODO(bhy) More detailed explanation */
-        return SWIG_RuntimeError;
-    }
-    obj = PyUnicode_AsUTF8String(obj);
-    PyBytes_AsStringAndSize(obj, &cstr, &len);
-    if(alloc) *alloc = SWIG_NEWOBJ;
-#else
     PyString_AsStringAndSize(obj, &cstr, &len);
-#endif
-    if (cptr) {
+    if (cptr)  {
       if (alloc) {
        /* 
           In python the user should not be able to modify the inner
@@ -4956,16 +4489,10 @@ SWIG_AsCharPtrAndSize(PyObject *obj, char** cptr, size_t* psize, int *alloc)
          *alloc = SWIG_OLDOBJ;
        }
       } else {
-        #if PY_VERSION_HEX>=0x03000000
-        assert(0); /* Should never reach here in Python 3 */
-        #endif
-       *cptr = SWIG_Python_str_AsChar(obj);
+       *cptr = PyString_AsString(obj);
       }
     }
     if (psize) *psize = len + 1;
-#if PY_VERSION_HEX>=0x03000000
-    Py_XDECREF(obj);
-#endif
     return SWIG_OK;
   } else {
     swig_type_info* pchar_descriptor = SWIG_pchar_descriptor();
@@ -4989,30 +4516,38 @@ SWIG_AsCharPtrAndSize(PyObject *obj, char** cptr, size_t* psize, int *alloc)
 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;
-}
+  if (obj == Py_True) {
+    if (val) *val = true;
+    return SWIG_OK;
+  } else if (obj == Py_False) {
+    if (val) *val = false;
+    return SWIG_OK;
+  } else {
+    long v = 0;
+    int res = SWIG_AddCast(SWIG_AsVal_long (obj, val ? &v : 0));
+    if (SWIG_IsOK(res) && val) *val = v ? true : false;
+    return res;
+  }
+}
 
 #ifdef __cplusplus
 extern "C" {
 #endif
-SWIGINTERN PyObject *_wrap_delete_SwigPyIterator(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_delete_PySwigIterator(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  swig::SwigPyIterator *arg1 = (swig::SwigPyIterator *) 0 ;
+  swig::PySwigIterator *arg1 = (swig::PySwigIterator *) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
   
-  if (!PyArg_ParseTuple(args,(char *)"O:delete_SwigPyIterator",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_swig__SwigPyIterator, SWIG_POINTER_DISOWN |  0 );
+  if (!PyArg_ParseTuple(args,(char *)"O:delete_PySwigIterator",&obj0)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_swig__PySwigIterator, SWIG_POINTER_DISOWN |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_SwigPyIterator" "', argument " "1"" of type '" "swig::SwigPyIterator *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_PySwigIterator" "', argument " "1"" of type '" "swig::PySwigIterator *""'"); 
   }
-  arg1 = reinterpret_cast< swig::SwigPyIterator * >(argp1);
+  arg1 = reinterpret_cast< swig::PySwigIterator * >(argp1);
   delete arg1;
+  
   resultobj = SWIG_Py_Void();
   return resultobj;
 fail:
@@ -5020,22 +4555,22 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_SwigPyIterator_value(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_PySwigIterator_value(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  swig::SwigPyIterator *arg1 = (swig::SwigPyIterator *) 0 ;
+  swig::PySwigIterator *arg1 = (swig::PySwigIterator *) 0 ;
+  PyObject *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  PyObject *result = 0 ;
   
-  if (!PyArg_ParseTuple(args,(char *)"O:SwigPyIterator_value",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_swig__SwigPyIterator, 0 |  0 );
+  if (!PyArg_ParseTuple(args,(char *)"O:PySwigIterator_value",&obj0)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_swig__PySwigIterator, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SwigPyIterator_value" "', argument " "1"" of type '" "swig::SwigPyIterator const *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "PySwigIterator_value" "', argument " "1"" of type '" "swig::PySwigIterator const *""'"); 
   }
-  arg1 = reinterpret_cast< swig::SwigPyIterator * >(argp1);
+  arg1 = reinterpret_cast< swig::PySwigIterator * >(argp1);
   try {
-    result = (PyObject *)((swig::SwigPyIterator const *)arg1)->value();
+    result = (PyObject *)((swig::PySwigIterator const *)arg1)->value();
   }
   catch(swig::stop_iteration &_e) {
     {
@@ -5052,31 +4587,31 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_SwigPyIterator_incr__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_PySwigIterator_incr__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  swig::SwigPyIterator *arg1 = (swig::SwigPyIterator *) 0 ;
+  swig::PySwigIterator *arg1 = (swig::PySwigIterator *) 0 ;
   size_t arg2 ;
+  swig::PySwigIterator *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   size_t val2 ;
   int ecode2 = 0 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
-  swig::SwigPyIterator *result = 0 ;
   
-  if (!PyArg_ParseTuple(args,(char *)"OO:SwigPyIterator_incr",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_swig__SwigPyIterator, 0 |  0 );
+  if (!PyArg_ParseTuple(args,(char *)"OO:PySwigIterator_incr",&obj0,&obj1)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_swig__PySwigIterator, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SwigPyIterator_incr" "', argument " "1"" of type '" "swig::SwigPyIterator *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "PySwigIterator_incr" "', argument " "1"" of type '" "swig::PySwigIterator *""'"); 
   }
-  arg1 = reinterpret_cast< swig::SwigPyIterator * >(argp1);
+  arg1 = reinterpret_cast< swig::PySwigIterator * >(argp1);
   ecode2 = SWIG_AsVal_size_t(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "SwigPyIterator_incr" "', argument " "2"" of type '" "size_t""'");
+    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "PySwigIterator_incr" "', argument " "2"" of type '" "size_t""'");
   } 
   arg2 = static_cast< size_t >(val2);
   try {
-    result = (swig::SwigPyIterator *)(arg1)->incr(arg2);
+    result = (swig::PySwigIterator *)(arg1)->incr(arg2);
   }
   catch(swig::stop_iteration &_e) {
     {
@@ -5086,29 +4621,29 @@ SWIGINTERN PyObject *_wrap_SwigPyIterator_incr__SWIG_0(PyObject *SWIGUNUSEDPARM(
     }
   }
   
-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_swig__SwigPyIterator, 0 |  0 );
+  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_swig__PySwigIterator, 0 |  0 );
   return resultobj;
 fail:
   return NULL;
 }
 
 
-SWIGINTERN PyObject *_wrap_SwigPyIterator_incr__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_PySwigIterator_incr__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  swig::SwigPyIterator *arg1 = (swig::SwigPyIterator *) 0 ;
+  swig::PySwigIterator *arg1 = (swig::PySwigIterator *) 0 ;
+  swig::PySwigIterator *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  swig::SwigPyIterator *result = 0 ;
   
-  if (!PyArg_ParseTuple(args,(char *)"O:SwigPyIterator_incr",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_swig__SwigPyIterator, 0 |  0 );
+  if (!PyArg_ParseTuple(args,(char *)"O:PySwigIterator_incr",&obj0)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_swig__PySwigIterator, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SwigPyIterator_incr" "', argument " "1"" of type '" "swig::SwigPyIterator *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "PySwigIterator_incr" "', argument " "1"" of type '" "swig::PySwigIterator *""'"); 
   }
-  arg1 = reinterpret_cast< swig::SwigPyIterator * >(argp1);
+  arg1 = reinterpret_cast< swig::PySwigIterator * >(argp1);
   try {
-    result = (swig::SwigPyIterator *)(arg1)->incr();
+    result = (swig::PySwigIterator *)(arg1)->incr();
   }
   catch(swig::stop_iteration &_e) {
     {
@@ -5118,36 +4653,36 @@ SWIGINTERN PyObject *_wrap_SwigPyIterator_incr__SWIG_1(PyObject *SWIGUNUSEDPARM(
     }
   }
   
-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_swig__SwigPyIterator, 0 |  0 );
+  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_swig__PySwigIterator, 0 |  0 );
   return resultobj;
 fail:
   return NULL;
 }
 
 
-SWIGINTERN PyObject *_wrap_SwigPyIterator_incr(PyObject *self, PyObject *args) {
+SWIGINTERN PyObject *_wrap_PySwigIterator_incr(PyObject *self, PyObject *args) {
   int argc;
   PyObject *argv[3];
   int ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = (int)PyObject_Length(args);
+  argc = PyObject_Length(args);
   for (ii = 0; (ii < argc) && (ii < 2); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
   if (argc == 1) {
     int _v;
     void *vptr = 0;
-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_swig__SwigPyIterator, 0);
+    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_swig__PySwigIterator, 0);
     _v = SWIG_CheckState(res);
     if (_v) {
-      return _wrap_SwigPyIterator_incr__SWIG_1(self, args);
+      return _wrap_PySwigIterator_incr__SWIG_1(self, args);
     }
   }
   if (argc == 2) {
     int _v;
     void *vptr = 0;
-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_swig__SwigPyIterator, 0);
+    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_swig__PySwigIterator, 0);
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -5155,45 +4690,42 @@ SWIGINTERN PyObject *_wrap_SwigPyIterator_incr(PyObject *self, PyObject *args) {
         _v = SWIG_CheckState(res);
       }
       if (_v) {
-        return _wrap_SwigPyIterator_incr__SWIG_0(self, args);
+        return _wrap_PySwigIterator_incr__SWIG_0(self, args);
       }
     }
   }
   
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'SwigPyIterator_incr'.\n"
-    "  Possible C/C++ prototypes are:\n"
-    "    incr(swig::SwigPyIterator *,size_t)\n"
-    "    incr(swig::SwigPyIterator *)\n");
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'PySwigIterator_incr'.\n  Possible C/C++ prototypes are:\n    incr(size_t)\n    incr()\n");
   return NULL;
 }
 
 
-SWIGINTERN PyObject *_wrap_SwigPyIterator_decr__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_PySwigIterator_decr__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  swig::SwigPyIterator *arg1 = (swig::SwigPyIterator *) 0 ;
+  swig::PySwigIterator *arg1 = (swig::PySwigIterator *) 0 ;
   size_t arg2 ;
+  swig::PySwigIterator *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   size_t val2 ;
   int ecode2 = 0 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
-  swig::SwigPyIterator *result = 0 ;
   
-  if (!PyArg_ParseTuple(args,(char *)"OO:SwigPyIterator_decr",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_swig__SwigPyIterator, 0 |  0 );
+  if (!PyArg_ParseTuple(args,(char *)"OO:PySwigIterator_decr",&obj0,&obj1)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_swig__PySwigIterator, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SwigPyIterator_decr" "', argument " "1"" of type '" "swig::SwigPyIterator *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "PySwigIterator_decr" "', argument " "1"" of type '" "swig::PySwigIterator *""'"); 
   }
-  arg1 = reinterpret_cast< swig::SwigPyIterator * >(argp1);
+  arg1 = reinterpret_cast< swig::PySwigIterator * >(argp1);
   ecode2 = SWIG_AsVal_size_t(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "SwigPyIterator_decr" "', argument " "2"" of type '" "size_t""'");
+    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "PySwigIterator_decr" "', argument " "2"" of type '" "size_t""'");
   } 
   arg2 = static_cast< size_t >(val2);
   try {
-    result = (swig::SwigPyIterator *)(arg1)->decr(arg2);
+    result = (swig::PySwigIterator *)(arg1)->decr(arg2);
   }
   catch(swig::stop_iteration &_e) {
     {
@@ -5203,29 +4735,29 @@ SWIGINTERN PyObject *_wrap_SwigPyIterator_decr__SWIG_0(PyObject *SWIGUNUSEDPARM(
     }
   }
   
-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_swig__SwigPyIterator, 0 |  0 );
+  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_swig__PySwigIterator, 0 |  0 );
   return resultobj;
 fail:
   return NULL;
 }
 
 
-SWIGINTERN PyObject *_wrap_SwigPyIterator_decr__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_PySwigIterator_decr__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  swig::SwigPyIterator *arg1 = (swig::SwigPyIterator *) 0 ;
+  swig::PySwigIterator *arg1 = (swig::PySwigIterator *) 0 ;
+  swig::PySwigIterator *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  swig::SwigPyIterator *result = 0 ;
   
-  if (!PyArg_ParseTuple(args,(char *)"O:SwigPyIterator_decr",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_swig__SwigPyIterator, 0 |  0 );
+  if (!PyArg_ParseTuple(args,(char *)"O:PySwigIterator_decr",&obj0)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_swig__PySwigIterator, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SwigPyIterator_decr" "', argument " "1"" of type '" "swig::SwigPyIterator *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "PySwigIterator_decr" "', argument " "1"" of type '" "swig::PySwigIterator *""'"); 
   }
-  arg1 = reinterpret_cast< swig::SwigPyIterator * >(argp1);
+  arg1 = reinterpret_cast< swig::PySwigIterator * >(argp1);
   try {
-    result = (swig::SwigPyIterator *)(arg1)->decr();
+    result = (swig::PySwigIterator *)(arg1)->decr();
   }
   catch(swig::stop_iteration &_e) {
     {
@@ -5235,36 +4767,36 @@ SWIGINTERN PyObject *_wrap_SwigPyIterator_decr__SWIG_1(PyObject *SWIGUNUSEDPARM(
     }
   }
   
-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_swig__SwigPyIterator, 0 |  0 );
+  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_swig__PySwigIterator, 0 |  0 );
   return resultobj;
 fail:
   return NULL;
 }
 
 
-SWIGINTERN PyObject *_wrap_SwigPyIterator_decr(PyObject *self, PyObject *args) {
+SWIGINTERN PyObject *_wrap_PySwigIterator_decr(PyObject *self, PyObject *args) {
   int argc;
   PyObject *argv[3];
   int ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = (int)PyObject_Length(args);
+  argc = PyObject_Length(args);
   for (ii = 0; (ii < argc) && (ii < 2); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
   if (argc == 1) {
     int _v;
     void *vptr = 0;
-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_swig__SwigPyIterator, 0);
+    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_swig__PySwigIterator, 0);
     _v = SWIG_CheckState(res);
     if (_v) {
-      return _wrap_SwigPyIterator_decr__SWIG_1(self, args);
+      return _wrap_PySwigIterator_decr__SWIG_1(self, args);
     }
   }
   if (argc == 2) {
     int _v;
     void *vptr = 0;
-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_swig__SwigPyIterator, 0);
+    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_swig__PySwigIterator, 0);
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -5272,48 +4804,45 @@ SWIGINTERN PyObject *_wrap_SwigPyIterator_decr(PyObject *self, PyObject *args) {
         _v = SWIG_CheckState(res);
       }
       if (_v) {
-        return _wrap_SwigPyIterator_decr__SWIG_0(self, args);
+        return _wrap_PySwigIterator_decr__SWIG_0(self, args);
       }
     }
   }
   
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'SwigPyIterator_decr'.\n"
-    "  Possible C/C++ prototypes are:\n"
-    "    decr(swig::SwigPyIterator *,size_t)\n"
-    "    decr(swig::SwigPyIterator *)\n");
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'PySwigIterator_decr'.\n  Possible C/C++ prototypes are:\n    decr(size_t)\n    decr()\n");
   return NULL;
 }
 
 
-SWIGINTERN PyObject *_wrap_SwigPyIterator_distance(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_PySwigIterator_distance(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  swig::SwigPyIterator *arg1 = (swig::SwigPyIterator *) 0 ;
-  swig::SwigPyIterator *arg2 = 0 ;
+  swig::PySwigIterator *arg1 = (swig::PySwigIterator *) 0 ;
+  swig::PySwigIterator *arg2 = 0 ;
+  ptrdiff_t result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   void *argp2 = 0 ;
   int res2 = 0 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
-  ptrdiff_t result;
   
-  if (!PyArg_ParseTuple(args,(char *)"OO:SwigPyIterator_distance",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_swig__SwigPyIterator, 0 |  0 );
+  if (!PyArg_ParseTuple(args,(char *)"OO:PySwigIterator_distance",&obj0,&obj1)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_swig__PySwigIterator, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SwigPyIterator_distance" "', argument " "1"" of type '" "swig::SwigPyIterator const *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "PySwigIterator_distance" "', argument " "1"" of type '" "swig::PySwigIterator const *""'"); 
   }
-  arg1 = reinterpret_cast< swig::SwigPyIterator * >(argp1);
-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_swig__SwigPyIterator,  0  | 0);
+  arg1 = reinterpret_cast< swig::PySwigIterator * >(argp1);
+  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_swig__PySwigIterator,  0  | 0);
   if (!SWIG_IsOK(res2)) {
-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "SwigPyIterator_distance" "', argument " "2"" of type '" "swig::SwigPyIterator const &""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "PySwigIterator_distance" "', argument " "2"" of type '" "swig::PySwigIterator const &""'"); 
   }
   if (!argp2) {
-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "SwigPyIterator_distance" "', argument " "2"" of type '" "swig::SwigPyIterator const &""'"); 
+    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "PySwigIterator_distance" "', argument " "2"" of type '" "swig::PySwigIterator const &""'"); 
   }
-  arg2 = reinterpret_cast< swig::SwigPyIterator * >(argp2);
+  arg2 = reinterpret_cast< swig::PySwigIterator * >(argp2);
   try {
-    result = ((swig::SwigPyIterator const *)arg1)->distance((swig::SwigPyIterator const &)*arg2);
+    result = ((swig::PySwigIterator const *)arg1)->distance((swig::PySwigIterator const &)*arg2);
   }
   catch(std::invalid_argument &_e) {
     SWIG_Python_Raise(SWIG_NewPointerObj((new std::invalid_argument(static_cast< const std::invalid_argument& >(_e))),SWIGTYPE_p_std__invalid_argument,SWIG_POINTER_OWN), "std::invalid_argument", SWIGTYPE_p_std__invalid_argument); SWIG_fail;
@@ -5326,34 +4855,34 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_SwigPyIterator_equal(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_PySwigIterator_equal(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  swig::SwigPyIterator *arg1 = (swig::SwigPyIterator *) 0 ;
-  swig::SwigPyIterator *arg2 = 0 ;
+  swig::PySwigIterator *arg1 = (swig::PySwigIterator *) 0 ;
+  swig::PySwigIterator *arg2 = 0 ;
+  bool result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   void *argp2 = 0 ;
   int res2 = 0 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
-  bool result;
   
-  if (!PyArg_ParseTuple(args,(char *)"OO:SwigPyIterator_equal",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_swig__SwigPyIterator, 0 |  0 );
+  if (!PyArg_ParseTuple(args,(char *)"OO:PySwigIterator_equal",&obj0,&obj1)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_swig__PySwigIterator, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SwigPyIterator_equal" "', argument " "1"" of type '" "swig::SwigPyIterator const *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "PySwigIterator_equal" "', argument " "1"" of type '" "swig::PySwigIterator const *""'"); 
   }
-  arg1 = reinterpret_cast< swig::SwigPyIterator * >(argp1);
-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_swig__SwigPyIterator,  0  | 0);
+  arg1 = reinterpret_cast< swig::PySwigIterator * >(argp1);
+  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_swig__PySwigIterator,  0  | 0);
   if (!SWIG_IsOK(res2)) {
-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "SwigPyIterator_equal" "', argument " "2"" of type '" "swig::SwigPyIterator const &""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "PySwigIterator_equal" "', argument " "2"" of type '" "swig::PySwigIterator const &""'"); 
   }
   if (!argp2) {
-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "SwigPyIterator_equal" "', argument " "2"" of type '" "swig::SwigPyIterator const &""'"); 
+    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "PySwigIterator_equal" "', argument " "2"" of type '" "swig::PySwigIterator const &""'"); 
   }
-  arg2 = reinterpret_cast< swig::SwigPyIterator * >(argp2);
+  arg2 = reinterpret_cast< swig::PySwigIterator * >(argp2);
   try {
-    result = (bool)((swig::SwigPyIterator const *)arg1)->equal((swig::SwigPyIterator const &)*arg2);
+    result = (bool)((swig::PySwigIterator const *)arg1)->equal((swig::PySwigIterator const &)*arg2);
   }
   catch(std::invalid_argument &_e) {
     SWIG_Python_Raise(SWIG_NewPointerObj((new std::invalid_argument(static_cast< const std::invalid_argument& >(_e))),SWIGTYPE_p_std__invalid_argument,SWIG_POINTER_OWN), "std::invalid_argument", SWIGTYPE_p_std__invalid_argument); SWIG_fail;
@@ -5366,42 +4895,42 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_SwigPyIterator_copy(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_PySwigIterator_copy(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  swig::SwigPyIterator *arg1 = (swig::SwigPyIterator *) 0 ;
+  swig::PySwigIterator *arg1 = (swig::PySwigIterator *) 0 ;
+  swig::PySwigIterator *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  swig::SwigPyIterator *result = 0 ;
   
-  if (!PyArg_ParseTuple(args,(char *)"O:SwigPyIterator_copy",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_swig__SwigPyIterator, 0 |  0 );
+  if (!PyArg_ParseTuple(args,(char *)"O:PySwigIterator_copy",&obj0)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_swig__PySwigIterator, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SwigPyIterator_copy" "', argument " "1"" of type '" "swig::SwigPyIterator const *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "PySwigIterator_copy" "', argument " "1"" of type '" "swig::PySwigIterator const *""'"); 
   }
-  arg1 = reinterpret_cast< swig::SwigPyIterator * >(argp1);
-  result = (swig::SwigPyIterator *)((swig::SwigPyIterator const *)arg1)->copy();
-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_swig__SwigPyIterator, SWIG_POINTER_OWN |  0 );
+  arg1 = reinterpret_cast< swig::PySwigIterator * >(argp1);
+  result = (swig::PySwigIterator *)((swig::PySwigIterator const *)arg1)->copy();
+  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_swig__PySwigIterator, SWIG_POINTER_OWN |  0 );
   return resultobj;
 fail:
   return NULL;
 }
 
 
-SWIGINTERN PyObject *_wrap_SwigPyIterator_next(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_PySwigIterator_next(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  swig::SwigPyIterator *arg1 = (swig::SwigPyIterator *) 0 ;
+  swig::PySwigIterator *arg1 = (swig::PySwigIterator *) 0 ;
+  PyObject *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  PyObject *result = 0 ;
   
-  if (!PyArg_ParseTuple(args,(char *)"O:SwigPyIterator_next",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_swig__SwigPyIterator, 0 |  0 );
+  if (!PyArg_ParseTuple(args,(char *)"O:PySwigIterator_next",&obj0)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_swig__PySwigIterator, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SwigPyIterator_next" "', argument " "1"" of type '" "swig::SwigPyIterator *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "PySwigIterator_next" "', argument " "1"" of type '" "swig::PySwigIterator *""'"); 
   }
-  arg1 = reinterpret_cast< swig::SwigPyIterator * >(argp1);
+  arg1 = reinterpret_cast< swig::PySwigIterator * >(argp1);
   try {
     result = (PyObject *)(arg1)->next();
   }
@@ -5420,52 +4949,20 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_SwigPyIterator___next__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_PySwigIterator_previous(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  swig::SwigPyIterator *arg1 = (swig::SwigPyIterator *) 0 ;
-  void *argp1 = 0 ;
-  int res1 = 0 ;
-  PyObject * obj0 = 0 ;
+  swig::PySwigIterator *arg1 = (swig::PySwigIterator *) 0 ;
   PyObject *result = 0 ;
-  
-  if (!PyArg_ParseTuple(args,(char *)"O:SwigPyIterator___next__",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_swig__SwigPyIterator, 0 |  0 );
-  if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SwigPyIterator___next__" "', argument " "1"" of type '" "swig::SwigPyIterator *""'"); 
-  }
-  arg1 = reinterpret_cast< swig::SwigPyIterator * >(argp1);
-  try {
-    result = (PyObject *)(arg1)->__next__();
-  }
-  catch(swig::stop_iteration &_e) {
-    {
-      (void)_e;
-      SWIG_SetErrorObj(PyExc_StopIteration, SWIG_Py_Void());
-      SWIG_fail;
-    }
-  }
-  
-  resultobj = result;
-  return resultobj;
-fail:
-  return NULL;
-}
-
-
-SWIGINTERN PyObject *_wrap_SwigPyIterator_previous(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
-  PyObject *resultobj = 0;
-  swig::SwigPyIterator *arg1 = (swig::SwigPyIterator *) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  PyObject *result = 0 ;
   
-  if (!PyArg_ParseTuple(args,(char *)"O:SwigPyIterator_previous",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_swig__SwigPyIterator, 0 |  0 );
+  if (!PyArg_ParseTuple(args,(char *)"O:PySwigIterator_previous",&obj0)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_swig__PySwigIterator, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SwigPyIterator_previous" "', argument " "1"" of type '" "swig::SwigPyIterator *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "PySwigIterator_previous" "', argument " "1"" of type '" "swig::PySwigIterator *""'"); 
   }
-  arg1 = reinterpret_cast< swig::SwigPyIterator * >(argp1);
+  arg1 = reinterpret_cast< swig::PySwigIterator * >(argp1);
   try {
     result = (PyObject *)(arg1)->previous();
   }
@@ -5484,31 +4981,31 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_SwigPyIterator_advance(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_PySwigIterator_advance(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  swig::SwigPyIterator *arg1 = (swig::SwigPyIterator *) 0 ;
+  swig::PySwigIterator *arg1 = (swig::PySwigIterator *) 0 ;
   ptrdiff_t arg2 ;
+  swig::PySwigIterator *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   ptrdiff_t val2 ;
   int ecode2 = 0 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
-  swig::SwigPyIterator *result = 0 ;
   
-  if (!PyArg_ParseTuple(args,(char *)"OO:SwigPyIterator_advance",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_swig__SwigPyIterator, 0 |  0 );
+  if (!PyArg_ParseTuple(args,(char *)"OO:PySwigIterator_advance",&obj0,&obj1)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_swig__PySwigIterator, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SwigPyIterator_advance" "', argument " "1"" of type '" "swig::SwigPyIterator *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "PySwigIterator_advance" "', argument " "1"" of type '" "swig::PySwigIterator *""'"); 
   }
-  arg1 = reinterpret_cast< swig::SwigPyIterator * >(argp1);
+  arg1 = reinterpret_cast< swig::PySwigIterator * >(argp1);
   ecode2 = SWIG_AsVal_ptrdiff_t(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "SwigPyIterator_advance" "', argument " "2"" of type '" "ptrdiff_t""'");
+    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "PySwigIterator_advance" "', argument " "2"" of type '" "ptrdiff_t""'");
   } 
   arg2 = static_cast< ptrdiff_t >(val2);
   try {
-    result = (swig::SwigPyIterator *)(arg1)->advance(arg2);
+    result = (swig::PySwigIterator *)(arg1)->advance(arg2);
   }
   catch(swig::stop_iteration &_e) {
     {
@@ -5518,40 +5015,40 @@ SWIGINTERN PyObject *_wrap_SwigPyIterator_advance(PyObject *SWIGUNUSEDPARM(self)
     }
   }
   
-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_swig__SwigPyIterator, 0 |  0 );
+  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_swig__PySwigIterator, 0 |  0 );
   return resultobj;
 fail:
   return NULL;
 }
 
 
-SWIGINTERN PyObject *_wrap_SwigPyIterator___eq__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_PySwigIterator___eq__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  swig::SwigPyIterator *arg1 = (swig::SwigPyIterator *) 0 ;
-  swig::SwigPyIterator *arg2 = 0 ;
+  swig::PySwigIterator *arg1 = (swig::PySwigIterator *) 0 ;
+  swig::PySwigIterator *arg2 = 0 ;
+  bool result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   void *argp2 = 0 ;
   int res2 = 0 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
-  bool result;
   
-  if (!PyArg_ParseTuple(args,(char *)"OO:SwigPyIterator___eq__",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_swig__SwigPyIterator, 0 |  0 );
+  if (!PyArg_ParseTuple(args,(char *)"OO:PySwigIterator___eq__",&obj0,&obj1)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_swig__PySwigIterator, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SwigPyIterator___eq__" "', argument " "1"" of type '" "swig::SwigPyIterator const *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "PySwigIterator___eq__" "', argument " "1"" of type '" "swig::PySwigIterator const *""'"); 
   }
-  arg1 = reinterpret_cast< swig::SwigPyIterator * >(argp1);
-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_swig__SwigPyIterator,  0  | 0);
+  arg1 = reinterpret_cast< swig::PySwigIterator * >(argp1);
+  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_swig__PySwigIterator,  0  | 0);
   if (!SWIG_IsOK(res2)) {
-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "SwigPyIterator___eq__" "', argument " "2"" of type '" "swig::SwigPyIterator const &""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "PySwigIterator___eq__" "', argument " "2"" of type '" "swig::PySwigIterator const &""'"); 
   }
   if (!argp2) {
-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "SwigPyIterator___eq__" "', argument " "2"" of type '" "swig::SwigPyIterator const &""'"); 
+    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "PySwigIterator___eq__" "', argument " "2"" of type '" "swig::PySwigIterator const &""'"); 
   }
-  arg2 = reinterpret_cast< swig::SwigPyIterator * >(argp2);
-  result = (bool)((swig::SwigPyIterator const *)arg1)->operator ==((swig::SwigPyIterator const &)*arg2);
+  arg2 = reinterpret_cast< swig::PySwigIterator * >(argp2);
+  result = (bool)((swig::PySwigIterator const *)arg1)->operator ==((swig::PySwigIterator const &)*arg2);
   resultobj = SWIG_From_bool(static_cast< bool >(result));
   return resultobj;
 fail:
@@ -5559,33 +5056,33 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_SwigPyIterator___ne__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_PySwigIterator___ne__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  swig::SwigPyIterator *arg1 = (swig::SwigPyIterator *) 0 ;
-  swig::SwigPyIterator *arg2 = 0 ;
+  swig::PySwigIterator *arg1 = (swig::PySwigIterator *) 0 ;
+  swig::PySwigIterator *arg2 = 0 ;
+  bool result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   void *argp2 = 0 ;
   int res2 = 0 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
-  bool result;
   
-  if (!PyArg_ParseTuple(args,(char *)"OO:SwigPyIterator___ne__",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_swig__SwigPyIterator, 0 |  0 );
+  if (!PyArg_ParseTuple(args,(char *)"OO:PySwigIterator___ne__",&obj0,&obj1)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_swig__PySwigIterator, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SwigPyIterator___ne__" "', argument " "1"" of type '" "swig::SwigPyIterator const *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "PySwigIterator___ne__" "', argument " "1"" of type '" "swig::PySwigIterator const *""'"); 
   }
-  arg1 = reinterpret_cast< swig::SwigPyIterator * >(argp1);
-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_swig__SwigPyIterator,  0  | 0);
+  arg1 = reinterpret_cast< swig::PySwigIterator * >(argp1);
+  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_swig__PySwigIterator,  0  | 0);
   if (!SWIG_IsOK(res2)) {
-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "SwigPyIterator___ne__" "', argument " "2"" of type '" "swig::SwigPyIterator const &""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "PySwigIterator___ne__" "', argument " "2"" of type '" "swig::PySwigIterator const &""'"); 
   }
   if (!argp2) {
-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "SwigPyIterator___ne__" "', argument " "2"" of type '" "swig::SwigPyIterator const &""'"); 
+    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "PySwigIterator___ne__" "', argument " "2"" of type '" "swig::PySwigIterator const &""'"); 
   }
-  arg2 = reinterpret_cast< swig::SwigPyIterator * >(argp2);
-  result = (bool)((swig::SwigPyIterator const *)arg1)->operator !=((swig::SwigPyIterator const &)*arg2);
+  arg2 = reinterpret_cast< swig::PySwigIterator * >(argp2);
+  result = (bool)((swig::PySwigIterator const *)arg1)->operator !=((swig::PySwigIterator const &)*arg2);
   resultobj = SWIG_From_bool(static_cast< bool >(result));
   return resultobj;
 fail:
@@ -5593,31 +5090,34 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_SwigPyIterator___iadd__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_PySwigIterator___iadd__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  swig::SwigPyIterator *arg1 = (swig::SwigPyIterator *) 0 ;
+  swig::PySwigIterator *arg1 = (swig::PySwigIterator *) 0 ;
   ptrdiff_t arg2 ;
+  swig::PySwigIterator *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   ptrdiff_t val2 ;
   int ecode2 = 0 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
-  swig::SwigPyIterator *result = 0 ;
   
-  if (!PyArg_ParseTuple(args,(char *)"OO:SwigPyIterator___iadd__",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_swig__SwigPyIterator, SWIG_POINTER_DISOWN |  0 );
+  if (!PyArg_ParseTuple(args,(char *)"OO:PySwigIterator___iadd__",&obj0,&obj1)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_swig__PySwigIterator, SWIG_POINTER_DISOWN |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SwigPyIterator___iadd__" "', argument " "1"" of type '" "swig::SwigPyIterator *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "PySwigIterator___iadd__" "', argument " "1"" of type '" "swig::PySwigIterator *""'"); 
   }
-  arg1 = reinterpret_cast< swig::SwigPyIterator * >(argp1);
+  arg1 = reinterpret_cast< swig::PySwigIterator * >(argp1);
   ecode2 = SWIG_AsVal_ptrdiff_t(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "SwigPyIterator___iadd__" "', argument " "2"" of type '" "ptrdiff_t""'");
+    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "PySwigIterator___iadd__" "', argument " "2"" of type '" "ptrdiff_t""'");
   } 
   arg2 = static_cast< ptrdiff_t >(val2);
   try {
-    result = (swig::SwigPyIterator *) &(arg1)->operator +=(arg2);
+    {
+      swig::PySwigIterator &_result_ref = (arg1)->operator +=(arg2);
+      result = (swig::PySwigIterator *) &_result_ref;
+    }
   }
   catch(swig::stop_iteration &_e) {
     {
@@ -5627,38 +5127,41 @@ SWIGINTERN PyObject *_wrap_SwigPyIterator___iadd__(PyObject *SWIGUNUSEDPARM(self
     }
   }
   
-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_swig__SwigPyIterator, SWIG_POINTER_OWN |  0 );
+  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_swig__PySwigIterator, SWIG_POINTER_OWN |  0 );
   return resultobj;
 fail:
   return NULL;
 }
 
 
-SWIGINTERN PyObject *_wrap_SwigPyIterator___isub__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_PySwigIterator___isub__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  swig::SwigPyIterator *arg1 = (swig::SwigPyIterator *) 0 ;
+  swig::PySwigIterator *arg1 = (swig::PySwigIterator *) 0 ;
   ptrdiff_t arg2 ;
+  swig::PySwigIterator *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   ptrdiff_t val2 ;
   int ecode2 = 0 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
-  swig::SwigPyIterator *result = 0 ;
   
-  if (!PyArg_ParseTuple(args,(char *)"OO:SwigPyIterator___isub__",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_swig__SwigPyIterator, SWIG_POINTER_DISOWN |  0 );
+  if (!PyArg_ParseTuple(args,(char *)"OO:PySwigIterator___isub__",&obj0,&obj1)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_swig__PySwigIterator, SWIG_POINTER_DISOWN |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SwigPyIterator___isub__" "', argument " "1"" of type '" "swig::SwigPyIterator *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "PySwigIterator___isub__" "', argument " "1"" of type '" "swig::PySwigIterator *""'"); 
   }
-  arg1 = reinterpret_cast< swig::SwigPyIterator * >(argp1);
+  arg1 = reinterpret_cast< swig::PySwigIterator * >(argp1);
   ecode2 = SWIG_AsVal_ptrdiff_t(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "SwigPyIterator___isub__" "', argument " "2"" of type '" "ptrdiff_t""'");
+    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "PySwigIterator___isub__" "', argument " "2"" of type '" "ptrdiff_t""'");
   } 
   arg2 = static_cast< ptrdiff_t >(val2);
   try {
-    result = (swig::SwigPyIterator *) &(arg1)->operator -=(arg2);
+    {
+      swig::PySwigIterator &_result_ref = (arg1)->operator -=(arg2);
+      result = (swig::PySwigIterator *) &_result_ref;
+    }
   }
   catch(swig::stop_iteration &_e) {
     {
@@ -5668,38 +5171,38 @@ SWIGINTERN PyObject *_wrap_SwigPyIterator___isub__(PyObject *SWIGUNUSEDPARM(self
     }
   }
   
-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_swig__SwigPyIterator, SWIG_POINTER_OWN |  0 );
+  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_swig__PySwigIterator, SWIG_POINTER_OWN |  0 );
   return resultobj;
 fail:
   return NULL;
 }
 
 
-SWIGINTERN PyObject *_wrap_SwigPyIterator___add__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_PySwigIterator___add__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  swig::SwigPyIterator *arg1 = (swig::SwigPyIterator *) 0 ;
+  swig::PySwigIterator *arg1 = (swig::PySwigIterator *) 0 ;
   ptrdiff_t arg2 ;
+  swig::PySwigIterator *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   ptrdiff_t val2 ;
   int ecode2 = 0 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
-  swig::SwigPyIterator *result = 0 ;
   
-  if (!PyArg_ParseTuple(args,(char *)"OO:SwigPyIterator___add__",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_swig__SwigPyIterator, 0 |  0 );
+  if (!PyArg_ParseTuple(args,(char *)"OO:PySwigIterator___add__",&obj0,&obj1)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_swig__PySwigIterator, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SwigPyIterator___add__" "', argument " "1"" of type '" "swig::SwigPyIterator const *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "PySwigIterator___add__" "', argument " "1"" of type '" "swig::PySwigIterator const *""'"); 
   }
-  arg1 = reinterpret_cast< swig::SwigPyIterator * >(argp1);
+  arg1 = reinterpret_cast< swig::PySwigIterator * >(argp1);
   ecode2 = SWIG_AsVal_ptrdiff_t(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "SwigPyIterator___add__" "', argument " "2"" of type '" "ptrdiff_t""'");
+    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "PySwigIterator___add__" "', argument " "2"" of type '" "ptrdiff_t""'");
   } 
   arg2 = static_cast< ptrdiff_t >(val2);
   try {
-    result = (swig::SwigPyIterator *)((swig::SwigPyIterator const *)arg1)->operator +(arg2);
+    result = (swig::PySwigIterator *)((swig::PySwigIterator const *)arg1)->operator +(arg2);
   }
   catch(swig::stop_iteration &_e) {
     {
@@ -5709,38 +5212,38 @@ SWIGINTERN PyObject *_wrap_SwigPyIterator___add__(PyObject *SWIGUNUSEDPARM(self)
     }
   }
   
-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_swig__SwigPyIterator, SWIG_POINTER_OWN |  0 );
+  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_swig__PySwigIterator, SWIG_POINTER_OWN |  0 );
   return resultobj;
 fail:
   return NULL;
 }
 
 
-SWIGINTERN PyObject *_wrap_SwigPyIterator___sub____SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_PySwigIterator___sub____SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  swig::SwigPyIterator *arg1 = (swig::SwigPyIterator *) 0 ;
+  swig::PySwigIterator *arg1 = (swig::PySwigIterator *) 0 ;
   ptrdiff_t arg2 ;
+  swig::PySwigIterator *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   ptrdiff_t val2 ;
   int ecode2 = 0 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
-  swig::SwigPyIterator *result = 0 ;
   
-  if (!PyArg_ParseTuple(args,(char *)"OO:SwigPyIterator___sub__",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_swig__SwigPyIterator, 0 |  0 );
+  if (!PyArg_ParseTuple(args,(char *)"OO:PySwigIterator___sub__",&obj0,&obj1)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_swig__PySwigIterator, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SwigPyIterator___sub__" "', argument " "1"" of type '" "swig::SwigPyIterator const *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "PySwigIterator___sub__" "', argument " "1"" of type '" "swig::PySwigIterator const *""'"); 
   }
-  arg1 = reinterpret_cast< swig::SwigPyIterator * >(argp1);
+  arg1 = reinterpret_cast< swig::PySwigIterator * >(argp1);
   ecode2 = SWIG_AsVal_ptrdiff_t(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "SwigPyIterator___sub__" "', argument " "2"" of type '" "ptrdiff_t""'");
+    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "PySwigIterator___sub__" "', argument " "2"" of type '" "ptrdiff_t""'");
   } 
   arg2 = static_cast< ptrdiff_t >(val2);
   try {
-    result = (swig::SwigPyIterator *)((swig::SwigPyIterator const *)arg1)->operator -(arg2);
+    result = (swig::PySwigIterator *)((swig::PySwigIterator const *)arg1)->operator -(arg2);
   }
   catch(swig::stop_iteration &_e) {
     {
@@ -5750,40 +5253,40 @@ SWIGINTERN PyObject *_wrap_SwigPyIterator___sub____SWIG_0(PyObject *SWIGUNUSEDPA
     }
   }
   
-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_swig__SwigPyIterator, SWIG_POINTER_OWN |  0 );
+  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_swig__PySwigIterator, SWIG_POINTER_OWN |  0 );
   return resultobj;
 fail:
   return NULL;
 }
 
 
-SWIGINTERN PyObject *_wrap_SwigPyIterator___sub____SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_PySwigIterator___sub____SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  swig::SwigPyIterator *arg1 = (swig::SwigPyIterator *) 0 ;
-  swig::SwigPyIterator *arg2 = 0 ;
+  swig::PySwigIterator *arg1 = (swig::PySwigIterator *) 0 ;
+  swig::PySwigIterator *arg2 = 0 ;
+  ptrdiff_t result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   void *argp2 = 0 ;
   int res2 = 0 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
-  ptrdiff_t result;
   
-  if (!PyArg_ParseTuple(args,(char *)"OO:SwigPyIterator___sub__",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_swig__SwigPyIterator, 0 |  0 );
+  if (!PyArg_ParseTuple(args,(char *)"OO:PySwigIterator___sub__",&obj0,&obj1)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_swig__PySwigIterator, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SwigPyIterator___sub__" "', argument " "1"" of type '" "swig::SwigPyIterator const *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "PySwigIterator___sub__" "', argument " "1"" of type '" "swig::PySwigIterator const *""'"); 
   }
-  arg1 = reinterpret_cast< swig::SwigPyIterator * >(argp1);
-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_swig__SwigPyIterator,  0  | 0);
+  arg1 = reinterpret_cast< swig::PySwigIterator * >(argp1);
+  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_swig__PySwigIterator,  0  | 0);
   if (!SWIG_IsOK(res2)) {
-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "SwigPyIterator___sub__" "', argument " "2"" of type '" "swig::SwigPyIterator const &""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "PySwigIterator___sub__" "', argument " "2"" of type '" "swig::PySwigIterator const &""'"); 
   }
   if (!argp2) {
-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "SwigPyIterator___sub__" "', argument " "2"" of type '" "swig::SwigPyIterator const &""'"); 
+    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "PySwigIterator___sub__" "', argument " "2"" of type '" "swig::PySwigIterator const &""'"); 
   }
-  arg2 = reinterpret_cast< swig::SwigPyIterator * >(argp2);
-  result = ((swig::SwigPyIterator const *)arg1)->operator -((swig::SwigPyIterator const &)*arg2);
+  arg2 = reinterpret_cast< swig::PySwigIterator * >(argp2);
+  result = ((swig::PySwigIterator const *)arg1)->operator -((swig::PySwigIterator const &)*arg2);
   resultobj = SWIG_From_ptrdiff_t(static_cast< ptrdiff_t >(result));
   return resultobj;
 fail:
@@ -5791,33 +5294,33 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_SwigPyIterator___sub__(PyObject *self, PyObject *args) {
+SWIGINTERN PyObject *_wrap_PySwigIterator___sub__(PyObject *self, PyObject *args) {
   int argc;
   PyObject *argv[3];
   int ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = (int)PyObject_Length(args);
+  argc = PyObject_Length(args);
   for (ii = 0; (ii < argc) && (ii < 2); 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_swig__SwigPyIterator, 0);
+    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_swig__PySwigIterator, 0);
     _v = SWIG_CheckState(res);
     if (_v) {
-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_swig__SwigPyIterator, 0);
+      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_swig__PySwigIterator, 0);
       _v = SWIG_CheckState(res);
       if (_v) {
-        return _wrap_SwigPyIterator___sub____SWIG_1(self, args);
+        return _wrap_PySwigIterator___sub____SWIG_1(self, args);
       }
     }
   }
   if (argc == 2) {
     int _v;
     void *vptr = 0;
-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_swig__SwigPyIterator, 0);
+    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_swig__PySwigIterator, 0);
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -5825,7 +5328,7 @@ SWIGINTERN PyObject *_wrap_SwigPyIterator___sub__(PyObject *self, PyObject *args
         _v = SWIG_CheckState(res);
       }
       if (_v) {
-        return _wrap_SwigPyIterator___sub____SWIG_0(self, args);
+        return _wrap_PySwigIterator___sub____SWIG_0(self, args);
       }
     }
   }
@@ -5836,31 +5339,31 @@ fail:
 }
 
 
-SWIGINTERN PyObject *SwigPyIterator_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *PySwigIterator_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *obj;
-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
-  SWIG_TypeNewClientData(SWIGTYPE_p_swig__SwigPyIterator, SWIG_NewClientData(obj));
+  if (!PyArg_ParseTuple(args,(char*)"O|swigregister", &obj)) return NULL;
+  SWIG_TypeNewClientData(SWIGTYPE_p_swig__PySwigIterator, SWIG_NewClientData(obj));
   return SWIG_Py_Void();
 }
 
 SWIGINTERN PyObject *_wrap_VectorHexas_iterator(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Hexa * > *arg1 = (std::vector< Hex::Hexa * > *) 0 ;
+  std::vector<Hex::Hexa * > *arg1 = (std::vector<Hex::Hexa * > *) 0 ;
   PyObject **arg2 = (PyObject **) 0 ;
+  swig::PySwigIterator *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  swig::SwigPyIterator *result = 0 ;
   
   arg2 = &obj0;
   if (!PyArg_ParseTuple(args,(char *)"O:VectorHexas_iterator",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Hexa_p_std__allocatorT_Hex__Hexa_p_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Hexa_p_std__allocatorTHex__Hexa_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorHexas_iterator" "', argument " "1"" of type '" "std::vector< Hex::Hexa * > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorHexas_iterator" "', argument " "1"" of type '" "std::vector<Hex::Hexa * > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::Hexa * > * >(argp1);
-  result = (swig::SwigPyIterator *)std_vector_Sl_Hex_Hexa_Sm__Sg__iterator(arg1,arg2);
-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_swig__SwigPyIterator, SWIG_POINTER_OWN |  0 );
+  arg1 = reinterpret_cast< std::vector<Hex::Hexa * > * >(argp1);
+  result = (swig::PySwigIterator *)std_vector_Sl_Hex_Hexa_Sm__Sg__iterator(arg1,arg2);
+  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_swig__PySwigIterator, SWIG_POINTER_OWN |  0 );
   return resultobj;
 fail:
   return NULL;
@@ -5869,41 +5372,19 @@ fail:
 
 SWIGINTERN PyObject *_wrap_VectorHexas___nonzero__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Hexa * > *arg1 = (std::vector< Hex::Hexa * > *) 0 ;
-  void *argp1 = 0 ;
-  int res1 = 0 ;
-  PyObject * obj0 = 0 ;
+  std::vector<Hex::Hexa * > *arg1 = (std::vector<Hex::Hexa * > *) 0 ;
   bool result;
-  
-  if (!PyArg_ParseTuple(args,(char *)"O:VectorHexas___nonzero__",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Hexa_p_std__allocatorT_Hex__Hexa_p_t_t, 0 |  0 );
-  if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorHexas___nonzero__" "', argument " "1"" of type '" "std::vector< Hex::Hexa * > const *""'"); 
-  }
-  arg1 = reinterpret_cast< std::vector< Hex::Hexa * > * >(argp1);
-  result = (bool)std_vector_Sl_Hex_Hexa_Sm__Sg____nonzero__((std::vector< Hex::Hexa * > const *)arg1);
-  resultobj = SWIG_From_bool(static_cast< bool >(result));
-  return resultobj;
-fail:
-  return NULL;
-}
-
-
-SWIGINTERN PyObject *_wrap_VectorHexas___bool__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
-  PyObject *resultobj = 0;
-  std::vector< Hex::Hexa * > *arg1 = (std::vector< Hex::Hexa * > *) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  bool result;
   
-  if (!PyArg_ParseTuple(args,(char *)"O:VectorHexas___bool__",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Hexa_p_std__allocatorT_Hex__Hexa_p_t_t, 0 |  0 );
+  if (!PyArg_ParseTuple(args,(char *)"O:VectorHexas___nonzero__",&obj0)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Hexa_p_std__allocatorTHex__Hexa_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorHexas___bool__" "', argument " "1"" of type '" "std::vector< Hex::Hexa * > const *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorHexas___nonzero__" "', argument " "1"" of type '" "std::vector<Hex::Hexa * > const *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::Hexa * > * >(argp1);
-  result = (bool)std_vector_Sl_Hex_Hexa_Sm__Sg____bool__((std::vector< Hex::Hexa * > const *)arg1);
+  arg1 = reinterpret_cast< std::vector<Hex::Hexa * > * >(argp1);
+  result = (bool)std_vector_Sl_Hex_Hexa_Sm__Sg____nonzero__((std::vector<Hex::Hexa * > const *)arg1);
   resultobj = SWIG_From_bool(static_cast< bool >(result));
   return resultobj;
 fail:
@@ -5913,19 +5394,19 @@ fail:
 
 SWIGINTERN PyObject *_wrap_VectorHexas___len__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Hexa * > *arg1 = (std::vector< Hex::Hexa * > *) 0 ;
+  std::vector<Hex::Hexa * > *arg1 = (std::vector<Hex::Hexa * > *) 0 ;
+  std::vector<Hex::Hexa * >::size_type result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  std::vector< Hex::Hexa * >::size_type result;
   
   if (!PyArg_ParseTuple(args,(char *)"O:VectorHexas___len__",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Hexa_p_std__allocatorT_Hex__Hexa_p_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Hexa_p_std__allocatorTHex__Hexa_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorHexas___len__" "', argument " "1"" of type '" "std::vector< Hex::Hexa * > const *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorHexas___len__" "', argument " "1"" of type '" "std::vector<Hex::Hexa * > const *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::Hexa * > * >(argp1);
-  result = std_vector_Sl_Hex_Hexa_Sm__Sg____len__((std::vector< Hex::Hexa * > const *)arg1);
+  arg1 = reinterpret_cast< std::vector<Hex::Hexa * > * >(argp1);
+  result = std_vector_Sl_Hex_Hexa_Sm__Sg____len__((std::vector<Hex::Hexa * > const *)arg1);
   resultobj = SWIG_From_size_t(static_cast< size_t >(result));
   return resultobj;
 fail:
@@ -5935,26 +5416,26 @@ fail:
 
 SWIGINTERN PyObject *_wrap_VectorHexas_pop(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Hexa * > *arg1 = (std::vector< Hex::Hexa * > *) 0 ;
+  std::vector<Hex::Hexa * > *arg1 = (std::vector<Hex::Hexa * > *) 0 ;
+  std::vector<Hex::Hexa * >::value_type result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  std::vector< Hex::Hexa * >::value_type result;
   
   if (!PyArg_ParseTuple(args,(char *)"O:VectorHexas_pop",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Hexa_p_std__allocatorT_Hex__Hexa_p_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Hexa_p_std__allocatorTHex__Hexa_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorHexas_pop" "', argument " "1"" of type '" "std::vector< Hex::Hexa * > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorHexas_pop" "', argument " "1"" of type '" "std::vector<Hex::Hexa * > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::Hexa * > * >(argp1);
+  arg1 = reinterpret_cast< std::vector<Hex::Hexa * > * >(argp1);
   try {
-    result = (std::vector< Hex::Hexa * >::value_type)std_vector_Sl_Hex_Hexa_Sm__Sg__pop(arg1);
+    result = (std::vector<Hex::Hexa * >::value_type)std_vector_Sl_Hex_Hexa_Sm__Sg__pop(arg1);
   }
   catch(std::out_of_range &_e) {
     SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
   }
   
-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_std__vectorT_Hex__Hexa_p_std__allocatorT_Hex__Hexa_p_t_t__value_type, 0 |  0 );
+  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_std__vectorTHex__Hexa_p_std__allocatorTHex__Hexa_p_t_t__value_type, 0 |  0 );
   return resultobj;
 fail:
   return NULL;
@@ -5963,9 +5444,10 @@ fail:
 
 SWIGINTERN PyObject *_wrap_VectorHexas___getslice__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Hexa * > *arg1 = (std::vector< Hex::Hexa * > *) 0 ;
-  std::vector< Hex::Hexa * >::difference_type arg2 ;
-  std::vector< Hex::Hexa * >::difference_type arg3 ;
+  std::vector<Hex::Hexa * > *arg1 = (std::vector<Hex::Hexa * > *) 0 ;
+  std::vector<Hex::Hexa * >::difference_type arg2 ;
+  std::vector<Hex::Hexa * >::difference_type arg3 ;
+  std::vector<Hex::Hexa *,std::allocator<Hex::Hexa * > > *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   ptrdiff_t val2 ;
@@ -5975,32 +5457,31 @@ SWIGINTERN PyObject *_wrap_VectorHexas___getslice__(PyObject *SWIGUNUSEDPARM(sel
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
   PyObject * obj2 = 0 ;
-  std::vector< Hex::Hexa *,std::allocator< Hex::Hexa * > > *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOO:VectorHexas___getslice__",&obj0,&obj1,&obj2)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Hexa_p_std__allocatorT_Hex__Hexa_p_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Hexa_p_std__allocatorTHex__Hexa_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorHexas___getslice__" "', argument " "1"" of type '" "std::vector< Hex::Hexa * > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorHexas___getslice__" "', argument " "1"" of type '" "std::vector<Hex::Hexa * > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::Hexa * > * >(argp1);
+  arg1 = reinterpret_cast< std::vector<Hex::Hexa * > * >(argp1);
   ecode2 = SWIG_AsVal_ptrdiff_t(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorHexas___getslice__" "', argument " "2"" of type '" "std::vector< Hex::Hexa * >::difference_type""'");
+    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorHexas___getslice__" "', argument " "2"" of type '" "std::vector<Hex::Hexa * >::difference_type""'");
   } 
-  arg2 = static_cast< std::vector< Hex::Hexa * >::difference_type >(val2);
+  arg2 = static_cast< std::vector<Hex::Hexa * >::difference_type >(val2);
   ecode3 = SWIG_AsVal_ptrdiff_t(obj2, &val3);
   if (!SWIG_IsOK(ecode3)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "VectorHexas___getslice__" "', argument " "3"" of type '" "std::vector< Hex::Hexa * >::difference_type""'");
+    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "VectorHexas___getslice__" "', argument " "3"" of type '" "std::vector<Hex::Hexa * >::difference_type""'");
   } 
-  arg3 = static_cast< std::vector< Hex::Hexa * >::difference_type >(val3);
+  arg3 = static_cast< std::vector<Hex::Hexa * >::difference_type >(val3);
   try {
-    result = (std::vector< Hex::Hexa *,std::allocator< Hex::Hexa * > > *)std_vector_Sl_Hex_Hexa_Sm__Sg____getslice__(arg1,arg2,arg3);
+    result = (std::vector<Hex::Hexa *,std::allocator<Hex::Hexa * > > *)std_vector_Sl_Hex_Hexa_Sm__Sg____getslice__(arg1,arg2,arg3);
   }
   catch(std::out_of_range &_e) {
     SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
   }
   
-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_Hex__Hexa_p_std__allocatorT_Hex__Hexa_p_t_t, SWIG_POINTER_OWN |  0 );
+  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorTHex__Hexa_p_std__allocatorTHex__Hexa_p_t_t, SWIG_POINTER_OWN |  0 );
   return resultobj;
 fail:
   return NULL;
@@ -6009,10 +5490,10 @@ fail:
 
 SWIGINTERN PyObject *_wrap_VectorHexas___setslice__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Hexa * > *arg1 = (std::vector< Hex::Hexa * > *) 0 ;
-  std::vector< Hex::Hexa * >::difference_type arg2 ;
-  std::vector< Hex::Hexa * >::difference_type arg3 ;
-  std::vector< Hex::Hexa *,std::allocator< Hex::Hexa * > > *arg4 = 0 ;
+  std::vector<Hex::Hexa * > *arg1 = (std::vector<Hex::Hexa * > *) 0 ;
+  std::vector<Hex::Hexa * >::difference_type arg2 ;
+  std::vector<Hex::Hexa * >::difference_type arg3 ;
+  std::vector<Hex::Hexa *,std::allocator<Hex::Hexa * > > *arg4 = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   ptrdiff_t val2 ;
@@ -6026,34 +5507,34 @@ SWIGINTERN PyObject *_wrap_VectorHexas___setslice__(PyObject *SWIGUNUSEDPARM(sel
   PyObject * obj3 = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOOO:VectorHexas___setslice__",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Hexa_p_std__allocatorT_Hex__Hexa_p_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Hexa_p_std__allocatorTHex__Hexa_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorHexas___setslice__" "', argument " "1"" of type '" "std::vector< Hex::Hexa * > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorHexas___setslice__" "', argument " "1"" of type '" "std::vector<Hex::Hexa * > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::Hexa * > * >(argp1);
+  arg1 = reinterpret_cast< std::vector<Hex::Hexa * > * >(argp1);
   ecode2 = SWIG_AsVal_ptrdiff_t(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorHexas___setslice__" "', argument " "2"" of type '" "std::vector< Hex::Hexa * >::difference_type""'");
+    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorHexas___setslice__" "', argument " "2"" of type '" "std::vector<Hex::Hexa * >::difference_type""'");
   } 
-  arg2 = static_cast< std::vector< Hex::Hexa * >::difference_type >(val2);
+  arg2 = static_cast< std::vector<Hex::Hexa * >::difference_type >(val2);
   ecode3 = SWIG_AsVal_ptrdiff_t(obj2, &val3);
   if (!SWIG_IsOK(ecode3)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "VectorHexas___setslice__" "', argument " "3"" of type '" "std::vector< Hex::Hexa * >::difference_type""'");
+    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "VectorHexas___setslice__" "', argument " "3"" of type '" "std::vector<Hex::Hexa * >::difference_type""'");
   } 
-  arg3 = static_cast< std::vector< Hex::Hexa * >::difference_type >(val3);
+  arg3 = static_cast< std::vector<Hex::Hexa * >::difference_type >(val3);
   {
-    std::vector<Hex::Hexa*,std::allocator< Hex::Hexa * > > *ptr = (std::vector<Hex::Hexa*,std::allocator< Hex::Hexa * > > *)0;
+    std::vector<Hex::Hexa*,std::allocator<Hex::Hexa * > > *ptr = (std::vector<Hex::Hexa*,std::allocator<Hex::Hexa * > > *)0;
     res4 = swig::asptr(obj3, &ptr);
     if (!SWIG_IsOK(res4)) {
-      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "VectorHexas___setslice__" "', argument " "4"" of type '" "std::vector< Hex::Hexa *,std::allocator< Hex::Hexa * > > const &""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "VectorHexas___setslice__" "', argument " "4"" of type '" "std::vector<Hex::Hexa *,std::allocator<Hex::Hexa * > > const &""'"); 
     }
     if (!ptr) {
-      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "VectorHexas___setslice__" "', argument " "4"" of type '" "std::vector< Hex::Hexa *,std::allocator< Hex::Hexa * > > const &""'"); 
+      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "VectorHexas___setslice__" "', argument " "4"" of type '" "std::vector<Hex::Hexa *,std::allocator<Hex::Hexa * > > const &""'"); 
     }
     arg4 = ptr;
   }
   try {
-    std_vector_Sl_Hex_Hexa_Sm__Sg____setslice__(arg1,arg2,arg3,(std::vector< Hex::Hexa *,std::allocator< Hex::Hexa * > > const &)*arg4);
+    std_vector_Sl_Hex_Hexa_Sm__Sg____setslice__(arg1,arg2,arg3,(std::vector<Hex::Hexa *,std::allocator<Hex::Hexa * > > const &)*arg4);
   }
   catch(std::out_of_range &_e) {
     SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
@@ -6073,9 +5554,9 @@ fail:
 
 SWIGINTERN PyObject *_wrap_VectorHexas___delslice__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Hexa * > *arg1 = (std::vector< Hex::Hexa * > *) 0 ;
-  std::vector< Hex::Hexa * >::difference_type arg2 ;
-  std::vector< Hex::Hexa * >::difference_type arg3 ;
+  std::vector<Hex::Hexa * > *arg1 = (std::vector<Hex::Hexa * > *) 0 ;
+  std::vector<Hex::Hexa * >::difference_type arg2 ;
+  std::vector<Hex::Hexa * >::difference_type arg3 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   ptrdiff_t val2 ;
@@ -6087,21 +5568,21 @@ SWIGINTERN PyObject *_wrap_VectorHexas___delslice__(PyObject *SWIGUNUSEDPARM(sel
   PyObject * obj2 = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOO:VectorHexas___delslice__",&obj0,&obj1,&obj2)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Hexa_p_std__allocatorT_Hex__Hexa_p_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Hexa_p_std__allocatorTHex__Hexa_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorHexas___delslice__" "', argument " "1"" of type '" "std::vector< Hex::Hexa * > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorHexas___delslice__" "', argument " "1"" of type '" "std::vector<Hex::Hexa * > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::Hexa * > * >(argp1);
+  arg1 = reinterpret_cast< std::vector<Hex::Hexa * > * >(argp1);
   ecode2 = SWIG_AsVal_ptrdiff_t(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorHexas___delslice__" "', argument " "2"" of type '" "std::vector< Hex::Hexa * >::difference_type""'");
+    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorHexas___delslice__" "', argument " "2"" of type '" "std::vector<Hex::Hexa * >::difference_type""'");
   } 
-  arg2 = static_cast< std::vector< Hex::Hexa * >::difference_type >(val2);
+  arg2 = static_cast< std::vector<Hex::Hexa * >::difference_type >(val2);
   ecode3 = SWIG_AsVal_ptrdiff_t(obj2, &val3);
   if (!SWIG_IsOK(ecode3)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "VectorHexas___delslice__" "', argument " "3"" of type '" "std::vector< Hex::Hexa * >::difference_type""'");
+    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "VectorHexas___delslice__" "', argument " "3"" of type '" "std::vector<Hex::Hexa * >::difference_type""'");
   } 
-  arg3 = static_cast< std::vector< Hex::Hexa * >::difference_type >(val3);
+  arg3 = static_cast< std::vector<Hex::Hexa * >::difference_type >(val3);
   try {
     std_vector_Sl_Hex_Hexa_Sm__Sg____delslice__(arg1,arg2,arg3);
   }
@@ -6116,10 +5597,10 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_VectorHexas___delitem____SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_VectorHexas___delitem__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Hexa * > *arg1 = (std::vector< Hex::Hexa * > *) 0 ;
-  std::vector< Hex::Hexa * >::difference_type arg2 ;
+  std::vector<Hex::Hexa * > *arg1 = (std::vector<Hex::Hexa * > *) 0 ;
+  std::vector<Hex::Hexa * >::difference_type arg2 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   ptrdiff_t val2 ;
@@ -6128,18 +5609,18 @@ SWIGINTERN PyObject *_wrap_VectorHexas___delitem____SWIG_0(PyObject *SWIGUNUSEDP
   PyObject * obj1 = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OO:VectorHexas___delitem__",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Hexa_p_std__allocatorT_Hex__Hexa_p_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Hexa_p_std__allocatorTHex__Hexa_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorHexas___delitem__" "', argument " "1"" of type '" "std::vector< Hex::Hexa * > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorHexas___delitem__" "', argument " "1"" of type '" "std::vector<Hex::Hexa * > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::Hexa * > * >(argp1);
+  arg1 = reinterpret_cast< std::vector<Hex::Hexa * > * >(argp1);
   ecode2 = SWIG_AsVal_ptrdiff_t(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorHexas___delitem__" "', argument " "2"" of type '" "std::vector< Hex::Hexa * >::difference_type""'");
+    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorHexas___delitem__" "', argument " "2"" of type '" "std::vector<Hex::Hexa * >::difference_type""'");
   } 
-  arg2 = static_cast< std::vector< Hex::Hexa * >::difference_type >(val2);
+  arg2 = static_cast< std::vector<Hex::Hexa * >::difference_type >(val2);
   try {
-    std_vector_Sl_Hex_Hexa_Sm__Sg____delitem____SWIG_0(arg1,arg2);
+    std_vector_Sl_Hex_Hexa_Sm__Sg____delitem__(arg1,arg2);
   }
   catch(std::out_of_range &_e) {
     SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
@@ -6152,115 +5633,111 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_VectorHexas___getitem____SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_VectorHexas___getitem__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Hexa * > *arg1 = (std::vector< Hex::Hexa * > *) 0 ;
-  PySliceObject *arg2 = (PySliceObject *) 0 ;
+  std::vector<Hex::Hexa * > *arg1 = (std::vector<Hex::Hexa * > *) 0 ;
+  std::vector<Hex::Hexa * >::difference_type arg2 ;
+  std::vector<Hex::Hexa * >::value_type result;
   void *argp1 = 0 ;
   int res1 = 0 ;
+  ptrdiff_t val2 ;
+  int ecode2 = 0 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
-  std::vector< Hex::Hexa *,std::allocator< Hex::Hexa * > > *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OO:VectorHexas___getitem__",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Hexa_p_std__allocatorT_Hex__Hexa_p_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Hexa_p_std__allocatorTHex__Hexa_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorHexas___getitem__" "', argument " "1"" of type '" "std::vector< Hex::Hexa * > *""'"); 
-  }
-  arg1 = reinterpret_cast< std::vector< Hex::Hexa * > * >(argp1);
-  {
-    arg2 = (PySliceObject *) obj1;
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorHexas___getitem__" "', argument " "1"" of type '" "std::vector<Hex::Hexa * > *""'"); 
   }
+  arg1 = reinterpret_cast< std::vector<Hex::Hexa * > * >(argp1);
+  ecode2 = SWIG_AsVal_ptrdiff_t(obj1, &val2);
+  if (!SWIG_IsOK(ecode2)) {
+    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorHexas___getitem__" "', argument " "2"" of type '" "std::vector<Hex::Hexa * >::difference_type""'");
+  } 
+  arg2 = static_cast< std::vector<Hex::Hexa * >::difference_type >(val2);
   try {
-    result = (std::vector< Hex::Hexa *,std::allocator< Hex::Hexa * > > *)std_vector_Sl_Hex_Hexa_Sm__Sg____getitem____SWIG_0(arg1,arg2);
+    result = (std::vector<Hex::Hexa * >::value_type)std_vector_Sl_Hex_Hexa_Sm__Sg____getitem__(arg1,arg2);
   }
   catch(std::out_of_range &_e) {
     SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
   }
   
-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_Hex__Hexa_p_std__allocatorT_Hex__Hexa_p_t_t, 0 |  0 );
+  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_std__vectorTHex__Hexa_p_std__allocatorTHex__Hexa_p_t_t__value_type, 0 |  0 );
   return resultobj;
 fail:
   return NULL;
 }
 
 
-SWIGINTERN PyObject *_wrap_VectorHexas___setitem____SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_VectorHexas___setitem__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Hexa * > *arg1 = (std::vector< Hex::Hexa * > *) 0 ;
-  PySliceObject *arg2 = (PySliceObject *) 0 ;
-  std::vector< Hex::Hexa *,std::allocator< Hex::Hexa * > > *arg3 = 0 ;
+  std::vector<Hex::Hexa * > *arg1 = (std::vector<Hex::Hexa * > *) 0 ;
+  std::vector<Hex::Hexa * >::difference_type arg2 ;
+  std::vector<Hex::Hexa * >::value_type arg3 = (std::vector<Hex::Hexa * >::value_type) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
-  int res3 = SWIG_OLDOBJ ;
+  ptrdiff_t val2 ;
+  int ecode2 = 0 ;
+  void *argp3 = 0 ;
+  int res3 = 0 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
   PyObject * obj2 = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOO:VectorHexas___setitem__",&obj0,&obj1,&obj2)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Hexa_p_std__allocatorT_Hex__Hexa_p_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Hexa_p_std__allocatorTHex__Hexa_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorHexas___setitem__" "', argument " "1"" of type '" "std::vector< Hex::Hexa * > *""'"); 
-  }
-  arg1 = reinterpret_cast< std::vector< Hex::Hexa * > * >(argp1);
-  {
-    arg2 = (PySliceObject *) obj1;
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorHexas___setitem__" "', argument " "1"" of type '" "std::vector<Hex::Hexa * > *""'"); 
   }
-  {
-    std::vector<Hex::Hexa*,std::allocator< Hex::Hexa * > > *ptr = (std::vector<Hex::Hexa*,std::allocator< Hex::Hexa * > > *)0;
-    res3 = swig::asptr(obj2, &ptr);
-    if (!SWIG_IsOK(res3)) {
-      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "VectorHexas___setitem__" "', argument " "3"" of type '" "std::vector< Hex::Hexa *,std::allocator< Hex::Hexa * > > const &""'"); 
-    }
-    if (!ptr) {
-      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "VectorHexas___setitem__" "', argument " "3"" of type '" "std::vector< Hex::Hexa *,std::allocator< Hex::Hexa * > > const &""'"); 
-    }
-    arg3 = ptr;
+  arg1 = reinterpret_cast< std::vector<Hex::Hexa * > * >(argp1);
+  ecode2 = SWIG_AsVal_ptrdiff_t(obj1, &val2);
+  if (!SWIG_IsOK(ecode2)) {
+    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorHexas___setitem__" "', argument " "2"" of type '" "std::vector<Hex::Hexa * >::difference_type""'");
+  } 
+  arg2 = static_cast< std::vector<Hex::Hexa * >::difference_type >(val2);
+  res3 = SWIG_ConvertPtr(obj2, &argp3,SWIGTYPE_std__vectorTHex__Hexa_p_std__allocatorTHex__Hexa_p_t_t__value_type, 0 |  0 );
+  if (!SWIG_IsOK(res3)) {
+    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "VectorHexas___setitem__" "', argument " "3"" of type '" "std::vector<Hex::Hexa * >::value_type""'"); 
   }
+  arg3 = reinterpret_cast< std::vector<Hex::Hexa * >::value_type >(argp3);
   try {
-    std_vector_Sl_Hex_Hexa_Sm__Sg____setitem____SWIG_0(arg1,arg2,(std::vector< Hex::Hexa *,std::allocator< Hex::Hexa * > > const &)*arg3);
+    std_vector_Sl_Hex_Hexa_Sm__Sg____setitem__(arg1,arg2,arg3);
   }
   catch(std::out_of_range &_e) {
     SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
   }
-  catch(std::invalid_argument &_e) {
-    SWIG_exception_fail(SWIG_ValueError, (&_e)->what());
-  }
   
   resultobj = SWIG_Py_Void();
-  if (SWIG_IsNewObj(res3)) delete arg3;
   return resultobj;
 fail:
-  if (SWIG_IsNewObj(res3)) delete arg3;
   return NULL;
 }
 
 
-SWIGINTERN PyObject *_wrap_VectorHexas___delitem____SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_VectorHexas_append(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Hexa * > *arg1 = (std::vector< Hex::Hexa * > *) 0 ;
-  PySliceObject *arg2 = (PySliceObject *) 0 ;
+  std::vector<Hex::Hexa * > *arg1 = (std::vector<Hex::Hexa * > *) 0 ;
+  std::vector<Hex::Hexa * >::value_type arg2 = (std::vector<Hex::Hexa * >::value_type) 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:VectorHexas___delitem__",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Hexa_p_std__allocatorT_Hex__Hexa_p_t_t, 0 |  0 );
+  if (!PyArg_ParseTuple(args,(char *)"OO:VectorHexas_append",&obj0,&obj1)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Hexa_p_std__allocatorTHex__Hexa_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorHexas___delitem__" "', argument " "1"" of type '" "std::vector< Hex::Hexa * > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorHexas_append" "', argument " "1"" of type '" "std::vector<Hex::Hexa * > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::Hexa * > * >(argp1);
-  {
-    arg2 = (PySliceObject *) obj1;
-  }
-  try {
-    std_vector_Sl_Hex_Hexa_Sm__Sg____delitem____SWIG_1(arg1,arg2);
-  }
-  catch(std::out_of_range &_e) {
-    SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
+  arg1 = reinterpret_cast< std::vector<Hex::Hexa * > * >(argp1);
+  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_std__vectorTHex__Hexa_p_std__allocatorTHex__Hexa_p_t_t__value_type, 0 |  0 );
+  if (!SWIG_IsOK(res2)) {
+    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "VectorHexas_append" "', argument " "2"" of type '" "std::vector<Hex::Hexa * >::value_type""'"); 
   }
-  
+  arg2 = reinterpret_cast< std::vector<Hex::Hexa * >::value_type >(argp2);
+  std_vector_Sl_Hex_Hexa_Sm__Sg__append(arg1,arg2);
   resultobj = SWIG_Py_Void();
   return resultobj;
 fail:
@@ -6268,175 +5745,139 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_VectorHexas___delitem__(PyObject *self, PyObject *args) {
-  int argc;
-  PyObject *argv[3];
-  int ii;
+SWIGINTERN PyObject *_wrap_new_VectorHexas__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+  PyObject *resultobj = 0;
+  std::vector<Hex::Hexa * > *result = 0 ;
   
-  if (!PyTuple_Check(args)) SWIG_fail;
-  argc = (int)PyObject_Length(args);
-  for (ii = 0; (ii < argc) && (ii < 2); ii++) {
-    argv[ii] = PyTuple_GET_ITEM(args,ii);
-  }
-  if (argc == 2) {
-    int _v;
-    int res = swig::asptr(argv[0], (std::vector<Hex::Hexa*,std::allocator< Hex::Hexa * > >**)(0));
-    _v = SWIG_CheckState(res);
-    if (_v) {
-      {
-        _v = PySlice_Check(argv[1]);
-      }
-      if (_v) {
-        return _wrap_VectorHexas___delitem____SWIG_1(self, args);
-      }
+  if (!PyArg_ParseTuple(args,(char *)":new_VectorHexas")) SWIG_fail;
+  result = (std::vector<Hex::Hexa * > *)new std::vector<Hex::Hexa * >();
+  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorTHex__Hexa_p_std__allocatorTHex__Hexa_p_t_t, SWIG_POINTER_NEW |  0 );
+  return resultobj;
+fail:
+  return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_new_VectorHexas__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+  PyObject *resultobj = 0;
+  std::vector<Hex::Hexa * > *arg1 = 0 ;
+  std::vector<Hex::Hexa * > *result = 0 ;
+  int res1 = SWIG_OLDOBJ ;
+  PyObject * obj0 = 0 ;
+  
+  if (!PyArg_ParseTuple(args,(char *)"O:new_VectorHexas",&obj0)) SWIG_fail;
+  {
+    std::vector<Hex::Hexa*,std::allocator<Hex::Hexa * > > *ptr = (std::vector<Hex::Hexa*,std::allocator<Hex::Hexa * > > *)0;
+    res1 = swig::asptr(obj0, &ptr);
+    if (!SWIG_IsOK(res1)) {
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_VectorHexas" "', argument " "1"" of type '" "std::vector<Hex::Hexa * > const &""'"); 
     }
-  }
-  if (argc == 2) {
-    int _v;
-    int res = swig::asptr(argv[0], (std::vector<Hex::Hexa*,std::allocator< Hex::Hexa * > >**)(0));
-    _v = SWIG_CheckState(res);
-    if (_v) {
-      {
-        int res = SWIG_AsVal_ptrdiff_t(argv[1], NULL);
-        _v = SWIG_CheckState(res);
-      }
-      if (_v) {
-        return _wrap_VectorHexas___delitem____SWIG_0(self, args);
-      }
+    if (!ptr) {
+      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_VectorHexas" "', argument " "1"" of type '" "std::vector<Hex::Hexa * > const &""'"); 
     }
+    arg1 = ptr;
   }
-  
+  result = (std::vector<Hex::Hexa * > *)new std::vector<Hex::Hexa * >((std::vector<Hex::Hexa * > const &)*arg1);
+  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorTHex__Hexa_p_std__allocatorTHex__Hexa_p_t_t, SWIG_POINTER_NEW |  0 );
+  if (SWIG_IsNewObj(res1)) delete arg1;
+  return resultobj;
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'VectorHexas___delitem__'.\n"
-    "  Possible C/C++ prototypes are:\n"
-    "    __delitem__(std::vector< Hex::Hexa * > *,std::vector< Hex::Hexa * >::difference_type)\n"
-    "    __delitem__(std::vector< Hex::Hexa * > *,PySliceObject *)\n");
+  if (SWIG_IsNewObj(res1)) delete arg1;
   return NULL;
 }
 
 
-SWIGINTERN PyObject *_wrap_VectorHexas___getitem____SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_VectorHexas_empty(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Hexa * > *arg1 = (std::vector< Hex::Hexa * > *) 0 ;
-  std::vector< Hex::Hexa * >::difference_type arg2 ;
+  std::vector<Hex::Hexa * > *arg1 = (std::vector<Hex::Hexa * > *) 0 ;
+  bool result;
   void *argp1 = 0 ;
   int res1 = 0 ;
-  ptrdiff_t val2 ;
-  int ecode2 = 0 ;
   PyObject * obj0 = 0 ;
-  PyObject * obj1 = 0 ;
-  std::vector< Hex::Hexa * >::value_type result;
   
-  if (!PyArg_ParseTuple(args,(char *)"OO:VectorHexas___getitem__",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Hexa_p_std__allocatorT_Hex__Hexa_p_t_t, 0 |  0 );
+  if (!PyArg_ParseTuple(args,(char *)"O:VectorHexas_empty",&obj0)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Hexa_p_std__allocatorTHex__Hexa_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorHexas___getitem__" "', argument " "1"" of type '" "std::vector< Hex::Hexa * > *""'"); 
-  }
-  arg1 = reinterpret_cast< std::vector< Hex::Hexa * > * >(argp1);
-  ecode2 = SWIG_AsVal_ptrdiff_t(obj1, &val2);
-  if (!SWIG_IsOK(ecode2)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorHexas___getitem__" "', argument " "2"" of type '" "std::vector< Hex::Hexa * >::difference_type""'");
-  } 
-  arg2 = static_cast< std::vector< Hex::Hexa * >::difference_type >(val2);
-  try {
-    result = (std::vector< Hex::Hexa * >::value_type)std_vector_Sl_Hex_Hexa_Sm__Sg____getitem____SWIG_1(arg1,arg2);
-  }
-  catch(std::out_of_range &_e) {
-    SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorHexas_empty" "', argument " "1"" of type '" "std::vector<Hex::Hexa * > const *""'"); 
   }
-  
-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_std__vectorT_Hex__Hexa_p_std__allocatorT_Hex__Hexa_p_t_t__value_type, 0 |  0 );
+  arg1 = reinterpret_cast< std::vector<Hex::Hexa * > * >(argp1);
+  result = (bool)((std::vector<Hex::Hexa * > const *)arg1)->empty();
+  resultobj = SWIG_From_bool(static_cast< bool >(result));
   return resultobj;
 fail:
   return NULL;
 }
 
 
-SWIGINTERN PyObject *_wrap_VectorHexas___getitem__(PyObject *self, PyObject *args) {
-  int argc;
-  PyObject *argv[3];
-  int ii;
+SWIGINTERN PyObject *_wrap_VectorHexas_size(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+  PyObject *resultobj = 0;
+  std::vector<Hex::Hexa * > *arg1 = (std::vector<Hex::Hexa * > *) 0 ;
+  std::vector<Hex::Hexa * >::size_type result;
+  void *argp1 = 0 ;
+  int res1 = 0 ;
+  PyObject * obj0 = 0 ;
   
-  if (!PyTuple_Check(args)) SWIG_fail;
-  argc = (int)PyObject_Length(args);
-  for (ii = 0; (ii < argc) && (ii < 2); ii++) {
-    argv[ii] = PyTuple_GET_ITEM(args,ii);
-  }
-  if (argc == 2) {
-    int _v;
-    int res = swig::asptr(argv[0], (std::vector<Hex::Hexa*,std::allocator< Hex::Hexa * > >**)(0));
-    _v = SWIG_CheckState(res);
-    if (_v) {
-      {
-        _v = PySlice_Check(argv[1]);
-      }
-      if (_v) {
-        return _wrap_VectorHexas___getitem____SWIG_0(self, args);
-      }
-    }
-  }
-  if (argc == 2) {
-    int _v;
-    int res = swig::asptr(argv[0], (std::vector<Hex::Hexa*,std::allocator< Hex::Hexa * > >**)(0));
-    _v = SWIG_CheckState(res);
-    if (_v) {
-      {
-        int res = SWIG_AsVal_ptrdiff_t(argv[1], NULL);
-        _v = SWIG_CheckState(res);
-      }
-      if (_v) {
-        return _wrap_VectorHexas___getitem____SWIG_1(self, args);
-      }
-    }
+  if (!PyArg_ParseTuple(args,(char *)"O:VectorHexas_size",&obj0)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Hexa_p_std__allocatorTHex__Hexa_p_t_t, 0 |  0 );
+  if (!SWIG_IsOK(res1)) {
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorHexas_size" "', argument " "1"" of type '" "std::vector<Hex::Hexa * > const *""'"); 
   }
+  arg1 = reinterpret_cast< std::vector<Hex::Hexa * > * >(argp1);
+  result = ((std::vector<Hex::Hexa * > const *)arg1)->size();
+  resultobj = SWIG_From_size_t(static_cast< size_t >(result));
+  return resultobj;
+fail:
+  return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_VectorHexas_clear(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+  PyObject *resultobj = 0;
+  std::vector<Hex::Hexa * > *arg1 = (std::vector<Hex::Hexa * > *) 0 ;
+  void *argp1 = 0 ;
+  int res1 = 0 ;
+  PyObject * obj0 = 0 ;
   
+  if (!PyArg_ParseTuple(args,(char *)"O:VectorHexas_clear",&obj0)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Hexa_p_std__allocatorTHex__Hexa_p_t_t, 0 |  0 );
+  if (!SWIG_IsOK(res1)) {
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorHexas_clear" "', argument " "1"" of type '" "std::vector<Hex::Hexa * > *""'"); 
+  }
+  arg1 = reinterpret_cast< std::vector<Hex::Hexa * > * >(argp1);
+  (arg1)->clear();
+  resultobj = SWIG_Py_Void();
+  return resultobj;
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'VectorHexas___getitem__'.\n"
-    "  Possible C/C++ prototypes are:\n"
-    "    __getitem__(std::vector< Hex::Hexa * > *,PySliceObject *)\n"
-    "    __getitem__(std::vector< Hex::Hexa * > *,std::vector< Hex::Hexa * >::difference_type)\n");
   return NULL;
 }
 
 
-SWIGINTERN PyObject *_wrap_VectorHexas___setitem____SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_VectorHexas_swap(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Hexa * > *arg1 = (std::vector< Hex::Hexa * > *) 0 ;
-  std::vector< Hex::Hexa * >::difference_type arg2 ;
-  std::vector< Hex::Hexa * >::value_type arg3 = (std::vector< Hex::Hexa * >::value_type) 0 ;
+  std::vector<Hex::Hexa * > *arg1 = (std::vector<Hex::Hexa * > *) 0 ;
+  std::vector<Hex::Hexa * > *arg2 = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
-  ptrdiff_t val2 ;
-  int ecode2 = 0 ;
-  void *argp3 = 0 ;
-  int res3 = 0 ;
+  void *argp2 = 0 ;
+  int res2 = 0 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
-  PyObject * obj2 = 0 ;
   
-  if (!PyArg_ParseTuple(args,(char *)"OOO:VectorHexas___setitem__",&obj0,&obj1,&obj2)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Hexa_p_std__allocatorT_Hex__Hexa_p_t_t, 0 |  0 );
+  if (!PyArg_ParseTuple(args,(char *)"OO:VectorHexas_swap",&obj0,&obj1)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Hexa_p_std__allocatorTHex__Hexa_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorHexas___setitem__" "', argument " "1"" of type '" "std::vector< Hex::Hexa * > *""'"); 
-  }
-  arg1 = reinterpret_cast< std::vector< Hex::Hexa * > * >(argp1);
-  ecode2 = SWIG_AsVal_ptrdiff_t(obj1, &val2);
-  if (!SWIG_IsOK(ecode2)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorHexas___setitem__" "', argument " "2"" of type '" "std::vector< Hex::Hexa * >::difference_type""'");
-  } 
-  arg2 = static_cast< std::vector< Hex::Hexa * >::difference_type >(val2);
-  res3 = SWIG_ConvertPtr(obj2, &argp3,SWIGTYPE_std__vectorT_Hex__Hexa_p_std__allocatorT_Hex__Hexa_p_t_t__value_type, 0 |  0 );
-  if (!SWIG_IsOK(res3)) {
-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "VectorHexas___setitem__" "', argument " "3"" of type '" "std::vector< Hex::Hexa * >::value_type""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorHexas_swap" "', argument " "1"" of type '" "std::vector<Hex::Hexa * > *""'"); 
   }
-  arg3 = reinterpret_cast< std::vector< Hex::Hexa * >::value_type >(argp3);
-  try {
-    std_vector_Sl_Hex_Hexa_Sm__Sg____setitem____SWIG_1(arg1,arg2,arg3);
+  arg1 = reinterpret_cast< std::vector<Hex::Hexa * > * >(argp1);
+  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_std__vectorTHex__Hexa_p_std__allocatorTHex__Hexa_p_t_t,  0 );
+  if (!SWIG_IsOK(res2)) {
+    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "VectorHexas_swap" "', argument " "2"" of type '" "std::vector<Hex::Hexa * > &""'"); 
   }
-  catch(std::out_of_range &_e) {
-    SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
+  if (!argp2) {
+    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "VectorHexas_swap" "', argument " "2"" of type '" "std::vector<Hex::Hexa * > &""'"); 
   }
-  
+  arg2 = reinterpret_cast< std::vector<Hex::Hexa * > * >(argp2);
+  (arg1)->swap(*arg2);
   resultobj = SWIG_Py_Void();
   return resultobj;
 fail:
@@ -6444,362 +5885,360 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_VectorHexas___setitem__(PyObject *self, PyObject *args) {
-  int argc;
-  PyObject *argv[4];
-  int ii;
+SWIGINTERN PyObject *_wrap_VectorHexas_get_allocator(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+  PyObject *resultobj = 0;
+  std::vector<Hex::Hexa * > *arg1 = (std::vector<Hex::Hexa * > *) 0 ;
+  SwigValueWrapper<std::allocator<Hex::Hexa * > > result;
+  void *argp1 = 0 ;
+  int res1 = 0 ;
+  PyObject * obj0 = 0 ;
   
-  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 == 3) {
-    int _v;
-    int res = swig::asptr(argv[0], (std::vector<Hex::Hexa*,std::allocator< Hex::Hexa * > >**)(0));
-    _v = SWIG_CheckState(res);
-    if (_v) {
-      {
-        _v = PySlice_Check(argv[1]);
-      }
-      if (_v) {
-        int res = swig::asptr(argv[2], (std::vector<Hex::Hexa*,std::allocator< Hex::Hexa * > >**)(0));
-        _v = SWIG_CheckState(res);
-        if (_v) {
-          return _wrap_VectorHexas___setitem____SWIG_0(self, args);
-        }
-      }
-    }
-  }
-  if (argc == 3) {
-    int _v;
-    int res = swig::asptr(argv[0], (std::vector<Hex::Hexa*,std::allocator< Hex::Hexa * > >**)(0));
-    _v = SWIG_CheckState(res);
-    if (_v) {
-      {
-        int res = SWIG_AsVal_ptrdiff_t(argv[1], NULL);
-        _v = SWIG_CheckState(res);
-      }
-      if (_v) {
-        void *vptr = 0;
-        int res = SWIG_ConvertPtr(argv[2], &vptr, SWIGTYPE_std__vectorT_Hex__Hexa_p_std__allocatorT_Hex__Hexa_p_t_t__value_type, 0);
-        _v = SWIG_CheckState(res);
-        if (_v) {
-          return _wrap_VectorHexas___setitem____SWIG_1(self, args);
-        }
-      }
-    }
+  if (!PyArg_ParseTuple(args,(char *)"O:VectorHexas_get_allocator",&obj0)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Hexa_p_std__allocatorTHex__Hexa_p_t_t, 0 |  0 );
+  if (!SWIG_IsOK(res1)) {
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorHexas_get_allocator" "', argument " "1"" of type '" "std::vector<Hex::Hexa * > const *""'"); 
   }
-  
+  arg1 = reinterpret_cast< std::vector<Hex::Hexa * > * >(argp1);
+  result = ((std::vector<Hex::Hexa * > const *)arg1)->get_allocator();
+  resultobj = SWIG_NewPointerObj((new std::vector<Hex::Hexa * >::allocator_type(static_cast< const std::vector<Hex::Hexa * >::allocator_type& >(result))), SWIGTYPE_p_std__vectorTHex__Hexa_p_std__allocatorTHex__Hexa_p_t_t__allocator_type, SWIG_POINTER_OWN |  0 );
+  return resultobj;
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'VectorHexas___setitem__'.\n"
-    "  Possible C/C++ prototypes are:\n"
-    "    __setitem__(std::vector< Hex::Hexa * > *,PySliceObject *,std::vector< Hex::Hexa *,std::allocator< Hex::Hexa * > > const &)\n"
-    "    __setitem__(std::vector< Hex::Hexa * > *,std::vector< Hex::Hexa * >::difference_type,std::vector< Hex::Hexa * >::value_type)\n");
   return NULL;
 }
 
 
-SWIGINTERN PyObject *_wrap_VectorHexas_append(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_VectorHexas_begin__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Hexa * > *arg1 = (std::vector< Hex::Hexa * > *) 0 ;
-  std::vector< Hex::Hexa * >::value_type arg2 = (std::vector< Hex::Hexa * >::value_type) 0 ;
+  std::vector<Hex::Hexa * > *arg1 = (std::vector<Hex::Hexa * > *) 0 ;
+  std::vector<Hex::Hexa * >::iterator result;
   void *argp1 = 0 ;
   int res1 = 0 ;
-  void *argp2 = 0 ;
-  int res2 = 0 ;
   PyObject * obj0 = 0 ;
-  PyObject * obj1 = 0 ;
   
-  if (!PyArg_ParseTuple(args,(char *)"OO:VectorHexas_append",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Hexa_p_std__allocatorT_Hex__Hexa_p_t_t, 0 |  0 );
+  if (!PyArg_ParseTuple(args,(char *)"O:VectorHexas_begin",&obj0)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Hexa_p_std__allocatorTHex__Hexa_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorHexas_append" "', argument " "1"" of type '" "std::vector< Hex::Hexa * > *""'"); 
-  }
-  arg1 = reinterpret_cast< std::vector< Hex::Hexa * > * >(argp1);
-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_std__vectorT_Hex__Hexa_p_std__allocatorT_Hex__Hexa_p_t_t__value_type, 0 |  0 );
-  if (!SWIG_IsOK(res2)) {
-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "VectorHexas_append" "', argument " "2"" of type '" "std::vector< Hex::Hexa * >::value_type""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorHexas_begin" "', argument " "1"" of type '" "std::vector<Hex::Hexa * > *""'"); 
   }
-  arg2 = reinterpret_cast< std::vector< Hex::Hexa * >::value_type >(argp2);
-  std_vector_Sl_Hex_Hexa_Sm__Sg__append(arg1,arg2);
-  resultobj = SWIG_Py_Void();
+  arg1 = reinterpret_cast< std::vector<Hex::Hexa * > * >(argp1);
+  result = (arg1)->begin();
+  resultobj = SWIG_NewPointerObj(swig::make_output_iterator(static_cast< const std::vector<Hex::Hexa * >::iterator & >(result)),
+    swig::PySwigIterator::descriptor(),SWIG_POINTER_OWN);
   return resultobj;
 fail:
   return NULL;
 }
 
 
-SWIGINTERN PyObject *_wrap_new_VectorHexas__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_VectorHexas_begin__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Hexa * > *result = 0 ;
+  std::vector<Hex::Hexa * > *arg1 = (std::vector<Hex::Hexa * > *) 0 ;
+  std::vector<Hex::Hexa * >::const_iterator result;
+  void *argp1 = 0 ;
+  int res1 = 0 ;
+  PyObject * obj0 = 0 ;
   
-  if (!PyArg_ParseTuple(args,(char *)":new_VectorHexas")) SWIG_fail;
-  result = (std::vector< Hex::Hexa * > *)new std::vector< Hex::Hexa * >();
-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_Hex__Hexa_p_std__allocatorT_Hex__Hexa_p_t_t, SWIG_POINTER_NEW |  0 );
+  if (!PyArg_ParseTuple(args,(char *)"O:VectorHexas_begin",&obj0)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Hexa_p_std__allocatorTHex__Hexa_p_t_t, 0 |  0 );
+  if (!SWIG_IsOK(res1)) {
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorHexas_begin" "', argument " "1"" of type '" "std::vector<Hex::Hexa * > const *""'"); 
+  }
+  arg1 = reinterpret_cast< std::vector<Hex::Hexa * > * >(argp1);
+  result = ((std::vector<Hex::Hexa * > const *)arg1)->begin();
+  resultobj = SWIG_NewPointerObj(swig::make_output_iterator(static_cast< const std::vector<Hex::Hexa * >::const_iterator & >(result)),
+    swig::PySwigIterator::descriptor(),SWIG_POINTER_OWN);
   return resultobj;
 fail:
   return NULL;
 }
 
 
-SWIGINTERN PyObject *_wrap_new_VectorHexas__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
-  PyObject *resultobj = 0;
-  std::vector< Hex::Hexa * > *arg1 = 0 ;
-  int res1 = SWIG_OLDOBJ ;
-  PyObject * obj0 = 0 ;
-  std::vector< Hex::Hexa * > *result = 0 ;
+SWIGINTERN PyObject *_wrap_VectorHexas_begin(PyObject *self, PyObject *args) {
+  int argc;
+  PyObject *argv[2];
+  int ii;
   
-  if (!PyArg_ParseTuple(args,(char *)"O:new_VectorHexas",&obj0)) SWIG_fail;
-  {
-    std::vector<Hex::Hexa*,std::allocator< Hex::Hexa * > > *ptr = (std::vector<Hex::Hexa*,std::allocator< Hex::Hexa * > > *)0;
-    res1 = swig::asptr(obj0, &ptr);
-    if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_VectorHexas" "', argument " "1"" of type '" "std::vector< Hex::Hexa * > const &""'"); 
+  if (!PyTuple_Check(args)) SWIG_fail;
+  argc = PyObject_Length(args);
+  for (ii = 0; (ii < argc) && (ii < 1); ii++) {
+    argv[ii] = PyTuple_GET_ITEM(args,ii);
+  }
+  if (argc == 1) {
+    int _v;
+    int res = swig::asptr(argv[0], (std::vector<Hex::Hexa*,std::allocator<Hex::Hexa * > >**)(0));
+    _v = SWIG_CheckState(res);
+    if (_v) {
+      return _wrap_VectorHexas_begin__SWIG_0(self, args);
     }
-    if (!ptr) {
-      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_VectorHexas" "', argument " "1"" of type '" "std::vector< Hex::Hexa * > const &""'"); 
+  }
+  if (argc == 1) {
+    int _v;
+    int res = swig::asptr(argv[0], (std::vector<Hex::Hexa*,std::allocator<Hex::Hexa * > >**)(0));
+    _v = SWIG_CheckState(res);
+    if (_v) {
+      return _wrap_VectorHexas_begin__SWIG_1(self, args);
     }
-    arg1 = ptr;
   }
-  result = (std::vector< Hex::Hexa * > *)new std::vector< Hex::Hexa * >((std::vector< Hex::Hexa * > const &)*arg1);
-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_Hex__Hexa_p_std__allocatorT_Hex__Hexa_p_t_t, SWIG_POINTER_NEW |  0 );
-  if (SWIG_IsNewObj(res1)) delete arg1;
-  return resultobj;
+  
 fail:
-  if (SWIG_IsNewObj(res1)) delete arg1;
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'VectorHexas_begin'.\n  Possible C/C++ prototypes are:\n    begin()\n    begin()\n");
   return NULL;
 }
 
 
-SWIGINTERN PyObject *_wrap_VectorHexas_empty(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_VectorHexas_end__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Hexa * > *arg1 = (std::vector< Hex::Hexa * > *) 0 ;
+  std::vector<Hex::Hexa * > *arg1 = (std::vector<Hex::Hexa * > *) 0 ;
+  std::vector<Hex::Hexa * >::iterator result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  bool result;
   
-  if (!PyArg_ParseTuple(args,(char *)"O:VectorHexas_empty",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Hexa_p_std__allocatorT_Hex__Hexa_p_t_t, 0 |  0 );
+  if (!PyArg_ParseTuple(args,(char *)"O:VectorHexas_end",&obj0)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Hexa_p_std__allocatorTHex__Hexa_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorHexas_empty" "', argument " "1"" of type '" "std::vector< Hex::Hexa * > const *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorHexas_end" "', argument " "1"" of type '" "std::vector<Hex::Hexa * > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::Hexa * > * >(argp1);
-  result = (bool)((std::vector< Hex::Hexa * > const *)arg1)->empty();
-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+  arg1 = reinterpret_cast< std::vector<Hex::Hexa * > * >(argp1);
+  result = (arg1)->end();
+  resultobj = SWIG_NewPointerObj(swig::make_output_iterator(static_cast< const std::vector<Hex::Hexa * >::iterator & >(result)),
+    swig::PySwigIterator::descriptor(),SWIG_POINTER_OWN);
   return resultobj;
 fail:
   return NULL;
 }
 
 
-SWIGINTERN PyObject *_wrap_VectorHexas_size(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_VectorHexas_end__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Hexa * > *arg1 = (std::vector< Hex::Hexa * > *) 0 ;
+  std::vector<Hex::Hexa * > *arg1 = (std::vector<Hex::Hexa * > *) 0 ;
+  std::vector<Hex::Hexa * >::const_iterator result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  std::vector< Hex::Hexa * >::size_type result;
   
-  if (!PyArg_ParseTuple(args,(char *)"O:VectorHexas_size",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Hexa_p_std__allocatorT_Hex__Hexa_p_t_t, 0 |  0 );
+  if (!PyArg_ParseTuple(args,(char *)"O:VectorHexas_end",&obj0)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Hexa_p_std__allocatorTHex__Hexa_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorHexas_size" "', argument " "1"" of type '" "std::vector< Hex::Hexa * > const *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorHexas_end" "', argument " "1"" of type '" "std::vector<Hex::Hexa * > const *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::Hexa * > * >(argp1);
-  result = ((std::vector< Hex::Hexa * > const *)arg1)->size();
-  resultobj = SWIG_From_size_t(static_cast< size_t >(result));
+  arg1 = reinterpret_cast< std::vector<Hex::Hexa * > * >(argp1);
+  result = ((std::vector<Hex::Hexa * > const *)arg1)->end();
+  resultobj = SWIG_NewPointerObj(swig::make_output_iterator(static_cast< const std::vector<Hex::Hexa * >::const_iterator & >(result)),
+    swig::PySwigIterator::descriptor(),SWIG_POINTER_OWN);
   return resultobj;
 fail:
   return NULL;
 }
 
 
-SWIGINTERN PyObject *_wrap_VectorHexas_clear(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
-  PyObject *resultobj = 0;
-  std::vector< Hex::Hexa * > *arg1 = (std::vector< Hex::Hexa * > *) 0 ;
-  void *argp1 = 0 ;
-  int res1 = 0 ;
-  PyObject * obj0 = 0 ;
+SWIGINTERN PyObject *_wrap_VectorHexas_end(PyObject *self, PyObject *args) {
+  int argc;
+  PyObject *argv[2];
+  int ii;
   
-  if (!PyArg_ParseTuple(args,(char *)"O:VectorHexas_clear",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Hexa_p_std__allocatorT_Hex__Hexa_p_t_t, 0 |  0 );
-  if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorHexas_clear" "', argument " "1"" of type '" "std::vector< Hex::Hexa * > *""'"); 
+  if (!PyTuple_Check(args)) SWIG_fail;
+  argc = PyObject_Length(args);
+  for (ii = 0; (ii < argc) && (ii < 1); ii++) {
+    argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
-  arg1 = reinterpret_cast< std::vector< Hex::Hexa * > * >(argp1);
-  (arg1)->clear();
-  resultobj = SWIG_Py_Void();
-  return resultobj;
+  if (argc == 1) {
+    int _v;
+    int res = swig::asptr(argv[0], (std::vector<Hex::Hexa*,std::allocator<Hex::Hexa * > >**)(0));
+    _v = SWIG_CheckState(res);
+    if (_v) {
+      return _wrap_VectorHexas_end__SWIG_0(self, args);
+    }
+  }
+  if (argc == 1) {
+    int _v;
+    int res = swig::asptr(argv[0], (std::vector<Hex::Hexa*,std::allocator<Hex::Hexa * > >**)(0));
+    _v = SWIG_CheckState(res);
+    if (_v) {
+      return _wrap_VectorHexas_end__SWIG_1(self, args);
+    }
+  }
+  
 fail:
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'VectorHexas_end'.\n  Possible C/C++ prototypes are:\n    end()\n    end()\n");
   return NULL;
 }
 
 
-SWIGINTERN PyObject *_wrap_VectorHexas_swap(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_VectorHexas_rbegin__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Hexa * > *arg1 = (std::vector< Hex::Hexa * > *) 0 ;
-  std::vector< Hex::Hexa * > *arg2 = 0 ;
+  std::vector<Hex::Hexa * > *arg1 = (std::vector<Hex::Hexa * > *) 0 ;
+  std::vector<Hex::Hexa * >::reverse_iterator result;
   void *argp1 = 0 ;
   int res1 = 0 ;
-  void *argp2 = 0 ;
-  int res2 = 0 ;
   PyObject * obj0 = 0 ;
-  PyObject * obj1 = 0 ;
   
-  if (!PyArg_ParseTuple(args,(char *)"OO:VectorHexas_swap",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Hexa_p_std__allocatorT_Hex__Hexa_p_t_t, 0 |  0 );
+  if (!PyArg_ParseTuple(args,(char *)"O:VectorHexas_rbegin",&obj0)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Hexa_p_std__allocatorTHex__Hexa_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorHexas_swap" "', argument " "1"" of type '" "std::vector< Hex::Hexa * > *""'"); 
-  }
-  arg1 = reinterpret_cast< std::vector< Hex::Hexa * > * >(argp1);
-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_std__vectorT_Hex__Hexa_p_std__allocatorT_Hex__Hexa_p_t_t,  0 );
-  if (!SWIG_IsOK(res2)) {
-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "VectorHexas_swap" "', argument " "2"" of type '" "std::vector< Hex::Hexa * > &""'"); 
-  }
-  if (!argp2) {
-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "VectorHexas_swap" "', argument " "2"" of type '" "std::vector< Hex::Hexa * > &""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorHexas_rbegin" "', argument " "1"" of type '" "std::vector<Hex::Hexa * > *""'"); 
   }
-  arg2 = reinterpret_cast< std::vector< Hex::Hexa * > * >(argp2);
-  (arg1)->swap(*arg2);
-  resultobj = SWIG_Py_Void();
+  arg1 = reinterpret_cast< std::vector<Hex::Hexa * > * >(argp1);
+  result = (arg1)->rbegin();
+  resultobj = SWIG_NewPointerObj(swig::make_output_iterator(static_cast< const std::vector<Hex::Hexa * >::reverse_iterator & >(result)),
+    swig::PySwigIterator::descriptor(),SWIG_POINTER_OWN);
   return resultobj;
 fail:
   return NULL;
 }
 
 
-SWIGINTERN PyObject *_wrap_VectorHexas_get_allocator(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_VectorHexas_rbegin__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Hexa * > *arg1 = (std::vector< Hex::Hexa * > *) 0 ;
+  std::vector<Hex::Hexa * > *arg1 = (std::vector<Hex::Hexa * > *) 0 ;
+  std::vector<Hex::Hexa * >::const_reverse_iterator result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  SwigValueWrapper< std::allocator< Hex::Hexa * > > result;
   
-  if (!PyArg_ParseTuple(args,(char *)"O:VectorHexas_get_allocator",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Hexa_p_std__allocatorT_Hex__Hexa_p_t_t, 0 |  0 );
+  if (!PyArg_ParseTuple(args,(char *)"O:VectorHexas_rbegin",&obj0)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Hexa_p_std__allocatorTHex__Hexa_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorHexas_get_allocator" "', argument " "1"" of type '" "std::vector< Hex::Hexa * > const *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorHexas_rbegin" "', argument " "1"" of type '" "std::vector<Hex::Hexa * > const *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::Hexa * > * >(argp1);
-  result = ((std::vector< Hex::Hexa * > const *)arg1)->get_allocator();
-  resultobj = SWIG_NewPointerObj((new std::vector< Hex::Hexa * >::allocator_type(static_cast< const std::vector< Hex::Hexa * >::allocator_type& >(result))), SWIGTYPE_p_std__vectorT_Hex__Hexa_p_std__allocatorT_Hex__Hexa_p_t_t__allocator_type, SWIG_POINTER_OWN |  0 );
+  arg1 = reinterpret_cast< std::vector<Hex::Hexa * > * >(argp1);
+  result = ((std::vector<Hex::Hexa * > const *)arg1)->rbegin();
+  resultobj = SWIG_NewPointerObj(swig::make_output_iterator(static_cast< const std::vector<Hex::Hexa * >::const_reverse_iterator & >(result)),
+    swig::PySwigIterator::descriptor(),SWIG_POINTER_OWN);
   return resultobj;
 fail:
   return NULL;
 }
 
 
-SWIGINTERN PyObject *_wrap_VectorHexas_begin(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
-  PyObject *resultobj = 0;
-  std::vector< Hex::Hexa * > *arg1 = (std::vector< Hex::Hexa * > *) 0 ;
-  void *argp1 = 0 ;
-  int res1 = 0 ;
-  PyObject * obj0 = 0 ;
-  std::vector< Hex::Hexa * >::const_iterator result;
+SWIGINTERN PyObject *_wrap_VectorHexas_rbegin(PyObject *self, PyObject *args) {
+  int argc;
+  PyObject *argv[2];
+  int ii;
   
-  if (!PyArg_ParseTuple(args,(char *)"O:VectorHexas_begin",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Hexa_p_std__allocatorT_Hex__Hexa_p_t_t, 0 |  0 );
-  if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorHexas_begin" "', argument " "1"" of type '" "std::vector< Hex::Hexa * > const *""'"); 
+  if (!PyTuple_Check(args)) SWIG_fail;
+  argc = PyObject_Length(args);
+  for (ii = 0; (ii < argc) && (ii < 1); ii++) {
+    argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
-  arg1 = reinterpret_cast< std::vector< Hex::Hexa * > * >(argp1);
-  result = ((std::vector< Hex::Hexa * > const *)arg1)->begin();
-  resultobj = SWIG_NewPointerObj(swig::make_output_iterator(static_cast< const std::vector< Hex::Hexa * >::const_iterator & >(result)),
-    swig::SwigPyIterator::descriptor(),SWIG_POINTER_OWN);
-  return resultobj;
+  if (argc == 1) {
+    int _v;
+    int res = swig::asptr(argv[0], (std::vector<Hex::Hexa*,std::allocator<Hex::Hexa * > >**)(0));
+    _v = SWIG_CheckState(res);
+    if (_v) {
+      return _wrap_VectorHexas_rbegin__SWIG_0(self, args);
+    }
+  }
+  if (argc == 1) {
+    int _v;
+    int res = swig::asptr(argv[0], (std::vector<Hex::Hexa*,std::allocator<Hex::Hexa * > >**)(0));
+    _v = SWIG_CheckState(res);
+    if (_v) {
+      return _wrap_VectorHexas_rbegin__SWIG_1(self, args);
+    }
+  }
+  
 fail:
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'VectorHexas_rbegin'.\n  Possible C/C++ prototypes are:\n    rbegin()\n    rbegin()\n");
   return NULL;
 }
 
 
-SWIGINTERN PyObject *_wrap_VectorHexas_end(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_VectorHexas_rend__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Hexa * > *arg1 = (std::vector< Hex::Hexa * > *) 0 ;
+  std::vector<Hex::Hexa * > *arg1 = (std::vector<Hex::Hexa * > *) 0 ;
+  std::vector<Hex::Hexa * >::reverse_iterator result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  std::vector< Hex::Hexa * >::const_iterator result;
   
-  if (!PyArg_ParseTuple(args,(char *)"O:VectorHexas_end",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Hexa_p_std__allocatorT_Hex__Hexa_p_t_t, 0 |  0 );
+  if (!PyArg_ParseTuple(args,(char *)"O:VectorHexas_rend",&obj0)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Hexa_p_std__allocatorTHex__Hexa_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorHexas_end" "', argument " "1"" of type '" "std::vector< Hex::Hexa * > const *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorHexas_rend" "', argument " "1"" of type '" "std::vector<Hex::Hexa * > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::Hexa * > * >(argp1);
-  result = ((std::vector< Hex::Hexa * > const *)arg1)->end();
-  resultobj = SWIG_NewPointerObj(swig::make_output_iterator(static_cast< const std::vector< Hex::Hexa * >::const_iterator & >(result)),
-    swig::SwigPyIterator::descriptor(),SWIG_POINTER_OWN);
+  arg1 = reinterpret_cast< std::vector<Hex::Hexa * > * >(argp1);
+  result = (arg1)->rend();
+  resultobj = SWIG_NewPointerObj(swig::make_output_iterator(static_cast< const std::vector<Hex::Hexa * >::reverse_iterator & >(result)),
+    swig::PySwigIterator::descriptor(),SWIG_POINTER_OWN);
   return resultobj;
 fail:
   return NULL;
 }
 
 
-SWIGINTERN PyObject *_wrap_VectorHexas_rbegin(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_VectorHexas_rend__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Hexa * > *arg1 = (std::vector< Hex::Hexa * > *) 0 ;
+  std::vector<Hex::Hexa * > *arg1 = (std::vector<Hex::Hexa * > *) 0 ;
+  std::vector<Hex::Hexa * >::const_reverse_iterator result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  std::vector< Hex::Hexa * >::const_reverse_iterator result;
   
-  if (!PyArg_ParseTuple(args,(char *)"O:VectorHexas_rbegin",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Hexa_p_std__allocatorT_Hex__Hexa_p_t_t, 0 |  0 );
+  if (!PyArg_ParseTuple(args,(char *)"O:VectorHexas_rend",&obj0)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Hexa_p_std__allocatorTHex__Hexa_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorHexas_rbegin" "', argument " "1"" of type '" "std::vector< Hex::Hexa * > const *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorHexas_rend" "', argument " "1"" of type '" "std::vector<Hex::Hexa * > const *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::Hexa * > * >(argp1);
-  result = ((std::vector< Hex::Hexa * > const *)arg1)->rbegin();
-  resultobj = SWIG_NewPointerObj(swig::make_output_iterator(static_cast< const std::vector< Hex::Hexa * >::const_reverse_iterator & >(result)),
-    swig::SwigPyIterator::descriptor(),SWIG_POINTER_OWN);
+  arg1 = reinterpret_cast< std::vector<Hex::Hexa * > * >(argp1);
+  result = ((std::vector<Hex::Hexa * > const *)arg1)->rend();
+  resultobj = SWIG_NewPointerObj(swig::make_output_iterator(static_cast< const std::vector<Hex::Hexa * >::const_reverse_iterator & >(result)),
+    swig::PySwigIterator::descriptor(),SWIG_POINTER_OWN);
   return resultobj;
 fail:
   return NULL;
 }
 
 
-SWIGINTERN PyObject *_wrap_VectorHexas_rend(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
-  PyObject *resultobj = 0;
-  std::vector< Hex::Hexa * > *arg1 = (std::vector< Hex::Hexa * > *) 0 ;
-  void *argp1 = 0 ;
-  int res1 = 0 ;
-  PyObject * obj0 = 0 ;
-  std::vector< Hex::Hexa * >::const_reverse_iterator result;
+SWIGINTERN PyObject *_wrap_VectorHexas_rend(PyObject *self, PyObject *args) {
+  int argc;
+  PyObject *argv[2];
+  int ii;
   
-  if (!PyArg_ParseTuple(args,(char *)"O:VectorHexas_rend",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Hexa_p_std__allocatorT_Hex__Hexa_p_t_t, 0 |  0 );
-  if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorHexas_rend" "', argument " "1"" of type '" "std::vector< Hex::Hexa * > const *""'"); 
+  if (!PyTuple_Check(args)) SWIG_fail;
+  argc = PyObject_Length(args);
+  for (ii = 0; (ii < argc) && (ii < 1); ii++) {
+    argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
-  arg1 = reinterpret_cast< std::vector< Hex::Hexa * > * >(argp1);
-  result = ((std::vector< Hex::Hexa * > const *)arg1)->rend();
-  resultobj = SWIG_NewPointerObj(swig::make_output_iterator(static_cast< const std::vector< Hex::Hexa * >::const_reverse_iterator & >(result)),
-    swig::SwigPyIterator::descriptor(),SWIG_POINTER_OWN);
-  return resultobj;
+  if (argc == 1) {
+    int _v;
+    int res = swig::asptr(argv[0], (std::vector<Hex::Hexa*,std::allocator<Hex::Hexa * > >**)(0));
+    _v = SWIG_CheckState(res);
+    if (_v) {
+      return _wrap_VectorHexas_rend__SWIG_0(self, args);
+    }
+  }
+  if (argc == 1) {
+    int _v;
+    int res = swig::asptr(argv[0], (std::vector<Hex::Hexa*,std::allocator<Hex::Hexa * > >**)(0));
+    _v = SWIG_CheckState(res);
+    if (_v) {
+      return _wrap_VectorHexas_rend__SWIG_1(self, args);
+    }
+  }
+  
 fail:
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'VectorHexas_rend'.\n  Possible C/C++ prototypes are:\n    rend()\n    rend()\n");
   return NULL;
 }
 
 
 SWIGINTERN PyObject *_wrap_new_VectorHexas__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Hexa * >::size_type arg1 ;
+  std::vector<Hex::Hexa * >::size_type arg1 ;
+  std::vector<Hex::Hexa * > *result = 0 ;
   size_t val1 ;
   int ecode1 = 0 ;
   PyObject * obj0 = 0 ;
-  std::vector< Hex::Hexa * > *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"O:new_VectorHexas",&obj0)) SWIG_fail;
   ecode1 = SWIG_AsVal_size_t(obj0, &val1);
   if (!SWIG_IsOK(ecode1)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_VectorHexas" "', argument " "1"" of type '" "std::vector< Hex::Hexa * >::size_type""'");
+    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_VectorHexas" "', argument " "1"" of type '" "std::vector<Hex::Hexa * >::size_type""'");
   } 
-  arg1 = static_cast< std::vector< Hex::Hexa * >::size_type >(val1);
-  result = (std::vector< Hex::Hexa * > *)new std::vector< Hex::Hexa * >(arg1);
-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_Hex__Hexa_p_std__allocatorT_Hex__Hexa_p_t_t, SWIG_POINTER_NEW |  0 );
+  arg1 = static_cast< std::vector<Hex::Hexa * >::size_type >(val1);
+  result = (std::vector<Hex::Hexa * > *)new std::vector<Hex::Hexa * >(arg1);
+  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorTHex__Hexa_p_std__allocatorTHex__Hexa_p_t_t, SWIG_POINTER_NEW |  0 );
   return resultobj;
 fail:
   return NULL;
@@ -6808,17 +6247,17 @@ fail:
 
 SWIGINTERN PyObject *_wrap_VectorHexas_pop_back(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Hexa * > *arg1 = (std::vector< Hex::Hexa * > *) 0 ;
+  std::vector<Hex::Hexa * > *arg1 = (std::vector<Hex::Hexa * > *) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"O:VectorHexas_pop_back",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Hexa_p_std__allocatorT_Hex__Hexa_p_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Hexa_p_std__allocatorTHex__Hexa_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorHexas_pop_back" "', argument " "1"" of type '" "std::vector< Hex::Hexa * > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorHexas_pop_back" "', argument " "1"" of type '" "std::vector<Hex::Hexa * > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::Hexa * > * >(argp1);
+  arg1 = reinterpret_cast< std::vector<Hex::Hexa * > * >(argp1);
   (arg1)->pop_back();
   resultobj = SWIG_Py_Void();
   return resultobj;
@@ -6829,8 +6268,8 @@ fail:
 
 SWIGINTERN PyObject *_wrap_VectorHexas_resize__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Hexa * > *arg1 = (std::vector< Hex::Hexa * > *) 0 ;
-  std::vector< Hex::Hexa * >::size_type arg2 ;
+  std::vector<Hex::Hexa * > *arg1 = (std::vector<Hex::Hexa * > *) 0 ;
+  std::vector<Hex::Hexa * >::size_type arg2 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   size_t val2 ;
@@ -6839,16 +6278,16 @@ SWIGINTERN PyObject *_wrap_VectorHexas_resize__SWIG_0(PyObject *SWIGUNUSEDPARM(s
   PyObject * obj1 = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OO:VectorHexas_resize",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Hexa_p_std__allocatorT_Hex__Hexa_p_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Hexa_p_std__allocatorTHex__Hexa_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorHexas_resize" "', argument " "1"" of type '" "std::vector< Hex::Hexa * > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorHexas_resize" "', argument " "1"" of type '" "std::vector<Hex::Hexa * > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::Hexa * > * >(argp1);
+  arg1 = reinterpret_cast< std::vector<Hex::Hexa * > * >(argp1);
   ecode2 = SWIG_AsVal_size_t(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorHexas_resize" "', argument " "2"" of type '" "std::vector< Hex::Hexa * >::size_type""'");
+    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorHexas_resize" "', argument " "2"" of type '" "std::vector<Hex::Hexa * >::size_type""'");
   } 
-  arg2 = static_cast< std::vector< Hex::Hexa * >::size_type >(val2);
+  arg2 = static_cast< std::vector<Hex::Hexa * >::size_type >(val2);
   (arg1)->resize(arg2);
   resultobj = SWIG_Py_Void();
   return resultobj;
@@ -6859,36 +6298,36 @@ fail:
 
 SWIGINTERN PyObject *_wrap_VectorHexas_erase__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Hexa * > *arg1 = (std::vector< Hex::Hexa * > *) 0 ;
-  std::vector< Hex::Hexa * >::iterator arg2 ;
+  std::vector<Hex::Hexa * > *arg1 = (std::vector<Hex::Hexa * > *) 0 ;
+  std::vector<Hex::Hexa * >::iterator arg2 ;
+  std::vector<Hex::Hexa * >::iterator result;
   void *argp1 = 0 ;
   int res1 = 0 ;
-  swig::SwigPyIterator *iter2 = 0 ;
+  swig::PySwigIterator *iter2 = 0 ;
   int res2 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
-  std::vector< Hex::Hexa * >::iterator result;
   
   if (!PyArg_ParseTuple(args,(char *)"OO:VectorHexas_erase",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Hexa_p_std__allocatorT_Hex__Hexa_p_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Hexa_p_std__allocatorTHex__Hexa_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorHexas_erase" "', argument " "1"" of type '" "std::vector< Hex::Hexa * > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorHexas_erase" "', argument " "1"" of type '" "std::vector<Hex::Hexa * > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::Hexa * > * >(argp1);
-  res2 = SWIG_ConvertPtr(obj1, SWIG_as_voidptrptr(&iter2), swig::SwigPyIterator::descriptor(), 0);
+  arg1 = reinterpret_cast< std::vector<Hex::Hexa * > * >(argp1);
+  res2 = SWIG_ConvertPtr(obj1, SWIG_as_voidptrptr(&iter2), swig::PySwigIterator::descriptor(), 0);
   if (!SWIG_IsOK(res2) || !iter2) {
-    SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "VectorHexas_erase" "', argument " "2"" of type '" "std::vector< Hex::Hexa * >::iterator""'");
+    SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "VectorHexas_erase" "', argument " "2"" of type '" "std::vector<Hex::Hexa * >::iterator""'");
   } else {
-    swig::SwigPyIterator_T<std::vector< Hex::Hexa * >::iterator > *iter_t = dynamic_cast<swig::SwigPyIterator_T<std::vector< Hex::Hexa * >::iterator > *>(iter2);
+    swig::PySwigIterator_T<std::vector<Hex::Hexa * >::iterator > *iter_t = dynamic_cast<swig::PySwigIterator_T<std::vector<Hex::Hexa * >::iterator > *>(iter2);
     if (iter_t) {
       arg2 = iter_t->get_current();
     } else {
-      SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "VectorHexas_erase" "', argument " "2"" of type '" "std::vector< Hex::Hexa * >::iterator""'");
+      SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "VectorHexas_erase" "', argument " "2"" of type '" "std::vector<Hex::Hexa * >::iterator""'");
     }
   }
   result = (arg1)->erase(arg2);
-  resultobj = SWIG_NewPointerObj(swig::make_output_iterator(static_cast< const std::vector< Hex::Hexa * >::iterator & >(result)),
-    swig::SwigPyIterator::descriptor(),SWIG_POINTER_OWN);
+  resultobj = SWIG_NewPointerObj(swig::make_output_iterator(static_cast< const std::vector<Hex::Hexa * >::iterator & >(result)),
+    swig::PySwigIterator::descriptor(),SWIG_POINTER_OWN);
   return resultobj;
 fail:
   return NULL;
@@ -6897,51 +6336,51 @@ fail:
 
 SWIGINTERN PyObject *_wrap_VectorHexas_erase__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Hexa * > *arg1 = (std::vector< Hex::Hexa * > *) 0 ;
-  std::vector< Hex::Hexa * >::iterator arg2 ;
-  std::vector< Hex::Hexa * >::iterator arg3 ;
+  std::vector<Hex::Hexa * > *arg1 = (std::vector<Hex::Hexa * > *) 0 ;
+  std::vector<Hex::Hexa * >::iterator arg2 ;
+  std::vector<Hex::Hexa * >::iterator arg3 ;
+  std::vector<Hex::Hexa * >::iterator result;
   void *argp1 = 0 ;
   int res1 = 0 ;
-  swig::SwigPyIterator *iter2 = 0 ;
+  swig::PySwigIterator *iter2 = 0 ;
   int res2 ;
-  swig::SwigPyIterator *iter3 = 0 ;
+  swig::PySwigIterator *iter3 = 0 ;
   int res3 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
   PyObject * obj2 = 0 ;
-  std::vector< Hex::Hexa * >::iterator result;
   
   if (!PyArg_ParseTuple(args,(char *)"OOO:VectorHexas_erase",&obj0,&obj1,&obj2)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Hexa_p_std__allocatorT_Hex__Hexa_p_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Hexa_p_std__allocatorTHex__Hexa_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorHexas_erase" "', argument " "1"" of type '" "std::vector< Hex::Hexa * > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorHexas_erase" "', argument " "1"" of type '" "std::vector<Hex::Hexa * > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::Hexa * > * >(argp1);
-  res2 = SWIG_ConvertPtr(obj1, SWIG_as_voidptrptr(&iter2), swig::SwigPyIterator::descriptor(), 0);
+  arg1 = reinterpret_cast< std::vector<Hex::Hexa * > * >(argp1);
+  res2 = SWIG_ConvertPtr(obj1, SWIG_as_voidptrptr(&iter2), swig::PySwigIterator::descriptor(), 0);
   if (!SWIG_IsOK(res2) || !iter2) {
-    SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "VectorHexas_erase" "', argument " "2"" of type '" "std::vector< Hex::Hexa * >::iterator""'");
+    SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "VectorHexas_erase" "', argument " "2"" of type '" "std::vector<Hex::Hexa * >::iterator""'");
   } else {
-    swig::SwigPyIterator_T<std::vector< Hex::Hexa * >::iterator > *iter_t = dynamic_cast<swig::SwigPyIterator_T<std::vector< Hex::Hexa * >::iterator > *>(iter2);
+    swig::PySwigIterator_T<std::vector<Hex::Hexa * >::iterator > *iter_t = dynamic_cast<swig::PySwigIterator_T<std::vector<Hex::Hexa * >::iterator > *>(iter2);
     if (iter_t) {
       arg2 = iter_t->get_current();
     } else {
-      SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "VectorHexas_erase" "', argument " "2"" of type '" "std::vector< Hex::Hexa * >::iterator""'");
+      SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "VectorHexas_erase" "', argument " "2"" of type '" "std::vector<Hex::Hexa * >::iterator""'");
     }
   }
-  res3 = SWIG_ConvertPtr(obj2, SWIG_as_voidptrptr(&iter3), swig::SwigPyIterator::descriptor(), 0);
+  res3 = SWIG_ConvertPtr(obj2, SWIG_as_voidptrptr(&iter3), swig::PySwigIterator::descriptor(), 0);
   if (!SWIG_IsOK(res3) || !iter3) {
-    SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "VectorHexas_erase" "', argument " "3"" of type '" "std::vector< Hex::Hexa * >::iterator""'");
+    SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "VectorHexas_erase" "', argument " "3"" of type '" "std::vector<Hex::Hexa * >::iterator""'");
   } else {
-    swig::SwigPyIterator_T<std::vector< Hex::Hexa * >::iterator > *iter_t = dynamic_cast<swig::SwigPyIterator_T<std::vector< Hex::Hexa * >::iterator > *>(iter3);
+    swig::PySwigIterator_T<std::vector<Hex::Hexa * >::iterator > *iter_t = dynamic_cast<swig::PySwigIterator_T<std::vector<Hex::Hexa * >::iterator > *>(iter3);
     if (iter_t) {
       arg3 = iter_t->get_current();
     } else {
-      SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "VectorHexas_erase" "', argument " "3"" of type '" "std::vector< Hex::Hexa * >::iterator""'");
+      SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "VectorHexas_erase" "', argument " "3"" of type '" "std::vector<Hex::Hexa * >::iterator""'");
     }
   }
   result = (arg1)->erase(arg2,arg3);
-  resultobj = SWIG_NewPointerObj(swig::make_output_iterator(static_cast< const std::vector< Hex::Hexa * >::iterator & >(result)),
-    swig::SwigPyIterator::descriptor(),SWIG_POINTER_OWN);
+  resultobj = SWIG_NewPointerObj(swig::make_output_iterator(static_cast< const std::vector<Hex::Hexa * >::iterator & >(result)),
+    swig::PySwigIterator::descriptor(),SWIG_POINTER_OWN);
   return resultobj;
 fail:
   return NULL;
@@ -6954,18 +6393,18 @@ SWIGINTERN PyObject *_wrap_VectorHexas_erase(PyObject *self, PyObject *args) {
   int ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = (int)PyObject_Length(args);
+  argc = PyObject_Length(args);
   for (ii = 0; (ii < argc) && (ii < 3); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
   if (argc == 2) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<Hex::Hexa*,std::allocator< Hex::Hexa * > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector<Hex::Hexa*,std::allocator<Hex::Hexa * > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
-      swig::SwigPyIterator *iter = 0;
-      int res = SWIG_ConvertPtr(argv[1], SWIG_as_voidptrptr(&iter), swig::SwigPyIterator::descriptor(), 0);
-      _v = (SWIG_IsOK(res) && iter && (dynamic_cast<swig::SwigPyIterator_T<std::vector< Hex::Hexa * >::iterator > *>(iter) != 0));
+      swig::PySwigIterator *iter = 0;
+      int res = SWIG_ConvertPtr(argv[1], SWIG_as_voidptrptr(&iter), swig::PySwigIterator::descriptor(), 0);
+      _v = (SWIG_IsOK(res) && iter && (dynamic_cast<swig::PySwigIterator_T<std::vector<Hex::Hexa * >::iterator > *>(iter) != 0));
       if (_v) {
         return _wrap_VectorHexas_erase__SWIG_0(self, args);
       }
@@ -6973,16 +6412,16 @@ SWIGINTERN PyObject *_wrap_VectorHexas_erase(PyObject *self, PyObject *args) {
   }
   if (argc == 3) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<Hex::Hexa*,std::allocator< Hex::Hexa * > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector<Hex::Hexa*,std::allocator<Hex::Hexa * > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
-      swig::SwigPyIterator *iter = 0;
-      int res = SWIG_ConvertPtr(argv[1], SWIG_as_voidptrptr(&iter), swig::SwigPyIterator::descriptor(), 0);
-      _v = (SWIG_IsOK(res) && iter && (dynamic_cast<swig::SwigPyIterator_T<std::vector< Hex::Hexa * >::iterator > *>(iter) != 0));
+      swig::PySwigIterator *iter = 0;
+      int res = SWIG_ConvertPtr(argv[1], SWIG_as_voidptrptr(&iter), swig::PySwigIterator::descriptor(), 0);
+      _v = (SWIG_IsOK(res) && iter && (dynamic_cast<swig::PySwigIterator_T<std::vector<Hex::Hexa * >::iterator > *>(iter) != 0));
       if (_v) {
-        swig::SwigPyIterator *iter = 0;
-        int res = SWIG_ConvertPtr(argv[2], SWIG_as_voidptrptr(&iter), swig::SwigPyIterator::descriptor(), 0);
-        _v = (SWIG_IsOK(res) && iter && (dynamic_cast<swig::SwigPyIterator_T<std::vector< Hex::Hexa * >::iterator > *>(iter) != 0));
+        swig::PySwigIterator *iter = 0;
+        int res = SWIG_ConvertPtr(argv[2], SWIG_as_voidptrptr(&iter), swig::PySwigIterator::descriptor(), 0);
+        _v = (SWIG_IsOK(res) && iter && (dynamic_cast<swig::PySwigIterator_T<std::vector<Hex::Hexa * >::iterator > *>(iter) != 0));
         if (_v) {
           return _wrap_VectorHexas_erase__SWIG_1(self, args);
         }
@@ -6991,39 +6430,36 @@ SWIGINTERN PyObject *_wrap_VectorHexas_erase(PyObject *self, PyObject *args) {
   }
   
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'VectorHexas_erase'.\n"
-    "  Possible C/C++ prototypes are:\n"
-    "    erase(std::vector< Hex::Hexa * > *,std::vector< Hex::Hexa * >::iterator)\n"
-    "    erase(std::vector< Hex::Hexa * > *,std::vector< Hex::Hexa * >::iterator,std::vector< Hex::Hexa * >::iterator)\n");
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'VectorHexas_erase'.\n  Possible C/C++ prototypes are:\n    erase(std::vector<Hex::Hexa * >::iterator)\n    erase(std::vector<Hex::Hexa * >::iterator,std::vector<Hex::Hexa * >::iterator)\n");
   return NULL;
 }
 
 
 SWIGINTERN PyObject *_wrap_new_VectorHexas__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Hexa * >::size_type arg1 ;
-  std::vector< Hex::Hexa * >::value_type arg2 = (std::vector< Hex::Hexa * >::value_type) 0 ;
+  std::vector<Hex::Hexa * >::size_type arg1 ;
+  std::vector<Hex::Hexa * >::value_type arg2 = (std::vector<Hex::Hexa * >::value_type) 0 ;
+  std::vector<Hex::Hexa * > *result = 0 ;
   size_t val1 ;
   int ecode1 = 0 ;
   void *argp2 = 0 ;
   int res2 = 0 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
-  std::vector< Hex::Hexa * > *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OO:new_VectorHexas",&obj0,&obj1)) SWIG_fail;
   ecode1 = SWIG_AsVal_size_t(obj0, &val1);
   if (!SWIG_IsOK(ecode1)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_VectorHexas" "', argument " "1"" of type '" "std::vector< Hex::Hexa * >::size_type""'");
+    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_VectorHexas" "', argument " "1"" of type '" "std::vector<Hex::Hexa * >::size_type""'");
   } 
-  arg1 = static_cast< std::vector< Hex::Hexa * >::size_type >(val1);
-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_std__vectorT_Hex__Hexa_p_std__allocatorT_Hex__Hexa_p_t_t__value_type, 0 |  0 );
+  arg1 = static_cast< std::vector<Hex::Hexa * >::size_type >(val1);
+  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_std__vectorTHex__Hexa_p_std__allocatorTHex__Hexa_p_t_t__value_type, 0 |  0 );
   if (!SWIG_IsOK(res2)) {
-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "new_VectorHexas" "', argument " "2"" of type '" "std::vector< Hex::Hexa * >::value_type""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "new_VectorHexas" "', argument " "2"" of type '" "std::vector<Hex::Hexa * >::value_type""'"); 
   }
-  arg2 = reinterpret_cast< std::vector< Hex::Hexa * >::value_type >(argp2);
-  result = (std::vector< Hex::Hexa * > *)new std::vector< Hex::Hexa * >(arg1,arg2);
-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_Hex__Hexa_p_std__allocatorT_Hex__Hexa_p_t_t, SWIG_POINTER_NEW |  0 );
+  arg2 = reinterpret_cast< std::vector<Hex::Hexa * >::value_type >(argp2);
+  result = (std::vector<Hex::Hexa * > *)new std::vector<Hex::Hexa * >(arg1,arg2);
+  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorTHex__Hexa_p_std__allocatorTHex__Hexa_p_t_t, SWIG_POINTER_NEW |  0 );
   return resultobj;
 fail:
   return NULL;
@@ -7036,7 +6472,7 @@ SWIGINTERN PyObject *_wrap_new_VectorHexas(PyObject *self, PyObject *args) {
   int ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = (int)PyObject_Length(args);
+  argc = PyObject_Length(args);
   for (ii = 0; (ii < argc) && (ii < 2); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -7055,7 +6491,7 @@ SWIGINTERN PyObject *_wrap_new_VectorHexas(PyObject *self, PyObject *args) {
   }
   if (argc == 1) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<Hex::Hexa*,std::allocator< Hex::Hexa * > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector<Hex::Hexa*,std::allocator<Hex::Hexa * > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       return _wrap_new_VectorHexas__SWIG_1(self, args);
@@ -7069,7 +6505,7 @@ SWIGINTERN PyObject *_wrap_new_VectorHexas(PyObject *self, PyObject *args) {
     }
     if (_v) {
       void *vptr = 0;
-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_std__vectorT_Hex__Hexa_p_std__allocatorT_Hex__Hexa_p_t_t__value_type, 0);
+      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_std__vectorTHex__Hexa_p_std__allocatorTHex__Hexa_p_t_t__value_type, 0);
       _v = SWIG_CheckState(res);
       if (_v) {
         return _wrap_new_VectorHexas__SWIG_3(self, args);
@@ -7078,20 +6514,15 @@ SWIGINTERN PyObject *_wrap_new_VectorHexas(PyObject *self, PyObject *args) {
   }
   
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'new_VectorHexas'.\n"
-    "  Possible C/C++ prototypes are:\n"
-    "    std::vector< Hex::Hexa * >()\n"
-    "    std::vector< Hex::Hexa * >(std::vector< Hex::Hexa * > const &)\n"
-    "    std::vector< Hex::Hexa * >(std::vector< Hex::Hexa * >::size_type)\n"
-    "    std::vector< Hex::Hexa * >(std::vector< Hex::Hexa * >::size_type,std::vector< Hex::Hexa * >::value_type)\n");
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'new_VectorHexas'.\n  Possible C/C++ prototypes are:\n    std::vector<(p.Hex::Hexa)>()\n    std::vector<(p.Hex::Hexa)>(std::vector<Hex::Hexa * > const &)\n    std::vector<(p.Hex::Hexa)>(std::vector<Hex::Hexa * >::size_type)\n    std::vector<(p.Hex::Hexa)>(std::vector<Hex::Hexa * >::size_type,std::vector<Hex::Hexa * >::value_type)\n");
   return NULL;
 }
 
 
 SWIGINTERN PyObject *_wrap_VectorHexas_push_back(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Hexa * > *arg1 = (std::vector< Hex::Hexa * > *) 0 ;
-  std::vector< Hex::Hexa * >::value_type arg2 = (std::vector< Hex::Hexa * >::value_type) 0 ;
+  std::vector<Hex::Hexa * > *arg1 = (std::vector<Hex::Hexa * > *) 0 ;
+  std::vector<Hex::Hexa * >::value_type arg2 = (std::vector<Hex::Hexa * >::value_type) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   void *argp2 = 0 ;
@@ -7100,16 +6531,16 @@ SWIGINTERN PyObject *_wrap_VectorHexas_push_back(PyObject *SWIGUNUSEDPARM(self),
   PyObject * obj1 = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OO:VectorHexas_push_back",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Hexa_p_std__allocatorT_Hex__Hexa_p_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Hexa_p_std__allocatorTHex__Hexa_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorHexas_push_back" "', argument " "1"" of type '" "std::vector< Hex::Hexa * > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorHexas_push_back" "', argument " "1"" of type '" "std::vector<Hex::Hexa * > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::Hexa * > * >(argp1);
-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_std__vectorT_Hex__Hexa_p_std__allocatorT_Hex__Hexa_p_t_t__value_type, 0 |  0 );
+  arg1 = reinterpret_cast< std::vector<Hex::Hexa * > * >(argp1);
+  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_std__vectorTHex__Hexa_p_std__allocatorTHex__Hexa_p_t_t__value_type, 0 |  0 );
   if (!SWIG_IsOK(res2)) {
-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "VectorHexas_push_back" "', argument " "2"" of type '" "std::vector< Hex::Hexa * >::value_type""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "VectorHexas_push_back" "', argument " "2"" of type '" "std::vector<Hex::Hexa * >::value_type""'"); 
   }
-  arg2 = reinterpret_cast< std::vector< Hex::Hexa * >::value_type >(argp2);
+  arg2 = reinterpret_cast< std::vector<Hex::Hexa * >::value_type >(argp2);
   (arg1)->push_back(arg2);
   resultobj = SWIG_Py_Void();
   return resultobj;
@@ -7120,20 +6551,20 @@ fail:
 
 SWIGINTERN PyObject *_wrap_VectorHexas_front(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Hexa * > *arg1 = (std::vector< Hex::Hexa * > *) 0 ;
+  std::vector<Hex::Hexa * > *arg1 = (std::vector<Hex::Hexa * > *) 0 ;
+  std::vector<Hex::Hexa * >::value_type result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  std::vector< Hex::Hexa * >::value_type result;
   
   if (!PyArg_ParseTuple(args,(char *)"O:VectorHexas_front",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Hexa_p_std__allocatorT_Hex__Hexa_p_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Hexa_p_std__allocatorTHex__Hexa_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorHexas_front" "', argument " "1"" of type '" "std::vector< Hex::Hexa * > const *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorHexas_front" "', argument " "1"" of type '" "std::vector<Hex::Hexa * > const *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::Hexa * > * >(argp1);
-  result = (std::vector< Hex::Hexa * >::value_type)((std::vector< Hex::Hexa * > const *)arg1)->front();
-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_std__vectorT_Hex__Hexa_p_std__allocatorT_Hex__Hexa_p_t_t__value_type, 0 |  0 );
+  arg1 = reinterpret_cast< std::vector<Hex::Hexa * > * >(argp1);
+  result = (std::vector<Hex::Hexa * >::value_type)((std::vector<Hex::Hexa * > const *)arg1)->front();
+  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_std__vectorTHex__Hexa_p_std__allocatorTHex__Hexa_p_t_t__value_type, 0 |  0 );
   return resultobj;
 fail:
   return NULL;
@@ -7142,20 +6573,20 @@ fail:
 
 SWIGINTERN PyObject *_wrap_VectorHexas_back(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Hexa * > *arg1 = (std::vector< Hex::Hexa * > *) 0 ;
+  std::vector<Hex::Hexa * > *arg1 = (std::vector<Hex::Hexa * > *) 0 ;
+  std::vector<Hex::Hexa * >::value_type result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  std::vector< Hex::Hexa * >::value_type result;
   
   if (!PyArg_ParseTuple(args,(char *)"O:VectorHexas_back",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Hexa_p_std__allocatorT_Hex__Hexa_p_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Hexa_p_std__allocatorTHex__Hexa_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorHexas_back" "', argument " "1"" of type '" "std::vector< Hex::Hexa * > const *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorHexas_back" "', argument " "1"" of type '" "std::vector<Hex::Hexa * > const *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::Hexa * > * >(argp1);
-  result = (std::vector< Hex::Hexa * >::value_type)((std::vector< Hex::Hexa * > const *)arg1)->back();
-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_std__vectorT_Hex__Hexa_p_std__allocatorT_Hex__Hexa_p_t_t__value_type, 0 |  0 );
+  arg1 = reinterpret_cast< std::vector<Hex::Hexa * > * >(argp1);
+  result = (std::vector<Hex::Hexa * >::value_type)((std::vector<Hex::Hexa * > const *)arg1)->back();
+  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_std__vectorTHex__Hexa_p_std__allocatorTHex__Hexa_p_t_t__value_type, 0 |  0 );
   return resultobj;
 fail:
   return NULL;
@@ -7164,9 +6595,9 @@ fail:
 
 SWIGINTERN PyObject *_wrap_VectorHexas_assign(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Hexa * > *arg1 = (std::vector< Hex::Hexa * > *) 0 ;
-  std::vector< Hex::Hexa * >::size_type arg2 ;
-  std::vector< Hex::Hexa * >::value_type arg3 = (std::vector< Hex::Hexa * >::value_type) 0 ;
+  std::vector<Hex::Hexa * > *arg1 = (std::vector<Hex::Hexa * > *) 0 ;
+  std::vector<Hex::Hexa * >::size_type arg2 ;
+  std::vector<Hex::Hexa * >::value_type arg3 = (std::vector<Hex::Hexa * >::value_type) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   size_t val2 ;
@@ -7178,21 +6609,21 @@ SWIGINTERN PyObject *_wrap_VectorHexas_assign(PyObject *SWIGUNUSEDPARM(self), Py
   PyObject * obj2 = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOO:VectorHexas_assign",&obj0,&obj1,&obj2)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Hexa_p_std__allocatorT_Hex__Hexa_p_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Hexa_p_std__allocatorTHex__Hexa_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorHexas_assign" "', argument " "1"" of type '" "std::vector< Hex::Hexa * > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorHexas_assign" "', argument " "1"" of type '" "std::vector<Hex::Hexa * > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::Hexa * > * >(argp1);
+  arg1 = reinterpret_cast< std::vector<Hex::Hexa * > * >(argp1);
   ecode2 = SWIG_AsVal_size_t(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorHexas_assign" "', argument " "2"" of type '" "std::vector< Hex::Hexa * >::size_type""'");
+    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorHexas_assign" "', argument " "2"" of type '" "std::vector<Hex::Hexa * >::size_type""'");
   } 
-  arg2 = static_cast< std::vector< Hex::Hexa * >::size_type >(val2);
-  res3 = SWIG_ConvertPtr(obj2, &argp3,SWIGTYPE_std__vectorT_Hex__Hexa_p_std__allocatorT_Hex__Hexa_p_t_t__value_type, 0 |  0 );
+  arg2 = static_cast< std::vector<Hex::Hexa * >::size_type >(val2);
+  res3 = SWIG_ConvertPtr(obj2, &argp3,SWIGTYPE_std__vectorTHex__Hexa_p_std__allocatorTHex__Hexa_p_t_t__value_type, 0 |  0 );
   if (!SWIG_IsOK(res3)) {
-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "VectorHexas_assign" "', argument " "3"" of type '" "std::vector< Hex::Hexa * >::value_type""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "VectorHexas_assign" "', argument " "3"" of type '" "std::vector<Hex::Hexa * >::value_type""'"); 
   }
-  arg3 = reinterpret_cast< std::vector< Hex::Hexa * >::value_type >(argp3);
+  arg3 = reinterpret_cast< std::vector<Hex::Hexa * >::value_type >(argp3);
   (arg1)->assign(arg2,arg3);
   resultobj = SWIG_Py_Void();
   return resultobj;
@@ -7203,9 +6634,9 @@ fail:
 
 SWIGINTERN PyObject *_wrap_VectorHexas_resize__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Hexa * > *arg1 = (std::vector< Hex::Hexa * > *) 0 ;
-  std::vector< Hex::Hexa * >::size_type arg2 ;
-  std::vector< Hex::Hexa * >::value_type arg3 = (std::vector< Hex::Hexa * >::value_type) 0 ;
+  std::vector<Hex::Hexa * > *arg1 = (std::vector<Hex::Hexa * > *) 0 ;
+  std::vector<Hex::Hexa * >::size_type arg2 ;
+  std::vector<Hex::Hexa * >::value_type arg3 = (std::vector<Hex::Hexa * >::value_type) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   size_t val2 ;
@@ -7217,21 +6648,21 @@ SWIGINTERN PyObject *_wrap_VectorHexas_resize__SWIG_1(PyObject *SWIGUNUSEDPARM(s
   PyObject * obj2 = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOO:VectorHexas_resize",&obj0,&obj1,&obj2)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Hexa_p_std__allocatorT_Hex__Hexa_p_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Hexa_p_std__allocatorTHex__Hexa_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorHexas_resize" "', argument " "1"" of type '" "std::vector< Hex::Hexa * > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorHexas_resize" "', argument " "1"" of type '" "std::vector<Hex::Hexa * > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::Hexa * > * >(argp1);
+  arg1 = reinterpret_cast< std::vector<Hex::Hexa * > * >(argp1);
   ecode2 = SWIG_AsVal_size_t(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorHexas_resize" "', argument " "2"" of type '" "std::vector< Hex::Hexa * >::size_type""'");
+    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorHexas_resize" "', argument " "2"" of type '" "std::vector<Hex::Hexa * >::size_type""'");
   } 
-  arg2 = static_cast< std::vector< Hex::Hexa * >::size_type >(val2);
-  res3 = SWIG_ConvertPtr(obj2, &argp3,SWIGTYPE_std__vectorT_Hex__Hexa_p_std__allocatorT_Hex__Hexa_p_t_t__value_type, 0 |  0 );
+  arg2 = static_cast< std::vector<Hex::Hexa * >::size_type >(val2);
+  res3 = SWIG_ConvertPtr(obj2, &argp3,SWIGTYPE_std__vectorTHex__Hexa_p_std__allocatorTHex__Hexa_p_t_t__value_type, 0 |  0 );
   if (!SWIG_IsOK(res3)) {
-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "VectorHexas_resize" "', argument " "3"" of type '" "std::vector< Hex::Hexa * >::value_type""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "VectorHexas_resize" "', argument " "3"" of type '" "std::vector<Hex::Hexa * >::value_type""'"); 
   }
-  arg3 = reinterpret_cast< std::vector< Hex::Hexa * >::value_type >(argp3);
+  arg3 = reinterpret_cast< std::vector<Hex::Hexa * >::value_type >(argp3);
   (arg1)->resize(arg2,arg3);
   resultobj = SWIG_Py_Void();
   return resultobj;
@@ -7246,13 +6677,13 @@ SWIGINTERN PyObject *_wrap_VectorHexas_resize(PyObject *self, PyObject *args) {
   int ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = (int)PyObject_Length(args);
+  argc = PyObject_Length(args);
   for (ii = 0; (ii < argc) && (ii < 3); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
   if (argc == 2) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<Hex::Hexa*,std::allocator< Hex::Hexa * > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector<Hex::Hexa*,std::allocator<Hex::Hexa * > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -7266,7 +6697,7 @@ SWIGINTERN PyObject *_wrap_VectorHexas_resize(PyObject *self, PyObject *args) {
   }
   if (argc == 3) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<Hex::Hexa*,std::allocator< Hex::Hexa * > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector<Hex::Hexa*,std::allocator<Hex::Hexa * > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -7275,7 +6706,7 @@ SWIGINTERN PyObject *_wrap_VectorHexas_resize(PyObject *self, PyObject *args) {
       }
       if (_v) {
         void *vptr = 0;
-        int res = SWIG_ConvertPtr(argv[2], &vptr, SWIGTYPE_std__vectorT_Hex__Hexa_p_std__allocatorT_Hex__Hexa_p_t_t__value_type, 0);
+        int res = SWIG_ConvertPtr(argv[2], &vptr, SWIGTYPE_std__vectorTHex__Hexa_p_std__allocatorTHex__Hexa_p_t_t__value_type, 0);
         _v = SWIG_CheckState(res);
         if (_v) {
           return _wrap_VectorHexas_resize__SWIG_1(self, args);
@@ -7285,55 +6716,52 @@ SWIGINTERN PyObject *_wrap_VectorHexas_resize(PyObject *self, PyObject *args) {
   }
   
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'VectorHexas_resize'.\n"
-    "  Possible C/C++ prototypes are:\n"
-    "    resize(std::vector< Hex::Hexa * > *,std::vector< Hex::Hexa * >::size_type)\n"
-    "    resize(std::vector< Hex::Hexa * > *,std::vector< Hex::Hexa * >::size_type,std::vector< Hex::Hexa * >::value_type)\n");
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'VectorHexas_resize'.\n  Possible C/C++ prototypes are:\n    resize(std::vector<Hex::Hexa * >::size_type)\n    resize(std::vector<Hex::Hexa * >::size_type,std::vector<Hex::Hexa * >::value_type)\n");
   return NULL;
 }
 
 
 SWIGINTERN PyObject *_wrap_VectorHexas_insert__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Hexa * > *arg1 = (std::vector< Hex::Hexa * > *) 0 ;
-  std::vector< Hex::Hexa * >::iterator arg2 ;
-  std::vector< Hex::Hexa * >::value_type arg3 = (std::vector< Hex::Hexa * >::value_type) 0 ;
+  std::vector<Hex::Hexa * > *arg1 = (std::vector<Hex::Hexa * > *) 0 ;
+  std::vector<Hex::Hexa * >::iterator arg2 ;
+  std::vector<Hex::Hexa * >::value_type arg3 = (std::vector<Hex::Hexa * >::value_type) 0 ;
+  std::vector<Hex::Hexa * >::iterator result;
   void *argp1 = 0 ;
   int res1 = 0 ;
-  swig::SwigPyIterator *iter2 = 0 ;
+  swig::PySwigIterator *iter2 = 0 ;
   int res2 ;
   void *argp3 = 0 ;
   int res3 = 0 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
   PyObject * obj2 = 0 ;
-  std::vector< Hex::Hexa * >::iterator result;
   
   if (!PyArg_ParseTuple(args,(char *)"OOO:VectorHexas_insert",&obj0,&obj1,&obj2)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Hexa_p_std__allocatorT_Hex__Hexa_p_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Hexa_p_std__allocatorTHex__Hexa_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorHexas_insert" "', argument " "1"" of type '" "std::vector< Hex::Hexa * > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorHexas_insert" "', argument " "1"" of type '" "std::vector<Hex::Hexa * > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::Hexa * > * >(argp1);
-  res2 = SWIG_ConvertPtr(obj1, SWIG_as_voidptrptr(&iter2), swig::SwigPyIterator::descriptor(), 0);
+  arg1 = reinterpret_cast< std::vector<Hex::Hexa * > * >(argp1);
+  res2 = SWIG_ConvertPtr(obj1, SWIG_as_voidptrptr(&iter2), swig::PySwigIterator::descriptor(), 0);
   if (!SWIG_IsOK(res2) || !iter2) {
-    SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "VectorHexas_insert" "', argument " "2"" of type '" "std::vector< Hex::Hexa * >::iterator""'");
+    SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "VectorHexas_insert" "', argument " "2"" of type '" "std::vector<Hex::Hexa * >::iterator""'");
   } else {
-    swig::SwigPyIterator_T<std::vector< Hex::Hexa * >::iterator > *iter_t = dynamic_cast<swig::SwigPyIterator_T<std::vector< Hex::Hexa * >::iterator > *>(iter2);
+    swig::PySwigIterator_T<std::vector<Hex::Hexa * >::iterator > *iter_t = dynamic_cast<swig::PySwigIterator_T<std::vector<Hex::Hexa * >::iterator > *>(iter2);
     if (iter_t) {
       arg2 = iter_t->get_current();
     } else {
-      SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "VectorHexas_insert" "', argument " "2"" of type '" "std::vector< Hex::Hexa * >::iterator""'");
+      SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "VectorHexas_insert" "', argument " "2"" of type '" "std::vector<Hex::Hexa * >::iterator""'");
     }
   }
-  res3 = SWIG_ConvertPtr(obj2, &argp3,SWIGTYPE_std__vectorT_Hex__Hexa_p_std__allocatorT_Hex__Hexa_p_t_t__value_type, 0 |  0 );
+  res3 = SWIG_ConvertPtr(obj2, &argp3,SWIGTYPE_std__vectorTHex__Hexa_p_std__allocatorTHex__Hexa_p_t_t__value_type, 0 |  0 );
   if (!SWIG_IsOK(res3)) {
-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "VectorHexas_insert" "', argument " "3"" of type '" "std::vector< Hex::Hexa * >::value_type""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "VectorHexas_insert" "', argument " "3"" of type '" "std::vector<Hex::Hexa * >::value_type""'"); 
   }
-  arg3 = reinterpret_cast< std::vector< Hex::Hexa * >::value_type >(argp3);
+  arg3 = reinterpret_cast< std::vector<Hex::Hexa * >::value_type >(argp3);
   result = (arg1)->insert(arg2,arg3);
-  resultobj = SWIG_NewPointerObj(swig::make_output_iterator(static_cast< const std::vector< Hex::Hexa * >::iterator & >(result)),
-    swig::SwigPyIterator::descriptor(),SWIG_POINTER_OWN);
+  resultobj = SWIG_NewPointerObj(swig::make_output_iterator(static_cast< const std::vector<Hex::Hexa * >::iterator & >(result)),
+    swig::PySwigIterator::descriptor(),SWIG_POINTER_OWN);
   return resultobj;
 fail:
   return NULL;
@@ -7342,13 +6770,13 @@ fail:
 
 SWIGINTERN PyObject *_wrap_VectorHexas_insert__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Hexa * > *arg1 = (std::vector< Hex::Hexa * > *) 0 ;
-  std::vector< Hex::Hexa * >::iterator arg2 ;
-  std::vector< Hex::Hexa * >::size_type arg3 ;
-  std::vector< Hex::Hexa * >::value_type arg4 = (std::vector< Hex::Hexa * >::value_type) 0 ;
+  std::vector<Hex::Hexa * > *arg1 = (std::vector<Hex::Hexa * > *) 0 ;
+  std::vector<Hex::Hexa * >::iterator arg2 ;
+  std::vector<Hex::Hexa * >::size_type arg3 ;
+  std::vector<Hex::Hexa * >::value_type arg4 = (std::vector<Hex::Hexa * >::value_type) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
-  swig::SwigPyIterator *iter2 = 0 ;
+  swig::PySwigIterator *iter2 = 0 ;
   int res2 ;
   size_t val3 ;
   int ecode3 = 0 ;
@@ -7360,32 +6788,32 @@ SWIGINTERN PyObject *_wrap_VectorHexas_insert__SWIG_1(PyObject *SWIGUNUSEDPARM(s
   PyObject * obj3 = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOOO:VectorHexas_insert",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Hexa_p_std__allocatorT_Hex__Hexa_p_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Hexa_p_std__allocatorTHex__Hexa_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorHexas_insert" "', argument " "1"" of type '" "std::vector< Hex::Hexa * > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorHexas_insert" "', argument " "1"" of type '" "std::vector<Hex::Hexa * > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::Hexa * > * >(argp1);
-  res2 = SWIG_ConvertPtr(obj1, SWIG_as_voidptrptr(&iter2), swig::SwigPyIterator::descriptor(), 0);
+  arg1 = reinterpret_cast< std::vector<Hex::Hexa * > * >(argp1);
+  res2 = SWIG_ConvertPtr(obj1, SWIG_as_voidptrptr(&iter2), swig::PySwigIterator::descriptor(), 0);
   if (!SWIG_IsOK(res2) || !iter2) {
-    SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "VectorHexas_insert" "', argument " "2"" of type '" "std::vector< Hex::Hexa * >::iterator""'");
+    SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "VectorHexas_insert" "', argument " "2"" of type '" "std::vector<Hex::Hexa * >::iterator""'");
   } else {
-    swig::SwigPyIterator_T<std::vector< Hex::Hexa * >::iterator > *iter_t = dynamic_cast<swig::SwigPyIterator_T<std::vector< Hex::Hexa * >::iterator > *>(iter2);
+    swig::PySwigIterator_T<std::vector<Hex::Hexa * >::iterator > *iter_t = dynamic_cast<swig::PySwigIterator_T<std::vector<Hex::Hexa * >::iterator > *>(iter2);
     if (iter_t) {
       arg2 = iter_t->get_current();
     } else {
-      SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "VectorHexas_insert" "', argument " "2"" of type '" "std::vector< Hex::Hexa * >::iterator""'");
+      SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "VectorHexas_insert" "', argument " "2"" of type '" "std::vector<Hex::Hexa * >::iterator""'");
     }
   }
   ecode3 = SWIG_AsVal_size_t(obj2, &val3);
   if (!SWIG_IsOK(ecode3)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "VectorHexas_insert" "', argument " "3"" of type '" "std::vector< Hex::Hexa * >::size_type""'");
+    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "VectorHexas_insert" "', argument " "3"" of type '" "std::vector<Hex::Hexa * >::size_type""'");
   } 
-  arg3 = static_cast< std::vector< Hex::Hexa * >::size_type >(val3);
-  res4 = SWIG_ConvertPtr(obj3, &argp4,SWIGTYPE_std__vectorT_Hex__Hexa_p_std__allocatorT_Hex__Hexa_p_t_t__value_type, 0 |  0 );
+  arg3 = static_cast< std::vector<Hex::Hexa * >::size_type >(val3);
+  res4 = SWIG_ConvertPtr(obj3, &argp4,SWIGTYPE_std__vectorTHex__Hexa_p_std__allocatorTHex__Hexa_p_t_t__value_type, 0 |  0 );
   if (!SWIG_IsOK(res4)) {
-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "VectorHexas_insert" "', argument " "4"" of type '" "std::vector< Hex::Hexa * >::value_type""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "VectorHexas_insert" "', argument " "4"" of type '" "std::vector<Hex::Hexa * >::value_type""'"); 
   }
-  arg4 = reinterpret_cast< std::vector< Hex::Hexa * >::value_type >(argp4);
+  arg4 = reinterpret_cast< std::vector<Hex::Hexa * >::value_type >(argp4);
   (arg1)->insert(arg2,arg3,arg4);
   resultobj = SWIG_Py_Void();
   return resultobj;
@@ -7400,21 +6828,21 @@ SWIGINTERN PyObject *_wrap_VectorHexas_insert(PyObject *self, PyObject *args) {
   int ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = (int)PyObject_Length(args);
+  argc = PyObject_Length(args);
   for (ii = 0; (ii < argc) && (ii < 4); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
   if (argc == 3) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<Hex::Hexa*,std::allocator< Hex::Hexa * > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector<Hex::Hexa*,std::allocator<Hex::Hexa * > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
-      swig::SwigPyIterator *iter = 0;
-      int res = SWIG_ConvertPtr(argv[1], SWIG_as_voidptrptr(&iter), swig::SwigPyIterator::descriptor(), 0);
-      _v = (SWIG_IsOK(res) && iter && (dynamic_cast<swig::SwigPyIterator_T<std::vector< Hex::Hexa * >::iterator > *>(iter) != 0));
+      swig::PySwigIterator *iter = 0;
+      int res = SWIG_ConvertPtr(argv[1], SWIG_as_voidptrptr(&iter), swig::PySwigIterator::descriptor(), 0);
+      _v = (SWIG_IsOK(res) && iter && (dynamic_cast<swig::PySwigIterator_T<std::vector<Hex::Hexa * >::iterator > *>(iter) != 0));
       if (_v) {
         void *vptr = 0;
-        int res = SWIG_ConvertPtr(argv[2], &vptr, SWIGTYPE_std__vectorT_Hex__Hexa_p_std__allocatorT_Hex__Hexa_p_t_t__value_type, 0);
+        int res = SWIG_ConvertPtr(argv[2], &vptr, SWIGTYPE_std__vectorTHex__Hexa_p_std__allocatorTHex__Hexa_p_t_t__value_type, 0);
         _v = SWIG_CheckState(res);
         if (_v) {
           return _wrap_VectorHexas_insert__SWIG_0(self, args);
@@ -7424,12 +6852,12 @@ SWIGINTERN PyObject *_wrap_VectorHexas_insert(PyObject *self, PyObject *args) {
   }
   if (argc == 4) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<Hex::Hexa*,std::allocator< Hex::Hexa * > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector<Hex::Hexa*,std::allocator<Hex::Hexa * > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
-      swig::SwigPyIterator *iter = 0;
-      int res = SWIG_ConvertPtr(argv[1], SWIG_as_voidptrptr(&iter), swig::SwigPyIterator::descriptor(), 0);
-      _v = (SWIG_IsOK(res) && iter && (dynamic_cast<swig::SwigPyIterator_T<std::vector< Hex::Hexa * >::iterator > *>(iter) != 0));
+      swig::PySwigIterator *iter = 0;
+      int res = SWIG_ConvertPtr(argv[1], SWIG_as_voidptrptr(&iter), swig::PySwigIterator::descriptor(), 0);
+      _v = (SWIG_IsOK(res) && iter && (dynamic_cast<swig::PySwigIterator_T<std::vector<Hex::Hexa * >::iterator > *>(iter) != 0));
       if (_v) {
         {
           int res = SWIG_AsVal_size_t(argv[2], NULL);
@@ -7437,7 +6865,7 @@ SWIGINTERN PyObject *_wrap_VectorHexas_insert(PyObject *self, PyObject *args) {
         }
         if (_v) {
           void *vptr = 0;
-          int res = SWIG_ConvertPtr(argv[3], &vptr, SWIGTYPE_std__vectorT_Hex__Hexa_p_std__allocatorT_Hex__Hexa_p_t_t__value_type, 0);
+          int res = SWIG_ConvertPtr(argv[3], &vptr, SWIGTYPE_std__vectorTHex__Hexa_p_std__allocatorTHex__Hexa_p_t_t__value_type, 0);
           _v = SWIG_CheckState(res);
           if (_v) {
             return _wrap_VectorHexas_insert__SWIG_1(self, args);
@@ -7448,18 +6876,15 @@ SWIGINTERN PyObject *_wrap_VectorHexas_insert(PyObject *self, PyObject *args) {
   }
   
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'VectorHexas_insert'.\n"
-    "  Possible C/C++ prototypes are:\n"
-    "    insert(std::vector< Hex::Hexa * > *,std::vector< Hex::Hexa * >::iterator,std::vector< Hex::Hexa * >::value_type)\n"
-    "    insert(std::vector< Hex::Hexa * > *,std::vector< Hex::Hexa * >::iterator,std::vector< Hex::Hexa * >::size_type,std::vector< Hex::Hexa * >::value_type)\n");
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'VectorHexas_insert'.\n  Possible C/C++ prototypes are:\n    insert(std::vector<Hex::Hexa * >::iterator,std::vector<Hex::Hexa * >::value_type)\n    insert(std::vector<Hex::Hexa * >::iterator,std::vector<Hex::Hexa * >::size_type,std::vector<Hex::Hexa * >::value_type)\n");
   return NULL;
 }
 
 
 SWIGINTERN PyObject *_wrap_VectorHexas_reserve(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Hexa * > *arg1 = (std::vector< Hex::Hexa * > *) 0 ;
-  std::vector< Hex::Hexa * >::size_type arg2 ;
+  std::vector<Hex::Hexa * > *arg1 = (std::vector<Hex::Hexa * > *) 0 ;
+  std::vector<Hex::Hexa * >::size_type arg2 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   size_t val2 ;
@@ -7468,16 +6893,16 @@ SWIGINTERN PyObject *_wrap_VectorHexas_reserve(PyObject *SWIGUNUSEDPARM(self), P
   PyObject * obj1 = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OO:VectorHexas_reserve",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Hexa_p_std__allocatorT_Hex__Hexa_p_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Hexa_p_std__allocatorTHex__Hexa_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorHexas_reserve" "', argument " "1"" of type '" "std::vector< Hex::Hexa * > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorHexas_reserve" "', argument " "1"" of type '" "std::vector<Hex::Hexa * > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::Hexa * > * >(argp1);
+  arg1 = reinterpret_cast< std::vector<Hex::Hexa * > * >(argp1);
   ecode2 = SWIG_AsVal_size_t(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorHexas_reserve" "', argument " "2"" of type '" "std::vector< Hex::Hexa * >::size_type""'");
+    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorHexas_reserve" "', argument " "2"" of type '" "std::vector<Hex::Hexa * >::size_type""'");
   } 
-  arg2 = static_cast< std::vector< Hex::Hexa * >::size_type >(val2);
+  arg2 = static_cast< std::vector<Hex::Hexa * >::size_type >(val2);
   (arg1)->reserve(arg2);
   resultobj = SWIG_Py_Void();
   return resultobj;
@@ -7488,19 +6913,19 @@ fail:
 
 SWIGINTERN PyObject *_wrap_VectorHexas_capacity(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Hexa * > *arg1 = (std::vector< Hex::Hexa * > *) 0 ;
+  std::vector<Hex::Hexa * > *arg1 = (std::vector<Hex::Hexa * > *) 0 ;
+  std::vector<Hex::Hexa * >::size_type result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  std::vector< Hex::Hexa * >::size_type result;
   
   if (!PyArg_ParseTuple(args,(char *)"O:VectorHexas_capacity",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Hexa_p_std__allocatorT_Hex__Hexa_p_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Hexa_p_std__allocatorTHex__Hexa_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorHexas_capacity" "', argument " "1"" of type '" "std::vector< Hex::Hexa * > const *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorHexas_capacity" "', argument " "1"" of type '" "std::vector<Hex::Hexa * > const *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::Hexa * > * >(argp1);
-  result = ((std::vector< Hex::Hexa * > const *)arg1)->capacity();
+  arg1 = reinterpret_cast< std::vector<Hex::Hexa * > * >(argp1);
+  result = ((std::vector<Hex::Hexa * > const *)arg1)->capacity();
   resultobj = SWIG_From_size_t(static_cast< size_t >(result));
   return resultobj;
 fail:
@@ -7510,18 +6935,19 @@ fail:
 
 SWIGINTERN PyObject *_wrap_delete_VectorHexas(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Hexa * > *arg1 = (std::vector< Hex::Hexa * > *) 0 ;
+  std::vector<Hex::Hexa * > *arg1 = (std::vector<Hex::Hexa * > *) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"O:delete_VectorHexas",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Hexa_p_std__allocatorT_Hex__Hexa_p_t_t, SWIG_POINTER_DISOWN |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Hexa_p_std__allocatorTHex__Hexa_p_t_t, SWIG_POINTER_DISOWN |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_VectorHexas" "', argument " "1"" of type '" "std::vector< Hex::Hexa * > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_VectorHexas" "', argument " "1"" of type '" "std::vector<Hex::Hexa * > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::Hexa * > * >(argp1);
+  arg1 = reinterpret_cast< std::vector<Hex::Hexa * > * >(argp1);
   delete arg1;
+  
   resultobj = SWIG_Py_Void();
   return resultobj;
 fail:
@@ -7531,29 +6957,29 @@ fail:
 
 SWIGINTERN PyObject *VectorHexas_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *obj;
-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
-  SWIG_TypeNewClientData(SWIGTYPE_p_std__vectorT_Hex__Hexa_p_std__allocatorT_Hex__Hexa_p_t_t, SWIG_NewClientData(obj));
+  if (!PyArg_ParseTuple(args,(char*)"O|swigregister", &obj)) return NULL;
+  SWIG_TypeNewClientData(SWIGTYPE_p_std__vectorTHex__Hexa_p_std__allocatorTHex__Hexa_p_t_t, SWIG_NewClientData(obj));
   return SWIG_Py_Void();
 }
 
 SWIGINTERN PyObject *_wrap_VectorQuads_iterator(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Quad * > *arg1 = (std::vector< Hex::Quad * > *) 0 ;
+  std::vector<Hex::Quad * > *arg1 = (std::vector<Hex::Quad * > *) 0 ;
   PyObject **arg2 = (PyObject **) 0 ;
+  swig::PySwigIterator *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  swig::SwigPyIterator *result = 0 ;
   
   arg2 = &obj0;
   if (!PyArg_ParseTuple(args,(char *)"O:VectorQuads_iterator",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Quad_p_std__allocatorT_Hex__Quad_p_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Quad_p_std__allocatorTHex__Quad_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorQuads_iterator" "', argument " "1"" of type '" "std::vector< Hex::Quad * > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorQuads_iterator" "', argument " "1"" of type '" "std::vector<Hex::Quad * > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::Quad * > * >(argp1);
-  result = (swig::SwigPyIterator *)std_vector_Sl_Hex_Quad_Sm__Sg__iterator(arg1,arg2);
-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_swig__SwigPyIterator, SWIG_POINTER_OWN |  0 );
+  arg1 = reinterpret_cast< std::vector<Hex::Quad * > * >(argp1);
+  result = (swig::PySwigIterator *)std_vector_Sl_Hex_Quad_Sm__Sg__iterator(arg1,arg2);
+  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_swig__PySwigIterator, SWIG_POINTER_OWN |  0 );
   return resultobj;
 fail:
   return NULL;
@@ -7562,41 +6988,19 @@ fail:
 
 SWIGINTERN PyObject *_wrap_VectorQuads___nonzero__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Quad * > *arg1 = (std::vector< Hex::Quad * > *) 0 ;
-  void *argp1 = 0 ;
-  int res1 = 0 ;
-  PyObject * obj0 = 0 ;
+  std::vector<Hex::Quad * > *arg1 = (std::vector<Hex::Quad * > *) 0 ;
   bool result;
-  
-  if (!PyArg_ParseTuple(args,(char *)"O:VectorQuads___nonzero__",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Quad_p_std__allocatorT_Hex__Quad_p_t_t, 0 |  0 );
-  if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorQuads___nonzero__" "', argument " "1"" of type '" "std::vector< Hex::Quad * > const *""'"); 
-  }
-  arg1 = reinterpret_cast< std::vector< Hex::Quad * > * >(argp1);
-  result = (bool)std_vector_Sl_Hex_Quad_Sm__Sg____nonzero__((std::vector< Hex::Quad * > const *)arg1);
-  resultobj = SWIG_From_bool(static_cast< bool >(result));
-  return resultobj;
-fail:
-  return NULL;
-}
-
-
-SWIGINTERN PyObject *_wrap_VectorQuads___bool__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
-  PyObject *resultobj = 0;
-  std::vector< Hex::Quad * > *arg1 = (std::vector< Hex::Quad * > *) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  bool result;
   
-  if (!PyArg_ParseTuple(args,(char *)"O:VectorQuads___bool__",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Quad_p_std__allocatorT_Hex__Quad_p_t_t, 0 |  0 );
+  if (!PyArg_ParseTuple(args,(char *)"O:VectorQuads___nonzero__",&obj0)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Quad_p_std__allocatorTHex__Quad_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorQuads___bool__" "', argument " "1"" of type '" "std::vector< Hex::Quad * > const *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorQuads___nonzero__" "', argument " "1"" of type '" "std::vector<Hex::Quad * > const *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::Quad * > * >(argp1);
-  result = (bool)std_vector_Sl_Hex_Quad_Sm__Sg____bool__((std::vector< Hex::Quad * > const *)arg1);
+  arg1 = reinterpret_cast< std::vector<Hex::Quad * > * >(argp1);
+  result = (bool)std_vector_Sl_Hex_Quad_Sm__Sg____nonzero__((std::vector<Hex::Quad * > const *)arg1);
   resultobj = SWIG_From_bool(static_cast< bool >(result));
   return resultobj;
 fail:
@@ -7606,19 +7010,19 @@ fail:
 
 SWIGINTERN PyObject *_wrap_VectorQuads___len__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Quad * > *arg1 = (std::vector< Hex::Quad * > *) 0 ;
+  std::vector<Hex::Quad * > *arg1 = (std::vector<Hex::Quad * > *) 0 ;
+  std::vector<Hex::Quad * >::size_type result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  std::vector< Hex::Quad * >::size_type result;
   
   if (!PyArg_ParseTuple(args,(char *)"O:VectorQuads___len__",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Quad_p_std__allocatorT_Hex__Quad_p_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Quad_p_std__allocatorTHex__Quad_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorQuads___len__" "', argument " "1"" of type '" "std::vector< Hex::Quad * > const *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorQuads___len__" "', argument " "1"" of type '" "std::vector<Hex::Quad * > const *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::Quad * > * >(argp1);
-  result = std_vector_Sl_Hex_Quad_Sm__Sg____len__((std::vector< Hex::Quad * > const *)arg1);
+  arg1 = reinterpret_cast< std::vector<Hex::Quad * > * >(argp1);
+  result = std_vector_Sl_Hex_Quad_Sm__Sg____len__((std::vector<Hex::Quad * > const *)arg1);
   resultobj = SWIG_From_size_t(static_cast< size_t >(result));
   return resultobj;
 fail:
@@ -7628,26 +7032,26 @@ fail:
 
 SWIGINTERN PyObject *_wrap_VectorQuads_pop(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Quad * > *arg1 = (std::vector< Hex::Quad * > *) 0 ;
+  std::vector<Hex::Quad * > *arg1 = (std::vector<Hex::Quad * > *) 0 ;
+  std::vector<Hex::Quad * >::value_type result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  std::vector< Hex::Quad * >::value_type result;
   
   if (!PyArg_ParseTuple(args,(char *)"O:VectorQuads_pop",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Quad_p_std__allocatorT_Hex__Quad_p_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Quad_p_std__allocatorTHex__Quad_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorQuads_pop" "', argument " "1"" of type '" "std::vector< Hex::Quad * > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorQuads_pop" "', argument " "1"" of type '" "std::vector<Hex::Quad * > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::Quad * > * >(argp1);
+  arg1 = reinterpret_cast< std::vector<Hex::Quad * > * >(argp1);
   try {
-    result = (std::vector< Hex::Quad * >::value_type)std_vector_Sl_Hex_Quad_Sm__Sg__pop(arg1);
+    result = (std::vector<Hex::Quad * >::value_type)std_vector_Sl_Hex_Quad_Sm__Sg__pop(arg1);
   }
   catch(std::out_of_range &_e) {
     SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
   }
   
-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_std__vectorT_Hex__Quad_p_std__allocatorT_Hex__Quad_p_t_t__value_type, 0 |  0 );
+  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_std__vectorTHex__Quad_p_std__allocatorTHex__Quad_p_t_t__value_type, 0 |  0 );
   return resultobj;
 fail:
   return NULL;
@@ -7656,9 +7060,10 @@ fail:
 
 SWIGINTERN PyObject *_wrap_VectorQuads___getslice__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Quad * > *arg1 = (std::vector< Hex::Quad * > *) 0 ;
-  std::vector< Hex::Quad * >::difference_type arg2 ;
-  std::vector< Hex::Quad * >::difference_type arg3 ;
+  std::vector<Hex::Quad * > *arg1 = (std::vector<Hex::Quad * > *) 0 ;
+  std::vector<Hex::Quad * >::difference_type arg2 ;
+  std::vector<Hex::Quad * >::difference_type arg3 ;
+  std::vector<Hex::Quad *,std::allocator<Hex::Quad * > > *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   ptrdiff_t val2 ;
@@ -7668,32 +7073,31 @@ SWIGINTERN PyObject *_wrap_VectorQuads___getslice__(PyObject *SWIGUNUSEDPARM(sel
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
   PyObject * obj2 = 0 ;
-  std::vector< Hex::Quad *,std::allocator< Hex::Quad * > > *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOO:VectorQuads___getslice__",&obj0,&obj1,&obj2)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Quad_p_std__allocatorT_Hex__Quad_p_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Quad_p_std__allocatorTHex__Quad_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorQuads___getslice__" "', argument " "1"" of type '" "std::vector< Hex::Quad * > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorQuads___getslice__" "', argument " "1"" of type '" "std::vector<Hex::Quad * > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::Quad * > * >(argp1);
+  arg1 = reinterpret_cast< std::vector<Hex::Quad * > * >(argp1);
   ecode2 = SWIG_AsVal_ptrdiff_t(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorQuads___getslice__" "', argument " "2"" of type '" "std::vector< Hex::Quad * >::difference_type""'");
+    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorQuads___getslice__" "', argument " "2"" of type '" "std::vector<Hex::Quad * >::difference_type""'");
   } 
-  arg2 = static_cast< std::vector< Hex::Quad * >::difference_type >(val2);
+  arg2 = static_cast< std::vector<Hex::Quad * >::difference_type >(val2);
   ecode3 = SWIG_AsVal_ptrdiff_t(obj2, &val3);
   if (!SWIG_IsOK(ecode3)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "VectorQuads___getslice__" "', argument " "3"" of type '" "std::vector< Hex::Quad * >::difference_type""'");
+    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "VectorQuads___getslice__" "', argument " "3"" of type '" "std::vector<Hex::Quad * >::difference_type""'");
   } 
-  arg3 = static_cast< std::vector< Hex::Quad * >::difference_type >(val3);
+  arg3 = static_cast< std::vector<Hex::Quad * >::difference_type >(val3);
   try {
-    result = (std::vector< Hex::Quad *,std::allocator< Hex::Quad * > > *)std_vector_Sl_Hex_Quad_Sm__Sg____getslice__(arg1,arg2,arg3);
+    result = (std::vector<Hex::Quad *,std::allocator<Hex::Quad * > > *)std_vector_Sl_Hex_Quad_Sm__Sg____getslice__(arg1,arg2,arg3);
   }
   catch(std::out_of_range &_e) {
     SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
   }
   
-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_Hex__Quad_p_std__allocatorT_Hex__Quad_p_t_t, SWIG_POINTER_OWN |  0 );
+  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorTHex__Quad_p_std__allocatorTHex__Quad_p_t_t, SWIG_POINTER_OWN |  0 );
   return resultobj;
 fail:
   return NULL;
@@ -7702,10 +7106,10 @@ fail:
 
 SWIGINTERN PyObject *_wrap_VectorQuads___setslice__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Quad * > *arg1 = (std::vector< Hex::Quad * > *) 0 ;
-  std::vector< Hex::Quad * >::difference_type arg2 ;
-  std::vector< Hex::Quad * >::difference_type arg3 ;
-  std::vector< Hex::Quad *,std::allocator< Hex::Quad * > > *arg4 = 0 ;
+  std::vector<Hex::Quad * > *arg1 = (std::vector<Hex::Quad * > *) 0 ;
+  std::vector<Hex::Quad * >::difference_type arg2 ;
+  std::vector<Hex::Quad * >::difference_type arg3 ;
+  std::vector<Hex::Quad *,std::allocator<Hex::Quad * > > *arg4 = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   ptrdiff_t val2 ;
@@ -7719,34 +7123,34 @@ SWIGINTERN PyObject *_wrap_VectorQuads___setslice__(PyObject *SWIGUNUSEDPARM(sel
   PyObject * obj3 = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOOO:VectorQuads___setslice__",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Quad_p_std__allocatorT_Hex__Quad_p_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Quad_p_std__allocatorTHex__Quad_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorQuads___setslice__" "', argument " "1"" of type '" "std::vector< Hex::Quad * > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorQuads___setslice__" "', argument " "1"" of type '" "std::vector<Hex::Quad * > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::Quad * > * >(argp1);
+  arg1 = reinterpret_cast< std::vector<Hex::Quad * > * >(argp1);
   ecode2 = SWIG_AsVal_ptrdiff_t(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorQuads___setslice__" "', argument " "2"" of type '" "std::vector< Hex::Quad * >::difference_type""'");
+    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorQuads___setslice__" "', argument " "2"" of type '" "std::vector<Hex::Quad * >::difference_type""'");
   } 
-  arg2 = static_cast< std::vector< Hex::Quad * >::difference_type >(val2);
+  arg2 = static_cast< std::vector<Hex::Quad * >::difference_type >(val2);
   ecode3 = SWIG_AsVal_ptrdiff_t(obj2, &val3);
   if (!SWIG_IsOK(ecode3)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "VectorQuads___setslice__" "', argument " "3"" of type '" "std::vector< Hex::Quad * >::difference_type""'");
+    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "VectorQuads___setslice__" "', argument " "3"" of type '" "std::vector<Hex::Quad * >::difference_type""'");
   } 
-  arg3 = static_cast< std::vector< Hex::Quad * >::difference_type >(val3);
+  arg3 = static_cast< std::vector<Hex::Quad * >::difference_type >(val3);
   {
-    std::vector<Hex::Quad*,std::allocator< Hex::Quad * > > *ptr = (std::vector<Hex::Quad*,std::allocator< Hex::Quad * > > *)0;
+    std::vector<Hex::Quad*,std::allocator<Hex::Quad * > > *ptr = (std::vector<Hex::Quad*,std::allocator<Hex::Quad * > > *)0;
     res4 = swig::asptr(obj3, &ptr);
     if (!SWIG_IsOK(res4)) {
-      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "VectorQuads___setslice__" "', argument " "4"" of type '" "std::vector< Hex::Quad *,std::allocator< Hex::Quad * > > const &""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "VectorQuads___setslice__" "', argument " "4"" of type '" "std::vector<Hex::Quad *,std::allocator<Hex::Quad * > > const &""'"); 
     }
     if (!ptr) {
-      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "VectorQuads___setslice__" "', argument " "4"" of type '" "std::vector< Hex::Quad *,std::allocator< Hex::Quad * > > const &""'"); 
+      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "VectorQuads___setslice__" "', argument " "4"" of type '" "std::vector<Hex::Quad *,std::allocator<Hex::Quad * > > const &""'"); 
     }
     arg4 = ptr;
   }
   try {
-    std_vector_Sl_Hex_Quad_Sm__Sg____setslice__(arg1,arg2,arg3,(std::vector< Hex::Quad *,std::allocator< Hex::Quad * > > const &)*arg4);
+    std_vector_Sl_Hex_Quad_Sm__Sg____setslice__(arg1,arg2,arg3,(std::vector<Hex::Quad *,std::allocator<Hex::Quad * > > const &)*arg4);
   }
   catch(std::out_of_range &_e) {
     SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
@@ -7766,9 +7170,9 @@ fail:
 
 SWIGINTERN PyObject *_wrap_VectorQuads___delslice__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Quad * > *arg1 = (std::vector< Hex::Quad * > *) 0 ;
-  std::vector< Hex::Quad * >::difference_type arg2 ;
-  std::vector< Hex::Quad * >::difference_type arg3 ;
+  std::vector<Hex::Quad * > *arg1 = (std::vector<Hex::Quad * > *) 0 ;
+  std::vector<Hex::Quad * >::difference_type arg2 ;
+  std::vector<Hex::Quad * >::difference_type arg3 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   ptrdiff_t val2 ;
@@ -7780,21 +7184,21 @@ SWIGINTERN PyObject *_wrap_VectorQuads___delslice__(PyObject *SWIGUNUSEDPARM(sel
   PyObject * obj2 = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOO:VectorQuads___delslice__",&obj0,&obj1,&obj2)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Quad_p_std__allocatorT_Hex__Quad_p_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Quad_p_std__allocatorTHex__Quad_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorQuads___delslice__" "', argument " "1"" of type '" "std::vector< Hex::Quad * > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorQuads___delslice__" "', argument " "1"" of type '" "std::vector<Hex::Quad * > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::Quad * > * >(argp1);
+  arg1 = reinterpret_cast< std::vector<Hex::Quad * > * >(argp1);
   ecode2 = SWIG_AsVal_ptrdiff_t(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorQuads___delslice__" "', argument " "2"" of type '" "std::vector< Hex::Quad * >::difference_type""'");
+    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorQuads___delslice__" "', argument " "2"" of type '" "std::vector<Hex::Quad * >::difference_type""'");
   } 
-  arg2 = static_cast< std::vector< Hex::Quad * >::difference_type >(val2);
+  arg2 = static_cast< std::vector<Hex::Quad * >::difference_type >(val2);
   ecode3 = SWIG_AsVal_ptrdiff_t(obj2, &val3);
   if (!SWIG_IsOK(ecode3)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "VectorQuads___delslice__" "', argument " "3"" of type '" "std::vector< Hex::Quad * >::difference_type""'");
+    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "VectorQuads___delslice__" "', argument " "3"" of type '" "std::vector<Hex::Quad * >::difference_type""'");
   } 
-  arg3 = static_cast< std::vector< Hex::Quad * >::difference_type >(val3);
+  arg3 = static_cast< std::vector<Hex::Quad * >::difference_type >(val3);
   try {
     std_vector_Sl_Hex_Quad_Sm__Sg____delslice__(arg1,arg2,arg3);
   }
@@ -7809,10 +7213,10 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_VectorQuads___delitem____SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_VectorQuads___delitem__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Quad * > *arg1 = (std::vector< Hex::Quad * > *) 0 ;
-  std::vector< Hex::Quad * >::difference_type arg2 ;
+  std::vector<Hex::Quad * > *arg1 = (std::vector<Hex::Quad * > *) 0 ;
+  std::vector<Hex::Quad * >::difference_type arg2 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   ptrdiff_t val2 ;
@@ -7821,18 +7225,18 @@ SWIGINTERN PyObject *_wrap_VectorQuads___delitem____SWIG_0(PyObject *SWIGUNUSEDP
   PyObject * obj1 = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OO:VectorQuads___delitem__",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Quad_p_std__allocatorT_Hex__Quad_p_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Quad_p_std__allocatorTHex__Quad_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorQuads___delitem__" "', argument " "1"" of type '" "std::vector< Hex::Quad * > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorQuads___delitem__" "', argument " "1"" of type '" "std::vector<Hex::Quad * > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::Quad * > * >(argp1);
+  arg1 = reinterpret_cast< std::vector<Hex::Quad * > * >(argp1);
   ecode2 = SWIG_AsVal_ptrdiff_t(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorQuads___delitem__" "', argument " "2"" of type '" "std::vector< Hex::Quad * >::difference_type""'");
+    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorQuads___delitem__" "', argument " "2"" of type '" "std::vector<Hex::Quad * >::difference_type""'");
   } 
-  arg2 = static_cast< std::vector< Hex::Quad * >::difference_type >(val2);
+  arg2 = static_cast< std::vector<Hex::Quad * >::difference_type >(val2);
   try {
-    std_vector_Sl_Hex_Quad_Sm__Sg____delitem____SWIG_0(arg1,arg2);
+    std_vector_Sl_Hex_Quad_Sm__Sg____delitem__(arg1,arg2);
   }
   catch(std::out_of_range &_e) {
     SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
@@ -7845,115 +7249,111 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_VectorQuads___getitem____SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_VectorQuads___getitem__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Quad * > *arg1 = (std::vector< Hex::Quad * > *) 0 ;
-  PySliceObject *arg2 = (PySliceObject *) 0 ;
+  std::vector<Hex::Quad * > *arg1 = (std::vector<Hex::Quad * > *) 0 ;
+  std::vector<Hex::Quad * >::difference_type arg2 ;
+  std::vector<Hex::Quad * >::value_type result;
   void *argp1 = 0 ;
   int res1 = 0 ;
+  ptrdiff_t val2 ;
+  int ecode2 = 0 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
-  std::vector< Hex::Quad *,std::allocator< Hex::Quad * > > *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OO:VectorQuads___getitem__",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Quad_p_std__allocatorT_Hex__Quad_p_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Quad_p_std__allocatorTHex__Quad_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorQuads___getitem__" "', argument " "1"" of type '" "std::vector< Hex::Quad * > *""'"); 
-  }
-  arg1 = reinterpret_cast< std::vector< Hex::Quad * > * >(argp1);
-  {
-    arg2 = (PySliceObject *) obj1;
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorQuads___getitem__" "', argument " "1"" of type '" "std::vector<Hex::Quad * > *""'"); 
   }
+  arg1 = reinterpret_cast< std::vector<Hex::Quad * > * >(argp1);
+  ecode2 = SWIG_AsVal_ptrdiff_t(obj1, &val2);
+  if (!SWIG_IsOK(ecode2)) {
+    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorQuads___getitem__" "', argument " "2"" of type '" "std::vector<Hex::Quad * >::difference_type""'");
+  } 
+  arg2 = static_cast< std::vector<Hex::Quad * >::difference_type >(val2);
   try {
-    result = (std::vector< Hex::Quad *,std::allocator< Hex::Quad * > > *)std_vector_Sl_Hex_Quad_Sm__Sg____getitem____SWIG_0(arg1,arg2);
+    result = (std::vector<Hex::Quad * >::value_type)std_vector_Sl_Hex_Quad_Sm__Sg____getitem__(arg1,arg2);
   }
   catch(std::out_of_range &_e) {
     SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
   }
   
-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_Hex__Quad_p_std__allocatorT_Hex__Quad_p_t_t, 0 |  0 );
+  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_std__vectorTHex__Quad_p_std__allocatorTHex__Quad_p_t_t__value_type, 0 |  0 );
   return resultobj;
 fail:
   return NULL;
 }
 
 
-SWIGINTERN PyObject *_wrap_VectorQuads___setitem____SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_VectorQuads___setitem__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Quad * > *arg1 = (std::vector< Hex::Quad * > *) 0 ;
-  PySliceObject *arg2 = (PySliceObject *) 0 ;
-  std::vector< Hex::Quad *,std::allocator< Hex::Quad * > > *arg3 = 0 ;
+  std::vector<Hex::Quad * > *arg1 = (std::vector<Hex::Quad * > *) 0 ;
+  std::vector<Hex::Quad * >::difference_type arg2 ;
+  std::vector<Hex::Quad * >::value_type arg3 = (std::vector<Hex::Quad * >::value_type) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
-  int res3 = SWIG_OLDOBJ ;
+  ptrdiff_t val2 ;
+  int ecode2 = 0 ;
+  void *argp3 = 0 ;
+  int res3 = 0 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
   PyObject * obj2 = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOO:VectorQuads___setitem__",&obj0,&obj1,&obj2)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Quad_p_std__allocatorT_Hex__Quad_p_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Quad_p_std__allocatorTHex__Quad_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorQuads___setitem__" "', argument " "1"" of type '" "std::vector< Hex::Quad * > *""'"); 
-  }
-  arg1 = reinterpret_cast< std::vector< Hex::Quad * > * >(argp1);
-  {
-    arg2 = (PySliceObject *) obj1;
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorQuads___setitem__" "', argument " "1"" of type '" "std::vector<Hex::Quad * > *""'"); 
   }
-  {
-    std::vector<Hex::Quad*,std::allocator< Hex::Quad * > > *ptr = (std::vector<Hex::Quad*,std::allocator< Hex::Quad * > > *)0;
-    res3 = swig::asptr(obj2, &ptr);
-    if (!SWIG_IsOK(res3)) {
-      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "VectorQuads___setitem__" "', argument " "3"" of type '" "std::vector< Hex::Quad *,std::allocator< Hex::Quad * > > const &""'"); 
-    }
-    if (!ptr) {
-      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "VectorQuads___setitem__" "', argument " "3"" of type '" "std::vector< Hex::Quad *,std::allocator< Hex::Quad * > > const &""'"); 
-    }
-    arg3 = ptr;
+  arg1 = reinterpret_cast< std::vector<Hex::Quad * > * >(argp1);
+  ecode2 = SWIG_AsVal_ptrdiff_t(obj1, &val2);
+  if (!SWIG_IsOK(ecode2)) {
+    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorQuads___setitem__" "', argument " "2"" of type '" "std::vector<Hex::Quad * >::difference_type""'");
+  } 
+  arg2 = static_cast< std::vector<Hex::Quad * >::difference_type >(val2);
+  res3 = SWIG_ConvertPtr(obj2, &argp3,SWIGTYPE_std__vectorTHex__Quad_p_std__allocatorTHex__Quad_p_t_t__value_type, 0 |  0 );
+  if (!SWIG_IsOK(res3)) {
+    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "VectorQuads___setitem__" "', argument " "3"" of type '" "std::vector<Hex::Quad * >::value_type""'"); 
   }
+  arg3 = reinterpret_cast< std::vector<Hex::Quad * >::value_type >(argp3);
   try {
-    std_vector_Sl_Hex_Quad_Sm__Sg____setitem____SWIG_0(arg1,arg2,(std::vector< Hex::Quad *,std::allocator< Hex::Quad * > > const &)*arg3);
+    std_vector_Sl_Hex_Quad_Sm__Sg____setitem__(arg1,arg2,arg3);
   }
   catch(std::out_of_range &_e) {
     SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
   }
-  catch(std::invalid_argument &_e) {
-    SWIG_exception_fail(SWIG_ValueError, (&_e)->what());
-  }
   
   resultobj = SWIG_Py_Void();
-  if (SWIG_IsNewObj(res3)) delete arg3;
   return resultobj;
 fail:
-  if (SWIG_IsNewObj(res3)) delete arg3;
   return NULL;
 }
 
 
-SWIGINTERN PyObject *_wrap_VectorQuads___delitem____SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_VectorQuads_append(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Quad * > *arg1 = (std::vector< Hex::Quad * > *) 0 ;
-  PySliceObject *arg2 = (PySliceObject *) 0 ;
+  std::vector<Hex::Quad * > *arg1 = (std::vector<Hex::Quad * > *) 0 ;
+  std::vector<Hex::Quad * >::value_type arg2 = (std::vector<Hex::Quad * >::value_type) 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:VectorQuads___delitem__",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Quad_p_std__allocatorT_Hex__Quad_p_t_t, 0 |  0 );
+  if (!PyArg_ParseTuple(args,(char *)"OO:VectorQuads_append",&obj0,&obj1)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Quad_p_std__allocatorTHex__Quad_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorQuads___delitem__" "', argument " "1"" of type '" "std::vector< Hex::Quad * > *""'"); 
-  }
-  arg1 = reinterpret_cast< std::vector< Hex::Quad * > * >(argp1);
-  {
-    arg2 = (PySliceObject *) obj1;
-  }
-  try {
-    std_vector_Sl_Hex_Quad_Sm__Sg____delitem____SWIG_1(arg1,arg2);
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorQuads_append" "', argument " "1"" of type '" "std::vector<Hex::Quad * > *""'"); 
   }
-  catch(std::out_of_range &_e) {
-    SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
+  arg1 = reinterpret_cast< std::vector<Hex::Quad * > * >(argp1);
+  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_std__vectorTHex__Quad_p_std__allocatorTHex__Quad_p_t_t__value_type, 0 |  0 );
+  if (!SWIG_IsOK(res2)) {
+    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "VectorQuads_append" "', argument " "2"" of type '" "std::vector<Hex::Quad * >::value_type""'"); 
   }
-  
+  arg2 = reinterpret_cast< std::vector<Hex::Quad * >::value_type >(argp2);
+  std_vector_Sl_Hex_Quad_Sm__Sg__append(arg1,arg2);
   resultobj = SWIG_Py_Void();
   return resultobj;
 fail:
@@ -7961,275 +7361,13 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_VectorQuads___delitem__(PyObject *self, PyObject *args) {
-  int argc;
-  PyObject *argv[3];
-  int ii;
-  
-  if (!PyTuple_Check(args)) SWIG_fail;
-  argc = (int)PyObject_Length(args);
-  for (ii = 0; (ii < argc) && (ii < 2); ii++) {
-    argv[ii] = PyTuple_GET_ITEM(args,ii);
-  }
-  if (argc == 2) {
-    int _v;
-    int res = swig::asptr(argv[0], (std::vector<Hex::Quad*,std::allocator< Hex::Quad * > >**)(0));
-    _v = SWIG_CheckState(res);
-    if (_v) {
-      {
-        _v = PySlice_Check(argv[1]);
-      }
-      if (_v) {
-        return _wrap_VectorQuads___delitem____SWIG_1(self, args);
-      }
-    }
-  }
-  if (argc == 2) {
-    int _v;
-    int res = swig::asptr(argv[0], (std::vector<Hex::Quad*,std::allocator< Hex::Quad * > >**)(0));
-    _v = SWIG_CheckState(res);
-    if (_v) {
-      {
-        int res = SWIG_AsVal_ptrdiff_t(argv[1], NULL);
-        _v = SWIG_CheckState(res);
-      }
-      if (_v) {
-        return _wrap_VectorQuads___delitem____SWIG_0(self, args);
-      }
-    }
-  }
-  
-fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'VectorQuads___delitem__'.\n"
-    "  Possible C/C++ prototypes are:\n"
-    "    __delitem__(std::vector< Hex::Quad * > *,std::vector< Hex::Quad * >::difference_type)\n"
-    "    __delitem__(std::vector< Hex::Quad * > *,PySliceObject *)\n");
-  return NULL;
-}
-
-
-SWIGINTERN PyObject *_wrap_VectorQuads___getitem____SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
-  PyObject *resultobj = 0;
-  std::vector< Hex::Quad * > *arg1 = (std::vector< Hex::Quad * > *) 0 ;
-  std::vector< Hex::Quad * >::difference_type arg2 ;
-  void *argp1 = 0 ;
-  int res1 = 0 ;
-  ptrdiff_t val2 ;
-  int ecode2 = 0 ;
-  PyObject * obj0 = 0 ;
-  PyObject * obj1 = 0 ;
-  std::vector< Hex::Quad * >::value_type result;
-  
-  if (!PyArg_ParseTuple(args,(char *)"OO:VectorQuads___getitem__",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Quad_p_std__allocatorT_Hex__Quad_p_t_t, 0 |  0 );
-  if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorQuads___getitem__" "', argument " "1"" of type '" "std::vector< Hex::Quad * > *""'"); 
-  }
-  arg1 = reinterpret_cast< std::vector< Hex::Quad * > * >(argp1);
-  ecode2 = SWIG_AsVal_ptrdiff_t(obj1, &val2);
-  if (!SWIG_IsOK(ecode2)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorQuads___getitem__" "', argument " "2"" of type '" "std::vector< Hex::Quad * >::difference_type""'");
-  } 
-  arg2 = static_cast< std::vector< Hex::Quad * >::difference_type >(val2);
-  try {
-    result = (std::vector< Hex::Quad * >::value_type)std_vector_Sl_Hex_Quad_Sm__Sg____getitem____SWIG_1(arg1,arg2);
-  }
-  catch(std::out_of_range &_e) {
-    SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
-  }
-  
-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_std__vectorT_Hex__Quad_p_std__allocatorT_Hex__Quad_p_t_t__value_type, 0 |  0 );
-  return resultobj;
-fail:
-  return NULL;
-}
-
-
-SWIGINTERN PyObject *_wrap_VectorQuads___getitem__(PyObject *self, PyObject *args) {
-  int argc;
-  PyObject *argv[3];
-  int ii;
-  
-  if (!PyTuple_Check(args)) SWIG_fail;
-  argc = (int)PyObject_Length(args);
-  for (ii = 0; (ii < argc) && (ii < 2); ii++) {
-    argv[ii] = PyTuple_GET_ITEM(args,ii);
-  }
-  if (argc == 2) {
-    int _v;
-    int res = swig::asptr(argv[0], (std::vector<Hex::Quad*,std::allocator< Hex::Quad * > >**)(0));
-    _v = SWIG_CheckState(res);
-    if (_v) {
-      {
-        _v = PySlice_Check(argv[1]);
-      }
-      if (_v) {
-        return _wrap_VectorQuads___getitem____SWIG_0(self, args);
-      }
-    }
-  }
-  if (argc == 2) {
-    int _v;
-    int res = swig::asptr(argv[0], (std::vector<Hex::Quad*,std::allocator< Hex::Quad * > >**)(0));
-    _v = SWIG_CheckState(res);
-    if (_v) {
-      {
-        int res = SWIG_AsVal_ptrdiff_t(argv[1], NULL);
-        _v = SWIG_CheckState(res);
-      }
-      if (_v) {
-        return _wrap_VectorQuads___getitem____SWIG_1(self, args);
-      }
-    }
-  }
-  
-fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'VectorQuads___getitem__'.\n"
-    "  Possible C/C++ prototypes are:\n"
-    "    __getitem__(std::vector< Hex::Quad * > *,PySliceObject *)\n"
-    "    __getitem__(std::vector< Hex::Quad * > *,std::vector< Hex::Quad * >::difference_type)\n");
-  return NULL;
-}
-
-
-SWIGINTERN PyObject *_wrap_VectorQuads___setitem____SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
-  PyObject *resultobj = 0;
-  std::vector< Hex::Quad * > *arg1 = (std::vector< Hex::Quad * > *) 0 ;
-  std::vector< Hex::Quad * >::difference_type arg2 ;
-  std::vector< Hex::Quad * >::value_type arg3 = (std::vector< Hex::Quad * >::value_type) 0 ;
-  void *argp1 = 0 ;
-  int res1 = 0 ;
-  ptrdiff_t val2 ;
-  int ecode2 = 0 ;
-  void *argp3 = 0 ;
-  int res3 = 0 ;
-  PyObject * obj0 = 0 ;
-  PyObject * obj1 = 0 ;
-  PyObject * obj2 = 0 ;
-  
-  if (!PyArg_ParseTuple(args,(char *)"OOO:VectorQuads___setitem__",&obj0,&obj1,&obj2)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Quad_p_std__allocatorT_Hex__Quad_p_t_t, 0 |  0 );
-  if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorQuads___setitem__" "', argument " "1"" of type '" "std::vector< Hex::Quad * > *""'"); 
-  }
-  arg1 = reinterpret_cast< std::vector< Hex::Quad * > * >(argp1);
-  ecode2 = SWIG_AsVal_ptrdiff_t(obj1, &val2);
-  if (!SWIG_IsOK(ecode2)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorQuads___setitem__" "', argument " "2"" of type '" "std::vector< Hex::Quad * >::difference_type""'");
-  } 
-  arg2 = static_cast< std::vector< Hex::Quad * >::difference_type >(val2);
-  res3 = SWIG_ConvertPtr(obj2, &argp3,SWIGTYPE_std__vectorT_Hex__Quad_p_std__allocatorT_Hex__Quad_p_t_t__value_type, 0 |  0 );
-  if (!SWIG_IsOK(res3)) {
-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "VectorQuads___setitem__" "', argument " "3"" of type '" "std::vector< Hex::Quad * >::value_type""'"); 
-  }
-  arg3 = reinterpret_cast< std::vector< Hex::Quad * >::value_type >(argp3);
-  try {
-    std_vector_Sl_Hex_Quad_Sm__Sg____setitem____SWIG_1(arg1,arg2,arg3);
-  }
-  catch(std::out_of_range &_e) {
-    SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
-  }
-  
-  resultobj = SWIG_Py_Void();
-  return resultobj;
-fail:
-  return NULL;
-}
-
-
-SWIGINTERN PyObject *_wrap_VectorQuads___setitem__(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 == 3) {
-    int _v;
-    int res = swig::asptr(argv[0], (std::vector<Hex::Quad*,std::allocator< Hex::Quad * > >**)(0));
-    _v = SWIG_CheckState(res);
-    if (_v) {
-      {
-        _v = PySlice_Check(argv[1]);
-      }
-      if (_v) {
-        int res = swig::asptr(argv[2], (std::vector<Hex::Quad*,std::allocator< Hex::Quad * > >**)(0));
-        _v = SWIG_CheckState(res);
-        if (_v) {
-          return _wrap_VectorQuads___setitem____SWIG_0(self, args);
-        }
-      }
-    }
-  }
-  if (argc == 3) {
-    int _v;
-    int res = swig::asptr(argv[0], (std::vector<Hex::Quad*,std::allocator< Hex::Quad * > >**)(0));
-    _v = SWIG_CheckState(res);
-    if (_v) {
-      {
-        int res = SWIG_AsVal_ptrdiff_t(argv[1], NULL);
-        _v = SWIG_CheckState(res);
-      }
-      if (_v) {
-        void *vptr = 0;
-        int res = SWIG_ConvertPtr(argv[2], &vptr, SWIGTYPE_std__vectorT_Hex__Quad_p_std__allocatorT_Hex__Quad_p_t_t__value_type, 0);
-        _v = SWIG_CheckState(res);
-        if (_v) {
-          return _wrap_VectorQuads___setitem____SWIG_1(self, args);
-        }
-      }
-    }
-  }
-  
-fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'VectorQuads___setitem__'.\n"
-    "  Possible C/C++ prototypes are:\n"
-    "    __setitem__(std::vector< Hex::Quad * > *,PySliceObject *,std::vector< Hex::Quad *,std::allocator< Hex::Quad * > > const &)\n"
-    "    __setitem__(std::vector< Hex::Quad * > *,std::vector< Hex::Quad * >::difference_type,std::vector< Hex::Quad * >::value_type)\n");
-  return NULL;
-}
-
-
-SWIGINTERN PyObject *_wrap_VectorQuads_append(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
-  PyObject *resultobj = 0;
-  std::vector< Hex::Quad * > *arg1 = (std::vector< Hex::Quad * > *) 0 ;
-  std::vector< Hex::Quad * >::value_type arg2 = (std::vector< Hex::Quad * >::value_type) 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:VectorQuads_append",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Quad_p_std__allocatorT_Hex__Quad_p_t_t, 0 |  0 );
-  if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorQuads_append" "', argument " "1"" of type '" "std::vector< Hex::Quad * > *""'"); 
-  }
-  arg1 = reinterpret_cast< std::vector< Hex::Quad * > * >(argp1);
-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_std__vectorT_Hex__Quad_p_std__allocatorT_Hex__Quad_p_t_t__value_type, 0 |  0 );
-  if (!SWIG_IsOK(res2)) {
-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "VectorQuads_append" "', argument " "2"" of type '" "std::vector< Hex::Quad * >::value_type""'"); 
-  }
-  arg2 = reinterpret_cast< std::vector< Hex::Quad * >::value_type >(argp2);
-  std_vector_Sl_Hex_Quad_Sm__Sg__append(arg1,arg2);
-  resultobj = SWIG_Py_Void();
-  return resultobj;
-fail:
-  return NULL;
-}
-
-
-SWIGINTERN PyObject *_wrap_new_VectorQuads__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
-  PyObject *resultobj = 0;
-  std::vector< Hex::Quad * > *result = 0 ;
+SWIGINTERN PyObject *_wrap_new_VectorQuads__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+  PyObject *resultobj = 0;
+  std::vector<Hex::Quad * > *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)":new_VectorQuads")) SWIG_fail;
-  result = (std::vector< Hex::Quad * > *)new std::vector< Hex::Quad * >();
-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_Hex__Quad_p_std__allocatorT_Hex__Quad_p_t_t, SWIG_POINTER_NEW |  0 );
+  result = (std::vector<Hex::Quad * > *)new std::vector<Hex::Quad * >();
+  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorTHex__Quad_p_std__allocatorTHex__Quad_p_t_t, SWIG_POINTER_NEW |  0 );
   return resultobj;
 fail:
   return NULL;
@@ -8238,25 +7376,25 @@ fail:
 
 SWIGINTERN PyObject *_wrap_new_VectorQuads__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Quad * > *arg1 = 0 ;
+  std::vector<Hex::Quad * > *arg1 = 0 ;
+  std::vector<Hex::Quad * > *result = 0 ;
   int res1 = SWIG_OLDOBJ ;
   PyObject * obj0 = 0 ;
-  std::vector< Hex::Quad * > *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"O:new_VectorQuads",&obj0)) SWIG_fail;
   {
-    std::vector<Hex::Quad*,std::allocator< Hex::Quad * > > *ptr = (std::vector<Hex::Quad*,std::allocator< Hex::Quad * > > *)0;
+    std::vector<Hex::Quad*,std::allocator<Hex::Quad * > > *ptr = (std::vector<Hex::Quad*,std::allocator<Hex::Quad * > > *)0;
     res1 = swig::asptr(obj0, &ptr);
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_VectorQuads" "', argument " "1"" of type '" "std::vector< Hex::Quad * > const &""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_VectorQuads" "', argument " "1"" of type '" "std::vector<Hex::Quad * > const &""'"); 
     }
     if (!ptr) {
-      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_VectorQuads" "', argument " "1"" of type '" "std::vector< Hex::Quad * > const &""'"); 
+      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_VectorQuads" "', argument " "1"" of type '" "std::vector<Hex::Quad * > const &""'"); 
     }
     arg1 = ptr;
   }
-  result = (std::vector< Hex::Quad * > *)new std::vector< Hex::Quad * >((std::vector< Hex::Quad * > const &)*arg1);
-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_Hex__Quad_p_std__allocatorT_Hex__Quad_p_t_t, SWIG_POINTER_NEW |  0 );
+  result = (std::vector<Hex::Quad * > *)new std::vector<Hex::Quad * >((std::vector<Hex::Quad * > const &)*arg1);
+  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorTHex__Quad_p_std__allocatorTHex__Quad_p_t_t, SWIG_POINTER_NEW |  0 );
   if (SWIG_IsNewObj(res1)) delete arg1;
   return resultobj;
 fail:
@@ -8267,19 +7405,19 @@ fail:
 
 SWIGINTERN PyObject *_wrap_VectorQuads_empty(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Quad * > *arg1 = (std::vector< Hex::Quad * > *) 0 ;
+  std::vector<Hex::Quad * > *arg1 = (std::vector<Hex::Quad * > *) 0 ;
+  bool result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  bool result;
   
   if (!PyArg_ParseTuple(args,(char *)"O:VectorQuads_empty",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Quad_p_std__allocatorT_Hex__Quad_p_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Quad_p_std__allocatorTHex__Quad_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorQuads_empty" "', argument " "1"" of type '" "std::vector< Hex::Quad * > const *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorQuads_empty" "', argument " "1"" of type '" "std::vector<Hex::Quad * > const *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::Quad * > * >(argp1);
-  result = (bool)((std::vector< Hex::Quad * > const *)arg1)->empty();
+  arg1 = reinterpret_cast< std::vector<Hex::Quad * > * >(argp1);
+  result = (bool)((std::vector<Hex::Quad * > const *)arg1)->empty();
   resultobj = SWIG_From_bool(static_cast< bool >(result));
   return resultobj;
 fail:
@@ -8289,19 +7427,19 @@ fail:
 
 SWIGINTERN PyObject *_wrap_VectorQuads_size(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Quad * > *arg1 = (std::vector< Hex::Quad * > *) 0 ;
+  std::vector<Hex::Quad * > *arg1 = (std::vector<Hex::Quad * > *) 0 ;
+  std::vector<Hex::Quad * >::size_type result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  std::vector< Hex::Quad * >::size_type result;
   
   if (!PyArg_ParseTuple(args,(char *)"O:VectorQuads_size",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Quad_p_std__allocatorT_Hex__Quad_p_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Quad_p_std__allocatorTHex__Quad_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorQuads_size" "', argument " "1"" of type '" "std::vector< Hex::Quad * > const *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorQuads_size" "', argument " "1"" of type '" "std::vector<Hex::Quad * > const *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::Quad * > * >(argp1);
-  result = ((std::vector< Hex::Quad * > const *)arg1)->size();
+  arg1 = reinterpret_cast< std::vector<Hex::Quad * > * >(argp1);
+  result = ((std::vector<Hex::Quad * > const *)arg1)->size();
   resultobj = SWIG_From_size_t(static_cast< size_t >(result));
   return resultobj;
 fail:
@@ -8311,17 +7449,17 @@ fail:
 
 SWIGINTERN PyObject *_wrap_VectorQuads_clear(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Quad * > *arg1 = (std::vector< Hex::Quad * > *) 0 ;
+  std::vector<Hex::Quad * > *arg1 = (std::vector<Hex::Quad * > *) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"O:VectorQuads_clear",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Quad_p_std__allocatorT_Hex__Quad_p_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Quad_p_std__allocatorTHex__Quad_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorQuads_clear" "', argument " "1"" of type '" "std::vector< Hex::Quad * > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorQuads_clear" "', argument " "1"" of type '" "std::vector<Hex::Quad * > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::Quad * > * >(argp1);
+  arg1 = reinterpret_cast< std::vector<Hex::Quad * > * >(argp1);
   (arg1)->clear();
   resultobj = SWIG_Py_Void();
   return resultobj;
@@ -8332,8 +7470,8 @@ fail:
 
 SWIGINTERN PyObject *_wrap_VectorQuads_swap(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Quad * > *arg1 = (std::vector< Hex::Quad * > *) 0 ;
-  std::vector< Hex::Quad * > *arg2 = 0 ;
+  std::vector<Hex::Quad * > *arg1 = (std::vector<Hex::Quad * > *) 0 ;
+  std::vector<Hex::Quad * > *arg2 = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   void *argp2 = 0 ;
@@ -8342,19 +7480,19 @@ SWIGINTERN PyObject *_wrap_VectorQuads_swap(PyObject *SWIGUNUSEDPARM(self), PyOb
   PyObject * obj1 = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OO:VectorQuads_swap",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Quad_p_std__allocatorT_Hex__Quad_p_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Quad_p_std__allocatorTHex__Quad_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorQuads_swap" "', argument " "1"" of type '" "std::vector< Hex::Quad * > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorQuads_swap" "', argument " "1"" of type '" "std::vector<Hex::Quad * > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::Quad * > * >(argp1);
-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_std__vectorT_Hex__Quad_p_std__allocatorT_Hex__Quad_p_t_t,  0 );
+  arg1 = reinterpret_cast< std::vector<Hex::Quad * > * >(argp1);
+  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_std__vectorTHex__Quad_p_std__allocatorTHex__Quad_p_t_t,  0 );
   if (!SWIG_IsOK(res2)) {
-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "VectorQuads_swap" "', argument " "2"" of type '" "std::vector< Hex::Quad * > &""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "VectorQuads_swap" "', argument " "2"" of type '" "std::vector<Hex::Quad * > &""'"); 
   }
   if (!argp2) {
-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "VectorQuads_swap" "', argument " "2"" of type '" "std::vector< Hex::Quad * > &""'"); 
+    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "VectorQuads_swap" "', argument " "2"" of type '" "std::vector<Hex::Quad * > &""'"); 
   }
-  arg2 = reinterpret_cast< std::vector< Hex::Quad * > * >(argp2);
+  arg2 = reinterpret_cast< std::vector<Hex::Quad * > * >(argp2);
   (arg1)->swap(*arg2);
   resultobj = SWIG_Py_Void();
   return resultobj;
@@ -8365,183 +7503,407 @@ fail:
 
 SWIGINTERN PyObject *_wrap_VectorQuads_get_allocator(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Quad * > *arg1 = (std::vector< Hex::Quad * > *) 0 ;
+  std::vector<Hex::Quad * > *arg1 = (std::vector<Hex::Quad * > *) 0 ;
+  SwigValueWrapper<std::allocator<Hex::Quad * > > result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  SwigValueWrapper< std::allocator< Hex::Quad * > > result;
   
   if (!PyArg_ParseTuple(args,(char *)"O:VectorQuads_get_allocator",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Quad_p_std__allocatorT_Hex__Quad_p_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Quad_p_std__allocatorTHex__Quad_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorQuads_get_allocator" "', argument " "1"" of type '" "std::vector< Hex::Quad * > const *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorQuads_get_allocator" "', argument " "1"" of type '" "std::vector<Hex::Quad * > const *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::Quad * > * >(argp1);
-  result = ((std::vector< Hex::Quad * > const *)arg1)->get_allocator();
-  resultobj = SWIG_NewPointerObj((new std::vector< Hex::Quad * >::allocator_type(static_cast< const std::vector< Hex::Quad * >::allocator_type& >(result))), SWIGTYPE_p_std__vectorT_Hex__Quad_p_std__allocatorT_Hex__Quad_p_t_t__allocator_type, SWIG_POINTER_OWN |  0 );
+  arg1 = reinterpret_cast< std::vector<Hex::Quad * > * >(argp1);
+  result = ((std::vector<Hex::Quad * > const *)arg1)->get_allocator();
+  resultobj = SWIG_NewPointerObj((new std::vector<Hex::Quad * >::allocator_type(static_cast< const std::vector<Hex::Quad * >::allocator_type& >(result))), SWIGTYPE_p_std__vectorTHex__Quad_p_std__allocatorTHex__Quad_p_t_t__allocator_type, SWIG_POINTER_OWN |  0 );
   return resultobj;
 fail:
   return NULL;
 }
 
 
-SWIGINTERN PyObject *_wrap_VectorQuads_begin(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_VectorQuads_begin__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Quad * > *arg1 = (std::vector< Hex::Quad * > *) 0 ;
+  std::vector<Hex::Quad * > *arg1 = (std::vector<Hex::Quad * > *) 0 ;
+  std::vector<Hex::Quad * >::iterator result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  std::vector< Hex::Quad * >::const_iterator result;
   
   if (!PyArg_ParseTuple(args,(char *)"O:VectorQuads_begin",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Quad_p_std__allocatorT_Hex__Quad_p_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Quad_p_std__allocatorTHex__Quad_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorQuads_begin" "', argument " "1"" of type '" "std::vector< Hex::Quad * > const *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorQuads_begin" "', argument " "1"" of type '" "std::vector<Hex::Quad * > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::Quad * > * >(argp1);
-  result = ((std::vector< Hex::Quad * > const *)arg1)->begin();
-  resultobj = SWIG_NewPointerObj(swig::make_output_iterator(static_cast< const std::vector< Hex::Quad * >::const_iterator & >(result)),
-    swig::SwigPyIterator::descriptor(),SWIG_POINTER_OWN);
+  arg1 = reinterpret_cast< std::vector<Hex::Quad * > * >(argp1);
+  result = (arg1)->begin();
+  resultobj = SWIG_NewPointerObj(swig::make_output_iterator(static_cast< const std::vector<Hex::Quad * >::iterator & >(result)),
+    swig::PySwigIterator::descriptor(),SWIG_POINTER_OWN);
   return resultobj;
 fail:
   return NULL;
 }
 
 
-SWIGINTERN PyObject *_wrap_VectorQuads_end(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_VectorQuads_begin__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Quad * > *arg1 = (std::vector< Hex::Quad * > *) 0 ;
+  std::vector<Hex::Quad * > *arg1 = (std::vector<Hex::Quad * > *) 0 ;
+  std::vector<Hex::Quad * >::const_iterator result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  std::vector< Hex::Quad * >::const_iterator result;
   
-  if (!PyArg_ParseTuple(args,(char *)"O:VectorQuads_end",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Quad_p_std__allocatorT_Hex__Quad_p_t_t, 0 |  0 );
+  if (!PyArg_ParseTuple(args,(char *)"O:VectorQuads_begin",&obj0)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Quad_p_std__allocatorTHex__Quad_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorQuads_end" "', argument " "1"" of type '" "std::vector< Hex::Quad * > const *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorQuads_begin" "', argument " "1"" of type '" "std::vector<Hex::Quad * > const *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::Quad * > * >(argp1);
-  result = ((std::vector< Hex::Quad * > const *)arg1)->end();
-  resultobj = SWIG_NewPointerObj(swig::make_output_iterator(static_cast< const std::vector< Hex::Quad * >::const_iterator & >(result)),
-    swig::SwigPyIterator::descriptor(),SWIG_POINTER_OWN);
+  arg1 = reinterpret_cast< std::vector<Hex::Quad * > * >(argp1);
+  result = ((std::vector<Hex::Quad * > const *)arg1)->begin();
+  resultobj = SWIG_NewPointerObj(swig::make_output_iterator(static_cast< const std::vector<Hex::Quad * >::const_iterator & >(result)),
+    swig::PySwigIterator::descriptor(),SWIG_POINTER_OWN);
   return resultobj;
 fail:
   return NULL;
 }
 
 
-SWIGINTERN PyObject *_wrap_VectorQuads_rbegin(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_VectorQuads_begin(PyObject *self, PyObject *args) {
+  int argc;
+  PyObject *argv[2];
+  int ii;
+  
+  if (!PyTuple_Check(args)) SWIG_fail;
+  argc = PyObject_Length(args);
+  for (ii = 0; (ii < argc) && (ii < 1); ii++) {
+    argv[ii] = PyTuple_GET_ITEM(args,ii);
+  }
+  if (argc == 1) {
+    int _v;
+    int res = swig::asptr(argv[0], (std::vector<Hex::Quad*,std::allocator<Hex::Quad * > >**)(0));
+    _v = SWIG_CheckState(res);
+    if (_v) {
+      return _wrap_VectorQuads_begin__SWIG_0(self, args);
+    }
+  }
+  if (argc == 1) {
+    int _v;
+    int res = swig::asptr(argv[0], (std::vector<Hex::Quad*,std::allocator<Hex::Quad * > >**)(0));
+    _v = SWIG_CheckState(res);
+    if (_v) {
+      return _wrap_VectorQuads_begin__SWIG_1(self, args);
+    }
+  }
+  
+fail:
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'VectorQuads_begin'.\n  Possible C/C++ prototypes are:\n    begin()\n    begin()\n");
+  return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_VectorQuads_end__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Quad * > *arg1 = (std::vector< Hex::Quad * > *) 0 ;
+  std::vector<Hex::Quad * > *arg1 = (std::vector<Hex::Quad * > *) 0 ;
+  std::vector<Hex::Quad * >::iterator result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  std::vector< Hex::Quad * >::const_reverse_iterator result;
   
-  if (!PyArg_ParseTuple(args,(char *)"O:VectorQuads_rbegin",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Quad_p_std__allocatorT_Hex__Quad_p_t_t, 0 |  0 );
+  if (!PyArg_ParseTuple(args,(char *)"O:VectorQuads_end",&obj0)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Quad_p_std__allocatorTHex__Quad_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorQuads_rbegin" "', argument " "1"" of type '" "std::vector< Hex::Quad * > const *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorQuads_end" "', argument " "1"" of type '" "std::vector<Hex::Quad * > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::Quad * > * >(argp1);
-  result = ((std::vector< Hex::Quad * > const *)arg1)->rbegin();
-  resultobj = SWIG_NewPointerObj(swig::make_output_iterator(static_cast< const std::vector< Hex::Quad * >::const_reverse_iterator & >(result)),
-    swig::SwigPyIterator::descriptor(),SWIG_POINTER_OWN);
+  arg1 = reinterpret_cast< std::vector<Hex::Quad * > * >(argp1);
+  result = (arg1)->end();
+  resultobj = SWIG_NewPointerObj(swig::make_output_iterator(static_cast< const std::vector<Hex::Quad * >::iterator & >(result)),
+    swig::PySwigIterator::descriptor(),SWIG_POINTER_OWN);
   return resultobj;
 fail:
   return NULL;
 }
 
 
-SWIGINTERN PyObject *_wrap_VectorQuads_rend(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_VectorQuads_end__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Quad * > *arg1 = (std::vector< Hex::Quad * > *) 0 ;
+  std::vector<Hex::Quad * > *arg1 = (std::vector<Hex::Quad * > *) 0 ;
+  std::vector<Hex::Quad * >::const_iterator result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  std::vector< Hex::Quad * >::const_reverse_iterator result;
   
-  if (!PyArg_ParseTuple(args,(char *)"O:VectorQuads_rend",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Quad_p_std__allocatorT_Hex__Quad_p_t_t, 0 |  0 );
+  if (!PyArg_ParseTuple(args,(char *)"O:VectorQuads_end",&obj0)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Quad_p_std__allocatorTHex__Quad_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorQuads_rend" "', argument " "1"" of type '" "std::vector< Hex::Quad * > const *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorQuads_end" "', argument " "1"" of type '" "std::vector<Hex::Quad * > const *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::Quad * > * >(argp1);
-  result = ((std::vector< Hex::Quad * > const *)arg1)->rend();
-  resultobj = SWIG_NewPointerObj(swig::make_output_iterator(static_cast< const std::vector< Hex::Quad * >::const_reverse_iterator & >(result)),
-    swig::SwigPyIterator::descriptor(),SWIG_POINTER_OWN);
+  arg1 = reinterpret_cast< std::vector<Hex::Quad * > * >(argp1);
+  result = ((std::vector<Hex::Quad * > const *)arg1)->end();
+  resultobj = SWIG_NewPointerObj(swig::make_output_iterator(static_cast< const std::vector<Hex::Quad * >::const_iterator & >(result)),
+    swig::PySwigIterator::descriptor(),SWIG_POINTER_OWN);
   return resultobj;
 fail:
   return NULL;
 }
 
 
-SWIGINTERN PyObject *_wrap_new_VectorQuads__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
-  PyObject *resultobj = 0;
-  std::vector< Hex::Quad * >::size_type arg1 ;
-  size_t val1 ;
-  int ecode1 = 0 ;
-  PyObject * obj0 = 0 ;
-  std::vector< Hex::Quad * > *result = 0 ;
+SWIGINTERN PyObject *_wrap_VectorQuads_end(PyObject *self, PyObject *args) {
+  int argc;
+  PyObject *argv[2];
+  int ii;
+  
+  if (!PyTuple_Check(args)) SWIG_fail;
+  argc = PyObject_Length(args);
+  for (ii = 0; (ii < argc) && (ii < 1); ii++) {
+    argv[ii] = PyTuple_GET_ITEM(args,ii);
+  }
+  if (argc == 1) {
+    int _v;
+    int res = swig::asptr(argv[0], (std::vector<Hex::Quad*,std::allocator<Hex::Quad * > >**)(0));
+    _v = SWIG_CheckState(res);
+    if (_v) {
+      return _wrap_VectorQuads_end__SWIG_0(self, args);
+    }
+  }
+  if (argc == 1) {
+    int _v;
+    int res = swig::asptr(argv[0], (std::vector<Hex::Quad*,std::allocator<Hex::Quad * > >**)(0));
+    _v = SWIG_CheckState(res);
+    if (_v) {
+      return _wrap_VectorQuads_end__SWIG_1(self, args);
+    }
+  }
   
-  if (!PyArg_ParseTuple(args,(char *)"O:new_VectorQuads",&obj0)) SWIG_fail;
-  ecode1 = SWIG_AsVal_size_t(obj0, &val1);
-  if (!SWIG_IsOK(ecode1)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_VectorQuads" "', argument " "1"" of type '" "std::vector< Hex::Quad * >::size_type""'");
-  } 
-  arg1 = static_cast< std::vector< Hex::Quad * >::size_type >(val1);
-  result = (std::vector< Hex::Quad * > *)new std::vector< Hex::Quad * >(arg1);
-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_Hex__Quad_p_std__allocatorT_Hex__Quad_p_t_t, SWIG_POINTER_NEW |  0 );
-  return resultobj;
 fail:
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'VectorQuads_end'.\n  Possible C/C++ prototypes are:\n    end()\n    end()\n");
   return NULL;
 }
 
 
-SWIGINTERN PyObject *_wrap_VectorQuads_pop_back(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_VectorQuads_rbegin__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Quad * > *arg1 = (std::vector< Hex::Quad * > *) 0 ;
+  std::vector<Hex::Quad * > *arg1 = (std::vector<Hex::Quad * > *) 0 ;
+  std::vector<Hex::Quad * >::reverse_iterator result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
   
-  if (!PyArg_ParseTuple(args,(char *)"O:VectorQuads_pop_back",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Quad_p_std__allocatorT_Hex__Quad_p_t_t, 0 |  0 );
+  if (!PyArg_ParseTuple(args,(char *)"O:VectorQuads_rbegin",&obj0)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Quad_p_std__allocatorTHex__Quad_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorQuads_pop_back" "', argument " "1"" of type '" "std::vector< Hex::Quad * > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorQuads_rbegin" "', argument " "1"" of type '" "std::vector<Hex::Quad * > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::Quad * > * >(argp1);
-  (arg1)->pop_back();
-  resultobj = SWIG_Py_Void();
+  arg1 = reinterpret_cast< std::vector<Hex::Quad * > * >(argp1);
+  result = (arg1)->rbegin();
+  resultobj = SWIG_NewPointerObj(swig::make_output_iterator(static_cast< const std::vector<Hex::Quad * >::reverse_iterator & >(result)),
+    swig::PySwigIterator::descriptor(),SWIG_POINTER_OWN);
   return resultobj;
 fail:
   return NULL;
 }
 
 
-SWIGINTERN PyObject *_wrap_VectorQuads_resize__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_VectorQuads_rbegin__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Quad * > *arg1 = (std::vector< Hex::Quad * > *) 0 ;
-  std::vector< Hex::Quad * >::size_type arg2 ;
+  std::vector<Hex::Quad * > *arg1 = (std::vector<Hex::Quad * > *) 0 ;
+  std::vector<Hex::Quad * >::const_reverse_iterator result;
   void *argp1 = 0 ;
   int res1 = 0 ;
-  size_t val2 ;
-  int ecode2 = 0 ;
   PyObject * obj0 = 0 ;
-  PyObject * obj1 = 0 ;
   
-  if (!PyArg_ParseTuple(args,(char *)"OO:VectorQuads_resize",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Quad_p_std__allocatorT_Hex__Quad_p_t_t, 0 |  0 );
+  if (!PyArg_ParseTuple(args,(char *)"O:VectorQuads_rbegin",&obj0)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Quad_p_std__allocatorTHex__Quad_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorQuads_resize" "', argument " "1"" of type '" "std::vector< Hex::Quad * > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorQuads_rbegin" "', argument " "1"" of type '" "std::vector<Hex::Quad * > const *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::Quad * > * >(argp1);
-  ecode2 = SWIG_AsVal_size_t(obj1, &val2);
-  if (!SWIG_IsOK(ecode2)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorQuads_resize" "', argument " "2"" of type '" "std::vector< Hex::Quad * >::size_type""'");
+  arg1 = reinterpret_cast< std::vector<Hex::Quad * > * >(argp1);
+  result = ((std::vector<Hex::Quad * > const *)arg1)->rbegin();
+  resultobj = SWIG_NewPointerObj(swig::make_output_iterator(static_cast< const std::vector<Hex::Quad * >::const_reverse_iterator & >(result)),
+    swig::PySwigIterator::descriptor(),SWIG_POINTER_OWN);
+  return resultobj;
+fail:
+  return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_VectorQuads_rbegin(PyObject *self, PyObject *args) {
+  int argc;
+  PyObject *argv[2];
+  int ii;
+  
+  if (!PyTuple_Check(args)) SWIG_fail;
+  argc = PyObject_Length(args);
+  for (ii = 0; (ii < argc) && (ii < 1); ii++) {
+    argv[ii] = PyTuple_GET_ITEM(args,ii);
+  }
+  if (argc == 1) {
+    int _v;
+    int res = swig::asptr(argv[0], (std::vector<Hex::Quad*,std::allocator<Hex::Quad * > >**)(0));
+    _v = SWIG_CheckState(res);
+    if (_v) {
+      return _wrap_VectorQuads_rbegin__SWIG_0(self, args);
+    }
+  }
+  if (argc == 1) {
+    int _v;
+    int res = swig::asptr(argv[0], (std::vector<Hex::Quad*,std::allocator<Hex::Quad * > >**)(0));
+    _v = SWIG_CheckState(res);
+    if (_v) {
+      return _wrap_VectorQuads_rbegin__SWIG_1(self, args);
+    }
+  }
+  
+fail:
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'VectorQuads_rbegin'.\n  Possible C/C++ prototypes are:\n    rbegin()\n    rbegin()\n");
+  return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_VectorQuads_rend__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+  PyObject *resultobj = 0;
+  std::vector<Hex::Quad * > *arg1 = (std::vector<Hex::Quad * > *) 0 ;
+  std::vector<Hex::Quad * >::reverse_iterator result;
+  void *argp1 = 0 ;
+  int res1 = 0 ;
+  PyObject * obj0 = 0 ;
+  
+  if (!PyArg_ParseTuple(args,(char *)"O:VectorQuads_rend",&obj0)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Quad_p_std__allocatorTHex__Quad_p_t_t, 0 |  0 );
+  if (!SWIG_IsOK(res1)) {
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorQuads_rend" "', argument " "1"" of type '" "std::vector<Hex::Quad * > *""'"); 
+  }
+  arg1 = reinterpret_cast< std::vector<Hex::Quad * > * >(argp1);
+  result = (arg1)->rend();
+  resultobj = SWIG_NewPointerObj(swig::make_output_iterator(static_cast< const std::vector<Hex::Quad * >::reverse_iterator & >(result)),
+    swig::PySwigIterator::descriptor(),SWIG_POINTER_OWN);
+  return resultobj;
+fail:
+  return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_VectorQuads_rend__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+  PyObject *resultobj = 0;
+  std::vector<Hex::Quad * > *arg1 = (std::vector<Hex::Quad * > *) 0 ;
+  std::vector<Hex::Quad * >::const_reverse_iterator result;
+  void *argp1 = 0 ;
+  int res1 = 0 ;
+  PyObject * obj0 = 0 ;
+  
+  if (!PyArg_ParseTuple(args,(char *)"O:VectorQuads_rend",&obj0)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Quad_p_std__allocatorTHex__Quad_p_t_t, 0 |  0 );
+  if (!SWIG_IsOK(res1)) {
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorQuads_rend" "', argument " "1"" of type '" "std::vector<Hex::Quad * > const *""'"); 
+  }
+  arg1 = reinterpret_cast< std::vector<Hex::Quad * > * >(argp1);
+  result = ((std::vector<Hex::Quad * > const *)arg1)->rend();
+  resultobj = SWIG_NewPointerObj(swig::make_output_iterator(static_cast< const std::vector<Hex::Quad * >::const_reverse_iterator & >(result)),
+    swig::PySwigIterator::descriptor(),SWIG_POINTER_OWN);
+  return resultobj;
+fail:
+  return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_VectorQuads_rend(PyObject *self, PyObject *args) {
+  int argc;
+  PyObject *argv[2];
+  int ii;
+  
+  if (!PyTuple_Check(args)) SWIG_fail;
+  argc = PyObject_Length(args);
+  for (ii = 0; (ii < argc) && (ii < 1); ii++) {
+    argv[ii] = PyTuple_GET_ITEM(args,ii);
+  }
+  if (argc == 1) {
+    int _v;
+    int res = swig::asptr(argv[0], (std::vector<Hex::Quad*,std::allocator<Hex::Quad * > >**)(0));
+    _v = SWIG_CheckState(res);
+    if (_v) {
+      return _wrap_VectorQuads_rend__SWIG_0(self, args);
+    }
+  }
+  if (argc == 1) {
+    int _v;
+    int res = swig::asptr(argv[0], (std::vector<Hex::Quad*,std::allocator<Hex::Quad * > >**)(0));
+    _v = SWIG_CheckState(res);
+    if (_v) {
+      return _wrap_VectorQuads_rend__SWIG_1(self, args);
+    }
+  }
+  
+fail:
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'VectorQuads_rend'.\n  Possible C/C++ prototypes are:\n    rend()\n    rend()\n");
+  return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_new_VectorQuads__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+  PyObject *resultobj = 0;
+  std::vector<Hex::Quad * >::size_type arg1 ;
+  std::vector<Hex::Quad * > *result = 0 ;
+  size_t val1 ;
+  int ecode1 = 0 ;
+  PyObject * obj0 = 0 ;
+  
+  if (!PyArg_ParseTuple(args,(char *)"O:new_VectorQuads",&obj0)) SWIG_fail;
+  ecode1 = SWIG_AsVal_size_t(obj0, &val1);
+  if (!SWIG_IsOK(ecode1)) {
+    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_VectorQuads" "', argument " "1"" of type '" "std::vector<Hex::Quad * >::size_type""'");
+  } 
+  arg1 = static_cast< std::vector<Hex::Quad * >::size_type >(val1);
+  result = (std::vector<Hex::Quad * > *)new std::vector<Hex::Quad * >(arg1);
+  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorTHex__Quad_p_std__allocatorTHex__Quad_p_t_t, SWIG_POINTER_NEW |  0 );
+  return resultobj;
+fail:
+  return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_VectorQuads_pop_back(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+  PyObject *resultobj = 0;
+  std::vector<Hex::Quad * > *arg1 = (std::vector<Hex::Quad * > *) 0 ;
+  void *argp1 = 0 ;
+  int res1 = 0 ;
+  PyObject * obj0 = 0 ;
+  
+  if (!PyArg_ParseTuple(args,(char *)"O:VectorQuads_pop_back",&obj0)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Quad_p_std__allocatorTHex__Quad_p_t_t, 0 |  0 );
+  if (!SWIG_IsOK(res1)) {
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorQuads_pop_back" "', argument " "1"" of type '" "std::vector<Hex::Quad * > *""'"); 
+  }
+  arg1 = reinterpret_cast< std::vector<Hex::Quad * > * >(argp1);
+  (arg1)->pop_back();
+  resultobj = SWIG_Py_Void();
+  return resultobj;
+fail:
+  return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_VectorQuads_resize__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+  PyObject *resultobj = 0;
+  std::vector<Hex::Quad * > *arg1 = (std::vector<Hex::Quad * > *) 0 ;
+  std::vector<Hex::Quad * >::size_type arg2 ;
+  void *argp1 = 0 ;
+  int res1 = 0 ;
+  size_t val2 ;
+  int ecode2 = 0 ;
+  PyObject * obj0 = 0 ;
+  PyObject * obj1 = 0 ;
+  
+  if (!PyArg_ParseTuple(args,(char *)"OO:VectorQuads_resize",&obj0,&obj1)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Quad_p_std__allocatorTHex__Quad_p_t_t, 0 |  0 );
+  if (!SWIG_IsOK(res1)) {
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorQuads_resize" "', argument " "1"" of type '" "std::vector<Hex::Quad * > *""'"); 
+  }
+  arg1 = reinterpret_cast< std::vector<Hex::Quad * > * >(argp1);
+  ecode2 = SWIG_AsVal_size_t(obj1, &val2);
+  if (!SWIG_IsOK(ecode2)) {
+    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorQuads_resize" "', argument " "2"" of type '" "std::vector<Hex::Quad * >::size_type""'");
   } 
-  arg2 = static_cast< std::vector< Hex::Quad * >::size_type >(val2);
+  arg2 = static_cast< std::vector<Hex::Quad * >::size_type >(val2);
   (arg1)->resize(arg2);
   resultobj = SWIG_Py_Void();
   return resultobj;
@@ -8552,36 +7914,36 @@ fail:
 
 SWIGINTERN PyObject *_wrap_VectorQuads_erase__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Quad * > *arg1 = (std::vector< Hex::Quad * > *) 0 ;
-  std::vector< Hex::Quad * >::iterator arg2 ;
+  std::vector<Hex::Quad * > *arg1 = (std::vector<Hex::Quad * > *) 0 ;
+  std::vector<Hex::Quad * >::iterator arg2 ;
+  std::vector<Hex::Quad * >::iterator result;
   void *argp1 = 0 ;
   int res1 = 0 ;
-  swig::SwigPyIterator *iter2 = 0 ;
+  swig::PySwigIterator *iter2 = 0 ;
   int res2 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
-  std::vector< Hex::Quad * >::iterator result;
   
   if (!PyArg_ParseTuple(args,(char *)"OO:VectorQuads_erase",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Quad_p_std__allocatorT_Hex__Quad_p_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Quad_p_std__allocatorTHex__Quad_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorQuads_erase" "', argument " "1"" of type '" "std::vector< Hex::Quad * > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorQuads_erase" "', argument " "1"" of type '" "std::vector<Hex::Quad * > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::Quad * > * >(argp1);
-  res2 = SWIG_ConvertPtr(obj1, SWIG_as_voidptrptr(&iter2), swig::SwigPyIterator::descriptor(), 0);
+  arg1 = reinterpret_cast< std::vector<Hex::Quad * > * >(argp1);
+  res2 = SWIG_ConvertPtr(obj1, SWIG_as_voidptrptr(&iter2), swig::PySwigIterator::descriptor(), 0);
   if (!SWIG_IsOK(res2) || !iter2) {
-    SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "VectorQuads_erase" "', argument " "2"" of type '" "std::vector< Hex::Quad * >::iterator""'");
+    SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "VectorQuads_erase" "', argument " "2"" of type '" "std::vector<Hex::Quad * >::iterator""'");
   } else {
-    swig::SwigPyIterator_T<std::vector< Hex::Quad * >::iterator > *iter_t = dynamic_cast<swig::SwigPyIterator_T<std::vector< Hex::Quad * >::iterator > *>(iter2);
+    swig::PySwigIterator_T<std::vector<Hex::Quad * >::iterator > *iter_t = dynamic_cast<swig::PySwigIterator_T<std::vector<Hex::Quad * >::iterator > *>(iter2);
     if (iter_t) {
       arg2 = iter_t->get_current();
     } else {
-      SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "VectorQuads_erase" "', argument " "2"" of type '" "std::vector< Hex::Quad * >::iterator""'");
+      SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "VectorQuads_erase" "', argument " "2"" of type '" "std::vector<Hex::Quad * >::iterator""'");
     }
   }
   result = (arg1)->erase(arg2);
-  resultobj = SWIG_NewPointerObj(swig::make_output_iterator(static_cast< const std::vector< Hex::Quad * >::iterator & >(result)),
-    swig::SwigPyIterator::descriptor(),SWIG_POINTER_OWN);
+  resultobj = SWIG_NewPointerObj(swig::make_output_iterator(static_cast< const std::vector<Hex::Quad * >::iterator & >(result)),
+    swig::PySwigIterator::descriptor(),SWIG_POINTER_OWN);
   return resultobj;
 fail:
   return NULL;
@@ -8590,51 +7952,51 @@ fail:
 
 SWIGINTERN PyObject *_wrap_VectorQuads_erase__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Quad * > *arg1 = (std::vector< Hex::Quad * > *) 0 ;
-  std::vector< Hex::Quad * >::iterator arg2 ;
-  std::vector< Hex::Quad * >::iterator arg3 ;
+  std::vector<Hex::Quad * > *arg1 = (std::vector<Hex::Quad * > *) 0 ;
+  std::vector<Hex::Quad * >::iterator arg2 ;
+  std::vector<Hex::Quad * >::iterator arg3 ;
+  std::vector<Hex::Quad * >::iterator result;
   void *argp1 = 0 ;
   int res1 = 0 ;
-  swig::SwigPyIterator *iter2 = 0 ;
+  swig::PySwigIterator *iter2 = 0 ;
   int res2 ;
-  swig::SwigPyIterator *iter3 = 0 ;
+  swig::PySwigIterator *iter3 = 0 ;
   int res3 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
   PyObject * obj2 = 0 ;
-  std::vector< Hex::Quad * >::iterator result;
   
   if (!PyArg_ParseTuple(args,(char *)"OOO:VectorQuads_erase",&obj0,&obj1,&obj2)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Quad_p_std__allocatorT_Hex__Quad_p_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Quad_p_std__allocatorTHex__Quad_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorQuads_erase" "', argument " "1"" of type '" "std::vector< Hex::Quad * > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorQuads_erase" "', argument " "1"" of type '" "std::vector<Hex::Quad * > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::Quad * > * >(argp1);
-  res2 = SWIG_ConvertPtr(obj1, SWIG_as_voidptrptr(&iter2), swig::SwigPyIterator::descriptor(), 0);
+  arg1 = reinterpret_cast< std::vector<Hex::Quad * > * >(argp1);
+  res2 = SWIG_ConvertPtr(obj1, SWIG_as_voidptrptr(&iter2), swig::PySwigIterator::descriptor(), 0);
   if (!SWIG_IsOK(res2) || !iter2) {
-    SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "VectorQuads_erase" "', argument " "2"" of type '" "std::vector< Hex::Quad * >::iterator""'");
+    SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "VectorQuads_erase" "', argument " "2"" of type '" "std::vector<Hex::Quad * >::iterator""'");
   } else {
-    swig::SwigPyIterator_T<std::vector< Hex::Quad * >::iterator > *iter_t = dynamic_cast<swig::SwigPyIterator_T<std::vector< Hex::Quad * >::iterator > *>(iter2);
+    swig::PySwigIterator_T<std::vector<Hex::Quad * >::iterator > *iter_t = dynamic_cast<swig::PySwigIterator_T<std::vector<Hex::Quad * >::iterator > *>(iter2);
     if (iter_t) {
       arg2 = iter_t->get_current();
     } else {
-      SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "VectorQuads_erase" "', argument " "2"" of type '" "std::vector< Hex::Quad * >::iterator""'");
+      SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "VectorQuads_erase" "', argument " "2"" of type '" "std::vector<Hex::Quad * >::iterator""'");
     }
   }
-  res3 = SWIG_ConvertPtr(obj2, SWIG_as_voidptrptr(&iter3), swig::SwigPyIterator::descriptor(), 0);
+  res3 = SWIG_ConvertPtr(obj2, SWIG_as_voidptrptr(&iter3), swig::PySwigIterator::descriptor(), 0);
   if (!SWIG_IsOK(res3) || !iter3) {
-    SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "VectorQuads_erase" "', argument " "3"" of type '" "std::vector< Hex::Quad * >::iterator""'");
+    SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "VectorQuads_erase" "', argument " "3"" of type '" "std::vector<Hex::Quad * >::iterator""'");
   } else {
-    swig::SwigPyIterator_T<std::vector< Hex::Quad * >::iterator > *iter_t = dynamic_cast<swig::SwigPyIterator_T<std::vector< Hex::Quad * >::iterator > *>(iter3);
+    swig::PySwigIterator_T<std::vector<Hex::Quad * >::iterator > *iter_t = dynamic_cast<swig::PySwigIterator_T<std::vector<Hex::Quad * >::iterator > *>(iter3);
     if (iter_t) {
       arg3 = iter_t->get_current();
     } else {
-      SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "VectorQuads_erase" "', argument " "3"" of type '" "std::vector< Hex::Quad * >::iterator""'");
+      SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "VectorQuads_erase" "', argument " "3"" of type '" "std::vector<Hex::Quad * >::iterator""'");
     }
   }
   result = (arg1)->erase(arg2,arg3);
-  resultobj = SWIG_NewPointerObj(swig::make_output_iterator(static_cast< const std::vector< Hex::Quad * >::iterator & >(result)),
-    swig::SwigPyIterator::descriptor(),SWIG_POINTER_OWN);
+  resultobj = SWIG_NewPointerObj(swig::make_output_iterator(static_cast< const std::vector<Hex::Quad * >::iterator & >(result)),
+    swig::PySwigIterator::descriptor(),SWIG_POINTER_OWN);
   return resultobj;
 fail:
   return NULL;
@@ -8647,18 +8009,18 @@ SWIGINTERN PyObject *_wrap_VectorQuads_erase(PyObject *self, PyObject *args) {
   int ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = (int)PyObject_Length(args);
+  argc = PyObject_Length(args);
   for (ii = 0; (ii < argc) && (ii < 3); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
   if (argc == 2) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<Hex::Quad*,std::allocator< Hex::Quad * > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector<Hex::Quad*,std::allocator<Hex::Quad * > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
-      swig::SwigPyIterator *iter = 0;
-      int res = SWIG_ConvertPtr(argv[1], SWIG_as_voidptrptr(&iter), swig::SwigPyIterator::descriptor(), 0);
-      _v = (SWIG_IsOK(res) && iter && (dynamic_cast<swig::SwigPyIterator_T<std::vector< Hex::Quad * >::iterator > *>(iter) != 0));
+      swig::PySwigIterator *iter = 0;
+      int res = SWIG_ConvertPtr(argv[1], SWIG_as_voidptrptr(&iter), swig::PySwigIterator::descriptor(), 0);
+      _v = (SWIG_IsOK(res) && iter && (dynamic_cast<swig::PySwigIterator_T<std::vector<Hex::Quad * >::iterator > *>(iter) != 0));
       if (_v) {
         return _wrap_VectorQuads_erase__SWIG_0(self, args);
       }
@@ -8666,16 +8028,16 @@ SWIGINTERN PyObject *_wrap_VectorQuads_erase(PyObject *self, PyObject *args) {
   }
   if (argc == 3) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<Hex::Quad*,std::allocator< Hex::Quad * > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector<Hex::Quad*,std::allocator<Hex::Quad * > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
-      swig::SwigPyIterator *iter = 0;
-      int res = SWIG_ConvertPtr(argv[1], SWIG_as_voidptrptr(&iter), swig::SwigPyIterator::descriptor(), 0);
-      _v = (SWIG_IsOK(res) && iter && (dynamic_cast<swig::SwigPyIterator_T<std::vector< Hex::Quad * >::iterator > *>(iter) != 0));
+      swig::PySwigIterator *iter = 0;
+      int res = SWIG_ConvertPtr(argv[1], SWIG_as_voidptrptr(&iter), swig::PySwigIterator::descriptor(), 0);
+      _v = (SWIG_IsOK(res) && iter && (dynamic_cast<swig::PySwigIterator_T<std::vector<Hex::Quad * >::iterator > *>(iter) != 0));
       if (_v) {
-        swig::SwigPyIterator *iter = 0;
-        int res = SWIG_ConvertPtr(argv[2], SWIG_as_voidptrptr(&iter), swig::SwigPyIterator::descriptor(), 0);
-        _v = (SWIG_IsOK(res) && iter && (dynamic_cast<swig::SwigPyIterator_T<std::vector< Hex::Quad * >::iterator > *>(iter) != 0));
+        swig::PySwigIterator *iter = 0;
+        int res = SWIG_ConvertPtr(argv[2], SWIG_as_voidptrptr(&iter), swig::PySwigIterator::descriptor(), 0);
+        _v = (SWIG_IsOK(res) && iter && (dynamic_cast<swig::PySwigIterator_T<std::vector<Hex::Quad * >::iterator > *>(iter) != 0));
         if (_v) {
           return _wrap_VectorQuads_erase__SWIG_1(self, args);
         }
@@ -8684,39 +8046,36 @@ SWIGINTERN PyObject *_wrap_VectorQuads_erase(PyObject *self, PyObject *args) {
   }
   
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'VectorQuads_erase'.\n"
-    "  Possible C/C++ prototypes are:\n"
-    "    erase(std::vector< Hex::Quad * > *,std::vector< Hex::Quad * >::iterator)\n"
-    "    erase(std::vector< Hex::Quad * > *,std::vector< Hex::Quad * >::iterator,std::vector< Hex::Quad * >::iterator)\n");
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'VectorQuads_erase'.\n  Possible C/C++ prototypes are:\n    erase(std::vector<Hex::Quad * >::iterator)\n    erase(std::vector<Hex::Quad * >::iterator,std::vector<Hex::Quad * >::iterator)\n");
   return NULL;
 }
 
 
 SWIGINTERN PyObject *_wrap_new_VectorQuads__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Quad * >::size_type arg1 ;
-  std::vector< Hex::Quad * >::value_type arg2 = (std::vector< Hex::Quad * >::value_type) 0 ;
+  std::vector<Hex::Quad * >::size_type arg1 ;
+  std::vector<Hex::Quad * >::value_type arg2 = (std::vector<Hex::Quad * >::value_type) 0 ;
+  std::vector<Hex::Quad * > *result = 0 ;
   size_t val1 ;
   int ecode1 = 0 ;
   void *argp2 = 0 ;
   int res2 = 0 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
-  std::vector< Hex::Quad * > *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OO:new_VectorQuads",&obj0,&obj1)) SWIG_fail;
   ecode1 = SWIG_AsVal_size_t(obj0, &val1);
   if (!SWIG_IsOK(ecode1)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_VectorQuads" "', argument " "1"" of type '" "std::vector< Hex::Quad * >::size_type""'");
+    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_VectorQuads" "', argument " "1"" of type '" "std::vector<Hex::Quad * >::size_type""'");
   } 
-  arg1 = static_cast< std::vector< Hex::Quad * >::size_type >(val1);
-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_std__vectorT_Hex__Quad_p_std__allocatorT_Hex__Quad_p_t_t__value_type, 0 |  0 );
+  arg1 = static_cast< std::vector<Hex::Quad * >::size_type >(val1);
+  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_std__vectorTHex__Quad_p_std__allocatorTHex__Quad_p_t_t__value_type, 0 |  0 );
   if (!SWIG_IsOK(res2)) {
-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "new_VectorQuads" "', argument " "2"" of type '" "std::vector< Hex::Quad * >::value_type""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "new_VectorQuads" "', argument " "2"" of type '" "std::vector<Hex::Quad * >::value_type""'"); 
   }
-  arg2 = reinterpret_cast< std::vector< Hex::Quad * >::value_type >(argp2);
-  result = (std::vector< Hex::Quad * > *)new std::vector< Hex::Quad * >(arg1,arg2);
-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_Hex__Quad_p_std__allocatorT_Hex__Quad_p_t_t, SWIG_POINTER_NEW |  0 );
+  arg2 = reinterpret_cast< std::vector<Hex::Quad * >::value_type >(argp2);
+  result = (std::vector<Hex::Quad * > *)new std::vector<Hex::Quad * >(arg1,arg2);
+  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorTHex__Quad_p_std__allocatorTHex__Quad_p_t_t, SWIG_POINTER_NEW |  0 );
   return resultobj;
 fail:
   return NULL;
@@ -8729,7 +8088,7 @@ SWIGINTERN PyObject *_wrap_new_VectorQuads(PyObject *self, PyObject *args) {
   int ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = (int)PyObject_Length(args);
+  argc = PyObject_Length(args);
   for (ii = 0; (ii < argc) && (ii < 2); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -8748,7 +8107,7 @@ SWIGINTERN PyObject *_wrap_new_VectorQuads(PyObject *self, PyObject *args) {
   }
   if (argc == 1) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<Hex::Quad*,std::allocator< Hex::Quad * > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector<Hex::Quad*,std::allocator<Hex::Quad * > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       return _wrap_new_VectorQuads__SWIG_1(self, args);
@@ -8762,7 +8121,7 @@ SWIGINTERN PyObject *_wrap_new_VectorQuads(PyObject *self, PyObject *args) {
     }
     if (_v) {
       void *vptr = 0;
-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_std__vectorT_Hex__Quad_p_std__allocatorT_Hex__Quad_p_t_t__value_type, 0);
+      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_std__vectorTHex__Quad_p_std__allocatorTHex__Quad_p_t_t__value_type, 0);
       _v = SWIG_CheckState(res);
       if (_v) {
         return _wrap_new_VectorQuads__SWIG_3(self, args);
@@ -8771,20 +8130,15 @@ SWIGINTERN PyObject *_wrap_new_VectorQuads(PyObject *self, PyObject *args) {
   }
   
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'new_VectorQuads'.\n"
-    "  Possible C/C++ prototypes are:\n"
-    "    std::vector< Hex::Quad * >()\n"
-    "    std::vector< Hex::Quad * >(std::vector< Hex::Quad * > const &)\n"
-    "    std::vector< Hex::Quad * >(std::vector< Hex::Quad * >::size_type)\n"
-    "    std::vector< Hex::Quad * >(std::vector< Hex::Quad * >::size_type,std::vector< Hex::Quad * >::value_type)\n");
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'new_VectorQuads'.\n  Possible C/C++ prototypes are:\n    std::vector<(p.Hex::Quad)>()\n    std::vector<(p.Hex::Quad)>(std::vector<Hex::Quad * > const &)\n    std::vector<(p.Hex::Quad)>(std::vector<Hex::Quad * >::size_type)\n    std::vector<(p.Hex::Quad)>(std::vector<Hex::Quad * >::size_type,std::vector<Hex::Quad * >::value_type)\n");
   return NULL;
 }
 
 
 SWIGINTERN PyObject *_wrap_VectorQuads_push_back(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Quad * > *arg1 = (std::vector< Hex::Quad * > *) 0 ;
-  std::vector< Hex::Quad * >::value_type arg2 = (std::vector< Hex::Quad * >::value_type) 0 ;
+  std::vector<Hex::Quad * > *arg1 = (std::vector<Hex::Quad * > *) 0 ;
+  std::vector<Hex::Quad * >::value_type arg2 = (std::vector<Hex::Quad * >::value_type) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   void *argp2 = 0 ;
@@ -8793,16 +8147,16 @@ SWIGINTERN PyObject *_wrap_VectorQuads_push_back(PyObject *SWIGUNUSEDPARM(self),
   PyObject * obj1 = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OO:VectorQuads_push_back",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Quad_p_std__allocatorT_Hex__Quad_p_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Quad_p_std__allocatorTHex__Quad_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorQuads_push_back" "', argument " "1"" of type '" "std::vector< Hex::Quad * > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorQuads_push_back" "', argument " "1"" of type '" "std::vector<Hex::Quad * > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::Quad * > * >(argp1);
-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_std__vectorT_Hex__Quad_p_std__allocatorT_Hex__Quad_p_t_t__value_type, 0 |  0 );
+  arg1 = reinterpret_cast< std::vector<Hex::Quad * > * >(argp1);
+  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_std__vectorTHex__Quad_p_std__allocatorTHex__Quad_p_t_t__value_type, 0 |  0 );
   if (!SWIG_IsOK(res2)) {
-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "VectorQuads_push_back" "', argument " "2"" of type '" "std::vector< Hex::Quad * >::value_type""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "VectorQuads_push_back" "', argument " "2"" of type '" "std::vector<Hex::Quad * >::value_type""'"); 
   }
-  arg2 = reinterpret_cast< std::vector< Hex::Quad * >::value_type >(argp2);
+  arg2 = reinterpret_cast< std::vector<Hex::Quad * >::value_type >(argp2);
   (arg1)->push_back(arg2);
   resultobj = SWIG_Py_Void();
   return resultobj;
@@ -8813,20 +8167,20 @@ fail:
 
 SWIGINTERN PyObject *_wrap_VectorQuads_front(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Quad * > *arg1 = (std::vector< Hex::Quad * > *) 0 ;
+  std::vector<Hex::Quad * > *arg1 = (std::vector<Hex::Quad * > *) 0 ;
+  std::vector<Hex::Quad * >::value_type result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  std::vector< Hex::Quad * >::value_type result;
   
   if (!PyArg_ParseTuple(args,(char *)"O:VectorQuads_front",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Quad_p_std__allocatorT_Hex__Quad_p_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Quad_p_std__allocatorTHex__Quad_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorQuads_front" "', argument " "1"" of type '" "std::vector< Hex::Quad * > const *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorQuads_front" "', argument " "1"" of type '" "std::vector<Hex::Quad * > const *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::Quad * > * >(argp1);
-  result = (std::vector< Hex::Quad * >::value_type)((std::vector< Hex::Quad * > const *)arg1)->front();
-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_std__vectorT_Hex__Quad_p_std__allocatorT_Hex__Quad_p_t_t__value_type, 0 |  0 );
+  arg1 = reinterpret_cast< std::vector<Hex::Quad * > * >(argp1);
+  result = (std::vector<Hex::Quad * >::value_type)((std::vector<Hex::Quad * > const *)arg1)->front();
+  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_std__vectorTHex__Quad_p_std__allocatorTHex__Quad_p_t_t__value_type, 0 |  0 );
   return resultobj;
 fail:
   return NULL;
@@ -8835,20 +8189,20 @@ fail:
 
 SWIGINTERN PyObject *_wrap_VectorQuads_back(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Quad * > *arg1 = (std::vector< Hex::Quad * > *) 0 ;
+  std::vector<Hex::Quad * > *arg1 = (std::vector<Hex::Quad * > *) 0 ;
+  std::vector<Hex::Quad * >::value_type result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  std::vector< Hex::Quad * >::value_type result;
   
   if (!PyArg_ParseTuple(args,(char *)"O:VectorQuads_back",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Quad_p_std__allocatorT_Hex__Quad_p_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Quad_p_std__allocatorTHex__Quad_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorQuads_back" "', argument " "1"" of type '" "std::vector< Hex::Quad * > const *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorQuads_back" "', argument " "1"" of type '" "std::vector<Hex::Quad * > const *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::Quad * > * >(argp1);
-  result = (std::vector< Hex::Quad * >::value_type)((std::vector< Hex::Quad * > const *)arg1)->back();
-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_std__vectorT_Hex__Quad_p_std__allocatorT_Hex__Quad_p_t_t__value_type, 0 |  0 );
+  arg1 = reinterpret_cast< std::vector<Hex::Quad * > * >(argp1);
+  result = (std::vector<Hex::Quad * >::value_type)((std::vector<Hex::Quad * > const *)arg1)->back();
+  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_std__vectorTHex__Quad_p_std__allocatorTHex__Quad_p_t_t__value_type, 0 |  0 );
   return resultobj;
 fail:
   return NULL;
@@ -8857,9 +8211,9 @@ fail:
 
 SWIGINTERN PyObject *_wrap_VectorQuads_assign(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Quad * > *arg1 = (std::vector< Hex::Quad * > *) 0 ;
-  std::vector< Hex::Quad * >::size_type arg2 ;
-  std::vector< Hex::Quad * >::value_type arg3 = (std::vector< Hex::Quad * >::value_type) 0 ;
+  std::vector<Hex::Quad * > *arg1 = (std::vector<Hex::Quad * > *) 0 ;
+  std::vector<Hex::Quad * >::size_type arg2 ;
+  std::vector<Hex::Quad * >::value_type arg3 = (std::vector<Hex::Quad * >::value_type) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   size_t val2 ;
@@ -8871,21 +8225,21 @@ SWIGINTERN PyObject *_wrap_VectorQuads_assign(PyObject *SWIGUNUSEDPARM(self), Py
   PyObject * obj2 = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOO:VectorQuads_assign",&obj0,&obj1,&obj2)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Quad_p_std__allocatorT_Hex__Quad_p_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Quad_p_std__allocatorTHex__Quad_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorQuads_assign" "', argument " "1"" of type '" "std::vector< Hex::Quad * > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorQuads_assign" "', argument " "1"" of type '" "std::vector<Hex::Quad * > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::Quad * > * >(argp1);
+  arg1 = reinterpret_cast< std::vector<Hex::Quad * > * >(argp1);
   ecode2 = SWIG_AsVal_size_t(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorQuads_assign" "', argument " "2"" of type '" "std::vector< Hex::Quad * >::size_type""'");
+    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorQuads_assign" "', argument " "2"" of type '" "std::vector<Hex::Quad * >::size_type""'");
   } 
-  arg2 = static_cast< std::vector< Hex::Quad * >::size_type >(val2);
-  res3 = SWIG_ConvertPtr(obj2, &argp3,SWIGTYPE_std__vectorT_Hex__Quad_p_std__allocatorT_Hex__Quad_p_t_t__value_type, 0 |  0 );
+  arg2 = static_cast< std::vector<Hex::Quad * >::size_type >(val2);
+  res3 = SWIG_ConvertPtr(obj2, &argp3,SWIGTYPE_std__vectorTHex__Quad_p_std__allocatorTHex__Quad_p_t_t__value_type, 0 |  0 );
   if (!SWIG_IsOK(res3)) {
-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "VectorQuads_assign" "', argument " "3"" of type '" "std::vector< Hex::Quad * >::value_type""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "VectorQuads_assign" "', argument " "3"" of type '" "std::vector<Hex::Quad * >::value_type""'"); 
   }
-  arg3 = reinterpret_cast< std::vector< Hex::Quad * >::value_type >(argp3);
+  arg3 = reinterpret_cast< std::vector<Hex::Quad * >::value_type >(argp3);
   (arg1)->assign(arg2,arg3);
   resultobj = SWIG_Py_Void();
   return resultobj;
@@ -8896,9 +8250,9 @@ fail:
 
 SWIGINTERN PyObject *_wrap_VectorQuads_resize__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Quad * > *arg1 = (std::vector< Hex::Quad * > *) 0 ;
-  std::vector< Hex::Quad * >::size_type arg2 ;
-  std::vector< Hex::Quad * >::value_type arg3 = (std::vector< Hex::Quad * >::value_type) 0 ;
+  std::vector<Hex::Quad * > *arg1 = (std::vector<Hex::Quad * > *) 0 ;
+  std::vector<Hex::Quad * >::size_type arg2 ;
+  std::vector<Hex::Quad * >::value_type arg3 = (std::vector<Hex::Quad * >::value_type) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   size_t val2 ;
@@ -8910,21 +8264,21 @@ SWIGINTERN PyObject *_wrap_VectorQuads_resize__SWIG_1(PyObject *SWIGUNUSEDPARM(s
   PyObject * obj2 = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOO:VectorQuads_resize",&obj0,&obj1,&obj2)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Quad_p_std__allocatorT_Hex__Quad_p_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Quad_p_std__allocatorTHex__Quad_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorQuads_resize" "', argument " "1"" of type '" "std::vector< Hex::Quad * > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorQuads_resize" "', argument " "1"" of type '" "std::vector<Hex::Quad * > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::Quad * > * >(argp1);
+  arg1 = reinterpret_cast< std::vector<Hex::Quad * > * >(argp1);
   ecode2 = SWIG_AsVal_size_t(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorQuads_resize" "', argument " "2"" of type '" "std::vector< Hex::Quad * >::size_type""'");
+    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorQuads_resize" "', argument " "2"" of type '" "std::vector<Hex::Quad * >::size_type""'");
   } 
-  arg2 = static_cast< std::vector< Hex::Quad * >::size_type >(val2);
-  res3 = SWIG_ConvertPtr(obj2, &argp3,SWIGTYPE_std__vectorT_Hex__Quad_p_std__allocatorT_Hex__Quad_p_t_t__value_type, 0 |  0 );
+  arg2 = static_cast< std::vector<Hex::Quad * >::size_type >(val2);
+  res3 = SWIG_ConvertPtr(obj2, &argp3,SWIGTYPE_std__vectorTHex__Quad_p_std__allocatorTHex__Quad_p_t_t__value_type, 0 |  0 );
   if (!SWIG_IsOK(res3)) {
-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "VectorQuads_resize" "', argument " "3"" of type '" "std::vector< Hex::Quad * >::value_type""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "VectorQuads_resize" "', argument " "3"" of type '" "std::vector<Hex::Quad * >::value_type""'"); 
   }
-  arg3 = reinterpret_cast< std::vector< Hex::Quad * >::value_type >(argp3);
+  arg3 = reinterpret_cast< std::vector<Hex::Quad * >::value_type >(argp3);
   (arg1)->resize(arg2,arg3);
   resultobj = SWIG_Py_Void();
   return resultobj;
@@ -8939,13 +8293,13 @@ SWIGINTERN PyObject *_wrap_VectorQuads_resize(PyObject *self, PyObject *args) {
   int ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = (int)PyObject_Length(args);
+  argc = PyObject_Length(args);
   for (ii = 0; (ii < argc) && (ii < 3); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
   if (argc == 2) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<Hex::Quad*,std::allocator< Hex::Quad * > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector<Hex::Quad*,std::allocator<Hex::Quad * > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -8959,7 +8313,7 @@ SWIGINTERN PyObject *_wrap_VectorQuads_resize(PyObject *self, PyObject *args) {
   }
   if (argc == 3) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<Hex::Quad*,std::allocator< Hex::Quad * > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector<Hex::Quad*,std::allocator<Hex::Quad * > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -8968,7 +8322,7 @@ SWIGINTERN PyObject *_wrap_VectorQuads_resize(PyObject *self, PyObject *args) {
       }
       if (_v) {
         void *vptr = 0;
-        int res = SWIG_ConvertPtr(argv[2], &vptr, SWIGTYPE_std__vectorT_Hex__Quad_p_std__allocatorT_Hex__Quad_p_t_t__value_type, 0);
+        int res = SWIG_ConvertPtr(argv[2], &vptr, SWIGTYPE_std__vectorTHex__Quad_p_std__allocatorTHex__Quad_p_t_t__value_type, 0);
         _v = SWIG_CheckState(res);
         if (_v) {
           return _wrap_VectorQuads_resize__SWIG_1(self, args);
@@ -8978,55 +8332,52 @@ SWIGINTERN PyObject *_wrap_VectorQuads_resize(PyObject *self, PyObject *args) {
   }
   
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'VectorQuads_resize'.\n"
-    "  Possible C/C++ prototypes are:\n"
-    "    resize(std::vector< Hex::Quad * > *,std::vector< Hex::Quad * >::size_type)\n"
-    "    resize(std::vector< Hex::Quad * > *,std::vector< Hex::Quad * >::size_type,std::vector< Hex::Quad * >::value_type)\n");
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'VectorQuads_resize'.\n  Possible C/C++ prototypes are:\n    resize(std::vector<Hex::Quad * >::size_type)\n    resize(std::vector<Hex::Quad * >::size_type,std::vector<Hex::Quad * >::value_type)\n");
   return NULL;
 }
 
 
 SWIGINTERN PyObject *_wrap_VectorQuads_insert__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Quad * > *arg1 = (std::vector< Hex::Quad * > *) 0 ;
-  std::vector< Hex::Quad * >::iterator arg2 ;
-  std::vector< Hex::Quad * >::value_type arg3 = (std::vector< Hex::Quad * >::value_type) 0 ;
+  std::vector<Hex::Quad * > *arg1 = (std::vector<Hex::Quad * > *) 0 ;
+  std::vector<Hex::Quad * >::iterator arg2 ;
+  std::vector<Hex::Quad * >::value_type arg3 = (std::vector<Hex::Quad * >::value_type) 0 ;
+  std::vector<Hex::Quad * >::iterator result;
   void *argp1 = 0 ;
   int res1 = 0 ;
-  swig::SwigPyIterator *iter2 = 0 ;
+  swig::PySwigIterator *iter2 = 0 ;
   int res2 ;
   void *argp3 = 0 ;
   int res3 = 0 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
   PyObject * obj2 = 0 ;
-  std::vector< Hex::Quad * >::iterator result;
   
   if (!PyArg_ParseTuple(args,(char *)"OOO:VectorQuads_insert",&obj0,&obj1,&obj2)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Quad_p_std__allocatorT_Hex__Quad_p_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Quad_p_std__allocatorTHex__Quad_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorQuads_insert" "', argument " "1"" of type '" "std::vector< Hex::Quad * > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorQuads_insert" "', argument " "1"" of type '" "std::vector<Hex::Quad * > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::Quad * > * >(argp1);
-  res2 = SWIG_ConvertPtr(obj1, SWIG_as_voidptrptr(&iter2), swig::SwigPyIterator::descriptor(), 0);
+  arg1 = reinterpret_cast< std::vector<Hex::Quad * > * >(argp1);
+  res2 = SWIG_ConvertPtr(obj1, SWIG_as_voidptrptr(&iter2), swig::PySwigIterator::descriptor(), 0);
   if (!SWIG_IsOK(res2) || !iter2) {
-    SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "VectorQuads_insert" "', argument " "2"" of type '" "std::vector< Hex::Quad * >::iterator""'");
+    SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "VectorQuads_insert" "', argument " "2"" of type '" "std::vector<Hex::Quad * >::iterator""'");
   } else {
-    swig::SwigPyIterator_T<std::vector< Hex::Quad * >::iterator > *iter_t = dynamic_cast<swig::SwigPyIterator_T<std::vector< Hex::Quad * >::iterator > *>(iter2);
+    swig::PySwigIterator_T<std::vector<Hex::Quad * >::iterator > *iter_t = dynamic_cast<swig::PySwigIterator_T<std::vector<Hex::Quad * >::iterator > *>(iter2);
     if (iter_t) {
       arg2 = iter_t->get_current();
     } else {
-      SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "VectorQuads_insert" "', argument " "2"" of type '" "std::vector< Hex::Quad * >::iterator""'");
+      SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "VectorQuads_insert" "', argument " "2"" of type '" "std::vector<Hex::Quad * >::iterator""'");
     }
   }
-  res3 = SWIG_ConvertPtr(obj2, &argp3,SWIGTYPE_std__vectorT_Hex__Quad_p_std__allocatorT_Hex__Quad_p_t_t__value_type, 0 |  0 );
+  res3 = SWIG_ConvertPtr(obj2, &argp3,SWIGTYPE_std__vectorTHex__Quad_p_std__allocatorTHex__Quad_p_t_t__value_type, 0 |  0 );
   if (!SWIG_IsOK(res3)) {
-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "VectorQuads_insert" "', argument " "3"" of type '" "std::vector< Hex::Quad * >::value_type""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "VectorQuads_insert" "', argument " "3"" of type '" "std::vector<Hex::Quad * >::value_type""'"); 
   }
-  arg3 = reinterpret_cast< std::vector< Hex::Quad * >::value_type >(argp3);
+  arg3 = reinterpret_cast< std::vector<Hex::Quad * >::value_type >(argp3);
   result = (arg1)->insert(arg2,arg3);
-  resultobj = SWIG_NewPointerObj(swig::make_output_iterator(static_cast< const std::vector< Hex::Quad * >::iterator & >(result)),
-    swig::SwigPyIterator::descriptor(),SWIG_POINTER_OWN);
+  resultobj = SWIG_NewPointerObj(swig::make_output_iterator(static_cast< const std::vector<Hex::Quad * >::iterator & >(result)),
+    swig::PySwigIterator::descriptor(),SWIG_POINTER_OWN);
   return resultobj;
 fail:
   return NULL;
@@ -9035,13 +8386,13 @@ fail:
 
 SWIGINTERN PyObject *_wrap_VectorQuads_insert__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Quad * > *arg1 = (std::vector< Hex::Quad * > *) 0 ;
-  std::vector< Hex::Quad * >::iterator arg2 ;
-  std::vector< Hex::Quad * >::size_type arg3 ;
-  std::vector< Hex::Quad * >::value_type arg4 = (std::vector< Hex::Quad * >::value_type) 0 ;
+  std::vector<Hex::Quad * > *arg1 = (std::vector<Hex::Quad * > *) 0 ;
+  std::vector<Hex::Quad * >::iterator arg2 ;
+  std::vector<Hex::Quad * >::size_type arg3 ;
+  std::vector<Hex::Quad * >::value_type arg4 = (std::vector<Hex::Quad * >::value_type) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
-  swig::SwigPyIterator *iter2 = 0 ;
+  swig::PySwigIterator *iter2 = 0 ;
   int res2 ;
   size_t val3 ;
   int ecode3 = 0 ;
@@ -9053,32 +8404,32 @@ SWIGINTERN PyObject *_wrap_VectorQuads_insert__SWIG_1(PyObject *SWIGUNUSEDPARM(s
   PyObject * obj3 = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOOO:VectorQuads_insert",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Quad_p_std__allocatorT_Hex__Quad_p_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Quad_p_std__allocatorTHex__Quad_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorQuads_insert" "', argument " "1"" of type '" "std::vector< Hex::Quad * > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorQuads_insert" "', argument " "1"" of type '" "std::vector<Hex::Quad * > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::Quad * > * >(argp1);
-  res2 = SWIG_ConvertPtr(obj1, SWIG_as_voidptrptr(&iter2), swig::SwigPyIterator::descriptor(), 0);
+  arg1 = reinterpret_cast< std::vector<Hex::Quad * > * >(argp1);
+  res2 = SWIG_ConvertPtr(obj1, SWIG_as_voidptrptr(&iter2), swig::PySwigIterator::descriptor(), 0);
   if (!SWIG_IsOK(res2) || !iter2) {
-    SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "VectorQuads_insert" "', argument " "2"" of type '" "std::vector< Hex::Quad * >::iterator""'");
+    SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "VectorQuads_insert" "', argument " "2"" of type '" "std::vector<Hex::Quad * >::iterator""'");
   } else {
-    swig::SwigPyIterator_T<std::vector< Hex::Quad * >::iterator > *iter_t = dynamic_cast<swig::SwigPyIterator_T<std::vector< Hex::Quad * >::iterator > *>(iter2);
+    swig::PySwigIterator_T<std::vector<Hex::Quad * >::iterator > *iter_t = dynamic_cast<swig::PySwigIterator_T<std::vector<Hex::Quad * >::iterator > *>(iter2);
     if (iter_t) {
       arg2 = iter_t->get_current();
     } else {
-      SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "VectorQuads_insert" "', argument " "2"" of type '" "std::vector< Hex::Quad * >::iterator""'");
+      SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "VectorQuads_insert" "', argument " "2"" of type '" "std::vector<Hex::Quad * >::iterator""'");
     }
   }
   ecode3 = SWIG_AsVal_size_t(obj2, &val3);
   if (!SWIG_IsOK(ecode3)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "VectorQuads_insert" "', argument " "3"" of type '" "std::vector< Hex::Quad * >::size_type""'");
+    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "VectorQuads_insert" "', argument " "3"" of type '" "std::vector<Hex::Quad * >::size_type""'");
   } 
-  arg3 = static_cast< std::vector< Hex::Quad * >::size_type >(val3);
-  res4 = SWIG_ConvertPtr(obj3, &argp4,SWIGTYPE_std__vectorT_Hex__Quad_p_std__allocatorT_Hex__Quad_p_t_t__value_type, 0 |  0 );
+  arg3 = static_cast< std::vector<Hex::Quad * >::size_type >(val3);
+  res4 = SWIG_ConvertPtr(obj3, &argp4,SWIGTYPE_std__vectorTHex__Quad_p_std__allocatorTHex__Quad_p_t_t__value_type, 0 |  0 );
   if (!SWIG_IsOK(res4)) {
-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "VectorQuads_insert" "', argument " "4"" of type '" "std::vector< Hex::Quad * >::value_type""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "VectorQuads_insert" "', argument " "4"" of type '" "std::vector<Hex::Quad * >::value_type""'"); 
   }
-  arg4 = reinterpret_cast< std::vector< Hex::Quad * >::value_type >(argp4);
+  arg4 = reinterpret_cast< std::vector<Hex::Quad * >::value_type >(argp4);
   (arg1)->insert(arg2,arg3,arg4);
   resultobj = SWIG_Py_Void();
   return resultobj;
@@ -9093,21 +8444,21 @@ SWIGINTERN PyObject *_wrap_VectorQuads_insert(PyObject *self, PyObject *args) {
   int ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = (int)PyObject_Length(args);
+  argc = PyObject_Length(args);
   for (ii = 0; (ii < argc) && (ii < 4); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
   if (argc == 3) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<Hex::Quad*,std::allocator< Hex::Quad * > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector<Hex::Quad*,std::allocator<Hex::Quad * > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
-      swig::SwigPyIterator *iter = 0;
-      int res = SWIG_ConvertPtr(argv[1], SWIG_as_voidptrptr(&iter), swig::SwigPyIterator::descriptor(), 0);
-      _v = (SWIG_IsOK(res) && iter && (dynamic_cast<swig::SwigPyIterator_T<std::vector< Hex::Quad * >::iterator > *>(iter) != 0));
+      swig::PySwigIterator *iter = 0;
+      int res = SWIG_ConvertPtr(argv[1], SWIG_as_voidptrptr(&iter), swig::PySwigIterator::descriptor(), 0);
+      _v = (SWIG_IsOK(res) && iter && (dynamic_cast<swig::PySwigIterator_T<std::vector<Hex::Quad * >::iterator > *>(iter) != 0));
       if (_v) {
         void *vptr = 0;
-        int res = SWIG_ConvertPtr(argv[2], &vptr, SWIGTYPE_std__vectorT_Hex__Quad_p_std__allocatorT_Hex__Quad_p_t_t__value_type, 0);
+        int res = SWIG_ConvertPtr(argv[2], &vptr, SWIGTYPE_std__vectorTHex__Quad_p_std__allocatorTHex__Quad_p_t_t__value_type, 0);
         _v = SWIG_CheckState(res);
         if (_v) {
           return _wrap_VectorQuads_insert__SWIG_0(self, args);
@@ -9117,12 +8468,12 @@ SWIGINTERN PyObject *_wrap_VectorQuads_insert(PyObject *self, PyObject *args) {
   }
   if (argc == 4) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<Hex::Quad*,std::allocator< Hex::Quad * > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector<Hex::Quad*,std::allocator<Hex::Quad * > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
-      swig::SwigPyIterator *iter = 0;
-      int res = SWIG_ConvertPtr(argv[1], SWIG_as_voidptrptr(&iter), swig::SwigPyIterator::descriptor(), 0);
-      _v = (SWIG_IsOK(res) && iter && (dynamic_cast<swig::SwigPyIterator_T<std::vector< Hex::Quad * >::iterator > *>(iter) != 0));
+      swig::PySwigIterator *iter = 0;
+      int res = SWIG_ConvertPtr(argv[1], SWIG_as_voidptrptr(&iter), swig::PySwigIterator::descriptor(), 0);
+      _v = (SWIG_IsOK(res) && iter && (dynamic_cast<swig::PySwigIterator_T<std::vector<Hex::Quad * >::iterator > *>(iter) != 0));
       if (_v) {
         {
           int res = SWIG_AsVal_size_t(argv[2], NULL);
@@ -9130,7 +8481,7 @@ SWIGINTERN PyObject *_wrap_VectorQuads_insert(PyObject *self, PyObject *args) {
         }
         if (_v) {
           void *vptr = 0;
-          int res = SWIG_ConvertPtr(argv[3], &vptr, SWIGTYPE_std__vectorT_Hex__Quad_p_std__allocatorT_Hex__Quad_p_t_t__value_type, 0);
+          int res = SWIG_ConvertPtr(argv[3], &vptr, SWIGTYPE_std__vectorTHex__Quad_p_std__allocatorTHex__Quad_p_t_t__value_type, 0);
           _v = SWIG_CheckState(res);
           if (_v) {
             return _wrap_VectorQuads_insert__SWIG_1(self, args);
@@ -9141,18 +8492,15 @@ SWIGINTERN PyObject *_wrap_VectorQuads_insert(PyObject *self, PyObject *args) {
   }
   
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'VectorQuads_insert'.\n"
-    "  Possible C/C++ prototypes are:\n"
-    "    insert(std::vector< Hex::Quad * > *,std::vector< Hex::Quad * >::iterator,std::vector< Hex::Quad * >::value_type)\n"
-    "    insert(std::vector< Hex::Quad * > *,std::vector< Hex::Quad * >::iterator,std::vector< Hex::Quad * >::size_type,std::vector< Hex::Quad * >::value_type)\n");
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'VectorQuads_insert'.\n  Possible C/C++ prototypes are:\n    insert(std::vector<Hex::Quad * >::iterator,std::vector<Hex::Quad * >::value_type)\n    insert(std::vector<Hex::Quad * >::iterator,std::vector<Hex::Quad * >::size_type,std::vector<Hex::Quad * >::value_type)\n");
   return NULL;
 }
 
 
 SWIGINTERN PyObject *_wrap_VectorQuads_reserve(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Quad * > *arg1 = (std::vector< Hex::Quad * > *) 0 ;
-  std::vector< Hex::Quad * >::size_type arg2 ;
+  std::vector<Hex::Quad * > *arg1 = (std::vector<Hex::Quad * > *) 0 ;
+  std::vector<Hex::Quad * >::size_type arg2 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   size_t val2 ;
@@ -9161,16 +8509,16 @@ SWIGINTERN PyObject *_wrap_VectorQuads_reserve(PyObject *SWIGUNUSEDPARM(self), P
   PyObject * obj1 = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OO:VectorQuads_reserve",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Quad_p_std__allocatorT_Hex__Quad_p_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Quad_p_std__allocatorTHex__Quad_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorQuads_reserve" "', argument " "1"" of type '" "std::vector< Hex::Quad * > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorQuads_reserve" "', argument " "1"" of type '" "std::vector<Hex::Quad * > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::Quad * > * >(argp1);
+  arg1 = reinterpret_cast< std::vector<Hex::Quad * > * >(argp1);
   ecode2 = SWIG_AsVal_size_t(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorQuads_reserve" "', argument " "2"" of type '" "std::vector< Hex::Quad * >::size_type""'");
+    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorQuads_reserve" "', argument " "2"" of type '" "std::vector<Hex::Quad * >::size_type""'");
   } 
-  arg2 = static_cast< std::vector< Hex::Quad * >::size_type >(val2);
+  arg2 = static_cast< std::vector<Hex::Quad * >::size_type >(val2);
   (arg1)->reserve(arg2);
   resultobj = SWIG_Py_Void();
   return resultobj;
@@ -9181,19 +8529,19 @@ fail:
 
 SWIGINTERN PyObject *_wrap_VectorQuads_capacity(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Quad * > *arg1 = (std::vector< Hex::Quad * > *) 0 ;
+  std::vector<Hex::Quad * > *arg1 = (std::vector<Hex::Quad * > *) 0 ;
+  std::vector<Hex::Quad * >::size_type result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  std::vector< Hex::Quad * >::size_type result;
   
   if (!PyArg_ParseTuple(args,(char *)"O:VectorQuads_capacity",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Quad_p_std__allocatorT_Hex__Quad_p_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Quad_p_std__allocatorTHex__Quad_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorQuads_capacity" "', argument " "1"" of type '" "std::vector< Hex::Quad * > const *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorQuads_capacity" "', argument " "1"" of type '" "std::vector<Hex::Quad * > const *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::Quad * > * >(argp1);
-  result = ((std::vector< Hex::Quad * > const *)arg1)->capacity();
+  arg1 = reinterpret_cast< std::vector<Hex::Quad * > * >(argp1);
+  result = ((std::vector<Hex::Quad * > const *)arg1)->capacity();
   resultobj = SWIG_From_size_t(static_cast< size_t >(result));
   return resultobj;
 fail:
@@ -9203,18 +8551,19 @@ fail:
 
 SWIGINTERN PyObject *_wrap_delete_VectorQuads(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Quad * > *arg1 = (std::vector< Hex::Quad * > *) 0 ;
+  std::vector<Hex::Quad * > *arg1 = (std::vector<Hex::Quad * > *) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"O:delete_VectorQuads",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Quad_p_std__allocatorT_Hex__Quad_p_t_t, SWIG_POINTER_DISOWN |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Quad_p_std__allocatorTHex__Quad_p_t_t, SWIG_POINTER_DISOWN |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_VectorQuads" "', argument " "1"" of type '" "std::vector< Hex::Quad * > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_VectorQuads" "', argument " "1"" of type '" "std::vector<Hex::Quad * > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::Quad * > * >(argp1);
+  arg1 = reinterpret_cast< std::vector<Hex::Quad * > * >(argp1);
   delete arg1;
+  
   resultobj = SWIG_Py_Void();
   return resultobj;
 fail:
@@ -9224,29 +8573,29 @@ fail:
 
 SWIGINTERN PyObject *VectorQuads_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *obj;
-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
-  SWIG_TypeNewClientData(SWIGTYPE_p_std__vectorT_Hex__Quad_p_std__allocatorT_Hex__Quad_p_t_t, SWIG_NewClientData(obj));
+  if (!PyArg_ParseTuple(args,(char*)"O|swigregister", &obj)) return NULL;
+  SWIG_TypeNewClientData(SWIGTYPE_p_std__vectorTHex__Quad_p_std__allocatorTHex__Quad_p_t_t, SWIG_NewClientData(obj));
   return SWIG_Py_Void();
 }
 
 SWIGINTERN PyObject *_wrap_VectorEdges_iterator(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Edge * > *arg1 = (std::vector< Hex::Edge * > *) 0 ;
+  std::vector<Hex::Edge * > *arg1 = (std::vector<Hex::Edge * > *) 0 ;
   PyObject **arg2 = (PyObject **) 0 ;
+  swig::PySwigIterator *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  swig::SwigPyIterator *result = 0 ;
   
   arg2 = &obj0;
   if (!PyArg_ParseTuple(args,(char *)"O:VectorEdges_iterator",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Edge_p_std__allocatorT_Hex__Edge_p_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Edge_p_std__allocatorTHex__Edge_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorEdges_iterator" "', argument " "1"" of type '" "std::vector< Hex::Edge * > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorEdges_iterator" "', argument " "1"" of type '" "std::vector<Hex::Edge * > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::Edge * > * >(argp1);
-  result = (swig::SwigPyIterator *)std_vector_Sl_Hex_Edge_Sm__Sg__iterator(arg1,arg2);
-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_swig__SwigPyIterator, SWIG_POINTER_OWN |  0 );
+  arg1 = reinterpret_cast< std::vector<Hex::Edge * > * >(argp1);
+  result = (swig::PySwigIterator *)std_vector_Sl_Hex_Edge_Sm__Sg__iterator(arg1,arg2);
+  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_swig__PySwigIterator, SWIG_POINTER_OWN |  0 );
   return resultobj;
 fail:
   return NULL;
@@ -9255,41 +8604,19 @@ fail:
 
 SWIGINTERN PyObject *_wrap_VectorEdges___nonzero__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Edge * > *arg1 = (std::vector< Hex::Edge * > *) 0 ;
-  void *argp1 = 0 ;
-  int res1 = 0 ;
-  PyObject * obj0 = 0 ;
+  std::vector<Hex::Edge * > *arg1 = (std::vector<Hex::Edge * > *) 0 ;
   bool result;
-  
-  if (!PyArg_ParseTuple(args,(char *)"O:VectorEdges___nonzero__",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Edge_p_std__allocatorT_Hex__Edge_p_t_t, 0 |  0 );
-  if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorEdges___nonzero__" "', argument " "1"" of type '" "std::vector< Hex::Edge * > const *""'"); 
-  }
-  arg1 = reinterpret_cast< std::vector< Hex::Edge * > * >(argp1);
-  result = (bool)std_vector_Sl_Hex_Edge_Sm__Sg____nonzero__((std::vector< Hex::Edge * > const *)arg1);
-  resultobj = SWIG_From_bool(static_cast< bool >(result));
-  return resultobj;
-fail:
-  return NULL;
-}
-
-
-SWIGINTERN PyObject *_wrap_VectorEdges___bool__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
-  PyObject *resultobj = 0;
-  std::vector< Hex::Edge * > *arg1 = (std::vector< Hex::Edge * > *) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  bool result;
   
-  if (!PyArg_ParseTuple(args,(char *)"O:VectorEdges___bool__",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Edge_p_std__allocatorT_Hex__Edge_p_t_t, 0 |  0 );
+  if (!PyArg_ParseTuple(args,(char *)"O:VectorEdges___nonzero__",&obj0)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Edge_p_std__allocatorTHex__Edge_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorEdges___bool__" "', argument " "1"" of type '" "std::vector< Hex::Edge * > const *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorEdges___nonzero__" "', argument " "1"" of type '" "std::vector<Hex::Edge * > const *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::Edge * > * >(argp1);
-  result = (bool)std_vector_Sl_Hex_Edge_Sm__Sg____bool__((std::vector< Hex::Edge * > const *)arg1);
+  arg1 = reinterpret_cast< std::vector<Hex::Edge * > * >(argp1);
+  result = (bool)std_vector_Sl_Hex_Edge_Sm__Sg____nonzero__((std::vector<Hex::Edge * > const *)arg1);
   resultobj = SWIG_From_bool(static_cast< bool >(result));
   return resultobj;
 fail:
@@ -9299,19 +8626,19 @@ fail:
 
 SWIGINTERN PyObject *_wrap_VectorEdges___len__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Edge * > *arg1 = (std::vector< Hex::Edge * > *) 0 ;
+  std::vector<Hex::Edge * > *arg1 = (std::vector<Hex::Edge * > *) 0 ;
+  std::vector<Hex::Edge * >::size_type result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  std::vector< Hex::Edge * >::size_type result;
   
   if (!PyArg_ParseTuple(args,(char *)"O:VectorEdges___len__",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Edge_p_std__allocatorT_Hex__Edge_p_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Edge_p_std__allocatorTHex__Edge_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorEdges___len__" "', argument " "1"" of type '" "std::vector< Hex::Edge * > const *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorEdges___len__" "', argument " "1"" of type '" "std::vector<Hex::Edge * > const *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::Edge * > * >(argp1);
-  result = std_vector_Sl_Hex_Edge_Sm__Sg____len__((std::vector< Hex::Edge * > const *)arg1);
+  arg1 = reinterpret_cast< std::vector<Hex::Edge * > * >(argp1);
+  result = std_vector_Sl_Hex_Edge_Sm__Sg____len__((std::vector<Hex::Edge * > const *)arg1);
   resultobj = SWIG_From_size_t(static_cast< size_t >(result));
   return resultobj;
 fail:
@@ -9321,26 +8648,26 @@ fail:
 
 SWIGINTERN PyObject *_wrap_VectorEdges_pop(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Edge * > *arg1 = (std::vector< Hex::Edge * > *) 0 ;
+  std::vector<Hex::Edge * > *arg1 = (std::vector<Hex::Edge * > *) 0 ;
+  std::vector<Hex::Edge * >::value_type result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  std::vector< Hex::Edge * >::value_type result;
   
   if (!PyArg_ParseTuple(args,(char *)"O:VectorEdges_pop",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Edge_p_std__allocatorT_Hex__Edge_p_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Edge_p_std__allocatorTHex__Edge_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorEdges_pop" "', argument " "1"" of type '" "std::vector< Hex::Edge * > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorEdges_pop" "', argument " "1"" of type '" "std::vector<Hex::Edge * > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::Edge * > * >(argp1);
+  arg1 = reinterpret_cast< std::vector<Hex::Edge * > * >(argp1);
   try {
-    result = (std::vector< Hex::Edge * >::value_type)std_vector_Sl_Hex_Edge_Sm__Sg__pop(arg1);
+    result = (std::vector<Hex::Edge * >::value_type)std_vector_Sl_Hex_Edge_Sm__Sg__pop(arg1);
   }
   catch(std::out_of_range &_e) {
     SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
   }
   
-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_std__vectorT_Hex__Edge_p_std__allocatorT_Hex__Edge_p_t_t__value_type, 0 |  0 );
+  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_std__vectorTHex__Edge_p_std__allocatorTHex__Edge_p_t_t__value_type, 0 |  0 );
   return resultobj;
 fail:
   return NULL;
@@ -9349,9 +8676,10 @@ fail:
 
 SWIGINTERN PyObject *_wrap_VectorEdges___getslice__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Edge * > *arg1 = (std::vector< Hex::Edge * > *) 0 ;
-  std::vector< Hex::Edge * >::difference_type arg2 ;
-  std::vector< Hex::Edge * >::difference_type arg3 ;
+  std::vector<Hex::Edge * > *arg1 = (std::vector<Hex::Edge * > *) 0 ;
+  std::vector<Hex::Edge * >::difference_type arg2 ;
+  std::vector<Hex::Edge * >::difference_type arg3 ;
+  std::vector<Hex::Edge *,std::allocator<Hex::Edge * > > *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   ptrdiff_t val2 ;
@@ -9361,32 +8689,31 @@ SWIGINTERN PyObject *_wrap_VectorEdges___getslice__(PyObject *SWIGUNUSEDPARM(sel
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
   PyObject * obj2 = 0 ;
-  std::vector< Hex::Edge *,std::allocator< Hex::Edge * > > *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOO:VectorEdges___getslice__",&obj0,&obj1,&obj2)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Edge_p_std__allocatorT_Hex__Edge_p_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Edge_p_std__allocatorTHex__Edge_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorEdges___getslice__" "', argument " "1"" of type '" "std::vector< Hex::Edge * > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorEdges___getslice__" "', argument " "1"" of type '" "std::vector<Hex::Edge * > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::Edge * > * >(argp1);
+  arg1 = reinterpret_cast< std::vector<Hex::Edge * > * >(argp1);
   ecode2 = SWIG_AsVal_ptrdiff_t(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorEdges___getslice__" "', argument " "2"" of type '" "std::vector< Hex::Edge * >::difference_type""'");
+    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorEdges___getslice__" "', argument " "2"" of type '" "std::vector<Hex::Edge * >::difference_type""'");
   } 
-  arg2 = static_cast< std::vector< Hex::Edge * >::difference_type >(val2);
+  arg2 = static_cast< std::vector<Hex::Edge * >::difference_type >(val2);
   ecode3 = SWIG_AsVal_ptrdiff_t(obj2, &val3);
   if (!SWIG_IsOK(ecode3)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "VectorEdges___getslice__" "', argument " "3"" of type '" "std::vector< Hex::Edge * >::difference_type""'");
+    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "VectorEdges___getslice__" "', argument " "3"" of type '" "std::vector<Hex::Edge * >::difference_type""'");
   } 
-  arg3 = static_cast< std::vector< Hex::Edge * >::difference_type >(val3);
+  arg3 = static_cast< std::vector<Hex::Edge * >::difference_type >(val3);
   try {
-    result = (std::vector< Hex::Edge *,std::allocator< Hex::Edge * > > *)std_vector_Sl_Hex_Edge_Sm__Sg____getslice__(arg1,arg2,arg3);
+    result = (std::vector<Hex::Edge *,std::allocator<Hex::Edge * > > *)std_vector_Sl_Hex_Edge_Sm__Sg____getslice__(arg1,arg2,arg3);
   }
   catch(std::out_of_range &_e) {
     SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
   }
   
-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_Hex__Edge_p_std__allocatorT_Hex__Edge_p_t_t, SWIG_POINTER_OWN |  0 );
+  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorTHex__Edge_p_std__allocatorTHex__Edge_p_t_t, SWIG_POINTER_OWN |  0 );
   return resultobj;
 fail:
   return NULL;
@@ -9395,10 +8722,10 @@ fail:
 
 SWIGINTERN PyObject *_wrap_VectorEdges___setslice__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Edge * > *arg1 = (std::vector< Hex::Edge * > *) 0 ;
-  std::vector< Hex::Edge * >::difference_type arg2 ;
-  std::vector< Hex::Edge * >::difference_type arg3 ;
-  std::vector< Hex::Edge *,std::allocator< Hex::Edge * > > *arg4 = 0 ;
+  std::vector<Hex::Edge * > *arg1 = (std::vector<Hex::Edge * > *) 0 ;
+  std::vector<Hex::Edge * >::difference_type arg2 ;
+  std::vector<Hex::Edge * >::difference_type arg3 ;
+  std::vector<Hex::Edge *,std::allocator<Hex::Edge * > > *arg4 = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   ptrdiff_t val2 ;
@@ -9412,34 +8739,34 @@ SWIGINTERN PyObject *_wrap_VectorEdges___setslice__(PyObject *SWIGUNUSEDPARM(sel
   PyObject * obj3 = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOOO:VectorEdges___setslice__",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Edge_p_std__allocatorT_Hex__Edge_p_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Edge_p_std__allocatorTHex__Edge_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorEdges___setslice__" "', argument " "1"" of type '" "std::vector< Hex::Edge * > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorEdges___setslice__" "', argument " "1"" of type '" "std::vector<Hex::Edge * > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::Edge * > * >(argp1);
+  arg1 = reinterpret_cast< std::vector<Hex::Edge * > * >(argp1);
   ecode2 = SWIG_AsVal_ptrdiff_t(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorEdges___setslice__" "', argument " "2"" of type '" "std::vector< Hex::Edge * >::difference_type""'");
+    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorEdges___setslice__" "', argument " "2"" of type '" "std::vector<Hex::Edge * >::difference_type""'");
   } 
-  arg2 = static_cast< std::vector< Hex::Edge * >::difference_type >(val2);
+  arg2 = static_cast< std::vector<Hex::Edge * >::difference_type >(val2);
   ecode3 = SWIG_AsVal_ptrdiff_t(obj2, &val3);
   if (!SWIG_IsOK(ecode3)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "VectorEdges___setslice__" "', argument " "3"" of type '" "std::vector< Hex::Edge * >::difference_type""'");
+    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "VectorEdges___setslice__" "', argument " "3"" of type '" "std::vector<Hex::Edge * >::difference_type""'");
   } 
-  arg3 = static_cast< std::vector< Hex::Edge * >::difference_type >(val3);
+  arg3 = static_cast< std::vector<Hex::Edge * >::difference_type >(val3);
   {
-    std::vector<Hex::Edge*,std::allocator< Hex::Edge * > > *ptr = (std::vector<Hex::Edge*,std::allocator< Hex::Edge * > > *)0;
+    std::vector<Hex::Edge*,std::allocator<Hex::Edge * > > *ptr = (std::vector<Hex::Edge*,std::allocator<Hex::Edge * > > *)0;
     res4 = swig::asptr(obj3, &ptr);
     if (!SWIG_IsOK(res4)) {
-      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "VectorEdges___setslice__" "', argument " "4"" of type '" "std::vector< Hex::Edge *,std::allocator< Hex::Edge * > > const &""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "VectorEdges___setslice__" "', argument " "4"" of type '" "std::vector<Hex::Edge *,std::allocator<Hex::Edge * > > const &""'"); 
     }
     if (!ptr) {
-      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "VectorEdges___setslice__" "', argument " "4"" of type '" "std::vector< Hex::Edge *,std::allocator< Hex::Edge * > > const &""'"); 
+      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "VectorEdges___setslice__" "', argument " "4"" of type '" "std::vector<Hex::Edge *,std::allocator<Hex::Edge * > > const &""'"); 
     }
     arg4 = ptr;
   }
   try {
-    std_vector_Sl_Hex_Edge_Sm__Sg____setslice__(arg1,arg2,arg3,(std::vector< Hex::Edge *,std::allocator< Hex::Edge * > > const &)*arg4);
+    std_vector_Sl_Hex_Edge_Sm__Sg____setslice__(arg1,arg2,arg3,(std::vector<Hex::Edge *,std::allocator<Hex::Edge * > > const &)*arg4);
   }
   catch(std::out_of_range &_e) {
     SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
@@ -9459,9 +8786,9 @@ fail:
 
 SWIGINTERN PyObject *_wrap_VectorEdges___delslice__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Edge * > *arg1 = (std::vector< Hex::Edge * > *) 0 ;
-  std::vector< Hex::Edge * >::difference_type arg2 ;
-  std::vector< Hex::Edge * >::difference_type arg3 ;
+  std::vector<Hex::Edge * > *arg1 = (std::vector<Hex::Edge * > *) 0 ;
+  std::vector<Hex::Edge * >::difference_type arg2 ;
+  std::vector<Hex::Edge * >::difference_type arg3 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   ptrdiff_t val2 ;
@@ -9473,21 +8800,21 @@ SWIGINTERN PyObject *_wrap_VectorEdges___delslice__(PyObject *SWIGUNUSEDPARM(sel
   PyObject * obj2 = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOO:VectorEdges___delslice__",&obj0,&obj1,&obj2)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Edge_p_std__allocatorT_Hex__Edge_p_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Edge_p_std__allocatorTHex__Edge_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorEdges___delslice__" "', argument " "1"" of type '" "std::vector< Hex::Edge * > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorEdges___delslice__" "', argument " "1"" of type '" "std::vector<Hex::Edge * > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::Edge * > * >(argp1);
+  arg1 = reinterpret_cast< std::vector<Hex::Edge * > * >(argp1);
   ecode2 = SWIG_AsVal_ptrdiff_t(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorEdges___delslice__" "', argument " "2"" of type '" "std::vector< Hex::Edge * >::difference_type""'");
+    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorEdges___delslice__" "', argument " "2"" of type '" "std::vector<Hex::Edge * >::difference_type""'");
   } 
-  arg2 = static_cast< std::vector< Hex::Edge * >::difference_type >(val2);
+  arg2 = static_cast< std::vector<Hex::Edge * >::difference_type >(val2);
   ecode3 = SWIG_AsVal_ptrdiff_t(obj2, &val3);
   if (!SWIG_IsOK(ecode3)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "VectorEdges___delslice__" "', argument " "3"" of type '" "std::vector< Hex::Edge * >::difference_type""'");
+    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "VectorEdges___delslice__" "', argument " "3"" of type '" "std::vector<Hex::Edge * >::difference_type""'");
   } 
-  arg3 = static_cast< std::vector< Hex::Edge * >::difference_type >(val3);
+  arg3 = static_cast< std::vector<Hex::Edge * >::difference_type >(val3);
   try {
     std_vector_Sl_Hex_Edge_Sm__Sg____delslice__(arg1,arg2,arg3);
   }
@@ -9502,10 +8829,10 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_VectorEdges___delitem____SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_VectorEdges___delitem__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Edge * > *arg1 = (std::vector< Hex::Edge * > *) 0 ;
-  std::vector< Hex::Edge * >::difference_type arg2 ;
+  std::vector<Hex::Edge * > *arg1 = (std::vector<Hex::Edge * > *) 0 ;
+  std::vector<Hex::Edge * >::difference_type arg2 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   ptrdiff_t val2 ;
@@ -9514,18 +8841,18 @@ SWIGINTERN PyObject *_wrap_VectorEdges___delitem____SWIG_0(PyObject *SWIGUNUSEDP
   PyObject * obj1 = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OO:VectorEdges___delitem__",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Edge_p_std__allocatorT_Hex__Edge_p_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Edge_p_std__allocatorTHex__Edge_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorEdges___delitem__" "', argument " "1"" of type '" "std::vector< Hex::Edge * > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorEdges___delitem__" "', argument " "1"" of type '" "std::vector<Hex::Edge * > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::Edge * > * >(argp1);
+  arg1 = reinterpret_cast< std::vector<Hex::Edge * > * >(argp1);
   ecode2 = SWIG_AsVal_ptrdiff_t(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorEdges___delitem__" "', argument " "2"" of type '" "std::vector< Hex::Edge * >::difference_type""'");
+    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorEdges___delitem__" "', argument " "2"" of type '" "std::vector<Hex::Edge * >::difference_type""'");
   } 
-  arg2 = static_cast< std::vector< Hex::Edge * >::difference_type >(val2);
+  arg2 = static_cast< std::vector<Hex::Edge * >::difference_type >(val2);
   try {
-    std_vector_Sl_Hex_Edge_Sm__Sg____delitem____SWIG_0(arg1,arg2);
+    std_vector_Sl_Hex_Edge_Sm__Sg____delitem__(arg1,arg2);
   }
   catch(std::out_of_range &_e) {
     SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
@@ -9538,115 +8865,111 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_VectorEdges___getitem____SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_VectorEdges___getitem__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Edge * > *arg1 = (std::vector< Hex::Edge * > *) 0 ;
-  PySliceObject *arg2 = (PySliceObject *) 0 ;
+  std::vector<Hex::Edge * > *arg1 = (std::vector<Hex::Edge * > *) 0 ;
+  std::vector<Hex::Edge * >::difference_type arg2 ;
+  std::vector<Hex::Edge * >::value_type result;
   void *argp1 = 0 ;
   int res1 = 0 ;
+  ptrdiff_t val2 ;
+  int ecode2 = 0 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
-  std::vector< Hex::Edge *,std::allocator< Hex::Edge * > > *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OO:VectorEdges___getitem__",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Edge_p_std__allocatorT_Hex__Edge_p_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Edge_p_std__allocatorTHex__Edge_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorEdges___getitem__" "', argument " "1"" of type '" "std::vector< Hex::Edge * > *""'"); 
-  }
-  arg1 = reinterpret_cast< std::vector< Hex::Edge * > * >(argp1);
-  {
-    arg2 = (PySliceObject *) obj1;
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorEdges___getitem__" "', argument " "1"" of type '" "std::vector<Hex::Edge * > *""'"); 
   }
+  arg1 = reinterpret_cast< std::vector<Hex::Edge * > * >(argp1);
+  ecode2 = SWIG_AsVal_ptrdiff_t(obj1, &val2);
+  if (!SWIG_IsOK(ecode2)) {
+    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorEdges___getitem__" "', argument " "2"" of type '" "std::vector<Hex::Edge * >::difference_type""'");
+  } 
+  arg2 = static_cast< std::vector<Hex::Edge * >::difference_type >(val2);
   try {
-    result = (std::vector< Hex::Edge *,std::allocator< Hex::Edge * > > *)std_vector_Sl_Hex_Edge_Sm__Sg____getitem____SWIG_0(arg1,arg2);
+    result = (std::vector<Hex::Edge * >::value_type)std_vector_Sl_Hex_Edge_Sm__Sg____getitem__(arg1,arg2);
   }
   catch(std::out_of_range &_e) {
     SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
   }
   
-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_Hex__Edge_p_std__allocatorT_Hex__Edge_p_t_t, 0 |  0 );
+  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_std__vectorTHex__Edge_p_std__allocatorTHex__Edge_p_t_t__value_type, 0 |  0 );
   return resultobj;
 fail:
   return NULL;
 }
 
 
-SWIGINTERN PyObject *_wrap_VectorEdges___setitem____SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_VectorEdges___setitem__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Edge * > *arg1 = (std::vector< Hex::Edge * > *) 0 ;
-  PySliceObject *arg2 = (PySliceObject *) 0 ;
-  std::vector< Hex::Edge *,std::allocator< Hex::Edge * > > *arg3 = 0 ;
+  std::vector<Hex::Edge * > *arg1 = (std::vector<Hex::Edge * > *) 0 ;
+  std::vector<Hex::Edge * >::difference_type arg2 ;
+  std::vector<Hex::Edge * >::value_type arg3 = (std::vector<Hex::Edge * >::value_type) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
-  int res3 = SWIG_OLDOBJ ;
+  ptrdiff_t val2 ;
+  int ecode2 = 0 ;
+  void *argp3 = 0 ;
+  int res3 = 0 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
   PyObject * obj2 = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOO:VectorEdges___setitem__",&obj0,&obj1,&obj2)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Edge_p_std__allocatorT_Hex__Edge_p_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Edge_p_std__allocatorTHex__Edge_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorEdges___setitem__" "', argument " "1"" of type '" "std::vector< Hex::Edge * > *""'"); 
-  }
-  arg1 = reinterpret_cast< std::vector< Hex::Edge * > * >(argp1);
-  {
-    arg2 = (PySliceObject *) obj1;
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorEdges___setitem__" "', argument " "1"" of type '" "std::vector<Hex::Edge * > *""'"); 
   }
-  {
-    std::vector<Hex::Edge*,std::allocator< Hex::Edge * > > *ptr = (std::vector<Hex::Edge*,std::allocator< Hex::Edge * > > *)0;
-    res3 = swig::asptr(obj2, &ptr);
-    if (!SWIG_IsOK(res3)) {
-      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "VectorEdges___setitem__" "', argument " "3"" of type '" "std::vector< Hex::Edge *,std::allocator< Hex::Edge * > > const &""'"); 
-    }
-    if (!ptr) {
-      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "VectorEdges___setitem__" "', argument " "3"" of type '" "std::vector< Hex::Edge *,std::allocator< Hex::Edge * > > const &""'"); 
-    }
-    arg3 = ptr;
+  arg1 = reinterpret_cast< std::vector<Hex::Edge * > * >(argp1);
+  ecode2 = SWIG_AsVal_ptrdiff_t(obj1, &val2);
+  if (!SWIG_IsOK(ecode2)) {
+    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorEdges___setitem__" "', argument " "2"" of type '" "std::vector<Hex::Edge * >::difference_type""'");
+  } 
+  arg2 = static_cast< std::vector<Hex::Edge * >::difference_type >(val2);
+  res3 = SWIG_ConvertPtr(obj2, &argp3,SWIGTYPE_std__vectorTHex__Edge_p_std__allocatorTHex__Edge_p_t_t__value_type, 0 |  0 );
+  if (!SWIG_IsOK(res3)) {
+    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "VectorEdges___setitem__" "', argument " "3"" of type '" "std::vector<Hex::Edge * >::value_type""'"); 
   }
+  arg3 = reinterpret_cast< std::vector<Hex::Edge * >::value_type >(argp3);
   try {
-    std_vector_Sl_Hex_Edge_Sm__Sg____setitem____SWIG_0(arg1,arg2,(std::vector< Hex::Edge *,std::allocator< Hex::Edge * > > const &)*arg3);
+    std_vector_Sl_Hex_Edge_Sm__Sg____setitem__(arg1,arg2,arg3);
   }
   catch(std::out_of_range &_e) {
     SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
   }
-  catch(std::invalid_argument &_e) {
-    SWIG_exception_fail(SWIG_ValueError, (&_e)->what());
-  }
   
   resultobj = SWIG_Py_Void();
-  if (SWIG_IsNewObj(res3)) delete arg3;
   return resultobj;
 fail:
-  if (SWIG_IsNewObj(res3)) delete arg3;
   return NULL;
 }
 
 
-SWIGINTERN PyObject *_wrap_VectorEdges___delitem____SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_VectorEdges_append(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Edge * > *arg1 = (std::vector< Hex::Edge * > *) 0 ;
-  PySliceObject *arg2 = (PySliceObject *) 0 ;
+  std::vector<Hex::Edge * > *arg1 = (std::vector<Hex::Edge * > *) 0 ;
+  std::vector<Hex::Edge * >::value_type arg2 = (std::vector<Hex::Edge * >::value_type) 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:VectorEdges___delitem__",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Edge_p_std__allocatorT_Hex__Edge_p_t_t, 0 |  0 );
+  if (!PyArg_ParseTuple(args,(char *)"OO:VectorEdges_append",&obj0,&obj1)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Edge_p_std__allocatorTHex__Edge_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorEdges___delitem__" "', argument " "1"" of type '" "std::vector< Hex::Edge * > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorEdges_append" "', argument " "1"" of type '" "std::vector<Hex::Edge * > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::Edge * > * >(argp1);
-  {
-    arg2 = (PySliceObject *) obj1;
-  }
-  try {
-    std_vector_Sl_Hex_Edge_Sm__Sg____delitem____SWIG_1(arg1,arg2);
-  }
-  catch(std::out_of_range &_e) {
-    SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
+  arg1 = reinterpret_cast< std::vector<Hex::Edge * > * >(argp1);
+  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_std__vectorTHex__Edge_p_std__allocatorTHex__Edge_p_t_t__value_type, 0 |  0 );
+  if (!SWIG_IsOK(res2)) {
+    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "VectorEdges_append" "', argument " "2"" of type '" "std::vector<Hex::Edge * >::value_type""'"); 
   }
-  
+  arg2 = reinterpret_cast< std::vector<Hex::Edge * >::value_type >(argp2);
+  std_vector_Sl_Hex_Edge_Sm__Sg__append(arg1,arg2);
   resultobj = SWIG_Py_Void();
   return resultobj;
 fail:
@@ -9654,242 +8977,117 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_VectorEdges___delitem__(PyObject *self, PyObject *args) {
-  int argc;
-  PyObject *argv[3];
-  int ii;
+SWIGINTERN PyObject *_wrap_new_VectorEdges__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+  PyObject *resultobj = 0;
+  std::vector<Hex::Edge * > *result = 0 ;
   
-  if (!PyTuple_Check(args)) SWIG_fail;
-  argc = (int)PyObject_Length(args);
-  for (ii = 0; (ii < argc) && (ii < 2); ii++) {
-    argv[ii] = PyTuple_GET_ITEM(args,ii);
-  }
-  if (argc == 2) {
-    int _v;
-    int res = swig::asptr(argv[0], (std::vector<Hex::Edge*,std::allocator< Hex::Edge * > >**)(0));
-    _v = SWIG_CheckState(res);
-    if (_v) {
-      {
-        _v = PySlice_Check(argv[1]);
-      }
-      if (_v) {
-        return _wrap_VectorEdges___delitem____SWIG_1(self, args);
-      }
+  if (!PyArg_ParseTuple(args,(char *)":new_VectorEdges")) SWIG_fail;
+  result = (std::vector<Hex::Edge * > *)new std::vector<Hex::Edge * >();
+  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorTHex__Edge_p_std__allocatorTHex__Edge_p_t_t, SWIG_POINTER_NEW |  0 );
+  return resultobj;
+fail:
+  return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_new_VectorEdges__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+  PyObject *resultobj = 0;
+  std::vector<Hex::Edge * > *arg1 = 0 ;
+  std::vector<Hex::Edge * > *result = 0 ;
+  int res1 = SWIG_OLDOBJ ;
+  PyObject * obj0 = 0 ;
+  
+  if (!PyArg_ParseTuple(args,(char *)"O:new_VectorEdges",&obj0)) SWIG_fail;
+  {
+    std::vector<Hex::Edge*,std::allocator<Hex::Edge * > > *ptr = (std::vector<Hex::Edge*,std::allocator<Hex::Edge * > > *)0;
+    res1 = swig::asptr(obj0, &ptr);
+    if (!SWIG_IsOK(res1)) {
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_VectorEdges" "', argument " "1"" of type '" "std::vector<Hex::Edge * > const &""'"); 
     }
-  }
-  if (argc == 2) {
-    int _v;
-    int res = swig::asptr(argv[0], (std::vector<Hex::Edge*,std::allocator< Hex::Edge * > >**)(0));
-    _v = SWIG_CheckState(res);
-    if (_v) {
-      {
-        int res = SWIG_AsVal_ptrdiff_t(argv[1], NULL);
-        _v = SWIG_CheckState(res);
-      }
-      if (_v) {
-        return _wrap_VectorEdges___delitem____SWIG_0(self, args);
-      }
+    if (!ptr) {
+      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_VectorEdges" "', argument " "1"" of type '" "std::vector<Hex::Edge * > const &""'"); 
     }
+    arg1 = ptr;
   }
-  
+  result = (std::vector<Hex::Edge * > *)new std::vector<Hex::Edge * >((std::vector<Hex::Edge * > const &)*arg1);
+  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorTHex__Edge_p_std__allocatorTHex__Edge_p_t_t, SWIG_POINTER_NEW |  0 );
+  if (SWIG_IsNewObj(res1)) delete arg1;
+  return resultobj;
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'VectorEdges___delitem__'.\n"
-    "  Possible C/C++ prototypes are:\n"
-    "    __delitem__(std::vector< Hex::Edge * > *,std::vector< Hex::Edge * >::difference_type)\n"
-    "    __delitem__(std::vector< Hex::Edge * > *,PySliceObject *)\n");
+  if (SWIG_IsNewObj(res1)) delete arg1;
   return NULL;
 }
 
 
-SWIGINTERN PyObject *_wrap_VectorEdges___getitem____SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_VectorEdges_empty(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Edge * > *arg1 = (std::vector< Hex::Edge * > *) 0 ;
-  std::vector< Hex::Edge * >::difference_type arg2 ;
+  std::vector<Hex::Edge * > *arg1 = (std::vector<Hex::Edge * > *) 0 ;
+  bool result;
   void *argp1 = 0 ;
   int res1 = 0 ;
-  ptrdiff_t val2 ;
-  int ecode2 = 0 ;
   PyObject * obj0 = 0 ;
-  PyObject * obj1 = 0 ;
-  std::vector< Hex::Edge * >::value_type result;
   
-  if (!PyArg_ParseTuple(args,(char *)"OO:VectorEdges___getitem__",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Edge_p_std__allocatorT_Hex__Edge_p_t_t, 0 |  0 );
+  if (!PyArg_ParseTuple(args,(char *)"O:VectorEdges_empty",&obj0)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Edge_p_std__allocatorTHex__Edge_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorEdges___getitem__" "', argument " "1"" of type '" "std::vector< Hex::Edge * > *""'"); 
-  }
-  arg1 = reinterpret_cast< std::vector< Hex::Edge * > * >(argp1);
-  ecode2 = SWIG_AsVal_ptrdiff_t(obj1, &val2);
-  if (!SWIG_IsOK(ecode2)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorEdges___getitem__" "', argument " "2"" of type '" "std::vector< Hex::Edge * >::difference_type""'");
-  } 
-  arg2 = static_cast< std::vector< Hex::Edge * >::difference_type >(val2);
-  try {
-    result = (std::vector< Hex::Edge * >::value_type)std_vector_Sl_Hex_Edge_Sm__Sg____getitem____SWIG_1(arg1,arg2);
-  }
-  catch(std::out_of_range &_e) {
-    SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorEdges_empty" "', argument " "1"" of type '" "std::vector<Hex::Edge * > const *""'"); 
   }
-  
-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_std__vectorT_Hex__Edge_p_std__allocatorT_Hex__Edge_p_t_t__value_type, 0 |  0 );
+  arg1 = reinterpret_cast< std::vector<Hex::Edge * > * >(argp1);
+  result = (bool)((std::vector<Hex::Edge * > const *)arg1)->empty();
+  resultobj = SWIG_From_bool(static_cast< bool >(result));
   return resultobj;
 fail:
   return NULL;
 }
 
 
-SWIGINTERN PyObject *_wrap_VectorEdges___getitem__(PyObject *self, PyObject *args) {
-  int argc;
-  PyObject *argv[3];
-  int ii;
-  
-  if (!PyTuple_Check(args)) SWIG_fail;
-  argc = (int)PyObject_Length(args);
-  for (ii = 0; (ii < argc) && (ii < 2); ii++) {
-    argv[ii] = PyTuple_GET_ITEM(args,ii);
-  }
-  if (argc == 2) {
-    int _v;
-    int res = swig::asptr(argv[0], (std::vector<Hex::Edge*,std::allocator< Hex::Edge * > >**)(0));
-    _v = SWIG_CheckState(res);
-    if (_v) {
-      {
-        _v = PySlice_Check(argv[1]);
-      }
-      if (_v) {
-        return _wrap_VectorEdges___getitem____SWIG_0(self, args);
-      }
-    }
-  }
-  if (argc == 2) {
-    int _v;
-    int res = swig::asptr(argv[0], (std::vector<Hex::Edge*,std::allocator< Hex::Edge * > >**)(0));
-    _v = SWIG_CheckState(res);
-    if (_v) {
-      {
-        int res = SWIG_AsVal_ptrdiff_t(argv[1], NULL);
-        _v = SWIG_CheckState(res);
-      }
-      if (_v) {
-        return _wrap_VectorEdges___getitem____SWIG_1(self, args);
-      }
-    }
-  }
-  
-fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'VectorEdges___getitem__'.\n"
-    "  Possible C/C++ prototypes are:\n"
-    "    __getitem__(std::vector< Hex::Edge * > *,PySliceObject *)\n"
-    "    __getitem__(std::vector< Hex::Edge * > *,std::vector< Hex::Edge * >::difference_type)\n");
-  return NULL;
-}
-
-
-SWIGINTERN PyObject *_wrap_VectorEdges___setitem____SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_VectorEdges_size(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Edge * > *arg1 = (std::vector< Hex::Edge * > *) 0 ;
-  std::vector< Hex::Edge * >::difference_type arg2 ;
-  std::vector< Hex::Edge * >::value_type arg3 = (std::vector< Hex::Edge * >::value_type) 0 ;
+  std::vector<Hex::Edge * > *arg1 = (std::vector<Hex::Edge * > *) 0 ;
+  std::vector<Hex::Edge * >::size_type result;
   void *argp1 = 0 ;
   int res1 = 0 ;
-  ptrdiff_t val2 ;
-  int ecode2 = 0 ;
-  void *argp3 = 0 ;
-  int res3 = 0 ;
   PyObject * obj0 = 0 ;
-  PyObject * obj1 = 0 ;
-  PyObject * obj2 = 0 ;
   
-  if (!PyArg_ParseTuple(args,(char *)"OOO:VectorEdges___setitem__",&obj0,&obj1,&obj2)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Edge_p_std__allocatorT_Hex__Edge_p_t_t, 0 |  0 );
+  if (!PyArg_ParseTuple(args,(char *)"O:VectorEdges_size",&obj0)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Edge_p_std__allocatorTHex__Edge_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorEdges___setitem__" "', argument " "1"" of type '" "std::vector< Hex::Edge * > *""'"); 
-  }
-  arg1 = reinterpret_cast< std::vector< Hex::Edge * > * >(argp1);
-  ecode2 = SWIG_AsVal_ptrdiff_t(obj1, &val2);
-  if (!SWIG_IsOK(ecode2)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorEdges___setitem__" "', argument " "2"" of type '" "std::vector< Hex::Edge * >::difference_type""'");
-  } 
-  arg2 = static_cast< std::vector< Hex::Edge * >::difference_type >(val2);
-  res3 = SWIG_ConvertPtr(obj2, &argp3,SWIGTYPE_std__vectorT_Hex__Edge_p_std__allocatorT_Hex__Edge_p_t_t__value_type, 0 |  0 );
-  if (!SWIG_IsOK(res3)) {
-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "VectorEdges___setitem__" "', argument " "3"" of type '" "std::vector< Hex::Edge * >::value_type""'"); 
-  }
-  arg3 = reinterpret_cast< std::vector< Hex::Edge * >::value_type >(argp3);
-  try {
-    std_vector_Sl_Hex_Edge_Sm__Sg____setitem____SWIG_1(arg1,arg2,arg3);
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorEdges_size" "', argument " "1"" of type '" "std::vector<Hex::Edge * > const *""'"); 
   }
-  catch(std::out_of_range &_e) {
-    SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
-  }
-  
-  resultobj = SWIG_Py_Void();
+  arg1 = reinterpret_cast< std::vector<Hex::Edge * > * >(argp1);
+  result = ((std::vector<Hex::Edge * > const *)arg1)->size();
+  resultobj = SWIG_From_size_t(static_cast< size_t >(result));
   return resultobj;
 fail:
   return NULL;
 }
 
 
-SWIGINTERN PyObject *_wrap_VectorEdges___setitem__(PyObject *self, PyObject *args) {
-  int argc;
-  PyObject *argv[4];
-  int ii;
+SWIGINTERN PyObject *_wrap_VectorEdges_clear(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+  PyObject *resultobj = 0;
+  std::vector<Hex::Edge * > *arg1 = (std::vector<Hex::Edge * > *) 0 ;
+  void *argp1 = 0 ;
+  int res1 = 0 ;
+  PyObject * obj0 = 0 ;
   
-  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 == 3) {
-    int _v;
-    int res = swig::asptr(argv[0], (std::vector<Hex::Edge*,std::allocator< Hex::Edge * > >**)(0));
-    _v = SWIG_CheckState(res);
-    if (_v) {
-      {
-        _v = PySlice_Check(argv[1]);
-      }
-      if (_v) {
-        int res = swig::asptr(argv[2], (std::vector<Hex::Edge*,std::allocator< Hex::Edge * > >**)(0));
-        _v = SWIG_CheckState(res);
-        if (_v) {
-          return _wrap_VectorEdges___setitem____SWIG_0(self, args);
-        }
-      }
-    }
-  }
-  if (argc == 3) {
-    int _v;
-    int res = swig::asptr(argv[0], (std::vector<Hex::Edge*,std::allocator< Hex::Edge * > >**)(0));
-    _v = SWIG_CheckState(res);
-    if (_v) {
-      {
-        int res = SWIG_AsVal_ptrdiff_t(argv[1], NULL);
-        _v = SWIG_CheckState(res);
-      }
-      if (_v) {
-        void *vptr = 0;
-        int res = SWIG_ConvertPtr(argv[2], &vptr, SWIGTYPE_std__vectorT_Hex__Edge_p_std__allocatorT_Hex__Edge_p_t_t__value_type, 0);
-        _v = SWIG_CheckState(res);
-        if (_v) {
-          return _wrap_VectorEdges___setitem____SWIG_1(self, args);
-        }
-      }
-    }
+  if (!PyArg_ParseTuple(args,(char *)"O:VectorEdges_clear",&obj0)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Edge_p_std__allocatorTHex__Edge_p_t_t, 0 |  0 );
+  if (!SWIG_IsOK(res1)) {
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorEdges_clear" "', argument " "1"" of type '" "std::vector<Hex::Edge * > *""'"); 
   }
-  
+  arg1 = reinterpret_cast< std::vector<Hex::Edge * > * >(argp1);
+  (arg1)->clear();
+  resultobj = SWIG_Py_Void();
+  return resultobj;
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'VectorEdges___setitem__'.\n"
-    "  Possible C/C++ prototypes are:\n"
-    "    __setitem__(std::vector< Hex::Edge * > *,PySliceObject *,std::vector< Hex::Edge *,std::allocator< Hex::Edge * > > const &)\n"
-    "    __setitem__(std::vector< Hex::Edge * > *,std::vector< Hex::Edge * >::difference_type,std::vector< Hex::Edge * >::value_type)\n");
   return NULL;
 }
 
 
-SWIGINTERN PyObject *_wrap_VectorEdges_append(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_VectorEdges_swap(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Edge * > *arg1 = (std::vector< Hex::Edge * > *) 0 ;
-  std::vector< Hex::Edge * >::value_type arg2 = (std::vector< Hex::Edge * >::value_type) 0 ;
+  std::vector<Hex::Edge * > *arg1 = (std::vector<Hex::Edge * > *) 0 ;
+  std::vector<Hex::Edge * > *arg2 = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   void *argp2 = 0 ;
@@ -9897,18 +9095,21 @@ SWIGINTERN PyObject *_wrap_VectorEdges_append(PyObject *SWIGUNUSEDPARM(self), Py
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
   
-  if (!PyArg_ParseTuple(args,(char *)"OO:VectorEdges_append",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Edge_p_std__allocatorT_Hex__Edge_p_t_t, 0 |  0 );
+  if (!PyArg_ParseTuple(args,(char *)"OO:VectorEdges_swap",&obj0,&obj1)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Edge_p_std__allocatorTHex__Edge_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorEdges_append" "', argument " "1"" of type '" "std::vector< Hex::Edge * > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorEdges_swap" "', argument " "1"" of type '" "std::vector<Hex::Edge * > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::Edge * > * >(argp1);
-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_std__vectorT_Hex__Edge_p_std__allocatorT_Hex__Edge_p_t_t__value_type, 0 |  0 );
+  arg1 = reinterpret_cast< std::vector<Hex::Edge * > * >(argp1);
+  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_std__vectorTHex__Edge_p_std__allocatorTHex__Edge_p_t_t,  0 );
   if (!SWIG_IsOK(res2)) {
-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "VectorEdges_append" "', argument " "2"" of type '" "std::vector< Hex::Edge * >::value_type""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "VectorEdges_swap" "', argument " "2"" of type '" "std::vector<Hex::Edge * > &""'"); 
   }
-  arg2 = reinterpret_cast< std::vector< Hex::Edge * >::value_type >(argp2);
-  std_vector_Sl_Hex_Edge_Sm__Sg__append(arg1,arg2);
+  if (!argp2) {
+    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "VectorEdges_swap" "', argument " "2"" of type '" "std::vector<Hex::Edge * > &""'"); 
+  }
+  arg2 = reinterpret_cast< std::vector<Hex::Edge * > * >(argp2);
+  (arg1)->swap(*arg2);
   resultobj = SWIG_Py_Void();
   return resultobj;
 fail:
@@ -9916,276 +9117,360 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_new_VectorEdges__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_VectorEdges_get_allocator(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Edge * > *result = 0 ;
+  std::vector<Hex::Edge * > *arg1 = (std::vector<Hex::Edge * > *) 0 ;
+  SwigValueWrapper<std::allocator<Hex::Edge * > > result;
+  void *argp1 = 0 ;
+  int res1 = 0 ;
+  PyObject * obj0 = 0 ;
   
-  if (!PyArg_ParseTuple(args,(char *)":new_VectorEdges")) SWIG_fail;
-  result = (std::vector< Hex::Edge * > *)new std::vector< Hex::Edge * >();
-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_Hex__Edge_p_std__allocatorT_Hex__Edge_p_t_t, SWIG_POINTER_NEW |  0 );
+  if (!PyArg_ParseTuple(args,(char *)"O:VectorEdges_get_allocator",&obj0)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Edge_p_std__allocatorTHex__Edge_p_t_t, 0 |  0 );
+  if (!SWIG_IsOK(res1)) {
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorEdges_get_allocator" "', argument " "1"" of type '" "std::vector<Hex::Edge * > const *""'"); 
+  }
+  arg1 = reinterpret_cast< std::vector<Hex::Edge * > * >(argp1);
+  result = ((std::vector<Hex::Edge * > const *)arg1)->get_allocator();
+  resultobj = SWIG_NewPointerObj((new std::vector<Hex::Edge * >::allocator_type(static_cast< const std::vector<Hex::Edge * >::allocator_type& >(result))), SWIGTYPE_p_std__vectorTHex__Edge_p_std__allocatorTHex__Edge_p_t_t__allocator_type, SWIG_POINTER_OWN |  0 );
   return resultobj;
 fail:
   return NULL;
 }
 
 
-SWIGINTERN PyObject *_wrap_new_VectorEdges__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_VectorEdges_begin__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Edge * > *arg1 = 0 ;
-  int res1 = SWIG_OLDOBJ ;
+  std::vector<Hex::Edge * > *arg1 = (std::vector<Hex::Edge * > *) 0 ;
+  std::vector<Hex::Edge * >::iterator result;
+  void *argp1 = 0 ;
+  int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  std::vector< Hex::Edge * > *result = 0 ;
   
-  if (!PyArg_ParseTuple(args,(char *)"O:new_VectorEdges",&obj0)) SWIG_fail;
-  {
-    std::vector<Hex::Edge*,std::allocator< Hex::Edge * > > *ptr = (std::vector<Hex::Edge*,std::allocator< Hex::Edge * > > *)0;
-    res1 = swig::asptr(obj0, &ptr);
-    if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_VectorEdges" "', argument " "1"" of type '" "std::vector< Hex::Edge * > const &""'"); 
-    }
-    if (!ptr) {
-      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_VectorEdges" "', argument " "1"" of type '" "std::vector< Hex::Edge * > const &""'"); 
-    }
-    arg1 = ptr;
+  if (!PyArg_ParseTuple(args,(char *)"O:VectorEdges_begin",&obj0)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Edge_p_std__allocatorTHex__Edge_p_t_t, 0 |  0 );
+  if (!SWIG_IsOK(res1)) {
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorEdges_begin" "', argument " "1"" of type '" "std::vector<Hex::Edge * > *""'"); 
   }
-  result = (std::vector< Hex::Edge * > *)new std::vector< Hex::Edge * >((std::vector< Hex::Edge * > const &)*arg1);
-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_Hex__Edge_p_std__allocatorT_Hex__Edge_p_t_t, SWIG_POINTER_NEW |  0 );
-  if (SWIG_IsNewObj(res1)) delete arg1;
+  arg1 = reinterpret_cast< std::vector<Hex::Edge * > * >(argp1);
+  result = (arg1)->begin();
+  resultobj = SWIG_NewPointerObj(swig::make_output_iterator(static_cast< const std::vector<Hex::Edge * >::iterator & >(result)),
+    swig::PySwigIterator::descriptor(),SWIG_POINTER_OWN);
   return resultobj;
 fail:
-  if (SWIG_IsNewObj(res1)) delete arg1;
   return NULL;
 }
 
 
-SWIGINTERN PyObject *_wrap_VectorEdges_empty(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_VectorEdges_begin__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Edge * > *arg1 = (std::vector< Hex::Edge * > *) 0 ;
+  std::vector<Hex::Edge * > *arg1 = (std::vector<Hex::Edge * > *) 0 ;
+  std::vector<Hex::Edge * >::const_iterator result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  bool result;
   
-  if (!PyArg_ParseTuple(args,(char *)"O:VectorEdges_empty",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Edge_p_std__allocatorT_Hex__Edge_p_t_t, 0 |  0 );
+  if (!PyArg_ParseTuple(args,(char *)"O:VectorEdges_begin",&obj0)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Edge_p_std__allocatorTHex__Edge_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorEdges_empty" "', argument " "1"" of type '" "std::vector< Hex::Edge * > const *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorEdges_begin" "', argument " "1"" of type '" "std::vector<Hex::Edge * > const *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::Edge * > * >(argp1);
-  result = (bool)((std::vector< Hex::Edge * > const *)arg1)->empty();
-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+  arg1 = reinterpret_cast< std::vector<Hex::Edge * > * >(argp1);
+  result = ((std::vector<Hex::Edge * > const *)arg1)->begin();
+  resultobj = SWIG_NewPointerObj(swig::make_output_iterator(static_cast< const std::vector<Hex::Edge * >::const_iterator & >(result)),
+    swig::PySwigIterator::descriptor(),SWIG_POINTER_OWN);
   return resultobj;
 fail:
   return NULL;
 }
 
 
-SWIGINTERN PyObject *_wrap_VectorEdges_size(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_VectorEdges_begin(PyObject *self, PyObject *args) {
+  int argc;
+  PyObject *argv[2];
+  int ii;
+  
+  if (!PyTuple_Check(args)) SWIG_fail;
+  argc = PyObject_Length(args);
+  for (ii = 0; (ii < argc) && (ii < 1); ii++) {
+    argv[ii] = PyTuple_GET_ITEM(args,ii);
+  }
+  if (argc == 1) {
+    int _v;
+    int res = swig::asptr(argv[0], (std::vector<Hex::Edge*,std::allocator<Hex::Edge * > >**)(0));
+    _v = SWIG_CheckState(res);
+    if (_v) {
+      return _wrap_VectorEdges_begin__SWIG_0(self, args);
+    }
+  }
+  if (argc == 1) {
+    int _v;
+    int res = swig::asptr(argv[0], (std::vector<Hex::Edge*,std::allocator<Hex::Edge * > >**)(0));
+    _v = SWIG_CheckState(res);
+    if (_v) {
+      return _wrap_VectorEdges_begin__SWIG_1(self, args);
+    }
+  }
+  
+fail:
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'VectorEdges_begin'.\n  Possible C/C++ prototypes are:\n    begin()\n    begin()\n");
+  return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_VectorEdges_end__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Edge * > *arg1 = (std::vector< Hex::Edge * > *) 0 ;
+  std::vector<Hex::Edge * > *arg1 = (std::vector<Hex::Edge * > *) 0 ;
+  std::vector<Hex::Edge * >::iterator result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  std::vector< Hex::Edge * >::size_type result;
   
-  if (!PyArg_ParseTuple(args,(char *)"O:VectorEdges_size",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Edge_p_std__allocatorT_Hex__Edge_p_t_t, 0 |  0 );
+  if (!PyArg_ParseTuple(args,(char *)"O:VectorEdges_end",&obj0)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Edge_p_std__allocatorTHex__Edge_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorEdges_size" "', argument " "1"" of type '" "std::vector< Hex::Edge * > const *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorEdges_end" "', argument " "1"" of type '" "std::vector<Hex::Edge * > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::Edge * > * >(argp1);
-  result = ((std::vector< Hex::Edge * > const *)arg1)->size();
-  resultobj = SWIG_From_size_t(static_cast< size_t >(result));
+  arg1 = reinterpret_cast< std::vector<Hex::Edge * > * >(argp1);
+  result = (arg1)->end();
+  resultobj = SWIG_NewPointerObj(swig::make_output_iterator(static_cast< const std::vector<Hex::Edge * >::iterator & >(result)),
+    swig::PySwigIterator::descriptor(),SWIG_POINTER_OWN);
   return resultobj;
 fail:
   return NULL;
 }
 
 
-SWIGINTERN PyObject *_wrap_VectorEdges_clear(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_VectorEdges_end__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Edge * > *arg1 = (std::vector< Hex::Edge * > *) 0 ;
+  std::vector<Hex::Edge * > *arg1 = (std::vector<Hex::Edge * > *) 0 ;
+  std::vector<Hex::Edge * >::const_iterator result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
   
-  if (!PyArg_ParseTuple(args,(char *)"O:VectorEdges_clear",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Edge_p_std__allocatorT_Hex__Edge_p_t_t, 0 |  0 );
+  if (!PyArg_ParseTuple(args,(char *)"O:VectorEdges_end",&obj0)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Edge_p_std__allocatorTHex__Edge_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorEdges_clear" "', argument " "1"" of type '" "std::vector< Hex::Edge * > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorEdges_end" "', argument " "1"" of type '" "std::vector<Hex::Edge * > const *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::Edge * > * >(argp1);
-  (arg1)->clear();
-  resultobj = SWIG_Py_Void();
+  arg1 = reinterpret_cast< std::vector<Hex::Edge * > * >(argp1);
+  result = ((std::vector<Hex::Edge * > const *)arg1)->end();
+  resultobj = SWIG_NewPointerObj(swig::make_output_iterator(static_cast< const std::vector<Hex::Edge * >::const_iterator & >(result)),
+    swig::PySwigIterator::descriptor(),SWIG_POINTER_OWN);
   return resultobj;
 fail:
   return NULL;
 }
 
 
-SWIGINTERN PyObject *_wrap_VectorEdges_swap(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
-  PyObject *resultobj = 0;
-  std::vector< Hex::Edge * > *arg1 = (std::vector< Hex::Edge * > *) 0 ;
-  std::vector< Hex::Edge * > *arg2 = 0 ;
-  void *argp1 = 0 ;
-  int res1 = 0 ;
-  void *argp2 = 0 ;
-  int res2 = 0 ;
-  PyObject * obj0 = 0 ;
-  PyObject * obj1 = 0 ;
+SWIGINTERN PyObject *_wrap_VectorEdges_end(PyObject *self, PyObject *args) {
+  int argc;
+  PyObject *argv[2];
+  int ii;
   
-  if (!PyArg_ParseTuple(args,(char *)"OO:VectorEdges_swap",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Edge_p_std__allocatorT_Hex__Edge_p_t_t, 0 |  0 );
-  if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorEdges_swap" "', argument " "1"" of type '" "std::vector< Hex::Edge * > *""'"); 
+  if (!PyTuple_Check(args)) SWIG_fail;
+  argc = PyObject_Length(args);
+  for (ii = 0; (ii < argc) && (ii < 1); ii++) {
+    argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
-  arg1 = reinterpret_cast< std::vector< Hex::Edge * > * >(argp1);
-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_std__vectorT_Hex__Edge_p_std__allocatorT_Hex__Edge_p_t_t,  0 );
-  if (!SWIG_IsOK(res2)) {
-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "VectorEdges_swap" "', argument " "2"" of type '" "std::vector< Hex::Edge * > &""'"); 
+  if (argc == 1) {
+    int _v;
+    int res = swig::asptr(argv[0], (std::vector<Hex::Edge*,std::allocator<Hex::Edge * > >**)(0));
+    _v = SWIG_CheckState(res);
+    if (_v) {
+      return _wrap_VectorEdges_end__SWIG_0(self, args);
+    }
   }
-  if (!argp2) {
-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "VectorEdges_swap" "', argument " "2"" of type '" "std::vector< Hex::Edge * > &""'"); 
+  if (argc == 1) {
+    int _v;
+    int res = swig::asptr(argv[0], (std::vector<Hex::Edge*,std::allocator<Hex::Edge * > >**)(0));
+    _v = SWIG_CheckState(res);
+    if (_v) {
+      return _wrap_VectorEdges_end__SWIG_1(self, args);
+    }
   }
-  arg2 = reinterpret_cast< std::vector< Hex::Edge * > * >(argp2);
-  (arg1)->swap(*arg2);
-  resultobj = SWIG_Py_Void();
-  return resultobj;
+  
 fail:
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'VectorEdges_end'.\n  Possible C/C++ prototypes are:\n    end()\n    end()\n");
   return NULL;
 }
 
 
-SWIGINTERN PyObject *_wrap_VectorEdges_get_allocator(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_VectorEdges_rbegin__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Edge * > *arg1 = (std::vector< Hex::Edge * > *) 0 ;
+  std::vector<Hex::Edge * > *arg1 = (std::vector<Hex::Edge * > *) 0 ;
+  std::vector<Hex::Edge * >::reverse_iterator result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  SwigValueWrapper< std::allocator< Hex::Edge * > > result;
   
-  if (!PyArg_ParseTuple(args,(char *)"O:VectorEdges_get_allocator",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Edge_p_std__allocatorT_Hex__Edge_p_t_t, 0 |  0 );
+  if (!PyArg_ParseTuple(args,(char *)"O:VectorEdges_rbegin",&obj0)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Edge_p_std__allocatorTHex__Edge_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorEdges_get_allocator" "', argument " "1"" of type '" "std::vector< Hex::Edge * > const *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorEdges_rbegin" "', argument " "1"" of type '" "std::vector<Hex::Edge * > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::Edge * > * >(argp1);
-  result = ((std::vector< Hex::Edge * > const *)arg1)->get_allocator();
-  resultobj = SWIG_NewPointerObj((new std::vector< Hex::Edge * >::allocator_type(static_cast< const std::vector< Hex::Edge * >::allocator_type& >(result))), SWIGTYPE_p_std__vectorT_Hex__Edge_p_std__allocatorT_Hex__Edge_p_t_t__allocator_type, SWIG_POINTER_OWN |  0 );
+  arg1 = reinterpret_cast< std::vector<Hex::Edge * > * >(argp1);
+  result = (arg1)->rbegin();
+  resultobj = SWIG_NewPointerObj(swig::make_output_iterator(static_cast< const std::vector<Hex::Edge * >::reverse_iterator & >(result)),
+    swig::PySwigIterator::descriptor(),SWIG_POINTER_OWN);
   return resultobj;
 fail:
   return NULL;
 }
 
 
-SWIGINTERN PyObject *_wrap_VectorEdges_begin(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_VectorEdges_rbegin__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Edge * > *arg1 = (std::vector< Hex::Edge * > *) 0 ;
+  std::vector<Hex::Edge * > *arg1 = (std::vector<Hex::Edge * > *) 0 ;
+  std::vector<Hex::Edge * >::const_reverse_iterator result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  std::vector< Hex::Edge * >::const_iterator result;
   
-  if (!PyArg_ParseTuple(args,(char *)"O:VectorEdges_begin",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Edge_p_std__allocatorT_Hex__Edge_p_t_t, 0 |  0 );
+  if (!PyArg_ParseTuple(args,(char *)"O:VectorEdges_rbegin",&obj0)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Edge_p_std__allocatorTHex__Edge_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorEdges_begin" "', argument " "1"" of type '" "std::vector< Hex::Edge * > const *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorEdges_rbegin" "', argument " "1"" of type '" "std::vector<Hex::Edge * > const *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::Edge * > * >(argp1);
-  result = ((std::vector< Hex::Edge * > const *)arg1)->begin();
-  resultobj = SWIG_NewPointerObj(swig::make_output_iterator(static_cast< const std::vector< Hex::Edge * >::const_iterator & >(result)),
-    swig::SwigPyIterator::descriptor(),SWIG_POINTER_OWN);
+  arg1 = reinterpret_cast< std::vector<Hex::Edge * > * >(argp1);
+  result = ((std::vector<Hex::Edge * > const *)arg1)->rbegin();
+  resultobj = SWIG_NewPointerObj(swig::make_output_iterator(static_cast< const std::vector<Hex::Edge * >::const_reverse_iterator & >(result)),
+    swig::PySwigIterator::descriptor(),SWIG_POINTER_OWN);
   return resultobj;
 fail:
   return NULL;
 }
 
 
-SWIGINTERN PyObject *_wrap_VectorEdges_end(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
-  PyObject *resultobj = 0;
-  std::vector< Hex::Edge * > *arg1 = (std::vector< Hex::Edge * > *) 0 ;
-  void *argp1 = 0 ;
-  int res1 = 0 ;
-  PyObject * obj0 = 0 ;
-  std::vector< Hex::Edge * >::const_iterator result;
+SWIGINTERN PyObject *_wrap_VectorEdges_rbegin(PyObject *self, PyObject *args) {
+  int argc;
+  PyObject *argv[2];
+  int ii;
   
-  if (!PyArg_ParseTuple(args,(char *)"O:VectorEdges_end",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Edge_p_std__allocatorT_Hex__Edge_p_t_t, 0 |  0 );
-  if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorEdges_end" "', argument " "1"" of type '" "std::vector< Hex::Edge * > const *""'"); 
+  if (!PyTuple_Check(args)) SWIG_fail;
+  argc = PyObject_Length(args);
+  for (ii = 0; (ii < argc) && (ii < 1); ii++) {
+    argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
-  arg1 = reinterpret_cast< std::vector< Hex::Edge * > * >(argp1);
-  result = ((std::vector< Hex::Edge * > const *)arg1)->end();
-  resultobj = SWIG_NewPointerObj(swig::make_output_iterator(static_cast< const std::vector< Hex::Edge * >::const_iterator & >(result)),
-    swig::SwigPyIterator::descriptor(),SWIG_POINTER_OWN);
-  return resultobj;
+  if (argc == 1) {
+    int _v;
+    int res = swig::asptr(argv[0], (std::vector<Hex::Edge*,std::allocator<Hex::Edge * > >**)(0));
+    _v = SWIG_CheckState(res);
+    if (_v) {
+      return _wrap_VectorEdges_rbegin__SWIG_0(self, args);
+    }
+  }
+  if (argc == 1) {
+    int _v;
+    int res = swig::asptr(argv[0], (std::vector<Hex::Edge*,std::allocator<Hex::Edge * > >**)(0));
+    _v = SWIG_CheckState(res);
+    if (_v) {
+      return _wrap_VectorEdges_rbegin__SWIG_1(self, args);
+    }
+  }
+  
 fail:
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'VectorEdges_rbegin'.\n  Possible C/C++ prototypes are:\n    rbegin()\n    rbegin()\n");
   return NULL;
 }
 
 
-SWIGINTERN PyObject *_wrap_VectorEdges_rbegin(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_VectorEdges_rend__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Edge * > *arg1 = (std::vector< Hex::Edge * > *) 0 ;
+  std::vector<Hex::Edge * > *arg1 = (std::vector<Hex::Edge * > *) 0 ;
+  std::vector<Hex::Edge * >::reverse_iterator result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  std::vector< Hex::Edge * >::const_reverse_iterator result;
   
-  if (!PyArg_ParseTuple(args,(char *)"O:VectorEdges_rbegin",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Edge_p_std__allocatorT_Hex__Edge_p_t_t, 0 |  0 );
+  if (!PyArg_ParseTuple(args,(char *)"O:VectorEdges_rend",&obj0)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Edge_p_std__allocatorTHex__Edge_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorEdges_rbegin" "', argument " "1"" of type '" "std::vector< Hex::Edge * > const *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorEdges_rend" "', argument " "1"" of type '" "std::vector<Hex::Edge * > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::Edge * > * >(argp1);
-  result = ((std::vector< Hex::Edge * > const *)arg1)->rbegin();
-  resultobj = SWIG_NewPointerObj(swig::make_output_iterator(static_cast< const std::vector< Hex::Edge * >::const_reverse_iterator & >(result)),
-    swig::SwigPyIterator::descriptor(),SWIG_POINTER_OWN);
+  arg1 = reinterpret_cast< std::vector<Hex::Edge * > * >(argp1);
+  result = (arg1)->rend();
+  resultobj = SWIG_NewPointerObj(swig::make_output_iterator(static_cast< const std::vector<Hex::Edge * >::reverse_iterator & >(result)),
+    swig::PySwigIterator::descriptor(),SWIG_POINTER_OWN);
   return resultobj;
 fail:
   return NULL;
 }
 
 
-SWIGINTERN PyObject *_wrap_VectorEdges_rend(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_VectorEdges_rend__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Edge * > *arg1 = (std::vector< Hex::Edge * > *) 0 ;
+  std::vector<Hex::Edge * > *arg1 = (std::vector<Hex::Edge * > *) 0 ;
+  std::vector<Hex::Edge * >::const_reverse_iterator result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  std::vector< Hex::Edge * >::const_reverse_iterator result;
   
   if (!PyArg_ParseTuple(args,(char *)"O:VectorEdges_rend",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Edge_p_std__allocatorT_Hex__Edge_p_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Edge_p_std__allocatorTHex__Edge_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorEdges_rend" "', argument " "1"" of type '" "std::vector< Hex::Edge * > const *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorEdges_rend" "', argument " "1"" of type '" "std::vector<Hex::Edge * > const *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::Edge * > * >(argp1);
-  result = ((std::vector< Hex::Edge * > const *)arg1)->rend();
-  resultobj = SWIG_NewPointerObj(swig::make_output_iterator(static_cast< const std::vector< Hex::Edge * >::const_reverse_iterator & >(result)),
-    swig::SwigPyIterator::descriptor(),SWIG_POINTER_OWN);
+  arg1 = reinterpret_cast< std::vector<Hex::Edge * > * >(argp1);
+  result = ((std::vector<Hex::Edge * > const *)arg1)->rend();
+  resultobj = SWIG_NewPointerObj(swig::make_output_iterator(static_cast< const std::vector<Hex::Edge * >::const_reverse_iterator & >(result)),
+    swig::PySwigIterator::descriptor(),SWIG_POINTER_OWN);
   return resultobj;
 fail:
   return NULL;
 }
 
 
+SWIGINTERN PyObject *_wrap_VectorEdges_rend(PyObject *self, PyObject *args) {
+  int argc;
+  PyObject *argv[2];
+  int ii;
+  
+  if (!PyTuple_Check(args)) SWIG_fail;
+  argc = PyObject_Length(args);
+  for (ii = 0; (ii < argc) && (ii < 1); ii++) {
+    argv[ii] = PyTuple_GET_ITEM(args,ii);
+  }
+  if (argc == 1) {
+    int _v;
+    int res = swig::asptr(argv[0], (std::vector<Hex::Edge*,std::allocator<Hex::Edge * > >**)(0));
+    _v = SWIG_CheckState(res);
+    if (_v) {
+      return _wrap_VectorEdges_rend__SWIG_0(self, args);
+    }
+  }
+  if (argc == 1) {
+    int _v;
+    int res = swig::asptr(argv[0], (std::vector<Hex::Edge*,std::allocator<Hex::Edge * > >**)(0));
+    _v = SWIG_CheckState(res);
+    if (_v) {
+      return _wrap_VectorEdges_rend__SWIG_1(self, args);
+    }
+  }
+  
+fail:
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'VectorEdges_rend'.\n  Possible C/C++ prototypes are:\n    rend()\n    rend()\n");
+  return NULL;
+}
+
+
 SWIGINTERN PyObject *_wrap_new_VectorEdges__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Edge * >::size_type arg1 ;
+  std::vector<Hex::Edge * >::size_type arg1 ;
+  std::vector<Hex::Edge * > *result = 0 ;
   size_t val1 ;
   int ecode1 = 0 ;
   PyObject * obj0 = 0 ;
-  std::vector< Hex::Edge * > *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"O:new_VectorEdges",&obj0)) SWIG_fail;
   ecode1 = SWIG_AsVal_size_t(obj0, &val1);
   if (!SWIG_IsOK(ecode1)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_VectorEdges" "', argument " "1"" of type '" "std::vector< Hex::Edge * >::size_type""'");
+    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_VectorEdges" "', argument " "1"" of type '" "std::vector<Hex::Edge * >::size_type""'");
   } 
-  arg1 = static_cast< std::vector< Hex::Edge * >::size_type >(val1);
-  result = (std::vector< Hex::Edge * > *)new std::vector< Hex::Edge * >(arg1);
-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_Hex__Edge_p_std__allocatorT_Hex__Edge_p_t_t, SWIG_POINTER_NEW |  0 );
+  arg1 = static_cast< std::vector<Hex::Edge * >::size_type >(val1);
+  result = (std::vector<Hex::Edge * > *)new std::vector<Hex::Edge * >(arg1);
+  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorTHex__Edge_p_std__allocatorTHex__Edge_p_t_t, SWIG_POINTER_NEW |  0 );
   return resultobj;
 fail:
   return NULL;
@@ -10194,17 +9479,17 @@ fail:
 
 SWIGINTERN PyObject *_wrap_VectorEdges_pop_back(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Edge * > *arg1 = (std::vector< Hex::Edge * > *) 0 ;
+  std::vector<Hex::Edge * > *arg1 = (std::vector<Hex::Edge * > *) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"O:VectorEdges_pop_back",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Edge_p_std__allocatorT_Hex__Edge_p_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Edge_p_std__allocatorTHex__Edge_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorEdges_pop_back" "', argument " "1"" of type '" "std::vector< Hex::Edge * > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorEdges_pop_back" "', argument " "1"" of type '" "std::vector<Hex::Edge * > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::Edge * > * >(argp1);
+  arg1 = reinterpret_cast< std::vector<Hex::Edge * > * >(argp1);
   (arg1)->pop_back();
   resultobj = SWIG_Py_Void();
   return resultobj;
@@ -10215,8 +9500,8 @@ fail:
 
 SWIGINTERN PyObject *_wrap_VectorEdges_resize__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Edge * > *arg1 = (std::vector< Hex::Edge * > *) 0 ;
-  std::vector< Hex::Edge * >::size_type arg2 ;
+  std::vector<Hex::Edge * > *arg1 = (std::vector<Hex::Edge * > *) 0 ;
+  std::vector<Hex::Edge * >::size_type arg2 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   size_t val2 ;
@@ -10225,16 +9510,16 @@ SWIGINTERN PyObject *_wrap_VectorEdges_resize__SWIG_0(PyObject *SWIGUNUSEDPARM(s
   PyObject * obj1 = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OO:VectorEdges_resize",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Edge_p_std__allocatorT_Hex__Edge_p_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Edge_p_std__allocatorTHex__Edge_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorEdges_resize" "', argument " "1"" of type '" "std::vector< Hex::Edge * > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorEdges_resize" "', argument " "1"" of type '" "std::vector<Hex::Edge * > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::Edge * > * >(argp1);
+  arg1 = reinterpret_cast< std::vector<Hex::Edge * > * >(argp1);
   ecode2 = SWIG_AsVal_size_t(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorEdges_resize" "', argument " "2"" of type '" "std::vector< Hex::Edge * >::size_type""'");
+    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorEdges_resize" "', argument " "2"" of type '" "std::vector<Hex::Edge * >::size_type""'");
   } 
-  arg2 = static_cast< std::vector< Hex::Edge * >::size_type >(val2);
+  arg2 = static_cast< std::vector<Hex::Edge * >::size_type >(val2);
   (arg1)->resize(arg2);
   resultobj = SWIG_Py_Void();
   return resultobj;
@@ -10245,36 +9530,36 @@ fail:
 
 SWIGINTERN PyObject *_wrap_VectorEdges_erase__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Edge * > *arg1 = (std::vector< Hex::Edge * > *) 0 ;
-  std::vector< Hex::Edge * >::iterator arg2 ;
+  std::vector<Hex::Edge * > *arg1 = (std::vector<Hex::Edge * > *) 0 ;
+  std::vector<Hex::Edge * >::iterator arg2 ;
+  std::vector<Hex::Edge * >::iterator result;
   void *argp1 = 0 ;
   int res1 = 0 ;
-  swig::SwigPyIterator *iter2 = 0 ;
+  swig::PySwigIterator *iter2 = 0 ;
   int res2 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
-  std::vector< Hex::Edge * >::iterator result;
   
   if (!PyArg_ParseTuple(args,(char *)"OO:VectorEdges_erase",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Edge_p_std__allocatorT_Hex__Edge_p_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Edge_p_std__allocatorTHex__Edge_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorEdges_erase" "', argument " "1"" of type '" "std::vector< Hex::Edge * > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorEdges_erase" "', argument " "1"" of type '" "std::vector<Hex::Edge * > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::Edge * > * >(argp1);
-  res2 = SWIG_ConvertPtr(obj1, SWIG_as_voidptrptr(&iter2), swig::SwigPyIterator::descriptor(), 0);
+  arg1 = reinterpret_cast< std::vector<Hex::Edge * > * >(argp1);
+  res2 = SWIG_ConvertPtr(obj1, SWIG_as_voidptrptr(&iter2), swig::PySwigIterator::descriptor(), 0);
   if (!SWIG_IsOK(res2) || !iter2) {
-    SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "VectorEdges_erase" "', argument " "2"" of type '" "std::vector< Hex::Edge * >::iterator""'");
+    SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "VectorEdges_erase" "', argument " "2"" of type '" "std::vector<Hex::Edge * >::iterator""'");
   } else {
-    swig::SwigPyIterator_T<std::vector< Hex::Edge * >::iterator > *iter_t = dynamic_cast<swig::SwigPyIterator_T<std::vector< Hex::Edge * >::iterator > *>(iter2);
+    swig::PySwigIterator_T<std::vector<Hex::Edge * >::iterator > *iter_t = dynamic_cast<swig::PySwigIterator_T<std::vector<Hex::Edge * >::iterator > *>(iter2);
     if (iter_t) {
       arg2 = iter_t->get_current();
     } else {
-      SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "VectorEdges_erase" "', argument " "2"" of type '" "std::vector< Hex::Edge * >::iterator""'");
+      SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "VectorEdges_erase" "', argument " "2"" of type '" "std::vector<Hex::Edge * >::iterator""'");
     }
   }
   result = (arg1)->erase(arg2);
-  resultobj = SWIG_NewPointerObj(swig::make_output_iterator(static_cast< const std::vector< Hex::Edge * >::iterator & >(result)),
-    swig::SwigPyIterator::descriptor(),SWIG_POINTER_OWN);
+  resultobj = SWIG_NewPointerObj(swig::make_output_iterator(static_cast< const std::vector<Hex::Edge * >::iterator & >(result)),
+    swig::PySwigIterator::descriptor(),SWIG_POINTER_OWN);
   return resultobj;
 fail:
   return NULL;
@@ -10283,51 +9568,51 @@ fail:
 
 SWIGINTERN PyObject *_wrap_VectorEdges_erase__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Edge * > *arg1 = (std::vector< Hex::Edge * > *) 0 ;
-  std::vector< Hex::Edge * >::iterator arg2 ;
-  std::vector< Hex::Edge * >::iterator arg3 ;
+  std::vector<Hex::Edge * > *arg1 = (std::vector<Hex::Edge * > *) 0 ;
+  std::vector<Hex::Edge * >::iterator arg2 ;
+  std::vector<Hex::Edge * >::iterator arg3 ;
+  std::vector<Hex::Edge * >::iterator result;
   void *argp1 = 0 ;
   int res1 = 0 ;
-  swig::SwigPyIterator *iter2 = 0 ;
+  swig::PySwigIterator *iter2 = 0 ;
   int res2 ;
-  swig::SwigPyIterator *iter3 = 0 ;
+  swig::PySwigIterator *iter3 = 0 ;
   int res3 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
   PyObject * obj2 = 0 ;
-  std::vector< Hex::Edge * >::iterator result;
   
   if (!PyArg_ParseTuple(args,(char *)"OOO:VectorEdges_erase",&obj0,&obj1,&obj2)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Edge_p_std__allocatorT_Hex__Edge_p_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Edge_p_std__allocatorTHex__Edge_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorEdges_erase" "', argument " "1"" of type '" "std::vector< Hex::Edge * > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorEdges_erase" "', argument " "1"" of type '" "std::vector<Hex::Edge * > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::Edge * > * >(argp1);
-  res2 = SWIG_ConvertPtr(obj1, SWIG_as_voidptrptr(&iter2), swig::SwigPyIterator::descriptor(), 0);
+  arg1 = reinterpret_cast< std::vector<Hex::Edge * > * >(argp1);
+  res2 = SWIG_ConvertPtr(obj1, SWIG_as_voidptrptr(&iter2), swig::PySwigIterator::descriptor(), 0);
   if (!SWIG_IsOK(res2) || !iter2) {
-    SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "VectorEdges_erase" "', argument " "2"" of type '" "std::vector< Hex::Edge * >::iterator""'");
+    SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "VectorEdges_erase" "', argument " "2"" of type '" "std::vector<Hex::Edge * >::iterator""'");
   } else {
-    swig::SwigPyIterator_T<std::vector< Hex::Edge * >::iterator > *iter_t = dynamic_cast<swig::SwigPyIterator_T<std::vector< Hex::Edge * >::iterator > *>(iter2);
+    swig::PySwigIterator_T<std::vector<Hex::Edge * >::iterator > *iter_t = dynamic_cast<swig::PySwigIterator_T<std::vector<Hex::Edge * >::iterator > *>(iter2);
     if (iter_t) {
       arg2 = iter_t->get_current();
     } else {
-      SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "VectorEdges_erase" "', argument " "2"" of type '" "std::vector< Hex::Edge * >::iterator""'");
+      SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "VectorEdges_erase" "', argument " "2"" of type '" "std::vector<Hex::Edge * >::iterator""'");
     }
   }
-  res3 = SWIG_ConvertPtr(obj2, SWIG_as_voidptrptr(&iter3), swig::SwigPyIterator::descriptor(), 0);
+  res3 = SWIG_ConvertPtr(obj2, SWIG_as_voidptrptr(&iter3), swig::PySwigIterator::descriptor(), 0);
   if (!SWIG_IsOK(res3) || !iter3) {
-    SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "VectorEdges_erase" "', argument " "3"" of type '" "std::vector< Hex::Edge * >::iterator""'");
+    SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "VectorEdges_erase" "', argument " "3"" of type '" "std::vector<Hex::Edge * >::iterator""'");
   } else {
-    swig::SwigPyIterator_T<std::vector< Hex::Edge * >::iterator > *iter_t = dynamic_cast<swig::SwigPyIterator_T<std::vector< Hex::Edge * >::iterator > *>(iter3);
+    swig::PySwigIterator_T<std::vector<Hex::Edge * >::iterator > *iter_t = dynamic_cast<swig::PySwigIterator_T<std::vector<Hex::Edge * >::iterator > *>(iter3);
     if (iter_t) {
       arg3 = iter_t->get_current();
     } else {
-      SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "VectorEdges_erase" "', argument " "3"" of type '" "std::vector< Hex::Edge * >::iterator""'");
+      SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "VectorEdges_erase" "', argument " "3"" of type '" "std::vector<Hex::Edge * >::iterator""'");
     }
   }
   result = (arg1)->erase(arg2,arg3);
-  resultobj = SWIG_NewPointerObj(swig::make_output_iterator(static_cast< const std::vector< Hex::Edge * >::iterator & >(result)),
-    swig::SwigPyIterator::descriptor(),SWIG_POINTER_OWN);
+  resultobj = SWIG_NewPointerObj(swig::make_output_iterator(static_cast< const std::vector<Hex::Edge * >::iterator & >(result)),
+    swig::PySwigIterator::descriptor(),SWIG_POINTER_OWN);
   return resultobj;
 fail:
   return NULL;
@@ -10340,18 +9625,18 @@ SWIGINTERN PyObject *_wrap_VectorEdges_erase(PyObject *self, PyObject *args) {
   int ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = (int)PyObject_Length(args);
+  argc = PyObject_Length(args);
   for (ii = 0; (ii < argc) && (ii < 3); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
   if (argc == 2) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<Hex::Edge*,std::allocator< Hex::Edge * > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector<Hex::Edge*,std::allocator<Hex::Edge * > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
-      swig::SwigPyIterator *iter = 0;
-      int res = SWIG_ConvertPtr(argv[1], SWIG_as_voidptrptr(&iter), swig::SwigPyIterator::descriptor(), 0);
-      _v = (SWIG_IsOK(res) && iter && (dynamic_cast<swig::SwigPyIterator_T<std::vector< Hex::Edge * >::iterator > *>(iter) != 0));
+      swig::PySwigIterator *iter = 0;
+      int res = SWIG_ConvertPtr(argv[1], SWIG_as_voidptrptr(&iter), swig::PySwigIterator::descriptor(), 0);
+      _v = (SWIG_IsOK(res) && iter && (dynamic_cast<swig::PySwigIterator_T<std::vector<Hex::Edge * >::iterator > *>(iter) != 0));
       if (_v) {
         return _wrap_VectorEdges_erase__SWIG_0(self, args);
       }
@@ -10359,16 +9644,16 @@ SWIGINTERN PyObject *_wrap_VectorEdges_erase(PyObject *self, PyObject *args) {
   }
   if (argc == 3) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<Hex::Edge*,std::allocator< Hex::Edge * > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector<Hex::Edge*,std::allocator<Hex::Edge * > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
-      swig::SwigPyIterator *iter = 0;
-      int res = SWIG_ConvertPtr(argv[1], SWIG_as_voidptrptr(&iter), swig::SwigPyIterator::descriptor(), 0);
-      _v = (SWIG_IsOK(res) && iter && (dynamic_cast<swig::SwigPyIterator_T<std::vector< Hex::Edge * >::iterator > *>(iter) != 0));
+      swig::PySwigIterator *iter = 0;
+      int res = SWIG_ConvertPtr(argv[1], SWIG_as_voidptrptr(&iter), swig::PySwigIterator::descriptor(), 0);
+      _v = (SWIG_IsOK(res) && iter && (dynamic_cast<swig::PySwigIterator_T<std::vector<Hex::Edge * >::iterator > *>(iter) != 0));
       if (_v) {
-        swig::SwigPyIterator *iter = 0;
-        int res = SWIG_ConvertPtr(argv[2], SWIG_as_voidptrptr(&iter), swig::SwigPyIterator::descriptor(), 0);
-        _v = (SWIG_IsOK(res) && iter && (dynamic_cast<swig::SwigPyIterator_T<std::vector< Hex::Edge * >::iterator > *>(iter) != 0));
+        swig::PySwigIterator *iter = 0;
+        int res = SWIG_ConvertPtr(argv[2], SWIG_as_voidptrptr(&iter), swig::PySwigIterator::descriptor(), 0);
+        _v = (SWIG_IsOK(res) && iter && (dynamic_cast<swig::PySwigIterator_T<std::vector<Hex::Edge * >::iterator > *>(iter) != 0));
         if (_v) {
           return _wrap_VectorEdges_erase__SWIG_1(self, args);
         }
@@ -10377,39 +9662,36 @@ SWIGINTERN PyObject *_wrap_VectorEdges_erase(PyObject *self, PyObject *args) {
   }
   
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'VectorEdges_erase'.\n"
-    "  Possible C/C++ prototypes are:\n"
-    "    erase(std::vector< Hex::Edge * > *,std::vector< Hex::Edge * >::iterator)\n"
-    "    erase(std::vector< Hex::Edge * > *,std::vector< Hex::Edge * >::iterator,std::vector< Hex::Edge * >::iterator)\n");
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'VectorEdges_erase'.\n  Possible C/C++ prototypes are:\n    erase(std::vector<Hex::Edge * >::iterator)\n    erase(std::vector<Hex::Edge * >::iterator,std::vector<Hex::Edge * >::iterator)\n");
   return NULL;
 }
 
 
 SWIGINTERN PyObject *_wrap_new_VectorEdges__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Edge * >::size_type arg1 ;
-  std::vector< Hex::Edge * >::value_type arg2 = (std::vector< Hex::Edge * >::value_type) 0 ;
+  std::vector<Hex::Edge * >::size_type arg1 ;
+  std::vector<Hex::Edge * >::value_type arg2 = (std::vector<Hex::Edge * >::value_type) 0 ;
+  std::vector<Hex::Edge * > *result = 0 ;
   size_t val1 ;
   int ecode1 = 0 ;
   void *argp2 = 0 ;
   int res2 = 0 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
-  std::vector< Hex::Edge * > *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OO:new_VectorEdges",&obj0,&obj1)) SWIG_fail;
   ecode1 = SWIG_AsVal_size_t(obj0, &val1);
   if (!SWIG_IsOK(ecode1)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_VectorEdges" "', argument " "1"" of type '" "std::vector< Hex::Edge * >::size_type""'");
+    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_VectorEdges" "', argument " "1"" of type '" "std::vector<Hex::Edge * >::size_type""'");
   } 
-  arg1 = static_cast< std::vector< Hex::Edge * >::size_type >(val1);
-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_std__vectorT_Hex__Edge_p_std__allocatorT_Hex__Edge_p_t_t__value_type, 0 |  0 );
+  arg1 = static_cast< std::vector<Hex::Edge * >::size_type >(val1);
+  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_std__vectorTHex__Edge_p_std__allocatorTHex__Edge_p_t_t__value_type, 0 |  0 );
   if (!SWIG_IsOK(res2)) {
-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "new_VectorEdges" "', argument " "2"" of type '" "std::vector< Hex::Edge * >::value_type""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "new_VectorEdges" "', argument " "2"" of type '" "std::vector<Hex::Edge * >::value_type""'"); 
   }
-  arg2 = reinterpret_cast< std::vector< Hex::Edge * >::value_type >(argp2);
-  result = (std::vector< Hex::Edge * > *)new std::vector< Hex::Edge * >(arg1,arg2);
-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_Hex__Edge_p_std__allocatorT_Hex__Edge_p_t_t, SWIG_POINTER_NEW |  0 );
+  arg2 = reinterpret_cast< std::vector<Hex::Edge * >::value_type >(argp2);
+  result = (std::vector<Hex::Edge * > *)new std::vector<Hex::Edge * >(arg1,arg2);
+  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorTHex__Edge_p_std__allocatorTHex__Edge_p_t_t, SWIG_POINTER_NEW |  0 );
   return resultobj;
 fail:
   return NULL;
@@ -10422,7 +9704,7 @@ SWIGINTERN PyObject *_wrap_new_VectorEdges(PyObject *self, PyObject *args) {
   int ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = (int)PyObject_Length(args);
+  argc = PyObject_Length(args);
   for (ii = 0; (ii < argc) && (ii < 2); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -10441,7 +9723,7 @@ SWIGINTERN PyObject *_wrap_new_VectorEdges(PyObject *self, PyObject *args) {
   }
   if (argc == 1) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<Hex::Edge*,std::allocator< Hex::Edge * > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector<Hex::Edge*,std::allocator<Hex::Edge * > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       return _wrap_new_VectorEdges__SWIG_1(self, args);
@@ -10455,7 +9737,7 @@ SWIGINTERN PyObject *_wrap_new_VectorEdges(PyObject *self, PyObject *args) {
     }
     if (_v) {
       void *vptr = 0;
-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_std__vectorT_Hex__Edge_p_std__allocatorT_Hex__Edge_p_t_t__value_type, 0);
+      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_std__vectorTHex__Edge_p_std__allocatorTHex__Edge_p_t_t__value_type, 0);
       _v = SWIG_CheckState(res);
       if (_v) {
         return _wrap_new_VectorEdges__SWIG_3(self, args);
@@ -10464,20 +9746,15 @@ SWIGINTERN PyObject *_wrap_new_VectorEdges(PyObject *self, PyObject *args) {
   }
   
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'new_VectorEdges'.\n"
-    "  Possible C/C++ prototypes are:\n"
-    "    std::vector< Hex::Edge * >()\n"
-    "    std::vector< Hex::Edge * >(std::vector< Hex::Edge * > const &)\n"
-    "    std::vector< Hex::Edge * >(std::vector< Hex::Edge * >::size_type)\n"
-    "    std::vector< Hex::Edge * >(std::vector< Hex::Edge * >::size_type,std::vector< Hex::Edge * >::value_type)\n");
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'new_VectorEdges'.\n  Possible C/C++ prototypes are:\n    std::vector<(p.Hex::Edge)>()\n    std::vector<(p.Hex::Edge)>(std::vector<Hex::Edge * > const &)\n    std::vector<(p.Hex::Edge)>(std::vector<Hex::Edge * >::size_type)\n    std::vector<(p.Hex::Edge)>(std::vector<Hex::Edge * >::size_type,std::vector<Hex::Edge * >::value_type)\n");
   return NULL;
 }
 
 
 SWIGINTERN PyObject *_wrap_VectorEdges_push_back(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Edge * > *arg1 = (std::vector< Hex::Edge * > *) 0 ;
-  std::vector< Hex::Edge * >::value_type arg2 = (std::vector< Hex::Edge * >::value_type) 0 ;
+  std::vector<Hex::Edge * > *arg1 = (std::vector<Hex::Edge * > *) 0 ;
+  std::vector<Hex::Edge * >::value_type arg2 = (std::vector<Hex::Edge * >::value_type) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   void *argp2 = 0 ;
@@ -10486,16 +9763,16 @@ SWIGINTERN PyObject *_wrap_VectorEdges_push_back(PyObject *SWIGUNUSEDPARM(self),
   PyObject * obj1 = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OO:VectorEdges_push_back",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Edge_p_std__allocatorT_Hex__Edge_p_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Edge_p_std__allocatorTHex__Edge_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorEdges_push_back" "', argument " "1"" of type '" "std::vector< Hex::Edge * > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorEdges_push_back" "', argument " "1"" of type '" "std::vector<Hex::Edge * > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::Edge * > * >(argp1);
-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_std__vectorT_Hex__Edge_p_std__allocatorT_Hex__Edge_p_t_t__value_type, 0 |  0 );
+  arg1 = reinterpret_cast< std::vector<Hex::Edge * > * >(argp1);
+  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_std__vectorTHex__Edge_p_std__allocatorTHex__Edge_p_t_t__value_type, 0 |  0 );
   if (!SWIG_IsOK(res2)) {
-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "VectorEdges_push_back" "', argument " "2"" of type '" "std::vector< Hex::Edge * >::value_type""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "VectorEdges_push_back" "', argument " "2"" of type '" "std::vector<Hex::Edge * >::value_type""'"); 
   }
-  arg2 = reinterpret_cast< std::vector< Hex::Edge * >::value_type >(argp2);
+  arg2 = reinterpret_cast< std::vector<Hex::Edge * >::value_type >(argp2);
   (arg1)->push_back(arg2);
   resultobj = SWIG_Py_Void();
   return resultobj;
@@ -10506,20 +9783,20 @@ fail:
 
 SWIGINTERN PyObject *_wrap_VectorEdges_front(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Edge * > *arg1 = (std::vector< Hex::Edge * > *) 0 ;
+  std::vector<Hex::Edge * > *arg1 = (std::vector<Hex::Edge * > *) 0 ;
+  std::vector<Hex::Edge * >::value_type result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  std::vector< Hex::Edge * >::value_type result;
   
   if (!PyArg_ParseTuple(args,(char *)"O:VectorEdges_front",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Edge_p_std__allocatorT_Hex__Edge_p_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Edge_p_std__allocatorTHex__Edge_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorEdges_front" "', argument " "1"" of type '" "std::vector< Hex::Edge * > const *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorEdges_front" "', argument " "1"" of type '" "std::vector<Hex::Edge * > const *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::Edge * > * >(argp1);
-  result = (std::vector< Hex::Edge * >::value_type)((std::vector< Hex::Edge * > const *)arg1)->front();
-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_std__vectorT_Hex__Edge_p_std__allocatorT_Hex__Edge_p_t_t__value_type, 0 |  0 );
+  arg1 = reinterpret_cast< std::vector<Hex::Edge * > * >(argp1);
+  result = (std::vector<Hex::Edge * >::value_type)((std::vector<Hex::Edge * > const *)arg1)->front();
+  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_std__vectorTHex__Edge_p_std__allocatorTHex__Edge_p_t_t__value_type, 0 |  0 );
   return resultobj;
 fail:
   return NULL;
@@ -10528,20 +9805,20 @@ fail:
 
 SWIGINTERN PyObject *_wrap_VectorEdges_back(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Edge * > *arg1 = (std::vector< Hex::Edge * > *) 0 ;
+  std::vector<Hex::Edge * > *arg1 = (std::vector<Hex::Edge * > *) 0 ;
+  std::vector<Hex::Edge * >::value_type result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  std::vector< Hex::Edge * >::value_type result;
   
   if (!PyArg_ParseTuple(args,(char *)"O:VectorEdges_back",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Edge_p_std__allocatorT_Hex__Edge_p_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Edge_p_std__allocatorTHex__Edge_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorEdges_back" "', argument " "1"" of type '" "std::vector< Hex::Edge * > const *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorEdges_back" "', argument " "1"" of type '" "std::vector<Hex::Edge * > const *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::Edge * > * >(argp1);
-  result = (std::vector< Hex::Edge * >::value_type)((std::vector< Hex::Edge * > const *)arg1)->back();
-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_std__vectorT_Hex__Edge_p_std__allocatorT_Hex__Edge_p_t_t__value_type, 0 |  0 );
+  arg1 = reinterpret_cast< std::vector<Hex::Edge * > * >(argp1);
+  result = (std::vector<Hex::Edge * >::value_type)((std::vector<Hex::Edge * > const *)arg1)->back();
+  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_std__vectorTHex__Edge_p_std__allocatorTHex__Edge_p_t_t__value_type, 0 |  0 );
   return resultobj;
 fail:
   return NULL;
@@ -10550,9 +9827,9 @@ fail:
 
 SWIGINTERN PyObject *_wrap_VectorEdges_assign(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Edge * > *arg1 = (std::vector< Hex::Edge * > *) 0 ;
-  std::vector< Hex::Edge * >::size_type arg2 ;
-  std::vector< Hex::Edge * >::value_type arg3 = (std::vector< Hex::Edge * >::value_type) 0 ;
+  std::vector<Hex::Edge * > *arg1 = (std::vector<Hex::Edge * > *) 0 ;
+  std::vector<Hex::Edge * >::size_type arg2 ;
+  std::vector<Hex::Edge * >::value_type arg3 = (std::vector<Hex::Edge * >::value_type) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   size_t val2 ;
@@ -10564,21 +9841,21 @@ SWIGINTERN PyObject *_wrap_VectorEdges_assign(PyObject *SWIGUNUSEDPARM(self), Py
   PyObject * obj2 = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOO:VectorEdges_assign",&obj0,&obj1,&obj2)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Edge_p_std__allocatorT_Hex__Edge_p_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Edge_p_std__allocatorTHex__Edge_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorEdges_assign" "', argument " "1"" of type '" "std::vector< Hex::Edge * > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorEdges_assign" "', argument " "1"" of type '" "std::vector<Hex::Edge * > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::Edge * > * >(argp1);
+  arg1 = reinterpret_cast< std::vector<Hex::Edge * > * >(argp1);
   ecode2 = SWIG_AsVal_size_t(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorEdges_assign" "', argument " "2"" of type '" "std::vector< Hex::Edge * >::size_type""'");
+    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorEdges_assign" "', argument " "2"" of type '" "std::vector<Hex::Edge * >::size_type""'");
   } 
-  arg2 = static_cast< std::vector< Hex::Edge * >::size_type >(val2);
-  res3 = SWIG_ConvertPtr(obj2, &argp3,SWIGTYPE_std__vectorT_Hex__Edge_p_std__allocatorT_Hex__Edge_p_t_t__value_type, 0 |  0 );
+  arg2 = static_cast< std::vector<Hex::Edge * >::size_type >(val2);
+  res3 = SWIG_ConvertPtr(obj2, &argp3,SWIGTYPE_std__vectorTHex__Edge_p_std__allocatorTHex__Edge_p_t_t__value_type, 0 |  0 );
   if (!SWIG_IsOK(res3)) {
-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "VectorEdges_assign" "', argument " "3"" of type '" "std::vector< Hex::Edge * >::value_type""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "VectorEdges_assign" "', argument " "3"" of type '" "std::vector<Hex::Edge * >::value_type""'"); 
   }
-  arg3 = reinterpret_cast< std::vector< Hex::Edge * >::value_type >(argp3);
+  arg3 = reinterpret_cast< std::vector<Hex::Edge * >::value_type >(argp3);
   (arg1)->assign(arg2,arg3);
   resultobj = SWIG_Py_Void();
   return resultobj;
@@ -10589,9 +9866,9 @@ fail:
 
 SWIGINTERN PyObject *_wrap_VectorEdges_resize__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Edge * > *arg1 = (std::vector< Hex::Edge * > *) 0 ;
-  std::vector< Hex::Edge * >::size_type arg2 ;
-  std::vector< Hex::Edge * >::value_type arg3 = (std::vector< Hex::Edge * >::value_type) 0 ;
+  std::vector<Hex::Edge * > *arg1 = (std::vector<Hex::Edge * > *) 0 ;
+  std::vector<Hex::Edge * >::size_type arg2 ;
+  std::vector<Hex::Edge * >::value_type arg3 = (std::vector<Hex::Edge * >::value_type) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   size_t val2 ;
@@ -10603,21 +9880,21 @@ SWIGINTERN PyObject *_wrap_VectorEdges_resize__SWIG_1(PyObject *SWIGUNUSEDPARM(s
   PyObject * obj2 = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOO:VectorEdges_resize",&obj0,&obj1,&obj2)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Edge_p_std__allocatorT_Hex__Edge_p_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Edge_p_std__allocatorTHex__Edge_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorEdges_resize" "', argument " "1"" of type '" "std::vector< Hex::Edge * > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorEdges_resize" "', argument " "1"" of type '" "std::vector<Hex::Edge * > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::Edge * > * >(argp1);
+  arg1 = reinterpret_cast< std::vector<Hex::Edge * > * >(argp1);
   ecode2 = SWIG_AsVal_size_t(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorEdges_resize" "', argument " "2"" of type '" "std::vector< Hex::Edge * >::size_type""'");
+    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorEdges_resize" "', argument " "2"" of type '" "std::vector<Hex::Edge * >::size_type""'");
   } 
-  arg2 = static_cast< std::vector< Hex::Edge * >::size_type >(val2);
-  res3 = SWIG_ConvertPtr(obj2, &argp3,SWIGTYPE_std__vectorT_Hex__Edge_p_std__allocatorT_Hex__Edge_p_t_t__value_type, 0 |  0 );
+  arg2 = static_cast< std::vector<Hex::Edge * >::size_type >(val2);
+  res3 = SWIG_ConvertPtr(obj2, &argp3,SWIGTYPE_std__vectorTHex__Edge_p_std__allocatorTHex__Edge_p_t_t__value_type, 0 |  0 );
   if (!SWIG_IsOK(res3)) {
-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "VectorEdges_resize" "', argument " "3"" of type '" "std::vector< Hex::Edge * >::value_type""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "VectorEdges_resize" "', argument " "3"" of type '" "std::vector<Hex::Edge * >::value_type""'"); 
   }
-  arg3 = reinterpret_cast< std::vector< Hex::Edge * >::value_type >(argp3);
+  arg3 = reinterpret_cast< std::vector<Hex::Edge * >::value_type >(argp3);
   (arg1)->resize(arg2,arg3);
   resultobj = SWIG_Py_Void();
   return resultobj;
@@ -10632,13 +9909,13 @@ SWIGINTERN PyObject *_wrap_VectorEdges_resize(PyObject *self, PyObject *args) {
   int ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = (int)PyObject_Length(args);
+  argc = PyObject_Length(args);
   for (ii = 0; (ii < argc) && (ii < 3); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
   if (argc == 2) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<Hex::Edge*,std::allocator< Hex::Edge * > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector<Hex::Edge*,std::allocator<Hex::Edge * > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -10652,7 +9929,7 @@ SWIGINTERN PyObject *_wrap_VectorEdges_resize(PyObject *self, PyObject *args) {
   }
   if (argc == 3) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<Hex::Edge*,std::allocator< Hex::Edge * > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector<Hex::Edge*,std::allocator<Hex::Edge * > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -10661,7 +9938,7 @@ SWIGINTERN PyObject *_wrap_VectorEdges_resize(PyObject *self, PyObject *args) {
       }
       if (_v) {
         void *vptr = 0;
-        int res = SWIG_ConvertPtr(argv[2], &vptr, SWIGTYPE_std__vectorT_Hex__Edge_p_std__allocatorT_Hex__Edge_p_t_t__value_type, 0);
+        int res = SWIG_ConvertPtr(argv[2], &vptr, SWIGTYPE_std__vectorTHex__Edge_p_std__allocatorTHex__Edge_p_t_t__value_type, 0);
         _v = SWIG_CheckState(res);
         if (_v) {
           return _wrap_VectorEdges_resize__SWIG_1(self, args);
@@ -10671,55 +9948,52 @@ SWIGINTERN PyObject *_wrap_VectorEdges_resize(PyObject *self, PyObject *args) {
   }
   
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'VectorEdges_resize'.\n"
-    "  Possible C/C++ prototypes are:\n"
-    "    resize(std::vector< Hex::Edge * > *,std::vector< Hex::Edge * >::size_type)\n"
-    "    resize(std::vector< Hex::Edge * > *,std::vector< Hex::Edge * >::size_type,std::vector< Hex::Edge * >::value_type)\n");
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'VectorEdges_resize'.\n  Possible C/C++ prototypes are:\n    resize(std::vector<Hex::Edge * >::size_type)\n    resize(std::vector<Hex::Edge * >::size_type,std::vector<Hex::Edge * >::value_type)\n");
   return NULL;
 }
 
 
 SWIGINTERN PyObject *_wrap_VectorEdges_insert__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Edge * > *arg1 = (std::vector< Hex::Edge * > *) 0 ;
-  std::vector< Hex::Edge * >::iterator arg2 ;
-  std::vector< Hex::Edge * >::value_type arg3 = (std::vector< Hex::Edge * >::value_type) 0 ;
+  std::vector<Hex::Edge * > *arg1 = (std::vector<Hex::Edge * > *) 0 ;
+  std::vector<Hex::Edge * >::iterator arg2 ;
+  std::vector<Hex::Edge * >::value_type arg3 = (std::vector<Hex::Edge * >::value_type) 0 ;
+  std::vector<Hex::Edge * >::iterator result;
   void *argp1 = 0 ;
   int res1 = 0 ;
-  swig::SwigPyIterator *iter2 = 0 ;
+  swig::PySwigIterator *iter2 = 0 ;
   int res2 ;
   void *argp3 = 0 ;
   int res3 = 0 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
   PyObject * obj2 = 0 ;
-  std::vector< Hex::Edge * >::iterator result;
   
   if (!PyArg_ParseTuple(args,(char *)"OOO:VectorEdges_insert",&obj0,&obj1,&obj2)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Edge_p_std__allocatorT_Hex__Edge_p_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Edge_p_std__allocatorTHex__Edge_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorEdges_insert" "', argument " "1"" of type '" "std::vector< Hex::Edge * > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorEdges_insert" "', argument " "1"" of type '" "std::vector<Hex::Edge * > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::Edge * > * >(argp1);
-  res2 = SWIG_ConvertPtr(obj1, SWIG_as_voidptrptr(&iter2), swig::SwigPyIterator::descriptor(), 0);
+  arg1 = reinterpret_cast< std::vector<Hex::Edge * > * >(argp1);
+  res2 = SWIG_ConvertPtr(obj1, SWIG_as_voidptrptr(&iter2), swig::PySwigIterator::descriptor(), 0);
   if (!SWIG_IsOK(res2) || !iter2) {
-    SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "VectorEdges_insert" "', argument " "2"" of type '" "std::vector< Hex::Edge * >::iterator""'");
+    SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "VectorEdges_insert" "', argument " "2"" of type '" "std::vector<Hex::Edge * >::iterator""'");
   } else {
-    swig::SwigPyIterator_T<std::vector< Hex::Edge * >::iterator > *iter_t = dynamic_cast<swig::SwigPyIterator_T<std::vector< Hex::Edge * >::iterator > *>(iter2);
+    swig::PySwigIterator_T<std::vector<Hex::Edge * >::iterator > *iter_t = dynamic_cast<swig::PySwigIterator_T<std::vector<Hex::Edge * >::iterator > *>(iter2);
     if (iter_t) {
       arg2 = iter_t->get_current();
     } else {
-      SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "VectorEdges_insert" "', argument " "2"" of type '" "std::vector< Hex::Edge * >::iterator""'");
+      SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "VectorEdges_insert" "', argument " "2"" of type '" "std::vector<Hex::Edge * >::iterator""'");
     }
   }
-  res3 = SWIG_ConvertPtr(obj2, &argp3,SWIGTYPE_std__vectorT_Hex__Edge_p_std__allocatorT_Hex__Edge_p_t_t__value_type, 0 |  0 );
+  res3 = SWIG_ConvertPtr(obj2, &argp3,SWIGTYPE_std__vectorTHex__Edge_p_std__allocatorTHex__Edge_p_t_t__value_type, 0 |  0 );
   if (!SWIG_IsOK(res3)) {
-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "VectorEdges_insert" "', argument " "3"" of type '" "std::vector< Hex::Edge * >::value_type""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "VectorEdges_insert" "', argument " "3"" of type '" "std::vector<Hex::Edge * >::value_type""'"); 
   }
-  arg3 = reinterpret_cast< std::vector< Hex::Edge * >::value_type >(argp3);
+  arg3 = reinterpret_cast< std::vector<Hex::Edge * >::value_type >(argp3);
   result = (arg1)->insert(arg2,arg3);
-  resultobj = SWIG_NewPointerObj(swig::make_output_iterator(static_cast< const std::vector< Hex::Edge * >::iterator & >(result)),
-    swig::SwigPyIterator::descriptor(),SWIG_POINTER_OWN);
+  resultobj = SWIG_NewPointerObj(swig::make_output_iterator(static_cast< const std::vector<Hex::Edge * >::iterator & >(result)),
+    swig::PySwigIterator::descriptor(),SWIG_POINTER_OWN);
   return resultobj;
 fail:
   return NULL;
@@ -10728,13 +10002,13 @@ fail:
 
 SWIGINTERN PyObject *_wrap_VectorEdges_insert__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Edge * > *arg1 = (std::vector< Hex::Edge * > *) 0 ;
-  std::vector< Hex::Edge * >::iterator arg2 ;
-  std::vector< Hex::Edge * >::size_type arg3 ;
-  std::vector< Hex::Edge * >::value_type arg4 = (std::vector< Hex::Edge * >::value_type) 0 ;
+  std::vector<Hex::Edge * > *arg1 = (std::vector<Hex::Edge * > *) 0 ;
+  std::vector<Hex::Edge * >::iterator arg2 ;
+  std::vector<Hex::Edge * >::size_type arg3 ;
+  std::vector<Hex::Edge * >::value_type arg4 = (std::vector<Hex::Edge * >::value_type) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
-  swig::SwigPyIterator *iter2 = 0 ;
+  swig::PySwigIterator *iter2 = 0 ;
   int res2 ;
   size_t val3 ;
   int ecode3 = 0 ;
@@ -10746,32 +10020,32 @@ SWIGINTERN PyObject *_wrap_VectorEdges_insert__SWIG_1(PyObject *SWIGUNUSEDPARM(s
   PyObject * obj3 = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOOO:VectorEdges_insert",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Edge_p_std__allocatorT_Hex__Edge_p_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Edge_p_std__allocatorTHex__Edge_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorEdges_insert" "', argument " "1"" of type '" "std::vector< Hex::Edge * > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorEdges_insert" "', argument " "1"" of type '" "std::vector<Hex::Edge * > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::Edge * > * >(argp1);
-  res2 = SWIG_ConvertPtr(obj1, SWIG_as_voidptrptr(&iter2), swig::SwigPyIterator::descriptor(), 0);
+  arg1 = reinterpret_cast< std::vector<Hex::Edge * > * >(argp1);
+  res2 = SWIG_ConvertPtr(obj1, SWIG_as_voidptrptr(&iter2), swig::PySwigIterator::descriptor(), 0);
   if (!SWIG_IsOK(res2) || !iter2) {
-    SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "VectorEdges_insert" "', argument " "2"" of type '" "std::vector< Hex::Edge * >::iterator""'");
+    SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "VectorEdges_insert" "', argument " "2"" of type '" "std::vector<Hex::Edge * >::iterator""'");
   } else {
-    swig::SwigPyIterator_T<std::vector< Hex::Edge * >::iterator > *iter_t = dynamic_cast<swig::SwigPyIterator_T<std::vector< Hex::Edge * >::iterator > *>(iter2);
+    swig::PySwigIterator_T<std::vector<Hex::Edge * >::iterator > *iter_t = dynamic_cast<swig::PySwigIterator_T<std::vector<Hex::Edge * >::iterator > *>(iter2);
     if (iter_t) {
       arg2 = iter_t->get_current();
     } else {
-      SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "VectorEdges_insert" "', argument " "2"" of type '" "std::vector< Hex::Edge * >::iterator""'");
+      SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "VectorEdges_insert" "', argument " "2"" of type '" "std::vector<Hex::Edge * >::iterator""'");
     }
   }
   ecode3 = SWIG_AsVal_size_t(obj2, &val3);
   if (!SWIG_IsOK(ecode3)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "VectorEdges_insert" "', argument " "3"" of type '" "std::vector< Hex::Edge * >::size_type""'");
+    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "VectorEdges_insert" "', argument " "3"" of type '" "std::vector<Hex::Edge * >::size_type""'");
   } 
-  arg3 = static_cast< std::vector< Hex::Edge * >::size_type >(val3);
-  res4 = SWIG_ConvertPtr(obj3, &argp4,SWIGTYPE_std__vectorT_Hex__Edge_p_std__allocatorT_Hex__Edge_p_t_t__value_type, 0 |  0 );
+  arg3 = static_cast< std::vector<Hex::Edge * >::size_type >(val3);
+  res4 = SWIG_ConvertPtr(obj3, &argp4,SWIGTYPE_std__vectorTHex__Edge_p_std__allocatorTHex__Edge_p_t_t__value_type, 0 |  0 );
   if (!SWIG_IsOK(res4)) {
-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "VectorEdges_insert" "', argument " "4"" of type '" "std::vector< Hex::Edge * >::value_type""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "VectorEdges_insert" "', argument " "4"" of type '" "std::vector<Hex::Edge * >::value_type""'"); 
   }
-  arg4 = reinterpret_cast< std::vector< Hex::Edge * >::value_type >(argp4);
+  arg4 = reinterpret_cast< std::vector<Hex::Edge * >::value_type >(argp4);
   (arg1)->insert(arg2,arg3,arg4);
   resultobj = SWIG_Py_Void();
   return resultobj;
@@ -10786,21 +10060,21 @@ SWIGINTERN PyObject *_wrap_VectorEdges_insert(PyObject *self, PyObject *args) {
   int ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = (int)PyObject_Length(args);
+  argc = PyObject_Length(args);
   for (ii = 0; (ii < argc) && (ii < 4); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
   if (argc == 3) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<Hex::Edge*,std::allocator< Hex::Edge * > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector<Hex::Edge*,std::allocator<Hex::Edge * > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
-      swig::SwigPyIterator *iter = 0;
-      int res = SWIG_ConvertPtr(argv[1], SWIG_as_voidptrptr(&iter), swig::SwigPyIterator::descriptor(), 0);
-      _v = (SWIG_IsOK(res) && iter && (dynamic_cast<swig::SwigPyIterator_T<std::vector< Hex::Edge * >::iterator > *>(iter) != 0));
+      swig::PySwigIterator *iter = 0;
+      int res = SWIG_ConvertPtr(argv[1], SWIG_as_voidptrptr(&iter), swig::PySwigIterator::descriptor(), 0);
+      _v = (SWIG_IsOK(res) && iter && (dynamic_cast<swig::PySwigIterator_T<std::vector<Hex::Edge * >::iterator > *>(iter) != 0));
       if (_v) {
         void *vptr = 0;
-        int res = SWIG_ConvertPtr(argv[2], &vptr, SWIGTYPE_std__vectorT_Hex__Edge_p_std__allocatorT_Hex__Edge_p_t_t__value_type, 0);
+        int res = SWIG_ConvertPtr(argv[2], &vptr, SWIGTYPE_std__vectorTHex__Edge_p_std__allocatorTHex__Edge_p_t_t__value_type, 0);
         _v = SWIG_CheckState(res);
         if (_v) {
           return _wrap_VectorEdges_insert__SWIG_0(self, args);
@@ -10810,12 +10084,12 @@ SWIGINTERN PyObject *_wrap_VectorEdges_insert(PyObject *self, PyObject *args) {
   }
   if (argc == 4) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<Hex::Edge*,std::allocator< Hex::Edge * > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector<Hex::Edge*,std::allocator<Hex::Edge * > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
-      swig::SwigPyIterator *iter = 0;
-      int res = SWIG_ConvertPtr(argv[1], SWIG_as_voidptrptr(&iter), swig::SwigPyIterator::descriptor(), 0);
-      _v = (SWIG_IsOK(res) && iter && (dynamic_cast<swig::SwigPyIterator_T<std::vector< Hex::Edge * >::iterator > *>(iter) != 0));
+      swig::PySwigIterator *iter = 0;
+      int res = SWIG_ConvertPtr(argv[1], SWIG_as_voidptrptr(&iter), swig::PySwigIterator::descriptor(), 0);
+      _v = (SWIG_IsOK(res) && iter && (dynamic_cast<swig::PySwigIterator_T<std::vector<Hex::Edge * >::iterator > *>(iter) != 0));
       if (_v) {
         {
           int res = SWIG_AsVal_size_t(argv[2], NULL);
@@ -10823,7 +10097,7 @@ SWIGINTERN PyObject *_wrap_VectorEdges_insert(PyObject *self, PyObject *args) {
         }
         if (_v) {
           void *vptr = 0;
-          int res = SWIG_ConvertPtr(argv[3], &vptr, SWIGTYPE_std__vectorT_Hex__Edge_p_std__allocatorT_Hex__Edge_p_t_t__value_type, 0);
+          int res = SWIG_ConvertPtr(argv[3], &vptr, SWIGTYPE_std__vectorTHex__Edge_p_std__allocatorTHex__Edge_p_t_t__value_type, 0);
           _v = SWIG_CheckState(res);
           if (_v) {
             return _wrap_VectorEdges_insert__SWIG_1(self, args);
@@ -10834,18 +10108,15 @@ SWIGINTERN PyObject *_wrap_VectorEdges_insert(PyObject *self, PyObject *args) {
   }
   
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'VectorEdges_insert'.\n"
-    "  Possible C/C++ prototypes are:\n"
-    "    insert(std::vector< Hex::Edge * > *,std::vector< Hex::Edge * >::iterator,std::vector< Hex::Edge * >::value_type)\n"
-    "    insert(std::vector< Hex::Edge * > *,std::vector< Hex::Edge * >::iterator,std::vector< Hex::Edge * >::size_type,std::vector< Hex::Edge * >::value_type)\n");
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'VectorEdges_insert'.\n  Possible C/C++ prototypes are:\n    insert(std::vector<Hex::Edge * >::iterator,std::vector<Hex::Edge * >::value_type)\n    insert(std::vector<Hex::Edge * >::iterator,std::vector<Hex::Edge * >::size_type,std::vector<Hex::Edge * >::value_type)\n");
   return NULL;
 }
 
 
 SWIGINTERN PyObject *_wrap_VectorEdges_reserve(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Edge * > *arg1 = (std::vector< Hex::Edge * > *) 0 ;
-  std::vector< Hex::Edge * >::size_type arg2 ;
+  std::vector<Hex::Edge * > *arg1 = (std::vector<Hex::Edge * > *) 0 ;
+  std::vector<Hex::Edge * >::size_type arg2 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   size_t val2 ;
@@ -10854,16 +10125,16 @@ SWIGINTERN PyObject *_wrap_VectorEdges_reserve(PyObject *SWIGUNUSEDPARM(self), P
   PyObject * obj1 = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OO:VectorEdges_reserve",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Edge_p_std__allocatorT_Hex__Edge_p_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Edge_p_std__allocatorTHex__Edge_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorEdges_reserve" "', argument " "1"" of type '" "std::vector< Hex::Edge * > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorEdges_reserve" "', argument " "1"" of type '" "std::vector<Hex::Edge * > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::Edge * > * >(argp1);
+  arg1 = reinterpret_cast< std::vector<Hex::Edge * > * >(argp1);
   ecode2 = SWIG_AsVal_size_t(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorEdges_reserve" "', argument " "2"" of type '" "std::vector< Hex::Edge * >::size_type""'");
+    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorEdges_reserve" "', argument " "2"" of type '" "std::vector<Hex::Edge * >::size_type""'");
   } 
-  arg2 = static_cast< std::vector< Hex::Edge * >::size_type >(val2);
+  arg2 = static_cast< std::vector<Hex::Edge * >::size_type >(val2);
   (arg1)->reserve(arg2);
   resultobj = SWIG_Py_Void();
   return resultobj;
@@ -10874,19 +10145,19 @@ fail:
 
 SWIGINTERN PyObject *_wrap_VectorEdges_capacity(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Edge * > *arg1 = (std::vector< Hex::Edge * > *) 0 ;
+  std::vector<Hex::Edge * > *arg1 = (std::vector<Hex::Edge * > *) 0 ;
+  std::vector<Hex::Edge * >::size_type result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  std::vector< Hex::Edge * >::size_type result;
   
   if (!PyArg_ParseTuple(args,(char *)"O:VectorEdges_capacity",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Edge_p_std__allocatorT_Hex__Edge_p_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Edge_p_std__allocatorTHex__Edge_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorEdges_capacity" "', argument " "1"" of type '" "std::vector< Hex::Edge * > const *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorEdges_capacity" "', argument " "1"" of type '" "std::vector<Hex::Edge * > const *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::Edge * > * >(argp1);
-  result = ((std::vector< Hex::Edge * > const *)arg1)->capacity();
+  arg1 = reinterpret_cast< std::vector<Hex::Edge * > * >(argp1);
+  result = ((std::vector<Hex::Edge * > const *)arg1)->capacity();
   resultobj = SWIG_From_size_t(static_cast< size_t >(result));
   return resultobj;
 fail:
@@ -10896,18 +10167,19 @@ fail:
 
 SWIGINTERN PyObject *_wrap_delete_VectorEdges(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Edge * > *arg1 = (std::vector< Hex::Edge * > *) 0 ;
+  std::vector<Hex::Edge * > *arg1 = (std::vector<Hex::Edge * > *) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"O:delete_VectorEdges",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Edge_p_std__allocatorT_Hex__Edge_p_t_t, SWIG_POINTER_DISOWN |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Edge_p_std__allocatorTHex__Edge_p_t_t, SWIG_POINTER_DISOWN |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_VectorEdges" "', argument " "1"" of type '" "std::vector< Hex::Edge * > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_VectorEdges" "', argument " "1"" of type '" "std::vector<Hex::Edge * > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::Edge * > * >(argp1);
+  arg1 = reinterpret_cast< std::vector<Hex::Edge * > * >(argp1);
   delete arg1;
+  
   resultobj = SWIG_Py_Void();
   return resultobj;
 fail:
@@ -10917,29 +10189,29 @@ fail:
 
 SWIGINTERN PyObject *VectorEdges_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *obj;
-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
-  SWIG_TypeNewClientData(SWIGTYPE_p_std__vectorT_Hex__Edge_p_std__allocatorT_Hex__Edge_p_t_t, SWIG_NewClientData(obj));
+  if (!PyArg_ParseTuple(args,(char*)"O|swigregister", &obj)) return NULL;
+  SWIG_TypeNewClientData(SWIGTYPE_p_std__vectorTHex__Edge_p_std__allocatorTHex__Edge_p_t_t, SWIG_NewClientData(obj));
   return SWIG_Py_Void();
 }
 
 SWIGINTERN PyObject *_wrap_VectorVertices_iterator(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Vertex * > *arg1 = (std::vector< Hex::Vertex * > *) 0 ;
+  std::vector<Hex::Vertex * > *arg1 = (std::vector<Hex::Vertex * > *) 0 ;
   PyObject **arg2 = (PyObject **) 0 ;
+  swig::PySwigIterator *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  swig::SwigPyIterator *result = 0 ;
   
   arg2 = &obj0;
   if (!PyArg_ParseTuple(args,(char *)"O:VectorVertices_iterator",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Vertex_p_std__allocatorT_Hex__Vertex_p_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Vertex_p_std__allocatorTHex__Vertex_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorVertices_iterator" "', argument " "1"" of type '" "std::vector< Hex::Vertex * > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorVertices_iterator" "', argument " "1"" of type '" "std::vector<Hex::Vertex * > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::Vertex * > * >(argp1);
-  result = (swig::SwigPyIterator *)std_vector_Sl_Hex_Vertex_Sm__Sg__iterator(arg1,arg2);
-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_swig__SwigPyIterator, SWIG_POINTER_OWN |  0 );
+  arg1 = reinterpret_cast< std::vector<Hex::Vertex * > * >(argp1);
+  result = (swig::PySwigIterator *)std_vector_Sl_Hex_Vertex_Sm__Sg__iterator(arg1,arg2);
+  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_swig__PySwigIterator, SWIG_POINTER_OWN |  0 );
   return resultobj;
 fail:
   return NULL;
@@ -10948,41 +10220,19 @@ fail:
 
 SWIGINTERN PyObject *_wrap_VectorVertices___nonzero__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Vertex * > *arg1 = (std::vector< Hex::Vertex * > *) 0 ;
-  void *argp1 = 0 ;
-  int res1 = 0 ;
-  PyObject * obj0 = 0 ;
+  std::vector<Hex::Vertex * > *arg1 = (std::vector<Hex::Vertex * > *) 0 ;
   bool result;
-  
-  if (!PyArg_ParseTuple(args,(char *)"O:VectorVertices___nonzero__",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Vertex_p_std__allocatorT_Hex__Vertex_p_t_t, 0 |  0 );
-  if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorVertices___nonzero__" "', argument " "1"" of type '" "std::vector< Hex::Vertex * > const *""'"); 
-  }
-  arg1 = reinterpret_cast< std::vector< Hex::Vertex * > * >(argp1);
-  result = (bool)std_vector_Sl_Hex_Vertex_Sm__Sg____nonzero__((std::vector< Hex::Vertex * > const *)arg1);
-  resultobj = SWIG_From_bool(static_cast< bool >(result));
-  return resultobj;
-fail:
-  return NULL;
-}
-
-
-SWIGINTERN PyObject *_wrap_VectorVertices___bool__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
-  PyObject *resultobj = 0;
-  std::vector< Hex::Vertex * > *arg1 = (std::vector< Hex::Vertex * > *) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  bool result;
   
-  if (!PyArg_ParseTuple(args,(char *)"O:VectorVertices___bool__",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Vertex_p_std__allocatorT_Hex__Vertex_p_t_t, 0 |  0 );
+  if (!PyArg_ParseTuple(args,(char *)"O:VectorVertices___nonzero__",&obj0)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Vertex_p_std__allocatorTHex__Vertex_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorVertices___bool__" "', argument " "1"" of type '" "std::vector< Hex::Vertex * > const *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorVertices___nonzero__" "', argument " "1"" of type '" "std::vector<Hex::Vertex * > const *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::Vertex * > * >(argp1);
-  result = (bool)std_vector_Sl_Hex_Vertex_Sm__Sg____bool__((std::vector< Hex::Vertex * > const *)arg1);
+  arg1 = reinterpret_cast< std::vector<Hex::Vertex * > * >(argp1);
+  result = (bool)std_vector_Sl_Hex_Vertex_Sm__Sg____nonzero__((std::vector<Hex::Vertex * > const *)arg1);
   resultobj = SWIG_From_bool(static_cast< bool >(result));
   return resultobj;
 fail:
@@ -10992,19 +10242,19 @@ fail:
 
 SWIGINTERN PyObject *_wrap_VectorVertices___len__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Vertex * > *arg1 = (std::vector< Hex::Vertex * > *) 0 ;
+  std::vector<Hex::Vertex * > *arg1 = (std::vector<Hex::Vertex * > *) 0 ;
+  std::vector<Hex::Vertex * >::size_type result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  std::vector< Hex::Vertex * >::size_type result;
   
   if (!PyArg_ParseTuple(args,(char *)"O:VectorVertices___len__",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Vertex_p_std__allocatorT_Hex__Vertex_p_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Vertex_p_std__allocatorTHex__Vertex_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorVertices___len__" "', argument " "1"" of type '" "std::vector< Hex::Vertex * > const *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorVertices___len__" "', argument " "1"" of type '" "std::vector<Hex::Vertex * > const *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::Vertex * > * >(argp1);
-  result = std_vector_Sl_Hex_Vertex_Sm__Sg____len__((std::vector< Hex::Vertex * > const *)arg1);
+  arg1 = reinterpret_cast< std::vector<Hex::Vertex * > * >(argp1);
+  result = std_vector_Sl_Hex_Vertex_Sm__Sg____len__((std::vector<Hex::Vertex * > const *)arg1);
   resultobj = SWIG_From_size_t(static_cast< size_t >(result));
   return resultobj;
 fail:
@@ -11014,26 +10264,26 @@ fail:
 
 SWIGINTERN PyObject *_wrap_VectorVertices_pop(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Vertex * > *arg1 = (std::vector< Hex::Vertex * > *) 0 ;
+  std::vector<Hex::Vertex * > *arg1 = (std::vector<Hex::Vertex * > *) 0 ;
+  std::vector<Hex::Vertex * >::value_type result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  std::vector< Hex::Vertex * >::value_type result;
   
   if (!PyArg_ParseTuple(args,(char *)"O:VectorVertices_pop",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Vertex_p_std__allocatorT_Hex__Vertex_p_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Vertex_p_std__allocatorTHex__Vertex_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorVertices_pop" "', argument " "1"" of type '" "std::vector< Hex::Vertex * > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorVertices_pop" "', argument " "1"" of type '" "std::vector<Hex::Vertex * > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::Vertex * > * >(argp1);
+  arg1 = reinterpret_cast< std::vector<Hex::Vertex * > * >(argp1);
   try {
-    result = (std::vector< Hex::Vertex * >::value_type)std_vector_Sl_Hex_Vertex_Sm__Sg__pop(arg1);
+    result = (std::vector<Hex::Vertex * >::value_type)std_vector_Sl_Hex_Vertex_Sm__Sg__pop(arg1);
   }
   catch(std::out_of_range &_e) {
     SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
   }
   
-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_std__vectorT_Hex__Vertex_p_std__allocatorT_Hex__Vertex_p_t_t__value_type, 0 |  0 );
+  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_std__vectorTHex__Vertex_p_std__allocatorTHex__Vertex_p_t_t__value_type, 0 |  0 );
   return resultobj;
 fail:
   return NULL;
@@ -11042,9 +10292,10 @@ fail:
 
 SWIGINTERN PyObject *_wrap_VectorVertices___getslice__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Vertex * > *arg1 = (std::vector< Hex::Vertex * > *) 0 ;
-  std::vector< Hex::Vertex * >::difference_type arg2 ;
-  std::vector< Hex::Vertex * >::difference_type arg3 ;
+  std::vector<Hex::Vertex * > *arg1 = (std::vector<Hex::Vertex * > *) 0 ;
+  std::vector<Hex::Vertex * >::difference_type arg2 ;
+  std::vector<Hex::Vertex * >::difference_type arg3 ;
+  std::vector<Hex::Vertex *,std::allocator<Hex::Vertex * > > *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   ptrdiff_t val2 ;
@@ -11054,32 +10305,31 @@ SWIGINTERN PyObject *_wrap_VectorVertices___getslice__(PyObject *SWIGUNUSEDPARM(
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
   PyObject * obj2 = 0 ;
-  std::vector< Hex::Vertex *,std::allocator< Hex::Vertex * > > *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOO:VectorVertices___getslice__",&obj0,&obj1,&obj2)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Vertex_p_std__allocatorT_Hex__Vertex_p_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Vertex_p_std__allocatorTHex__Vertex_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorVertices___getslice__" "', argument " "1"" of type '" "std::vector< Hex::Vertex * > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorVertices___getslice__" "', argument " "1"" of type '" "std::vector<Hex::Vertex * > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::Vertex * > * >(argp1);
+  arg1 = reinterpret_cast< std::vector<Hex::Vertex * > * >(argp1);
   ecode2 = SWIG_AsVal_ptrdiff_t(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorVertices___getslice__" "', argument " "2"" of type '" "std::vector< Hex::Vertex * >::difference_type""'");
+    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorVertices___getslice__" "', argument " "2"" of type '" "std::vector<Hex::Vertex * >::difference_type""'");
   } 
-  arg2 = static_cast< std::vector< Hex::Vertex * >::difference_type >(val2);
+  arg2 = static_cast< std::vector<Hex::Vertex * >::difference_type >(val2);
   ecode3 = SWIG_AsVal_ptrdiff_t(obj2, &val3);
   if (!SWIG_IsOK(ecode3)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "VectorVertices___getslice__" "', argument " "3"" of type '" "std::vector< Hex::Vertex * >::difference_type""'");
+    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "VectorVertices___getslice__" "', argument " "3"" of type '" "std::vector<Hex::Vertex * >::difference_type""'");
   } 
-  arg3 = static_cast< std::vector< Hex::Vertex * >::difference_type >(val3);
+  arg3 = static_cast< std::vector<Hex::Vertex * >::difference_type >(val3);
   try {
-    result = (std::vector< Hex::Vertex *,std::allocator< Hex::Vertex * > > *)std_vector_Sl_Hex_Vertex_Sm__Sg____getslice__(arg1,arg2,arg3);
+    result = (std::vector<Hex::Vertex *,std::allocator<Hex::Vertex * > > *)std_vector_Sl_Hex_Vertex_Sm__Sg____getslice__(arg1,arg2,arg3);
   }
   catch(std::out_of_range &_e) {
     SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
   }
   
-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_Hex__Vertex_p_std__allocatorT_Hex__Vertex_p_t_t, SWIG_POINTER_OWN |  0 );
+  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorTHex__Vertex_p_std__allocatorTHex__Vertex_p_t_t, SWIG_POINTER_OWN |  0 );
   return resultobj;
 fail:
   return NULL;
@@ -11088,10 +10338,10 @@ fail:
 
 SWIGINTERN PyObject *_wrap_VectorVertices___setslice__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Vertex * > *arg1 = (std::vector< Hex::Vertex * > *) 0 ;
-  std::vector< Hex::Vertex * >::difference_type arg2 ;
-  std::vector< Hex::Vertex * >::difference_type arg3 ;
-  std::vector< Hex::Vertex *,std::allocator< Hex::Vertex * > > *arg4 = 0 ;
+  std::vector<Hex::Vertex * > *arg1 = (std::vector<Hex::Vertex * > *) 0 ;
+  std::vector<Hex::Vertex * >::difference_type arg2 ;
+  std::vector<Hex::Vertex * >::difference_type arg3 ;
+  std::vector<Hex::Vertex *,std::allocator<Hex::Vertex * > > *arg4 = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   ptrdiff_t val2 ;
@@ -11105,34 +10355,34 @@ SWIGINTERN PyObject *_wrap_VectorVertices___setslice__(PyObject *SWIGUNUSEDPARM(
   PyObject * obj3 = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOOO:VectorVertices___setslice__",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Vertex_p_std__allocatorT_Hex__Vertex_p_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Vertex_p_std__allocatorTHex__Vertex_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorVertices___setslice__" "', argument " "1"" of type '" "std::vector< Hex::Vertex * > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorVertices___setslice__" "', argument " "1"" of type '" "std::vector<Hex::Vertex * > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::Vertex * > * >(argp1);
+  arg1 = reinterpret_cast< std::vector<Hex::Vertex * > * >(argp1);
   ecode2 = SWIG_AsVal_ptrdiff_t(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorVertices___setslice__" "', argument " "2"" of type '" "std::vector< Hex::Vertex * >::difference_type""'");
+    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorVertices___setslice__" "', argument " "2"" of type '" "std::vector<Hex::Vertex * >::difference_type""'");
   } 
-  arg2 = static_cast< std::vector< Hex::Vertex * >::difference_type >(val2);
+  arg2 = static_cast< std::vector<Hex::Vertex * >::difference_type >(val2);
   ecode3 = SWIG_AsVal_ptrdiff_t(obj2, &val3);
   if (!SWIG_IsOK(ecode3)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "VectorVertices___setslice__" "', argument " "3"" of type '" "std::vector< Hex::Vertex * >::difference_type""'");
+    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "VectorVertices___setslice__" "', argument " "3"" of type '" "std::vector<Hex::Vertex * >::difference_type""'");
   } 
-  arg3 = static_cast< std::vector< Hex::Vertex * >::difference_type >(val3);
+  arg3 = static_cast< std::vector<Hex::Vertex * >::difference_type >(val3);
   {
-    std::vector<Hex::Vertex*,std::allocator< Hex::Vertex * > > *ptr = (std::vector<Hex::Vertex*,std::allocator< Hex::Vertex * > > *)0;
+    std::vector<Hex::Vertex*,std::allocator<Hex::Vertex * > > *ptr = (std::vector<Hex::Vertex*,std::allocator<Hex::Vertex * > > *)0;
     res4 = swig::asptr(obj3, &ptr);
     if (!SWIG_IsOK(res4)) {
-      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "VectorVertices___setslice__" "', argument " "4"" of type '" "std::vector< Hex::Vertex *,std::allocator< Hex::Vertex * > > const &""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "VectorVertices___setslice__" "', argument " "4"" of type '" "std::vector<Hex::Vertex *,std::allocator<Hex::Vertex * > > const &""'"); 
     }
     if (!ptr) {
-      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "VectorVertices___setslice__" "', argument " "4"" of type '" "std::vector< Hex::Vertex *,std::allocator< Hex::Vertex * > > const &""'"); 
+      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "VectorVertices___setslice__" "', argument " "4"" of type '" "std::vector<Hex::Vertex *,std::allocator<Hex::Vertex * > > const &""'"); 
     }
     arg4 = ptr;
   }
   try {
-    std_vector_Sl_Hex_Vertex_Sm__Sg____setslice__(arg1,arg2,arg3,(std::vector< Hex::Vertex *,std::allocator< Hex::Vertex * > > const &)*arg4);
+    std_vector_Sl_Hex_Vertex_Sm__Sg____setslice__(arg1,arg2,arg3,(std::vector<Hex::Vertex *,std::allocator<Hex::Vertex * > > const &)*arg4);
   }
   catch(std::out_of_range &_e) {
     SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
@@ -11152,9 +10402,9 @@ fail:
 
 SWIGINTERN PyObject *_wrap_VectorVertices___delslice__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Vertex * > *arg1 = (std::vector< Hex::Vertex * > *) 0 ;
-  std::vector< Hex::Vertex * >::difference_type arg2 ;
-  std::vector< Hex::Vertex * >::difference_type arg3 ;
+  std::vector<Hex::Vertex * > *arg1 = (std::vector<Hex::Vertex * > *) 0 ;
+  std::vector<Hex::Vertex * >::difference_type arg2 ;
+  std::vector<Hex::Vertex * >::difference_type arg3 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   ptrdiff_t val2 ;
@@ -11166,21 +10416,21 @@ SWIGINTERN PyObject *_wrap_VectorVertices___delslice__(PyObject *SWIGUNUSEDPARM(
   PyObject * obj2 = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOO:VectorVertices___delslice__",&obj0,&obj1,&obj2)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Vertex_p_std__allocatorT_Hex__Vertex_p_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Vertex_p_std__allocatorTHex__Vertex_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorVertices___delslice__" "', argument " "1"" of type '" "std::vector< Hex::Vertex * > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorVertices___delslice__" "', argument " "1"" of type '" "std::vector<Hex::Vertex * > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::Vertex * > * >(argp1);
+  arg1 = reinterpret_cast< std::vector<Hex::Vertex * > * >(argp1);
   ecode2 = SWIG_AsVal_ptrdiff_t(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorVertices___delslice__" "', argument " "2"" of type '" "std::vector< Hex::Vertex * >::difference_type""'");
+    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorVertices___delslice__" "', argument " "2"" of type '" "std::vector<Hex::Vertex * >::difference_type""'");
   } 
-  arg2 = static_cast< std::vector< Hex::Vertex * >::difference_type >(val2);
+  arg2 = static_cast< std::vector<Hex::Vertex * >::difference_type >(val2);
   ecode3 = SWIG_AsVal_ptrdiff_t(obj2, &val3);
   if (!SWIG_IsOK(ecode3)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "VectorVertices___delslice__" "', argument " "3"" of type '" "std::vector< Hex::Vertex * >::difference_type""'");
+    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "VectorVertices___delslice__" "', argument " "3"" of type '" "std::vector<Hex::Vertex * >::difference_type""'");
   } 
-  arg3 = static_cast< std::vector< Hex::Vertex * >::difference_type >(val3);
+  arg3 = static_cast< std::vector<Hex::Vertex * >::difference_type >(val3);
   try {
     std_vector_Sl_Hex_Vertex_Sm__Sg____delslice__(arg1,arg2,arg3);
   }
@@ -11195,10 +10445,10 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_VectorVertices___delitem____SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_VectorVertices___delitem__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Vertex * > *arg1 = (std::vector< Hex::Vertex * > *) 0 ;
-  std::vector< Hex::Vertex * >::difference_type arg2 ;
+  std::vector<Hex::Vertex * > *arg1 = (std::vector<Hex::Vertex * > *) 0 ;
+  std::vector<Hex::Vertex * >::difference_type arg2 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   ptrdiff_t val2 ;
@@ -11207,134 +10457,18 @@ SWIGINTERN PyObject *_wrap_VectorVertices___delitem____SWIG_0(PyObject *SWIGUNUS
   PyObject * obj1 = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OO:VectorVertices___delitem__",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Vertex_p_std__allocatorT_Hex__Vertex_p_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Vertex_p_std__allocatorTHex__Vertex_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorVertices___delitem__" "', argument " "1"" of type '" "std::vector< Hex::Vertex * > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorVertices___delitem__" "', argument " "1"" of type '" "std::vector<Hex::Vertex * > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::Vertex * > * >(argp1);
+  arg1 = reinterpret_cast< std::vector<Hex::Vertex * > * >(argp1);
   ecode2 = SWIG_AsVal_ptrdiff_t(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorVertices___delitem__" "', argument " "2"" of type '" "std::vector< Hex::Vertex * >::difference_type""'");
+    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorVertices___delitem__" "', argument " "2"" of type '" "std::vector<Hex::Vertex * >::difference_type""'");
   } 
-  arg2 = static_cast< std::vector< Hex::Vertex * >::difference_type >(val2);
-  try {
-    std_vector_Sl_Hex_Vertex_Sm__Sg____delitem____SWIG_0(arg1,arg2);
-  }
-  catch(std::out_of_range &_e) {
-    SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
-  }
-  
-  resultobj = SWIG_Py_Void();
-  return resultobj;
-fail:
-  return NULL;
-}
-
-
-SWIGINTERN PyObject *_wrap_VectorVertices___getitem____SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
-  PyObject *resultobj = 0;
-  std::vector< Hex::Vertex * > *arg1 = (std::vector< Hex::Vertex * > *) 0 ;
-  PySliceObject *arg2 = (PySliceObject *) 0 ;
-  void *argp1 = 0 ;
-  int res1 = 0 ;
-  PyObject * obj0 = 0 ;
-  PyObject * obj1 = 0 ;
-  std::vector< Hex::Vertex *,std::allocator< Hex::Vertex * > > *result = 0 ;
-  
-  if (!PyArg_ParseTuple(args,(char *)"OO:VectorVertices___getitem__",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Vertex_p_std__allocatorT_Hex__Vertex_p_t_t, 0 |  0 );
-  if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorVertices___getitem__" "', argument " "1"" of type '" "std::vector< Hex::Vertex * > *""'"); 
-  }
-  arg1 = reinterpret_cast< std::vector< Hex::Vertex * > * >(argp1);
-  {
-    arg2 = (PySliceObject *) obj1;
-  }
-  try {
-    result = (std::vector< Hex::Vertex *,std::allocator< Hex::Vertex * > > *)std_vector_Sl_Hex_Vertex_Sm__Sg____getitem____SWIG_0(arg1,arg2);
-  }
-  catch(std::out_of_range &_e) {
-    SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
-  }
-  
-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_Hex__Vertex_p_std__allocatorT_Hex__Vertex_p_t_t, 0 |  0 );
-  return resultobj;
-fail:
-  return NULL;
-}
-
-
-SWIGINTERN PyObject *_wrap_VectorVertices___setitem____SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
-  PyObject *resultobj = 0;
-  std::vector< Hex::Vertex * > *arg1 = (std::vector< Hex::Vertex * > *) 0 ;
-  PySliceObject *arg2 = (PySliceObject *) 0 ;
-  std::vector< Hex::Vertex *,std::allocator< Hex::Vertex * > > *arg3 = 0 ;
-  void *argp1 = 0 ;
-  int res1 = 0 ;
-  int res3 = SWIG_OLDOBJ ;
-  PyObject * obj0 = 0 ;
-  PyObject * obj1 = 0 ;
-  PyObject * obj2 = 0 ;
-  
-  if (!PyArg_ParseTuple(args,(char *)"OOO:VectorVertices___setitem__",&obj0,&obj1,&obj2)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Vertex_p_std__allocatorT_Hex__Vertex_p_t_t, 0 |  0 );
-  if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorVertices___setitem__" "', argument " "1"" of type '" "std::vector< Hex::Vertex * > *""'"); 
-  }
-  arg1 = reinterpret_cast< std::vector< Hex::Vertex * > * >(argp1);
-  {
-    arg2 = (PySliceObject *) obj1;
-  }
-  {
-    std::vector<Hex::Vertex*,std::allocator< Hex::Vertex * > > *ptr = (std::vector<Hex::Vertex*,std::allocator< Hex::Vertex * > > *)0;
-    res3 = swig::asptr(obj2, &ptr);
-    if (!SWIG_IsOK(res3)) {
-      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "VectorVertices___setitem__" "', argument " "3"" of type '" "std::vector< Hex::Vertex *,std::allocator< Hex::Vertex * > > const &""'"); 
-    }
-    if (!ptr) {
-      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "VectorVertices___setitem__" "', argument " "3"" of type '" "std::vector< Hex::Vertex *,std::allocator< Hex::Vertex * > > const &""'"); 
-    }
-    arg3 = ptr;
-  }
-  try {
-    std_vector_Sl_Hex_Vertex_Sm__Sg____setitem____SWIG_0(arg1,arg2,(std::vector< Hex::Vertex *,std::allocator< Hex::Vertex * > > const &)*arg3);
-  }
-  catch(std::out_of_range &_e) {
-    SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
-  }
-  catch(std::invalid_argument &_e) {
-    SWIG_exception_fail(SWIG_ValueError, (&_e)->what());
-  }
-  
-  resultobj = SWIG_Py_Void();
-  if (SWIG_IsNewObj(res3)) delete arg3;
-  return resultobj;
-fail:
-  if (SWIG_IsNewObj(res3)) delete arg3;
-  return NULL;
-}
-
-
-SWIGINTERN PyObject *_wrap_VectorVertices___delitem____SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
-  PyObject *resultobj = 0;
-  std::vector< Hex::Vertex * > *arg1 = (std::vector< Hex::Vertex * > *) 0 ;
-  PySliceObject *arg2 = (PySliceObject *) 0 ;
-  void *argp1 = 0 ;
-  int res1 = 0 ;
-  PyObject * obj0 = 0 ;
-  PyObject * obj1 = 0 ;
-  
-  if (!PyArg_ParseTuple(args,(char *)"OO:VectorVertices___delitem__",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Vertex_p_std__allocatorT_Hex__Vertex_p_t_t, 0 |  0 );
-  if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorVertices___delitem__" "', argument " "1"" of type '" "std::vector< Hex::Vertex * > *""'"); 
-  }
-  arg1 = reinterpret_cast< std::vector< Hex::Vertex * > * >(argp1);
-  {
-    arg2 = (PySliceObject *) obj1;
-  }
+  arg2 = static_cast< std::vector<Hex::Vertex * >::difference_type >(val2);
   try {
-    std_vector_Sl_Hex_Vertex_Sm__Sg____delitem____SWIG_1(arg1,arg2);
+    std_vector_Sl_Hex_Vertex_Sm__Sg____delitem__(arg1,arg2);
   }
   catch(std::out_of_range &_e) {
     SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
@@ -11347,142 +10481,48 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_VectorVertices___delitem__(PyObject *self, PyObject *args) {
-  int argc;
-  PyObject *argv[3];
-  int ii;
-  
-  if (!PyTuple_Check(args)) SWIG_fail;
-  argc = (int)PyObject_Length(args);
-  for (ii = 0; (ii < argc) && (ii < 2); ii++) {
-    argv[ii] = PyTuple_GET_ITEM(args,ii);
-  }
-  if (argc == 2) {
-    int _v;
-    int res = swig::asptr(argv[0], (std::vector<Hex::Vertex*,std::allocator< Hex::Vertex * > >**)(0));
-    _v = SWIG_CheckState(res);
-    if (_v) {
-      {
-        _v = PySlice_Check(argv[1]);
-      }
-      if (_v) {
-        return _wrap_VectorVertices___delitem____SWIG_1(self, args);
-      }
-    }
-  }
-  if (argc == 2) {
-    int _v;
-    int res = swig::asptr(argv[0], (std::vector<Hex::Vertex*,std::allocator< Hex::Vertex * > >**)(0));
-    _v = SWIG_CheckState(res);
-    if (_v) {
-      {
-        int res = SWIG_AsVal_ptrdiff_t(argv[1], NULL);
-        _v = SWIG_CheckState(res);
-      }
-      if (_v) {
-        return _wrap_VectorVertices___delitem____SWIG_0(self, args);
-      }
-    }
-  }
-  
-fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'VectorVertices___delitem__'.\n"
-    "  Possible C/C++ prototypes are:\n"
-    "    __delitem__(std::vector< Hex::Vertex * > *,std::vector< Hex::Vertex * >::difference_type)\n"
-    "    __delitem__(std::vector< Hex::Vertex * > *,PySliceObject *)\n");
-  return NULL;
-}
-
-
-SWIGINTERN PyObject *_wrap_VectorVertices___getitem____SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_VectorVertices___getitem__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Vertex * > *arg1 = (std::vector< Hex::Vertex * > *) 0 ;
-  std::vector< Hex::Vertex * >::difference_type arg2 ;
+  std::vector<Hex::Vertex * > *arg1 = (std::vector<Hex::Vertex * > *) 0 ;
+  std::vector<Hex::Vertex * >::difference_type arg2 ;
+  std::vector<Hex::Vertex * >::value_type result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   ptrdiff_t val2 ;
   int ecode2 = 0 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
-  std::vector< Hex::Vertex * >::value_type result;
   
   if (!PyArg_ParseTuple(args,(char *)"OO:VectorVertices___getitem__",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Vertex_p_std__allocatorT_Hex__Vertex_p_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Vertex_p_std__allocatorTHex__Vertex_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorVertices___getitem__" "', argument " "1"" of type '" "std::vector< Hex::Vertex * > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorVertices___getitem__" "', argument " "1"" of type '" "std::vector<Hex::Vertex * > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::Vertex * > * >(argp1);
+  arg1 = reinterpret_cast< std::vector<Hex::Vertex * > * >(argp1);
   ecode2 = SWIG_AsVal_ptrdiff_t(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorVertices___getitem__" "', argument " "2"" of type '" "std::vector< Hex::Vertex * >::difference_type""'");
+    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorVertices___getitem__" "', argument " "2"" of type '" "std::vector<Hex::Vertex * >::difference_type""'");
   } 
-  arg2 = static_cast< std::vector< Hex::Vertex * >::difference_type >(val2);
+  arg2 = static_cast< std::vector<Hex::Vertex * >::difference_type >(val2);
   try {
-    result = (std::vector< Hex::Vertex * >::value_type)std_vector_Sl_Hex_Vertex_Sm__Sg____getitem____SWIG_1(arg1,arg2);
+    result = (std::vector<Hex::Vertex * >::value_type)std_vector_Sl_Hex_Vertex_Sm__Sg____getitem__(arg1,arg2);
   }
   catch(std::out_of_range &_e) {
     SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
   }
   
-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_std__vectorT_Hex__Vertex_p_std__allocatorT_Hex__Vertex_p_t_t__value_type, 0 |  0 );
+  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_std__vectorTHex__Vertex_p_std__allocatorTHex__Vertex_p_t_t__value_type, 0 |  0 );
   return resultobj;
 fail:
   return NULL;
 }
 
 
-SWIGINTERN PyObject *_wrap_VectorVertices___getitem__(PyObject *self, PyObject *args) {
-  int argc;
-  PyObject *argv[3];
-  int ii;
-  
-  if (!PyTuple_Check(args)) SWIG_fail;
-  argc = (int)PyObject_Length(args);
-  for (ii = 0; (ii < argc) && (ii < 2); ii++) {
-    argv[ii] = PyTuple_GET_ITEM(args,ii);
-  }
-  if (argc == 2) {
-    int _v;
-    int res = swig::asptr(argv[0], (std::vector<Hex::Vertex*,std::allocator< Hex::Vertex * > >**)(0));
-    _v = SWIG_CheckState(res);
-    if (_v) {
-      {
-        _v = PySlice_Check(argv[1]);
-      }
-      if (_v) {
-        return _wrap_VectorVertices___getitem____SWIG_0(self, args);
-      }
-    }
-  }
-  if (argc == 2) {
-    int _v;
-    int res = swig::asptr(argv[0], (std::vector<Hex::Vertex*,std::allocator< Hex::Vertex * > >**)(0));
-    _v = SWIG_CheckState(res);
-    if (_v) {
-      {
-        int res = SWIG_AsVal_ptrdiff_t(argv[1], NULL);
-        _v = SWIG_CheckState(res);
-      }
-      if (_v) {
-        return _wrap_VectorVertices___getitem____SWIG_1(self, args);
-      }
-    }
-  }
-  
-fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'VectorVertices___getitem__'.\n"
-    "  Possible C/C++ prototypes are:\n"
-    "    __getitem__(std::vector< Hex::Vertex * > *,PySliceObject *)\n"
-    "    __getitem__(std::vector< Hex::Vertex * > *,std::vector< Hex::Vertex * >::difference_type)\n");
-  return NULL;
-}
-
-
-SWIGINTERN PyObject *_wrap_VectorVertices___setitem____SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_VectorVertices___setitem__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Vertex * > *arg1 = (std::vector< Hex::Vertex * > *) 0 ;
-  std::vector< Hex::Vertex * >::difference_type arg2 ;
-  std::vector< Hex::Vertex * >::value_type arg3 = (std::vector< Hex::Vertex * >::value_type) 0 ;
+  std::vector<Hex::Vertex * > *arg1 = (std::vector<Hex::Vertex * > *) 0 ;
+  std::vector<Hex::Vertex * >::difference_type arg2 ;
+  std::vector<Hex::Vertex * >::value_type arg3 = (std::vector<Hex::Vertex * >::value_type) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   ptrdiff_t val2 ;
@@ -11494,23 +10534,23 @@ SWIGINTERN PyObject *_wrap_VectorVertices___setitem____SWIG_1(PyObject *SWIGUNUS
   PyObject * obj2 = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOO:VectorVertices___setitem__",&obj0,&obj1,&obj2)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Vertex_p_std__allocatorT_Hex__Vertex_p_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Vertex_p_std__allocatorTHex__Vertex_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorVertices___setitem__" "', argument " "1"" of type '" "std::vector< Hex::Vertex * > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorVertices___setitem__" "', argument " "1"" of type '" "std::vector<Hex::Vertex * > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::Vertex * > * >(argp1);
+  arg1 = reinterpret_cast< std::vector<Hex::Vertex * > * >(argp1);
   ecode2 = SWIG_AsVal_ptrdiff_t(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorVertices___setitem__" "', argument " "2"" of type '" "std::vector< Hex::Vertex * >::difference_type""'");
+    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorVertices___setitem__" "', argument " "2"" of type '" "std::vector<Hex::Vertex * >::difference_type""'");
   } 
-  arg2 = static_cast< std::vector< Hex::Vertex * >::difference_type >(val2);
-  res3 = SWIG_ConvertPtr(obj2, &argp3,SWIGTYPE_std__vectorT_Hex__Vertex_p_std__allocatorT_Hex__Vertex_p_t_t__value_type, 0 |  0 );
+  arg2 = static_cast< std::vector<Hex::Vertex * >::difference_type >(val2);
+  res3 = SWIG_ConvertPtr(obj2, &argp3,SWIGTYPE_std__vectorTHex__Vertex_p_std__allocatorTHex__Vertex_p_t_t__value_type, 0 |  0 );
   if (!SWIG_IsOK(res3)) {
-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "VectorVertices___setitem__" "', argument " "3"" of type '" "std::vector< Hex::Vertex * >::value_type""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "VectorVertices___setitem__" "', argument " "3"" of type '" "std::vector<Hex::Vertex * >::value_type""'"); 
   }
-  arg3 = reinterpret_cast< std::vector< Hex::Vertex * >::value_type >(argp3);
+  arg3 = reinterpret_cast< std::vector<Hex::Vertex * >::value_type >(argp3);
   try {
-    std_vector_Sl_Hex_Vertex_Sm__Sg____setitem____SWIG_1(arg1,arg2,arg3);
+    std_vector_Sl_Hex_Vertex_Sm__Sg____setitem__(arg1,arg2,arg3);
   }
   catch(std::out_of_range &_e) {
     SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
@@ -11523,66 +10563,10 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_VectorVertices___setitem__(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 == 3) {
-    int _v;
-    int res = swig::asptr(argv[0], (std::vector<Hex::Vertex*,std::allocator< Hex::Vertex * > >**)(0));
-    _v = SWIG_CheckState(res);
-    if (_v) {
-      {
-        _v = PySlice_Check(argv[1]);
-      }
-      if (_v) {
-        int res = swig::asptr(argv[2], (std::vector<Hex::Vertex*,std::allocator< Hex::Vertex * > >**)(0));
-        _v = SWIG_CheckState(res);
-        if (_v) {
-          return _wrap_VectorVertices___setitem____SWIG_0(self, args);
-        }
-      }
-    }
-  }
-  if (argc == 3) {
-    int _v;
-    int res = swig::asptr(argv[0], (std::vector<Hex::Vertex*,std::allocator< Hex::Vertex * > >**)(0));
-    _v = SWIG_CheckState(res);
-    if (_v) {
-      {
-        int res = SWIG_AsVal_ptrdiff_t(argv[1], NULL);
-        _v = SWIG_CheckState(res);
-      }
-      if (_v) {
-        void *vptr = 0;
-        int res = SWIG_ConvertPtr(argv[2], &vptr, SWIGTYPE_std__vectorT_Hex__Vertex_p_std__allocatorT_Hex__Vertex_p_t_t__value_type, 0);
-        _v = SWIG_CheckState(res);
-        if (_v) {
-          return _wrap_VectorVertices___setitem____SWIG_1(self, args);
-        }
-      }
-    }
-  }
-  
-fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'VectorVertices___setitem__'.\n"
-    "  Possible C/C++ prototypes are:\n"
-    "    __setitem__(std::vector< Hex::Vertex * > *,PySliceObject *,std::vector< Hex::Vertex *,std::allocator< Hex::Vertex * > > const &)\n"
-    "    __setitem__(std::vector< Hex::Vertex * > *,std::vector< Hex::Vertex * >::difference_type,std::vector< Hex::Vertex * >::value_type)\n");
-  return NULL;
-}
-
-
 SWIGINTERN PyObject *_wrap_VectorVertices_append(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Vertex * > *arg1 = (std::vector< Hex::Vertex * > *) 0 ;
-  std::vector< Hex::Vertex * >::value_type arg2 = (std::vector< Hex::Vertex * >::value_type) 0 ;
+  std::vector<Hex::Vertex * > *arg1 = (std::vector<Hex::Vertex * > *) 0 ;
+  std::vector<Hex::Vertex * >::value_type arg2 = (std::vector<Hex::Vertex * >::value_type) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   void *argp2 = 0 ;
@@ -11591,16 +10575,16 @@ SWIGINTERN PyObject *_wrap_VectorVertices_append(PyObject *SWIGUNUSEDPARM(self),
   PyObject * obj1 = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OO:VectorVertices_append",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Vertex_p_std__allocatorT_Hex__Vertex_p_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Vertex_p_std__allocatorTHex__Vertex_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorVertices_append" "', argument " "1"" of type '" "std::vector< Hex::Vertex * > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorVertices_append" "', argument " "1"" of type '" "std::vector<Hex::Vertex * > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::Vertex * > * >(argp1);
-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_std__vectorT_Hex__Vertex_p_std__allocatorT_Hex__Vertex_p_t_t__value_type, 0 |  0 );
+  arg1 = reinterpret_cast< std::vector<Hex::Vertex * > * >(argp1);
+  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_std__vectorTHex__Vertex_p_std__allocatorTHex__Vertex_p_t_t__value_type, 0 |  0 );
   if (!SWIG_IsOK(res2)) {
-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "VectorVertices_append" "', argument " "2"" of type '" "std::vector< Hex::Vertex * >::value_type""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "VectorVertices_append" "', argument " "2"" of type '" "std::vector<Hex::Vertex * >::value_type""'"); 
   }
-  arg2 = reinterpret_cast< std::vector< Hex::Vertex * >::value_type >(argp2);
+  arg2 = reinterpret_cast< std::vector<Hex::Vertex * >::value_type >(argp2);
   std_vector_Sl_Hex_Vertex_Sm__Sg__append(arg1,arg2);
   resultobj = SWIG_Py_Void();
   return resultobj;
@@ -11611,11 +10595,11 @@ fail:
 
 SWIGINTERN PyObject *_wrap_new_VectorVertices__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Vertex * > *result = 0 ;
+  std::vector<Hex::Vertex * > *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)":new_VectorVertices")) SWIG_fail;
-  result = (std::vector< Hex::Vertex * > *)new std::vector< Hex::Vertex * >();
-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_Hex__Vertex_p_std__allocatorT_Hex__Vertex_p_t_t, SWIG_POINTER_NEW |  0 );
+  result = (std::vector<Hex::Vertex * > *)new std::vector<Hex::Vertex * >();
+  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorTHex__Vertex_p_std__allocatorTHex__Vertex_p_t_t, SWIG_POINTER_NEW |  0 );
   return resultobj;
 fail:
   return NULL;
@@ -11624,25 +10608,25 @@ fail:
 
 SWIGINTERN PyObject *_wrap_new_VectorVertices__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Vertex * > *arg1 = 0 ;
+  std::vector<Hex::Vertex * > *arg1 = 0 ;
+  std::vector<Hex::Vertex * > *result = 0 ;
   int res1 = SWIG_OLDOBJ ;
   PyObject * obj0 = 0 ;
-  std::vector< Hex::Vertex * > *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"O:new_VectorVertices",&obj0)) SWIG_fail;
   {
-    std::vector<Hex::Vertex*,std::allocator< Hex::Vertex * > > *ptr = (std::vector<Hex::Vertex*,std::allocator< Hex::Vertex * > > *)0;
+    std::vector<Hex::Vertex*,std::allocator<Hex::Vertex * > > *ptr = (std::vector<Hex::Vertex*,std::allocator<Hex::Vertex * > > *)0;
     res1 = swig::asptr(obj0, &ptr);
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_VectorVertices" "', argument " "1"" of type '" "std::vector< Hex::Vertex * > const &""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_VectorVertices" "', argument " "1"" of type '" "std::vector<Hex::Vertex * > const &""'"); 
     }
     if (!ptr) {
-      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_VectorVertices" "', argument " "1"" of type '" "std::vector< Hex::Vertex * > const &""'"); 
+      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_VectorVertices" "', argument " "1"" of type '" "std::vector<Hex::Vertex * > const &""'"); 
     }
     arg1 = ptr;
   }
-  result = (std::vector< Hex::Vertex * > *)new std::vector< Hex::Vertex * >((std::vector< Hex::Vertex * > const &)*arg1);
-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_Hex__Vertex_p_std__allocatorT_Hex__Vertex_p_t_t, SWIG_POINTER_NEW |  0 );
+  result = (std::vector<Hex::Vertex * > *)new std::vector<Hex::Vertex * >((std::vector<Hex::Vertex * > const &)*arg1);
+  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorTHex__Vertex_p_std__allocatorTHex__Vertex_p_t_t, SWIG_POINTER_NEW |  0 );
   if (SWIG_IsNewObj(res1)) delete arg1;
   return resultobj;
 fail:
@@ -11653,19 +10637,19 @@ fail:
 
 SWIGINTERN PyObject *_wrap_VectorVertices_empty(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Vertex * > *arg1 = (std::vector< Hex::Vertex * > *) 0 ;
+  std::vector<Hex::Vertex * > *arg1 = (std::vector<Hex::Vertex * > *) 0 ;
+  bool result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  bool result;
   
   if (!PyArg_ParseTuple(args,(char *)"O:VectorVertices_empty",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Vertex_p_std__allocatorT_Hex__Vertex_p_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Vertex_p_std__allocatorTHex__Vertex_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorVertices_empty" "', argument " "1"" of type '" "std::vector< Hex::Vertex * > const *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorVertices_empty" "', argument " "1"" of type '" "std::vector<Hex::Vertex * > const *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::Vertex * > * >(argp1);
-  result = (bool)((std::vector< Hex::Vertex * > const *)arg1)->empty();
+  arg1 = reinterpret_cast< std::vector<Hex::Vertex * > * >(argp1);
+  result = (bool)((std::vector<Hex::Vertex * > const *)arg1)->empty();
   resultobj = SWIG_From_bool(static_cast< bool >(result));
   return resultobj;
 fail:
@@ -11675,19 +10659,19 @@ fail:
 
 SWIGINTERN PyObject *_wrap_VectorVertices_size(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Vertex * > *arg1 = (std::vector< Hex::Vertex * > *) 0 ;
+  std::vector<Hex::Vertex * > *arg1 = (std::vector<Hex::Vertex * > *) 0 ;
+  std::vector<Hex::Vertex * >::size_type result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  std::vector< Hex::Vertex * >::size_type result;
   
   if (!PyArg_ParseTuple(args,(char *)"O:VectorVertices_size",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Vertex_p_std__allocatorT_Hex__Vertex_p_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Vertex_p_std__allocatorTHex__Vertex_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorVertices_size" "', argument " "1"" of type '" "std::vector< Hex::Vertex * > const *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorVertices_size" "', argument " "1"" of type '" "std::vector<Hex::Vertex * > const *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::Vertex * > * >(argp1);
-  result = ((std::vector< Hex::Vertex * > const *)arg1)->size();
+  arg1 = reinterpret_cast< std::vector<Hex::Vertex * > * >(argp1);
+  result = ((std::vector<Hex::Vertex * > const *)arg1)->size();
   resultobj = SWIG_From_size_t(static_cast< size_t >(result));
   return resultobj;
 fail:
@@ -11697,17 +10681,17 @@ fail:
 
 SWIGINTERN PyObject *_wrap_VectorVertices_clear(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Vertex * > *arg1 = (std::vector< Hex::Vertex * > *) 0 ;
+  std::vector<Hex::Vertex * > *arg1 = (std::vector<Hex::Vertex * > *) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"O:VectorVertices_clear",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Vertex_p_std__allocatorT_Hex__Vertex_p_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Vertex_p_std__allocatorTHex__Vertex_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorVertices_clear" "', argument " "1"" of type '" "std::vector< Hex::Vertex * > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorVertices_clear" "', argument " "1"" of type '" "std::vector<Hex::Vertex * > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::Vertex * > * >(argp1);
+  arg1 = reinterpret_cast< std::vector<Hex::Vertex * > * >(argp1);
   (arg1)->clear();
   resultobj = SWIG_Py_Void();
   return resultobj;
@@ -11718,8 +10702,8 @@ fail:
 
 SWIGINTERN PyObject *_wrap_VectorVertices_swap(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Vertex * > *arg1 = (std::vector< Hex::Vertex * > *) 0 ;
-  std::vector< Hex::Vertex * > *arg2 = 0 ;
+  std::vector<Hex::Vertex * > *arg1 = (std::vector<Hex::Vertex * > *) 0 ;
+  std::vector<Hex::Vertex * > *arg2 = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   void *argp2 = 0 ;
@@ -11728,19 +10712,19 @@ SWIGINTERN PyObject *_wrap_VectorVertices_swap(PyObject *SWIGUNUSEDPARM(self), P
   PyObject * obj1 = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OO:VectorVertices_swap",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Vertex_p_std__allocatorT_Hex__Vertex_p_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Vertex_p_std__allocatorTHex__Vertex_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorVertices_swap" "', argument " "1"" of type '" "std::vector< Hex::Vertex * > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorVertices_swap" "', argument " "1"" of type '" "std::vector<Hex::Vertex * > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::Vertex * > * >(argp1);
-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_std__vectorT_Hex__Vertex_p_std__allocatorT_Hex__Vertex_p_t_t,  0 );
+  arg1 = reinterpret_cast< std::vector<Hex::Vertex * > * >(argp1);
+  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_std__vectorTHex__Vertex_p_std__allocatorTHex__Vertex_p_t_t,  0 );
   if (!SWIG_IsOK(res2)) {
-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "VectorVertices_swap" "', argument " "2"" of type '" "std::vector< Hex::Vertex * > &""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "VectorVertices_swap" "', argument " "2"" of type '" "std::vector<Hex::Vertex * > &""'"); 
   }
   if (!argp2) {
-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "VectorVertices_swap" "', argument " "2"" of type '" "std::vector< Hex::Vertex * > &""'"); 
+    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "VectorVertices_swap" "', argument " "2"" of type '" "std::vector<Hex::Vertex * > &""'"); 
   }
-  arg2 = reinterpret_cast< std::vector< Hex::Vertex * > * >(argp2);
+  arg2 = reinterpret_cast< std::vector<Hex::Vertex * > * >(argp2);
   (arg1)->swap(*arg2);
   resultobj = SWIG_Py_Void();
   return resultobj;
@@ -11751,153 +10735,377 @@ fail:
 
 SWIGINTERN PyObject *_wrap_VectorVertices_get_allocator(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Vertex * > *arg1 = (std::vector< Hex::Vertex * > *) 0 ;
+  std::vector<Hex::Vertex * > *arg1 = (std::vector<Hex::Vertex * > *) 0 ;
+  SwigValueWrapper<std::allocator<Hex::Vertex * > > result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  SwigValueWrapper< std::allocator< Hex::Vertex * > > result;
   
   if (!PyArg_ParseTuple(args,(char *)"O:VectorVertices_get_allocator",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Vertex_p_std__allocatorT_Hex__Vertex_p_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Vertex_p_std__allocatorTHex__Vertex_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorVertices_get_allocator" "', argument " "1"" of type '" "std::vector< Hex::Vertex * > const *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorVertices_get_allocator" "', argument " "1"" of type '" "std::vector<Hex::Vertex * > const *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::Vertex * > * >(argp1);
-  result = ((std::vector< Hex::Vertex * > const *)arg1)->get_allocator();
-  resultobj = SWIG_NewPointerObj((new std::vector< Hex::Vertex * >::allocator_type(static_cast< const std::vector< Hex::Vertex * >::allocator_type& >(result))), SWIGTYPE_p_std__vectorT_Hex__Vertex_p_std__allocatorT_Hex__Vertex_p_t_t__allocator_type, SWIG_POINTER_OWN |  0 );
+  arg1 = reinterpret_cast< std::vector<Hex::Vertex * > * >(argp1);
+  result = ((std::vector<Hex::Vertex * > const *)arg1)->get_allocator();
+  resultobj = SWIG_NewPointerObj((new std::vector<Hex::Vertex * >::allocator_type(static_cast< const std::vector<Hex::Vertex * >::allocator_type& >(result))), SWIGTYPE_p_std__vectorTHex__Vertex_p_std__allocatorTHex__Vertex_p_t_t__allocator_type, SWIG_POINTER_OWN |  0 );
   return resultobj;
 fail:
   return NULL;
 }
 
 
-SWIGINTERN PyObject *_wrap_VectorVertices_begin(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_VectorVertices_begin__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Vertex * > *arg1 = (std::vector< Hex::Vertex * > *) 0 ;
+  std::vector<Hex::Vertex * > *arg1 = (std::vector<Hex::Vertex * > *) 0 ;
+  std::vector<Hex::Vertex * >::iterator result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  std::vector< Hex::Vertex * >::const_iterator result;
   
   if (!PyArg_ParseTuple(args,(char *)"O:VectorVertices_begin",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Vertex_p_std__allocatorT_Hex__Vertex_p_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Vertex_p_std__allocatorTHex__Vertex_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorVertices_begin" "', argument " "1"" of type '" "std::vector< Hex::Vertex * > const *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorVertices_begin" "', argument " "1"" of type '" "std::vector<Hex::Vertex * > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::Vertex * > * >(argp1);
-  result = ((std::vector< Hex::Vertex * > const *)arg1)->begin();
-  resultobj = SWIG_NewPointerObj(swig::make_output_iterator(static_cast< const std::vector< Hex::Vertex * >::const_iterator & >(result)),
-    swig::SwigPyIterator::descriptor(),SWIG_POINTER_OWN);
+  arg1 = reinterpret_cast< std::vector<Hex::Vertex * > * >(argp1);
+  result = (arg1)->begin();
+  resultobj = SWIG_NewPointerObj(swig::make_output_iterator(static_cast< const std::vector<Hex::Vertex * >::iterator & >(result)),
+    swig::PySwigIterator::descriptor(),SWIG_POINTER_OWN);
   return resultobj;
 fail:
   return NULL;
 }
 
 
-SWIGINTERN PyObject *_wrap_VectorVertices_end(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_VectorVertices_begin__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Vertex * > *arg1 = (std::vector< Hex::Vertex * > *) 0 ;
+  std::vector<Hex::Vertex * > *arg1 = (std::vector<Hex::Vertex * > *) 0 ;
+  std::vector<Hex::Vertex * >::const_iterator result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  std::vector< Hex::Vertex * >::const_iterator result;
   
-  if (!PyArg_ParseTuple(args,(char *)"O:VectorVertices_end",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Vertex_p_std__allocatorT_Hex__Vertex_p_t_t, 0 |  0 );
+  if (!PyArg_ParseTuple(args,(char *)"O:VectorVertices_begin",&obj0)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Vertex_p_std__allocatorTHex__Vertex_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorVertices_end" "', argument " "1"" of type '" "std::vector< Hex::Vertex * > const *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorVertices_begin" "', argument " "1"" of type '" "std::vector<Hex::Vertex * > const *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::Vertex * > * >(argp1);
-  result = ((std::vector< Hex::Vertex * > const *)arg1)->end();
-  resultobj = SWIG_NewPointerObj(swig::make_output_iterator(static_cast< const std::vector< Hex::Vertex * >::const_iterator & >(result)),
-    swig::SwigPyIterator::descriptor(),SWIG_POINTER_OWN);
+  arg1 = reinterpret_cast< std::vector<Hex::Vertex * > * >(argp1);
+  result = ((std::vector<Hex::Vertex * > const *)arg1)->begin();
+  resultobj = SWIG_NewPointerObj(swig::make_output_iterator(static_cast< const std::vector<Hex::Vertex * >::const_iterator & >(result)),
+    swig::PySwigIterator::descriptor(),SWIG_POINTER_OWN);
   return resultobj;
 fail:
   return NULL;
 }
 
 
-SWIGINTERN PyObject *_wrap_VectorVertices_rbegin(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
-  PyObject *resultobj = 0;
-  std::vector< Hex::Vertex * > *arg1 = (std::vector< Hex::Vertex * > *) 0 ;
-  void *argp1 = 0 ;
-  int res1 = 0 ;
-  PyObject * obj0 = 0 ;
-  std::vector< Hex::Vertex * >::const_reverse_iterator result;
+SWIGINTERN PyObject *_wrap_VectorVertices_begin(PyObject *self, PyObject *args) {
+  int argc;
+  PyObject *argv[2];
+  int ii;
   
-  if (!PyArg_ParseTuple(args,(char *)"O:VectorVertices_rbegin",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Vertex_p_std__allocatorT_Hex__Vertex_p_t_t, 0 |  0 );
-  if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorVertices_rbegin" "', argument " "1"" of type '" "std::vector< Hex::Vertex * > const *""'"); 
+  if (!PyTuple_Check(args)) SWIG_fail;
+  argc = PyObject_Length(args);
+  for (ii = 0; (ii < argc) && (ii < 1); ii++) {
+    argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
-  arg1 = reinterpret_cast< std::vector< Hex::Vertex * > * >(argp1);
-  result = ((std::vector< Hex::Vertex * > const *)arg1)->rbegin();
-  resultobj = SWIG_NewPointerObj(swig::make_output_iterator(static_cast< const std::vector< Hex::Vertex * >::const_reverse_iterator & >(result)),
-    swig::SwigPyIterator::descriptor(),SWIG_POINTER_OWN);
-  return resultobj;
+  if (argc == 1) {
+    int _v;
+    int res = swig::asptr(argv[0], (std::vector<Hex::Vertex*,std::allocator<Hex::Vertex * > >**)(0));
+    _v = SWIG_CheckState(res);
+    if (_v) {
+      return _wrap_VectorVertices_begin__SWIG_0(self, args);
+    }
+  }
+  if (argc == 1) {
+    int _v;
+    int res = swig::asptr(argv[0], (std::vector<Hex::Vertex*,std::allocator<Hex::Vertex * > >**)(0));
+    _v = SWIG_CheckState(res);
+    if (_v) {
+      return _wrap_VectorVertices_begin__SWIG_1(self, args);
+    }
+  }
+  
 fail:
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'VectorVertices_begin'.\n  Possible C/C++ prototypes are:\n    begin()\n    begin()\n");
   return NULL;
 }
 
 
-SWIGINTERN PyObject *_wrap_VectorVertices_rend(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_VectorVertices_end__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Vertex * > *arg1 = (std::vector< Hex::Vertex * > *) 0 ;
+  std::vector<Hex::Vertex * > *arg1 = (std::vector<Hex::Vertex * > *) 0 ;
+  std::vector<Hex::Vertex * >::iterator result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  std::vector< Hex::Vertex * >::const_reverse_iterator result;
   
-  if (!PyArg_ParseTuple(args,(char *)"O:VectorVertices_rend",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Vertex_p_std__allocatorT_Hex__Vertex_p_t_t, 0 |  0 );
+  if (!PyArg_ParseTuple(args,(char *)"O:VectorVertices_end",&obj0)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Vertex_p_std__allocatorTHex__Vertex_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorVertices_rend" "', argument " "1"" of type '" "std::vector< Hex::Vertex * > const *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorVertices_end" "', argument " "1"" of type '" "std::vector<Hex::Vertex * > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::Vertex * > * >(argp1);
-  result = ((std::vector< Hex::Vertex * > const *)arg1)->rend();
-  resultobj = SWIG_NewPointerObj(swig::make_output_iterator(static_cast< const std::vector< Hex::Vertex * >::const_reverse_iterator & >(result)),
-    swig::SwigPyIterator::descriptor(),SWIG_POINTER_OWN);
+  arg1 = reinterpret_cast< std::vector<Hex::Vertex * > * >(argp1);
+  result = (arg1)->end();
+  resultobj = SWIG_NewPointerObj(swig::make_output_iterator(static_cast< const std::vector<Hex::Vertex * >::iterator & >(result)),
+    swig::PySwigIterator::descriptor(),SWIG_POINTER_OWN);
   return resultobj;
 fail:
   return NULL;
 }
 
 
-SWIGINTERN PyObject *_wrap_new_VectorVertices__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_VectorVertices_end__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Vertex * >::size_type arg1 ;
-  size_t val1 ;
-  int ecode1 = 0 ;
+  std::vector<Hex::Vertex * > *arg1 = (std::vector<Hex::Vertex * > *) 0 ;
+  std::vector<Hex::Vertex * >::const_iterator result;
+  void *argp1 = 0 ;
+  int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  std::vector< Hex::Vertex * > *result = 0 ;
   
-  if (!PyArg_ParseTuple(args,(char *)"O:new_VectorVertices",&obj0)) SWIG_fail;
-  ecode1 = SWIG_AsVal_size_t(obj0, &val1);
-  if (!SWIG_IsOK(ecode1)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_VectorVertices" "', argument " "1"" of type '" "std::vector< Hex::Vertex * >::size_type""'");
-  } 
-  arg1 = static_cast< std::vector< Hex::Vertex * >::size_type >(val1);
-  result = (std::vector< Hex::Vertex * > *)new std::vector< Hex::Vertex * >(arg1);
-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_Hex__Vertex_p_std__allocatorT_Hex__Vertex_p_t_t, SWIG_POINTER_NEW |  0 );
+  if (!PyArg_ParseTuple(args,(char *)"O:VectorVertices_end",&obj0)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Vertex_p_std__allocatorTHex__Vertex_p_t_t, 0 |  0 );
+  if (!SWIG_IsOK(res1)) {
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorVertices_end" "', argument " "1"" of type '" "std::vector<Hex::Vertex * > const *""'"); 
+  }
+  arg1 = reinterpret_cast< std::vector<Hex::Vertex * > * >(argp1);
+  result = ((std::vector<Hex::Vertex * > const *)arg1)->end();
+  resultobj = SWIG_NewPointerObj(swig::make_output_iterator(static_cast< const std::vector<Hex::Vertex * >::const_iterator & >(result)),
+    swig::PySwigIterator::descriptor(),SWIG_POINTER_OWN);
   return resultobj;
 fail:
   return NULL;
 }
 
 
-SWIGINTERN PyObject *_wrap_VectorVertices_pop_back(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_VectorVertices_end(PyObject *self, PyObject *args) {
+  int argc;
+  PyObject *argv[2];
+  int ii;
+  
+  if (!PyTuple_Check(args)) SWIG_fail;
+  argc = PyObject_Length(args);
+  for (ii = 0; (ii < argc) && (ii < 1); ii++) {
+    argv[ii] = PyTuple_GET_ITEM(args,ii);
+  }
+  if (argc == 1) {
+    int _v;
+    int res = swig::asptr(argv[0], (std::vector<Hex::Vertex*,std::allocator<Hex::Vertex * > >**)(0));
+    _v = SWIG_CheckState(res);
+    if (_v) {
+      return _wrap_VectorVertices_end__SWIG_0(self, args);
+    }
+  }
+  if (argc == 1) {
+    int _v;
+    int res = swig::asptr(argv[0], (std::vector<Hex::Vertex*,std::allocator<Hex::Vertex * > >**)(0));
+    _v = SWIG_CheckState(res);
+    if (_v) {
+      return _wrap_VectorVertices_end__SWIG_1(self, args);
+    }
+  }
+  
+fail:
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'VectorVertices_end'.\n  Possible C/C++ prototypes are:\n    end()\n    end()\n");
+  return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_VectorVertices_rbegin__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+  PyObject *resultobj = 0;
+  std::vector<Hex::Vertex * > *arg1 = (std::vector<Hex::Vertex * > *) 0 ;
+  std::vector<Hex::Vertex * >::reverse_iterator result;
+  void *argp1 = 0 ;
+  int res1 = 0 ;
+  PyObject * obj0 = 0 ;
+  
+  if (!PyArg_ParseTuple(args,(char *)"O:VectorVertices_rbegin",&obj0)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Vertex_p_std__allocatorTHex__Vertex_p_t_t, 0 |  0 );
+  if (!SWIG_IsOK(res1)) {
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorVertices_rbegin" "', argument " "1"" of type '" "std::vector<Hex::Vertex * > *""'"); 
+  }
+  arg1 = reinterpret_cast< std::vector<Hex::Vertex * > * >(argp1);
+  result = (arg1)->rbegin();
+  resultobj = SWIG_NewPointerObj(swig::make_output_iterator(static_cast< const std::vector<Hex::Vertex * >::reverse_iterator & >(result)),
+    swig::PySwigIterator::descriptor(),SWIG_POINTER_OWN);
+  return resultobj;
+fail:
+  return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_VectorVertices_rbegin__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+  PyObject *resultobj = 0;
+  std::vector<Hex::Vertex * > *arg1 = (std::vector<Hex::Vertex * > *) 0 ;
+  std::vector<Hex::Vertex * >::const_reverse_iterator result;
+  void *argp1 = 0 ;
+  int res1 = 0 ;
+  PyObject * obj0 = 0 ;
+  
+  if (!PyArg_ParseTuple(args,(char *)"O:VectorVertices_rbegin",&obj0)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Vertex_p_std__allocatorTHex__Vertex_p_t_t, 0 |  0 );
+  if (!SWIG_IsOK(res1)) {
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorVertices_rbegin" "', argument " "1"" of type '" "std::vector<Hex::Vertex * > const *""'"); 
+  }
+  arg1 = reinterpret_cast< std::vector<Hex::Vertex * > * >(argp1);
+  result = ((std::vector<Hex::Vertex * > const *)arg1)->rbegin();
+  resultobj = SWIG_NewPointerObj(swig::make_output_iterator(static_cast< const std::vector<Hex::Vertex * >::const_reverse_iterator & >(result)),
+    swig::PySwigIterator::descriptor(),SWIG_POINTER_OWN);
+  return resultobj;
+fail:
+  return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_VectorVertices_rbegin(PyObject *self, PyObject *args) {
+  int argc;
+  PyObject *argv[2];
+  int ii;
+  
+  if (!PyTuple_Check(args)) SWIG_fail;
+  argc = PyObject_Length(args);
+  for (ii = 0; (ii < argc) && (ii < 1); ii++) {
+    argv[ii] = PyTuple_GET_ITEM(args,ii);
+  }
+  if (argc == 1) {
+    int _v;
+    int res = swig::asptr(argv[0], (std::vector<Hex::Vertex*,std::allocator<Hex::Vertex * > >**)(0));
+    _v = SWIG_CheckState(res);
+    if (_v) {
+      return _wrap_VectorVertices_rbegin__SWIG_0(self, args);
+    }
+  }
+  if (argc == 1) {
+    int _v;
+    int res = swig::asptr(argv[0], (std::vector<Hex::Vertex*,std::allocator<Hex::Vertex * > >**)(0));
+    _v = SWIG_CheckState(res);
+    if (_v) {
+      return _wrap_VectorVertices_rbegin__SWIG_1(self, args);
+    }
+  }
+  
+fail:
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'VectorVertices_rbegin'.\n  Possible C/C++ prototypes are:\n    rbegin()\n    rbegin()\n");
+  return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_VectorVertices_rend__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+  PyObject *resultobj = 0;
+  std::vector<Hex::Vertex * > *arg1 = (std::vector<Hex::Vertex * > *) 0 ;
+  std::vector<Hex::Vertex * >::reverse_iterator result;
+  void *argp1 = 0 ;
+  int res1 = 0 ;
+  PyObject * obj0 = 0 ;
+  
+  if (!PyArg_ParseTuple(args,(char *)"O:VectorVertices_rend",&obj0)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Vertex_p_std__allocatorTHex__Vertex_p_t_t, 0 |  0 );
+  if (!SWIG_IsOK(res1)) {
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorVertices_rend" "', argument " "1"" of type '" "std::vector<Hex::Vertex * > *""'"); 
+  }
+  arg1 = reinterpret_cast< std::vector<Hex::Vertex * > * >(argp1);
+  result = (arg1)->rend();
+  resultobj = SWIG_NewPointerObj(swig::make_output_iterator(static_cast< const std::vector<Hex::Vertex * >::reverse_iterator & >(result)),
+    swig::PySwigIterator::descriptor(),SWIG_POINTER_OWN);
+  return resultobj;
+fail:
+  return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_VectorVertices_rend__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Vertex * > *arg1 = (std::vector< Hex::Vertex * > *) 0 ;
+  std::vector<Hex::Vertex * > *arg1 = (std::vector<Hex::Vertex * > *) 0 ;
+  std::vector<Hex::Vertex * >::const_reverse_iterator result;
+  void *argp1 = 0 ;
+  int res1 = 0 ;
+  PyObject * obj0 = 0 ;
+  
+  if (!PyArg_ParseTuple(args,(char *)"O:VectorVertices_rend",&obj0)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Vertex_p_std__allocatorTHex__Vertex_p_t_t, 0 |  0 );
+  if (!SWIG_IsOK(res1)) {
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorVertices_rend" "', argument " "1"" of type '" "std::vector<Hex::Vertex * > const *""'"); 
+  }
+  arg1 = reinterpret_cast< std::vector<Hex::Vertex * > * >(argp1);
+  result = ((std::vector<Hex::Vertex * > const *)arg1)->rend();
+  resultobj = SWIG_NewPointerObj(swig::make_output_iterator(static_cast< const std::vector<Hex::Vertex * >::const_reverse_iterator & >(result)),
+    swig::PySwigIterator::descriptor(),SWIG_POINTER_OWN);
+  return resultobj;
+fail:
+  return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_VectorVertices_rend(PyObject *self, PyObject *args) {
+  int argc;
+  PyObject *argv[2];
+  int ii;
+  
+  if (!PyTuple_Check(args)) SWIG_fail;
+  argc = PyObject_Length(args);
+  for (ii = 0; (ii < argc) && (ii < 1); ii++) {
+    argv[ii] = PyTuple_GET_ITEM(args,ii);
+  }
+  if (argc == 1) {
+    int _v;
+    int res = swig::asptr(argv[0], (std::vector<Hex::Vertex*,std::allocator<Hex::Vertex * > >**)(0));
+    _v = SWIG_CheckState(res);
+    if (_v) {
+      return _wrap_VectorVertices_rend__SWIG_0(self, args);
+    }
+  }
+  if (argc == 1) {
+    int _v;
+    int res = swig::asptr(argv[0], (std::vector<Hex::Vertex*,std::allocator<Hex::Vertex * > >**)(0));
+    _v = SWIG_CheckState(res);
+    if (_v) {
+      return _wrap_VectorVertices_rend__SWIG_1(self, args);
+    }
+  }
+  
+fail:
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'VectorVertices_rend'.\n  Possible C/C++ prototypes are:\n    rend()\n    rend()\n");
+  return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_new_VectorVertices__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+  PyObject *resultobj = 0;
+  std::vector<Hex::Vertex * >::size_type arg1 ;
+  std::vector<Hex::Vertex * > *result = 0 ;
+  size_t val1 ;
+  int ecode1 = 0 ;
+  PyObject * obj0 = 0 ;
+  
+  if (!PyArg_ParseTuple(args,(char *)"O:new_VectorVertices",&obj0)) SWIG_fail;
+  ecode1 = SWIG_AsVal_size_t(obj0, &val1);
+  if (!SWIG_IsOK(ecode1)) {
+    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_VectorVertices" "', argument " "1"" of type '" "std::vector<Hex::Vertex * >::size_type""'");
+  } 
+  arg1 = static_cast< std::vector<Hex::Vertex * >::size_type >(val1);
+  result = (std::vector<Hex::Vertex * > *)new std::vector<Hex::Vertex * >(arg1);
+  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorTHex__Vertex_p_std__allocatorTHex__Vertex_p_t_t, SWIG_POINTER_NEW |  0 );
+  return resultobj;
+fail:
+  return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_VectorVertices_pop_back(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+  PyObject *resultobj = 0;
+  std::vector<Hex::Vertex * > *arg1 = (std::vector<Hex::Vertex * > *) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"O:VectorVertices_pop_back",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Vertex_p_std__allocatorT_Hex__Vertex_p_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Vertex_p_std__allocatorTHex__Vertex_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorVertices_pop_back" "', argument " "1"" of type '" "std::vector< Hex::Vertex * > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorVertices_pop_back" "', argument " "1"" of type '" "std::vector<Hex::Vertex * > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::Vertex * > * >(argp1);
+  arg1 = reinterpret_cast< std::vector<Hex::Vertex * > * >(argp1);
   (arg1)->pop_back();
   resultobj = SWIG_Py_Void();
   return resultobj;
@@ -11908,8 +11116,8 @@ fail:
 
 SWIGINTERN PyObject *_wrap_VectorVertices_resize__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Vertex * > *arg1 = (std::vector< Hex::Vertex * > *) 0 ;
-  std::vector< Hex::Vertex * >::size_type arg2 ;
+  std::vector<Hex::Vertex * > *arg1 = (std::vector<Hex::Vertex * > *) 0 ;
+  std::vector<Hex::Vertex * >::size_type arg2 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   size_t val2 ;
@@ -11918,16 +11126,16 @@ SWIGINTERN PyObject *_wrap_VectorVertices_resize__SWIG_0(PyObject *SWIGUNUSEDPAR
   PyObject * obj1 = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OO:VectorVertices_resize",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Vertex_p_std__allocatorT_Hex__Vertex_p_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Vertex_p_std__allocatorTHex__Vertex_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorVertices_resize" "', argument " "1"" of type '" "std::vector< Hex::Vertex * > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorVertices_resize" "', argument " "1"" of type '" "std::vector<Hex::Vertex * > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::Vertex * > * >(argp1);
+  arg1 = reinterpret_cast< std::vector<Hex::Vertex * > * >(argp1);
   ecode2 = SWIG_AsVal_size_t(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorVertices_resize" "', argument " "2"" of type '" "std::vector< Hex::Vertex * >::size_type""'");
+    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorVertices_resize" "', argument " "2"" of type '" "std::vector<Hex::Vertex * >::size_type""'");
   } 
-  arg2 = static_cast< std::vector< Hex::Vertex * >::size_type >(val2);
+  arg2 = static_cast< std::vector<Hex::Vertex * >::size_type >(val2);
   (arg1)->resize(arg2);
   resultobj = SWIG_Py_Void();
   return resultobj;
@@ -11938,36 +11146,36 @@ fail:
 
 SWIGINTERN PyObject *_wrap_VectorVertices_erase__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Vertex * > *arg1 = (std::vector< Hex::Vertex * > *) 0 ;
-  std::vector< Hex::Vertex * >::iterator arg2 ;
+  std::vector<Hex::Vertex * > *arg1 = (std::vector<Hex::Vertex * > *) 0 ;
+  std::vector<Hex::Vertex * >::iterator arg2 ;
+  std::vector<Hex::Vertex * >::iterator result;
   void *argp1 = 0 ;
   int res1 = 0 ;
-  swig::SwigPyIterator *iter2 = 0 ;
+  swig::PySwigIterator *iter2 = 0 ;
   int res2 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
-  std::vector< Hex::Vertex * >::iterator result;
   
   if (!PyArg_ParseTuple(args,(char *)"OO:VectorVertices_erase",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Vertex_p_std__allocatorT_Hex__Vertex_p_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Vertex_p_std__allocatorTHex__Vertex_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorVertices_erase" "', argument " "1"" of type '" "std::vector< Hex::Vertex * > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorVertices_erase" "', argument " "1"" of type '" "std::vector<Hex::Vertex * > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::Vertex * > * >(argp1);
-  res2 = SWIG_ConvertPtr(obj1, SWIG_as_voidptrptr(&iter2), swig::SwigPyIterator::descriptor(), 0);
+  arg1 = reinterpret_cast< std::vector<Hex::Vertex * > * >(argp1);
+  res2 = SWIG_ConvertPtr(obj1, SWIG_as_voidptrptr(&iter2), swig::PySwigIterator::descriptor(), 0);
   if (!SWIG_IsOK(res2) || !iter2) {
-    SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "VectorVertices_erase" "', argument " "2"" of type '" "std::vector< Hex::Vertex * >::iterator""'");
+    SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "VectorVertices_erase" "', argument " "2"" of type '" "std::vector<Hex::Vertex * >::iterator""'");
   } else {
-    swig::SwigPyIterator_T<std::vector< Hex::Vertex * >::iterator > *iter_t = dynamic_cast<swig::SwigPyIterator_T<std::vector< Hex::Vertex * >::iterator > *>(iter2);
+    swig::PySwigIterator_T<std::vector<Hex::Vertex * >::iterator > *iter_t = dynamic_cast<swig::PySwigIterator_T<std::vector<Hex::Vertex * >::iterator > *>(iter2);
     if (iter_t) {
       arg2 = iter_t->get_current();
     } else {
-      SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "VectorVertices_erase" "', argument " "2"" of type '" "std::vector< Hex::Vertex * >::iterator""'");
+      SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "VectorVertices_erase" "', argument " "2"" of type '" "std::vector<Hex::Vertex * >::iterator""'");
     }
   }
   result = (arg1)->erase(arg2);
-  resultobj = SWIG_NewPointerObj(swig::make_output_iterator(static_cast< const std::vector< Hex::Vertex * >::iterator & >(result)),
-    swig::SwigPyIterator::descriptor(),SWIG_POINTER_OWN);
+  resultobj = SWIG_NewPointerObj(swig::make_output_iterator(static_cast< const std::vector<Hex::Vertex * >::iterator & >(result)),
+    swig::PySwigIterator::descriptor(),SWIG_POINTER_OWN);
   return resultobj;
 fail:
   return NULL;
@@ -11976,51 +11184,51 @@ fail:
 
 SWIGINTERN PyObject *_wrap_VectorVertices_erase__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Vertex * > *arg1 = (std::vector< Hex::Vertex * > *) 0 ;
-  std::vector< Hex::Vertex * >::iterator arg2 ;
-  std::vector< Hex::Vertex * >::iterator arg3 ;
+  std::vector<Hex::Vertex * > *arg1 = (std::vector<Hex::Vertex * > *) 0 ;
+  std::vector<Hex::Vertex * >::iterator arg2 ;
+  std::vector<Hex::Vertex * >::iterator arg3 ;
+  std::vector<Hex::Vertex * >::iterator result;
   void *argp1 = 0 ;
   int res1 = 0 ;
-  swig::SwigPyIterator *iter2 = 0 ;
+  swig::PySwigIterator *iter2 = 0 ;
   int res2 ;
-  swig::SwigPyIterator *iter3 = 0 ;
+  swig::PySwigIterator *iter3 = 0 ;
   int res3 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
   PyObject * obj2 = 0 ;
-  std::vector< Hex::Vertex * >::iterator result;
   
   if (!PyArg_ParseTuple(args,(char *)"OOO:VectorVertices_erase",&obj0,&obj1,&obj2)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Vertex_p_std__allocatorT_Hex__Vertex_p_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Vertex_p_std__allocatorTHex__Vertex_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorVertices_erase" "', argument " "1"" of type '" "std::vector< Hex::Vertex * > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorVertices_erase" "', argument " "1"" of type '" "std::vector<Hex::Vertex * > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::Vertex * > * >(argp1);
-  res2 = SWIG_ConvertPtr(obj1, SWIG_as_voidptrptr(&iter2), swig::SwigPyIterator::descriptor(), 0);
+  arg1 = reinterpret_cast< std::vector<Hex::Vertex * > * >(argp1);
+  res2 = SWIG_ConvertPtr(obj1, SWIG_as_voidptrptr(&iter2), swig::PySwigIterator::descriptor(), 0);
   if (!SWIG_IsOK(res2) || !iter2) {
-    SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "VectorVertices_erase" "', argument " "2"" of type '" "std::vector< Hex::Vertex * >::iterator""'");
+    SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "VectorVertices_erase" "', argument " "2"" of type '" "std::vector<Hex::Vertex * >::iterator""'");
   } else {
-    swig::SwigPyIterator_T<std::vector< Hex::Vertex * >::iterator > *iter_t = dynamic_cast<swig::SwigPyIterator_T<std::vector< Hex::Vertex * >::iterator > *>(iter2);
+    swig::PySwigIterator_T<std::vector<Hex::Vertex * >::iterator > *iter_t = dynamic_cast<swig::PySwigIterator_T<std::vector<Hex::Vertex * >::iterator > *>(iter2);
     if (iter_t) {
       arg2 = iter_t->get_current();
     } else {
-      SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "VectorVertices_erase" "', argument " "2"" of type '" "std::vector< Hex::Vertex * >::iterator""'");
+      SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "VectorVertices_erase" "', argument " "2"" of type '" "std::vector<Hex::Vertex * >::iterator""'");
     }
   }
-  res3 = SWIG_ConvertPtr(obj2, SWIG_as_voidptrptr(&iter3), swig::SwigPyIterator::descriptor(), 0);
+  res3 = SWIG_ConvertPtr(obj2, SWIG_as_voidptrptr(&iter3), swig::PySwigIterator::descriptor(), 0);
   if (!SWIG_IsOK(res3) || !iter3) {
-    SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "VectorVertices_erase" "', argument " "3"" of type '" "std::vector< Hex::Vertex * >::iterator""'");
+    SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "VectorVertices_erase" "', argument " "3"" of type '" "std::vector<Hex::Vertex * >::iterator""'");
   } else {
-    swig::SwigPyIterator_T<std::vector< Hex::Vertex * >::iterator > *iter_t = dynamic_cast<swig::SwigPyIterator_T<std::vector< Hex::Vertex * >::iterator > *>(iter3);
+    swig::PySwigIterator_T<std::vector<Hex::Vertex * >::iterator > *iter_t = dynamic_cast<swig::PySwigIterator_T<std::vector<Hex::Vertex * >::iterator > *>(iter3);
     if (iter_t) {
       arg3 = iter_t->get_current();
     } else {
-      SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "VectorVertices_erase" "', argument " "3"" of type '" "std::vector< Hex::Vertex * >::iterator""'");
+      SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "VectorVertices_erase" "', argument " "3"" of type '" "std::vector<Hex::Vertex * >::iterator""'");
     }
   }
   result = (arg1)->erase(arg2,arg3);
-  resultobj = SWIG_NewPointerObj(swig::make_output_iterator(static_cast< const std::vector< Hex::Vertex * >::iterator & >(result)),
-    swig::SwigPyIterator::descriptor(),SWIG_POINTER_OWN);
+  resultobj = SWIG_NewPointerObj(swig::make_output_iterator(static_cast< const std::vector<Hex::Vertex * >::iterator & >(result)),
+    swig::PySwigIterator::descriptor(),SWIG_POINTER_OWN);
   return resultobj;
 fail:
   return NULL;
@@ -12033,18 +11241,18 @@ SWIGINTERN PyObject *_wrap_VectorVertices_erase(PyObject *self, PyObject *args)
   int ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = (int)PyObject_Length(args);
+  argc = PyObject_Length(args);
   for (ii = 0; (ii < argc) && (ii < 3); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
   if (argc == 2) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<Hex::Vertex*,std::allocator< Hex::Vertex * > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector<Hex::Vertex*,std::allocator<Hex::Vertex * > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
-      swig::SwigPyIterator *iter = 0;
-      int res = SWIG_ConvertPtr(argv[1], SWIG_as_voidptrptr(&iter), swig::SwigPyIterator::descriptor(), 0);
-      _v = (SWIG_IsOK(res) && iter && (dynamic_cast<swig::SwigPyIterator_T<std::vector< Hex::Vertex * >::iterator > *>(iter) != 0));
+      swig::PySwigIterator *iter = 0;
+      int res = SWIG_ConvertPtr(argv[1], SWIG_as_voidptrptr(&iter), swig::PySwigIterator::descriptor(), 0);
+      _v = (SWIG_IsOK(res) && iter && (dynamic_cast<swig::PySwigIterator_T<std::vector<Hex::Vertex * >::iterator > *>(iter) != 0));
       if (_v) {
         return _wrap_VectorVertices_erase__SWIG_0(self, args);
       }
@@ -12052,16 +11260,16 @@ SWIGINTERN PyObject *_wrap_VectorVertices_erase(PyObject *self, PyObject *args)
   }
   if (argc == 3) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<Hex::Vertex*,std::allocator< Hex::Vertex * > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector<Hex::Vertex*,std::allocator<Hex::Vertex * > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
-      swig::SwigPyIterator *iter = 0;
-      int res = SWIG_ConvertPtr(argv[1], SWIG_as_voidptrptr(&iter), swig::SwigPyIterator::descriptor(), 0);
-      _v = (SWIG_IsOK(res) && iter && (dynamic_cast<swig::SwigPyIterator_T<std::vector< Hex::Vertex * >::iterator > *>(iter) != 0));
+      swig::PySwigIterator *iter = 0;
+      int res = SWIG_ConvertPtr(argv[1], SWIG_as_voidptrptr(&iter), swig::PySwigIterator::descriptor(), 0);
+      _v = (SWIG_IsOK(res) && iter && (dynamic_cast<swig::PySwigIterator_T<std::vector<Hex::Vertex * >::iterator > *>(iter) != 0));
       if (_v) {
-        swig::SwigPyIterator *iter = 0;
-        int res = SWIG_ConvertPtr(argv[2], SWIG_as_voidptrptr(&iter), swig::SwigPyIterator::descriptor(), 0);
-        _v = (SWIG_IsOK(res) && iter && (dynamic_cast<swig::SwigPyIterator_T<std::vector< Hex::Vertex * >::iterator > *>(iter) != 0));
+        swig::PySwigIterator *iter = 0;
+        int res = SWIG_ConvertPtr(argv[2], SWIG_as_voidptrptr(&iter), swig::PySwigIterator::descriptor(), 0);
+        _v = (SWIG_IsOK(res) && iter && (dynamic_cast<swig::PySwigIterator_T<std::vector<Hex::Vertex * >::iterator > *>(iter) != 0));
         if (_v) {
           return _wrap_VectorVertices_erase__SWIG_1(self, args);
         }
@@ -12070,39 +11278,36 @@ SWIGINTERN PyObject *_wrap_VectorVertices_erase(PyObject *self, PyObject *args)
   }
   
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'VectorVertices_erase'.\n"
-    "  Possible C/C++ prototypes are:\n"
-    "    erase(std::vector< Hex::Vertex * > *,std::vector< Hex::Vertex * >::iterator)\n"
-    "    erase(std::vector< Hex::Vertex * > *,std::vector< Hex::Vertex * >::iterator,std::vector< Hex::Vertex * >::iterator)\n");
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'VectorVertices_erase'.\n  Possible C/C++ prototypes are:\n    erase(std::vector<Hex::Vertex * >::iterator)\n    erase(std::vector<Hex::Vertex * >::iterator,std::vector<Hex::Vertex * >::iterator)\n");
   return NULL;
 }
 
 
 SWIGINTERN PyObject *_wrap_new_VectorVertices__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Vertex * >::size_type arg1 ;
-  std::vector< Hex::Vertex * >::value_type arg2 = (std::vector< Hex::Vertex * >::value_type) 0 ;
+  std::vector<Hex::Vertex * >::size_type arg1 ;
+  std::vector<Hex::Vertex * >::value_type arg2 = (std::vector<Hex::Vertex * >::value_type) 0 ;
+  std::vector<Hex::Vertex * > *result = 0 ;
   size_t val1 ;
   int ecode1 = 0 ;
   void *argp2 = 0 ;
   int res2 = 0 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
-  std::vector< Hex::Vertex * > *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OO:new_VectorVertices",&obj0,&obj1)) SWIG_fail;
   ecode1 = SWIG_AsVal_size_t(obj0, &val1);
   if (!SWIG_IsOK(ecode1)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_VectorVertices" "', argument " "1"" of type '" "std::vector< Hex::Vertex * >::size_type""'");
+    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_VectorVertices" "', argument " "1"" of type '" "std::vector<Hex::Vertex * >::size_type""'");
   } 
-  arg1 = static_cast< std::vector< Hex::Vertex * >::size_type >(val1);
-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_std__vectorT_Hex__Vertex_p_std__allocatorT_Hex__Vertex_p_t_t__value_type, 0 |  0 );
+  arg1 = static_cast< std::vector<Hex::Vertex * >::size_type >(val1);
+  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_std__vectorTHex__Vertex_p_std__allocatorTHex__Vertex_p_t_t__value_type, 0 |  0 );
   if (!SWIG_IsOK(res2)) {
-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "new_VectorVertices" "', argument " "2"" of type '" "std::vector< Hex::Vertex * >::value_type""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "new_VectorVertices" "', argument " "2"" of type '" "std::vector<Hex::Vertex * >::value_type""'"); 
   }
-  arg2 = reinterpret_cast< std::vector< Hex::Vertex * >::value_type >(argp2);
-  result = (std::vector< Hex::Vertex * > *)new std::vector< Hex::Vertex * >(arg1,arg2);
-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_Hex__Vertex_p_std__allocatorT_Hex__Vertex_p_t_t, SWIG_POINTER_NEW |  0 );
+  arg2 = reinterpret_cast< std::vector<Hex::Vertex * >::value_type >(argp2);
+  result = (std::vector<Hex::Vertex * > *)new std::vector<Hex::Vertex * >(arg1,arg2);
+  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorTHex__Vertex_p_std__allocatorTHex__Vertex_p_t_t, SWIG_POINTER_NEW |  0 );
   return resultobj;
 fail:
   return NULL;
@@ -12115,7 +11320,7 @@ SWIGINTERN PyObject *_wrap_new_VectorVertices(PyObject *self, PyObject *args) {
   int ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = (int)PyObject_Length(args);
+  argc = PyObject_Length(args);
   for (ii = 0; (ii < argc) && (ii < 2); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -12134,7 +11339,7 @@ SWIGINTERN PyObject *_wrap_new_VectorVertices(PyObject *self, PyObject *args) {
   }
   if (argc == 1) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<Hex::Vertex*,std::allocator< Hex::Vertex * > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector<Hex::Vertex*,std::allocator<Hex::Vertex * > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       return _wrap_new_VectorVertices__SWIG_1(self, args);
@@ -12148,7 +11353,7 @@ SWIGINTERN PyObject *_wrap_new_VectorVertices(PyObject *self, PyObject *args) {
     }
     if (_v) {
       void *vptr = 0;
-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_std__vectorT_Hex__Vertex_p_std__allocatorT_Hex__Vertex_p_t_t__value_type, 0);
+      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_std__vectorTHex__Vertex_p_std__allocatorTHex__Vertex_p_t_t__value_type, 0);
       _v = SWIG_CheckState(res);
       if (_v) {
         return _wrap_new_VectorVertices__SWIG_3(self, args);
@@ -12157,20 +11362,15 @@ SWIGINTERN PyObject *_wrap_new_VectorVertices(PyObject *self, PyObject *args) {
   }
   
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'new_VectorVertices'.\n"
-    "  Possible C/C++ prototypes are:\n"
-    "    std::vector< Hex::Vertex * >()\n"
-    "    std::vector< Hex::Vertex * >(std::vector< Hex::Vertex * > const &)\n"
-    "    std::vector< Hex::Vertex * >(std::vector< Hex::Vertex * >::size_type)\n"
-    "    std::vector< Hex::Vertex * >(std::vector< Hex::Vertex * >::size_type,std::vector< Hex::Vertex * >::value_type)\n");
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'new_VectorVertices'.\n  Possible C/C++ prototypes are:\n    std::vector<(p.Hex::Vertex)>()\n    std::vector<(p.Hex::Vertex)>(std::vector<Hex::Vertex * > const &)\n    std::vector<(p.Hex::Vertex)>(std::vector<Hex::Vertex * >::size_type)\n    std::vector<(p.Hex::Vertex)>(std::vector<Hex::Vertex * >::size_type,std::vector<Hex::Vertex * >::value_type)\n");
   return NULL;
 }
 
 
 SWIGINTERN PyObject *_wrap_VectorVertices_push_back(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Vertex * > *arg1 = (std::vector< Hex::Vertex * > *) 0 ;
-  std::vector< Hex::Vertex * >::value_type arg2 = (std::vector< Hex::Vertex * >::value_type) 0 ;
+  std::vector<Hex::Vertex * > *arg1 = (std::vector<Hex::Vertex * > *) 0 ;
+  std::vector<Hex::Vertex * >::value_type arg2 = (std::vector<Hex::Vertex * >::value_type) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   void *argp2 = 0 ;
@@ -12179,16 +11379,16 @@ SWIGINTERN PyObject *_wrap_VectorVertices_push_back(PyObject *SWIGUNUSEDPARM(sel
   PyObject * obj1 = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OO:VectorVertices_push_back",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Vertex_p_std__allocatorT_Hex__Vertex_p_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Vertex_p_std__allocatorTHex__Vertex_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorVertices_push_back" "', argument " "1"" of type '" "std::vector< Hex::Vertex * > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorVertices_push_back" "', argument " "1"" of type '" "std::vector<Hex::Vertex * > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::Vertex * > * >(argp1);
-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_std__vectorT_Hex__Vertex_p_std__allocatorT_Hex__Vertex_p_t_t__value_type, 0 |  0 );
+  arg1 = reinterpret_cast< std::vector<Hex::Vertex * > * >(argp1);
+  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_std__vectorTHex__Vertex_p_std__allocatorTHex__Vertex_p_t_t__value_type, 0 |  0 );
   if (!SWIG_IsOK(res2)) {
-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "VectorVertices_push_back" "', argument " "2"" of type '" "std::vector< Hex::Vertex * >::value_type""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "VectorVertices_push_back" "', argument " "2"" of type '" "std::vector<Hex::Vertex * >::value_type""'"); 
   }
-  arg2 = reinterpret_cast< std::vector< Hex::Vertex * >::value_type >(argp2);
+  arg2 = reinterpret_cast< std::vector<Hex::Vertex * >::value_type >(argp2);
   (arg1)->push_back(arg2);
   resultobj = SWIG_Py_Void();
   return resultobj;
@@ -12199,20 +11399,20 @@ fail:
 
 SWIGINTERN PyObject *_wrap_VectorVertices_front(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Vertex * > *arg1 = (std::vector< Hex::Vertex * > *) 0 ;
+  std::vector<Hex::Vertex * > *arg1 = (std::vector<Hex::Vertex * > *) 0 ;
+  std::vector<Hex::Vertex * >::value_type result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  std::vector< Hex::Vertex * >::value_type result;
   
   if (!PyArg_ParseTuple(args,(char *)"O:VectorVertices_front",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Vertex_p_std__allocatorT_Hex__Vertex_p_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Vertex_p_std__allocatorTHex__Vertex_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorVertices_front" "', argument " "1"" of type '" "std::vector< Hex::Vertex * > const *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorVertices_front" "', argument " "1"" of type '" "std::vector<Hex::Vertex * > const *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::Vertex * > * >(argp1);
-  result = (std::vector< Hex::Vertex * >::value_type)((std::vector< Hex::Vertex * > const *)arg1)->front();
-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_std__vectorT_Hex__Vertex_p_std__allocatorT_Hex__Vertex_p_t_t__value_type, 0 |  0 );
+  arg1 = reinterpret_cast< std::vector<Hex::Vertex * > * >(argp1);
+  result = (std::vector<Hex::Vertex * >::value_type)((std::vector<Hex::Vertex * > const *)arg1)->front();
+  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_std__vectorTHex__Vertex_p_std__allocatorTHex__Vertex_p_t_t__value_type, 0 |  0 );
   return resultobj;
 fail:
   return NULL;
@@ -12221,20 +11421,20 @@ fail:
 
 SWIGINTERN PyObject *_wrap_VectorVertices_back(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Vertex * > *arg1 = (std::vector< Hex::Vertex * > *) 0 ;
+  std::vector<Hex::Vertex * > *arg1 = (std::vector<Hex::Vertex * > *) 0 ;
+  std::vector<Hex::Vertex * >::value_type result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  std::vector< Hex::Vertex * >::value_type result;
   
   if (!PyArg_ParseTuple(args,(char *)"O:VectorVertices_back",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Vertex_p_std__allocatorT_Hex__Vertex_p_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Vertex_p_std__allocatorTHex__Vertex_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorVertices_back" "', argument " "1"" of type '" "std::vector< Hex::Vertex * > const *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorVertices_back" "', argument " "1"" of type '" "std::vector<Hex::Vertex * > const *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::Vertex * > * >(argp1);
-  result = (std::vector< Hex::Vertex * >::value_type)((std::vector< Hex::Vertex * > const *)arg1)->back();
-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_std__vectorT_Hex__Vertex_p_std__allocatorT_Hex__Vertex_p_t_t__value_type, 0 |  0 );
+  arg1 = reinterpret_cast< std::vector<Hex::Vertex * > * >(argp1);
+  result = (std::vector<Hex::Vertex * >::value_type)((std::vector<Hex::Vertex * > const *)arg1)->back();
+  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_std__vectorTHex__Vertex_p_std__allocatorTHex__Vertex_p_t_t__value_type, 0 |  0 );
   return resultobj;
 fail:
   return NULL;
@@ -12243,9 +11443,9 @@ fail:
 
 SWIGINTERN PyObject *_wrap_VectorVertices_assign(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Vertex * > *arg1 = (std::vector< Hex::Vertex * > *) 0 ;
-  std::vector< Hex::Vertex * >::size_type arg2 ;
-  std::vector< Hex::Vertex * >::value_type arg3 = (std::vector< Hex::Vertex * >::value_type) 0 ;
+  std::vector<Hex::Vertex * > *arg1 = (std::vector<Hex::Vertex * > *) 0 ;
+  std::vector<Hex::Vertex * >::size_type arg2 ;
+  std::vector<Hex::Vertex * >::value_type arg3 = (std::vector<Hex::Vertex * >::value_type) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   size_t val2 ;
@@ -12257,21 +11457,21 @@ SWIGINTERN PyObject *_wrap_VectorVertices_assign(PyObject *SWIGUNUSEDPARM(self),
   PyObject * obj2 = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOO:VectorVertices_assign",&obj0,&obj1,&obj2)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Vertex_p_std__allocatorT_Hex__Vertex_p_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Vertex_p_std__allocatorTHex__Vertex_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorVertices_assign" "', argument " "1"" of type '" "std::vector< Hex::Vertex * > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorVertices_assign" "', argument " "1"" of type '" "std::vector<Hex::Vertex * > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::Vertex * > * >(argp1);
+  arg1 = reinterpret_cast< std::vector<Hex::Vertex * > * >(argp1);
   ecode2 = SWIG_AsVal_size_t(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorVertices_assign" "', argument " "2"" of type '" "std::vector< Hex::Vertex * >::size_type""'");
+    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorVertices_assign" "', argument " "2"" of type '" "std::vector<Hex::Vertex * >::size_type""'");
   } 
-  arg2 = static_cast< std::vector< Hex::Vertex * >::size_type >(val2);
-  res3 = SWIG_ConvertPtr(obj2, &argp3,SWIGTYPE_std__vectorT_Hex__Vertex_p_std__allocatorT_Hex__Vertex_p_t_t__value_type, 0 |  0 );
+  arg2 = static_cast< std::vector<Hex::Vertex * >::size_type >(val2);
+  res3 = SWIG_ConvertPtr(obj2, &argp3,SWIGTYPE_std__vectorTHex__Vertex_p_std__allocatorTHex__Vertex_p_t_t__value_type, 0 |  0 );
   if (!SWIG_IsOK(res3)) {
-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "VectorVertices_assign" "', argument " "3"" of type '" "std::vector< Hex::Vertex * >::value_type""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "VectorVertices_assign" "', argument " "3"" of type '" "std::vector<Hex::Vertex * >::value_type""'"); 
   }
-  arg3 = reinterpret_cast< std::vector< Hex::Vertex * >::value_type >(argp3);
+  arg3 = reinterpret_cast< std::vector<Hex::Vertex * >::value_type >(argp3);
   (arg1)->assign(arg2,arg3);
   resultobj = SWIG_Py_Void();
   return resultobj;
@@ -12282,9 +11482,9 @@ fail:
 
 SWIGINTERN PyObject *_wrap_VectorVertices_resize__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Vertex * > *arg1 = (std::vector< Hex::Vertex * > *) 0 ;
-  std::vector< Hex::Vertex * >::size_type arg2 ;
-  std::vector< Hex::Vertex * >::value_type arg3 = (std::vector< Hex::Vertex * >::value_type) 0 ;
+  std::vector<Hex::Vertex * > *arg1 = (std::vector<Hex::Vertex * > *) 0 ;
+  std::vector<Hex::Vertex * >::size_type arg2 ;
+  std::vector<Hex::Vertex * >::value_type arg3 = (std::vector<Hex::Vertex * >::value_type) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   size_t val2 ;
@@ -12296,21 +11496,21 @@ SWIGINTERN PyObject *_wrap_VectorVertices_resize__SWIG_1(PyObject *SWIGUNUSEDPAR
   PyObject * obj2 = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOO:VectorVertices_resize",&obj0,&obj1,&obj2)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Vertex_p_std__allocatorT_Hex__Vertex_p_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Vertex_p_std__allocatorTHex__Vertex_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorVertices_resize" "', argument " "1"" of type '" "std::vector< Hex::Vertex * > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorVertices_resize" "', argument " "1"" of type '" "std::vector<Hex::Vertex * > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::Vertex * > * >(argp1);
+  arg1 = reinterpret_cast< std::vector<Hex::Vertex * > * >(argp1);
   ecode2 = SWIG_AsVal_size_t(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorVertices_resize" "', argument " "2"" of type '" "std::vector< Hex::Vertex * >::size_type""'");
+    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorVertices_resize" "', argument " "2"" of type '" "std::vector<Hex::Vertex * >::size_type""'");
   } 
-  arg2 = static_cast< std::vector< Hex::Vertex * >::size_type >(val2);
-  res3 = SWIG_ConvertPtr(obj2, &argp3,SWIGTYPE_std__vectorT_Hex__Vertex_p_std__allocatorT_Hex__Vertex_p_t_t__value_type, 0 |  0 );
+  arg2 = static_cast< std::vector<Hex::Vertex * >::size_type >(val2);
+  res3 = SWIG_ConvertPtr(obj2, &argp3,SWIGTYPE_std__vectorTHex__Vertex_p_std__allocatorTHex__Vertex_p_t_t__value_type, 0 |  0 );
   if (!SWIG_IsOK(res3)) {
-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "VectorVertices_resize" "', argument " "3"" of type '" "std::vector< Hex::Vertex * >::value_type""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "VectorVertices_resize" "', argument " "3"" of type '" "std::vector<Hex::Vertex * >::value_type""'"); 
   }
-  arg3 = reinterpret_cast< std::vector< Hex::Vertex * >::value_type >(argp3);
+  arg3 = reinterpret_cast< std::vector<Hex::Vertex * >::value_type >(argp3);
   (arg1)->resize(arg2,arg3);
   resultobj = SWIG_Py_Void();
   return resultobj;
@@ -12325,13 +11525,13 @@ SWIGINTERN PyObject *_wrap_VectorVertices_resize(PyObject *self, PyObject *args)
   int ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = (int)PyObject_Length(args);
+  argc = PyObject_Length(args);
   for (ii = 0; (ii < argc) && (ii < 3); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
   if (argc == 2) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<Hex::Vertex*,std::allocator< Hex::Vertex * > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector<Hex::Vertex*,std::allocator<Hex::Vertex * > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -12345,7 +11545,7 @@ SWIGINTERN PyObject *_wrap_VectorVertices_resize(PyObject *self, PyObject *args)
   }
   if (argc == 3) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<Hex::Vertex*,std::allocator< Hex::Vertex * > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector<Hex::Vertex*,std::allocator<Hex::Vertex * > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -12354,7 +11554,7 @@ SWIGINTERN PyObject *_wrap_VectorVertices_resize(PyObject *self, PyObject *args)
       }
       if (_v) {
         void *vptr = 0;
-        int res = SWIG_ConvertPtr(argv[2], &vptr, SWIGTYPE_std__vectorT_Hex__Vertex_p_std__allocatorT_Hex__Vertex_p_t_t__value_type, 0);
+        int res = SWIG_ConvertPtr(argv[2], &vptr, SWIGTYPE_std__vectorTHex__Vertex_p_std__allocatorTHex__Vertex_p_t_t__value_type, 0);
         _v = SWIG_CheckState(res);
         if (_v) {
           return _wrap_VectorVertices_resize__SWIG_1(self, args);
@@ -12364,55 +11564,52 @@ SWIGINTERN PyObject *_wrap_VectorVertices_resize(PyObject *self, PyObject *args)
   }
   
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'VectorVertices_resize'.\n"
-    "  Possible C/C++ prototypes are:\n"
-    "    resize(std::vector< Hex::Vertex * > *,std::vector< Hex::Vertex * >::size_type)\n"
-    "    resize(std::vector< Hex::Vertex * > *,std::vector< Hex::Vertex * >::size_type,std::vector< Hex::Vertex * >::value_type)\n");
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'VectorVertices_resize'.\n  Possible C/C++ prototypes are:\n    resize(std::vector<Hex::Vertex * >::size_type)\n    resize(std::vector<Hex::Vertex * >::size_type,std::vector<Hex::Vertex * >::value_type)\n");
   return NULL;
 }
 
 
 SWIGINTERN PyObject *_wrap_VectorVertices_insert__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Vertex * > *arg1 = (std::vector< Hex::Vertex * > *) 0 ;
-  std::vector< Hex::Vertex * >::iterator arg2 ;
-  std::vector< Hex::Vertex * >::value_type arg3 = (std::vector< Hex::Vertex * >::value_type) 0 ;
+  std::vector<Hex::Vertex * > *arg1 = (std::vector<Hex::Vertex * > *) 0 ;
+  std::vector<Hex::Vertex * >::iterator arg2 ;
+  std::vector<Hex::Vertex * >::value_type arg3 = (std::vector<Hex::Vertex * >::value_type) 0 ;
+  std::vector<Hex::Vertex * >::iterator result;
   void *argp1 = 0 ;
   int res1 = 0 ;
-  swig::SwigPyIterator *iter2 = 0 ;
+  swig::PySwigIterator *iter2 = 0 ;
   int res2 ;
   void *argp3 = 0 ;
   int res3 = 0 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
   PyObject * obj2 = 0 ;
-  std::vector< Hex::Vertex * >::iterator result;
   
   if (!PyArg_ParseTuple(args,(char *)"OOO:VectorVertices_insert",&obj0,&obj1,&obj2)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Vertex_p_std__allocatorT_Hex__Vertex_p_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Vertex_p_std__allocatorTHex__Vertex_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorVertices_insert" "', argument " "1"" of type '" "std::vector< Hex::Vertex * > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorVertices_insert" "', argument " "1"" of type '" "std::vector<Hex::Vertex * > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::Vertex * > * >(argp1);
-  res2 = SWIG_ConvertPtr(obj1, SWIG_as_voidptrptr(&iter2), swig::SwigPyIterator::descriptor(), 0);
+  arg1 = reinterpret_cast< std::vector<Hex::Vertex * > * >(argp1);
+  res2 = SWIG_ConvertPtr(obj1, SWIG_as_voidptrptr(&iter2), swig::PySwigIterator::descriptor(), 0);
   if (!SWIG_IsOK(res2) || !iter2) {
-    SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "VectorVertices_insert" "', argument " "2"" of type '" "std::vector< Hex::Vertex * >::iterator""'");
+    SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "VectorVertices_insert" "', argument " "2"" of type '" "std::vector<Hex::Vertex * >::iterator""'");
   } else {
-    swig::SwigPyIterator_T<std::vector< Hex::Vertex * >::iterator > *iter_t = dynamic_cast<swig::SwigPyIterator_T<std::vector< Hex::Vertex * >::iterator > *>(iter2);
+    swig::PySwigIterator_T<std::vector<Hex::Vertex * >::iterator > *iter_t = dynamic_cast<swig::PySwigIterator_T<std::vector<Hex::Vertex * >::iterator > *>(iter2);
     if (iter_t) {
       arg2 = iter_t->get_current();
     } else {
-      SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "VectorVertices_insert" "', argument " "2"" of type '" "std::vector< Hex::Vertex * >::iterator""'");
+      SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "VectorVertices_insert" "', argument " "2"" of type '" "std::vector<Hex::Vertex * >::iterator""'");
     }
   }
-  res3 = SWIG_ConvertPtr(obj2, &argp3,SWIGTYPE_std__vectorT_Hex__Vertex_p_std__allocatorT_Hex__Vertex_p_t_t__value_type, 0 |  0 );
+  res3 = SWIG_ConvertPtr(obj2, &argp3,SWIGTYPE_std__vectorTHex__Vertex_p_std__allocatorTHex__Vertex_p_t_t__value_type, 0 |  0 );
   if (!SWIG_IsOK(res3)) {
-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "VectorVertices_insert" "', argument " "3"" of type '" "std::vector< Hex::Vertex * >::value_type""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "VectorVertices_insert" "', argument " "3"" of type '" "std::vector<Hex::Vertex * >::value_type""'"); 
   }
-  arg3 = reinterpret_cast< std::vector< Hex::Vertex * >::value_type >(argp3);
+  arg3 = reinterpret_cast< std::vector<Hex::Vertex * >::value_type >(argp3);
   result = (arg1)->insert(arg2,arg3);
-  resultobj = SWIG_NewPointerObj(swig::make_output_iterator(static_cast< const std::vector< Hex::Vertex * >::iterator & >(result)),
-    swig::SwigPyIterator::descriptor(),SWIG_POINTER_OWN);
+  resultobj = SWIG_NewPointerObj(swig::make_output_iterator(static_cast< const std::vector<Hex::Vertex * >::iterator & >(result)),
+    swig::PySwigIterator::descriptor(),SWIG_POINTER_OWN);
   return resultobj;
 fail:
   return NULL;
@@ -12421,13 +11618,13 @@ fail:
 
 SWIGINTERN PyObject *_wrap_VectorVertices_insert__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Vertex * > *arg1 = (std::vector< Hex::Vertex * > *) 0 ;
-  std::vector< Hex::Vertex * >::iterator arg2 ;
-  std::vector< Hex::Vertex * >::size_type arg3 ;
-  std::vector< Hex::Vertex * >::value_type arg4 = (std::vector< Hex::Vertex * >::value_type) 0 ;
+  std::vector<Hex::Vertex * > *arg1 = (std::vector<Hex::Vertex * > *) 0 ;
+  std::vector<Hex::Vertex * >::iterator arg2 ;
+  std::vector<Hex::Vertex * >::size_type arg3 ;
+  std::vector<Hex::Vertex * >::value_type arg4 = (std::vector<Hex::Vertex * >::value_type) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
-  swig::SwigPyIterator *iter2 = 0 ;
+  swig::PySwigIterator *iter2 = 0 ;
   int res2 ;
   size_t val3 ;
   int ecode3 = 0 ;
@@ -12439,32 +11636,32 @@ SWIGINTERN PyObject *_wrap_VectorVertices_insert__SWIG_1(PyObject *SWIGUNUSEDPAR
   PyObject * obj3 = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOOO:VectorVertices_insert",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Vertex_p_std__allocatorT_Hex__Vertex_p_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Vertex_p_std__allocatorTHex__Vertex_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorVertices_insert" "', argument " "1"" of type '" "std::vector< Hex::Vertex * > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorVertices_insert" "', argument " "1"" of type '" "std::vector<Hex::Vertex * > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::Vertex * > * >(argp1);
-  res2 = SWIG_ConvertPtr(obj1, SWIG_as_voidptrptr(&iter2), swig::SwigPyIterator::descriptor(), 0);
+  arg1 = reinterpret_cast< std::vector<Hex::Vertex * > * >(argp1);
+  res2 = SWIG_ConvertPtr(obj1, SWIG_as_voidptrptr(&iter2), swig::PySwigIterator::descriptor(), 0);
   if (!SWIG_IsOK(res2) || !iter2) {
-    SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "VectorVertices_insert" "', argument " "2"" of type '" "std::vector< Hex::Vertex * >::iterator""'");
+    SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "VectorVertices_insert" "', argument " "2"" of type '" "std::vector<Hex::Vertex * >::iterator""'");
   } else {
-    swig::SwigPyIterator_T<std::vector< Hex::Vertex * >::iterator > *iter_t = dynamic_cast<swig::SwigPyIterator_T<std::vector< Hex::Vertex * >::iterator > *>(iter2);
+    swig::PySwigIterator_T<std::vector<Hex::Vertex * >::iterator > *iter_t = dynamic_cast<swig::PySwigIterator_T<std::vector<Hex::Vertex * >::iterator > *>(iter2);
     if (iter_t) {
       arg2 = iter_t->get_current();
     } else {
-      SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "VectorVertices_insert" "', argument " "2"" of type '" "std::vector< Hex::Vertex * >::iterator""'");
+      SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "VectorVertices_insert" "', argument " "2"" of type '" "std::vector<Hex::Vertex * >::iterator""'");
     }
   }
   ecode3 = SWIG_AsVal_size_t(obj2, &val3);
   if (!SWIG_IsOK(ecode3)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "VectorVertices_insert" "', argument " "3"" of type '" "std::vector< Hex::Vertex * >::size_type""'");
+    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "VectorVertices_insert" "', argument " "3"" of type '" "std::vector<Hex::Vertex * >::size_type""'");
   } 
-  arg3 = static_cast< std::vector< Hex::Vertex * >::size_type >(val3);
-  res4 = SWIG_ConvertPtr(obj3, &argp4,SWIGTYPE_std__vectorT_Hex__Vertex_p_std__allocatorT_Hex__Vertex_p_t_t__value_type, 0 |  0 );
+  arg3 = static_cast< std::vector<Hex::Vertex * >::size_type >(val3);
+  res4 = SWIG_ConvertPtr(obj3, &argp4,SWIGTYPE_std__vectorTHex__Vertex_p_std__allocatorTHex__Vertex_p_t_t__value_type, 0 |  0 );
   if (!SWIG_IsOK(res4)) {
-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "VectorVertices_insert" "', argument " "4"" of type '" "std::vector< Hex::Vertex * >::value_type""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "VectorVertices_insert" "', argument " "4"" of type '" "std::vector<Hex::Vertex * >::value_type""'"); 
   }
-  arg4 = reinterpret_cast< std::vector< Hex::Vertex * >::value_type >(argp4);
+  arg4 = reinterpret_cast< std::vector<Hex::Vertex * >::value_type >(argp4);
   (arg1)->insert(arg2,arg3,arg4);
   resultobj = SWIG_Py_Void();
   return resultobj;
@@ -12479,21 +11676,21 @@ SWIGINTERN PyObject *_wrap_VectorVertices_insert(PyObject *self, PyObject *args)
   int ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = (int)PyObject_Length(args);
+  argc = PyObject_Length(args);
   for (ii = 0; (ii < argc) && (ii < 4); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
   if (argc == 3) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<Hex::Vertex*,std::allocator< Hex::Vertex * > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector<Hex::Vertex*,std::allocator<Hex::Vertex * > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
-      swig::SwigPyIterator *iter = 0;
-      int res = SWIG_ConvertPtr(argv[1], SWIG_as_voidptrptr(&iter), swig::SwigPyIterator::descriptor(), 0);
-      _v = (SWIG_IsOK(res) && iter && (dynamic_cast<swig::SwigPyIterator_T<std::vector< Hex::Vertex * >::iterator > *>(iter) != 0));
+      swig::PySwigIterator *iter = 0;
+      int res = SWIG_ConvertPtr(argv[1], SWIG_as_voidptrptr(&iter), swig::PySwigIterator::descriptor(), 0);
+      _v = (SWIG_IsOK(res) && iter && (dynamic_cast<swig::PySwigIterator_T<std::vector<Hex::Vertex * >::iterator > *>(iter) != 0));
       if (_v) {
         void *vptr = 0;
-        int res = SWIG_ConvertPtr(argv[2], &vptr, SWIGTYPE_std__vectorT_Hex__Vertex_p_std__allocatorT_Hex__Vertex_p_t_t__value_type, 0);
+        int res = SWIG_ConvertPtr(argv[2], &vptr, SWIGTYPE_std__vectorTHex__Vertex_p_std__allocatorTHex__Vertex_p_t_t__value_type, 0);
         _v = SWIG_CheckState(res);
         if (_v) {
           return _wrap_VectorVertices_insert__SWIG_0(self, args);
@@ -12503,12 +11700,12 @@ SWIGINTERN PyObject *_wrap_VectorVertices_insert(PyObject *self, PyObject *args)
   }
   if (argc == 4) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<Hex::Vertex*,std::allocator< Hex::Vertex * > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector<Hex::Vertex*,std::allocator<Hex::Vertex * > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
-      swig::SwigPyIterator *iter = 0;
-      int res = SWIG_ConvertPtr(argv[1], SWIG_as_voidptrptr(&iter), swig::SwigPyIterator::descriptor(), 0);
-      _v = (SWIG_IsOK(res) && iter && (dynamic_cast<swig::SwigPyIterator_T<std::vector< Hex::Vertex * >::iterator > *>(iter) != 0));
+      swig::PySwigIterator *iter = 0;
+      int res = SWIG_ConvertPtr(argv[1], SWIG_as_voidptrptr(&iter), swig::PySwigIterator::descriptor(), 0);
+      _v = (SWIG_IsOK(res) && iter && (dynamic_cast<swig::PySwigIterator_T<std::vector<Hex::Vertex * >::iterator > *>(iter) != 0));
       if (_v) {
         {
           int res = SWIG_AsVal_size_t(argv[2], NULL);
@@ -12516,7 +11713,7 @@ SWIGINTERN PyObject *_wrap_VectorVertices_insert(PyObject *self, PyObject *args)
         }
         if (_v) {
           void *vptr = 0;
-          int res = SWIG_ConvertPtr(argv[3], &vptr, SWIGTYPE_std__vectorT_Hex__Vertex_p_std__allocatorT_Hex__Vertex_p_t_t__value_type, 0);
+          int res = SWIG_ConvertPtr(argv[3], &vptr, SWIGTYPE_std__vectorTHex__Vertex_p_std__allocatorTHex__Vertex_p_t_t__value_type, 0);
           _v = SWIG_CheckState(res);
           if (_v) {
             return _wrap_VectorVertices_insert__SWIG_1(self, args);
@@ -12527,18 +11724,15 @@ SWIGINTERN PyObject *_wrap_VectorVertices_insert(PyObject *self, PyObject *args)
   }
   
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'VectorVertices_insert'.\n"
-    "  Possible C/C++ prototypes are:\n"
-    "    insert(std::vector< Hex::Vertex * > *,std::vector< Hex::Vertex * >::iterator,std::vector< Hex::Vertex * >::value_type)\n"
-    "    insert(std::vector< Hex::Vertex * > *,std::vector< Hex::Vertex * >::iterator,std::vector< Hex::Vertex * >::size_type,std::vector< Hex::Vertex * >::value_type)\n");
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'VectorVertices_insert'.\n  Possible C/C++ prototypes are:\n    insert(std::vector<Hex::Vertex * >::iterator,std::vector<Hex::Vertex * >::value_type)\n    insert(std::vector<Hex::Vertex * >::iterator,std::vector<Hex::Vertex * >::size_type,std::vector<Hex::Vertex * >::value_type)\n");
   return NULL;
 }
 
 
 SWIGINTERN PyObject *_wrap_VectorVertices_reserve(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Vertex * > *arg1 = (std::vector< Hex::Vertex * > *) 0 ;
-  std::vector< Hex::Vertex * >::size_type arg2 ;
+  std::vector<Hex::Vertex * > *arg1 = (std::vector<Hex::Vertex * > *) 0 ;
+  std::vector<Hex::Vertex * >::size_type arg2 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   size_t val2 ;
@@ -12547,16 +11741,16 @@ SWIGINTERN PyObject *_wrap_VectorVertices_reserve(PyObject *SWIGUNUSEDPARM(self)
   PyObject * obj1 = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OO:VectorVertices_reserve",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Vertex_p_std__allocatorT_Hex__Vertex_p_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Vertex_p_std__allocatorTHex__Vertex_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorVertices_reserve" "', argument " "1"" of type '" "std::vector< Hex::Vertex * > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorVertices_reserve" "', argument " "1"" of type '" "std::vector<Hex::Vertex * > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::Vertex * > * >(argp1);
+  arg1 = reinterpret_cast< std::vector<Hex::Vertex * > * >(argp1);
   ecode2 = SWIG_AsVal_size_t(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorVertices_reserve" "', argument " "2"" of type '" "std::vector< Hex::Vertex * >::size_type""'");
+    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorVertices_reserve" "', argument " "2"" of type '" "std::vector<Hex::Vertex * >::size_type""'");
   } 
-  arg2 = static_cast< std::vector< Hex::Vertex * >::size_type >(val2);
+  arg2 = static_cast< std::vector<Hex::Vertex * >::size_type >(val2);
   (arg1)->reserve(arg2);
   resultobj = SWIG_Py_Void();
   return resultobj;
@@ -12567,19 +11761,19 @@ fail:
 
 SWIGINTERN PyObject *_wrap_VectorVertices_capacity(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Vertex * > *arg1 = (std::vector< Hex::Vertex * > *) 0 ;
+  std::vector<Hex::Vertex * > *arg1 = (std::vector<Hex::Vertex * > *) 0 ;
+  std::vector<Hex::Vertex * >::size_type result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  std::vector< Hex::Vertex * >::size_type result;
   
   if (!PyArg_ParseTuple(args,(char *)"O:VectorVertices_capacity",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Vertex_p_std__allocatorT_Hex__Vertex_p_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Vertex_p_std__allocatorTHex__Vertex_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorVertices_capacity" "', argument " "1"" of type '" "std::vector< Hex::Vertex * > const *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorVertices_capacity" "', argument " "1"" of type '" "std::vector<Hex::Vertex * > const *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::Vertex * > * >(argp1);
-  result = ((std::vector< Hex::Vertex * > const *)arg1)->capacity();
+  arg1 = reinterpret_cast< std::vector<Hex::Vertex * > * >(argp1);
+  result = ((std::vector<Hex::Vertex * > const *)arg1)->capacity();
   resultobj = SWIG_From_size_t(static_cast< size_t >(result));
   return resultobj;
 fail:
@@ -12589,18 +11783,19 @@ fail:
 
 SWIGINTERN PyObject *_wrap_delete_VectorVertices(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::Vertex * > *arg1 = (std::vector< Hex::Vertex * > *) 0 ;
+  std::vector<Hex::Vertex * > *arg1 = (std::vector<Hex::Vertex * > *) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"O:delete_VectorVertices",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__Vertex_p_std__allocatorT_Hex__Vertex_p_t_t, SWIG_POINTER_DISOWN |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__Vertex_p_std__allocatorTHex__Vertex_p_t_t, SWIG_POINTER_DISOWN |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_VectorVertices" "', argument " "1"" of type '" "std::vector< Hex::Vertex * > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_VectorVertices" "', argument " "1"" of type '" "std::vector<Hex::Vertex * > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::Vertex * > * >(argp1);
+  arg1 = reinterpret_cast< std::vector<Hex::Vertex * > * >(argp1);
   delete arg1;
+  
   resultobj = SWIG_Py_Void();
   return resultobj;
 fail:
@@ -12610,29 +11805,29 @@ fail:
 
 SWIGINTERN PyObject *VectorVertices_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *obj;
-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
-  SWIG_TypeNewClientData(SWIGTYPE_p_std__vectorT_Hex__Vertex_p_std__allocatorT_Hex__Vertex_p_t_t, SWIG_NewClientData(obj));
+  if (!PyArg_ParseTuple(args,(char*)"O|swigregister", &obj)) return NULL;
+  SWIG_TypeNewClientData(SWIGTYPE_p_std__vectorTHex__Vertex_p_std__allocatorTHex__Vertex_p_t_t, SWIG_NewClientData(obj));
   return SWIG_Py_Void();
 }
 
 SWIGINTERN PyObject *_wrap_VectorShapes_iterator(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::NewShape * > *arg1 = (std::vector< Hex::NewShape * > *) 0 ;
+  std::vector<Hex::NewShape * > *arg1 = (std::vector<Hex::NewShape * > *) 0 ;
   PyObject **arg2 = (PyObject **) 0 ;
+  swig::PySwigIterator *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  swig::SwigPyIterator *result = 0 ;
   
   arg2 = &obj0;
   if (!PyArg_ParseTuple(args,(char *)"O:VectorShapes_iterator",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__NewShape_p_std__allocatorT_Hex__NewShape_p_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__NewShape_p_std__allocatorTHex__NewShape_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorShapes_iterator" "', argument " "1"" of type '" "std::vector< Hex::NewShape * > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorShapes_iterator" "', argument " "1"" of type '" "std::vector<Hex::NewShape * > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::NewShape * > * >(argp1);
-  result = (swig::SwigPyIterator *)std_vector_Sl_Hex_NewShape_Sm__Sg__iterator(arg1,arg2);
-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_swig__SwigPyIterator, SWIG_POINTER_OWN |  0 );
+  arg1 = reinterpret_cast< std::vector<Hex::NewShape * > * >(argp1);
+  result = (swig::PySwigIterator *)std_vector_Sl_Hex_NewShape_Sm__Sg__iterator(arg1,arg2);
+  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_swig__PySwigIterator, SWIG_POINTER_OWN |  0 );
   return resultobj;
 fail:
   return NULL;
@@ -12641,41 +11836,19 @@ fail:
 
 SWIGINTERN PyObject *_wrap_VectorShapes___nonzero__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::NewShape * > *arg1 = (std::vector< Hex::NewShape * > *) 0 ;
-  void *argp1 = 0 ;
-  int res1 = 0 ;
-  PyObject * obj0 = 0 ;
+  std::vector<Hex::NewShape * > *arg1 = (std::vector<Hex::NewShape * > *) 0 ;
   bool result;
-  
-  if (!PyArg_ParseTuple(args,(char *)"O:VectorShapes___nonzero__",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__NewShape_p_std__allocatorT_Hex__NewShape_p_t_t, 0 |  0 );
-  if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorShapes___nonzero__" "', argument " "1"" of type '" "std::vector< Hex::NewShape * > const *""'"); 
-  }
-  arg1 = reinterpret_cast< std::vector< Hex::NewShape * > * >(argp1);
-  result = (bool)std_vector_Sl_Hex_NewShape_Sm__Sg____nonzero__((std::vector< Hex::NewShape * > const *)arg1);
-  resultobj = SWIG_From_bool(static_cast< bool >(result));
-  return resultobj;
-fail:
-  return NULL;
-}
-
-
-SWIGINTERN PyObject *_wrap_VectorShapes___bool__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
-  PyObject *resultobj = 0;
-  std::vector< Hex::NewShape * > *arg1 = (std::vector< Hex::NewShape * > *) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  bool result;
   
-  if (!PyArg_ParseTuple(args,(char *)"O:VectorShapes___bool__",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__NewShape_p_std__allocatorT_Hex__NewShape_p_t_t, 0 |  0 );
+  if (!PyArg_ParseTuple(args,(char *)"O:VectorShapes___nonzero__",&obj0)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__NewShape_p_std__allocatorTHex__NewShape_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorShapes___bool__" "', argument " "1"" of type '" "std::vector< Hex::NewShape * > const *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorShapes___nonzero__" "', argument " "1"" of type '" "std::vector<Hex::NewShape * > const *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::NewShape * > * >(argp1);
-  result = (bool)std_vector_Sl_Hex_NewShape_Sm__Sg____bool__((std::vector< Hex::NewShape * > const *)arg1);
+  arg1 = reinterpret_cast< std::vector<Hex::NewShape * > * >(argp1);
+  result = (bool)std_vector_Sl_Hex_NewShape_Sm__Sg____nonzero__((std::vector<Hex::NewShape * > const *)arg1);
   resultobj = SWIG_From_bool(static_cast< bool >(result));
   return resultobj;
 fail:
@@ -12685,19 +11858,19 @@ fail:
 
 SWIGINTERN PyObject *_wrap_VectorShapes___len__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::NewShape * > *arg1 = (std::vector< Hex::NewShape * > *) 0 ;
+  std::vector<Hex::NewShape * > *arg1 = (std::vector<Hex::NewShape * > *) 0 ;
+  std::vector<Hex::NewShape * >::size_type result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  std::vector< Hex::NewShape * >::size_type result;
   
   if (!PyArg_ParseTuple(args,(char *)"O:VectorShapes___len__",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__NewShape_p_std__allocatorT_Hex__NewShape_p_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__NewShape_p_std__allocatorTHex__NewShape_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorShapes___len__" "', argument " "1"" of type '" "std::vector< Hex::NewShape * > const *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorShapes___len__" "', argument " "1"" of type '" "std::vector<Hex::NewShape * > const *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::NewShape * > * >(argp1);
-  result = std_vector_Sl_Hex_NewShape_Sm__Sg____len__((std::vector< Hex::NewShape * > const *)arg1);
+  arg1 = reinterpret_cast< std::vector<Hex::NewShape * > * >(argp1);
+  result = std_vector_Sl_Hex_NewShape_Sm__Sg____len__((std::vector<Hex::NewShape * > const *)arg1);
   resultobj = SWIG_From_size_t(static_cast< size_t >(result));
   return resultobj;
 fail:
@@ -12707,26 +11880,26 @@ fail:
 
 SWIGINTERN PyObject *_wrap_VectorShapes_pop(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::NewShape * > *arg1 = (std::vector< Hex::NewShape * > *) 0 ;
+  std::vector<Hex::NewShape * > *arg1 = (std::vector<Hex::NewShape * > *) 0 ;
+  std::vector<Hex::NewShape * >::value_type result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  std::vector< Hex::NewShape * >::value_type result;
   
   if (!PyArg_ParseTuple(args,(char *)"O:VectorShapes_pop",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__NewShape_p_std__allocatorT_Hex__NewShape_p_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__NewShape_p_std__allocatorTHex__NewShape_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorShapes_pop" "', argument " "1"" of type '" "std::vector< Hex::NewShape * > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorShapes_pop" "', argument " "1"" of type '" "std::vector<Hex::NewShape * > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::NewShape * > * >(argp1);
+  arg1 = reinterpret_cast< std::vector<Hex::NewShape * > * >(argp1);
   try {
-    result = (std::vector< Hex::NewShape * >::value_type)std_vector_Sl_Hex_NewShape_Sm__Sg__pop(arg1);
+    result = (std::vector<Hex::NewShape * >::value_type)std_vector_Sl_Hex_NewShape_Sm__Sg__pop(arg1);
   }
   catch(std::out_of_range &_e) {
     SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
   }
   
-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_std__vectorT_Hex__NewShape_p_std__allocatorT_Hex__NewShape_p_t_t__value_type, 0 |  0 );
+  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_std__vectorTHex__NewShape_p_std__allocatorTHex__NewShape_p_t_t__value_type, 0 |  0 );
   return resultobj;
 fail:
   return NULL;
@@ -12735,9 +11908,10 @@ fail:
 
 SWIGINTERN PyObject *_wrap_VectorShapes___getslice__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::NewShape * > *arg1 = (std::vector< Hex::NewShape * > *) 0 ;
-  std::vector< Hex::NewShape * >::difference_type arg2 ;
-  std::vector< Hex::NewShape * >::difference_type arg3 ;
+  std::vector<Hex::NewShape * > *arg1 = (std::vector<Hex::NewShape * > *) 0 ;
+  std::vector<Hex::NewShape * >::difference_type arg2 ;
+  std::vector<Hex::NewShape * >::difference_type arg3 ;
+  std::vector<Hex::NewShape *,std::allocator<Hex::NewShape * > > *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   ptrdiff_t val2 ;
@@ -12747,32 +11921,31 @@ SWIGINTERN PyObject *_wrap_VectorShapes___getslice__(PyObject *SWIGUNUSEDPARM(se
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
   PyObject * obj2 = 0 ;
-  std::vector< Hex::NewShape *,std::allocator< Hex::NewShape * > > *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOO:VectorShapes___getslice__",&obj0,&obj1,&obj2)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__NewShape_p_std__allocatorT_Hex__NewShape_p_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__NewShape_p_std__allocatorTHex__NewShape_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorShapes___getslice__" "', argument " "1"" of type '" "std::vector< Hex::NewShape * > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorShapes___getslice__" "', argument " "1"" of type '" "std::vector<Hex::NewShape * > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::NewShape * > * >(argp1);
+  arg1 = reinterpret_cast< std::vector<Hex::NewShape * > * >(argp1);
   ecode2 = SWIG_AsVal_ptrdiff_t(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorShapes___getslice__" "', argument " "2"" of type '" "std::vector< Hex::NewShape * >::difference_type""'");
+    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorShapes___getslice__" "', argument " "2"" of type '" "std::vector<Hex::NewShape * >::difference_type""'");
   } 
-  arg2 = static_cast< std::vector< Hex::NewShape * >::difference_type >(val2);
+  arg2 = static_cast< std::vector<Hex::NewShape * >::difference_type >(val2);
   ecode3 = SWIG_AsVal_ptrdiff_t(obj2, &val3);
   if (!SWIG_IsOK(ecode3)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "VectorShapes___getslice__" "', argument " "3"" of type '" "std::vector< Hex::NewShape * >::difference_type""'");
+    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "VectorShapes___getslice__" "', argument " "3"" of type '" "std::vector<Hex::NewShape * >::difference_type""'");
   } 
-  arg3 = static_cast< std::vector< Hex::NewShape * >::difference_type >(val3);
+  arg3 = static_cast< std::vector<Hex::NewShape * >::difference_type >(val3);
   try {
-    result = (std::vector< Hex::NewShape *,std::allocator< Hex::NewShape * > > *)std_vector_Sl_Hex_NewShape_Sm__Sg____getslice__(arg1,arg2,arg3);
+    result = (std::vector<Hex::NewShape *,std::allocator<Hex::NewShape * > > *)std_vector_Sl_Hex_NewShape_Sm__Sg____getslice__(arg1,arg2,arg3);
   }
   catch(std::out_of_range &_e) {
     SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
   }
   
-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_Hex__NewShape_p_std__allocatorT_Hex__NewShape_p_t_t, SWIG_POINTER_OWN |  0 );
+  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorTHex__NewShape_p_std__allocatorTHex__NewShape_p_t_t, SWIG_POINTER_OWN |  0 );
   return resultobj;
 fail:
   return NULL;
@@ -12781,10 +11954,10 @@ fail:
 
 SWIGINTERN PyObject *_wrap_VectorShapes___setslice__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::NewShape * > *arg1 = (std::vector< Hex::NewShape * > *) 0 ;
-  std::vector< Hex::NewShape * >::difference_type arg2 ;
-  std::vector< Hex::NewShape * >::difference_type arg3 ;
-  std::vector< Hex::NewShape *,std::allocator< Hex::NewShape * > > *arg4 = 0 ;
+  std::vector<Hex::NewShape * > *arg1 = (std::vector<Hex::NewShape * > *) 0 ;
+  std::vector<Hex::NewShape * >::difference_type arg2 ;
+  std::vector<Hex::NewShape * >::difference_type arg3 ;
+  std::vector<Hex::NewShape *,std::allocator<Hex::NewShape * > > *arg4 = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   ptrdiff_t val2 ;
@@ -12798,34 +11971,34 @@ SWIGINTERN PyObject *_wrap_VectorShapes___setslice__(PyObject *SWIGUNUSEDPARM(se
   PyObject * obj3 = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOOO:VectorShapes___setslice__",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__NewShape_p_std__allocatorT_Hex__NewShape_p_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__NewShape_p_std__allocatorTHex__NewShape_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorShapes___setslice__" "', argument " "1"" of type '" "std::vector< Hex::NewShape * > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorShapes___setslice__" "', argument " "1"" of type '" "std::vector<Hex::NewShape * > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::NewShape * > * >(argp1);
+  arg1 = reinterpret_cast< std::vector<Hex::NewShape * > * >(argp1);
   ecode2 = SWIG_AsVal_ptrdiff_t(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorShapes___setslice__" "', argument " "2"" of type '" "std::vector< Hex::NewShape * >::difference_type""'");
+    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorShapes___setslice__" "', argument " "2"" of type '" "std::vector<Hex::NewShape * >::difference_type""'");
   } 
-  arg2 = static_cast< std::vector< Hex::NewShape * >::difference_type >(val2);
+  arg2 = static_cast< std::vector<Hex::NewShape * >::difference_type >(val2);
   ecode3 = SWIG_AsVal_ptrdiff_t(obj2, &val3);
   if (!SWIG_IsOK(ecode3)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "VectorShapes___setslice__" "', argument " "3"" of type '" "std::vector< Hex::NewShape * >::difference_type""'");
+    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "VectorShapes___setslice__" "', argument " "3"" of type '" "std::vector<Hex::NewShape * >::difference_type""'");
   } 
-  arg3 = static_cast< std::vector< Hex::NewShape * >::difference_type >(val3);
+  arg3 = static_cast< std::vector<Hex::NewShape * >::difference_type >(val3);
   {
-    std::vector<Hex::NewShape*,std::allocator< Hex::NewShape * > > *ptr = (std::vector<Hex::NewShape*,std::allocator< Hex::NewShape * > > *)0;
+    std::vector<Hex::NewShape*,std::allocator<Hex::NewShape * > > *ptr = (std::vector<Hex::NewShape*,std::allocator<Hex::NewShape * > > *)0;
     res4 = swig::asptr(obj3, &ptr);
     if (!SWIG_IsOK(res4)) {
-      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "VectorShapes___setslice__" "', argument " "4"" of type '" "std::vector< Hex::NewShape *,std::allocator< Hex::NewShape * > > const &""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "VectorShapes___setslice__" "', argument " "4"" of type '" "std::vector<Hex::NewShape *,std::allocator<Hex::NewShape * > > const &""'"); 
     }
     if (!ptr) {
-      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "VectorShapes___setslice__" "', argument " "4"" of type '" "std::vector< Hex::NewShape *,std::allocator< Hex::NewShape * > > const &""'"); 
+      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "VectorShapes___setslice__" "', argument " "4"" of type '" "std::vector<Hex::NewShape *,std::allocator<Hex::NewShape * > > const &""'"); 
     }
     arg4 = ptr;
   }
   try {
-    std_vector_Sl_Hex_NewShape_Sm__Sg____setslice__(arg1,arg2,arg3,(std::vector< Hex::NewShape *,std::allocator< Hex::NewShape * > > const &)*arg4);
+    std_vector_Sl_Hex_NewShape_Sm__Sg____setslice__(arg1,arg2,arg3,(std::vector<Hex::NewShape *,std::allocator<Hex::NewShape * > > const &)*arg4);
   }
   catch(std::out_of_range &_e) {
     SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
@@ -12845,9 +12018,9 @@ fail:
 
 SWIGINTERN PyObject *_wrap_VectorShapes___delslice__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::NewShape * > *arg1 = (std::vector< Hex::NewShape * > *) 0 ;
-  std::vector< Hex::NewShape * >::difference_type arg2 ;
-  std::vector< Hex::NewShape * >::difference_type arg3 ;
+  std::vector<Hex::NewShape * > *arg1 = (std::vector<Hex::NewShape * > *) 0 ;
+  std::vector<Hex::NewShape * >::difference_type arg2 ;
+  std::vector<Hex::NewShape * >::difference_type arg3 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   ptrdiff_t val2 ;
@@ -12859,21 +12032,21 @@ SWIGINTERN PyObject *_wrap_VectorShapes___delslice__(PyObject *SWIGUNUSEDPARM(se
   PyObject * obj2 = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOO:VectorShapes___delslice__",&obj0,&obj1,&obj2)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__NewShape_p_std__allocatorT_Hex__NewShape_p_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__NewShape_p_std__allocatorTHex__NewShape_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorShapes___delslice__" "', argument " "1"" of type '" "std::vector< Hex::NewShape * > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorShapes___delslice__" "', argument " "1"" of type '" "std::vector<Hex::NewShape * > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::NewShape * > * >(argp1);
+  arg1 = reinterpret_cast< std::vector<Hex::NewShape * > * >(argp1);
   ecode2 = SWIG_AsVal_ptrdiff_t(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorShapes___delslice__" "', argument " "2"" of type '" "std::vector< Hex::NewShape * >::difference_type""'");
+    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorShapes___delslice__" "', argument " "2"" of type '" "std::vector<Hex::NewShape * >::difference_type""'");
   } 
-  arg2 = static_cast< std::vector< Hex::NewShape * >::difference_type >(val2);
+  arg2 = static_cast< std::vector<Hex::NewShape * >::difference_type >(val2);
   ecode3 = SWIG_AsVal_ptrdiff_t(obj2, &val3);
   if (!SWIG_IsOK(ecode3)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "VectorShapes___delslice__" "', argument " "3"" of type '" "std::vector< Hex::NewShape * >::difference_type""'");
+    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "VectorShapes___delslice__" "', argument " "3"" of type '" "std::vector<Hex::NewShape * >::difference_type""'");
   } 
-  arg3 = static_cast< std::vector< Hex::NewShape * >::difference_type >(val3);
+  arg3 = static_cast< std::vector<Hex::NewShape * >::difference_type >(val3);
   try {
     std_vector_Sl_Hex_NewShape_Sm__Sg____delslice__(arg1,arg2,arg3);
   }
@@ -12888,10 +12061,10 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_VectorShapes___delitem____SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_VectorShapes___delitem__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::NewShape * > *arg1 = (std::vector< Hex::NewShape * > *) 0 ;
-  std::vector< Hex::NewShape * >::difference_type arg2 ;
+  std::vector<Hex::NewShape * > *arg1 = (std::vector<Hex::NewShape * > *) 0 ;
+  std::vector<Hex::NewShape * >::difference_type arg2 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   ptrdiff_t val2 ;
@@ -12900,18 +12073,18 @@ SWIGINTERN PyObject *_wrap_VectorShapes___delitem____SWIG_0(PyObject *SWIGUNUSED
   PyObject * obj1 = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OO:VectorShapes___delitem__",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__NewShape_p_std__allocatorT_Hex__NewShape_p_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__NewShape_p_std__allocatorTHex__NewShape_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorShapes___delitem__" "', argument " "1"" of type '" "std::vector< Hex::NewShape * > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorShapes___delitem__" "', argument " "1"" of type '" "std::vector<Hex::NewShape * > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::NewShape * > * >(argp1);
+  arg1 = reinterpret_cast< std::vector<Hex::NewShape * > * >(argp1);
   ecode2 = SWIG_AsVal_ptrdiff_t(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorShapes___delitem__" "', argument " "2"" of type '" "std::vector< Hex::NewShape * >::difference_type""'");
+    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorShapes___delitem__" "', argument " "2"" of type '" "std::vector<Hex::NewShape * >::difference_type""'");
   } 
-  arg2 = static_cast< std::vector< Hex::NewShape * >::difference_type >(val2);
+  arg2 = static_cast< std::vector<Hex::NewShape * >::difference_type >(val2);
   try {
-    std_vector_Sl_Hex_NewShape_Sm__Sg____delitem____SWIG_0(arg1,arg2);
+    std_vector_Sl_Hex_NewShape_Sm__Sg____delitem__(arg1,arg2);
   }
   catch(std::out_of_range &_e) {
     SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
@@ -12924,115 +12097,111 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_VectorShapes___getitem____SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_VectorShapes___getitem__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::NewShape * > *arg1 = (std::vector< Hex::NewShape * > *) 0 ;
-  PySliceObject *arg2 = (PySliceObject *) 0 ;
+  std::vector<Hex::NewShape * > *arg1 = (std::vector<Hex::NewShape * > *) 0 ;
+  std::vector<Hex::NewShape * >::difference_type arg2 ;
+  std::vector<Hex::NewShape * >::value_type result;
   void *argp1 = 0 ;
   int res1 = 0 ;
+  ptrdiff_t val2 ;
+  int ecode2 = 0 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
-  std::vector< Hex::NewShape *,std::allocator< Hex::NewShape * > > *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OO:VectorShapes___getitem__",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__NewShape_p_std__allocatorT_Hex__NewShape_p_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__NewShape_p_std__allocatorTHex__NewShape_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorShapes___getitem__" "', argument " "1"" of type '" "std::vector< Hex::NewShape * > *""'"); 
-  }
-  arg1 = reinterpret_cast< std::vector< Hex::NewShape * > * >(argp1);
-  {
-    arg2 = (PySliceObject *) obj1;
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorShapes___getitem__" "', argument " "1"" of type '" "std::vector<Hex::NewShape * > *""'"); 
   }
+  arg1 = reinterpret_cast< std::vector<Hex::NewShape * > * >(argp1);
+  ecode2 = SWIG_AsVal_ptrdiff_t(obj1, &val2);
+  if (!SWIG_IsOK(ecode2)) {
+    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorShapes___getitem__" "', argument " "2"" of type '" "std::vector<Hex::NewShape * >::difference_type""'");
+  } 
+  arg2 = static_cast< std::vector<Hex::NewShape * >::difference_type >(val2);
   try {
-    result = (std::vector< Hex::NewShape *,std::allocator< Hex::NewShape * > > *)std_vector_Sl_Hex_NewShape_Sm__Sg____getitem____SWIG_0(arg1,arg2);
+    result = (std::vector<Hex::NewShape * >::value_type)std_vector_Sl_Hex_NewShape_Sm__Sg____getitem__(arg1,arg2);
   }
   catch(std::out_of_range &_e) {
     SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
   }
   
-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_Hex__NewShape_p_std__allocatorT_Hex__NewShape_p_t_t, 0 |  0 );
+  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_std__vectorTHex__NewShape_p_std__allocatorTHex__NewShape_p_t_t__value_type, 0 |  0 );
   return resultobj;
 fail:
   return NULL;
 }
 
 
-SWIGINTERN PyObject *_wrap_VectorShapes___setitem____SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_VectorShapes___setitem__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::NewShape * > *arg1 = (std::vector< Hex::NewShape * > *) 0 ;
-  PySliceObject *arg2 = (PySliceObject *) 0 ;
-  std::vector< Hex::NewShape *,std::allocator< Hex::NewShape * > > *arg3 = 0 ;
+  std::vector<Hex::NewShape * > *arg1 = (std::vector<Hex::NewShape * > *) 0 ;
+  std::vector<Hex::NewShape * >::difference_type arg2 ;
+  std::vector<Hex::NewShape * >::value_type arg3 = (std::vector<Hex::NewShape * >::value_type) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
-  int res3 = SWIG_OLDOBJ ;
+  ptrdiff_t val2 ;
+  int ecode2 = 0 ;
+  void *argp3 = 0 ;
+  int res3 = 0 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
   PyObject * obj2 = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOO:VectorShapes___setitem__",&obj0,&obj1,&obj2)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__NewShape_p_std__allocatorT_Hex__NewShape_p_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__NewShape_p_std__allocatorTHex__NewShape_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorShapes___setitem__" "', argument " "1"" of type '" "std::vector< Hex::NewShape * > *""'"); 
-  }
-  arg1 = reinterpret_cast< std::vector< Hex::NewShape * > * >(argp1);
-  {
-    arg2 = (PySliceObject *) obj1;
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorShapes___setitem__" "', argument " "1"" of type '" "std::vector<Hex::NewShape * > *""'"); 
   }
-  {
-    std::vector<Hex::NewShape*,std::allocator< Hex::NewShape * > > *ptr = (std::vector<Hex::NewShape*,std::allocator< Hex::NewShape * > > *)0;
-    res3 = swig::asptr(obj2, &ptr);
-    if (!SWIG_IsOK(res3)) {
-      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "VectorShapes___setitem__" "', argument " "3"" of type '" "std::vector< Hex::NewShape *,std::allocator< Hex::NewShape * > > const &""'"); 
-    }
-    if (!ptr) {
-      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "VectorShapes___setitem__" "', argument " "3"" of type '" "std::vector< Hex::NewShape *,std::allocator< Hex::NewShape * > > const &""'"); 
-    }
-    arg3 = ptr;
+  arg1 = reinterpret_cast< std::vector<Hex::NewShape * > * >(argp1);
+  ecode2 = SWIG_AsVal_ptrdiff_t(obj1, &val2);
+  if (!SWIG_IsOK(ecode2)) {
+    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorShapes___setitem__" "', argument " "2"" of type '" "std::vector<Hex::NewShape * >::difference_type""'");
+  } 
+  arg2 = static_cast< std::vector<Hex::NewShape * >::difference_type >(val2);
+  res3 = SWIG_ConvertPtr(obj2, &argp3,SWIGTYPE_std__vectorTHex__NewShape_p_std__allocatorTHex__NewShape_p_t_t__value_type, 0 |  0 );
+  if (!SWIG_IsOK(res3)) {
+    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "VectorShapes___setitem__" "', argument " "3"" of type '" "std::vector<Hex::NewShape * >::value_type""'"); 
   }
+  arg3 = reinterpret_cast< std::vector<Hex::NewShape * >::value_type >(argp3);
   try {
-    std_vector_Sl_Hex_NewShape_Sm__Sg____setitem____SWIG_0(arg1,arg2,(std::vector< Hex::NewShape *,std::allocator< Hex::NewShape * > > const &)*arg3);
+    std_vector_Sl_Hex_NewShape_Sm__Sg____setitem__(arg1,arg2,arg3);
   }
   catch(std::out_of_range &_e) {
     SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
   }
-  catch(std::invalid_argument &_e) {
-    SWIG_exception_fail(SWIG_ValueError, (&_e)->what());
-  }
   
   resultobj = SWIG_Py_Void();
-  if (SWIG_IsNewObj(res3)) delete arg3;
   return resultobj;
 fail:
-  if (SWIG_IsNewObj(res3)) delete arg3;
   return NULL;
 }
 
 
-SWIGINTERN PyObject *_wrap_VectorShapes___delitem____SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_VectorShapes_append(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::NewShape * > *arg1 = (std::vector< Hex::NewShape * > *) 0 ;
-  PySliceObject *arg2 = (PySliceObject *) 0 ;
+  std::vector<Hex::NewShape * > *arg1 = (std::vector<Hex::NewShape * > *) 0 ;
+  std::vector<Hex::NewShape * >::value_type arg2 = (std::vector<Hex::NewShape * >::value_type) 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:VectorShapes___delitem__",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__NewShape_p_std__allocatorT_Hex__NewShape_p_t_t, 0 |  0 );
+  if (!PyArg_ParseTuple(args,(char *)"OO:VectorShapes_append",&obj0,&obj1)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__NewShape_p_std__allocatorTHex__NewShape_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorShapes___delitem__" "', argument " "1"" of type '" "std::vector< Hex::NewShape * > *""'"); 
-  }
-  arg1 = reinterpret_cast< std::vector< Hex::NewShape * > * >(argp1);
-  {
-    arg2 = (PySliceObject *) obj1;
-  }
-  try {
-    std_vector_Sl_Hex_NewShape_Sm__Sg____delitem____SWIG_1(arg1,arg2);
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorShapes_append" "', argument " "1"" of type '" "std::vector<Hex::NewShape * > *""'"); 
   }
-  catch(std::out_of_range &_e) {
-    SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
+  arg1 = reinterpret_cast< std::vector<Hex::NewShape * > * >(argp1);
+  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_std__vectorTHex__NewShape_p_std__allocatorTHex__NewShape_p_t_t__value_type, 0 |  0 );
+  if (!SWIG_IsOK(res2)) {
+    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "VectorShapes_append" "', argument " "2"" of type '" "std::vector<Hex::NewShape * >::value_type""'"); 
   }
-  
+  arg2 = reinterpret_cast< std::vector<Hex::NewShape * >::value_type >(argp2);
+  std_vector_Sl_Hex_NewShape_Sm__Sg__append(arg1,arg2);
   resultobj = SWIG_Py_Void();
   return resultobj;
 fail:
@@ -13040,242 +12209,117 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_VectorShapes___delitem__(PyObject *self, PyObject *args) {
-  int argc;
-  PyObject *argv[3];
-  int ii;
-  
-  if (!PyTuple_Check(args)) SWIG_fail;
-  argc = (int)PyObject_Length(args);
-  for (ii = 0; (ii < argc) && (ii < 2); ii++) {
-    argv[ii] = PyTuple_GET_ITEM(args,ii);
-  }
-  if (argc == 2) {
-    int _v;
-    int res = swig::asptr(argv[0], (std::vector<Hex::NewShape*,std::allocator< Hex::NewShape * > >**)(0));
-    _v = SWIG_CheckState(res);
-    if (_v) {
-      {
-        _v = PySlice_Check(argv[1]);
-      }
-      if (_v) {
-        return _wrap_VectorShapes___delitem____SWIG_1(self, args);
-      }
-    }
-  }
-  if (argc == 2) {
-    int _v;
-    int res = swig::asptr(argv[0], (std::vector<Hex::NewShape*,std::allocator< Hex::NewShape * > >**)(0));
-    _v = SWIG_CheckState(res);
-    if (_v) {
-      {
-        int res = SWIG_AsVal_ptrdiff_t(argv[1], NULL);
-        _v = SWIG_CheckState(res);
-      }
-      if (_v) {
-        return _wrap_VectorShapes___delitem____SWIG_0(self, args);
-      }
-    }
-  }
+SWIGINTERN PyObject *_wrap_new_VectorShapes__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+  PyObject *resultobj = 0;
+  std::vector<Hex::NewShape * > *result = 0 ;
   
+  if (!PyArg_ParseTuple(args,(char *)":new_VectorShapes")) SWIG_fail;
+  result = (std::vector<Hex::NewShape * > *)new std::vector<Hex::NewShape * >();
+  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorTHex__NewShape_p_std__allocatorTHex__NewShape_p_t_t, SWIG_POINTER_NEW |  0 );
+  return resultobj;
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'VectorShapes___delitem__'.\n"
-    "  Possible C/C++ prototypes are:\n"
-    "    __delitem__(std::vector< Hex::NewShape * > *,std::vector< Hex::NewShape * >::difference_type)\n"
-    "    __delitem__(std::vector< Hex::NewShape * > *,PySliceObject *)\n");
   return NULL;
 }
 
 
-SWIGINTERN PyObject *_wrap_VectorShapes___getitem____SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_new_VectorShapes__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::NewShape * > *arg1 = (std::vector< Hex::NewShape * > *) 0 ;
-  std::vector< Hex::NewShape * >::difference_type arg2 ;
-  void *argp1 = 0 ;
-  int res1 = 0 ;
-  ptrdiff_t val2 ;
-  int ecode2 = 0 ;
+  std::vector<Hex::NewShape * > *arg1 = 0 ;
+  std::vector<Hex::NewShape * > *result = 0 ;
+  int res1 = SWIG_OLDOBJ ;
   PyObject * obj0 = 0 ;
-  PyObject * obj1 = 0 ;
-  std::vector< Hex::NewShape * >::value_type result;
   
-  if (!PyArg_ParseTuple(args,(char *)"OO:VectorShapes___getitem__",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__NewShape_p_std__allocatorT_Hex__NewShape_p_t_t, 0 |  0 );
-  if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorShapes___getitem__" "', argument " "1"" of type '" "std::vector< Hex::NewShape * > *""'"); 
-  }
-  arg1 = reinterpret_cast< std::vector< Hex::NewShape * > * >(argp1);
-  ecode2 = SWIG_AsVal_ptrdiff_t(obj1, &val2);
-  if (!SWIG_IsOK(ecode2)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorShapes___getitem__" "', argument " "2"" of type '" "std::vector< Hex::NewShape * >::difference_type""'");
-  } 
-  arg2 = static_cast< std::vector< Hex::NewShape * >::difference_type >(val2);
-  try {
-    result = (std::vector< Hex::NewShape * >::value_type)std_vector_Sl_Hex_NewShape_Sm__Sg____getitem____SWIG_1(arg1,arg2);
-  }
-  catch(std::out_of_range &_e) {
-    SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
+  if (!PyArg_ParseTuple(args,(char *)"O:new_VectorShapes",&obj0)) SWIG_fail;
+  {
+    std::vector<Hex::NewShape*,std::allocator<Hex::NewShape * > > *ptr = (std::vector<Hex::NewShape*,std::allocator<Hex::NewShape * > > *)0;
+    res1 = swig::asptr(obj0, &ptr);
+    if (!SWIG_IsOK(res1)) {
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_VectorShapes" "', argument " "1"" of type '" "std::vector<Hex::NewShape * > const &""'"); 
+    }
+    if (!ptr) {
+      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_VectorShapes" "', argument " "1"" of type '" "std::vector<Hex::NewShape * > const &""'"); 
+    }
+    arg1 = ptr;
   }
-  
-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_std__vectorT_Hex__NewShape_p_std__allocatorT_Hex__NewShape_p_t_t__value_type, 0 |  0 );
+  result = (std::vector<Hex::NewShape * > *)new std::vector<Hex::NewShape * >((std::vector<Hex::NewShape * > const &)*arg1);
+  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorTHex__NewShape_p_std__allocatorTHex__NewShape_p_t_t, SWIG_POINTER_NEW |  0 );
+  if (SWIG_IsNewObj(res1)) delete arg1;
   return resultobj;
 fail:
+  if (SWIG_IsNewObj(res1)) delete arg1;
   return NULL;
 }
 
 
-SWIGINTERN PyObject *_wrap_VectorShapes___getitem__(PyObject *self, PyObject *args) {
-  int argc;
-  PyObject *argv[3];
-  int ii;
+SWIGINTERN PyObject *_wrap_VectorShapes_empty(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+  PyObject *resultobj = 0;
+  std::vector<Hex::NewShape * > *arg1 = (std::vector<Hex::NewShape * > *) 0 ;
+  bool result;
+  void *argp1 = 0 ;
+  int res1 = 0 ;
+  PyObject * obj0 = 0 ;
   
-  if (!PyTuple_Check(args)) SWIG_fail;
-  argc = (int)PyObject_Length(args);
-  for (ii = 0; (ii < argc) && (ii < 2); ii++) {
-    argv[ii] = PyTuple_GET_ITEM(args,ii);
-  }
-  if (argc == 2) {
-    int _v;
-    int res = swig::asptr(argv[0], (std::vector<Hex::NewShape*,std::allocator< Hex::NewShape * > >**)(0));
-    _v = SWIG_CheckState(res);
-    if (_v) {
-      {
-        _v = PySlice_Check(argv[1]);
-      }
-      if (_v) {
-        return _wrap_VectorShapes___getitem____SWIG_0(self, args);
-      }
-    }
-  }
-  if (argc == 2) {
-    int _v;
-    int res = swig::asptr(argv[0], (std::vector<Hex::NewShape*,std::allocator< Hex::NewShape * > >**)(0));
-    _v = SWIG_CheckState(res);
-    if (_v) {
-      {
-        int res = SWIG_AsVal_ptrdiff_t(argv[1], NULL);
-        _v = SWIG_CheckState(res);
-      }
-      if (_v) {
-        return _wrap_VectorShapes___getitem____SWIG_1(self, args);
-      }
-    }
+  if (!PyArg_ParseTuple(args,(char *)"O:VectorShapes_empty",&obj0)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__NewShape_p_std__allocatorTHex__NewShape_p_t_t, 0 |  0 );
+  if (!SWIG_IsOK(res1)) {
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorShapes_empty" "', argument " "1"" of type '" "std::vector<Hex::NewShape * > const *""'"); 
   }
-  
+  arg1 = reinterpret_cast< std::vector<Hex::NewShape * > * >(argp1);
+  result = (bool)((std::vector<Hex::NewShape * > const *)arg1)->empty();
+  resultobj = SWIG_From_bool(static_cast< bool >(result));
+  return resultobj;
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'VectorShapes___getitem__'.\n"
-    "  Possible C/C++ prototypes are:\n"
-    "    __getitem__(std::vector< Hex::NewShape * > *,PySliceObject *)\n"
-    "    __getitem__(std::vector< Hex::NewShape * > *,std::vector< Hex::NewShape * >::difference_type)\n");
   return NULL;
 }
 
 
-SWIGINTERN PyObject *_wrap_VectorShapes___setitem____SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_VectorShapes_size(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::NewShape * > *arg1 = (std::vector< Hex::NewShape * > *) 0 ;
-  std::vector< Hex::NewShape * >::difference_type arg2 ;
-  std::vector< Hex::NewShape * >::value_type arg3 = (std::vector< Hex::NewShape * >::value_type) 0 ;
+  std::vector<Hex::NewShape * > *arg1 = (std::vector<Hex::NewShape * > *) 0 ;
+  std::vector<Hex::NewShape * >::size_type result;
   void *argp1 = 0 ;
   int res1 = 0 ;
-  ptrdiff_t val2 ;
-  int ecode2 = 0 ;
-  void *argp3 = 0 ;
-  int res3 = 0 ;
   PyObject * obj0 = 0 ;
-  PyObject * obj1 = 0 ;
-  PyObject * obj2 = 0 ;
   
-  if (!PyArg_ParseTuple(args,(char *)"OOO:VectorShapes___setitem__",&obj0,&obj1,&obj2)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__NewShape_p_std__allocatorT_Hex__NewShape_p_t_t, 0 |  0 );
+  if (!PyArg_ParseTuple(args,(char *)"O:VectorShapes_size",&obj0)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__NewShape_p_std__allocatorTHex__NewShape_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorShapes___setitem__" "', argument " "1"" of type '" "std::vector< Hex::NewShape * > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorShapes_size" "', argument " "1"" of type '" "std::vector<Hex::NewShape * > const *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::NewShape * > * >(argp1);
-  ecode2 = SWIG_AsVal_ptrdiff_t(obj1, &val2);
-  if (!SWIG_IsOK(ecode2)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorShapes___setitem__" "', argument " "2"" of type '" "std::vector< Hex::NewShape * >::difference_type""'");
-  } 
-  arg2 = static_cast< std::vector< Hex::NewShape * >::difference_type >(val2);
-  res3 = SWIG_ConvertPtr(obj2, &argp3,SWIGTYPE_std__vectorT_Hex__NewShape_p_std__allocatorT_Hex__NewShape_p_t_t__value_type, 0 |  0 );
-  if (!SWIG_IsOK(res3)) {
-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "VectorShapes___setitem__" "', argument " "3"" of type '" "std::vector< Hex::NewShape * >::value_type""'"); 
-  }
-  arg3 = reinterpret_cast< std::vector< Hex::NewShape * >::value_type >(argp3);
-  try {
-    std_vector_Sl_Hex_NewShape_Sm__Sg____setitem____SWIG_1(arg1,arg2,arg3);
-  }
-  catch(std::out_of_range &_e) {
-    SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
-  }
-  
-  resultobj = SWIG_Py_Void();
+  arg1 = reinterpret_cast< std::vector<Hex::NewShape * > * >(argp1);
+  result = ((std::vector<Hex::NewShape * > const *)arg1)->size();
+  resultobj = SWIG_From_size_t(static_cast< size_t >(result));
   return resultobj;
 fail:
   return NULL;
 }
 
 
-SWIGINTERN PyObject *_wrap_VectorShapes___setitem__(PyObject *self, PyObject *args) {
-  int argc;
-  PyObject *argv[4];
-  int ii;
+SWIGINTERN PyObject *_wrap_VectorShapes_clear(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+  PyObject *resultobj = 0;
+  std::vector<Hex::NewShape * > *arg1 = (std::vector<Hex::NewShape * > *) 0 ;
+  void *argp1 = 0 ;
+  int res1 = 0 ;
+  PyObject * obj0 = 0 ;
   
-  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 == 3) {
-    int _v;
-    int res = swig::asptr(argv[0], (std::vector<Hex::NewShape*,std::allocator< Hex::NewShape * > >**)(0));
-    _v = SWIG_CheckState(res);
-    if (_v) {
-      {
-        _v = PySlice_Check(argv[1]);
-      }
-      if (_v) {
-        int res = swig::asptr(argv[2], (std::vector<Hex::NewShape*,std::allocator< Hex::NewShape * > >**)(0));
-        _v = SWIG_CheckState(res);
-        if (_v) {
-          return _wrap_VectorShapes___setitem____SWIG_0(self, args);
-        }
-      }
-    }
-  }
-  if (argc == 3) {
-    int _v;
-    int res = swig::asptr(argv[0], (std::vector<Hex::NewShape*,std::allocator< Hex::NewShape * > >**)(0));
-    _v = SWIG_CheckState(res);
-    if (_v) {
-      {
-        int res = SWIG_AsVal_ptrdiff_t(argv[1], NULL);
-        _v = SWIG_CheckState(res);
-      }
-      if (_v) {
-        void *vptr = 0;
-        int res = SWIG_ConvertPtr(argv[2], &vptr, SWIGTYPE_std__vectorT_Hex__NewShape_p_std__allocatorT_Hex__NewShape_p_t_t__value_type, 0);
-        _v = SWIG_CheckState(res);
-        if (_v) {
-          return _wrap_VectorShapes___setitem____SWIG_1(self, args);
-        }
-      }
-    }
+  if (!PyArg_ParseTuple(args,(char *)"O:VectorShapes_clear",&obj0)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__NewShape_p_std__allocatorTHex__NewShape_p_t_t, 0 |  0 );
+  if (!SWIG_IsOK(res1)) {
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorShapes_clear" "', argument " "1"" of type '" "std::vector<Hex::NewShape * > *""'"); 
   }
-  
+  arg1 = reinterpret_cast< std::vector<Hex::NewShape * > * >(argp1);
+  (arg1)->clear();
+  resultobj = SWIG_Py_Void();
+  return resultobj;
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'VectorShapes___setitem__'.\n"
-    "  Possible C/C++ prototypes are:\n"
-    "    __setitem__(std::vector< Hex::NewShape * > *,PySliceObject *,std::vector< Hex::NewShape *,std::allocator< Hex::NewShape * > > const &)\n"
-    "    __setitem__(std::vector< Hex::NewShape * > *,std::vector< Hex::NewShape * >::difference_type,std::vector< Hex::NewShape * >::value_type)\n");
   return NULL;
 }
 
 
-SWIGINTERN PyObject *_wrap_VectorShapes_append(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_VectorShapes_swap(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::NewShape * > *arg1 = (std::vector< Hex::NewShape * > *) 0 ;
-  std::vector< Hex::NewShape * >::value_type arg2 = (std::vector< Hex::NewShape * >::value_type) 0 ;
+  std::vector<Hex::NewShape * > *arg1 = (std::vector<Hex::NewShape * > *) 0 ;
+  std::vector<Hex::NewShape * > *arg2 = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   void *argp2 = 0 ;
@@ -13283,18 +12327,21 @@ SWIGINTERN PyObject *_wrap_VectorShapes_append(PyObject *SWIGUNUSEDPARM(self), P
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
   
-  if (!PyArg_ParseTuple(args,(char *)"OO:VectorShapes_append",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__NewShape_p_std__allocatorT_Hex__NewShape_p_t_t, 0 |  0 );
+  if (!PyArg_ParseTuple(args,(char *)"OO:VectorShapes_swap",&obj0,&obj1)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__NewShape_p_std__allocatorTHex__NewShape_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorShapes_append" "', argument " "1"" of type '" "std::vector< Hex::NewShape * > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorShapes_swap" "', argument " "1"" of type '" "std::vector<Hex::NewShape * > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::NewShape * > * >(argp1);
-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_std__vectorT_Hex__NewShape_p_std__allocatorT_Hex__NewShape_p_t_t__value_type, 0 |  0 );
+  arg1 = reinterpret_cast< std::vector<Hex::NewShape * > * >(argp1);
+  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_std__vectorTHex__NewShape_p_std__allocatorTHex__NewShape_p_t_t,  0 );
   if (!SWIG_IsOK(res2)) {
-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "VectorShapes_append" "', argument " "2"" of type '" "std::vector< Hex::NewShape * >::value_type""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "VectorShapes_swap" "', argument " "2"" of type '" "std::vector<Hex::NewShape * > &""'"); 
   }
-  arg2 = reinterpret_cast< std::vector< Hex::NewShape * >::value_type >(argp2);
-  std_vector_Sl_Hex_NewShape_Sm__Sg__append(arg1,arg2);
+  if (!argp2) {
+    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "VectorShapes_swap" "', argument " "2"" of type '" "std::vector<Hex::NewShape * > &""'"); 
+  }
+  arg2 = reinterpret_cast< std::vector<Hex::NewShape * > * >(argp2);
+  (arg1)->swap(*arg2);
   resultobj = SWIG_Py_Void();
   return resultobj;
 fail:
@@ -13302,276 +12349,360 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_new_VectorShapes__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_VectorShapes_get_allocator(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::NewShape * > *result = 0 ;
+  std::vector<Hex::NewShape * > *arg1 = (std::vector<Hex::NewShape * > *) 0 ;
+  SwigValueWrapper<std::allocator<Hex::NewShape * > > result;
+  void *argp1 = 0 ;
+  int res1 = 0 ;
+  PyObject * obj0 = 0 ;
   
-  if (!PyArg_ParseTuple(args,(char *)":new_VectorShapes")) SWIG_fail;
-  result = (std::vector< Hex::NewShape * > *)new std::vector< Hex::NewShape * >();
-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_Hex__NewShape_p_std__allocatorT_Hex__NewShape_p_t_t, SWIG_POINTER_NEW |  0 );
+  if (!PyArg_ParseTuple(args,(char *)"O:VectorShapes_get_allocator",&obj0)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__NewShape_p_std__allocatorTHex__NewShape_p_t_t, 0 |  0 );
+  if (!SWIG_IsOK(res1)) {
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorShapes_get_allocator" "', argument " "1"" of type '" "std::vector<Hex::NewShape * > const *""'"); 
+  }
+  arg1 = reinterpret_cast< std::vector<Hex::NewShape * > * >(argp1);
+  result = ((std::vector<Hex::NewShape * > const *)arg1)->get_allocator();
+  resultobj = SWIG_NewPointerObj((new std::vector<Hex::NewShape * >::allocator_type(static_cast< const std::vector<Hex::NewShape * >::allocator_type& >(result))), SWIGTYPE_p_std__vectorTHex__NewShape_p_std__allocatorTHex__NewShape_p_t_t__allocator_type, SWIG_POINTER_OWN |  0 );
   return resultobj;
 fail:
   return NULL;
 }
 
 
-SWIGINTERN PyObject *_wrap_new_VectorShapes__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_VectorShapes_begin__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::NewShape * > *arg1 = 0 ;
-  int res1 = SWIG_OLDOBJ ;
+  std::vector<Hex::NewShape * > *arg1 = (std::vector<Hex::NewShape * > *) 0 ;
+  std::vector<Hex::NewShape * >::iterator result;
+  void *argp1 = 0 ;
+  int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  std::vector< Hex::NewShape * > *result = 0 ;
   
-  if (!PyArg_ParseTuple(args,(char *)"O:new_VectorShapes",&obj0)) SWIG_fail;
-  {
-    std::vector<Hex::NewShape*,std::allocator< Hex::NewShape * > > *ptr = (std::vector<Hex::NewShape*,std::allocator< Hex::NewShape * > > *)0;
-    res1 = swig::asptr(obj0, &ptr);
-    if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_VectorShapes" "', argument " "1"" of type '" "std::vector< Hex::NewShape * > const &""'"); 
-    }
-    if (!ptr) {
-      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_VectorShapes" "', argument " "1"" of type '" "std::vector< Hex::NewShape * > const &""'"); 
-    }
-    arg1 = ptr;
+  if (!PyArg_ParseTuple(args,(char *)"O:VectorShapes_begin",&obj0)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__NewShape_p_std__allocatorTHex__NewShape_p_t_t, 0 |  0 );
+  if (!SWIG_IsOK(res1)) {
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorShapes_begin" "', argument " "1"" of type '" "std::vector<Hex::NewShape * > *""'"); 
   }
-  result = (std::vector< Hex::NewShape * > *)new std::vector< Hex::NewShape * >((std::vector< Hex::NewShape * > const &)*arg1);
-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_Hex__NewShape_p_std__allocatorT_Hex__NewShape_p_t_t, SWIG_POINTER_NEW |  0 );
-  if (SWIG_IsNewObj(res1)) delete arg1;
+  arg1 = reinterpret_cast< std::vector<Hex::NewShape * > * >(argp1);
+  result = (arg1)->begin();
+  resultobj = SWIG_NewPointerObj(swig::make_output_iterator(static_cast< const std::vector<Hex::NewShape * >::iterator & >(result)),
+    swig::PySwigIterator::descriptor(),SWIG_POINTER_OWN);
   return resultobj;
 fail:
-  if (SWIG_IsNewObj(res1)) delete arg1;
   return NULL;
 }
 
 
-SWIGINTERN PyObject *_wrap_VectorShapes_empty(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_VectorShapes_begin__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::NewShape * > *arg1 = (std::vector< Hex::NewShape * > *) 0 ;
+  std::vector<Hex::NewShape * > *arg1 = (std::vector<Hex::NewShape * > *) 0 ;
+  std::vector<Hex::NewShape * >::const_iterator result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  bool result;
   
-  if (!PyArg_ParseTuple(args,(char *)"O:VectorShapes_empty",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__NewShape_p_std__allocatorT_Hex__NewShape_p_t_t, 0 |  0 );
+  if (!PyArg_ParseTuple(args,(char *)"O:VectorShapes_begin",&obj0)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__NewShape_p_std__allocatorTHex__NewShape_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorShapes_empty" "', argument " "1"" of type '" "std::vector< Hex::NewShape * > const *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorShapes_begin" "', argument " "1"" of type '" "std::vector<Hex::NewShape * > const *""'"); 
+  }
+  arg1 = reinterpret_cast< std::vector<Hex::NewShape * > * >(argp1);
+  result = ((std::vector<Hex::NewShape * > const *)arg1)->begin();
+  resultobj = SWIG_NewPointerObj(swig::make_output_iterator(static_cast< const std::vector<Hex::NewShape * >::const_iterator & >(result)),
+    swig::PySwigIterator::descriptor(),SWIG_POINTER_OWN);
+  return resultobj;
+fail:
+  return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_VectorShapes_begin(PyObject *self, PyObject *args) {
+  int argc;
+  PyObject *argv[2];
+  int ii;
+  
+  if (!PyTuple_Check(args)) SWIG_fail;
+  argc = PyObject_Length(args);
+  for (ii = 0; (ii < argc) && (ii < 1); ii++) {
+    argv[ii] = PyTuple_GET_ITEM(args,ii);
+  }
+  if (argc == 1) {
+    int _v;
+    int res = swig::asptr(argv[0], (std::vector<Hex::NewShape*,std::allocator<Hex::NewShape * > >**)(0));
+    _v = SWIG_CheckState(res);
+    if (_v) {
+      return _wrap_VectorShapes_begin__SWIG_0(self, args);
+    }
+  }
+  if (argc == 1) {
+    int _v;
+    int res = swig::asptr(argv[0], (std::vector<Hex::NewShape*,std::allocator<Hex::NewShape * > >**)(0));
+    _v = SWIG_CheckState(res);
+    if (_v) {
+      return _wrap_VectorShapes_begin__SWIG_1(self, args);
+    }
   }
-  arg1 = reinterpret_cast< std::vector< Hex::NewShape * > * >(argp1);
-  result = (bool)((std::vector< Hex::NewShape * > const *)arg1)->empty();
-  resultobj = SWIG_From_bool(static_cast< bool >(result));
-  return resultobj;
+  
 fail:
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'VectorShapes_begin'.\n  Possible C/C++ prototypes are:\n    begin()\n    begin()\n");
   return NULL;
 }
 
 
-SWIGINTERN PyObject *_wrap_VectorShapes_size(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_VectorShapes_end__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::NewShape * > *arg1 = (std::vector< Hex::NewShape * > *) 0 ;
+  std::vector<Hex::NewShape * > *arg1 = (std::vector<Hex::NewShape * > *) 0 ;
+  std::vector<Hex::NewShape * >::iterator result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  std::vector< Hex::NewShape * >::size_type result;
   
-  if (!PyArg_ParseTuple(args,(char *)"O:VectorShapes_size",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__NewShape_p_std__allocatorT_Hex__NewShape_p_t_t, 0 |  0 );
+  if (!PyArg_ParseTuple(args,(char *)"O:VectorShapes_end",&obj0)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__NewShape_p_std__allocatorTHex__NewShape_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorShapes_size" "', argument " "1"" of type '" "std::vector< Hex::NewShape * > const *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorShapes_end" "', argument " "1"" of type '" "std::vector<Hex::NewShape * > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::NewShape * > * >(argp1);
-  result = ((std::vector< Hex::NewShape * > const *)arg1)->size();
-  resultobj = SWIG_From_size_t(static_cast< size_t >(result));
+  arg1 = reinterpret_cast< std::vector<Hex::NewShape * > * >(argp1);
+  result = (arg1)->end();
+  resultobj = SWIG_NewPointerObj(swig::make_output_iterator(static_cast< const std::vector<Hex::NewShape * >::iterator & >(result)),
+    swig::PySwigIterator::descriptor(),SWIG_POINTER_OWN);
   return resultobj;
 fail:
   return NULL;
 }
 
 
-SWIGINTERN PyObject *_wrap_VectorShapes_clear(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_VectorShapes_end__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::NewShape * > *arg1 = (std::vector< Hex::NewShape * > *) 0 ;
+  std::vector<Hex::NewShape * > *arg1 = (std::vector<Hex::NewShape * > *) 0 ;
+  std::vector<Hex::NewShape * >::const_iterator result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
   
-  if (!PyArg_ParseTuple(args,(char *)"O:VectorShapes_clear",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__NewShape_p_std__allocatorT_Hex__NewShape_p_t_t, 0 |  0 );
+  if (!PyArg_ParseTuple(args,(char *)"O:VectorShapes_end",&obj0)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__NewShape_p_std__allocatorTHex__NewShape_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorShapes_clear" "', argument " "1"" of type '" "std::vector< Hex::NewShape * > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorShapes_end" "', argument " "1"" of type '" "std::vector<Hex::NewShape * > const *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::NewShape * > * >(argp1);
-  (arg1)->clear();
-  resultobj = SWIG_Py_Void();
+  arg1 = reinterpret_cast< std::vector<Hex::NewShape * > * >(argp1);
+  result = ((std::vector<Hex::NewShape * > const *)arg1)->end();
+  resultobj = SWIG_NewPointerObj(swig::make_output_iterator(static_cast< const std::vector<Hex::NewShape * >::const_iterator & >(result)),
+    swig::PySwigIterator::descriptor(),SWIG_POINTER_OWN);
   return resultobj;
 fail:
   return NULL;
 }
 
 
-SWIGINTERN PyObject *_wrap_VectorShapes_swap(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
-  PyObject *resultobj = 0;
-  std::vector< Hex::NewShape * > *arg1 = (std::vector< Hex::NewShape * > *) 0 ;
-  std::vector< Hex::NewShape * > *arg2 = 0 ;
-  void *argp1 = 0 ;
-  int res1 = 0 ;
-  void *argp2 = 0 ;
-  int res2 = 0 ;
-  PyObject * obj0 = 0 ;
-  PyObject * obj1 = 0 ;
+SWIGINTERN PyObject *_wrap_VectorShapes_end(PyObject *self, PyObject *args) {
+  int argc;
+  PyObject *argv[2];
+  int ii;
   
-  if (!PyArg_ParseTuple(args,(char *)"OO:VectorShapes_swap",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__NewShape_p_std__allocatorT_Hex__NewShape_p_t_t, 0 |  0 );
-  if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorShapes_swap" "', argument " "1"" of type '" "std::vector< Hex::NewShape * > *""'"); 
+  if (!PyTuple_Check(args)) SWIG_fail;
+  argc = PyObject_Length(args);
+  for (ii = 0; (ii < argc) && (ii < 1); ii++) {
+    argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
-  arg1 = reinterpret_cast< std::vector< Hex::NewShape * > * >(argp1);
-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_std__vectorT_Hex__NewShape_p_std__allocatorT_Hex__NewShape_p_t_t,  0 );
-  if (!SWIG_IsOK(res2)) {
-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "VectorShapes_swap" "', argument " "2"" of type '" "std::vector< Hex::NewShape * > &""'"); 
+  if (argc == 1) {
+    int _v;
+    int res = swig::asptr(argv[0], (std::vector<Hex::NewShape*,std::allocator<Hex::NewShape * > >**)(0));
+    _v = SWIG_CheckState(res);
+    if (_v) {
+      return _wrap_VectorShapes_end__SWIG_0(self, args);
+    }
   }
-  if (!argp2) {
-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "VectorShapes_swap" "', argument " "2"" of type '" "std::vector< Hex::NewShape * > &""'"); 
+  if (argc == 1) {
+    int _v;
+    int res = swig::asptr(argv[0], (std::vector<Hex::NewShape*,std::allocator<Hex::NewShape * > >**)(0));
+    _v = SWIG_CheckState(res);
+    if (_v) {
+      return _wrap_VectorShapes_end__SWIG_1(self, args);
+    }
   }
-  arg2 = reinterpret_cast< std::vector< Hex::NewShape * > * >(argp2);
-  (arg1)->swap(*arg2);
-  resultobj = SWIG_Py_Void();
-  return resultobj;
+  
 fail:
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'VectorShapes_end'.\n  Possible C/C++ prototypes are:\n    end()\n    end()\n");
   return NULL;
 }
 
 
-SWIGINTERN PyObject *_wrap_VectorShapes_get_allocator(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_VectorShapes_rbegin__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::NewShape * > *arg1 = (std::vector< Hex::NewShape * > *) 0 ;
+  std::vector<Hex::NewShape * > *arg1 = (std::vector<Hex::NewShape * > *) 0 ;
+  std::vector<Hex::NewShape * >::reverse_iterator result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  SwigValueWrapper< std::allocator< Hex::NewShape * > > result;
   
-  if (!PyArg_ParseTuple(args,(char *)"O:VectorShapes_get_allocator",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__NewShape_p_std__allocatorT_Hex__NewShape_p_t_t, 0 |  0 );
+  if (!PyArg_ParseTuple(args,(char *)"O:VectorShapes_rbegin",&obj0)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__NewShape_p_std__allocatorTHex__NewShape_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorShapes_get_allocator" "', argument " "1"" of type '" "std::vector< Hex::NewShape * > const *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorShapes_rbegin" "', argument " "1"" of type '" "std::vector<Hex::NewShape * > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::NewShape * > * >(argp1);
-  result = ((std::vector< Hex::NewShape * > const *)arg1)->get_allocator();
-  resultobj = SWIG_NewPointerObj((new std::vector< Hex::NewShape * >::allocator_type(static_cast< const std::vector< Hex::NewShape * >::allocator_type& >(result))), SWIGTYPE_p_std__vectorT_Hex__NewShape_p_std__allocatorT_Hex__NewShape_p_t_t__allocator_type, SWIG_POINTER_OWN |  0 );
+  arg1 = reinterpret_cast< std::vector<Hex::NewShape * > * >(argp1);
+  result = (arg1)->rbegin();
+  resultobj = SWIG_NewPointerObj(swig::make_output_iterator(static_cast< const std::vector<Hex::NewShape * >::reverse_iterator & >(result)),
+    swig::PySwigIterator::descriptor(),SWIG_POINTER_OWN);
   return resultobj;
 fail:
   return NULL;
 }
 
 
-SWIGINTERN PyObject *_wrap_VectorShapes_begin(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_VectorShapes_rbegin__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::NewShape * > *arg1 = (std::vector< Hex::NewShape * > *) 0 ;
+  std::vector<Hex::NewShape * > *arg1 = (std::vector<Hex::NewShape * > *) 0 ;
+  std::vector<Hex::NewShape * >::const_reverse_iterator result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  std::vector< Hex::NewShape * >::const_iterator result;
   
-  if (!PyArg_ParseTuple(args,(char *)"O:VectorShapes_begin",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__NewShape_p_std__allocatorT_Hex__NewShape_p_t_t, 0 |  0 );
+  if (!PyArg_ParseTuple(args,(char *)"O:VectorShapes_rbegin",&obj0)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__NewShape_p_std__allocatorTHex__NewShape_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorShapes_begin" "', argument " "1"" of type '" "std::vector< Hex::NewShape * > const *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorShapes_rbegin" "', argument " "1"" of type '" "std::vector<Hex::NewShape * > const *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::NewShape * > * >(argp1);
-  result = ((std::vector< Hex::NewShape * > const *)arg1)->begin();
-  resultobj = SWIG_NewPointerObj(swig::make_output_iterator(static_cast< const std::vector< Hex::NewShape * >::const_iterator & >(result)),
-    swig::SwigPyIterator::descriptor(),SWIG_POINTER_OWN);
+  arg1 = reinterpret_cast< std::vector<Hex::NewShape * > * >(argp1);
+  result = ((std::vector<Hex::NewShape * > const *)arg1)->rbegin();
+  resultobj = SWIG_NewPointerObj(swig::make_output_iterator(static_cast< const std::vector<Hex::NewShape * >::const_reverse_iterator & >(result)),
+    swig::PySwigIterator::descriptor(),SWIG_POINTER_OWN);
   return resultobj;
 fail:
   return NULL;
 }
 
 
-SWIGINTERN PyObject *_wrap_VectorShapes_end(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
-  PyObject *resultobj = 0;
-  std::vector< Hex::NewShape * > *arg1 = (std::vector< Hex::NewShape * > *) 0 ;
-  void *argp1 = 0 ;
-  int res1 = 0 ;
-  PyObject * obj0 = 0 ;
-  std::vector< Hex::NewShape * >::const_iterator result;
+SWIGINTERN PyObject *_wrap_VectorShapes_rbegin(PyObject *self, PyObject *args) {
+  int argc;
+  PyObject *argv[2];
+  int ii;
   
-  if (!PyArg_ParseTuple(args,(char *)"O:VectorShapes_end",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__NewShape_p_std__allocatorT_Hex__NewShape_p_t_t, 0 |  0 );
-  if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorShapes_end" "', argument " "1"" of type '" "std::vector< Hex::NewShape * > const *""'"); 
+  if (!PyTuple_Check(args)) SWIG_fail;
+  argc = PyObject_Length(args);
+  for (ii = 0; (ii < argc) && (ii < 1); ii++) {
+    argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
-  arg1 = reinterpret_cast< std::vector< Hex::NewShape * > * >(argp1);
-  result = ((std::vector< Hex::NewShape * > const *)arg1)->end();
-  resultobj = SWIG_NewPointerObj(swig::make_output_iterator(static_cast< const std::vector< Hex::NewShape * >::const_iterator & >(result)),
-    swig::SwigPyIterator::descriptor(),SWIG_POINTER_OWN);
-  return resultobj;
+  if (argc == 1) {
+    int _v;
+    int res = swig::asptr(argv[0], (std::vector<Hex::NewShape*,std::allocator<Hex::NewShape * > >**)(0));
+    _v = SWIG_CheckState(res);
+    if (_v) {
+      return _wrap_VectorShapes_rbegin__SWIG_0(self, args);
+    }
+  }
+  if (argc == 1) {
+    int _v;
+    int res = swig::asptr(argv[0], (std::vector<Hex::NewShape*,std::allocator<Hex::NewShape * > >**)(0));
+    _v = SWIG_CheckState(res);
+    if (_v) {
+      return _wrap_VectorShapes_rbegin__SWIG_1(self, args);
+    }
+  }
+  
 fail:
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'VectorShapes_rbegin'.\n  Possible C/C++ prototypes are:\n    rbegin()\n    rbegin()\n");
   return NULL;
 }
 
 
-SWIGINTERN PyObject *_wrap_VectorShapes_rbegin(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_VectorShapes_rend__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::NewShape * > *arg1 = (std::vector< Hex::NewShape * > *) 0 ;
+  std::vector<Hex::NewShape * > *arg1 = (std::vector<Hex::NewShape * > *) 0 ;
+  std::vector<Hex::NewShape * >::reverse_iterator result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  std::vector< Hex::NewShape * >::const_reverse_iterator result;
   
-  if (!PyArg_ParseTuple(args,(char *)"O:VectorShapes_rbegin",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__NewShape_p_std__allocatorT_Hex__NewShape_p_t_t, 0 |  0 );
+  if (!PyArg_ParseTuple(args,(char *)"O:VectorShapes_rend",&obj0)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__NewShape_p_std__allocatorTHex__NewShape_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorShapes_rbegin" "', argument " "1"" of type '" "std::vector< Hex::NewShape * > const *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorShapes_rend" "', argument " "1"" of type '" "std::vector<Hex::NewShape * > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::NewShape * > * >(argp1);
-  result = ((std::vector< Hex::NewShape * > const *)arg1)->rbegin();
-  resultobj = SWIG_NewPointerObj(swig::make_output_iterator(static_cast< const std::vector< Hex::NewShape * >::const_reverse_iterator & >(result)),
-    swig::SwigPyIterator::descriptor(),SWIG_POINTER_OWN);
+  arg1 = reinterpret_cast< std::vector<Hex::NewShape * > * >(argp1);
+  result = (arg1)->rend();
+  resultobj = SWIG_NewPointerObj(swig::make_output_iterator(static_cast< const std::vector<Hex::NewShape * >::reverse_iterator & >(result)),
+    swig::PySwigIterator::descriptor(),SWIG_POINTER_OWN);
   return resultobj;
 fail:
   return NULL;
 }
 
 
-SWIGINTERN PyObject *_wrap_VectorShapes_rend(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_VectorShapes_rend__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::NewShape * > *arg1 = (std::vector< Hex::NewShape * > *) 0 ;
+  std::vector<Hex::NewShape * > *arg1 = (std::vector<Hex::NewShape * > *) 0 ;
+  std::vector<Hex::NewShape * >::const_reverse_iterator result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  std::vector< Hex::NewShape * >::const_reverse_iterator result;
   
   if (!PyArg_ParseTuple(args,(char *)"O:VectorShapes_rend",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__NewShape_p_std__allocatorT_Hex__NewShape_p_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__NewShape_p_std__allocatorTHex__NewShape_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorShapes_rend" "', argument " "1"" of type '" "std::vector< Hex::NewShape * > const *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorShapes_rend" "', argument " "1"" of type '" "std::vector<Hex::NewShape * > const *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::NewShape * > * >(argp1);
-  result = ((std::vector< Hex::NewShape * > const *)arg1)->rend();
-  resultobj = SWIG_NewPointerObj(swig::make_output_iterator(static_cast< const std::vector< Hex::NewShape * >::const_reverse_iterator & >(result)),
-    swig::SwigPyIterator::descriptor(),SWIG_POINTER_OWN);
+  arg1 = reinterpret_cast< std::vector<Hex::NewShape * > * >(argp1);
+  result = ((std::vector<Hex::NewShape * > const *)arg1)->rend();
+  resultobj = SWIG_NewPointerObj(swig::make_output_iterator(static_cast< const std::vector<Hex::NewShape * >::const_reverse_iterator & >(result)),
+    swig::PySwigIterator::descriptor(),SWIG_POINTER_OWN);
   return resultobj;
 fail:
   return NULL;
 }
 
 
+SWIGINTERN PyObject *_wrap_VectorShapes_rend(PyObject *self, PyObject *args) {
+  int argc;
+  PyObject *argv[2];
+  int ii;
+  
+  if (!PyTuple_Check(args)) SWIG_fail;
+  argc = PyObject_Length(args);
+  for (ii = 0; (ii < argc) && (ii < 1); ii++) {
+    argv[ii] = PyTuple_GET_ITEM(args,ii);
+  }
+  if (argc == 1) {
+    int _v;
+    int res = swig::asptr(argv[0], (std::vector<Hex::NewShape*,std::allocator<Hex::NewShape * > >**)(0));
+    _v = SWIG_CheckState(res);
+    if (_v) {
+      return _wrap_VectorShapes_rend__SWIG_0(self, args);
+    }
+  }
+  if (argc == 1) {
+    int _v;
+    int res = swig::asptr(argv[0], (std::vector<Hex::NewShape*,std::allocator<Hex::NewShape * > >**)(0));
+    _v = SWIG_CheckState(res);
+    if (_v) {
+      return _wrap_VectorShapes_rend__SWIG_1(self, args);
+    }
+  }
+  
+fail:
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'VectorShapes_rend'.\n  Possible C/C++ prototypes are:\n    rend()\n    rend()\n");
+  return NULL;
+}
+
+
 SWIGINTERN PyObject *_wrap_new_VectorShapes__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::NewShape * >::size_type arg1 ;
+  std::vector<Hex::NewShape * >::size_type arg1 ;
+  std::vector<Hex::NewShape * > *result = 0 ;
   size_t val1 ;
   int ecode1 = 0 ;
   PyObject * obj0 = 0 ;
-  std::vector< Hex::NewShape * > *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"O:new_VectorShapes",&obj0)) SWIG_fail;
   ecode1 = SWIG_AsVal_size_t(obj0, &val1);
   if (!SWIG_IsOK(ecode1)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_VectorShapes" "', argument " "1"" of type '" "std::vector< Hex::NewShape * >::size_type""'");
+    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_VectorShapes" "', argument " "1"" of type '" "std::vector<Hex::NewShape * >::size_type""'");
   } 
-  arg1 = static_cast< std::vector< Hex::NewShape * >::size_type >(val1);
-  result = (std::vector< Hex::NewShape * > *)new std::vector< Hex::NewShape * >(arg1);
-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_Hex__NewShape_p_std__allocatorT_Hex__NewShape_p_t_t, SWIG_POINTER_NEW |  0 );
+  arg1 = static_cast< std::vector<Hex::NewShape * >::size_type >(val1);
+  result = (std::vector<Hex::NewShape * > *)new std::vector<Hex::NewShape * >(arg1);
+  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorTHex__NewShape_p_std__allocatorTHex__NewShape_p_t_t, SWIG_POINTER_NEW |  0 );
   return resultobj;
 fail:
   return NULL;
@@ -13580,17 +12711,17 @@ fail:
 
 SWIGINTERN PyObject *_wrap_VectorShapes_pop_back(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::NewShape * > *arg1 = (std::vector< Hex::NewShape * > *) 0 ;
+  std::vector<Hex::NewShape * > *arg1 = (std::vector<Hex::NewShape * > *) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"O:VectorShapes_pop_back",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__NewShape_p_std__allocatorT_Hex__NewShape_p_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__NewShape_p_std__allocatorTHex__NewShape_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorShapes_pop_back" "', argument " "1"" of type '" "std::vector< Hex::NewShape * > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorShapes_pop_back" "', argument " "1"" of type '" "std::vector<Hex::NewShape * > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::NewShape * > * >(argp1);
+  arg1 = reinterpret_cast< std::vector<Hex::NewShape * > * >(argp1);
   (arg1)->pop_back();
   resultobj = SWIG_Py_Void();
   return resultobj;
@@ -13601,8 +12732,8 @@ fail:
 
 SWIGINTERN PyObject *_wrap_VectorShapes_resize__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::NewShape * > *arg1 = (std::vector< Hex::NewShape * > *) 0 ;
-  std::vector< Hex::NewShape * >::size_type arg2 ;
+  std::vector<Hex::NewShape * > *arg1 = (std::vector<Hex::NewShape * > *) 0 ;
+  std::vector<Hex::NewShape * >::size_type arg2 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   size_t val2 ;
@@ -13611,16 +12742,16 @@ SWIGINTERN PyObject *_wrap_VectorShapes_resize__SWIG_0(PyObject *SWIGUNUSEDPARM(
   PyObject * obj1 = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OO:VectorShapes_resize",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__NewShape_p_std__allocatorT_Hex__NewShape_p_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__NewShape_p_std__allocatorTHex__NewShape_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorShapes_resize" "', argument " "1"" of type '" "std::vector< Hex::NewShape * > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorShapes_resize" "', argument " "1"" of type '" "std::vector<Hex::NewShape * > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::NewShape * > * >(argp1);
+  arg1 = reinterpret_cast< std::vector<Hex::NewShape * > * >(argp1);
   ecode2 = SWIG_AsVal_size_t(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorShapes_resize" "', argument " "2"" of type '" "std::vector< Hex::NewShape * >::size_type""'");
+    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorShapes_resize" "', argument " "2"" of type '" "std::vector<Hex::NewShape * >::size_type""'");
   } 
-  arg2 = static_cast< std::vector< Hex::NewShape * >::size_type >(val2);
+  arg2 = static_cast< std::vector<Hex::NewShape * >::size_type >(val2);
   (arg1)->resize(arg2);
   resultobj = SWIG_Py_Void();
   return resultobj;
@@ -13631,36 +12762,36 @@ fail:
 
 SWIGINTERN PyObject *_wrap_VectorShapes_erase__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::NewShape * > *arg1 = (std::vector< Hex::NewShape * > *) 0 ;
-  std::vector< Hex::NewShape * >::iterator arg2 ;
+  std::vector<Hex::NewShape * > *arg1 = (std::vector<Hex::NewShape * > *) 0 ;
+  std::vector<Hex::NewShape * >::iterator arg2 ;
+  std::vector<Hex::NewShape * >::iterator result;
   void *argp1 = 0 ;
   int res1 = 0 ;
-  swig::SwigPyIterator *iter2 = 0 ;
+  swig::PySwigIterator *iter2 = 0 ;
   int res2 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
-  std::vector< Hex::NewShape * >::iterator result;
   
   if (!PyArg_ParseTuple(args,(char *)"OO:VectorShapes_erase",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__NewShape_p_std__allocatorT_Hex__NewShape_p_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__NewShape_p_std__allocatorTHex__NewShape_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorShapes_erase" "', argument " "1"" of type '" "std::vector< Hex::NewShape * > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorShapes_erase" "', argument " "1"" of type '" "std::vector<Hex::NewShape * > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::NewShape * > * >(argp1);
-  res2 = SWIG_ConvertPtr(obj1, SWIG_as_voidptrptr(&iter2), swig::SwigPyIterator::descriptor(), 0);
+  arg1 = reinterpret_cast< std::vector<Hex::NewShape * > * >(argp1);
+  res2 = SWIG_ConvertPtr(obj1, SWIG_as_voidptrptr(&iter2), swig::PySwigIterator::descriptor(), 0);
   if (!SWIG_IsOK(res2) || !iter2) {
-    SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "VectorShapes_erase" "', argument " "2"" of type '" "std::vector< Hex::NewShape * >::iterator""'");
+    SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "VectorShapes_erase" "', argument " "2"" of type '" "std::vector<Hex::NewShape * >::iterator""'");
   } else {
-    swig::SwigPyIterator_T<std::vector< Hex::NewShape * >::iterator > *iter_t = dynamic_cast<swig::SwigPyIterator_T<std::vector< Hex::NewShape * >::iterator > *>(iter2);
+    swig::PySwigIterator_T<std::vector<Hex::NewShape * >::iterator > *iter_t = dynamic_cast<swig::PySwigIterator_T<std::vector<Hex::NewShape * >::iterator > *>(iter2);
     if (iter_t) {
       arg2 = iter_t->get_current();
     } else {
-      SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "VectorShapes_erase" "', argument " "2"" of type '" "std::vector< Hex::NewShape * >::iterator""'");
+      SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "VectorShapes_erase" "', argument " "2"" of type '" "std::vector<Hex::NewShape * >::iterator""'");
     }
   }
   result = (arg1)->erase(arg2);
-  resultobj = SWIG_NewPointerObj(swig::make_output_iterator(static_cast< const std::vector< Hex::NewShape * >::iterator & >(result)),
-    swig::SwigPyIterator::descriptor(),SWIG_POINTER_OWN);
+  resultobj = SWIG_NewPointerObj(swig::make_output_iterator(static_cast< const std::vector<Hex::NewShape * >::iterator & >(result)),
+    swig::PySwigIterator::descriptor(),SWIG_POINTER_OWN);
   return resultobj;
 fail:
   return NULL;
@@ -13669,51 +12800,51 @@ fail:
 
 SWIGINTERN PyObject *_wrap_VectorShapes_erase__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::NewShape * > *arg1 = (std::vector< Hex::NewShape * > *) 0 ;
-  std::vector< Hex::NewShape * >::iterator arg2 ;
-  std::vector< Hex::NewShape * >::iterator arg3 ;
+  std::vector<Hex::NewShape * > *arg1 = (std::vector<Hex::NewShape * > *) 0 ;
+  std::vector<Hex::NewShape * >::iterator arg2 ;
+  std::vector<Hex::NewShape * >::iterator arg3 ;
+  std::vector<Hex::NewShape * >::iterator result;
   void *argp1 = 0 ;
   int res1 = 0 ;
-  swig::SwigPyIterator *iter2 = 0 ;
+  swig::PySwigIterator *iter2 = 0 ;
   int res2 ;
-  swig::SwigPyIterator *iter3 = 0 ;
+  swig::PySwigIterator *iter3 = 0 ;
   int res3 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
   PyObject * obj2 = 0 ;
-  std::vector< Hex::NewShape * >::iterator result;
   
   if (!PyArg_ParseTuple(args,(char *)"OOO:VectorShapes_erase",&obj0,&obj1,&obj2)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__NewShape_p_std__allocatorT_Hex__NewShape_p_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__NewShape_p_std__allocatorTHex__NewShape_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorShapes_erase" "', argument " "1"" of type '" "std::vector< Hex::NewShape * > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorShapes_erase" "', argument " "1"" of type '" "std::vector<Hex::NewShape * > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::NewShape * > * >(argp1);
-  res2 = SWIG_ConvertPtr(obj1, SWIG_as_voidptrptr(&iter2), swig::SwigPyIterator::descriptor(), 0);
+  arg1 = reinterpret_cast< std::vector<Hex::NewShape * > * >(argp1);
+  res2 = SWIG_ConvertPtr(obj1, SWIG_as_voidptrptr(&iter2), swig::PySwigIterator::descriptor(), 0);
   if (!SWIG_IsOK(res2) || !iter2) {
-    SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "VectorShapes_erase" "', argument " "2"" of type '" "std::vector< Hex::NewShape * >::iterator""'");
+    SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "VectorShapes_erase" "', argument " "2"" of type '" "std::vector<Hex::NewShape * >::iterator""'");
   } else {
-    swig::SwigPyIterator_T<std::vector< Hex::NewShape * >::iterator > *iter_t = dynamic_cast<swig::SwigPyIterator_T<std::vector< Hex::NewShape * >::iterator > *>(iter2);
+    swig::PySwigIterator_T<std::vector<Hex::NewShape * >::iterator > *iter_t = dynamic_cast<swig::PySwigIterator_T<std::vector<Hex::NewShape * >::iterator > *>(iter2);
     if (iter_t) {
       arg2 = iter_t->get_current();
     } else {
-      SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "VectorShapes_erase" "', argument " "2"" of type '" "std::vector< Hex::NewShape * >::iterator""'");
+      SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "VectorShapes_erase" "', argument " "2"" of type '" "std::vector<Hex::NewShape * >::iterator""'");
     }
   }
-  res3 = SWIG_ConvertPtr(obj2, SWIG_as_voidptrptr(&iter3), swig::SwigPyIterator::descriptor(), 0);
+  res3 = SWIG_ConvertPtr(obj2, SWIG_as_voidptrptr(&iter3), swig::PySwigIterator::descriptor(), 0);
   if (!SWIG_IsOK(res3) || !iter3) {
-    SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "VectorShapes_erase" "', argument " "3"" of type '" "std::vector< Hex::NewShape * >::iterator""'");
+    SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "VectorShapes_erase" "', argument " "3"" of type '" "std::vector<Hex::NewShape * >::iterator""'");
   } else {
-    swig::SwigPyIterator_T<std::vector< Hex::NewShape * >::iterator > *iter_t = dynamic_cast<swig::SwigPyIterator_T<std::vector< Hex::NewShape * >::iterator > *>(iter3);
+    swig::PySwigIterator_T<std::vector<Hex::NewShape * >::iterator > *iter_t = dynamic_cast<swig::PySwigIterator_T<std::vector<Hex::NewShape * >::iterator > *>(iter3);
     if (iter_t) {
       arg3 = iter_t->get_current();
     } else {
-      SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "VectorShapes_erase" "', argument " "3"" of type '" "std::vector< Hex::NewShape * >::iterator""'");
+      SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "VectorShapes_erase" "', argument " "3"" of type '" "std::vector<Hex::NewShape * >::iterator""'");
     }
   }
   result = (arg1)->erase(arg2,arg3);
-  resultobj = SWIG_NewPointerObj(swig::make_output_iterator(static_cast< const std::vector< Hex::NewShape * >::iterator & >(result)),
-    swig::SwigPyIterator::descriptor(),SWIG_POINTER_OWN);
+  resultobj = SWIG_NewPointerObj(swig::make_output_iterator(static_cast< const std::vector<Hex::NewShape * >::iterator & >(result)),
+    swig::PySwigIterator::descriptor(),SWIG_POINTER_OWN);
   return resultobj;
 fail:
   return NULL;
@@ -13726,18 +12857,18 @@ SWIGINTERN PyObject *_wrap_VectorShapes_erase(PyObject *self, PyObject *args) {
   int ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = (int)PyObject_Length(args);
+  argc = PyObject_Length(args);
   for (ii = 0; (ii < argc) && (ii < 3); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
   if (argc == 2) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<Hex::NewShape*,std::allocator< Hex::NewShape * > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector<Hex::NewShape*,std::allocator<Hex::NewShape * > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
-      swig::SwigPyIterator *iter = 0;
-      int res = SWIG_ConvertPtr(argv[1], SWIG_as_voidptrptr(&iter), swig::SwigPyIterator::descriptor(), 0);
-      _v = (SWIG_IsOK(res) && iter && (dynamic_cast<swig::SwigPyIterator_T<std::vector< Hex::NewShape * >::iterator > *>(iter) != 0));
+      swig::PySwigIterator *iter = 0;
+      int res = SWIG_ConvertPtr(argv[1], SWIG_as_voidptrptr(&iter), swig::PySwigIterator::descriptor(), 0);
+      _v = (SWIG_IsOK(res) && iter && (dynamic_cast<swig::PySwigIterator_T<std::vector<Hex::NewShape * >::iterator > *>(iter) != 0));
       if (_v) {
         return _wrap_VectorShapes_erase__SWIG_0(self, args);
       }
@@ -13745,16 +12876,16 @@ SWIGINTERN PyObject *_wrap_VectorShapes_erase(PyObject *self, PyObject *args) {
   }
   if (argc == 3) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<Hex::NewShape*,std::allocator< Hex::NewShape * > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector<Hex::NewShape*,std::allocator<Hex::NewShape * > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
-      swig::SwigPyIterator *iter = 0;
-      int res = SWIG_ConvertPtr(argv[1], SWIG_as_voidptrptr(&iter), swig::SwigPyIterator::descriptor(), 0);
-      _v = (SWIG_IsOK(res) && iter && (dynamic_cast<swig::SwigPyIterator_T<std::vector< Hex::NewShape * >::iterator > *>(iter) != 0));
+      swig::PySwigIterator *iter = 0;
+      int res = SWIG_ConvertPtr(argv[1], SWIG_as_voidptrptr(&iter), swig::PySwigIterator::descriptor(), 0);
+      _v = (SWIG_IsOK(res) && iter && (dynamic_cast<swig::PySwigIterator_T<std::vector<Hex::NewShape * >::iterator > *>(iter) != 0));
       if (_v) {
-        swig::SwigPyIterator *iter = 0;
-        int res = SWIG_ConvertPtr(argv[2], SWIG_as_voidptrptr(&iter), swig::SwigPyIterator::descriptor(), 0);
-        _v = (SWIG_IsOK(res) && iter && (dynamic_cast<swig::SwigPyIterator_T<std::vector< Hex::NewShape * >::iterator > *>(iter) != 0));
+        swig::PySwigIterator *iter = 0;
+        int res = SWIG_ConvertPtr(argv[2], SWIG_as_voidptrptr(&iter), swig::PySwigIterator::descriptor(), 0);
+        _v = (SWIG_IsOK(res) && iter && (dynamic_cast<swig::PySwigIterator_T<std::vector<Hex::NewShape * >::iterator > *>(iter) != 0));
         if (_v) {
           return _wrap_VectorShapes_erase__SWIG_1(self, args);
         }
@@ -13763,39 +12894,36 @@ SWIGINTERN PyObject *_wrap_VectorShapes_erase(PyObject *self, PyObject *args) {
   }
   
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'VectorShapes_erase'.\n"
-    "  Possible C/C++ prototypes are:\n"
-    "    erase(std::vector< Hex::NewShape * > *,std::vector< Hex::NewShape * >::iterator)\n"
-    "    erase(std::vector< Hex::NewShape * > *,std::vector< Hex::NewShape * >::iterator,std::vector< Hex::NewShape * >::iterator)\n");
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'VectorShapes_erase'.\n  Possible C/C++ prototypes are:\n    erase(std::vector<Hex::NewShape * >::iterator)\n    erase(std::vector<Hex::NewShape * >::iterator,std::vector<Hex::NewShape * >::iterator)\n");
   return NULL;
 }
 
 
 SWIGINTERN PyObject *_wrap_new_VectorShapes__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::NewShape * >::size_type arg1 ;
-  std::vector< Hex::NewShape * >::value_type arg2 = (std::vector< Hex::NewShape * >::value_type) 0 ;
+  std::vector<Hex::NewShape * >::size_type arg1 ;
+  std::vector<Hex::NewShape * >::value_type arg2 = (std::vector<Hex::NewShape * >::value_type) 0 ;
+  std::vector<Hex::NewShape * > *result = 0 ;
   size_t val1 ;
   int ecode1 = 0 ;
   void *argp2 = 0 ;
   int res2 = 0 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
-  std::vector< Hex::NewShape * > *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OO:new_VectorShapes",&obj0,&obj1)) SWIG_fail;
   ecode1 = SWIG_AsVal_size_t(obj0, &val1);
   if (!SWIG_IsOK(ecode1)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_VectorShapes" "', argument " "1"" of type '" "std::vector< Hex::NewShape * >::size_type""'");
+    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_VectorShapes" "', argument " "1"" of type '" "std::vector<Hex::NewShape * >::size_type""'");
   } 
-  arg1 = static_cast< std::vector< Hex::NewShape * >::size_type >(val1);
-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_std__vectorT_Hex__NewShape_p_std__allocatorT_Hex__NewShape_p_t_t__value_type, 0 |  0 );
+  arg1 = static_cast< std::vector<Hex::NewShape * >::size_type >(val1);
+  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_std__vectorTHex__NewShape_p_std__allocatorTHex__NewShape_p_t_t__value_type, 0 |  0 );
   if (!SWIG_IsOK(res2)) {
-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "new_VectorShapes" "', argument " "2"" of type '" "std::vector< Hex::NewShape * >::value_type""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "new_VectorShapes" "', argument " "2"" of type '" "std::vector<Hex::NewShape * >::value_type""'"); 
   }
-  arg2 = reinterpret_cast< std::vector< Hex::NewShape * >::value_type >(argp2);
-  result = (std::vector< Hex::NewShape * > *)new std::vector< Hex::NewShape * >(arg1,arg2);
-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_Hex__NewShape_p_std__allocatorT_Hex__NewShape_p_t_t, SWIG_POINTER_NEW |  0 );
+  arg2 = reinterpret_cast< std::vector<Hex::NewShape * >::value_type >(argp2);
+  result = (std::vector<Hex::NewShape * > *)new std::vector<Hex::NewShape * >(arg1,arg2);
+  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorTHex__NewShape_p_std__allocatorTHex__NewShape_p_t_t, SWIG_POINTER_NEW |  0 );
   return resultobj;
 fail:
   return NULL;
@@ -13808,7 +12936,7 @@ SWIGINTERN PyObject *_wrap_new_VectorShapes(PyObject *self, PyObject *args) {
   int ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = (int)PyObject_Length(args);
+  argc = PyObject_Length(args);
   for (ii = 0; (ii < argc) && (ii < 2); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -13827,7 +12955,7 @@ SWIGINTERN PyObject *_wrap_new_VectorShapes(PyObject *self, PyObject *args) {
   }
   if (argc == 1) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<Hex::NewShape*,std::allocator< Hex::NewShape * > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector<Hex::NewShape*,std::allocator<Hex::NewShape * > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       return _wrap_new_VectorShapes__SWIG_1(self, args);
@@ -13841,7 +12969,7 @@ SWIGINTERN PyObject *_wrap_new_VectorShapes(PyObject *self, PyObject *args) {
     }
     if (_v) {
       void *vptr = 0;
-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_std__vectorT_Hex__NewShape_p_std__allocatorT_Hex__NewShape_p_t_t__value_type, 0);
+      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_std__vectorTHex__NewShape_p_std__allocatorTHex__NewShape_p_t_t__value_type, 0);
       _v = SWIG_CheckState(res);
       if (_v) {
         return _wrap_new_VectorShapes__SWIG_3(self, args);
@@ -13850,20 +12978,15 @@ SWIGINTERN PyObject *_wrap_new_VectorShapes(PyObject *self, PyObject *args) {
   }
   
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'new_VectorShapes'.\n"
-    "  Possible C/C++ prototypes are:\n"
-    "    std::vector< Hex::NewShape * >()\n"
-    "    std::vector< Hex::NewShape * >(std::vector< Hex::NewShape * > const &)\n"
-    "    std::vector< Hex::NewShape * >(std::vector< Hex::NewShape * >::size_type)\n"
-    "    std::vector< Hex::NewShape * >(std::vector< Hex::NewShape * >::size_type,std::vector< Hex::NewShape * >::value_type)\n");
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'new_VectorShapes'.\n  Possible C/C++ prototypes are:\n    std::vector<(p.Hex::NewShape)>()\n    std::vector<(p.Hex::NewShape)>(std::vector<Hex::NewShape * > const &)\n    std::vector<(p.Hex::NewShape)>(std::vector<Hex::NewShape * >::size_type)\n    std::vector<(p.Hex::NewShape)>(std::vector<Hex::NewShape * >::size_type,std::vector<Hex::NewShape * >::value_type)\n");
   return NULL;
 }
 
 
 SWIGINTERN PyObject *_wrap_VectorShapes_push_back(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::NewShape * > *arg1 = (std::vector< Hex::NewShape * > *) 0 ;
-  std::vector< Hex::NewShape * >::value_type arg2 = (std::vector< Hex::NewShape * >::value_type) 0 ;
+  std::vector<Hex::NewShape * > *arg1 = (std::vector<Hex::NewShape * > *) 0 ;
+  std::vector<Hex::NewShape * >::value_type arg2 = (std::vector<Hex::NewShape * >::value_type) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   void *argp2 = 0 ;
@@ -13872,16 +12995,16 @@ SWIGINTERN PyObject *_wrap_VectorShapes_push_back(PyObject *SWIGUNUSEDPARM(self)
   PyObject * obj1 = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OO:VectorShapes_push_back",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__NewShape_p_std__allocatorT_Hex__NewShape_p_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__NewShape_p_std__allocatorTHex__NewShape_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorShapes_push_back" "', argument " "1"" of type '" "std::vector< Hex::NewShape * > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorShapes_push_back" "', argument " "1"" of type '" "std::vector<Hex::NewShape * > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::NewShape * > * >(argp1);
-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_std__vectorT_Hex__NewShape_p_std__allocatorT_Hex__NewShape_p_t_t__value_type, 0 |  0 );
+  arg1 = reinterpret_cast< std::vector<Hex::NewShape * > * >(argp1);
+  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_std__vectorTHex__NewShape_p_std__allocatorTHex__NewShape_p_t_t__value_type, 0 |  0 );
   if (!SWIG_IsOK(res2)) {
-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "VectorShapes_push_back" "', argument " "2"" of type '" "std::vector< Hex::NewShape * >::value_type""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "VectorShapes_push_back" "', argument " "2"" of type '" "std::vector<Hex::NewShape * >::value_type""'"); 
   }
-  arg2 = reinterpret_cast< std::vector< Hex::NewShape * >::value_type >(argp2);
+  arg2 = reinterpret_cast< std::vector<Hex::NewShape * >::value_type >(argp2);
   (arg1)->push_back(arg2);
   resultobj = SWIG_Py_Void();
   return resultobj;
@@ -13892,20 +13015,20 @@ fail:
 
 SWIGINTERN PyObject *_wrap_VectorShapes_front(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::NewShape * > *arg1 = (std::vector< Hex::NewShape * > *) 0 ;
+  std::vector<Hex::NewShape * > *arg1 = (std::vector<Hex::NewShape * > *) 0 ;
+  std::vector<Hex::NewShape * >::value_type result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  std::vector< Hex::NewShape * >::value_type result;
   
   if (!PyArg_ParseTuple(args,(char *)"O:VectorShapes_front",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__NewShape_p_std__allocatorT_Hex__NewShape_p_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__NewShape_p_std__allocatorTHex__NewShape_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorShapes_front" "', argument " "1"" of type '" "std::vector< Hex::NewShape * > const *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorShapes_front" "', argument " "1"" of type '" "std::vector<Hex::NewShape * > const *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::NewShape * > * >(argp1);
-  result = (std::vector< Hex::NewShape * >::value_type)((std::vector< Hex::NewShape * > const *)arg1)->front();
-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_std__vectorT_Hex__NewShape_p_std__allocatorT_Hex__NewShape_p_t_t__value_type, 0 |  0 );
+  arg1 = reinterpret_cast< std::vector<Hex::NewShape * > * >(argp1);
+  result = (std::vector<Hex::NewShape * >::value_type)((std::vector<Hex::NewShape * > const *)arg1)->front();
+  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_std__vectorTHex__NewShape_p_std__allocatorTHex__NewShape_p_t_t__value_type, 0 |  0 );
   return resultobj;
 fail:
   return NULL;
@@ -13914,20 +13037,20 @@ fail:
 
 SWIGINTERN PyObject *_wrap_VectorShapes_back(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::NewShape * > *arg1 = (std::vector< Hex::NewShape * > *) 0 ;
+  std::vector<Hex::NewShape * > *arg1 = (std::vector<Hex::NewShape * > *) 0 ;
+  std::vector<Hex::NewShape * >::value_type result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  std::vector< Hex::NewShape * >::value_type result;
   
   if (!PyArg_ParseTuple(args,(char *)"O:VectorShapes_back",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__NewShape_p_std__allocatorT_Hex__NewShape_p_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__NewShape_p_std__allocatorTHex__NewShape_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorShapes_back" "', argument " "1"" of type '" "std::vector< Hex::NewShape * > const *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorShapes_back" "', argument " "1"" of type '" "std::vector<Hex::NewShape * > const *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::NewShape * > * >(argp1);
-  result = (std::vector< Hex::NewShape * >::value_type)((std::vector< Hex::NewShape * > const *)arg1)->back();
-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_std__vectorT_Hex__NewShape_p_std__allocatorT_Hex__NewShape_p_t_t__value_type, 0 |  0 );
+  arg1 = reinterpret_cast< std::vector<Hex::NewShape * > * >(argp1);
+  result = (std::vector<Hex::NewShape * >::value_type)((std::vector<Hex::NewShape * > const *)arg1)->back();
+  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_std__vectorTHex__NewShape_p_std__allocatorTHex__NewShape_p_t_t__value_type, 0 |  0 );
   return resultobj;
 fail:
   return NULL;
@@ -13936,9 +13059,9 @@ fail:
 
 SWIGINTERN PyObject *_wrap_VectorShapes_assign(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::NewShape * > *arg1 = (std::vector< Hex::NewShape * > *) 0 ;
-  std::vector< Hex::NewShape * >::size_type arg2 ;
-  std::vector< Hex::NewShape * >::value_type arg3 = (std::vector< Hex::NewShape * >::value_type) 0 ;
+  std::vector<Hex::NewShape * > *arg1 = (std::vector<Hex::NewShape * > *) 0 ;
+  std::vector<Hex::NewShape * >::size_type arg2 ;
+  std::vector<Hex::NewShape * >::value_type arg3 = (std::vector<Hex::NewShape * >::value_type) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   size_t val2 ;
@@ -13950,21 +13073,21 @@ SWIGINTERN PyObject *_wrap_VectorShapes_assign(PyObject *SWIGUNUSEDPARM(self), P
   PyObject * obj2 = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOO:VectorShapes_assign",&obj0,&obj1,&obj2)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__NewShape_p_std__allocatorT_Hex__NewShape_p_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__NewShape_p_std__allocatorTHex__NewShape_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorShapes_assign" "', argument " "1"" of type '" "std::vector< Hex::NewShape * > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorShapes_assign" "', argument " "1"" of type '" "std::vector<Hex::NewShape * > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::NewShape * > * >(argp1);
+  arg1 = reinterpret_cast< std::vector<Hex::NewShape * > * >(argp1);
   ecode2 = SWIG_AsVal_size_t(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorShapes_assign" "', argument " "2"" of type '" "std::vector< Hex::NewShape * >::size_type""'");
+    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorShapes_assign" "', argument " "2"" of type '" "std::vector<Hex::NewShape * >::size_type""'");
   } 
-  arg2 = static_cast< std::vector< Hex::NewShape * >::size_type >(val2);
-  res3 = SWIG_ConvertPtr(obj2, &argp3,SWIGTYPE_std__vectorT_Hex__NewShape_p_std__allocatorT_Hex__NewShape_p_t_t__value_type, 0 |  0 );
+  arg2 = static_cast< std::vector<Hex::NewShape * >::size_type >(val2);
+  res3 = SWIG_ConvertPtr(obj2, &argp3,SWIGTYPE_std__vectorTHex__NewShape_p_std__allocatorTHex__NewShape_p_t_t__value_type, 0 |  0 );
   if (!SWIG_IsOK(res3)) {
-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "VectorShapes_assign" "', argument " "3"" of type '" "std::vector< Hex::NewShape * >::value_type""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "VectorShapes_assign" "', argument " "3"" of type '" "std::vector<Hex::NewShape * >::value_type""'"); 
   }
-  arg3 = reinterpret_cast< std::vector< Hex::NewShape * >::value_type >(argp3);
+  arg3 = reinterpret_cast< std::vector<Hex::NewShape * >::value_type >(argp3);
   (arg1)->assign(arg2,arg3);
   resultobj = SWIG_Py_Void();
   return resultobj;
@@ -13975,9 +13098,9 @@ fail:
 
 SWIGINTERN PyObject *_wrap_VectorShapes_resize__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::NewShape * > *arg1 = (std::vector< Hex::NewShape * > *) 0 ;
-  std::vector< Hex::NewShape * >::size_type arg2 ;
-  std::vector< Hex::NewShape * >::value_type arg3 = (std::vector< Hex::NewShape * >::value_type) 0 ;
+  std::vector<Hex::NewShape * > *arg1 = (std::vector<Hex::NewShape * > *) 0 ;
+  std::vector<Hex::NewShape * >::size_type arg2 ;
+  std::vector<Hex::NewShape * >::value_type arg3 = (std::vector<Hex::NewShape * >::value_type) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   size_t val2 ;
@@ -13989,21 +13112,21 @@ SWIGINTERN PyObject *_wrap_VectorShapes_resize__SWIG_1(PyObject *SWIGUNUSEDPARM(
   PyObject * obj2 = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOO:VectorShapes_resize",&obj0,&obj1,&obj2)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__NewShape_p_std__allocatorT_Hex__NewShape_p_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__NewShape_p_std__allocatorTHex__NewShape_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorShapes_resize" "', argument " "1"" of type '" "std::vector< Hex::NewShape * > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorShapes_resize" "', argument " "1"" of type '" "std::vector<Hex::NewShape * > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::NewShape * > * >(argp1);
+  arg1 = reinterpret_cast< std::vector<Hex::NewShape * > * >(argp1);
   ecode2 = SWIG_AsVal_size_t(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorShapes_resize" "', argument " "2"" of type '" "std::vector< Hex::NewShape * >::size_type""'");
+    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorShapes_resize" "', argument " "2"" of type '" "std::vector<Hex::NewShape * >::size_type""'");
   } 
-  arg2 = static_cast< std::vector< Hex::NewShape * >::size_type >(val2);
-  res3 = SWIG_ConvertPtr(obj2, &argp3,SWIGTYPE_std__vectorT_Hex__NewShape_p_std__allocatorT_Hex__NewShape_p_t_t__value_type, 0 |  0 );
+  arg2 = static_cast< std::vector<Hex::NewShape * >::size_type >(val2);
+  res3 = SWIG_ConvertPtr(obj2, &argp3,SWIGTYPE_std__vectorTHex__NewShape_p_std__allocatorTHex__NewShape_p_t_t__value_type, 0 |  0 );
   if (!SWIG_IsOK(res3)) {
-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "VectorShapes_resize" "', argument " "3"" of type '" "std::vector< Hex::NewShape * >::value_type""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "VectorShapes_resize" "', argument " "3"" of type '" "std::vector<Hex::NewShape * >::value_type""'"); 
   }
-  arg3 = reinterpret_cast< std::vector< Hex::NewShape * >::value_type >(argp3);
+  arg3 = reinterpret_cast< std::vector<Hex::NewShape * >::value_type >(argp3);
   (arg1)->resize(arg2,arg3);
   resultobj = SWIG_Py_Void();
   return resultobj;
@@ -14018,13 +13141,13 @@ SWIGINTERN PyObject *_wrap_VectorShapes_resize(PyObject *self, PyObject *args) {
   int ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = (int)PyObject_Length(args);
+  argc = PyObject_Length(args);
   for (ii = 0; (ii < argc) && (ii < 3); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
   if (argc == 2) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<Hex::NewShape*,std::allocator< Hex::NewShape * > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector<Hex::NewShape*,std::allocator<Hex::NewShape * > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -14038,7 +13161,7 @@ SWIGINTERN PyObject *_wrap_VectorShapes_resize(PyObject *self, PyObject *args) {
   }
   if (argc == 3) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<Hex::NewShape*,std::allocator< Hex::NewShape * > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector<Hex::NewShape*,std::allocator<Hex::NewShape * > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -14047,7 +13170,7 @@ SWIGINTERN PyObject *_wrap_VectorShapes_resize(PyObject *self, PyObject *args) {
       }
       if (_v) {
         void *vptr = 0;
-        int res = SWIG_ConvertPtr(argv[2], &vptr, SWIGTYPE_std__vectorT_Hex__NewShape_p_std__allocatorT_Hex__NewShape_p_t_t__value_type, 0);
+        int res = SWIG_ConvertPtr(argv[2], &vptr, SWIGTYPE_std__vectorTHex__NewShape_p_std__allocatorTHex__NewShape_p_t_t__value_type, 0);
         _v = SWIG_CheckState(res);
         if (_v) {
           return _wrap_VectorShapes_resize__SWIG_1(self, args);
@@ -14057,55 +13180,52 @@ SWIGINTERN PyObject *_wrap_VectorShapes_resize(PyObject *self, PyObject *args) {
   }
   
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'VectorShapes_resize'.\n"
-    "  Possible C/C++ prototypes are:\n"
-    "    resize(std::vector< Hex::NewShape * > *,std::vector< Hex::NewShape * >::size_type)\n"
-    "    resize(std::vector< Hex::NewShape * > *,std::vector< Hex::NewShape * >::size_type,std::vector< Hex::NewShape * >::value_type)\n");
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'VectorShapes_resize'.\n  Possible C/C++ prototypes are:\n    resize(std::vector<Hex::NewShape * >::size_type)\n    resize(std::vector<Hex::NewShape * >::size_type,std::vector<Hex::NewShape * >::value_type)\n");
   return NULL;
 }
 
 
 SWIGINTERN PyObject *_wrap_VectorShapes_insert__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::NewShape * > *arg1 = (std::vector< Hex::NewShape * > *) 0 ;
-  std::vector< Hex::NewShape * >::iterator arg2 ;
-  std::vector< Hex::NewShape * >::value_type arg3 = (std::vector< Hex::NewShape * >::value_type) 0 ;
+  std::vector<Hex::NewShape * > *arg1 = (std::vector<Hex::NewShape * > *) 0 ;
+  std::vector<Hex::NewShape * >::iterator arg2 ;
+  std::vector<Hex::NewShape * >::value_type arg3 = (std::vector<Hex::NewShape * >::value_type) 0 ;
+  std::vector<Hex::NewShape * >::iterator result;
   void *argp1 = 0 ;
   int res1 = 0 ;
-  swig::SwigPyIterator *iter2 = 0 ;
+  swig::PySwigIterator *iter2 = 0 ;
   int res2 ;
   void *argp3 = 0 ;
   int res3 = 0 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
   PyObject * obj2 = 0 ;
-  std::vector< Hex::NewShape * >::iterator result;
   
   if (!PyArg_ParseTuple(args,(char *)"OOO:VectorShapes_insert",&obj0,&obj1,&obj2)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__NewShape_p_std__allocatorT_Hex__NewShape_p_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__NewShape_p_std__allocatorTHex__NewShape_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorShapes_insert" "', argument " "1"" of type '" "std::vector< Hex::NewShape * > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorShapes_insert" "', argument " "1"" of type '" "std::vector<Hex::NewShape * > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::NewShape * > * >(argp1);
-  res2 = SWIG_ConvertPtr(obj1, SWIG_as_voidptrptr(&iter2), swig::SwigPyIterator::descriptor(), 0);
+  arg1 = reinterpret_cast< std::vector<Hex::NewShape * > * >(argp1);
+  res2 = SWIG_ConvertPtr(obj1, SWIG_as_voidptrptr(&iter2), swig::PySwigIterator::descriptor(), 0);
   if (!SWIG_IsOK(res2) || !iter2) {
-    SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "VectorShapes_insert" "', argument " "2"" of type '" "std::vector< Hex::NewShape * >::iterator""'");
+    SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "VectorShapes_insert" "', argument " "2"" of type '" "std::vector<Hex::NewShape * >::iterator""'");
   } else {
-    swig::SwigPyIterator_T<std::vector< Hex::NewShape * >::iterator > *iter_t = dynamic_cast<swig::SwigPyIterator_T<std::vector< Hex::NewShape * >::iterator > *>(iter2);
+    swig::PySwigIterator_T<std::vector<Hex::NewShape * >::iterator > *iter_t = dynamic_cast<swig::PySwigIterator_T<std::vector<Hex::NewShape * >::iterator > *>(iter2);
     if (iter_t) {
       arg2 = iter_t->get_current();
     } else {
-      SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "VectorShapes_insert" "', argument " "2"" of type '" "std::vector< Hex::NewShape * >::iterator""'");
+      SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "VectorShapes_insert" "', argument " "2"" of type '" "std::vector<Hex::NewShape * >::iterator""'");
     }
   }
-  res3 = SWIG_ConvertPtr(obj2, &argp3,SWIGTYPE_std__vectorT_Hex__NewShape_p_std__allocatorT_Hex__NewShape_p_t_t__value_type, 0 |  0 );
+  res3 = SWIG_ConvertPtr(obj2, &argp3,SWIGTYPE_std__vectorTHex__NewShape_p_std__allocatorTHex__NewShape_p_t_t__value_type, 0 |  0 );
   if (!SWIG_IsOK(res3)) {
-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "VectorShapes_insert" "', argument " "3"" of type '" "std::vector< Hex::NewShape * >::value_type""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "VectorShapes_insert" "', argument " "3"" of type '" "std::vector<Hex::NewShape * >::value_type""'"); 
   }
-  arg3 = reinterpret_cast< std::vector< Hex::NewShape * >::value_type >(argp3);
+  arg3 = reinterpret_cast< std::vector<Hex::NewShape * >::value_type >(argp3);
   result = (arg1)->insert(arg2,arg3);
-  resultobj = SWIG_NewPointerObj(swig::make_output_iterator(static_cast< const std::vector< Hex::NewShape * >::iterator & >(result)),
-    swig::SwigPyIterator::descriptor(),SWIG_POINTER_OWN);
+  resultobj = SWIG_NewPointerObj(swig::make_output_iterator(static_cast< const std::vector<Hex::NewShape * >::iterator & >(result)),
+    swig::PySwigIterator::descriptor(),SWIG_POINTER_OWN);
   return resultobj;
 fail:
   return NULL;
@@ -14114,13 +13234,13 @@ fail:
 
 SWIGINTERN PyObject *_wrap_VectorShapes_insert__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::NewShape * > *arg1 = (std::vector< Hex::NewShape * > *) 0 ;
-  std::vector< Hex::NewShape * >::iterator arg2 ;
-  std::vector< Hex::NewShape * >::size_type arg3 ;
-  std::vector< Hex::NewShape * >::value_type arg4 = (std::vector< Hex::NewShape * >::value_type) 0 ;
+  std::vector<Hex::NewShape * > *arg1 = (std::vector<Hex::NewShape * > *) 0 ;
+  std::vector<Hex::NewShape * >::iterator arg2 ;
+  std::vector<Hex::NewShape * >::size_type arg3 ;
+  std::vector<Hex::NewShape * >::value_type arg4 = (std::vector<Hex::NewShape * >::value_type) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
-  swig::SwigPyIterator *iter2 = 0 ;
+  swig::PySwigIterator *iter2 = 0 ;
   int res2 ;
   size_t val3 ;
   int ecode3 = 0 ;
@@ -14132,32 +13252,32 @@ SWIGINTERN PyObject *_wrap_VectorShapes_insert__SWIG_1(PyObject *SWIGUNUSEDPARM(
   PyObject * obj3 = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOOO:VectorShapes_insert",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__NewShape_p_std__allocatorT_Hex__NewShape_p_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__NewShape_p_std__allocatorTHex__NewShape_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorShapes_insert" "', argument " "1"" of type '" "std::vector< Hex::NewShape * > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorShapes_insert" "', argument " "1"" of type '" "std::vector<Hex::NewShape * > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::NewShape * > * >(argp1);
-  res2 = SWIG_ConvertPtr(obj1, SWIG_as_voidptrptr(&iter2), swig::SwigPyIterator::descriptor(), 0);
+  arg1 = reinterpret_cast< std::vector<Hex::NewShape * > * >(argp1);
+  res2 = SWIG_ConvertPtr(obj1, SWIG_as_voidptrptr(&iter2), swig::PySwigIterator::descriptor(), 0);
   if (!SWIG_IsOK(res2) || !iter2) {
-    SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "VectorShapes_insert" "', argument " "2"" of type '" "std::vector< Hex::NewShape * >::iterator""'");
+    SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "VectorShapes_insert" "', argument " "2"" of type '" "std::vector<Hex::NewShape * >::iterator""'");
   } else {
-    swig::SwigPyIterator_T<std::vector< Hex::NewShape * >::iterator > *iter_t = dynamic_cast<swig::SwigPyIterator_T<std::vector< Hex::NewShape * >::iterator > *>(iter2);
+    swig::PySwigIterator_T<std::vector<Hex::NewShape * >::iterator > *iter_t = dynamic_cast<swig::PySwigIterator_T<std::vector<Hex::NewShape * >::iterator > *>(iter2);
     if (iter_t) {
       arg2 = iter_t->get_current();
     } else {
-      SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "VectorShapes_insert" "', argument " "2"" of type '" "std::vector< Hex::NewShape * >::iterator""'");
+      SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "VectorShapes_insert" "', argument " "2"" of type '" "std::vector<Hex::NewShape * >::iterator""'");
     }
   }
   ecode3 = SWIG_AsVal_size_t(obj2, &val3);
   if (!SWIG_IsOK(ecode3)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "VectorShapes_insert" "', argument " "3"" of type '" "std::vector< Hex::NewShape * >::size_type""'");
+    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "VectorShapes_insert" "', argument " "3"" of type '" "std::vector<Hex::NewShape * >::size_type""'");
   } 
-  arg3 = static_cast< std::vector< Hex::NewShape * >::size_type >(val3);
-  res4 = SWIG_ConvertPtr(obj3, &argp4,SWIGTYPE_std__vectorT_Hex__NewShape_p_std__allocatorT_Hex__NewShape_p_t_t__value_type, 0 |  0 );
+  arg3 = static_cast< std::vector<Hex::NewShape * >::size_type >(val3);
+  res4 = SWIG_ConvertPtr(obj3, &argp4,SWIGTYPE_std__vectorTHex__NewShape_p_std__allocatorTHex__NewShape_p_t_t__value_type, 0 |  0 );
   if (!SWIG_IsOK(res4)) {
-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "VectorShapes_insert" "', argument " "4"" of type '" "std::vector< Hex::NewShape * >::value_type""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "VectorShapes_insert" "', argument " "4"" of type '" "std::vector<Hex::NewShape * >::value_type""'"); 
   }
-  arg4 = reinterpret_cast< std::vector< Hex::NewShape * >::value_type >(argp4);
+  arg4 = reinterpret_cast< std::vector<Hex::NewShape * >::value_type >(argp4);
   (arg1)->insert(arg2,arg3,arg4);
   resultobj = SWIG_Py_Void();
   return resultobj;
@@ -14172,21 +13292,21 @@ SWIGINTERN PyObject *_wrap_VectorShapes_insert(PyObject *self, PyObject *args) {
   int ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = (int)PyObject_Length(args);
+  argc = PyObject_Length(args);
   for (ii = 0; (ii < argc) && (ii < 4); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
   if (argc == 3) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<Hex::NewShape*,std::allocator< Hex::NewShape * > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector<Hex::NewShape*,std::allocator<Hex::NewShape * > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
-      swig::SwigPyIterator *iter = 0;
-      int res = SWIG_ConvertPtr(argv[1], SWIG_as_voidptrptr(&iter), swig::SwigPyIterator::descriptor(), 0);
-      _v = (SWIG_IsOK(res) && iter && (dynamic_cast<swig::SwigPyIterator_T<std::vector< Hex::NewShape * >::iterator > *>(iter) != 0));
+      swig::PySwigIterator *iter = 0;
+      int res = SWIG_ConvertPtr(argv[1], SWIG_as_voidptrptr(&iter), swig::PySwigIterator::descriptor(), 0);
+      _v = (SWIG_IsOK(res) && iter && (dynamic_cast<swig::PySwigIterator_T<std::vector<Hex::NewShape * >::iterator > *>(iter) != 0));
       if (_v) {
         void *vptr = 0;
-        int res = SWIG_ConvertPtr(argv[2], &vptr, SWIGTYPE_std__vectorT_Hex__NewShape_p_std__allocatorT_Hex__NewShape_p_t_t__value_type, 0);
+        int res = SWIG_ConvertPtr(argv[2], &vptr, SWIGTYPE_std__vectorTHex__NewShape_p_std__allocatorTHex__NewShape_p_t_t__value_type, 0);
         _v = SWIG_CheckState(res);
         if (_v) {
           return _wrap_VectorShapes_insert__SWIG_0(self, args);
@@ -14196,12 +13316,12 @@ SWIGINTERN PyObject *_wrap_VectorShapes_insert(PyObject *self, PyObject *args) {
   }
   if (argc == 4) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<Hex::NewShape*,std::allocator< Hex::NewShape * > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector<Hex::NewShape*,std::allocator<Hex::NewShape * > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
-      swig::SwigPyIterator *iter = 0;
-      int res = SWIG_ConvertPtr(argv[1], SWIG_as_voidptrptr(&iter), swig::SwigPyIterator::descriptor(), 0);
-      _v = (SWIG_IsOK(res) && iter && (dynamic_cast<swig::SwigPyIterator_T<std::vector< Hex::NewShape * >::iterator > *>(iter) != 0));
+      swig::PySwigIterator *iter = 0;
+      int res = SWIG_ConvertPtr(argv[1], SWIG_as_voidptrptr(&iter), swig::PySwigIterator::descriptor(), 0);
+      _v = (SWIG_IsOK(res) && iter && (dynamic_cast<swig::PySwigIterator_T<std::vector<Hex::NewShape * >::iterator > *>(iter) != 0));
       if (_v) {
         {
           int res = SWIG_AsVal_size_t(argv[2], NULL);
@@ -14209,7 +13329,7 @@ SWIGINTERN PyObject *_wrap_VectorShapes_insert(PyObject *self, PyObject *args) {
         }
         if (_v) {
           void *vptr = 0;
-          int res = SWIG_ConvertPtr(argv[3], &vptr, SWIGTYPE_std__vectorT_Hex__NewShape_p_std__allocatorT_Hex__NewShape_p_t_t__value_type, 0);
+          int res = SWIG_ConvertPtr(argv[3], &vptr, SWIGTYPE_std__vectorTHex__NewShape_p_std__allocatorTHex__NewShape_p_t_t__value_type, 0);
           _v = SWIG_CheckState(res);
           if (_v) {
             return _wrap_VectorShapes_insert__SWIG_1(self, args);
@@ -14220,18 +13340,15 @@ SWIGINTERN PyObject *_wrap_VectorShapes_insert(PyObject *self, PyObject *args) {
   }
   
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'VectorShapes_insert'.\n"
-    "  Possible C/C++ prototypes are:\n"
-    "    insert(std::vector< Hex::NewShape * > *,std::vector< Hex::NewShape * >::iterator,std::vector< Hex::NewShape * >::value_type)\n"
-    "    insert(std::vector< Hex::NewShape * > *,std::vector< Hex::NewShape * >::iterator,std::vector< Hex::NewShape * >::size_type,std::vector< Hex::NewShape * >::value_type)\n");
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'VectorShapes_insert'.\n  Possible C/C++ prototypes are:\n    insert(std::vector<Hex::NewShape * >::iterator,std::vector<Hex::NewShape * >::value_type)\n    insert(std::vector<Hex::NewShape * >::iterator,std::vector<Hex::NewShape * >::size_type,std::vector<Hex::NewShape * >::value_type)\n");
   return NULL;
 }
 
 
 SWIGINTERN PyObject *_wrap_VectorShapes_reserve(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::NewShape * > *arg1 = (std::vector< Hex::NewShape * > *) 0 ;
-  std::vector< Hex::NewShape * >::size_type arg2 ;
+  std::vector<Hex::NewShape * > *arg1 = (std::vector<Hex::NewShape * > *) 0 ;
+  std::vector<Hex::NewShape * >::size_type arg2 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   size_t val2 ;
@@ -14240,16 +13357,16 @@ SWIGINTERN PyObject *_wrap_VectorShapes_reserve(PyObject *SWIGUNUSEDPARM(self),
   PyObject * obj1 = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OO:VectorShapes_reserve",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__NewShape_p_std__allocatorT_Hex__NewShape_p_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__NewShape_p_std__allocatorTHex__NewShape_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorShapes_reserve" "', argument " "1"" of type '" "std::vector< Hex::NewShape * > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorShapes_reserve" "', argument " "1"" of type '" "std::vector<Hex::NewShape * > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::NewShape * > * >(argp1);
+  arg1 = reinterpret_cast< std::vector<Hex::NewShape * > * >(argp1);
   ecode2 = SWIG_AsVal_size_t(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorShapes_reserve" "', argument " "2"" of type '" "std::vector< Hex::NewShape * >::size_type""'");
+    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorShapes_reserve" "', argument " "2"" of type '" "std::vector<Hex::NewShape * >::size_type""'");
   } 
-  arg2 = static_cast< std::vector< Hex::NewShape * >::size_type >(val2);
+  arg2 = static_cast< std::vector<Hex::NewShape * >::size_type >(val2);
   (arg1)->reserve(arg2);
   resultobj = SWIG_Py_Void();
   return resultobj;
@@ -14260,19 +13377,19 @@ fail:
 
 SWIGINTERN PyObject *_wrap_VectorShapes_capacity(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::NewShape * > *arg1 = (std::vector< Hex::NewShape * > *) 0 ;
+  std::vector<Hex::NewShape * > *arg1 = (std::vector<Hex::NewShape * > *) 0 ;
+  std::vector<Hex::NewShape * >::size_type result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  std::vector< Hex::NewShape * >::size_type result;
   
   if (!PyArg_ParseTuple(args,(char *)"O:VectorShapes_capacity",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__NewShape_p_std__allocatorT_Hex__NewShape_p_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__NewShape_p_std__allocatorTHex__NewShape_p_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorShapes_capacity" "', argument " "1"" of type '" "std::vector< Hex::NewShape * > const *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorShapes_capacity" "', argument " "1"" of type '" "std::vector<Hex::NewShape * > const *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::NewShape * > * >(argp1);
-  result = ((std::vector< Hex::NewShape * > const *)arg1)->capacity();
+  arg1 = reinterpret_cast< std::vector<Hex::NewShape * > * >(argp1);
+  result = ((std::vector<Hex::NewShape * > const *)arg1)->capacity();
   resultobj = SWIG_From_size_t(static_cast< size_t >(result));
   return resultobj;
 fail:
@@ -14282,18 +13399,19 @@ fail:
 
 SWIGINTERN PyObject *_wrap_delete_VectorShapes(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< Hex::NewShape * > *arg1 = (std::vector< Hex::NewShape * > *) 0 ;
+  std::vector<Hex::NewShape * > *arg1 = (std::vector<Hex::NewShape * > *) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"O:delete_VectorShapes",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_Hex__NewShape_p_std__allocatorT_Hex__NewShape_p_t_t, SWIG_POINTER_DISOWN |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTHex__NewShape_p_std__allocatorTHex__NewShape_p_t_t, SWIG_POINTER_DISOWN |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_VectorShapes" "', argument " "1"" of type '" "std::vector< Hex::NewShape * > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_VectorShapes" "', argument " "1"" of type '" "std::vector<Hex::NewShape * > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< Hex::NewShape * > * >(argp1);
+  arg1 = reinterpret_cast< std::vector<Hex::NewShape * > * >(argp1);
   delete arg1;
+  
   resultobj = SWIG_Py_Void();
   return resultobj;
 fail:
@@ -14303,29 +13421,29 @@ fail:
 
 SWIGINTERN PyObject *VectorShapes_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *obj;
-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
-  SWIG_TypeNewClientData(SWIGTYPE_p_std__vectorT_Hex__NewShape_p_std__allocatorT_Hex__NewShape_p_t_t, SWIG_NewClientData(obj));
+  if (!PyArg_ParseTuple(args,(char*)"O|swigregister", &obj)) return NULL;
+  SWIG_TypeNewClientData(SWIGTYPE_p_std__vectorTHex__NewShape_p_std__allocatorTHex__NewShape_p_t_t, SWIG_NewClientData(obj));
   return SWIG_Py_Void();
 }
 
 SWIGINTERN PyObject *_wrap_VectorReal_iterator(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< double > *arg1 = (std::vector< double > *) 0 ;
+  std::vector<double > *arg1 = (std::vector<double > *) 0 ;
   PyObject **arg2 = (PyObject **) 0 ;
+  swig::PySwigIterator *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  swig::SwigPyIterator *result = 0 ;
   
   arg2 = &obj0;
   if (!PyArg_ParseTuple(args,(char *)"O:VectorReal_iterator",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_double_std__allocatorT_double_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTdouble_std__allocatorTdouble_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorReal_iterator" "', argument " "1"" of type '" "std::vector< double > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorReal_iterator" "', argument " "1"" of type '" "std::vector<double > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< double > * >(argp1);
-  result = (swig::SwigPyIterator *)std_vector_Sl_double_Sg__iterator(arg1,arg2);
-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_swig__SwigPyIterator, SWIG_POINTER_OWN |  0 );
+  arg1 = reinterpret_cast< std::vector<double > * >(argp1);
+  result = (swig::PySwigIterator *)std_vector_Sl_double_Sg__iterator(arg1,arg2);
+  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_swig__PySwigIterator, SWIG_POINTER_OWN |  0 );
   return resultobj;
 fail:
   return NULL;
@@ -14334,41 +13452,19 @@ fail:
 
 SWIGINTERN PyObject *_wrap_VectorReal___nonzero__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< double > *arg1 = (std::vector< double > *) 0 ;
-  void *argp1 = 0 ;
-  int res1 = 0 ;
-  PyObject * obj0 = 0 ;
+  std::vector<double > *arg1 = (std::vector<double > *) 0 ;
   bool result;
-  
-  if (!PyArg_ParseTuple(args,(char *)"O:VectorReal___nonzero__",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_double_std__allocatorT_double_t_t, 0 |  0 );
-  if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorReal___nonzero__" "', argument " "1"" of type '" "std::vector< double > const *""'"); 
-  }
-  arg1 = reinterpret_cast< std::vector< double > * >(argp1);
-  result = (bool)std_vector_Sl_double_Sg____nonzero__((std::vector< double > const *)arg1);
-  resultobj = SWIG_From_bool(static_cast< bool >(result));
-  return resultobj;
-fail:
-  return NULL;
-}
-
-
-SWIGINTERN PyObject *_wrap_VectorReal___bool__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
-  PyObject *resultobj = 0;
-  std::vector< double > *arg1 = (std::vector< double > *) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  bool result;
   
-  if (!PyArg_ParseTuple(args,(char *)"O:VectorReal___bool__",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_double_std__allocatorT_double_t_t, 0 |  0 );
+  if (!PyArg_ParseTuple(args,(char *)"O:VectorReal___nonzero__",&obj0)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTdouble_std__allocatorTdouble_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorReal___bool__" "', argument " "1"" of type '" "std::vector< double > const *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorReal___nonzero__" "', argument " "1"" of type '" "std::vector<double > const *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< double > * >(argp1);
-  result = (bool)std_vector_Sl_double_Sg____bool__((std::vector< double > const *)arg1);
+  arg1 = reinterpret_cast< std::vector<double > * >(argp1);
+  result = (bool)std_vector_Sl_double_Sg____nonzero__((std::vector<double > const *)arg1);
   resultobj = SWIG_From_bool(static_cast< bool >(result));
   return resultobj;
 fail:
@@ -14378,19 +13474,19 @@ fail:
 
 SWIGINTERN PyObject *_wrap_VectorReal___len__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< double > *arg1 = (std::vector< double > *) 0 ;
+  std::vector<double > *arg1 = (std::vector<double > *) 0 ;
+  std::vector<double >::size_type result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  std::vector< double >::size_type result;
   
   if (!PyArg_ParseTuple(args,(char *)"O:VectorReal___len__",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_double_std__allocatorT_double_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTdouble_std__allocatorTdouble_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorReal___len__" "', argument " "1"" of type '" "std::vector< double > const *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorReal___len__" "', argument " "1"" of type '" "std::vector<double > const *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< double > * >(argp1);
-  result = std_vector_Sl_double_Sg____len__((std::vector< double > const *)arg1);
+  arg1 = reinterpret_cast< std::vector<double > * >(argp1);
+  result = std_vector_Sl_double_Sg____len__((std::vector<double > const *)arg1);
   resultobj = SWIG_From_size_t(static_cast< size_t >(result));
   return resultobj;
 fail:
@@ -14400,20 +13496,20 @@ fail:
 
 SWIGINTERN PyObject *_wrap_VectorReal_pop(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< double > *arg1 = (std::vector< double > *) 0 ;
+  std::vector<double > *arg1 = (std::vector<double > *) 0 ;
+  std::vector<double >::value_type result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  std::vector< double >::value_type result;
   
   if (!PyArg_ParseTuple(args,(char *)"O:VectorReal_pop",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_double_std__allocatorT_double_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTdouble_std__allocatorTdouble_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorReal_pop" "', argument " "1"" of type '" "std::vector< double > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorReal_pop" "', argument " "1"" of type '" "std::vector<double > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< double > * >(argp1);
+  arg1 = reinterpret_cast< std::vector<double > * >(argp1);
   try {
-    result = (std::vector< double >::value_type)std_vector_Sl_double_Sg__pop(arg1);
+    result = (std::vector<double >::value_type)std_vector_Sl_double_Sg__pop(arg1);
   }
   catch(std::out_of_range &_e) {
     SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
@@ -14428,9 +13524,10 @@ fail:
 
 SWIGINTERN PyObject *_wrap_VectorReal___getslice__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< double > *arg1 = (std::vector< double > *) 0 ;
-  std::vector< double >::difference_type arg2 ;
-  std::vector< double >::difference_type arg3 ;
+  std::vector<double > *arg1 = (std::vector<double > *) 0 ;
+  std::vector<double >::difference_type arg2 ;
+  std::vector<double >::difference_type arg3 ;
+  std::vector<double,std::allocator<double > > *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   ptrdiff_t val2 ;
@@ -14440,32 +13537,31 @@ SWIGINTERN PyObject *_wrap_VectorReal___getslice__(PyObject *SWIGUNUSEDPARM(self
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
   PyObject * obj2 = 0 ;
-  std::vector< double,std::allocator< double > > *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOO:VectorReal___getslice__",&obj0,&obj1,&obj2)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_double_std__allocatorT_double_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTdouble_std__allocatorTdouble_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorReal___getslice__" "', argument " "1"" of type '" "std::vector< double > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorReal___getslice__" "', argument " "1"" of type '" "std::vector<double > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< double > * >(argp1);
+  arg1 = reinterpret_cast< std::vector<double > * >(argp1);
   ecode2 = SWIG_AsVal_ptrdiff_t(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorReal___getslice__" "', argument " "2"" of type '" "std::vector< double >::difference_type""'");
+    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorReal___getslice__" "', argument " "2"" of type '" "std::vector<double >::difference_type""'");
   } 
-  arg2 = static_cast< std::vector< double >::difference_type >(val2);
+  arg2 = static_cast< std::vector<double >::difference_type >(val2);
   ecode3 = SWIG_AsVal_ptrdiff_t(obj2, &val3);
   if (!SWIG_IsOK(ecode3)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "VectorReal___getslice__" "', argument " "3"" of type '" "std::vector< double >::difference_type""'");
+    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "VectorReal___getslice__" "', argument " "3"" of type '" "std::vector<double >::difference_type""'");
   } 
-  arg3 = static_cast< std::vector< double >::difference_type >(val3);
+  arg3 = static_cast< std::vector<double >::difference_type >(val3);
   try {
-    result = (std::vector< double,std::allocator< double > > *)std_vector_Sl_double_Sg____getslice__(arg1,arg2,arg3);
+    result = (std::vector<double,std::allocator<double > > *)std_vector_Sl_double_Sg____getslice__(arg1,arg2,arg3);
   }
   catch(std::out_of_range &_e) {
     SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
   }
   
-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_double_std__allocatorT_double_t_t, SWIG_POINTER_OWN |  0 );
+  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorTdouble_std__allocatorTdouble_t_t, SWIG_POINTER_OWN |  0 );
   return resultobj;
 fail:
   return NULL;
@@ -14474,10 +13570,10 @@ fail:
 
 SWIGINTERN PyObject *_wrap_VectorReal___setslice__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< double > *arg1 = (std::vector< double > *) 0 ;
-  std::vector< double >::difference_type arg2 ;
-  std::vector< double >::difference_type arg3 ;
-  std::vector< double,std::allocator< double > > *arg4 = 0 ;
+  std::vector<double > *arg1 = (std::vector<double > *) 0 ;
+  std::vector<double >::difference_type arg2 ;
+  std::vector<double >::difference_type arg3 ;
+  std::vector<double,std::allocator<double > > *arg4 = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   ptrdiff_t val2 ;
@@ -14491,34 +13587,34 @@ SWIGINTERN PyObject *_wrap_VectorReal___setslice__(PyObject *SWIGUNUSEDPARM(self
   PyObject * obj3 = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOOO:VectorReal___setslice__",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_double_std__allocatorT_double_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTdouble_std__allocatorTdouble_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorReal___setslice__" "', argument " "1"" of type '" "std::vector< double > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorReal___setslice__" "', argument " "1"" of type '" "std::vector<double > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< double > * >(argp1);
+  arg1 = reinterpret_cast< std::vector<double > * >(argp1);
   ecode2 = SWIG_AsVal_ptrdiff_t(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorReal___setslice__" "', argument " "2"" of type '" "std::vector< double >::difference_type""'");
+    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorReal___setslice__" "', argument " "2"" of type '" "std::vector<double >::difference_type""'");
   } 
-  arg2 = static_cast< std::vector< double >::difference_type >(val2);
+  arg2 = static_cast< std::vector<double >::difference_type >(val2);
   ecode3 = SWIG_AsVal_ptrdiff_t(obj2, &val3);
   if (!SWIG_IsOK(ecode3)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "VectorReal___setslice__" "', argument " "3"" of type '" "std::vector< double >::difference_type""'");
+    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "VectorReal___setslice__" "', argument " "3"" of type '" "std::vector<double >::difference_type""'");
   } 
-  arg3 = static_cast< std::vector< double >::difference_type >(val3);
+  arg3 = static_cast< std::vector<double >::difference_type >(val3);
   {
-    std::vector<double,std::allocator< double > > *ptr = (std::vector<double,std::allocator< double > > *)0;
+    std::vector<double,std::allocator<double > > *ptr = (std::vector<double,std::allocator<double > > *)0;
     res4 = swig::asptr(obj3, &ptr);
     if (!SWIG_IsOK(res4)) {
-      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "VectorReal___setslice__" "', argument " "4"" of type '" "std::vector< double,std::allocator< double > > const &""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "VectorReal___setslice__" "', argument " "4"" of type '" "std::vector<double,std::allocator<double > > const &""'"); 
     }
     if (!ptr) {
-      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "VectorReal___setslice__" "', argument " "4"" of type '" "std::vector< double,std::allocator< double > > const &""'"); 
+      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "VectorReal___setslice__" "', argument " "4"" of type '" "std::vector<double,std::allocator<double > > const &""'"); 
     }
     arg4 = ptr;
   }
   try {
-    std_vector_Sl_double_Sg____setslice__(arg1,arg2,arg3,(std::vector< double,std::allocator< double > > const &)*arg4);
+    std_vector_Sl_double_Sg____setslice__(arg1,arg2,arg3,(std::vector<double,std::allocator<double > > const &)*arg4);
   }
   catch(std::out_of_range &_e) {
     SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
@@ -14538,9 +13634,9 @@ fail:
 
 SWIGINTERN PyObject *_wrap_VectorReal___delslice__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< double > *arg1 = (std::vector< double > *) 0 ;
-  std::vector< double >::difference_type arg2 ;
-  std::vector< double >::difference_type arg3 ;
+  std::vector<double > *arg1 = (std::vector<double > *) 0 ;
+  std::vector<double >::difference_type arg2 ;
+  std::vector<double >::difference_type arg3 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   ptrdiff_t val2 ;
@@ -14552,21 +13648,21 @@ SWIGINTERN PyObject *_wrap_VectorReal___delslice__(PyObject *SWIGUNUSEDPARM(self
   PyObject * obj2 = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOO:VectorReal___delslice__",&obj0,&obj1,&obj2)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_double_std__allocatorT_double_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTdouble_std__allocatorTdouble_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorReal___delslice__" "', argument " "1"" of type '" "std::vector< double > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorReal___delslice__" "', argument " "1"" of type '" "std::vector<double > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< double > * >(argp1);
+  arg1 = reinterpret_cast< std::vector<double > * >(argp1);
   ecode2 = SWIG_AsVal_ptrdiff_t(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorReal___delslice__" "', argument " "2"" of type '" "std::vector< double >::difference_type""'");
+    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorReal___delslice__" "', argument " "2"" of type '" "std::vector<double >::difference_type""'");
   } 
-  arg2 = static_cast< std::vector< double >::difference_type >(val2);
+  arg2 = static_cast< std::vector<double >::difference_type >(val2);
   ecode3 = SWIG_AsVal_ptrdiff_t(obj2, &val3);
   if (!SWIG_IsOK(ecode3)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "VectorReal___delslice__" "', argument " "3"" of type '" "std::vector< double >::difference_type""'");
+    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "VectorReal___delslice__" "', argument " "3"" of type '" "std::vector<double >::difference_type""'");
   } 
-  arg3 = static_cast< std::vector< double >::difference_type >(val3);
+  arg3 = static_cast< std::vector<double >::difference_type >(val3);
   try {
     std_vector_Sl_double_Sg____delslice__(arg1,arg2,arg3);
   }
@@ -14581,10 +13677,10 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_VectorReal___delitem____SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_VectorReal___delitem__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< double > *arg1 = (std::vector< double > *) 0 ;
-  std::vector< double >::difference_type arg2 ;
+  std::vector<double > *arg1 = (std::vector<double > *) 0 ;
+  std::vector<double >::difference_type arg2 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   ptrdiff_t val2 ;
@@ -14593,134 +13689,18 @@ SWIGINTERN PyObject *_wrap_VectorReal___delitem____SWIG_0(PyObject *SWIGUNUSEDPA
   PyObject * obj1 = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OO:VectorReal___delitem__",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_double_std__allocatorT_double_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTdouble_std__allocatorTdouble_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorReal___delitem__" "', argument " "1"" of type '" "std::vector< double > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorReal___delitem__" "', argument " "1"" of type '" "std::vector<double > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< double > * >(argp1);
+  arg1 = reinterpret_cast< std::vector<double > * >(argp1);
   ecode2 = SWIG_AsVal_ptrdiff_t(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorReal___delitem__" "', argument " "2"" of type '" "std::vector< double >::difference_type""'");
+    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorReal___delitem__" "', argument " "2"" of type '" "std::vector<double >::difference_type""'");
   } 
-  arg2 = static_cast< std::vector< double >::difference_type >(val2);
-  try {
-    std_vector_Sl_double_Sg____delitem____SWIG_0(arg1,arg2);
-  }
-  catch(std::out_of_range &_e) {
-    SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
-  }
-  
-  resultobj = SWIG_Py_Void();
-  return resultobj;
-fail:
-  return NULL;
-}
-
-
-SWIGINTERN PyObject *_wrap_VectorReal___getitem____SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
-  PyObject *resultobj = 0;
-  std::vector< double > *arg1 = (std::vector< double > *) 0 ;
-  PySliceObject *arg2 = (PySliceObject *) 0 ;
-  void *argp1 = 0 ;
-  int res1 = 0 ;
-  PyObject * obj0 = 0 ;
-  PyObject * obj1 = 0 ;
-  std::vector< double,std::allocator< double > > *result = 0 ;
-  
-  if (!PyArg_ParseTuple(args,(char *)"OO:VectorReal___getitem__",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_double_std__allocatorT_double_t_t, 0 |  0 );
-  if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorReal___getitem__" "', argument " "1"" of type '" "std::vector< double > *""'"); 
-  }
-  arg1 = reinterpret_cast< std::vector< double > * >(argp1);
-  {
-    arg2 = (PySliceObject *) obj1;
-  }
-  try {
-    result = (std::vector< double,std::allocator< double > > *)std_vector_Sl_double_Sg____getitem____SWIG_0(arg1,arg2);
-  }
-  catch(std::out_of_range &_e) {
-    SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
-  }
-  
-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_double_std__allocatorT_double_t_t, 0 |  0 );
-  return resultobj;
-fail:
-  return NULL;
-}
-
-
-SWIGINTERN PyObject *_wrap_VectorReal___setitem____SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
-  PyObject *resultobj = 0;
-  std::vector< double > *arg1 = (std::vector< double > *) 0 ;
-  PySliceObject *arg2 = (PySliceObject *) 0 ;
-  std::vector< double,std::allocator< double > > *arg3 = 0 ;
-  void *argp1 = 0 ;
-  int res1 = 0 ;
-  int res3 = SWIG_OLDOBJ ;
-  PyObject * obj0 = 0 ;
-  PyObject * obj1 = 0 ;
-  PyObject * obj2 = 0 ;
-  
-  if (!PyArg_ParseTuple(args,(char *)"OOO:VectorReal___setitem__",&obj0,&obj1,&obj2)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_double_std__allocatorT_double_t_t, 0 |  0 );
-  if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorReal___setitem__" "', argument " "1"" of type '" "std::vector< double > *""'"); 
-  }
-  arg1 = reinterpret_cast< std::vector< double > * >(argp1);
-  {
-    arg2 = (PySliceObject *) obj1;
-  }
-  {
-    std::vector<double,std::allocator< double > > *ptr = (std::vector<double,std::allocator< double > > *)0;
-    res3 = swig::asptr(obj2, &ptr);
-    if (!SWIG_IsOK(res3)) {
-      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "VectorReal___setitem__" "', argument " "3"" of type '" "std::vector< double,std::allocator< double > > const &""'"); 
-    }
-    if (!ptr) {
-      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "VectorReal___setitem__" "', argument " "3"" of type '" "std::vector< double,std::allocator< double > > const &""'"); 
-    }
-    arg3 = ptr;
-  }
-  try {
-    std_vector_Sl_double_Sg____setitem____SWIG_0(arg1,arg2,(std::vector< double,std::allocator< double > > const &)*arg3);
-  }
-  catch(std::out_of_range &_e) {
-    SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
-  }
-  catch(std::invalid_argument &_e) {
-    SWIG_exception_fail(SWIG_ValueError, (&_e)->what());
-  }
-  
-  resultobj = SWIG_Py_Void();
-  if (SWIG_IsNewObj(res3)) delete arg3;
-  return resultobj;
-fail:
-  if (SWIG_IsNewObj(res3)) delete arg3;
-  return NULL;
-}
-
-
-SWIGINTERN PyObject *_wrap_VectorReal___delitem____SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
-  PyObject *resultobj = 0;
-  std::vector< double > *arg1 = (std::vector< double > *) 0 ;
-  PySliceObject *arg2 = (PySliceObject *) 0 ;
-  void *argp1 = 0 ;
-  int res1 = 0 ;
-  PyObject * obj0 = 0 ;
-  PyObject * obj1 = 0 ;
-  
-  if (!PyArg_ParseTuple(args,(char *)"OO:VectorReal___delitem__",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_double_std__allocatorT_double_t_t, 0 |  0 );
-  if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorReal___delitem__" "', argument " "1"" of type '" "std::vector< double > *""'"); 
-  }
-  arg1 = reinterpret_cast< std::vector< double > * >(argp1);
-  {
-    arg2 = (PySliceObject *) obj1;
-  }
+  arg2 = static_cast< std::vector<double >::difference_type >(val2);
   try {
-    std_vector_Sl_double_Sg____delitem____SWIG_1(arg1,arg2);
+    std_vector_Sl_double_Sg____delitem__(arg1,arg2);
   }
   catch(std::out_of_range &_e) {
     SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
@@ -14733,147 +13713,56 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_VectorReal___delitem__(PyObject *self, PyObject *args) {
-  int argc;
-  PyObject *argv[3];
-  int ii;
-  
-  if (!PyTuple_Check(args)) SWIG_fail;
-  argc = (int)PyObject_Length(args);
-  for (ii = 0; (ii < argc) && (ii < 2); ii++) {
-    argv[ii] = PyTuple_GET_ITEM(args,ii);
-  }
-  if (argc == 2) {
-    int _v;
-    int res = swig::asptr(argv[0], (std::vector<double,std::allocator< double > >**)(0));
-    _v = SWIG_CheckState(res);
-    if (_v) {
-      {
-        _v = PySlice_Check(argv[1]);
-      }
-      if (_v) {
-        return _wrap_VectorReal___delitem____SWIG_1(self, args);
-      }
-    }
-  }
-  if (argc == 2) {
-    int _v;
-    int res = swig::asptr(argv[0], (std::vector<double,std::allocator< double > >**)(0));
-    _v = SWIG_CheckState(res);
-    if (_v) {
-      {
-        int res = SWIG_AsVal_ptrdiff_t(argv[1], NULL);
-        _v = SWIG_CheckState(res);
-      }
-      if (_v) {
-        return _wrap_VectorReal___delitem____SWIG_0(self, args);
-      }
-    }
-  }
-  
-fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'VectorReal___delitem__'.\n"
-    "  Possible C/C++ prototypes are:\n"
-    "    __delitem__(std::vector< double > *,std::vector< double >::difference_type)\n"
-    "    __delitem__(std::vector< double > *,PySliceObject *)\n");
-  return NULL;
-}
-
-
-SWIGINTERN PyObject *_wrap_VectorReal___getitem____SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_VectorReal___getitem__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< double > *arg1 = (std::vector< double > *) 0 ;
-  std::vector< double >::difference_type arg2 ;
+  std::vector<double > *arg1 = (std::vector<double > *) 0 ;
+  std::vector<double >::difference_type arg2 ;
+  std::vector<double >::value_type *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   ptrdiff_t val2 ;
   int ecode2 = 0 ;
   PyObject * obj0 = 0 ;
-  PyObject * obj1 = 0 ;
-  std::vector< double >::value_type *result = 0 ;
-  
-  if (!PyArg_ParseTuple(args,(char *)"OO:VectorReal___getitem__",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_double_std__allocatorT_double_t_t, 0 |  0 );
-  if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorReal___getitem__" "', argument " "1"" of type '" "std::vector< double > const *""'"); 
-  }
-  arg1 = reinterpret_cast< std::vector< double > * >(argp1);
-  ecode2 = SWIG_AsVal_ptrdiff_t(obj1, &val2);
-  if (!SWIG_IsOK(ecode2)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorReal___getitem__" "', argument " "2"" of type '" "std::vector< double >::difference_type""'");
-  } 
-  arg2 = static_cast< std::vector< double >::difference_type >(val2);
-  try {
-    result = (std::vector< double >::value_type *) &std_vector_Sl_double_Sg____getitem____SWIG_1((std::vector< double > const *)arg1,arg2);
-  }
-  catch(std::out_of_range &_e) {
-    SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
-  }
-  
-  resultobj = SWIG_From_double(static_cast< double >(*result));
-  return resultobj;
-fail:
-  return NULL;
-}
-
-
-SWIGINTERN PyObject *_wrap_VectorReal___getitem__(PyObject *self, PyObject *args) {
-  int argc;
-  PyObject *argv[3];
-  int ii;
+  PyObject * obj1 = 0 ;
   
-  if (!PyTuple_Check(args)) SWIG_fail;
-  argc = (int)PyObject_Length(args);
-  for (ii = 0; (ii < argc) && (ii < 2); ii++) {
-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+  if (!PyArg_ParseTuple(args,(char *)"OO:VectorReal___getitem__",&obj0,&obj1)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTdouble_std__allocatorTdouble_t_t, 0 |  0 );
+  if (!SWIG_IsOK(res1)) {
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorReal___getitem__" "', argument " "1"" of type '" "std::vector<double > const *""'"); 
   }
-  if (argc == 2) {
-    int _v;
-    int res = swig::asptr(argv[0], (std::vector<double,std::allocator< double > >**)(0));
-    _v = SWIG_CheckState(res);
-    if (_v) {
-      {
-        _v = PySlice_Check(argv[1]);
-      }
-      if (_v) {
-        return _wrap_VectorReal___getitem____SWIG_0(self, args);
-      }
+  arg1 = reinterpret_cast< std::vector<double > * >(argp1);
+  ecode2 = SWIG_AsVal_ptrdiff_t(obj1, &val2);
+  if (!SWIG_IsOK(ecode2)) {
+    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorReal___getitem__" "', argument " "2"" of type '" "std::vector<double >::difference_type""'");
+  } 
+  arg2 = static_cast< std::vector<double >::difference_type >(val2);
+  try {
+    {
+      std::vector<double >::value_type const &_result_ref = std_vector_Sl_double_Sg____getitem__((std::vector<double > const *)arg1,arg2);
+      result = (std::vector<double >::value_type *) &_result_ref;
     }
   }
-  if (argc == 2) {
-    int _v;
-    int res = swig::asptr(argv[0], (std::vector<double,std::allocator< double > >**)(0));
-    _v = SWIG_CheckState(res);
-    if (_v) {
-      {
-        int res = SWIG_AsVal_ptrdiff_t(argv[1], NULL);
-        _v = SWIG_CheckState(res);
-      }
-      if (_v) {
-        return _wrap_VectorReal___getitem____SWIG_1(self, args);
-      }
-    }
+  catch(std::out_of_range &_e) {
+    SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
   }
   
+  resultobj = SWIG_From_double(static_cast< double >(*result));
+  return resultobj;
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'VectorReal___getitem__'.\n"
-    "  Possible C/C++ prototypes are:\n"
-    "    __getitem__(std::vector< double > *,PySliceObject *)\n"
-    "    __getitem__(std::vector< double > const *,std::vector< double >::difference_type)\n");
   return NULL;
 }
 
 
-SWIGINTERN PyObject *_wrap_VectorReal___setitem____SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_VectorReal___setitem__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< double > *arg1 = (std::vector< double > *) 0 ;
-  std::vector< double >::difference_type arg2 ;
-  std::vector< double >::value_type *arg3 = 0 ;
+  std::vector<double > *arg1 = (std::vector<double > *) 0 ;
+  std::vector<double >::difference_type arg2 ;
+  std::vector<double >::value_type *arg3 = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   ptrdiff_t val2 ;
   int ecode2 = 0 ;
-  std::vector< double >::value_type temp3 ;
+  std::vector<double >::value_type temp3 ;
   double val3 ;
   int ecode3 = 0 ;
   PyObject * obj0 = 0 ;
@@ -14881,24 +13770,24 @@ SWIGINTERN PyObject *_wrap_VectorReal___setitem____SWIG_1(PyObject *SWIGUNUSEDPA
   PyObject * obj2 = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOO:VectorReal___setitem__",&obj0,&obj1,&obj2)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_double_std__allocatorT_double_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTdouble_std__allocatorTdouble_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorReal___setitem__" "', argument " "1"" of type '" "std::vector< double > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorReal___setitem__" "', argument " "1"" of type '" "std::vector<double > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< double > * >(argp1);
+  arg1 = reinterpret_cast< std::vector<double > * >(argp1);
   ecode2 = SWIG_AsVal_ptrdiff_t(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorReal___setitem__" "', argument " "2"" of type '" "std::vector< double >::difference_type""'");
+    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorReal___setitem__" "', argument " "2"" of type '" "std::vector<double >::difference_type""'");
   } 
-  arg2 = static_cast< std::vector< double >::difference_type >(val2);
+  arg2 = static_cast< std::vector<double >::difference_type >(val2);
   ecode3 = SWIG_AsVal_double(obj2, &val3);
   if (!SWIG_IsOK(ecode3)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "VectorReal___setitem__" "', argument " "3"" of type '" "std::vector< double >::value_type""'");
+    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "VectorReal___setitem__" "', argument " "3"" of type '" "std::vector<double >::value_type""'");
   } 
-  temp3 = static_cast< std::vector< double >::value_type >(val3);
+  temp3 = static_cast< std::vector<double >::value_type >(val3);
   arg3 = &temp3;
   try {
-    std_vector_Sl_double_Sg____setitem____SWIG_1(arg1,arg2,(double const &)*arg3);
+    std_vector_Sl_double_Sg____setitem__(arg1,arg2,(double const &)*arg3);
   }
   catch(std::out_of_range &_e) {
     SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
@@ -14911,86 +13800,29 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_VectorReal___setitem__(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 == 3) {
-    int _v;
-    int res = swig::asptr(argv[0], (std::vector<double,std::allocator< double > >**)(0));
-    _v = SWIG_CheckState(res);
-    if (_v) {
-      {
-        _v = PySlice_Check(argv[1]);
-      }
-      if (_v) {
-        int res = swig::asptr(argv[2], (std::vector<double,std::allocator< double > >**)(0));
-        _v = SWIG_CheckState(res);
-        if (_v) {
-          return _wrap_VectorReal___setitem____SWIG_0(self, args);
-        }
-      }
-    }
-  }
-  if (argc == 3) {
-    int _v;
-    int res = swig::asptr(argv[0], (std::vector<double,std::allocator< double > >**)(0));
-    _v = SWIG_CheckState(res);
-    if (_v) {
-      {
-        int res = SWIG_AsVal_ptrdiff_t(argv[1], NULL);
-        _v = SWIG_CheckState(res);
-      }
-      if (_v) {
-        {
-          int res = SWIG_AsVal_double(argv[2], NULL);
-          _v = SWIG_CheckState(res);
-        }
-        if (_v) {
-          return _wrap_VectorReal___setitem____SWIG_1(self, args);
-        }
-      }
-    }
-  }
-  
-fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'VectorReal___setitem__'.\n"
-    "  Possible C/C++ prototypes are:\n"
-    "    __setitem__(std::vector< double > *,PySliceObject *,std::vector< double,std::allocator< double > > const &)\n"
-    "    __setitem__(std::vector< double > *,std::vector< double >::difference_type,std::vector< double >::value_type const &)\n");
-  return NULL;
-}
-
-
 SWIGINTERN PyObject *_wrap_VectorReal_append(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< double > *arg1 = (std::vector< double > *) 0 ;
-  std::vector< double >::value_type *arg2 = 0 ;
+  std::vector<double > *arg1 = (std::vector<double > *) 0 ;
+  std::vector<double >::value_type *arg2 = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
-  std::vector< double >::value_type temp2 ;
+  std::vector<double >::value_type temp2 ;
   double val2 ;
   int ecode2 = 0 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OO:VectorReal_append",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_double_std__allocatorT_double_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTdouble_std__allocatorTdouble_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorReal_append" "', argument " "1"" of type '" "std::vector< double > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorReal_append" "', argument " "1"" of type '" "std::vector<double > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< double > * >(argp1);
+  arg1 = reinterpret_cast< std::vector<double > * >(argp1);
   ecode2 = SWIG_AsVal_double(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorReal_append" "', argument " "2"" of type '" "std::vector< double >::value_type""'");
+    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorReal_append" "', argument " "2"" of type '" "std::vector<double >::value_type""'");
   } 
-  temp2 = static_cast< std::vector< double >::value_type >(val2);
+  temp2 = static_cast< std::vector<double >::value_type >(val2);
   arg2 = &temp2;
   std_vector_Sl_double_Sg__append(arg1,(double const &)*arg2);
   resultobj = SWIG_Py_Void();
@@ -15002,11 +13834,11 @@ fail:
 
 SWIGINTERN PyObject *_wrap_new_VectorReal__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< double > *result = 0 ;
+  std::vector<double > *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)":new_VectorReal")) SWIG_fail;
-  result = (std::vector< double > *)new std::vector< double >();
-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_double_std__allocatorT_double_t_t, SWIG_POINTER_NEW |  0 );
+  result = (std::vector<double > *)new std::vector<double >();
+  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorTdouble_std__allocatorTdouble_t_t, SWIG_POINTER_NEW |  0 );
   return resultobj;
 fail:
   return NULL;
@@ -15015,25 +13847,25 @@ fail:
 
 SWIGINTERN PyObject *_wrap_new_VectorReal__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< double > *arg1 = 0 ;
+  std::vector<double > *arg1 = 0 ;
+  std::vector<double > *result = 0 ;
   int res1 = SWIG_OLDOBJ ;
   PyObject * obj0 = 0 ;
-  std::vector< double > *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"O:new_VectorReal",&obj0)) SWIG_fail;
   {
-    std::vector<double,std::allocator< double > > *ptr = (std::vector<double,std::allocator< double > > *)0;
+    std::vector<double,std::allocator<double > > *ptr = (std::vector<double,std::allocator<double > > *)0;
     res1 = swig::asptr(obj0, &ptr);
     if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_VectorReal" "', argument " "1"" of type '" "std::vector< double > const &""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_VectorReal" "', argument " "1"" of type '" "std::vector<double > const &""'"); 
     }
     if (!ptr) {
-      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_VectorReal" "', argument " "1"" of type '" "std::vector< double > const &""'"); 
+      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_VectorReal" "', argument " "1"" of type '" "std::vector<double > const &""'"); 
     }
     arg1 = ptr;
   }
-  result = (std::vector< double > *)new std::vector< double >((std::vector< double > const &)*arg1);
-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_double_std__allocatorT_double_t_t, SWIG_POINTER_NEW |  0 );
+  result = (std::vector<double > *)new std::vector<double >((std::vector<double > const &)*arg1);
+  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorTdouble_std__allocatorTdouble_t_t, SWIG_POINTER_NEW |  0 );
   if (SWIG_IsNewObj(res1)) delete arg1;
   return resultobj;
 fail:
@@ -15044,19 +13876,19 @@ fail:
 
 SWIGINTERN PyObject *_wrap_VectorReal_empty(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< double > *arg1 = (std::vector< double > *) 0 ;
+  std::vector<double > *arg1 = (std::vector<double > *) 0 ;
+  bool result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  bool result;
   
   if (!PyArg_ParseTuple(args,(char *)"O:VectorReal_empty",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_double_std__allocatorT_double_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTdouble_std__allocatorTdouble_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorReal_empty" "', argument " "1"" of type '" "std::vector< double > const *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorReal_empty" "', argument " "1"" of type '" "std::vector<double > const *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< double > * >(argp1);
-  result = (bool)((std::vector< double > const *)arg1)->empty();
+  arg1 = reinterpret_cast< std::vector<double > * >(argp1);
+  result = (bool)((std::vector<double > const *)arg1)->empty();
   resultobj = SWIG_From_bool(static_cast< bool >(result));
   return resultobj;
 fail:
@@ -15066,19 +13898,19 @@ fail:
 
 SWIGINTERN PyObject *_wrap_VectorReal_size(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< double > *arg1 = (std::vector< double > *) 0 ;
+  std::vector<double > *arg1 = (std::vector<double > *) 0 ;
+  std::vector<double >::size_type result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  std::vector< double >::size_type result;
   
   if (!PyArg_ParseTuple(args,(char *)"O:VectorReal_size",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_double_std__allocatorT_double_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTdouble_std__allocatorTdouble_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorReal_size" "', argument " "1"" of type '" "std::vector< double > const *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorReal_size" "', argument " "1"" of type '" "std::vector<double > const *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< double > * >(argp1);
-  result = ((std::vector< double > const *)arg1)->size();
+  arg1 = reinterpret_cast< std::vector<double > * >(argp1);
+  result = ((std::vector<double > const *)arg1)->size();
   resultobj = SWIG_From_size_t(static_cast< size_t >(result));
   return resultobj;
 fail:
@@ -15088,17 +13920,17 @@ fail:
 
 SWIGINTERN PyObject *_wrap_VectorReal_clear(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< double > *arg1 = (std::vector< double > *) 0 ;
+  std::vector<double > *arg1 = (std::vector<double > *) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"O:VectorReal_clear",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_double_std__allocatorT_double_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTdouble_std__allocatorTdouble_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorReal_clear" "', argument " "1"" of type '" "std::vector< double > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorReal_clear" "', argument " "1"" of type '" "std::vector<double > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< double > * >(argp1);
+  arg1 = reinterpret_cast< std::vector<double > * >(argp1);
   (arg1)->clear();
   resultobj = SWIG_Py_Void();
   return resultobj;
@@ -15109,8 +13941,8 @@ fail:
 
 SWIGINTERN PyObject *_wrap_VectorReal_swap(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< double > *arg1 = (std::vector< double > *) 0 ;
-  std::vector< double > *arg2 = 0 ;
+  std::vector<double > *arg1 = (std::vector<double > *) 0 ;
+  std::vector<double > *arg2 = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   void *argp2 = 0 ;
@@ -15119,19 +13951,19 @@ SWIGINTERN PyObject *_wrap_VectorReal_swap(PyObject *SWIGUNUSEDPARM(self), PyObj
   PyObject * obj1 = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OO:VectorReal_swap",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_double_std__allocatorT_double_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTdouble_std__allocatorTdouble_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorReal_swap" "', argument " "1"" of type '" "std::vector< double > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorReal_swap" "', argument " "1"" of type '" "std::vector<double > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< double > * >(argp1);
-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_std__vectorT_double_std__allocatorT_double_t_t,  0 );
+  arg1 = reinterpret_cast< std::vector<double > * >(argp1);
+  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_std__vectorTdouble_std__allocatorTdouble_t_t,  0 );
   if (!SWIG_IsOK(res2)) {
-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "VectorReal_swap" "', argument " "2"" of type '" "std::vector< double > &""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "VectorReal_swap" "', argument " "2"" of type '" "std::vector<double > &""'"); 
   }
   if (!argp2) {
-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "VectorReal_swap" "', argument " "2"" of type '" "std::vector< double > &""'"); 
+    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "VectorReal_swap" "', argument " "2"" of type '" "std::vector<double > &""'"); 
   }
-  arg2 = reinterpret_cast< std::vector< double > * >(argp2);
+  arg2 = reinterpret_cast< std::vector<double > * >(argp2);
   (arg1)->swap(*arg2);
   resultobj = SWIG_Py_Void();
   return resultobj;
@@ -15142,134 +13974,358 @@ fail:
 
 SWIGINTERN PyObject *_wrap_VectorReal_get_allocator(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< double > *arg1 = (std::vector< double > *) 0 ;
+  std::vector<double > *arg1 = (std::vector<double > *) 0 ;
+  SwigValueWrapper<std::allocator<double > > result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  SwigValueWrapper< std::allocator< double > > result;
   
   if (!PyArg_ParseTuple(args,(char *)"O:VectorReal_get_allocator",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_double_std__allocatorT_double_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTdouble_std__allocatorTdouble_t_t, 0 |  0 );
+  if (!SWIG_IsOK(res1)) {
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorReal_get_allocator" "', argument " "1"" of type '" "std::vector<double > const *""'"); 
+  }
+  arg1 = reinterpret_cast< std::vector<double > * >(argp1);
+  result = ((std::vector<double > const *)arg1)->get_allocator();
+  resultobj = SWIG_NewPointerObj((new std::vector<double >::allocator_type(static_cast< const std::vector<double >::allocator_type& >(result))), SWIGTYPE_p_std__vectorTdouble_std__allocatorTdouble_t_t__allocator_type, SWIG_POINTER_OWN |  0 );
+  return resultobj;
+fail:
+  return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_VectorReal_begin__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+  PyObject *resultobj = 0;
+  std::vector<double > *arg1 = (std::vector<double > *) 0 ;
+  std::vector<double >::iterator result;
+  void *argp1 = 0 ;
+  int res1 = 0 ;
+  PyObject * obj0 = 0 ;
+  
+  if (!PyArg_ParseTuple(args,(char *)"O:VectorReal_begin",&obj0)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTdouble_std__allocatorTdouble_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorReal_get_allocator" "', argument " "1"" of type '" "std::vector< double > const *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorReal_begin" "', argument " "1"" of type '" "std::vector<double > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< double > * >(argp1);
-  result = ((std::vector< double > const *)arg1)->get_allocator();
-  resultobj = SWIG_NewPointerObj((new std::vector< double >::allocator_type(static_cast< const std::vector< double >::allocator_type& >(result))), SWIGTYPE_p_std__vectorT_double_std__allocatorT_double_t_t__allocator_type, SWIG_POINTER_OWN |  0 );
+  arg1 = reinterpret_cast< std::vector<double > * >(argp1);
+  result = (arg1)->begin();
+  resultobj = SWIG_NewPointerObj(swig::make_output_iterator(static_cast< const std::vector<double >::iterator & >(result)),
+    swig::PySwigIterator::descriptor(),SWIG_POINTER_OWN);
   return resultobj;
 fail:
   return NULL;
 }
 
 
-SWIGINTERN PyObject *_wrap_VectorReal_begin(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_VectorReal_begin__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< double > *arg1 = (std::vector< double > *) 0 ;
+  std::vector<double > *arg1 = (std::vector<double > *) 0 ;
+  std::vector<double >::const_iterator result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  std::vector< double >::const_iterator result;
   
   if (!PyArg_ParseTuple(args,(char *)"O:VectorReal_begin",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_double_std__allocatorT_double_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTdouble_std__allocatorTdouble_t_t, 0 |  0 );
+  if (!SWIG_IsOK(res1)) {
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorReal_begin" "', argument " "1"" of type '" "std::vector<double > const *""'"); 
+  }
+  arg1 = reinterpret_cast< std::vector<double > * >(argp1);
+  result = ((std::vector<double > const *)arg1)->begin();
+  resultobj = SWIG_NewPointerObj(swig::make_output_iterator(static_cast< const std::vector<double >::const_iterator & >(result)),
+    swig::PySwigIterator::descriptor(),SWIG_POINTER_OWN);
+  return resultobj;
+fail:
+  return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_VectorReal_begin(PyObject *self, PyObject *args) {
+  int argc;
+  PyObject *argv[2];
+  int ii;
+  
+  if (!PyTuple_Check(args)) SWIG_fail;
+  argc = PyObject_Length(args);
+  for (ii = 0; (ii < argc) && (ii < 1); ii++) {
+    argv[ii] = PyTuple_GET_ITEM(args,ii);
+  }
+  if (argc == 1) {
+    int _v;
+    int res = swig::asptr(argv[0], (std::vector<double,std::allocator<double > >**)(0));
+    _v = SWIG_CheckState(res);
+    if (_v) {
+      return _wrap_VectorReal_begin__SWIG_0(self, args);
+    }
+  }
+  if (argc == 1) {
+    int _v;
+    int res = swig::asptr(argv[0], (std::vector<double,std::allocator<double > >**)(0));
+    _v = SWIG_CheckState(res);
+    if (_v) {
+      return _wrap_VectorReal_begin__SWIG_1(self, args);
+    }
+  }
+  
+fail:
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'VectorReal_begin'.\n  Possible C/C++ prototypes are:\n    begin()\n    begin()\n");
+  return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_VectorReal_end__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+  PyObject *resultobj = 0;
+  std::vector<double > *arg1 = (std::vector<double > *) 0 ;
+  std::vector<double >::iterator result;
+  void *argp1 = 0 ;
+  int res1 = 0 ;
+  PyObject * obj0 = 0 ;
+  
+  if (!PyArg_ParseTuple(args,(char *)"O:VectorReal_end",&obj0)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTdouble_std__allocatorTdouble_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorReal_begin" "', argument " "1"" of type '" "std::vector< double > const *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorReal_end" "', argument " "1"" of type '" "std::vector<double > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< double > * >(argp1);
-  result = ((std::vector< double > const *)arg1)->begin();
-  resultobj = SWIG_NewPointerObj(swig::make_output_iterator(static_cast< const std::vector< double >::const_iterator & >(result)),
-    swig::SwigPyIterator::descriptor(),SWIG_POINTER_OWN);
+  arg1 = reinterpret_cast< std::vector<double > * >(argp1);
+  result = (arg1)->end();
+  resultobj = SWIG_NewPointerObj(swig::make_output_iterator(static_cast< const std::vector<double >::iterator & >(result)),
+    swig::PySwigIterator::descriptor(),SWIG_POINTER_OWN);
   return resultobj;
 fail:
   return NULL;
 }
 
 
-SWIGINTERN PyObject *_wrap_VectorReal_end(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_VectorReal_end__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< double > *arg1 = (std::vector< double > *) 0 ;
+  std::vector<double > *arg1 = (std::vector<double > *) 0 ;
+  std::vector<double >::const_iterator result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  std::vector< double >::const_iterator result;
   
   if (!PyArg_ParseTuple(args,(char *)"O:VectorReal_end",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_double_std__allocatorT_double_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTdouble_std__allocatorTdouble_t_t, 0 |  0 );
+  if (!SWIG_IsOK(res1)) {
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorReal_end" "', argument " "1"" of type '" "std::vector<double > const *""'"); 
+  }
+  arg1 = reinterpret_cast< std::vector<double > * >(argp1);
+  result = ((std::vector<double > const *)arg1)->end();
+  resultobj = SWIG_NewPointerObj(swig::make_output_iterator(static_cast< const std::vector<double >::const_iterator & >(result)),
+    swig::PySwigIterator::descriptor(),SWIG_POINTER_OWN);
+  return resultobj;
+fail:
+  return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_VectorReal_end(PyObject *self, PyObject *args) {
+  int argc;
+  PyObject *argv[2];
+  int ii;
+  
+  if (!PyTuple_Check(args)) SWIG_fail;
+  argc = PyObject_Length(args);
+  for (ii = 0; (ii < argc) && (ii < 1); ii++) {
+    argv[ii] = PyTuple_GET_ITEM(args,ii);
+  }
+  if (argc == 1) {
+    int _v;
+    int res = swig::asptr(argv[0], (std::vector<double,std::allocator<double > >**)(0));
+    _v = SWIG_CheckState(res);
+    if (_v) {
+      return _wrap_VectorReal_end__SWIG_0(self, args);
+    }
+  }
+  if (argc == 1) {
+    int _v;
+    int res = swig::asptr(argv[0], (std::vector<double,std::allocator<double > >**)(0));
+    _v = SWIG_CheckState(res);
+    if (_v) {
+      return _wrap_VectorReal_end__SWIG_1(self, args);
+    }
+  }
+  
+fail:
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'VectorReal_end'.\n  Possible C/C++ prototypes are:\n    end()\n    end()\n");
+  return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_VectorReal_rbegin__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+  PyObject *resultobj = 0;
+  std::vector<double > *arg1 = (std::vector<double > *) 0 ;
+  std::vector<double >::reverse_iterator result;
+  void *argp1 = 0 ;
+  int res1 = 0 ;
+  PyObject * obj0 = 0 ;
+  
+  if (!PyArg_ParseTuple(args,(char *)"O:VectorReal_rbegin",&obj0)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTdouble_std__allocatorTdouble_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorReal_end" "', argument " "1"" of type '" "std::vector< double > const *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorReal_rbegin" "', argument " "1"" of type '" "std::vector<double > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< double > * >(argp1);
-  result = ((std::vector< double > const *)arg1)->end();
-  resultobj = SWIG_NewPointerObj(swig::make_output_iterator(static_cast< const std::vector< double >::const_iterator & >(result)),
-    swig::SwigPyIterator::descriptor(),SWIG_POINTER_OWN);
+  arg1 = reinterpret_cast< std::vector<double > * >(argp1);
+  result = (arg1)->rbegin();
+  resultobj = SWIG_NewPointerObj(swig::make_output_iterator(static_cast< const std::vector<double >::reverse_iterator & >(result)),
+    swig::PySwigIterator::descriptor(),SWIG_POINTER_OWN);
   return resultobj;
 fail:
   return NULL;
 }
 
 
-SWIGINTERN PyObject *_wrap_VectorReal_rbegin(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_VectorReal_rbegin__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< double > *arg1 = (std::vector< double > *) 0 ;
+  std::vector<double > *arg1 = (std::vector<double > *) 0 ;
+  std::vector<double >::const_reverse_iterator result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  std::vector< double >::const_reverse_iterator result;
   
   if (!PyArg_ParseTuple(args,(char *)"O:VectorReal_rbegin",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_double_std__allocatorT_double_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTdouble_std__allocatorTdouble_t_t, 0 |  0 );
+  if (!SWIG_IsOK(res1)) {
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorReal_rbegin" "', argument " "1"" of type '" "std::vector<double > const *""'"); 
+  }
+  arg1 = reinterpret_cast< std::vector<double > * >(argp1);
+  result = ((std::vector<double > const *)arg1)->rbegin();
+  resultobj = SWIG_NewPointerObj(swig::make_output_iterator(static_cast< const std::vector<double >::const_reverse_iterator & >(result)),
+    swig::PySwigIterator::descriptor(),SWIG_POINTER_OWN);
+  return resultobj;
+fail:
+  return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_VectorReal_rbegin(PyObject *self, PyObject *args) {
+  int argc;
+  PyObject *argv[2];
+  int ii;
+  
+  if (!PyTuple_Check(args)) SWIG_fail;
+  argc = PyObject_Length(args);
+  for (ii = 0; (ii < argc) && (ii < 1); ii++) {
+    argv[ii] = PyTuple_GET_ITEM(args,ii);
+  }
+  if (argc == 1) {
+    int _v;
+    int res = swig::asptr(argv[0], (std::vector<double,std::allocator<double > >**)(0));
+    _v = SWIG_CheckState(res);
+    if (_v) {
+      return _wrap_VectorReal_rbegin__SWIG_0(self, args);
+    }
+  }
+  if (argc == 1) {
+    int _v;
+    int res = swig::asptr(argv[0], (std::vector<double,std::allocator<double > >**)(0));
+    _v = SWIG_CheckState(res);
+    if (_v) {
+      return _wrap_VectorReal_rbegin__SWIG_1(self, args);
+    }
+  }
+  
+fail:
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'VectorReal_rbegin'.\n  Possible C/C++ prototypes are:\n    rbegin()\n    rbegin()\n");
+  return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_VectorReal_rend__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+  PyObject *resultobj = 0;
+  std::vector<double > *arg1 = (std::vector<double > *) 0 ;
+  std::vector<double >::reverse_iterator result;
+  void *argp1 = 0 ;
+  int res1 = 0 ;
+  PyObject * obj0 = 0 ;
+  
+  if (!PyArg_ParseTuple(args,(char *)"O:VectorReal_rend",&obj0)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTdouble_std__allocatorTdouble_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorReal_rbegin" "', argument " "1"" of type '" "std::vector< double > const *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorReal_rend" "', argument " "1"" of type '" "std::vector<double > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< double > * >(argp1);
-  result = ((std::vector< double > const *)arg1)->rbegin();
-  resultobj = SWIG_NewPointerObj(swig::make_output_iterator(static_cast< const std::vector< double >::const_reverse_iterator & >(result)),
-    swig::SwigPyIterator::descriptor(),SWIG_POINTER_OWN);
+  arg1 = reinterpret_cast< std::vector<double > * >(argp1);
+  result = (arg1)->rend();
+  resultobj = SWIG_NewPointerObj(swig::make_output_iterator(static_cast< const std::vector<double >::reverse_iterator & >(result)),
+    swig::PySwigIterator::descriptor(),SWIG_POINTER_OWN);
   return resultobj;
 fail:
   return NULL;
 }
 
 
-SWIGINTERN PyObject *_wrap_VectorReal_rend(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_VectorReal_rend__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< double > *arg1 = (std::vector< double > *) 0 ;
+  std::vector<double > *arg1 = (std::vector<double > *) 0 ;
+  std::vector<double >::const_reverse_iterator result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  std::vector< double >::const_reverse_iterator result;
   
   if (!PyArg_ParseTuple(args,(char *)"O:VectorReal_rend",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_double_std__allocatorT_double_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTdouble_std__allocatorTdouble_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorReal_rend" "', argument " "1"" of type '" "std::vector< double > const *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorReal_rend" "', argument " "1"" of type '" "std::vector<double > const *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< double > * >(argp1);
-  result = ((std::vector< double > const *)arg1)->rend();
-  resultobj = SWIG_NewPointerObj(swig::make_output_iterator(static_cast< const std::vector< double >::const_reverse_iterator & >(result)),
-    swig::SwigPyIterator::descriptor(),SWIG_POINTER_OWN);
+  arg1 = reinterpret_cast< std::vector<double > * >(argp1);
+  result = ((std::vector<double > const *)arg1)->rend();
+  resultobj = SWIG_NewPointerObj(swig::make_output_iterator(static_cast< const std::vector<double >::const_reverse_iterator & >(result)),
+    swig::PySwigIterator::descriptor(),SWIG_POINTER_OWN);
   return resultobj;
 fail:
   return NULL;
 }
 
 
+SWIGINTERN PyObject *_wrap_VectorReal_rend(PyObject *self, PyObject *args) {
+  int argc;
+  PyObject *argv[2];
+  int ii;
+  
+  if (!PyTuple_Check(args)) SWIG_fail;
+  argc = PyObject_Length(args);
+  for (ii = 0; (ii < argc) && (ii < 1); ii++) {
+    argv[ii] = PyTuple_GET_ITEM(args,ii);
+  }
+  if (argc == 1) {
+    int _v;
+    int res = swig::asptr(argv[0], (std::vector<double,std::allocator<double > >**)(0));
+    _v = SWIG_CheckState(res);
+    if (_v) {
+      return _wrap_VectorReal_rend__SWIG_0(self, args);
+    }
+  }
+  if (argc == 1) {
+    int _v;
+    int res = swig::asptr(argv[0], (std::vector<double,std::allocator<double > >**)(0));
+    _v = SWIG_CheckState(res);
+    if (_v) {
+      return _wrap_VectorReal_rend__SWIG_1(self, args);
+    }
+  }
+  
+fail:
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'VectorReal_rend'.\n  Possible C/C++ prototypes are:\n    rend()\n    rend()\n");
+  return NULL;
+}
+
+
 SWIGINTERN PyObject *_wrap_new_VectorReal__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< double >::size_type arg1 ;
+  std::vector<double >::size_type arg1 ;
+  std::vector<double > *result = 0 ;
   size_t val1 ;
   int ecode1 = 0 ;
   PyObject * obj0 = 0 ;
-  std::vector< double > *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"O:new_VectorReal",&obj0)) SWIG_fail;
   ecode1 = SWIG_AsVal_size_t(obj0, &val1);
   if (!SWIG_IsOK(ecode1)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_VectorReal" "', argument " "1"" of type '" "std::vector< double >::size_type""'");
+    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_VectorReal" "', argument " "1"" of type '" "std::vector<double >::size_type""'");
   } 
-  arg1 = static_cast< std::vector< double >::size_type >(val1);
-  result = (std::vector< double > *)new std::vector< double >(arg1);
-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_double_std__allocatorT_double_t_t, SWIG_POINTER_NEW |  0 );
+  arg1 = static_cast< std::vector<double >::size_type >(val1);
+  result = (std::vector<double > *)new std::vector<double >(arg1);
+  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorTdouble_std__allocatorTdouble_t_t, SWIG_POINTER_NEW |  0 );
   return resultobj;
 fail:
   return NULL;
@@ -15278,17 +14334,17 @@ fail:
 
 SWIGINTERN PyObject *_wrap_VectorReal_pop_back(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< double > *arg1 = (std::vector< double > *) 0 ;
+  std::vector<double > *arg1 = (std::vector<double > *) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"O:VectorReal_pop_back",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_double_std__allocatorT_double_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTdouble_std__allocatorTdouble_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorReal_pop_back" "', argument " "1"" of type '" "std::vector< double > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorReal_pop_back" "', argument " "1"" of type '" "std::vector<double > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< double > * >(argp1);
+  arg1 = reinterpret_cast< std::vector<double > * >(argp1);
   (arg1)->pop_back();
   resultobj = SWIG_Py_Void();
   return resultobj;
@@ -15299,8 +14355,8 @@ fail:
 
 SWIGINTERN PyObject *_wrap_VectorReal_resize__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< double > *arg1 = (std::vector< double > *) 0 ;
-  std::vector< double >::size_type arg2 ;
+  std::vector<double > *arg1 = (std::vector<double > *) 0 ;
+  std::vector<double >::size_type arg2 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   size_t val2 ;
@@ -15309,16 +14365,16 @@ SWIGINTERN PyObject *_wrap_VectorReal_resize__SWIG_0(PyObject *SWIGUNUSEDPARM(se
   PyObject * obj1 = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OO:VectorReal_resize",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_double_std__allocatorT_double_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTdouble_std__allocatorTdouble_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorReal_resize" "', argument " "1"" of type '" "std::vector< double > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorReal_resize" "', argument " "1"" of type '" "std::vector<double > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< double > * >(argp1);
+  arg1 = reinterpret_cast< std::vector<double > * >(argp1);
   ecode2 = SWIG_AsVal_size_t(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorReal_resize" "', argument " "2"" of type '" "std::vector< double >::size_type""'");
+    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorReal_resize" "', argument " "2"" of type '" "std::vector<double >::size_type""'");
   } 
-  arg2 = static_cast< std::vector< double >::size_type >(val2);
+  arg2 = static_cast< std::vector<double >::size_type >(val2);
   (arg1)->resize(arg2);
   resultobj = SWIG_Py_Void();
   return resultobj;
@@ -15329,36 +14385,36 @@ fail:
 
 SWIGINTERN PyObject *_wrap_VectorReal_erase__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< double > *arg1 = (std::vector< double > *) 0 ;
-  std::vector< double >::iterator arg2 ;
+  std::vector<double > *arg1 = (std::vector<double > *) 0 ;
+  std::vector<double >::iterator arg2 ;
+  std::vector<double >::iterator result;
   void *argp1 = 0 ;
   int res1 = 0 ;
-  swig::SwigPyIterator *iter2 = 0 ;
+  swig::PySwigIterator *iter2 = 0 ;
   int res2 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
-  std::vector< double >::iterator result;
   
   if (!PyArg_ParseTuple(args,(char *)"OO:VectorReal_erase",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_double_std__allocatorT_double_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTdouble_std__allocatorTdouble_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorReal_erase" "', argument " "1"" of type '" "std::vector< double > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorReal_erase" "', argument " "1"" of type '" "std::vector<double > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< double > * >(argp1);
-  res2 = SWIG_ConvertPtr(obj1, SWIG_as_voidptrptr(&iter2), swig::SwigPyIterator::descriptor(), 0);
+  arg1 = reinterpret_cast< std::vector<double > * >(argp1);
+  res2 = SWIG_ConvertPtr(obj1, SWIG_as_voidptrptr(&iter2), swig::PySwigIterator::descriptor(), 0);
   if (!SWIG_IsOK(res2) || !iter2) {
-    SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "VectorReal_erase" "', argument " "2"" of type '" "std::vector< double >::iterator""'");
+    SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "VectorReal_erase" "', argument " "2"" of type '" "std::vector<double >::iterator""'");
   } else {
-    swig::SwigPyIterator_T<std::vector< double >::iterator > *iter_t = dynamic_cast<swig::SwigPyIterator_T<std::vector< double >::iterator > *>(iter2);
+    swig::PySwigIterator_T<std::vector<double >::iterator > *iter_t = dynamic_cast<swig::PySwigIterator_T<std::vector<double >::iterator > *>(iter2);
     if (iter_t) {
       arg2 = iter_t->get_current();
     } else {
-      SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "VectorReal_erase" "', argument " "2"" of type '" "std::vector< double >::iterator""'");
+      SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "VectorReal_erase" "', argument " "2"" of type '" "std::vector<double >::iterator""'");
     }
   }
   result = (arg1)->erase(arg2);
-  resultobj = SWIG_NewPointerObj(swig::make_output_iterator(static_cast< const std::vector< double >::iterator & >(result)),
-    swig::SwigPyIterator::descriptor(),SWIG_POINTER_OWN);
+  resultobj = SWIG_NewPointerObj(swig::make_output_iterator(static_cast< const std::vector<double >::iterator & >(result)),
+    swig::PySwigIterator::descriptor(),SWIG_POINTER_OWN);
   return resultobj;
 fail:
   return NULL;
@@ -15367,51 +14423,51 @@ fail:
 
 SWIGINTERN PyObject *_wrap_VectorReal_erase__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< double > *arg1 = (std::vector< double > *) 0 ;
-  std::vector< double >::iterator arg2 ;
-  std::vector< double >::iterator arg3 ;
+  std::vector<double > *arg1 = (std::vector<double > *) 0 ;
+  std::vector<double >::iterator arg2 ;
+  std::vector<double >::iterator arg3 ;
+  std::vector<double >::iterator result;
   void *argp1 = 0 ;
   int res1 = 0 ;
-  swig::SwigPyIterator *iter2 = 0 ;
+  swig::PySwigIterator *iter2 = 0 ;
   int res2 ;
-  swig::SwigPyIterator *iter3 = 0 ;
+  swig::PySwigIterator *iter3 = 0 ;
   int res3 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
   PyObject * obj2 = 0 ;
-  std::vector< double >::iterator result;
   
   if (!PyArg_ParseTuple(args,(char *)"OOO:VectorReal_erase",&obj0,&obj1,&obj2)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_double_std__allocatorT_double_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTdouble_std__allocatorTdouble_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorReal_erase" "', argument " "1"" of type '" "std::vector< double > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorReal_erase" "', argument " "1"" of type '" "std::vector<double > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< double > * >(argp1);
-  res2 = SWIG_ConvertPtr(obj1, SWIG_as_voidptrptr(&iter2), swig::SwigPyIterator::descriptor(), 0);
+  arg1 = reinterpret_cast< std::vector<double > * >(argp1);
+  res2 = SWIG_ConvertPtr(obj1, SWIG_as_voidptrptr(&iter2), swig::PySwigIterator::descriptor(), 0);
   if (!SWIG_IsOK(res2) || !iter2) {
-    SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "VectorReal_erase" "', argument " "2"" of type '" "std::vector< double >::iterator""'");
+    SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "VectorReal_erase" "', argument " "2"" of type '" "std::vector<double >::iterator""'");
   } else {
-    swig::SwigPyIterator_T<std::vector< double >::iterator > *iter_t = dynamic_cast<swig::SwigPyIterator_T<std::vector< double >::iterator > *>(iter2);
+    swig::PySwigIterator_T<std::vector<double >::iterator > *iter_t = dynamic_cast<swig::PySwigIterator_T<std::vector<double >::iterator > *>(iter2);
     if (iter_t) {
       arg2 = iter_t->get_current();
     } else {
-      SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "VectorReal_erase" "', argument " "2"" of type '" "std::vector< double >::iterator""'");
+      SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "VectorReal_erase" "', argument " "2"" of type '" "std::vector<double >::iterator""'");
     }
   }
-  res3 = SWIG_ConvertPtr(obj2, SWIG_as_voidptrptr(&iter3), swig::SwigPyIterator::descriptor(), 0);
+  res3 = SWIG_ConvertPtr(obj2, SWIG_as_voidptrptr(&iter3), swig::PySwigIterator::descriptor(), 0);
   if (!SWIG_IsOK(res3) || !iter3) {
-    SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "VectorReal_erase" "', argument " "3"" of type '" "std::vector< double >::iterator""'");
+    SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "VectorReal_erase" "', argument " "3"" of type '" "std::vector<double >::iterator""'");
   } else {
-    swig::SwigPyIterator_T<std::vector< double >::iterator > *iter_t = dynamic_cast<swig::SwigPyIterator_T<std::vector< double >::iterator > *>(iter3);
+    swig::PySwigIterator_T<std::vector<double >::iterator > *iter_t = dynamic_cast<swig::PySwigIterator_T<std::vector<double >::iterator > *>(iter3);
     if (iter_t) {
       arg3 = iter_t->get_current();
     } else {
-      SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "VectorReal_erase" "', argument " "3"" of type '" "std::vector< double >::iterator""'");
+      SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "VectorReal_erase" "', argument " "3"" of type '" "std::vector<double >::iterator""'");
     }
   }
   result = (arg1)->erase(arg2,arg3);
-  resultobj = SWIG_NewPointerObj(swig::make_output_iterator(static_cast< const std::vector< double >::iterator & >(result)),
-    swig::SwigPyIterator::descriptor(),SWIG_POINTER_OWN);
+  resultobj = SWIG_NewPointerObj(swig::make_output_iterator(static_cast< const std::vector<double >::iterator & >(result)),
+    swig::PySwigIterator::descriptor(),SWIG_POINTER_OWN);
   return resultobj;
 fail:
   return NULL;
@@ -15424,18 +14480,18 @@ SWIGINTERN PyObject *_wrap_VectorReal_erase(PyObject *self, PyObject *args) {
   int ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = (int)PyObject_Length(args);
+  argc = PyObject_Length(args);
   for (ii = 0; (ii < argc) && (ii < 3); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
   if (argc == 2) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<double,std::allocator< double > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector<double,std::allocator<double > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
-      swig::SwigPyIterator *iter = 0;
-      int res = SWIG_ConvertPtr(argv[1], SWIG_as_voidptrptr(&iter), swig::SwigPyIterator::descriptor(), 0);
-      _v = (SWIG_IsOK(res) && iter && (dynamic_cast<swig::SwigPyIterator_T<std::vector< double >::iterator > *>(iter) != 0));
+      swig::PySwigIterator *iter = 0;
+      int res = SWIG_ConvertPtr(argv[1], SWIG_as_voidptrptr(&iter), swig::PySwigIterator::descriptor(), 0);
+      _v = (SWIG_IsOK(res) && iter && (dynamic_cast<swig::PySwigIterator_T<std::vector<double >::iterator > *>(iter) != 0));
       if (_v) {
         return _wrap_VectorReal_erase__SWIG_0(self, args);
       }
@@ -15443,16 +14499,16 @@ SWIGINTERN PyObject *_wrap_VectorReal_erase(PyObject *self, PyObject *args) {
   }
   if (argc == 3) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<double,std::allocator< double > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector<double,std::allocator<double > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
-      swig::SwigPyIterator *iter = 0;
-      int res = SWIG_ConvertPtr(argv[1], SWIG_as_voidptrptr(&iter), swig::SwigPyIterator::descriptor(), 0);
-      _v = (SWIG_IsOK(res) && iter && (dynamic_cast<swig::SwigPyIterator_T<std::vector< double >::iterator > *>(iter) != 0));
+      swig::PySwigIterator *iter = 0;
+      int res = SWIG_ConvertPtr(argv[1], SWIG_as_voidptrptr(&iter), swig::PySwigIterator::descriptor(), 0);
+      _v = (SWIG_IsOK(res) && iter && (dynamic_cast<swig::PySwigIterator_T<std::vector<double >::iterator > *>(iter) != 0));
       if (_v) {
-        swig::SwigPyIterator *iter = 0;
-        int res = SWIG_ConvertPtr(argv[2], SWIG_as_voidptrptr(&iter), swig::SwigPyIterator::descriptor(), 0);
-        _v = (SWIG_IsOK(res) && iter && (dynamic_cast<swig::SwigPyIterator_T<std::vector< double >::iterator > *>(iter) != 0));
+        swig::PySwigIterator *iter = 0;
+        int res = SWIG_ConvertPtr(argv[2], SWIG_as_voidptrptr(&iter), swig::PySwigIterator::descriptor(), 0);
+        _v = (SWIG_IsOK(res) && iter && (dynamic_cast<swig::PySwigIterator_T<std::vector<double >::iterator > *>(iter) != 0));
         if (_v) {
           return _wrap_VectorReal_erase__SWIG_1(self, args);
         }
@@ -15461,41 +14517,38 @@ SWIGINTERN PyObject *_wrap_VectorReal_erase(PyObject *self, PyObject *args) {
   }
   
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'VectorReal_erase'.\n"
-    "  Possible C/C++ prototypes are:\n"
-    "    erase(std::vector< double > *,std::vector< double >::iterator)\n"
-    "    erase(std::vector< double > *,std::vector< double >::iterator,std::vector< double >::iterator)\n");
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'VectorReal_erase'.\n  Possible C/C++ prototypes are:\n    erase(std::vector<double >::iterator)\n    erase(std::vector<double >::iterator,std::vector<double >::iterator)\n");
   return NULL;
 }
 
 
 SWIGINTERN PyObject *_wrap_new_VectorReal__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< double >::size_type arg1 ;
-  std::vector< double >::value_type *arg2 = 0 ;
+  std::vector<double >::size_type arg1 ;
+  std::vector<double >::value_type *arg2 = 0 ;
+  std::vector<double > *result = 0 ;
   size_t val1 ;
   int ecode1 = 0 ;
-  std::vector< double >::value_type temp2 ;
+  std::vector<double >::value_type temp2 ;
   double val2 ;
   int ecode2 = 0 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
-  std::vector< double > *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OO:new_VectorReal",&obj0,&obj1)) SWIG_fail;
   ecode1 = SWIG_AsVal_size_t(obj0, &val1);
   if (!SWIG_IsOK(ecode1)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_VectorReal" "', argument " "1"" of type '" "std::vector< double >::size_type""'");
+    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_VectorReal" "', argument " "1"" of type '" "std::vector<double >::size_type""'");
   } 
-  arg1 = static_cast< std::vector< double >::size_type >(val1);
+  arg1 = static_cast< std::vector<double >::size_type >(val1);
   ecode2 = SWIG_AsVal_double(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_VectorReal" "', argument " "2"" of type '" "std::vector< double >::value_type""'");
+    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_VectorReal" "', argument " "2"" of type '" "std::vector<double >::value_type""'");
   } 
-  temp2 = static_cast< std::vector< double >::value_type >(val2);
+  temp2 = static_cast< std::vector<double >::value_type >(val2);
   arg2 = &temp2;
-  result = (std::vector< double > *)new std::vector< double >(arg1,(std::vector< double >::value_type const &)*arg2);
-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_double_std__allocatorT_double_t_t, SWIG_POINTER_NEW |  0 );
+  result = (std::vector<double > *)new std::vector<double >(arg1,(std::vector<double >::value_type const &)*arg2);
+  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorTdouble_std__allocatorTdouble_t_t, SWIG_POINTER_NEW |  0 );
   return resultobj;
 fail:
   return NULL;
@@ -15508,7 +14561,7 @@ SWIGINTERN PyObject *_wrap_new_VectorReal(PyObject *self, PyObject *args) {
   int ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = (int)PyObject_Length(args);
+  argc = PyObject_Length(args);
   for (ii = 0; (ii < argc) && (ii < 2); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -15527,7 +14580,7 @@ SWIGINTERN PyObject *_wrap_new_VectorReal(PyObject *self, PyObject *args) {
   }
   if (argc == 1) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<double,std::allocator< double > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector<double,std::allocator<double > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       return _wrap_new_VectorReal__SWIG_1(self, args);
@@ -15551,41 +14604,36 @@ SWIGINTERN PyObject *_wrap_new_VectorReal(PyObject *self, PyObject *args) {
   }
   
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'new_VectorReal'.\n"
-    "  Possible C/C++ prototypes are:\n"
-    "    std::vector< double >()\n"
-    "    std::vector< double >(std::vector< double > const &)\n"
-    "    std::vector< double >(std::vector< double >::size_type)\n"
-    "    std::vector< double >(std::vector< double >::size_type,std::vector< double >::value_type const &)\n");
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'new_VectorReal'.\n  Possible C/C++ prototypes are:\n    std::vector<(double)>()\n    std::vector<(double)>(std::vector<double > const &)\n    std::vector<(double)>(std::vector<double >::size_type)\n    std::vector<(double)>(std::vector<double >::size_type,std::vector<double >::value_type const &)\n");
   return NULL;
 }
 
 
 SWIGINTERN PyObject *_wrap_VectorReal_push_back(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< double > *arg1 = (std::vector< double > *) 0 ;
-  std::vector< double >::value_type *arg2 = 0 ;
+  std::vector<double > *arg1 = (std::vector<double > *) 0 ;
+  std::vector<double >::value_type *arg2 = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
-  std::vector< double >::value_type temp2 ;
+  std::vector<double >::value_type temp2 ;
   double val2 ;
   int ecode2 = 0 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OO:VectorReal_push_back",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_double_std__allocatorT_double_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTdouble_std__allocatorTdouble_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorReal_push_back" "', argument " "1"" of type '" "std::vector< double > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorReal_push_back" "', argument " "1"" of type '" "std::vector<double > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< double > * >(argp1);
+  arg1 = reinterpret_cast< std::vector<double > * >(argp1);
   ecode2 = SWIG_AsVal_double(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorReal_push_back" "', argument " "2"" of type '" "std::vector< double >::value_type""'");
+    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorReal_push_back" "', argument " "2"" of type '" "std::vector<double >::value_type""'");
   } 
-  temp2 = static_cast< std::vector< double >::value_type >(val2);
+  temp2 = static_cast< std::vector<double >::value_type >(val2);
   arg2 = &temp2;
-  (arg1)->push_back((std::vector< double >::value_type const &)*arg2);
+  (arg1)->push_back((std::vector<double >::value_type const &)*arg2);
   resultobj = SWIG_Py_Void();
   return resultobj;
 fail:
@@ -15595,19 +14643,22 @@ fail:
 
 SWIGINTERN PyObject *_wrap_VectorReal_front(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< double > *arg1 = (std::vector< double > *) 0 ;
+  std::vector<double > *arg1 = (std::vector<double > *) 0 ;
+  std::vector<double >::value_type *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  std::vector< double >::value_type *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"O:VectorReal_front",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_double_std__allocatorT_double_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTdouble_std__allocatorTdouble_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorReal_front" "', argument " "1"" of type '" "std::vector< double > const *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorReal_front" "', argument " "1"" of type '" "std::vector<double > const *""'"); 
+  }
+  arg1 = reinterpret_cast< std::vector<double > * >(argp1);
+  {
+    std::vector<double >::value_type const &_result_ref = ((std::vector<double > const *)arg1)->front();
+    result = (std::vector<double >::value_type *) &_result_ref;
   }
-  arg1 = reinterpret_cast< std::vector< double > * >(argp1);
-  result = (std::vector< double >::value_type *) &((std::vector< double > const *)arg1)->front();
   resultobj = SWIG_From_double(static_cast< double >(*result));
   return resultobj;
 fail:
@@ -15617,19 +14668,22 @@ fail:
 
 SWIGINTERN PyObject *_wrap_VectorReal_back(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< double > *arg1 = (std::vector< double > *) 0 ;
+  std::vector<double > *arg1 = (std::vector<double > *) 0 ;
+  std::vector<double >::value_type *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  std::vector< double >::value_type *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"O:VectorReal_back",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_double_std__allocatorT_double_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTdouble_std__allocatorTdouble_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorReal_back" "', argument " "1"" of type '" "std::vector< double > const *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorReal_back" "', argument " "1"" of type '" "std::vector<double > const *""'"); 
+  }
+  arg1 = reinterpret_cast< std::vector<double > * >(argp1);
+  {
+    std::vector<double >::value_type const &_result_ref = ((std::vector<double > const *)arg1)->back();
+    result = (std::vector<double >::value_type *) &_result_ref;
   }
-  arg1 = reinterpret_cast< std::vector< double > * >(argp1);
-  result = (std::vector< double >::value_type *) &((std::vector< double > const *)arg1)->back();
   resultobj = SWIG_From_double(static_cast< double >(*result));
   return resultobj;
 fail:
@@ -15639,14 +14693,14 @@ fail:
 
 SWIGINTERN PyObject *_wrap_VectorReal_assign(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< double > *arg1 = (std::vector< double > *) 0 ;
-  std::vector< double >::size_type arg2 ;
-  std::vector< double >::value_type *arg3 = 0 ;
+  std::vector<double > *arg1 = (std::vector<double > *) 0 ;
+  std::vector<double >::size_type arg2 ;
+  std::vector<double >::value_type *arg3 = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   size_t val2 ;
   int ecode2 = 0 ;
-  std::vector< double >::value_type temp3 ;
+  std::vector<double >::value_type temp3 ;
   double val3 ;
   int ecode3 = 0 ;
   PyObject * obj0 = 0 ;
@@ -15654,23 +14708,23 @@ SWIGINTERN PyObject *_wrap_VectorReal_assign(PyObject *SWIGUNUSEDPARM(self), PyO
   PyObject * obj2 = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOO:VectorReal_assign",&obj0,&obj1,&obj2)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_double_std__allocatorT_double_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTdouble_std__allocatorTdouble_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorReal_assign" "', argument " "1"" of type '" "std::vector< double > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorReal_assign" "', argument " "1"" of type '" "std::vector<double > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< double > * >(argp1);
+  arg1 = reinterpret_cast< std::vector<double > * >(argp1);
   ecode2 = SWIG_AsVal_size_t(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorReal_assign" "', argument " "2"" of type '" "std::vector< double >::size_type""'");
+    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorReal_assign" "', argument " "2"" of type '" "std::vector<double >::size_type""'");
   } 
-  arg2 = static_cast< std::vector< double >::size_type >(val2);
+  arg2 = static_cast< std::vector<double >::size_type >(val2);
   ecode3 = SWIG_AsVal_double(obj2, &val3);
   if (!SWIG_IsOK(ecode3)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "VectorReal_assign" "', argument " "3"" of type '" "std::vector< double >::value_type""'");
+    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "VectorReal_assign" "', argument " "3"" of type '" "std::vector<double >::value_type""'");
   } 
-  temp3 = static_cast< std::vector< double >::value_type >(val3);
+  temp3 = static_cast< std::vector<double >::value_type >(val3);
   arg3 = &temp3;
-  (arg1)->assign(arg2,(std::vector< double >::value_type const &)*arg3);
+  (arg1)->assign(arg2,(std::vector<double >::value_type const &)*arg3);
   resultobj = SWIG_Py_Void();
   return resultobj;
 fail:
@@ -15680,14 +14734,14 @@ fail:
 
 SWIGINTERN PyObject *_wrap_VectorReal_resize__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< double > *arg1 = (std::vector< double > *) 0 ;
-  std::vector< double >::size_type arg2 ;
-  std::vector< double >::value_type *arg3 = 0 ;
+  std::vector<double > *arg1 = (std::vector<double > *) 0 ;
+  std::vector<double >::size_type arg2 ;
+  std::vector<double >::value_type *arg3 = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   size_t val2 ;
   int ecode2 = 0 ;
-  std::vector< double >::value_type temp3 ;
+  std::vector<double >::value_type temp3 ;
   double val3 ;
   int ecode3 = 0 ;
   PyObject * obj0 = 0 ;
@@ -15695,23 +14749,23 @@ SWIGINTERN PyObject *_wrap_VectorReal_resize__SWIG_1(PyObject *SWIGUNUSEDPARM(se
   PyObject * obj2 = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOO:VectorReal_resize",&obj0,&obj1,&obj2)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_double_std__allocatorT_double_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTdouble_std__allocatorTdouble_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorReal_resize" "', argument " "1"" of type '" "std::vector< double > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorReal_resize" "', argument " "1"" of type '" "std::vector<double > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< double > * >(argp1);
+  arg1 = reinterpret_cast< std::vector<double > * >(argp1);
   ecode2 = SWIG_AsVal_size_t(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorReal_resize" "', argument " "2"" of type '" "std::vector< double >::size_type""'");
+    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorReal_resize" "', argument " "2"" of type '" "std::vector<double >::size_type""'");
   } 
-  arg2 = static_cast< std::vector< double >::size_type >(val2);
+  arg2 = static_cast< std::vector<double >::size_type >(val2);
   ecode3 = SWIG_AsVal_double(obj2, &val3);
   if (!SWIG_IsOK(ecode3)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "VectorReal_resize" "', argument " "3"" of type '" "std::vector< double >::value_type""'");
+    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "VectorReal_resize" "', argument " "3"" of type '" "std::vector<double >::value_type""'");
   } 
-  temp3 = static_cast< std::vector< double >::value_type >(val3);
+  temp3 = static_cast< std::vector<double >::value_type >(val3);
   arg3 = &temp3;
-  (arg1)->resize(arg2,(std::vector< double >::value_type const &)*arg3);
+  (arg1)->resize(arg2,(std::vector<double >::value_type const &)*arg3);
   resultobj = SWIG_Py_Void();
   return resultobj;
 fail:
@@ -15725,13 +14779,13 @@ SWIGINTERN PyObject *_wrap_VectorReal_resize(PyObject *self, PyObject *args) {
   int ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = (int)PyObject_Length(args);
+  argc = PyObject_Length(args);
   for (ii = 0; (ii < argc) && (ii < 3); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
   if (argc == 2) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<double,std::allocator< double > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector<double,std::allocator<double > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -15745,7 +14799,7 @@ SWIGINTERN PyObject *_wrap_VectorReal_resize(PyObject *self, PyObject *args) {
   }
   if (argc == 3) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<double,std::allocator< double > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector<double,std::allocator<double > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -15765,57 +14819,54 @@ SWIGINTERN PyObject *_wrap_VectorReal_resize(PyObject *self, PyObject *args) {
   }
   
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'VectorReal_resize'.\n"
-    "  Possible C/C++ prototypes are:\n"
-    "    resize(std::vector< double > *,std::vector< double >::size_type)\n"
-    "    resize(std::vector< double > *,std::vector< double >::size_type,std::vector< double >::value_type const &)\n");
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'VectorReal_resize'.\n  Possible C/C++ prototypes are:\n    resize(std::vector<double >::size_type)\n    resize(std::vector<double >::size_type,std::vector<double >::value_type const &)\n");
   return NULL;
 }
 
 
 SWIGINTERN PyObject *_wrap_VectorReal_insert__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< double > *arg1 = (std::vector< double > *) 0 ;
-  std::vector< double >::iterator arg2 ;
-  std::vector< double >::value_type *arg3 = 0 ;
+  std::vector<double > *arg1 = (std::vector<double > *) 0 ;
+  std::vector<double >::iterator arg2 ;
+  std::vector<double >::value_type *arg3 = 0 ;
+  std::vector<double >::iterator result;
   void *argp1 = 0 ;
   int res1 = 0 ;
-  swig::SwigPyIterator *iter2 = 0 ;
+  swig::PySwigIterator *iter2 = 0 ;
   int res2 ;
-  std::vector< double >::value_type temp3 ;
+  std::vector<double >::value_type temp3 ;
   double val3 ;
   int ecode3 = 0 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
   PyObject * obj2 = 0 ;
-  std::vector< double >::iterator result;
   
   if (!PyArg_ParseTuple(args,(char *)"OOO:VectorReal_insert",&obj0,&obj1,&obj2)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_double_std__allocatorT_double_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTdouble_std__allocatorTdouble_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorReal_insert" "', argument " "1"" of type '" "std::vector< double > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorReal_insert" "', argument " "1"" of type '" "std::vector<double > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< double > * >(argp1);
-  res2 = SWIG_ConvertPtr(obj1, SWIG_as_voidptrptr(&iter2), swig::SwigPyIterator::descriptor(), 0);
+  arg1 = reinterpret_cast< std::vector<double > * >(argp1);
+  res2 = SWIG_ConvertPtr(obj1, SWIG_as_voidptrptr(&iter2), swig::PySwigIterator::descriptor(), 0);
   if (!SWIG_IsOK(res2) || !iter2) {
-    SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "VectorReal_insert" "', argument " "2"" of type '" "std::vector< double >::iterator""'");
+    SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "VectorReal_insert" "', argument " "2"" of type '" "std::vector<double >::iterator""'");
   } else {
-    swig::SwigPyIterator_T<std::vector< double >::iterator > *iter_t = dynamic_cast<swig::SwigPyIterator_T<std::vector< double >::iterator > *>(iter2);
+    swig::PySwigIterator_T<std::vector<double >::iterator > *iter_t = dynamic_cast<swig::PySwigIterator_T<std::vector<double >::iterator > *>(iter2);
     if (iter_t) {
       arg2 = iter_t->get_current();
     } else {
-      SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "VectorReal_insert" "', argument " "2"" of type '" "std::vector< double >::iterator""'");
+      SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "VectorReal_insert" "', argument " "2"" of type '" "std::vector<double >::iterator""'");
     }
   }
   ecode3 = SWIG_AsVal_double(obj2, &val3);
   if (!SWIG_IsOK(ecode3)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "VectorReal_insert" "', argument " "3"" of type '" "std::vector< double >::value_type""'");
+    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "VectorReal_insert" "', argument " "3"" of type '" "std::vector<double >::value_type""'");
   } 
-  temp3 = static_cast< std::vector< double >::value_type >(val3);
+  temp3 = static_cast< std::vector<double >::value_type >(val3);
   arg3 = &temp3;
-  result = (arg1)->insert(arg2,(std::vector< double >::value_type const &)*arg3);
-  resultobj = SWIG_NewPointerObj(swig::make_output_iterator(static_cast< const std::vector< double >::iterator & >(result)),
-    swig::SwigPyIterator::descriptor(),SWIG_POINTER_OWN);
+  result = (arg1)->insert(arg2,(std::vector<double >::value_type const &)*arg3);
+  resultobj = SWIG_NewPointerObj(swig::make_output_iterator(static_cast< const std::vector<double >::iterator & >(result)),
+    swig::PySwigIterator::descriptor(),SWIG_POINTER_OWN);
   return resultobj;
 fail:
   return NULL;
@@ -15824,17 +14875,17 @@ fail:
 
 SWIGINTERN PyObject *_wrap_VectorReal_insert__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< double > *arg1 = (std::vector< double > *) 0 ;
-  std::vector< double >::iterator arg2 ;
-  std::vector< double >::size_type arg3 ;
-  std::vector< double >::value_type *arg4 = 0 ;
+  std::vector<double > *arg1 = (std::vector<double > *) 0 ;
+  std::vector<double >::iterator arg2 ;
+  std::vector<double >::size_type arg3 ;
+  std::vector<double >::value_type *arg4 = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
-  swig::SwigPyIterator *iter2 = 0 ;
+  swig::PySwigIterator *iter2 = 0 ;
   int res2 ;
   size_t val3 ;
   int ecode3 = 0 ;
-  std::vector< double >::value_type temp4 ;
+  std::vector<double >::value_type temp4 ;
   double val4 ;
   int ecode4 = 0 ;
   PyObject * obj0 = 0 ;
@@ -15843,34 +14894,34 @@ SWIGINTERN PyObject *_wrap_VectorReal_insert__SWIG_1(PyObject *SWIGUNUSEDPARM(se
   PyObject * obj3 = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOOO:VectorReal_insert",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_double_std__allocatorT_double_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTdouble_std__allocatorTdouble_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorReal_insert" "', argument " "1"" of type '" "std::vector< double > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorReal_insert" "', argument " "1"" of type '" "std::vector<double > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< double > * >(argp1);
-  res2 = SWIG_ConvertPtr(obj1, SWIG_as_voidptrptr(&iter2), swig::SwigPyIterator::descriptor(), 0);
+  arg1 = reinterpret_cast< std::vector<double > * >(argp1);
+  res2 = SWIG_ConvertPtr(obj1, SWIG_as_voidptrptr(&iter2), swig::PySwigIterator::descriptor(), 0);
   if (!SWIG_IsOK(res2) || !iter2) {
-    SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "VectorReal_insert" "', argument " "2"" of type '" "std::vector< double >::iterator""'");
+    SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "VectorReal_insert" "', argument " "2"" of type '" "std::vector<double >::iterator""'");
   } else {
-    swig::SwigPyIterator_T<std::vector< double >::iterator > *iter_t = dynamic_cast<swig::SwigPyIterator_T<std::vector< double >::iterator > *>(iter2);
+    swig::PySwigIterator_T<std::vector<double >::iterator > *iter_t = dynamic_cast<swig::PySwigIterator_T<std::vector<double >::iterator > *>(iter2);
     if (iter_t) {
       arg2 = iter_t->get_current();
     } else {
-      SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "VectorReal_insert" "', argument " "2"" of type '" "std::vector< double >::iterator""'");
+      SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "VectorReal_insert" "', argument " "2"" of type '" "std::vector<double >::iterator""'");
     }
   }
   ecode3 = SWIG_AsVal_size_t(obj2, &val3);
   if (!SWIG_IsOK(ecode3)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "VectorReal_insert" "', argument " "3"" of type '" "std::vector< double >::size_type""'");
+    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "VectorReal_insert" "', argument " "3"" of type '" "std::vector<double >::size_type""'");
   } 
-  arg3 = static_cast< std::vector< double >::size_type >(val3);
+  arg3 = static_cast< std::vector<double >::size_type >(val3);
   ecode4 = SWIG_AsVal_double(obj3, &val4);
   if (!SWIG_IsOK(ecode4)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "VectorReal_insert" "', argument " "4"" of type '" "std::vector< double >::value_type""'");
+    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "VectorReal_insert" "', argument " "4"" of type '" "std::vector<double >::value_type""'");
   } 
-  temp4 = static_cast< std::vector< double >::value_type >(val4);
+  temp4 = static_cast< std::vector<double >::value_type >(val4);
   arg4 = &temp4;
-  (arg1)->insert(arg2,arg3,(std::vector< double >::value_type const &)*arg4);
+  (arg1)->insert(arg2,arg3,(std::vector<double >::value_type const &)*arg4);
   resultobj = SWIG_Py_Void();
   return resultobj;
 fail:
@@ -15884,18 +14935,18 @@ SWIGINTERN PyObject *_wrap_VectorReal_insert(PyObject *self, PyObject *args) {
   int ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = (int)PyObject_Length(args);
+  argc = PyObject_Length(args);
   for (ii = 0; (ii < argc) && (ii < 4); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
   if (argc == 3) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<double,std::allocator< double > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector<double,std::allocator<double > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
-      swig::SwigPyIterator *iter = 0;
-      int res = SWIG_ConvertPtr(argv[1], SWIG_as_voidptrptr(&iter), swig::SwigPyIterator::descriptor(), 0);
-      _v = (SWIG_IsOK(res) && iter && (dynamic_cast<swig::SwigPyIterator_T<std::vector< double >::iterator > *>(iter) != 0));
+      swig::PySwigIterator *iter = 0;
+      int res = SWIG_ConvertPtr(argv[1], SWIG_as_voidptrptr(&iter), swig::PySwigIterator::descriptor(), 0);
+      _v = (SWIG_IsOK(res) && iter && (dynamic_cast<swig::PySwigIterator_T<std::vector<double >::iterator > *>(iter) != 0));
       if (_v) {
         {
           int res = SWIG_AsVal_double(argv[2], NULL);
@@ -15909,12 +14960,12 @@ SWIGINTERN PyObject *_wrap_VectorReal_insert(PyObject *self, PyObject *args) {
   }
   if (argc == 4) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<double,std::allocator< double > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector<double,std::allocator<double > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
-      swig::SwigPyIterator *iter = 0;
-      int res = SWIG_ConvertPtr(argv[1], SWIG_as_voidptrptr(&iter), swig::SwigPyIterator::descriptor(), 0);
-      _v = (SWIG_IsOK(res) && iter && (dynamic_cast<swig::SwigPyIterator_T<std::vector< double >::iterator > *>(iter) != 0));
+      swig::PySwigIterator *iter = 0;
+      int res = SWIG_ConvertPtr(argv[1], SWIG_as_voidptrptr(&iter), swig::PySwigIterator::descriptor(), 0);
+      _v = (SWIG_IsOK(res) && iter && (dynamic_cast<swig::PySwigIterator_T<std::vector<double >::iterator > *>(iter) != 0));
       if (_v) {
         {
           int res = SWIG_AsVal_size_t(argv[2], NULL);
@@ -15934,18 +14985,15 @@ SWIGINTERN PyObject *_wrap_VectorReal_insert(PyObject *self, PyObject *args) {
   }
   
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'VectorReal_insert'.\n"
-    "  Possible C/C++ prototypes are:\n"
-    "    insert(std::vector< double > *,std::vector< double >::iterator,std::vector< double >::value_type const &)\n"
-    "    insert(std::vector< double > *,std::vector< double >::iterator,std::vector< double >::size_type,std::vector< double >::value_type const &)\n");
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'VectorReal_insert'.\n  Possible C/C++ prototypes are:\n    insert(std::vector<double >::iterator,std::vector<double >::value_type const &)\n    insert(std::vector<double >::iterator,std::vector<double >::size_type,std::vector<double >::value_type const &)\n");
   return NULL;
 }
 
 
 SWIGINTERN PyObject *_wrap_VectorReal_reserve(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< double > *arg1 = (std::vector< double > *) 0 ;
-  std::vector< double >::size_type arg2 ;
+  std::vector<double > *arg1 = (std::vector<double > *) 0 ;
+  std::vector<double >::size_type arg2 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   size_t val2 ;
@@ -15954,16 +15002,16 @@ SWIGINTERN PyObject *_wrap_VectorReal_reserve(PyObject *SWIGUNUSEDPARM(self), Py
   PyObject * obj1 = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OO:VectorReal_reserve",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_double_std__allocatorT_double_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTdouble_std__allocatorTdouble_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorReal_reserve" "', argument " "1"" of type '" "std::vector< double > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorReal_reserve" "', argument " "1"" of type '" "std::vector<double > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< double > * >(argp1);
+  arg1 = reinterpret_cast< std::vector<double > * >(argp1);
   ecode2 = SWIG_AsVal_size_t(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorReal_reserve" "', argument " "2"" of type '" "std::vector< double >::size_type""'");
+    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorReal_reserve" "', argument " "2"" of type '" "std::vector<double >::size_type""'");
   } 
-  arg2 = static_cast< std::vector< double >::size_type >(val2);
+  arg2 = static_cast< std::vector<double >::size_type >(val2);
   (arg1)->reserve(arg2);
   resultobj = SWIG_Py_Void();
   return resultobj;
@@ -15974,19 +15022,19 @@ fail:
 
 SWIGINTERN PyObject *_wrap_VectorReal_capacity(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< double > *arg1 = (std::vector< double > *) 0 ;
+  std::vector<double > *arg1 = (std::vector<double > *) 0 ;
+  std::vector<double >::size_type result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  std::vector< double >::size_type result;
   
   if (!PyArg_ParseTuple(args,(char *)"O:VectorReal_capacity",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_double_std__allocatorT_double_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTdouble_std__allocatorTdouble_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorReal_capacity" "', argument " "1"" of type '" "std::vector< double > const *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorReal_capacity" "', argument " "1"" of type '" "std::vector<double > const *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< double > * >(argp1);
-  result = ((std::vector< double > const *)arg1)->capacity();
+  arg1 = reinterpret_cast< std::vector<double > * >(argp1);
+  result = ((std::vector<double > const *)arg1)->capacity();
   resultobj = SWIG_From_size_t(static_cast< size_t >(result));
   return resultobj;
 fail:
@@ -15996,18 +15044,19 @@ fail:
 
 SWIGINTERN PyObject *_wrap_delete_VectorReal(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< double > *arg1 = (std::vector< double > *) 0 ;
+  std::vector<double > *arg1 = (std::vector<double > *) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"O:delete_VectorReal",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_double_std__allocatorT_double_t_t, SWIG_POINTER_DISOWN |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTdouble_std__allocatorTdouble_t_t, SWIG_POINTER_DISOWN |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_VectorReal" "', argument " "1"" of type '" "std::vector< double > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_VectorReal" "', argument " "1"" of type '" "std::vector<double > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< double > * >(argp1);
+  arg1 = reinterpret_cast< std::vector<double > * >(argp1);
   delete arg1;
+  
   resultobj = SWIG_Py_Void();
   return resultobj;
 fail:
@@ -16016,73 +15065,51 @@ fail:
 
 
 SWIGINTERN PyObject *VectorReal_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
-  PyObject *obj;
-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
-  SWIG_TypeNewClientData(SWIGTYPE_p_std__vectorT_double_std__allocatorT_double_t_t, SWIG_NewClientData(obj));
-  return SWIG_Py_Void();
-}
-
-SWIGINTERN PyObject *_wrap_VectorInt_iterator(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
-  PyObject *resultobj = 0;
-  std::vector< int > *arg1 = (std::vector< int > *) 0 ;
-  PyObject **arg2 = (PyObject **) 0 ;
-  void *argp1 = 0 ;
-  int res1 = 0 ;
-  PyObject * obj0 = 0 ;
-  swig::SwigPyIterator *result = 0 ;
-  
-  arg2 = &obj0;
-  if (!PyArg_ParseTuple(args,(char *)"O:VectorInt_iterator",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_int_std__allocatorT_int_t_t, 0 |  0 );
-  if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorInt_iterator" "', argument " "1"" of type '" "std::vector< int > *""'"); 
-  }
-  arg1 = reinterpret_cast< std::vector< int > * >(argp1);
-  result = (swig::SwigPyIterator *)std_vector_Sl_int_Sg__iterator(arg1,arg2);
-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_swig__SwigPyIterator, SWIG_POINTER_OWN |  0 );
-  return resultobj;
-fail:
-  return NULL;
+  PyObject *obj;
+  if (!PyArg_ParseTuple(args,(char*)"O|swigregister", &obj)) return NULL;
+  SWIG_TypeNewClientData(SWIGTYPE_p_std__vectorTdouble_std__allocatorTdouble_t_t, SWIG_NewClientData(obj));
+  return SWIG_Py_Void();
 }
 
-
-SWIGINTERN PyObject *_wrap_VectorInt___nonzero__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_VectorInt_iterator(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< int > *arg1 = (std::vector< int > *) 0 ;
+  std::vector<int > *arg1 = (std::vector<int > *) 0 ;
+  PyObject **arg2 = (PyObject **) 0 ;
+  swig::PySwigIterator *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  bool result;
   
-  if (!PyArg_ParseTuple(args,(char *)"O:VectorInt___nonzero__",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_int_std__allocatorT_int_t_t, 0 |  0 );
+  arg2 = &obj0;
+  if (!PyArg_ParseTuple(args,(char *)"O:VectorInt_iterator",&obj0)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTint_std__allocatorTint_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorInt___nonzero__" "', argument " "1"" of type '" "std::vector< int > const *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorInt_iterator" "', argument " "1"" of type '" "std::vector<int > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< int > * >(argp1);
-  result = (bool)std_vector_Sl_int_Sg____nonzero__((std::vector< int > const *)arg1);
-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+  arg1 = reinterpret_cast< std::vector<int > * >(argp1);
+  result = (swig::PySwigIterator *)std_vector_Sl_int_Sg__iterator(arg1,arg2);
+  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_swig__PySwigIterator, SWIG_POINTER_OWN |  0 );
   return resultobj;
 fail:
   return NULL;
 }
 
 
-SWIGINTERN PyObject *_wrap_VectorInt___bool__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_VectorInt___nonzero__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< int > *arg1 = (std::vector< int > *) 0 ;
+  std::vector<int > *arg1 = (std::vector<int > *) 0 ;
+  bool result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  bool result;
   
-  if (!PyArg_ParseTuple(args,(char *)"O:VectorInt___bool__",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_int_std__allocatorT_int_t_t, 0 |  0 );
+  if (!PyArg_ParseTuple(args,(char *)"O:VectorInt___nonzero__",&obj0)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTint_std__allocatorTint_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorInt___bool__" "', argument " "1"" of type '" "std::vector< int > const *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorInt___nonzero__" "', argument " "1"" of type '" "std::vector<int > const *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< int > * >(argp1);
-  result = (bool)std_vector_Sl_int_Sg____bool__((std::vector< int > const *)arg1);
+  arg1 = reinterpret_cast< std::vector<int > * >(argp1);
+  result = (bool)std_vector_Sl_int_Sg____nonzero__((std::vector<int > const *)arg1);
   resultobj = SWIG_From_bool(static_cast< bool >(result));
   return resultobj;
 fail:
@@ -16092,19 +15119,19 @@ fail:
 
 SWIGINTERN PyObject *_wrap_VectorInt___len__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< int > *arg1 = (std::vector< int > *) 0 ;
+  std::vector<int > *arg1 = (std::vector<int > *) 0 ;
+  std::vector<int >::size_type result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  std::vector< int >::size_type result;
   
   if (!PyArg_ParseTuple(args,(char *)"O:VectorInt___len__",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_int_std__allocatorT_int_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTint_std__allocatorTint_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorInt___len__" "', argument " "1"" of type '" "std::vector< int > const *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorInt___len__" "', argument " "1"" of type '" "std::vector<int > const *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< int > * >(argp1);
-  result = std_vector_Sl_int_Sg____len__((std::vector< int > const *)arg1);
+  arg1 = reinterpret_cast< std::vector<int > * >(argp1);
+  result = std_vector_Sl_int_Sg____len__((std::vector<int > const *)arg1);
   resultobj = SWIG_From_size_t(static_cast< size_t >(result));
   return resultobj;
 fail:
@@ -16114,20 +15141,20 @@ fail:
 
 SWIGINTERN PyObject *_wrap_VectorInt_pop(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< int > *arg1 = (std::vector< int > *) 0 ;
+  std::vector<int > *arg1 = (std::vector<int > *) 0 ;
+  std::vector<int >::value_type result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  std::vector< int >::value_type result;
   
   if (!PyArg_ParseTuple(args,(char *)"O:VectorInt_pop",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_int_std__allocatorT_int_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTint_std__allocatorTint_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorInt_pop" "', argument " "1"" of type '" "std::vector< int > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorInt_pop" "', argument " "1"" of type '" "std::vector<int > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< int > * >(argp1);
+  arg1 = reinterpret_cast< std::vector<int > * >(argp1);
   try {
-    result = (std::vector< int >::value_type)std_vector_Sl_int_Sg__pop(arg1);
+    result = (std::vector<int >::value_type)std_vector_Sl_int_Sg__pop(arg1);
   }
   catch(std::out_of_range &_e) {
     SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
@@ -16142,9 +15169,10 @@ fail:
 
 SWIGINTERN PyObject *_wrap_VectorInt___getslice__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< int > *arg1 = (std::vector< int > *) 0 ;
-  std::vector< int >::difference_type arg2 ;
-  std::vector< int >::difference_type arg3 ;
+  std::vector<int > *arg1 = (std::vector<int > *) 0 ;
+  std::vector<int >::difference_type arg2 ;
+  std::vector<int >::difference_type arg3 ;
+  std::vector<int,std::allocator<int > > *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   ptrdiff_t val2 ;
@@ -16154,32 +15182,31 @@ SWIGINTERN PyObject *_wrap_VectorInt___getslice__(PyObject *SWIGUNUSEDPARM(self)
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
   PyObject * obj2 = 0 ;
-  std::vector< int,std::allocator< int > > *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOO:VectorInt___getslice__",&obj0,&obj1,&obj2)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_int_std__allocatorT_int_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTint_std__allocatorTint_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorInt___getslice__" "', argument " "1"" of type '" "std::vector< int > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorInt___getslice__" "', argument " "1"" of type '" "std::vector<int > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< int > * >(argp1);
+  arg1 = reinterpret_cast< std::vector<int > * >(argp1);
   ecode2 = SWIG_AsVal_ptrdiff_t(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorInt___getslice__" "', argument " "2"" of type '" "std::vector< int >::difference_type""'");
+    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorInt___getslice__" "', argument " "2"" of type '" "std::vector<int >::difference_type""'");
   } 
-  arg2 = static_cast< std::vector< int >::difference_type >(val2);
+  arg2 = static_cast< std::vector<int >::difference_type >(val2);
   ecode3 = SWIG_AsVal_ptrdiff_t(obj2, &val3);
   if (!SWIG_IsOK(ecode3)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "VectorInt___getslice__" "', argument " "3"" of type '" "std::vector< int >::difference_type""'");
+    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "VectorInt___getslice__" "', argument " "3"" of type '" "std::vector<int >::difference_type""'");
   } 
-  arg3 = static_cast< std::vector< int >::difference_type >(val3);
+  arg3 = static_cast< std::vector<int >::difference_type >(val3);
   try {
-    result = (std::vector< int,std::allocator< int > > *)std_vector_Sl_int_Sg____getslice__(arg1,arg2,arg3);
+    result = (std::vector<int,std::allocator<int > > *)std_vector_Sl_int_Sg____getslice__(arg1,arg2,arg3);
   }
   catch(std::out_of_range &_e) {
     SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
   }
   
-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_int_std__allocatorT_int_t_t, SWIG_POINTER_OWN |  0 );
+  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorTint_std__allocatorTint_t_t, SWIG_POINTER_OWN |  0 );
   return resultobj;
 fail:
   return NULL;
@@ -16188,10 +15215,10 @@ fail:
 
 SWIGINTERN PyObject *_wrap_VectorInt___setslice__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< int > *arg1 = (std::vector< int > *) 0 ;
-  std::vector< int >::difference_type arg2 ;
-  std::vector< int >::difference_type arg3 ;
-  std::vector< int,std::allocator< int > > *arg4 = 0 ;
+  std::vector<int > *arg1 = (std::vector<int > *) 0 ;
+  std::vector<int >::difference_type arg2 ;
+  std::vector<int >::difference_type arg3 ;
+  std::vector<int,std::allocator<int > > *arg4 = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   ptrdiff_t val2 ;
@@ -16205,34 +15232,34 @@ SWIGINTERN PyObject *_wrap_VectorInt___setslice__(PyObject *SWIGUNUSEDPARM(self)
   PyObject * obj3 = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOOO:VectorInt___setslice__",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_int_std__allocatorT_int_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTint_std__allocatorTint_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorInt___setslice__" "', argument " "1"" of type '" "std::vector< int > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorInt___setslice__" "', argument " "1"" of type '" "std::vector<int > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< int > * >(argp1);
+  arg1 = reinterpret_cast< std::vector<int > * >(argp1);
   ecode2 = SWIG_AsVal_ptrdiff_t(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorInt___setslice__" "', argument " "2"" of type '" "std::vector< int >::difference_type""'");
+    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorInt___setslice__" "', argument " "2"" of type '" "std::vector<int >::difference_type""'");
   } 
-  arg2 = static_cast< std::vector< int >::difference_type >(val2);
+  arg2 = static_cast< std::vector<int >::difference_type >(val2);
   ecode3 = SWIG_AsVal_ptrdiff_t(obj2, &val3);
   if (!SWIG_IsOK(ecode3)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "VectorInt___setslice__" "', argument " "3"" of type '" "std::vector< int >::difference_type""'");
+    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "VectorInt___setslice__" "', argument " "3"" of type '" "std::vector<int >::difference_type""'");
   } 
-  arg3 = static_cast< std::vector< int >::difference_type >(val3);
+  arg3 = static_cast< std::vector<int >::difference_type >(val3);
   {
-    std::vector<int,std::allocator< int > > *ptr = (std::vector<int,std::allocator< int > > *)0;
+    std::vector<int,std::allocator<int > > *ptr = (std::vector<int,std::allocator<int > > *)0;
     res4 = swig::asptr(obj3, &ptr);
     if (!SWIG_IsOK(res4)) {
-      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "VectorInt___setslice__" "', argument " "4"" of type '" "std::vector< int,std::allocator< int > > const &""'"); 
+      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "VectorInt___setslice__" "', argument " "4"" of type '" "std::vector<int,std::allocator<int > > const &""'"); 
     }
     if (!ptr) {
-      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "VectorInt___setslice__" "', argument " "4"" of type '" "std::vector< int,std::allocator< int > > const &""'"); 
+      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "VectorInt___setslice__" "', argument " "4"" of type '" "std::vector<int,std::allocator<int > > const &""'"); 
     }
     arg4 = ptr;
   }
   try {
-    std_vector_Sl_int_Sg____setslice__(arg1,arg2,arg3,(std::vector< int,std::allocator< int > > const &)*arg4);
+    std_vector_Sl_int_Sg____setslice__(arg1,arg2,arg3,(std::vector<int,std::allocator<int > > const &)*arg4);
   }
   catch(std::out_of_range &_e) {
     SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
@@ -16252,9 +15279,9 @@ fail:
 
 SWIGINTERN PyObject *_wrap_VectorInt___delslice__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< int > *arg1 = (std::vector< int > *) 0 ;
-  std::vector< int >::difference_type arg2 ;
-  std::vector< int >::difference_type arg3 ;
+  std::vector<int > *arg1 = (std::vector<int > *) 0 ;
+  std::vector<int >::difference_type arg2 ;
+  std::vector<int >::difference_type arg3 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   ptrdiff_t val2 ;
@@ -16266,21 +15293,21 @@ SWIGINTERN PyObject *_wrap_VectorInt___delslice__(PyObject *SWIGUNUSEDPARM(self)
   PyObject * obj2 = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOO:VectorInt___delslice__",&obj0,&obj1,&obj2)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_int_std__allocatorT_int_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTint_std__allocatorTint_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorInt___delslice__" "', argument " "1"" of type '" "std::vector< int > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorInt___delslice__" "', argument " "1"" of type '" "std::vector<int > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< int > * >(argp1);
+  arg1 = reinterpret_cast< std::vector<int > * >(argp1);
   ecode2 = SWIG_AsVal_ptrdiff_t(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorInt___delslice__" "', argument " "2"" of type '" "std::vector< int >::difference_type""'");
+    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorInt___delslice__" "', argument " "2"" of type '" "std::vector<int >::difference_type""'");
   } 
-  arg2 = static_cast< std::vector< int >::difference_type >(val2);
+  arg2 = static_cast< std::vector<int >::difference_type >(val2);
   ecode3 = SWIG_AsVal_ptrdiff_t(obj2, &val3);
   if (!SWIG_IsOK(ecode3)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "VectorInt___delslice__" "', argument " "3"" of type '" "std::vector< int >::difference_type""'");
+    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "VectorInt___delslice__" "', argument " "3"" of type '" "std::vector<int >::difference_type""'");
   } 
-  arg3 = static_cast< std::vector< int >::difference_type >(val3);
+  arg3 = static_cast< std::vector<int >::difference_type >(val3);
   try {
     std_vector_Sl_int_Sg____delslice__(arg1,arg2,arg3);
   }
@@ -16295,10 +15322,10 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_VectorInt___delitem____SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_VectorInt___delitem__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< int > *arg1 = (std::vector< int > *) 0 ;
-  std::vector< int >::difference_type arg2 ;
+  std::vector<int > *arg1 = (std::vector<int > *) 0 ;
+  std::vector<int >::difference_type arg2 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   ptrdiff_t val2 ;
@@ -16307,18 +15334,18 @@ SWIGINTERN PyObject *_wrap_VectorInt___delitem____SWIG_0(PyObject *SWIGUNUSEDPAR
   PyObject * obj1 = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OO:VectorInt___delitem__",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_int_std__allocatorT_int_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTint_std__allocatorTint_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorInt___delitem__" "', argument " "1"" of type '" "std::vector< int > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorInt___delitem__" "', argument " "1"" of type '" "std::vector<int > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< int > * >(argp1);
+  arg1 = reinterpret_cast< std::vector<int > * >(argp1);
   ecode2 = SWIG_AsVal_ptrdiff_t(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorInt___delitem__" "', argument " "2"" of type '" "std::vector< int >::difference_type""'");
+    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorInt___delitem__" "', argument " "2"" of type '" "std::vector<int >::difference_type""'");
   } 
-  arg2 = static_cast< std::vector< int >::difference_type >(val2);
+  arg2 = static_cast< std::vector<int >::difference_type >(val2);
   try {
-    std_vector_Sl_int_Sg____delitem____SWIG_0(arg1,arg2);
+    std_vector_Sl_int_Sg____delitem__(arg1,arg2);
   }
   catch(std::out_of_range &_e) {
     SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
@@ -16331,115 +15358,118 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_VectorInt___getitem____SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_VectorInt___getitem__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< int > *arg1 = (std::vector< int > *) 0 ;
-  PySliceObject *arg2 = (PySliceObject *) 0 ;
+  std::vector<int > *arg1 = (std::vector<int > *) 0 ;
+  std::vector<int >::difference_type arg2 ;
+  std::vector<int >::value_type *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
+  ptrdiff_t val2 ;
+  int ecode2 = 0 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
-  std::vector< int,std::allocator< int > > *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OO:VectorInt___getitem__",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_int_std__allocatorT_int_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTint_std__allocatorTint_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorInt___getitem__" "', argument " "1"" of type '" "std::vector< int > *""'"); 
-  }
-  arg1 = reinterpret_cast< std::vector< int > * >(argp1);
-  {
-    arg2 = (PySliceObject *) obj1;
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorInt___getitem__" "', argument " "1"" of type '" "std::vector<int > const *""'"); 
   }
+  arg1 = reinterpret_cast< std::vector<int > * >(argp1);
+  ecode2 = SWIG_AsVal_ptrdiff_t(obj1, &val2);
+  if (!SWIG_IsOK(ecode2)) {
+    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorInt___getitem__" "', argument " "2"" of type '" "std::vector<int >::difference_type""'");
+  } 
+  arg2 = static_cast< std::vector<int >::difference_type >(val2);
   try {
-    result = (std::vector< int,std::allocator< int > > *)std_vector_Sl_int_Sg____getitem____SWIG_0(arg1,arg2);
+    {
+      std::vector<int >::value_type const &_result_ref = std_vector_Sl_int_Sg____getitem__((std::vector<int > const *)arg1,arg2);
+      result = (std::vector<int >::value_type *) &_result_ref;
+    }
   }
   catch(std::out_of_range &_e) {
     SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
   }
   
-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_int_std__allocatorT_int_t_t, 0 |  0 );
+  resultobj = SWIG_From_int(static_cast< int >(*result));
   return resultobj;
 fail:
   return NULL;
 }
 
 
-SWIGINTERN PyObject *_wrap_VectorInt___setitem____SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_VectorInt___setitem__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< int > *arg1 = (std::vector< int > *) 0 ;
-  PySliceObject *arg2 = (PySliceObject *) 0 ;
-  std::vector< int,std::allocator< int > > *arg3 = 0 ;
+  std::vector<int > *arg1 = (std::vector<int > *) 0 ;
+  std::vector<int >::difference_type arg2 ;
+  std::vector<int >::value_type *arg3 = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
-  int res3 = SWIG_OLDOBJ ;
+  ptrdiff_t val2 ;
+  int ecode2 = 0 ;
+  std::vector<int >::value_type temp3 ;
+  int val3 ;
+  int ecode3 = 0 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
   PyObject * obj2 = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOO:VectorInt___setitem__",&obj0,&obj1,&obj2)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_int_std__allocatorT_int_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTint_std__allocatorTint_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorInt___setitem__" "', argument " "1"" of type '" "std::vector< int > *""'"); 
-  }
-  arg1 = reinterpret_cast< std::vector< int > * >(argp1);
-  {
-    arg2 = (PySliceObject *) obj1;
-  }
-  {
-    std::vector<int,std::allocator< int > > *ptr = (std::vector<int,std::allocator< int > > *)0;
-    res3 = swig::asptr(obj2, &ptr);
-    if (!SWIG_IsOK(res3)) {
-      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "VectorInt___setitem__" "', argument " "3"" of type '" "std::vector< int,std::allocator< int > > const &""'"); 
-    }
-    if (!ptr) {
-      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "VectorInt___setitem__" "', argument " "3"" of type '" "std::vector< int,std::allocator< int > > const &""'"); 
-    }
-    arg3 = ptr;
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorInt___setitem__" "', argument " "1"" of type '" "std::vector<int > *""'"); 
   }
+  arg1 = reinterpret_cast< std::vector<int > * >(argp1);
+  ecode2 = SWIG_AsVal_ptrdiff_t(obj1, &val2);
+  if (!SWIG_IsOK(ecode2)) {
+    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorInt___setitem__" "', argument " "2"" of type '" "std::vector<int >::difference_type""'");
+  } 
+  arg2 = static_cast< std::vector<int >::difference_type >(val2);
+  ecode3 = SWIG_AsVal_int(obj2, &val3);
+  if (!SWIG_IsOK(ecode3)) {
+    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "VectorInt___setitem__" "', argument " "3"" of type '" "std::vector<int >::value_type""'");
+  } 
+  temp3 = static_cast< std::vector<int >::value_type >(val3);
+  arg3 = &temp3;
   try {
-    std_vector_Sl_int_Sg____setitem____SWIG_0(arg1,arg2,(std::vector< int,std::allocator< int > > const &)*arg3);
+    std_vector_Sl_int_Sg____setitem__(arg1,arg2,(int const &)*arg3);
   }
   catch(std::out_of_range &_e) {
     SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
   }
-  catch(std::invalid_argument &_e) {
-    SWIG_exception_fail(SWIG_ValueError, (&_e)->what());
-  }
   
   resultobj = SWIG_Py_Void();
-  if (SWIG_IsNewObj(res3)) delete arg3;
   return resultobj;
 fail:
-  if (SWIG_IsNewObj(res3)) delete arg3;
   return NULL;
 }
 
 
-SWIGINTERN PyObject *_wrap_VectorInt___delitem____SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_VectorInt_append(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< int > *arg1 = (std::vector< int > *) 0 ;
-  PySliceObject *arg2 = (PySliceObject *) 0 ;
+  std::vector<int > *arg1 = (std::vector<int > *) 0 ;
+  std::vector<int >::value_type *arg2 = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
+  std::vector<int >::value_type temp2 ;
+  int val2 ;
+  int ecode2 = 0 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
   
-  if (!PyArg_ParseTuple(args,(char *)"OO:VectorInt___delitem__",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_int_std__allocatorT_int_t_t, 0 |  0 );
+  if (!PyArg_ParseTuple(args,(char *)"OO:VectorInt_append",&obj0,&obj1)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTint_std__allocatorTint_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorInt___delitem__" "', argument " "1"" of type '" "std::vector< int > *""'"); 
-  }
-  arg1 = reinterpret_cast< std::vector< int > * >(argp1);
-  {
-    arg2 = (PySliceObject *) obj1;
-  }
-  try {
-    std_vector_Sl_int_Sg____delitem____SWIG_1(arg1,arg2);
-  }
-  catch(std::out_of_range &_e) {
-    SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorInt_append" "', argument " "1"" of type '" "std::vector<int > *""'"); 
   }
-  
+  arg1 = reinterpret_cast< std::vector<int > * >(argp1);
+  ecode2 = SWIG_AsVal_int(obj1, &val2);
+  if (!SWIG_IsOK(ecode2)) {
+    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorInt_append" "', argument " "2"" of type '" "std::vector<int >::value_type""'");
+  } 
+  temp2 = static_cast< std::vector<int >::value_type >(val2);
+  arg2 = &temp2;
+  std_vector_Sl_int_Sg__append(arg1,(int const &)*arg2);
   resultobj = SWIG_Py_Void();
   return resultobj;
 fail:
@@ -16447,266 +15477,139 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_VectorInt___delitem__(PyObject *self, PyObject *args) {
-  int argc;
-  PyObject *argv[3];
-  int ii;
-  
-  if (!PyTuple_Check(args)) SWIG_fail;
-  argc = (int)PyObject_Length(args);
-  for (ii = 0; (ii < argc) && (ii < 2); ii++) {
-    argv[ii] = PyTuple_GET_ITEM(args,ii);
-  }
-  if (argc == 2) {
-    int _v;
-    int res = swig::asptr(argv[0], (std::vector<int,std::allocator< int > >**)(0));
-    _v = SWIG_CheckState(res);
-    if (_v) {
-      {
-        _v = PySlice_Check(argv[1]);
-      }
-      if (_v) {
-        return _wrap_VectorInt___delitem____SWIG_1(self, args);
-      }
-    }
-  }
-  if (argc == 2) {
-    int _v;
-    int res = swig::asptr(argv[0], (std::vector<int,std::allocator< int > >**)(0));
-    _v = SWIG_CheckState(res);
-    if (_v) {
-      {
-        int res = SWIG_AsVal_ptrdiff_t(argv[1], NULL);
-        _v = SWIG_CheckState(res);
-      }
-      if (_v) {
-        return _wrap_VectorInt___delitem____SWIG_0(self, args);
-      }
-    }
-  }
+SWIGINTERN PyObject *_wrap_new_VectorInt__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+  PyObject *resultobj = 0;
+  std::vector<int > *result = 0 ;
   
+  if (!PyArg_ParseTuple(args,(char *)":new_VectorInt")) SWIG_fail;
+  result = (std::vector<int > *)new std::vector<int >();
+  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorTint_std__allocatorTint_t_t, SWIG_POINTER_NEW |  0 );
+  return resultobj;
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'VectorInt___delitem__'.\n"
-    "  Possible C/C++ prototypes are:\n"
-    "    __delitem__(std::vector< int > *,std::vector< int >::difference_type)\n"
-    "    __delitem__(std::vector< int > *,PySliceObject *)\n");
   return NULL;
 }
 
 
-SWIGINTERN PyObject *_wrap_VectorInt___getitem____SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_new_VectorInt__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< int > *arg1 = (std::vector< int > *) 0 ;
-  std::vector< int >::difference_type arg2 ;
-  void *argp1 = 0 ;
-  int res1 = 0 ;
-  ptrdiff_t val2 ;
-  int ecode2 = 0 ;
+  std::vector<int > *arg1 = 0 ;
+  std::vector<int > *result = 0 ;
+  int res1 = SWIG_OLDOBJ ;
   PyObject * obj0 = 0 ;
-  PyObject * obj1 = 0 ;
-  std::vector< int >::value_type *result = 0 ;
   
-  if (!PyArg_ParseTuple(args,(char *)"OO:VectorInt___getitem__",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_int_std__allocatorT_int_t_t, 0 |  0 );
-  if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorInt___getitem__" "', argument " "1"" of type '" "std::vector< int > const *""'"); 
-  }
-  arg1 = reinterpret_cast< std::vector< int > * >(argp1);
-  ecode2 = SWIG_AsVal_ptrdiff_t(obj1, &val2);
-  if (!SWIG_IsOK(ecode2)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorInt___getitem__" "', argument " "2"" of type '" "std::vector< int >::difference_type""'");
-  } 
-  arg2 = static_cast< std::vector< int >::difference_type >(val2);
-  try {
-    result = (std::vector< int >::value_type *) &std_vector_Sl_int_Sg____getitem____SWIG_1((std::vector< int > const *)arg1,arg2);
-  }
-  catch(std::out_of_range &_e) {
-    SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
+  if (!PyArg_ParseTuple(args,(char *)"O:new_VectorInt",&obj0)) SWIG_fail;
+  {
+    std::vector<int,std::allocator<int > > *ptr = (std::vector<int,std::allocator<int > > *)0;
+    res1 = swig::asptr(obj0, &ptr);
+    if (!SWIG_IsOK(res1)) {
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_VectorInt" "', argument " "1"" of type '" "std::vector<int > const &""'"); 
+    }
+    if (!ptr) {
+      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_VectorInt" "', argument " "1"" of type '" "std::vector<int > const &""'"); 
+    }
+    arg1 = ptr;
   }
-  
-  resultobj = SWIG_From_int(static_cast< int >(*result));
+  result = (std::vector<int > *)new std::vector<int >((std::vector<int > const &)*arg1);
+  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorTint_std__allocatorTint_t_t, SWIG_POINTER_NEW |  0 );
+  if (SWIG_IsNewObj(res1)) delete arg1;
   return resultobj;
 fail:
+  if (SWIG_IsNewObj(res1)) delete arg1;
   return NULL;
 }
 
 
-SWIGINTERN PyObject *_wrap_VectorInt___getitem__(PyObject *self, PyObject *args) {
-  int argc;
-  PyObject *argv[3];
-  int ii;
+SWIGINTERN PyObject *_wrap_VectorInt_empty(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+  PyObject *resultobj = 0;
+  std::vector<int > *arg1 = (std::vector<int > *) 0 ;
+  bool result;
+  void *argp1 = 0 ;
+  int res1 = 0 ;
+  PyObject * obj0 = 0 ;
   
-  if (!PyTuple_Check(args)) SWIG_fail;
-  argc = (int)PyObject_Length(args);
-  for (ii = 0; (ii < argc) && (ii < 2); ii++) {
-    argv[ii] = PyTuple_GET_ITEM(args,ii);
-  }
-  if (argc == 2) {
-    int _v;
-    int res = swig::asptr(argv[0], (std::vector<int,std::allocator< int > >**)(0));
-    _v = SWIG_CheckState(res);
-    if (_v) {
-      {
-        _v = PySlice_Check(argv[1]);
-      }
-      if (_v) {
-        return _wrap_VectorInt___getitem____SWIG_0(self, args);
-      }
-    }
-  }
-  if (argc == 2) {
-    int _v;
-    int res = swig::asptr(argv[0], (std::vector<int,std::allocator< int > >**)(0));
-    _v = SWIG_CheckState(res);
-    if (_v) {
-      {
-        int res = SWIG_AsVal_ptrdiff_t(argv[1], NULL);
-        _v = SWIG_CheckState(res);
-      }
-      if (_v) {
-        return _wrap_VectorInt___getitem____SWIG_1(self, args);
-      }
-    }
+  if (!PyArg_ParseTuple(args,(char *)"O:VectorInt_empty",&obj0)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTint_std__allocatorTint_t_t, 0 |  0 );
+  if (!SWIG_IsOK(res1)) {
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorInt_empty" "', argument " "1"" of type '" "std::vector<int > const *""'"); 
   }
-  
+  arg1 = reinterpret_cast< std::vector<int > * >(argp1);
+  result = (bool)((std::vector<int > const *)arg1)->empty();
+  resultobj = SWIG_From_bool(static_cast< bool >(result));
+  return resultobj;
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'VectorInt___getitem__'.\n"
-    "  Possible C/C++ prototypes are:\n"
-    "    __getitem__(std::vector< int > *,PySliceObject *)\n"
-    "    __getitem__(std::vector< int > const *,std::vector< int >::difference_type)\n");
   return NULL;
 }
 
 
-SWIGINTERN PyObject *_wrap_VectorInt___setitem____SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_VectorInt_size(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< int > *arg1 = (std::vector< int > *) 0 ;
-  std::vector< int >::difference_type arg2 ;
-  std::vector< int >::value_type *arg3 = 0 ;
+  std::vector<int > *arg1 = (std::vector<int > *) 0 ;
+  std::vector<int >::size_type result;
   void *argp1 = 0 ;
   int res1 = 0 ;
-  ptrdiff_t val2 ;
-  int ecode2 = 0 ;
-  std::vector< int >::value_type temp3 ;
-  int val3 ;
-  int ecode3 = 0 ;
   PyObject * obj0 = 0 ;
-  PyObject * obj1 = 0 ;
-  PyObject * obj2 = 0 ;
   
-  if (!PyArg_ParseTuple(args,(char *)"OOO:VectorInt___setitem__",&obj0,&obj1,&obj2)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_int_std__allocatorT_int_t_t, 0 |  0 );
+  if (!PyArg_ParseTuple(args,(char *)"O:VectorInt_size",&obj0)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTint_std__allocatorTint_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorInt___setitem__" "', argument " "1"" of type '" "std::vector< int > *""'"); 
-  }
-  arg1 = reinterpret_cast< std::vector< int > * >(argp1);
-  ecode2 = SWIG_AsVal_ptrdiff_t(obj1, &val2);
-  if (!SWIG_IsOK(ecode2)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorInt___setitem__" "', argument " "2"" of type '" "std::vector< int >::difference_type""'");
-  } 
-  arg2 = static_cast< std::vector< int >::difference_type >(val2);
-  ecode3 = SWIG_AsVal_int(obj2, &val3);
-  if (!SWIG_IsOK(ecode3)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "VectorInt___setitem__" "', argument " "3"" of type '" "std::vector< int >::value_type""'");
-  } 
-  temp3 = static_cast< std::vector< int >::value_type >(val3);
-  arg3 = &temp3;
-  try {
-    std_vector_Sl_int_Sg____setitem____SWIG_1(arg1,arg2,(int const &)*arg3);
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorInt_size" "', argument " "1"" of type '" "std::vector<int > const *""'"); 
   }
-  catch(std::out_of_range &_e) {
-    SWIG_exception_fail(SWIG_IndexError, (&_e)->what());
-  }
-  
-  resultobj = SWIG_Py_Void();
+  arg1 = reinterpret_cast< std::vector<int > * >(argp1);
+  result = ((std::vector<int > const *)arg1)->size();
+  resultobj = SWIG_From_size_t(static_cast< size_t >(result));
   return resultobj;
 fail:
   return NULL;
 }
 
 
-SWIGINTERN PyObject *_wrap_VectorInt___setitem__(PyObject *self, PyObject *args) {
-  int argc;
-  PyObject *argv[4];
-  int ii;
+SWIGINTERN PyObject *_wrap_VectorInt_clear(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+  PyObject *resultobj = 0;
+  std::vector<int > *arg1 = (std::vector<int > *) 0 ;
+  void *argp1 = 0 ;
+  int res1 = 0 ;
+  PyObject * obj0 = 0 ;
   
-  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 == 3) {
-    int _v;
-    int res = swig::asptr(argv[0], (std::vector<int,std::allocator< int > >**)(0));
-    _v = SWIG_CheckState(res);
-    if (_v) {
-      {
-        _v = PySlice_Check(argv[1]);
-      }
-      if (_v) {
-        int res = swig::asptr(argv[2], (std::vector<int,std::allocator< int > >**)(0));
-        _v = SWIG_CheckState(res);
-        if (_v) {
-          return _wrap_VectorInt___setitem____SWIG_0(self, args);
-        }
-      }
-    }
-  }
-  if (argc == 3) {
-    int _v;
-    int res = swig::asptr(argv[0], (std::vector<int,std::allocator< int > >**)(0));
-    _v = SWIG_CheckState(res);
-    if (_v) {
-      {
-        int res = SWIG_AsVal_ptrdiff_t(argv[1], NULL);
-        _v = SWIG_CheckState(res);
-      }
-      if (_v) {
-        {
-          int res = SWIG_AsVal_int(argv[2], NULL);
-          _v = SWIG_CheckState(res);
-        }
-        if (_v) {
-          return _wrap_VectorInt___setitem____SWIG_1(self, args);
-        }
-      }
-    }
+  if (!PyArg_ParseTuple(args,(char *)"O:VectorInt_clear",&obj0)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTint_std__allocatorTint_t_t, 0 |  0 );
+  if (!SWIG_IsOK(res1)) {
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorInt_clear" "', argument " "1"" of type '" "std::vector<int > *""'"); 
   }
-  
+  arg1 = reinterpret_cast< std::vector<int > * >(argp1);
+  (arg1)->clear();
+  resultobj = SWIG_Py_Void();
+  return resultobj;
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'VectorInt___setitem__'.\n"
-    "  Possible C/C++ prototypes are:\n"
-    "    __setitem__(std::vector< int > *,PySliceObject *,std::vector< int,std::allocator< int > > const &)\n"
-    "    __setitem__(std::vector< int > *,std::vector< int >::difference_type,std::vector< int >::value_type const &)\n");
   return NULL;
 }
 
 
-SWIGINTERN PyObject *_wrap_VectorInt_append(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_VectorInt_swap(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< int > *arg1 = (std::vector< int > *) 0 ;
-  std::vector< int >::value_type *arg2 = 0 ;
+  std::vector<int > *arg1 = (std::vector<int > *) 0 ;
+  std::vector<int > *arg2 = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
-  std::vector< int >::value_type temp2 ;
-  int val2 ;
-  int ecode2 = 0 ;
+  void *argp2 = 0 ;
+  int res2 = 0 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
   
-  if (!PyArg_ParseTuple(args,(char *)"OO:VectorInt_append",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_int_std__allocatorT_int_t_t, 0 |  0 );
+  if (!PyArg_ParseTuple(args,(char *)"OO:VectorInt_swap",&obj0,&obj1)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTint_std__allocatorTint_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorInt_append" "', argument " "1"" of type '" "std::vector< int > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorInt_swap" "', argument " "1"" of type '" "std::vector<int > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< int > * >(argp1);
-  ecode2 = SWIG_AsVal_int(obj1, &val2);
-  if (!SWIG_IsOK(ecode2)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorInt_append" "', argument " "2"" of type '" "std::vector< int >::value_type""'");
-  } 
-  temp2 = static_cast< std::vector< int >::value_type >(val2);
-  arg2 = &temp2;
-  std_vector_Sl_int_Sg__append(arg1,(int const &)*arg2);
+  arg1 = reinterpret_cast< std::vector<int > * >(argp1);
+  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_std__vectorTint_std__allocatorTint_t_t,  0 );
+  if (!SWIG_IsOK(res2)) {
+    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "VectorInt_swap" "', argument " "2"" of type '" "std::vector<int > &""'"); 
+  }
+  if (!argp2) {
+    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "VectorInt_swap" "', argument " "2"" of type '" "std::vector<int > &""'"); 
+  }
+  arg2 = reinterpret_cast< std::vector<int > * >(argp2);
+  (arg1)->swap(*arg2);
   resultobj = SWIG_Py_Void();
   return resultobj;
 fail:
@@ -16714,276 +15617,360 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_new_VectorInt__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_VectorInt_get_allocator(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< int > *result = 0 ;
+  std::vector<int > *arg1 = (std::vector<int > *) 0 ;
+  SwigValueWrapper<std::allocator<int > > result;
+  void *argp1 = 0 ;
+  int res1 = 0 ;
+  PyObject * obj0 = 0 ;
   
-  if (!PyArg_ParseTuple(args,(char *)":new_VectorInt")) SWIG_fail;
-  result = (std::vector< int > *)new std::vector< int >();
-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_int_std__allocatorT_int_t_t, SWIG_POINTER_NEW |  0 );
+  if (!PyArg_ParseTuple(args,(char *)"O:VectorInt_get_allocator",&obj0)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTint_std__allocatorTint_t_t, 0 |  0 );
+  if (!SWIG_IsOK(res1)) {
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorInt_get_allocator" "', argument " "1"" of type '" "std::vector<int > const *""'"); 
+  }
+  arg1 = reinterpret_cast< std::vector<int > * >(argp1);
+  result = ((std::vector<int > const *)arg1)->get_allocator();
+  resultobj = SWIG_NewPointerObj((new std::vector<int >::allocator_type(static_cast< const std::vector<int >::allocator_type& >(result))), SWIGTYPE_p_std__vectorTint_std__allocatorTint_t_t__allocator_type, SWIG_POINTER_OWN |  0 );
   return resultobj;
 fail:
   return NULL;
 }
 
 
-SWIGINTERN PyObject *_wrap_new_VectorInt__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_VectorInt_begin__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< int > *arg1 = 0 ;
-  int res1 = SWIG_OLDOBJ ;
+  std::vector<int > *arg1 = (std::vector<int > *) 0 ;
+  std::vector<int >::iterator result;
+  void *argp1 = 0 ;
+  int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  std::vector< int > *result = 0 ;
   
-  if (!PyArg_ParseTuple(args,(char *)"O:new_VectorInt",&obj0)) SWIG_fail;
-  {
-    std::vector<int,std::allocator< int > > *ptr = (std::vector<int,std::allocator< int > > *)0;
-    res1 = swig::asptr(obj0, &ptr);
-    if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_VectorInt" "', argument " "1"" of type '" "std::vector< int > const &""'"); 
-    }
-    if (!ptr) {
-      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_VectorInt" "', argument " "1"" of type '" "std::vector< int > const &""'"); 
-    }
-    arg1 = ptr;
+  if (!PyArg_ParseTuple(args,(char *)"O:VectorInt_begin",&obj0)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTint_std__allocatorTint_t_t, 0 |  0 );
+  if (!SWIG_IsOK(res1)) {
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorInt_begin" "', argument " "1"" of type '" "std::vector<int > *""'"); 
   }
-  result = (std::vector< int > *)new std::vector< int >((std::vector< int > const &)*arg1);
-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_int_std__allocatorT_int_t_t, SWIG_POINTER_NEW |  0 );
-  if (SWIG_IsNewObj(res1)) delete arg1;
+  arg1 = reinterpret_cast< std::vector<int > * >(argp1);
+  result = (arg1)->begin();
+  resultobj = SWIG_NewPointerObj(swig::make_output_iterator(static_cast< const std::vector<int >::iterator & >(result)),
+    swig::PySwigIterator::descriptor(),SWIG_POINTER_OWN);
   return resultobj;
 fail:
-  if (SWIG_IsNewObj(res1)) delete arg1;
   return NULL;
 }
 
 
-SWIGINTERN PyObject *_wrap_VectorInt_empty(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_VectorInt_begin__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< int > *arg1 = (std::vector< int > *) 0 ;
+  std::vector<int > *arg1 = (std::vector<int > *) 0 ;
+  std::vector<int >::const_iterator result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  bool result;
   
-  if (!PyArg_ParseTuple(args,(char *)"O:VectorInt_empty",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_int_std__allocatorT_int_t_t, 0 |  0 );
+  if (!PyArg_ParseTuple(args,(char *)"O:VectorInt_begin",&obj0)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTint_std__allocatorTint_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorInt_empty" "', argument " "1"" of type '" "std::vector< int > const *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorInt_begin" "', argument " "1"" of type '" "std::vector<int > const *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< int > * >(argp1);
-  result = (bool)((std::vector< int > const *)arg1)->empty();
-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+  arg1 = reinterpret_cast< std::vector<int > * >(argp1);
+  result = ((std::vector<int > const *)arg1)->begin();
+  resultobj = SWIG_NewPointerObj(swig::make_output_iterator(static_cast< const std::vector<int >::const_iterator & >(result)),
+    swig::PySwigIterator::descriptor(),SWIG_POINTER_OWN);
   return resultobj;
 fail:
   return NULL;
 }
 
 
-SWIGINTERN PyObject *_wrap_VectorInt_size(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_VectorInt_begin(PyObject *self, PyObject *args) {
+  int argc;
+  PyObject *argv[2];
+  int ii;
+  
+  if (!PyTuple_Check(args)) SWIG_fail;
+  argc = PyObject_Length(args);
+  for (ii = 0; (ii < argc) && (ii < 1); ii++) {
+    argv[ii] = PyTuple_GET_ITEM(args,ii);
+  }
+  if (argc == 1) {
+    int _v;
+    int res = swig::asptr(argv[0], (std::vector<int,std::allocator<int > >**)(0));
+    _v = SWIG_CheckState(res);
+    if (_v) {
+      return _wrap_VectorInt_begin__SWIG_0(self, args);
+    }
+  }
+  if (argc == 1) {
+    int _v;
+    int res = swig::asptr(argv[0], (std::vector<int,std::allocator<int > >**)(0));
+    _v = SWIG_CheckState(res);
+    if (_v) {
+      return _wrap_VectorInt_begin__SWIG_1(self, args);
+    }
+  }
+  
+fail:
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'VectorInt_begin'.\n  Possible C/C++ prototypes are:\n    begin()\n    begin()\n");
+  return NULL;
+}
+
+
+SWIGINTERN PyObject *_wrap_VectorInt_end__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< int > *arg1 = (std::vector< int > *) 0 ;
+  std::vector<int > *arg1 = (std::vector<int > *) 0 ;
+  std::vector<int >::iterator result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  std::vector< int >::size_type result;
   
-  if (!PyArg_ParseTuple(args,(char *)"O:VectorInt_size",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_int_std__allocatorT_int_t_t, 0 |  0 );
+  if (!PyArg_ParseTuple(args,(char *)"O:VectorInt_end",&obj0)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTint_std__allocatorTint_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorInt_size" "', argument " "1"" of type '" "std::vector< int > const *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorInt_end" "', argument " "1"" of type '" "std::vector<int > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< int > * >(argp1);
-  result = ((std::vector< int > const *)arg1)->size();
-  resultobj = SWIG_From_size_t(static_cast< size_t >(result));
+  arg1 = reinterpret_cast< std::vector<int > * >(argp1);
+  result = (arg1)->end();
+  resultobj = SWIG_NewPointerObj(swig::make_output_iterator(static_cast< const std::vector<int >::iterator & >(result)),
+    swig::PySwigIterator::descriptor(),SWIG_POINTER_OWN);
   return resultobj;
 fail:
   return NULL;
 }
 
 
-SWIGINTERN PyObject *_wrap_VectorInt_clear(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_VectorInt_end__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< int > *arg1 = (std::vector< int > *) 0 ;
+  std::vector<int > *arg1 = (std::vector<int > *) 0 ;
+  std::vector<int >::const_iterator result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
   
-  if (!PyArg_ParseTuple(args,(char *)"O:VectorInt_clear",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_int_std__allocatorT_int_t_t, 0 |  0 );
+  if (!PyArg_ParseTuple(args,(char *)"O:VectorInt_end",&obj0)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTint_std__allocatorTint_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorInt_clear" "', argument " "1"" of type '" "std::vector< int > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorInt_end" "', argument " "1"" of type '" "std::vector<int > const *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< int > * >(argp1);
-  (arg1)->clear();
-  resultobj = SWIG_Py_Void();
+  arg1 = reinterpret_cast< std::vector<int > * >(argp1);
+  result = ((std::vector<int > const *)arg1)->end();
+  resultobj = SWIG_NewPointerObj(swig::make_output_iterator(static_cast< const std::vector<int >::const_iterator & >(result)),
+    swig::PySwigIterator::descriptor(),SWIG_POINTER_OWN);
   return resultobj;
 fail:
   return NULL;
 }
 
 
-SWIGINTERN PyObject *_wrap_VectorInt_swap(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
-  PyObject *resultobj = 0;
-  std::vector< int > *arg1 = (std::vector< int > *) 0 ;
-  std::vector< int > *arg2 = 0 ;
-  void *argp1 = 0 ;
-  int res1 = 0 ;
-  void *argp2 = 0 ;
-  int res2 = 0 ;
-  PyObject * obj0 = 0 ;
-  PyObject * obj1 = 0 ;
+SWIGINTERN PyObject *_wrap_VectorInt_end(PyObject *self, PyObject *args) {
+  int argc;
+  PyObject *argv[2];
+  int ii;
   
-  if (!PyArg_ParseTuple(args,(char *)"OO:VectorInt_swap",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_int_std__allocatorT_int_t_t, 0 |  0 );
-  if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorInt_swap" "', argument " "1"" of type '" "std::vector< int > *""'"); 
+  if (!PyTuple_Check(args)) SWIG_fail;
+  argc = PyObject_Length(args);
+  for (ii = 0; (ii < argc) && (ii < 1); ii++) {
+    argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
-  arg1 = reinterpret_cast< std::vector< int > * >(argp1);
-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_std__vectorT_int_std__allocatorT_int_t_t,  0 );
-  if (!SWIG_IsOK(res2)) {
-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "VectorInt_swap" "', argument " "2"" of type '" "std::vector< int > &""'"); 
+  if (argc == 1) {
+    int _v;
+    int res = swig::asptr(argv[0], (std::vector<int,std::allocator<int > >**)(0));
+    _v = SWIG_CheckState(res);
+    if (_v) {
+      return _wrap_VectorInt_end__SWIG_0(self, args);
+    }
   }
-  if (!argp2) {
-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "VectorInt_swap" "', argument " "2"" of type '" "std::vector< int > &""'"); 
+  if (argc == 1) {
+    int _v;
+    int res = swig::asptr(argv[0], (std::vector<int,std::allocator<int > >**)(0));
+    _v = SWIG_CheckState(res);
+    if (_v) {
+      return _wrap_VectorInt_end__SWIG_1(self, args);
+    }
   }
-  arg2 = reinterpret_cast< std::vector< int > * >(argp2);
-  (arg1)->swap(*arg2);
-  resultobj = SWIG_Py_Void();
-  return resultobj;
+  
 fail:
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'VectorInt_end'.\n  Possible C/C++ prototypes are:\n    end()\n    end()\n");
   return NULL;
 }
 
 
-SWIGINTERN PyObject *_wrap_VectorInt_get_allocator(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_VectorInt_rbegin__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< int > *arg1 = (std::vector< int > *) 0 ;
+  std::vector<int > *arg1 = (std::vector<int > *) 0 ;
+  std::vector<int >::reverse_iterator result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  SwigValueWrapper< std::allocator< int > > result;
   
-  if (!PyArg_ParseTuple(args,(char *)"O:VectorInt_get_allocator",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_int_std__allocatorT_int_t_t, 0 |  0 );
+  if (!PyArg_ParseTuple(args,(char *)"O:VectorInt_rbegin",&obj0)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTint_std__allocatorTint_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorInt_get_allocator" "', argument " "1"" of type '" "std::vector< int > const *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorInt_rbegin" "', argument " "1"" of type '" "std::vector<int > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< int > * >(argp1);
-  result = ((std::vector< int > const *)arg1)->get_allocator();
-  resultobj = SWIG_NewPointerObj((new std::vector< int >::allocator_type(static_cast< const std::vector< int >::allocator_type& >(result))), SWIGTYPE_p_std__vectorT_int_std__allocatorT_int_t_t__allocator_type, SWIG_POINTER_OWN |  0 );
+  arg1 = reinterpret_cast< std::vector<int > * >(argp1);
+  result = (arg1)->rbegin();
+  resultobj = SWIG_NewPointerObj(swig::make_output_iterator(static_cast< const std::vector<int >::reverse_iterator & >(result)),
+    swig::PySwigIterator::descriptor(),SWIG_POINTER_OWN);
   return resultobj;
 fail:
   return NULL;
 }
 
 
-SWIGINTERN PyObject *_wrap_VectorInt_begin(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_VectorInt_rbegin__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< int > *arg1 = (std::vector< int > *) 0 ;
+  std::vector<int > *arg1 = (std::vector<int > *) 0 ;
+  std::vector<int >::const_reverse_iterator result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  std::vector< int >::const_iterator result;
   
-  if (!PyArg_ParseTuple(args,(char *)"O:VectorInt_begin",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_int_std__allocatorT_int_t_t, 0 |  0 );
+  if (!PyArg_ParseTuple(args,(char *)"O:VectorInt_rbegin",&obj0)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTint_std__allocatorTint_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorInt_begin" "', argument " "1"" of type '" "std::vector< int > const *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorInt_rbegin" "', argument " "1"" of type '" "std::vector<int > const *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< int > * >(argp1);
-  result = ((std::vector< int > const *)arg1)->begin();
-  resultobj = SWIG_NewPointerObj(swig::make_output_iterator(static_cast< const std::vector< int >::const_iterator & >(result)),
-    swig::SwigPyIterator::descriptor(),SWIG_POINTER_OWN);
+  arg1 = reinterpret_cast< std::vector<int > * >(argp1);
+  result = ((std::vector<int > const *)arg1)->rbegin();
+  resultobj = SWIG_NewPointerObj(swig::make_output_iterator(static_cast< const std::vector<int >::const_reverse_iterator & >(result)),
+    swig::PySwigIterator::descriptor(),SWIG_POINTER_OWN);
   return resultobj;
 fail:
   return NULL;
 }
 
 
-SWIGINTERN PyObject *_wrap_VectorInt_end(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
-  PyObject *resultobj = 0;
-  std::vector< int > *arg1 = (std::vector< int > *) 0 ;
-  void *argp1 = 0 ;
-  int res1 = 0 ;
-  PyObject * obj0 = 0 ;
-  std::vector< int >::const_iterator result;
+SWIGINTERN PyObject *_wrap_VectorInt_rbegin(PyObject *self, PyObject *args) {
+  int argc;
+  PyObject *argv[2];
+  int ii;
   
-  if (!PyArg_ParseTuple(args,(char *)"O:VectorInt_end",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_int_std__allocatorT_int_t_t, 0 |  0 );
-  if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorInt_end" "', argument " "1"" of type '" "std::vector< int > const *""'"); 
+  if (!PyTuple_Check(args)) SWIG_fail;
+  argc = PyObject_Length(args);
+  for (ii = 0; (ii < argc) && (ii < 1); ii++) {
+    argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
-  arg1 = reinterpret_cast< std::vector< int > * >(argp1);
-  result = ((std::vector< int > const *)arg1)->end();
-  resultobj = SWIG_NewPointerObj(swig::make_output_iterator(static_cast< const std::vector< int >::const_iterator & >(result)),
-    swig::SwigPyIterator::descriptor(),SWIG_POINTER_OWN);
-  return resultobj;
+  if (argc == 1) {
+    int _v;
+    int res = swig::asptr(argv[0], (std::vector<int,std::allocator<int > >**)(0));
+    _v = SWIG_CheckState(res);
+    if (_v) {
+      return _wrap_VectorInt_rbegin__SWIG_0(self, args);
+    }
+  }
+  if (argc == 1) {
+    int _v;
+    int res = swig::asptr(argv[0], (std::vector<int,std::allocator<int > >**)(0));
+    _v = SWIG_CheckState(res);
+    if (_v) {
+      return _wrap_VectorInt_rbegin__SWIG_1(self, args);
+    }
+  }
+  
 fail:
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'VectorInt_rbegin'.\n  Possible C/C++ prototypes are:\n    rbegin()\n    rbegin()\n");
   return NULL;
 }
 
 
-SWIGINTERN PyObject *_wrap_VectorInt_rbegin(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_VectorInt_rend__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< int > *arg1 = (std::vector< int > *) 0 ;
+  std::vector<int > *arg1 = (std::vector<int > *) 0 ;
+  std::vector<int >::reverse_iterator result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  std::vector< int >::const_reverse_iterator result;
   
-  if (!PyArg_ParseTuple(args,(char *)"O:VectorInt_rbegin",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_int_std__allocatorT_int_t_t, 0 |  0 );
+  if (!PyArg_ParseTuple(args,(char *)"O:VectorInt_rend",&obj0)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTint_std__allocatorTint_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorInt_rbegin" "', argument " "1"" of type '" "std::vector< int > const *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorInt_rend" "', argument " "1"" of type '" "std::vector<int > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< int > * >(argp1);
-  result = ((std::vector< int > const *)arg1)->rbegin();
-  resultobj = SWIG_NewPointerObj(swig::make_output_iterator(static_cast< const std::vector< int >::const_reverse_iterator & >(result)),
-    swig::SwigPyIterator::descriptor(),SWIG_POINTER_OWN);
+  arg1 = reinterpret_cast< std::vector<int > * >(argp1);
+  result = (arg1)->rend();
+  resultobj = SWIG_NewPointerObj(swig::make_output_iterator(static_cast< const std::vector<int >::reverse_iterator & >(result)),
+    swig::PySwigIterator::descriptor(),SWIG_POINTER_OWN);
   return resultobj;
 fail:
   return NULL;
 }
 
 
-SWIGINTERN PyObject *_wrap_VectorInt_rend(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_VectorInt_rend__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< int > *arg1 = (std::vector< int > *) 0 ;
+  std::vector<int > *arg1 = (std::vector<int > *) 0 ;
+  std::vector<int >::const_reverse_iterator result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  std::vector< int >::const_reverse_iterator result;
   
   if (!PyArg_ParseTuple(args,(char *)"O:VectorInt_rend",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_int_std__allocatorT_int_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTint_std__allocatorTint_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorInt_rend" "', argument " "1"" of type '" "std::vector< int > const *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorInt_rend" "', argument " "1"" of type '" "std::vector<int > const *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< int > * >(argp1);
-  result = ((std::vector< int > const *)arg1)->rend();
-  resultobj = SWIG_NewPointerObj(swig::make_output_iterator(static_cast< const std::vector< int >::const_reverse_iterator & >(result)),
-    swig::SwigPyIterator::descriptor(),SWIG_POINTER_OWN);
+  arg1 = reinterpret_cast< std::vector<int > * >(argp1);
+  result = ((std::vector<int > const *)arg1)->rend();
+  resultobj = SWIG_NewPointerObj(swig::make_output_iterator(static_cast< const std::vector<int >::const_reverse_iterator & >(result)),
+    swig::PySwigIterator::descriptor(),SWIG_POINTER_OWN);
   return resultobj;
 fail:
   return NULL;
 }
 
 
+SWIGINTERN PyObject *_wrap_VectorInt_rend(PyObject *self, PyObject *args) {
+  int argc;
+  PyObject *argv[2];
+  int ii;
+  
+  if (!PyTuple_Check(args)) SWIG_fail;
+  argc = PyObject_Length(args);
+  for (ii = 0; (ii < argc) && (ii < 1); ii++) {
+    argv[ii] = PyTuple_GET_ITEM(args,ii);
+  }
+  if (argc == 1) {
+    int _v;
+    int res = swig::asptr(argv[0], (std::vector<int,std::allocator<int > >**)(0));
+    _v = SWIG_CheckState(res);
+    if (_v) {
+      return _wrap_VectorInt_rend__SWIG_0(self, args);
+    }
+  }
+  if (argc == 1) {
+    int _v;
+    int res = swig::asptr(argv[0], (std::vector<int,std::allocator<int > >**)(0));
+    _v = SWIG_CheckState(res);
+    if (_v) {
+      return _wrap_VectorInt_rend__SWIG_1(self, args);
+    }
+  }
+  
+fail:
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'VectorInt_rend'.\n  Possible C/C++ prototypes are:\n    rend()\n    rend()\n");
+  return NULL;
+}
+
+
 SWIGINTERN PyObject *_wrap_new_VectorInt__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< int >::size_type arg1 ;
+  std::vector<int >::size_type arg1 ;
+  std::vector<int > *result = 0 ;
   size_t val1 ;
   int ecode1 = 0 ;
   PyObject * obj0 = 0 ;
-  std::vector< int > *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"O:new_VectorInt",&obj0)) SWIG_fail;
   ecode1 = SWIG_AsVal_size_t(obj0, &val1);
   if (!SWIG_IsOK(ecode1)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_VectorInt" "', argument " "1"" of type '" "std::vector< int >::size_type""'");
+    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_VectorInt" "', argument " "1"" of type '" "std::vector<int >::size_type""'");
   } 
-  arg1 = static_cast< std::vector< int >::size_type >(val1);
-  result = (std::vector< int > *)new std::vector< int >(arg1);
-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_int_std__allocatorT_int_t_t, SWIG_POINTER_NEW |  0 );
+  arg1 = static_cast< std::vector<int >::size_type >(val1);
+  result = (std::vector<int > *)new std::vector<int >(arg1);
+  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorTint_std__allocatorTint_t_t, SWIG_POINTER_NEW |  0 );
   return resultobj;
 fail:
   return NULL;
@@ -16992,17 +15979,17 @@ fail:
 
 SWIGINTERN PyObject *_wrap_VectorInt_pop_back(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< int > *arg1 = (std::vector< int > *) 0 ;
+  std::vector<int > *arg1 = (std::vector<int > *) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"O:VectorInt_pop_back",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_int_std__allocatorT_int_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTint_std__allocatorTint_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorInt_pop_back" "', argument " "1"" of type '" "std::vector< int > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorInt_pop_back" "', argument " "1"" of type '" "std::vector<int > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< int > * >(argp1);
+  arg1 = reinterpret_cast< std::vector<int > * >(argp1);
   (arg1)->pop_back();
   resultobj = SWIG_Py_Void();
   return resultobj;
@@ -17013,8 +16000,8 @@ fail:
 
 SWIGINTERN PyObject *_wrap_VectorInt_resize__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< int > *arg1 = (std::vector< int > *) 0 ;
-  std::vector< int >::size_type arg2 ;
+  std::vector<int > *arg1 = (std::vector<int > *) 0 ;
+  std::vector<int >::size_type arg2 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   size_t val2 ;
@@ -17023,16 +16010,16 @@ SWIGINTERN PyObject *_wrap_VectorInt_resize__SWIG_0(PyObject *SWIGUNUSEDPARM(sel
   PyObject * obj1 = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OO:VectorInt_resize",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_int_std__allocatorT_int_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTint_std__allocatorTint_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorInt_resize" "', argument " "1"" of type '" "std::vector< int > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorInt_resize" "', argument " "1"" of type '" "std::vector<int > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< int > * >(argp1);
+  arg1 = reinterpret_cast< std::vector<int > * >(argp1);
   ecode2 = SWIG_AsVal_size_t(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorInt_resize" "', argument " "2"" of type '" "std::vector< int >::size_type""'");
+    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorInt_resize" "', argument " "2"" of type '" "std::vector<int >::size_type""'");
   } 
-  arg2 = static_cast< std::vector< int >::size_type >(val2);
+  arg2 = static_cast< std::vector<int >::size_type >(val2);
   (arg1)->resize(arg2);
   resultobj = SWIG_Py_Void();
   return resultobj;
@@ -17043,36 +16030,36 @@ fail:
 
 SWIGINTERN PyObject *_wrap_VectorInt_erase__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< int > *arg1 = (std::vector< int > *) 0 ;
-  std::vector< int >::iterator arg2 ;
+  std::vector<int > *arg1 = (std::vector<int > *) 0 ;
+  std::vector<int >::iterator arg2 ;
+  std::vector<int >::iterator result;
   void *argp1 = 0 ;
   int res1 = 0 ;
-  swig::SwigPyIterator *iter2 = 0 ;
+  swig::PySwigIterator *iter2 = 0 ;
   int res2 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
-  std::vector< int >::iterator result;
   
   if (!PyArg_ParseTuple(args,(char *)"OO:VectorInt_erase",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_int_std__allocatorT_int_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTint_std__allocatorTint_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorInt_erase" "', argument " "1"" of type '" "std::vector< int > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorInt_erase" "', argument " "1"" of type '" "std::vector<int > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< int > * >(argp1);
-  res2 = SWIG_ConvertPtr(obj1, SWIG_as_voidptrptr(&iter2), swig::SwigPyIterator::descriptor(), 0);
+  arg1 = reinterpret_cast< std::vector<int > * >(argp1);
+  res2 = SWIG_ConvertPtr(obj1, SWIG_as_voidptrptr(&iter2), swig::PySwigIterator::descriptor(), 0);
   if (!SWIG_IsOK(res2) || !iter2) {
-    SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "VectorInt_erase" "', argument " "2"" of type '" "std::vector< int >::iterator""'");
+    SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "VectorInt_erase" "', argument " "2"" of type '" "std::vector<int >::iterator""'");
   } else {
-    swig::SwigPyIterator_T<std::vector< int >::iterator > *iter_t = dynamic_cast<swig::SwigPyIterator_T<std::vector< int >::iterator > *>(iter2);
+    swig::PySwigIterator_T<std::vector<int >::iterator > *iter_t = dynamic_cast<swig::PySwigIterator_T<std::vector<int >::iterator > *>(iter2);
     if (iter_t) {
       arg2 = iter_t->get_current();
     } else {
-      SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "VectorInt_erase" "', argument " "2"" of type '" "std::vector< int >::iterator""'");
+      SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "VectorInt_erase" "', argument " "2"" of type '" "std::vector<int >::iterator""'");
     }
   }
   result = (arg1)->erase(arg2);
-  resultobj = SWIG_NewPointerObj(swig::make_output_iterator(static_cast< const std::vector< int >::iterator & >(result)),
-    swig::SwigPyIterator::descriptor(),SWIG_POINTER_OWN);
+  resultobj = SWIG_NewPointerObj(swig::make_output_iterator(static_cast< const std::vector<int >::iterator & >(result)),
+    swig::PySwigIterator::descriptor(),SWIG_POINTER_OWN);
   return resultobj;
 fail:
   return NULL;
@@ -17081,51 +16068,51 @@ fail:
 
 SWIGINTERN PyObject *_wrap_VectorInt_erase__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< int > *arg1 = (std::vector< int > *) 0 ;
-  std::vector< int >::iterator arg2 ;
-  std::vector< int >::iterator arg3 ;
+  std::vector<int > *arg1 = (std::vector<int > *) 0 ;
+  std::vector<int >::iterator arg2 ;
+  std::vector<int >::iterator arg3 ;
+  std::vector<int >::iterator result;
   void *argp1 = 0 ;
   int res1 = 0 ;
-  swig::SwigPyIterator *iter2 = 0 ;
+  swig::PySwigIterator *iter2 = 0 ;
   int res2 ;
-  swig::SwigPyIterator *iter3 = 0 ;
+  swig::PySwigIterator *iter3 = 0 ;
   int res3 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
   PyObject * obj2 = 0 ;
-  std::vector< int >::iterator result;
   
   if (!PyArg_ParseTuple(args,(char *)"OOO:VectorInt_erase",&obj0,&obj1,&obj2)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_int_std__allocatorT_int_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTint_std__allocatorTint_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorInt_erase" "', argument " "1"" of type '" "std::vector< int > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorInt_erase" "', argument " "1"" of type '" "std::vector<int > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< int > * >(argp1);
-  res2 = SWIG_ConvertPtr(obj1, SWIG_as_voidptrptr(&iter2), swig::SwigPyIterator::descriptor(), 0);
+  arg1 = reinterpret_cast< std::vector<int > * >(argp1);
+  res2 = SWIG_ConvertPtr(obj1, SWIG_as_voidptrptr(&iter2), swig::PySwigIterator::descriptor(), 0);
   if (!SWIG_IsOK(res2) || !iter2) {
-    SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "VectorInt_erase" "', argument " "2"" of type '" "std::vector< int >::iterator""'");
+    SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "VectorInt_erase" "', argument " "2"" of type '" "std::vector<int >::iterator""'");
   } else {
-    swig::SwigPyIterator_T<std::vector< int >::iterator > *iter_t = dynamic_cast<swig::SwigPyIterator_T<std::vector< int >::iterator > *>(iter2);
+    swig::PySwigIterator_T<std::vector<int >::iterator > *iter_t = dynamic_cast<swig::PySwigIterator_T<std::vector<int >::iterator > *>(iter2);
     if (iter_t) {
       arg2 = iter_t->get_current();
     } else {
-      SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "VectorInt_erase" "', argument " "2"" of type '" "std::vector< int >::iterator""'");
+      SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "VectorInt_erase" "', argument " "2"" of type '" "std::vector<int >::iterator""'");
     }
   }
-  res3 = SWIG_ConvertPtr(obj2, SWIG_as_voidptrptr(&iter3), swig::SwigPyIterator::descriptor(), 0);
+  res3 = SWIG_ConvertPtr(obj2, SWIG_as_voidptrptr(&iter3), swig::PySwigIterator::descriptor(), 0);
   if (!SWIG_IsOK(res3) || !iter3) {
-    SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "VectorInt_erase" "', argument " "3"" of type '" "std::vector< int >::iterator""'");
+    SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "VectorInt_erase" "', argument " "3"" of type '" "std::vector<int >::iterator""'");
   } else {
-    swig::SwigPyIterator_T<std::vector< int >::iterator > *iter_t = dynamic_cast<swig::SwigPyIterator_T<std::vector< int >::iterator > *>(iter3);
+    swig::PySwigIterator_T<std::vector<int >::iterator > *iter_t = dynamic_cast<swig::PySwigIterator_T<std::vector<int >::iterator > *>(iter3);
     if (iter_t) {
       arg3 = iter_t->get_current();
     } else {
-      SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "VectorInt_erase" "', argument " "3"" of type '" "std::vector< int >::iterator""'");
+      SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "VectorInt_erase" "', argument " "3"" of type '" "std::vector<int >::iterator""'");
     }
   }
   result = (arg1)->erase(arg2,arg3);
-  resultobj = SWIG_NewPointerObj(swig::make_output_iterator(static_cast< const std::vector< int >::iterator & >(result)),
-    swig::SwigPyIterator::descriptor(),SWIG_POINTER_OWN);
+  resultobj = SWIG_NewPointerObj(swig::make_output_iterator(static_cast< const std::vector<int >::iterator & >(result)),
+    swig::PySwigIterator::descriptor(),SWIG_POINTER_OWN);
   return resultobj;
 fail:
   return NULL;
@@ -17138,18 +16125,18 @@ SWIGINTERN PyObject *_wrap_VectorInt_erase(PyObject *self, PyObject *args) {
   int ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = (int)PyObject_Length(args);
+  argc = PyObject_Length(args);
   for (ii = 0; (ii < argc) && (ii < 3); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
   if (argc == 2) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<int,std::allocator< int > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector<int,std::allocator<int > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
-      swig::SwigPyIterator *iter = 0;
-      int res = SWIG_ConvertPtr(argv[1], SWIG_as_voidptrptr(&iter), swig::SwigPyIterator::descriptor(), 0);
-      _v = (SWIG_IsOK(res) && iter && (dynamic_cast<swig::SwigPyIterator_T<std::vector< int >::iterator > *>(iter) != 0));
+      swig::PySwigIterator *iter = 0;
+      int res = SWIG_ConvertPtr(argv[1], SWIG_as_voidptrptr(&iter), swig::PySwigIterator::descriptor(), 0);
+      _v = (SWIG_IsOK(res) && iter && (dynamic_cast<swig::PySwigIterator_T<std::vector<int >::iterator > *>(iter) != 0));
       if (_v) {
         return _wrap_VectorInt_erase__SWIG_0(self, args);
       }
@@ -17157,16 +16144,16 @@ SWIGINTERN PyObject *_wrap_VectorInt_erase(PyObject *self, PyObject *args) {
   }
   if (argc == 3) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<int,std::allocator< int > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector<int,std::allocator<int > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
-      swig::SwigPyIterator *iter = 0;
-      int res = SWIG_ConvertPtr(argv[1], SWIG_as_voidptrptr(&iter), swig::SwigPyIterator::descriptor(), 0);
-      _v = (SWIG_IsOK(res) && iter && (dynamic_cast<swig::SwigPyIterator_T<std::vector< int >::iterator > *>(iter) != 0));
+      swig::PySwigIterator *iter = 0;
+      int res = SWIG_ConvertPtr(argv[1], SWIG_as_voidptrptr(&iter), swig::PySwigIterator::descriptor(), 0);
+      _v = (SWIG_IsOK(res) && iter && (dynamic_cast<swig::PySwigIterator_T<std::vector<int >::iterator > *>(iter) != 0));
       if (_v) {
-        swig::SwigPyIterator *iter = 0;
-        int res = SWIG_ConvertPtr(argv[2], SWIG_as_voidptrptr(&iter), swig::SwigPyIterator::descriptor(), 0);
-        _v = (SWIG_IsOK(res) && iter && (dynamic_cast<swig::SwigPyIterator_T<std::vector< int >::iterator > *>(iter) != 0));
+        swig::PySwigIterator *iter = 0;
+        int res = SWIG_ConvertPtr(argv[2], SWIG_as_voidptrptr(&iter), swig::PySwigIterator::descriptor(), 0);
+        _v = (SWIG_IsOK(res) && iter && (dynamic_cast<swig::PySwigIterator_T<std::vector<int >::iterator > *>(iter) != 0));
         if (_v) {
           return _wrap_VectorInt_erase__SWIG_1(self, args);
         }
@@ -17175,41 +16162,38 @@ SWIGINTERN PyObject *_wrap_VectorInt_erase(PyObject *self, PyObject *args) {
   }
   
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'VectorInt_erase'.\n"
-    "  Possible C/C++ prototypes are:\n"
-    "    erase(std::vector< int > *,std::vector< int >::iterator)\n"
-    "    erase(std::vector< int > *,std::vector< int >::iterator,std::vector< int >::iterator)\n");
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'VectorInt_erase'.\n  Possible C/C++ prototypes are:\n    erase(std::vector<int >::iterator)\n    erase(std::vector<int >::iterator,std::vector<int >::iterator)\n");
   return NULL;
 }
 
 
 SWIGINTERN PyObject *_wrap_new_VectorInt__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< int >::size_type arg1 ;
-  std::vector< int >::value_type *arg2 = 0 ;
+  std::vector<int >::size_type arg1 ;
+  std::vector<int >::value_type *arg2 = 0 ;
+  std::vector<int > *result = 0 ;
   size_t val1 ;
   int ecode1 = 0 ;
-  std::vector< int >::value_type temp2 ;
+  std::vector<int >::value_type temp2 ;
   int val2 ;
   int ecode2 = 0 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
-  std::vector< int > *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OO:new_VectorInt",&obj0,&obj1)) SWIG_fail;
   ecode1 = SWIG_AsVal_size_t(obj0, &val1);
   if (!SWIG_IsOK(ecode1)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_VectorInt" "', argument " "1"" of type '" "std::vector< int >::size_type""'");
+    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_VectorInt" "', argument " "1"" of type '" "std::vector<int >::size_type""'");
   } 
-  arg1 = static_cast< std::vector< int >::size_type >(val1);
+  arg1 = static_cast< std::vector<int >::size_type >(val1);
   ecode2 = SWIG_AsVal_int(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_VectorInt" "', argument " "2"" of type '" "std::vector< int >::value_type""'");
+    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_VectorInt" "', argument " "2"" of type '" "std::vector<int >::value_type""'");
   } 
-  temp2 = static_cast< std::vector< int >::value_type >(val2);
+  temp2 = static_cast< std::vector<int >::value_type >(val2);
   arg2 = &temp2;
-  result = (std::vector< int > *)new std::vector< int >(arg1,(std::vector< int >::value_type const &)*arg2);
-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_int_std__allocatorT_int_t_t, SWIG_POINTER_NEW |  0 );
+  result = (std::vector<int > *)new std::vector<int >(arg1,(std::vector<int >::value_type const &)*arg2);
+  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorTint_std__allocatorTint_t_t, SWIG_POINTER_NEW |  0 );
   return resultobj;
 fail:
   return NULL;
@@ -17222,7 +16206,7 @@ SWIGINTERN PyObject *_wrap_new_VectorInt(PyObject *self, PyObject *args) {
   int ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = (int)PyObject_Length(args);
+  argc = PyObject_Length(args);
   for (ii = 0; (ii < argc) && (ii < 2); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -17241,7 +16225,7 @@ SWIGINTERN PyObject *_wrap_new_VectorInt(PyObject *self, PyObject *args) {
   }
   if (argc == 1) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<int,std::allocator< int > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector<int,std::allocator<int > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       return _wrap_new_VectorInt__SWIG_1(self, args);
@@ -17265,41 +16249,36 @@ SWIGINTERN PyObject *_wrap_new_VectorInt(PyObject *self, PyObject *args) {
   }
   
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'new_VectorInt'.\n"
-    "  Possible C/C++ prototypes are:\n"
-    "    std::vector< int >()\n"
-    "    std::vector< int >(std::vector< int > const &)\n"
-    "    std::vector< int >(std::vector< int >::size_type)\n"
-    "    std::vector< int >(std::vector< int >::size_type,std::vector< int >::value_type const &)\n");
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'new_VectorInt'.\n  Possible C/C++ prototypes are:\n    std::vector<(int)>()\n    std::vector<(int)>(std::vector<int > const &)\n    std::vector<(int)>(std::vector<int >::size_type)\n    std::vector<(int)>(std::vector<int >::size_type,std::vector<int >::value_type const &)\n");
   return NULL;
 }
 
 
 SWIGINTERN PyObject *_wrap_VectorInt_push_back(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< int > *arg1 = (std::vector< int > *) 0 ;
-  std::vector< int >::value_type *arg2 = 0 ;
+  std::vector<int > *arg1 = (std::vector<int > *) 0 ;
+  std::vector<int >::value_type *arg2 = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
-  std::vector< int >::value_type temp2 ;
+  std::vector<int >::value_type temp2 ;
   int val2 ;
   int ecode2 = 0 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OO:VectorInt_push_back",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_int_std__allocatorT_int_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTint_std__allocatorTint_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorInt_push_back" "', argument " "1"" of type '" "std::vector< int > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorInt_push_back" "', argument " "1"" of type '" "std::vector<int > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< int > * >(argp1);
+  arg1 = reinterpret_cast< std::vector<int > * >(argp1);
   ecode2 = SWIG_AsVal_int(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorInt_push_back" "', argument " "2"" of type '" "std::vector< int >::value_type""'");
+    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorInt_push_back" "', argument " "2"" of type '" "std::vector<int >::value_type""'");
   } 
-  temp2 = static_cast< std::vector< int >::value_type >(val2);
+  temp2 = static_cast< std::vector<int >::value_type >(val2);
   arg2 = &temp2;
-  (arg1)->push_back((std::vector< int >::value_type const &)*arg2);
+  (arg1)->push_back((std::vector<int >::value_type const &)*arg2);
   resultobj = SWIG_Py_Void();
   return resultobj;
 fail:
@@ -17309,19 +16288,22 @@ fail:
 
 SWIGINTERN PyObject *_wrap_VectorInt_front(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< int > *arg1 = (std::vector< int > *) 0 ;
+  std::vector<int > *arg1 = (std::vector<int > *) 0 ;
+  std::vector<int >::value_type *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  std::vector< int >::value_type *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"O:VectorInt_front",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_int_std__allocatorT_int_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTint_std__allocatorTint_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorInt_front" "', argument " "1"" of type '" "std::vector< int > const *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorInt_front" "', argument " "1"" of type '" "std::vector<int > const *""'"); 
+  }
+  arg1 = reinterpret_cast< std::vector<int > * >(argp1);
+  {
+    std::vector<int >::value_type const &_result_ref = ((std::vector<int > const *)arg1)->front();
+    result = (std::vector<int >::value_type *) &_result_ref;
   }
-  arg1 = reinterpret_cast< std::vector< int > * >(argp1);
-  result = (std::vector< int >::value_type *) &((std::vector< int > const *)arg1)->front();
   resultobj = SWIG_From_int(static_cast< int >(*result));
   return resultobj;
 fail:
@@ -17331,19 +16313,22 @@ fail:
 
 SWIGINTERN PyObject *_wrap_VectorInt_back(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< int > *arg1 = (std::vector< int > *) 0 ;
+  std::vector<int > *arg1 = (std::vector<int > *) 0 ;
+  std::vector<int >::value_type *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  std::vector< int >::value_type *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"O:VectorInt_back",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_int_std__allocatorT_int_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTint_std__allocatorTint_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorInt_back" "', argument " "1"" of type '" "std::vector< int > const *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorInt_back" "', argument " "1"" of type '" "std::vector<int > const *""'"); 
+  }
+  arg1 = reinterpret_cast< std::vector<int > * >(argp1);
+  {
+    std::vector<int >::value_type const &_result_ref = ((std::vector<int > const *)arg1)->back();
+    result = (std::vector<int >::value_type *) &_result_ref;
   }
-  arg1 = reinterpret_cast< std::vector< int > * >(argp1);
-  result = (std::vector< int >::value_type *) &((std::vector< int > const *)arg1)->back();
   resultobj = SWIG_From_int(static_cast< int >(*result));
   return resultobj;
 fail:
@@ -17353,14 +16338,14 @@ fail:
 
 SWIGINTERN PyObject *_wrap_VectorInt_assign(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< int > *arg1 = (std::vector< int > *) 0 ;
-  std::vector< int >::size_type arg2 ;
-  std::vector< int >::value_type *arg3 = 0 ;
+  std::vector<int > *arg1 = (std::vector<int > *) 0 ;
+  std::vector<int >::size_type arg2 ;
+  std::vector<int >::value_type *arg3 = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   size_t val2 ;
   int ecode2 = 0 ;
-  std::vector< int >::value_type temp3 ;
+  std::vector<int >::value_type temp3 ;
   int val3 ;
   int ecode3 = 0 ;
   PyObject * obj0 = 0 ;
@@ -17368,23 +16353,23 @@ SWIGINTERN PyObject *_wrap_VectorInt_assign(PyObject *SWIGUNUSEDPARM(self), PyOb
   PyObject * obj2 = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOO:VectorInt_assign",&obj0,&obj1,&obj2)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_int_std__allocatorT_int_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTint_std__allocatorTint_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorInt_assign" "', argument " "1"" of type '" "std::vector< int > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorInt_assign" "', argument " "1"" of type '" "std::vector<int > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< int > * >(argp1);
+  arg1 = reinterpret_cast< std::vector<int > * >(argp1);
   ecode2 = SWIG_AsVal_size_t(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorInt_assign" "', argument " "2"" of type '" "std::vector< int >::size_type""'");
+    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorInt_assign" "', argument " "2"" of type '" "std::vector<int >::size_type""'");
   } 
-  arg2 = static_cast< std::vector< int >::size_type >(val2);
+  arg2 = static_cast< std::vector<int >::size_type >(val2);
   ecode3 = SWIG_AsVal_int(obj2, &val3);
   if (!SWIG_IsOK(ecode3)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "VectorInt_assign" "', argument " "3"" of type '" "std::vector< int >::value_type""'");
+    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "VectorInt_assign" "', argument " "3"" of type '" "std::vector<int >::value_type""'");
   } 
-  temp3 = static_cast< std::vector< int >::value_type >(val3);
+  temp3 = static_cast< std::vector<int >::value_type >(val3);
   arg3 = &temp3;
-  (arg1)->assign(arg2,(std::vector< int >::value_type const &)*arg3);
+  (arg1)->assign(arg2,(std::vector<int >::value_type const &)*arg3);
   resultobj = SWIG_Py_Void();
   return resultobj;
 fail:
@@ -17394,14 +16379,14 @@ fail:
 
 SWIGINTERN PyObject *_wrap_VectorInt_resize__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< int > *arg1 = (std::vector< int > *) 0 ;
-  std::vector< int >::size_type arg2 ;
-  std::vector< int >::value_type *arg3 = 0 ;
+  std::vector<int > *arg1 = (std::vector<int > *) 0 ;
+  std::vector<int >::size_type arg2 ;
+  std::vector<int >::value_type *arg3 = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   size_t val2 ;
   int ecode2 = 0 ;
-  std::vector< int >::value_type temp3 ;
+  std::vector<int >::value_type temp3 ;
   int val3 ;
   int ecode3 = 0 ;
   PyObject * obj0 = 0 ;
@@ -17409,23 +16394,23 @@ SWIGINTERN PyObject *_wrap_VectorInt_resize__SWIG_1(PyObject *SWIGUNUSEDPARM(sel
   PyObject * obj2 = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOO:VectorInt_resize",&obj0,&obj1,&obj2)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_int_std__allocatorT_int_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTint_std__allocatorTint_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorInt_resize" "', argument " "1"" of type '" "std::vector< int > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorInt_resize" "', argument " "1"" of type '" "std::vector<int > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< int > * >(argp1);
+  arg1 = reinterpret_cast< std::vector<int > * >(argp1);
   ecode2 = SWIG_AsVal_size_t(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorInt_resize" "', argument " "2"" of type '" "std::vector< int >::size_type""'");
+    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorInt_resize" "', argument " "2"" of type '" "std::vector<int >::size_type""'");
   } 
-  arg2 = static_cast< std::vector< int >::size_type >(val2);
+  arg2 = static_cast< std::vector<int >::size_type >(val2);
   ecode3 = SWIG_AsVal_int(obj2, &val3);
   if (!SWIG_IsOK(ecode3)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "VectorInt_resize" "', argument " "3"" of type '" "std::vector< int >::value_type""'");
+    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "VectorInt_resize" "', argument " "3"" of type '" "std::vector<int >::value_type""'");
   } 
-  temp3 = static_cast< std::vector< int >::value_type >(val3);
+  temp3 = static_cast< std::vector<int >::value_type >(val3);
   arg3 = &temp3;
-  (arg1)->resize(arg2,(std::vector< int >::value_type const &)*arg3);
+  (arg1)->resize(arg2,(std::vector<int >::value_type const &)*arg3);
   resultobj = SWIG_Py_Void();
   return resultobj;
 fail:
@@ -17439,13 +16424,13 @@ SWIGINTERN PyObject *_wrap_VectorInt_resize(PyObject *self, PyObject *args) {
   int ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = (int)PyObject_Length(args);
+  argc = PyObject_Length(args);
   for (ii = 0; (ii < argc) && (ii < 3); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
   if (argc == 2) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<int,std::allocator< int > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector<int,std::allocator<int > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -17459,7 +16444,7 @@ SWIGINTERN PyObject *_wrap_VectorInt_resize(PyObject *self, PyObject *args) {
   }
   if (argc == 3) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<int,std::allocator< int > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector<int,std::allocator<int > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
       {
@@ -17479,57 +16464,54 @@ SWIGINTERN PyObject *_wrap_VectorInt_resize(PyObject *self, PyObject *args) {
   }
   
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'VectorInt_resize'.\n"
-    "  Possible C/C++ prototypes are:\n"
-    "    resize(std::vector< int > *,std::vector< int >::size_type)\n"
-    "    resize(std::vector< int > *,std::vector< int >::size_type,std::vector< int >::value_type const &)\n");
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'VectorInt_resize'.\n  Possible C/C++ prototypes are:\n    resize(std::vector<int >::size_type)\n    resize(std::vector<int >::size_type,std::vector<int >::value_type const &)\n");
   return NULL;
 }
 
 
 SWIGINTERN PyObject *_wrap_VectorInt_insert__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< int > *arg1 = (std::vector< int > *) 0 ;
-  std::vector< int >::iterator arg2 ;
-  std::vector< int >::value_type *arg3 = 0 ;
+  std::vector<int > *arg1 = (std::vector<int > *) 0 ;
+  std::vector<int >::iterator arg2 ;
+  std::vector<int >::value_type *arg3 = 0 ;
+  std::vector<int >::iterator result;
   void *argp1 = 0 ;
   int res1 = 0 ;
-  swig::SwigPyIterator *iter2 = 0 ;
+  swig::PySwigIterator *iter2 = 0 ;
   int res2 ;
-  std::vector< int >::value_type temp3 ;
+  std::vector<int >::value_type temp3 ;
   int val3 ;
   int ecode3 = 0 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
   PyObject * obj2 = 0 ;
-  std::vector< int >::iterator result;
   
   if (!PyArg_ParseTuple(args,(char *)"OOO:VectorInt_insert",&obj0,&obj1,&obj2)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_int_std__allocatorT_int_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTint_std__allocatorTint_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorInt_insert" "', argument " "1"" of type '" "std::vector< int > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorInt_insert" "', argument " "1"" of type '" "std::vector<int > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< int > * >(argp1);
-  res2 = SWIG_ConvertPtr(obj1, SWIG_as_voidptrptr(&iter2), swig::SwigPyIterator::descriptor(), 0);
+  arg1 = reinterpret_cast< std::vector<int > * >(argp1);
+  res2 = SWIG_ConvertPtr(obj1, SWIG_as_voidptrptr(&iter2), swig::PySwigIterator::descriptor(), 0);
   if (!SWIG_IsOK(res2) || !iter2) {
-    SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "VectorInt_insert" "', argument " "2"" of type '" "std::vector< int >::iterator""'");
+    SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "VectorInt_insert" "', argument " "2"" of type '" "std::vector<int >::iterator""'");
   } else {
-    swig::SwigPyIterator_T<std::vector< int >::iterator > *iter_t = dynamic_cast<swig::SwigPyIterator_T<std::vector< int >::iterator > *>(iter2);
+    swig::PySwigIterator_T<std::vector<int >::iterator > *iter_t = dynamic_cast<swig::PySwigIterator_T<std::vector<int >::iterator > *>(iter2);
     if (iter_t) {
       arg2 = iter_t->get_current();
     } else {
-      SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "VectorInt_insert" "', argument " "2"" of type '" "std::vector< int >::iterator""'");
+      SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "VectorInt_insert" "', argument " "2"" of type '" "std::vector<int >::iterator""'");
     }
   }
   ecode3 = SWIG_AsVal_int(obj2, &val3);
   if (!SWIG_IsOK(ecode3)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "VectorInt_insert" "', argument " "3"" of type '" "std::vector< int >::value_type""'");
+    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "VectorInt_insert" "', argument " "3"" of type '" "std::vector<int >::value_type""'");
   } 
-  temp3 = static_cast< std::vector< int >::value_type >(val3);
+  temp3 = static_cast< std::vector<int >::value_type >(val3);
   arg3 = &temp3;
-  result = (arg1)->insert(arg2,(std::vector< int >::value_type const &)*arg3);
-  resultobj = SWIG_NewPointerObj(swig::make_output_iterator(static_cast< const std::vector< int >::iterator & >(result)),
-    swig::SwigPyIterator::descriptor(),SWIG_POINTER_OWN);
+  result = (arg1)->insert(arg2,(std::vector<int >::value_type const &)*arg3);
+  resultobj = SWIG_NewPointerObj(swig::make_output_iterator(static_cast< const std::vector<int >::iterator & >(result)),
+    swig::PySwigIterator::descriptor(),SWIG_POINTER_OWN);
   return resultobj;
 fail:
   return NULL;
@@ -17538,17 +16520,17 @@ fail:
 
 SWIGINTERN PyObject *_wrap_VectorInt_insert__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< int > *arg1 = (std::vector< int > *) 0 ;
-  std::vector< int >::iterator arg2 ;
-  std::vector< int >::size_type arg3 ;
-  std::vector< int >::value_type *arg4 = 0 ;
+  std::vector<int > *arg1 = (std::vector<int > *) 0 ;
+  std::vector<int >::iterator arg2 ;
+  std::vector<int >::size_type arg3 ;
+  std::vector<int >::value_type *arg4 = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
-  swig::SwigPyIterator *iter2 = 0 ;
+  swig::PySwigIterator *iter2 = 0 ;
   int res2 ;
   size_t val3 ;
   int ecode3 = 0 ;
-  std::vector< int >::value_type temp4 ;
+  std::vector<int >::value_type temp4 ;
   int val4 ;
   int ecode4 = 0 ;
   PyObject * obj0 = 0 ;
@@ -17557,34 +16539,34 @@ SWIGINTERN PyObject *_wrap_VectorInt_insert__SWIG_1(PyObject *SWIGUNUSEDPARM(sel
   PyObject * obj3 = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOOO:VectorInt_insert",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_int_std__allocatorT_int_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTint_std__allocatorTint_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorInt_insert" "', argument " "1"" of type '" "std::vector< int > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorInt_insert" "', argument " "1"" of type '" "std::vector<int > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< int > * >(argp1);
-  res2 = SWIG_ConvertPtr(obj1, SWIG_as_voidptrptr(&iter2), swig::SwigPyIterator::descriptor(), 0);
+  arg1 = reinterpret_cast< std::vector<int > * >(argp1);
+  res2 = SWIG_ConvertPtr(obj1, SWIG_as_voidptrptr(&iter2), swig::PySwigIterator::descriptor(), 0);
   if (!SWIG_IsOK(res2) || !iter2) {
-    SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "VectorInt_insert" "', argument " "2"" of type '" "std::vector< int >::iterator""'");
+    SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "VectorInt_insert" "', argument " "2"" of type '" "std::vector<int >::iterator""'");
   } else {
-    swig::SwigPyIterator_T<std::vector< int >::iterator > *iter_t = dynamic_cast<swig::SwigPyIterator_T<std::vector< int >::iterator > *>(iter2);
+    swig::PySwigIterator_T<std::vector<int >::iterator > *iter_t = dynamic_cast<swig::PySwigIterator_T<std::vector<int >::iterator > *>(iter2);
     if (iter_t) {
       arg2 = iter_t->get_current();
     } else {
-      SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "VectorInt_insert" "', argument " "2"" of type '" "std::vector< int >::iterator""'");
+      SWIG_exception_fail(SWIG_ArgError(SWIG_TypeError), "in method '" "VectorInt_insert" "', argument " "2"" of type '" "std::vector<int >::iterator""'");
     }
   }
   ecode3 = SWIG_AsVal_size_t(obj2, &val3);
   if (!SWIG_IsOK(ecode3)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "VectorInt_insert" "', argument " "3"" of type '" "std::vector< int >::size_type""'");
+    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "VectorInt_insert" "', argument " "3"" of type '" "std::vector<int >::size_type""'");
   } 
-  arg3 = static_cast< std::vector< int >::size_type >(val3);
+  arg3 = static_cast< std::vector<int >::size_type >(val3);
   ecode4 = SWIG_AsVal_int(obj3, &val4);
   if (!SWIG_IsOK(ecode4)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "VectorInt_insert" "', argument " "4"" of type '" "std::vector< int >::value_type""'");
+    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "VectorInt_insert" "', argument " "4"" of type '" "std::vector<int >::value_type""'");
   } 
-  temp4 = static_cast< std::vector< int >::value_type >(val4);
+  temp4 = static_cast< std::vector<int >::value_type >(val4);
   arg4 = &temp4;
-  (arg1)->insert(arg2,arg3,(std::vector< int >::value_type const &)*arg4);
+  (arg1)->insert(arg2,arg3,(std::vector<int >::value_type const &)*arg4);
   resultobj = SWIG_Py_Void();
   return resultobj;
 fail:
@@ -17598,18 +16580,18 @@ SWIGINTERN PyObject *_wrap_VectorInt_insert(PyObject *self, PyObject *args) {
   int ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = (int)PyObject_Length(args);
+  argc = PyObject_Length(args);
   for (ii = 0; (ii < argc) && (ii < 4); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
   if (argc == 3) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<int,std::allocator< int > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector<int,std::allocator<int > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
-      swig::SwigPyIterator *iter = 0;
-      int res = SWIG_ConvertPtr(argv[1], SWIG_as_voidptrptr(&iter), swig::SwigPyIterator::descriptor(), 0);
-      _v = (SWIG_IsOK(res) && iter && (dynamic_cast<swig::SwigPyIterator_T<std::vector< int >::iterator > *>(iter) != 0));
+      swig::PySwigIterator *iter = 0;
+      int res = SWIG_ConvertPtr(argv[1], SWIG_as_voidptrptr(&iter), swig::PySwigIterator::descriptor(), 0);
+      _v = (SWIG_IsOK(res) && iter && (dynamic_cast<swig::PySwigIterator_T<std::vector<int >::iterator > *>(iter) != 0));
       if (_v) {
         {
           int res = SWIG_AsVal_int(argv[2], NULL);
@@ -17623,12 +16605,12 @@ SWIGINTERN PyObject *_wrap_VectorInt_insert(PyObject *self, PyObject *args) {
   }
   if (argc == 4) {
     int _v;
-    int res = swig::asptr(argv[0], (std::vector<int,std::allocator< int > >**)(0));
+    int res = swig::asptr(argv[0], (std::vector<int,std::allocator<int > >**)(0));
     _v = SWIG_CheckState(res);
     if (_v) {
-      swig::SwigPyIterator *iter = 0;
-      int res = SWIG_ConvertPtr(argv[1], SWIG_as_voidptrptr(&iter), swig::SwigPyIterator::descriptor(), 0);
-      _v = (SWIG_IsOK(res) && iter && (dynamic_cast<swig::SwigPyIterator_T<std::vector< int >::iterator > *>(iter) != 0));
+      swig::PySwigIterator *iter = 0;
+      int res = SWIG_ConvertPtr(argv[1], SWIG_as_voidptrptr(&iter), swig::PySwigIterator::descriptor(), 0);
+      _v = (SWIG_IsOK(res) && iter && (dynamic_cast<swig::PySwigIterator_T<std::vector<int >::iterator > *>(iter) != 0));
       if (_v) {
         {
           int res = SWIG_AsVal_size_t(argv[2], NULL);
@@ -17648,18 +16630,15 @@ SWIGINTERN PyObject *_wrap_VectorInt_insert(PyObject *self, PyObject *args) {
   }
   
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'VectorInt_insert'.\n"
-    "  Possible C/C++ prototypes are:\n"
-    "    insert(std::vector< int > *,std::vector< int >::iterator,std::vector< int >::value_type const &)\n"
-    "    insert(std::vector< int > *,std::vector< int >::iterator,std::vector< int >::size_type,std::vector< int >::value_type const &)\n");
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'VectorInt_insert'.\n  Possible C/C++ prototypes are:\n    insert(std::vector<int >::iterator,std::vector<int >::value_type const &)\n    insert(std::vector<int >::iterator,std::vector<int >::size_type,std::vector<int >::value_type const &)\n");
   return NULL;
 }
 
 
 SWIGINTERN PyObject *_wrap_VectorInt_reserve(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< int > *arg1 = (std::vector< int > *) 0 ;
-  std::vector< int >::size_type arg2 ;
+  std::vector<int > *arg1 = (std::vector<int > *) 0 ;
+  std::vector<int >::size_type arg2 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   size_t val2 ;
@@ -17668,16 +16647,16 @@ SWIGINTERN PyObject *_wrap_VectorInt_reserve(PyObject *SWIGUNUSEDPARM(self), PyO
   PyObject * obj1 = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OO:VectorInt_reserve",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_int_std__allocatorT_int_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTint_std__allocatorTint_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorInt_reserve" "', argument " "1"" of type '" "std::vector< int > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorInt_reserve" "', argument " "1"" of type '" "std::vector<int > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< int > * >(argp1);
+  arg1 = reinterpret_cast< std::vector<int > * >(argp1);
   ecode2 = SWIG_AsVal_size_t(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorInt_reserve" "', argument " "2"" of type '" "std::vector< int >::size_type""'");
+    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "VectorInt_reserve" "', argument " "2"" of type '" "std::vector<int >::size_type""'");
   } 
-  arg2 = static_cast< std::vector< int >::size_type >(val2);
+  arg2 = static_cast< std::vector<int >::size_type >(val2);
   (arg1)->reserve(arg2);
   resultobj = SWIG_Py_Void();
   return resultobj;
@@ -17688,19 +16667,19 @@ fail:
 
 SWIGINTERN PyObject *_wrap_VectorInt_capacity(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< int > *arg1 = (std::vector< int > *) 0 ;
+  std::vector<int > *arg1 = (std::vector<int > *) 0 ;
+  std::vector<int >::size_type result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  std::vector< int >::size_type result;
   
   if (!PyArg_ParseTuple(args,(char *)"O:VectorInt_capacity",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_int_std__allocatorT_int_t_t, 0 |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTint_std__allocatorTint_t_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorInt_capacity" "', argument " "1"" of type '" "std::vector< int > const *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "VectorInt_capacity" "', argument " "1"" of type '" "std::vector<int > const *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< int > * >(argp1);
-  result = ((std::vector< int > const *)arg1)->capacity();
+  arg1 = reinterpret_cast< std::vector<int > * >(argp1);
+  result = ((std::vector<int > const *)arg1)->capacity();
   resultobj = SWIG_From_size_t(static_cast< size_t >(result));
   return resultobj;
 fail:
@@ -17710,18 +16689,19 @@ fail:
 
 SWIGINTERN PyObject *_wrap_delete_VectorInt(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
-  std::vector< int > *arg1 = (std::vector< int > *) 0 ;
+  std::vector<int > *arg1 = (std::vector<int > *) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"O:delete_VectorInt",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorT_int_std__allocatorT_int_t_t, SWIG_POINTER_DISOWN |  0 );
+  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_std__vectorTint_std__allocatorTint_t_t, SWIG_POINTER_DISOWN |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_VectorInt" "', argument " "1"" of type '" "std::vector< int > *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_VectorInt" "', argument " "1"" of type '" "std::vector<int > *""'"); 
   }
-  arg1 = reinterpret_cast< std::vector< int > * >(argp1);
+  arg1 = reinterpret_cast< std::vector<int > * >(argp1);
   delete arg1;
+  
   resultobj = SWIG_Py_Void();
   return resultobj;
 fail:
@@ -17731,18 +16711,18 @@ fail:
 
 SWIGINTERN PyObject *VectorInt_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *obj;
-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
-  SWIG_TypeNewClientData(SWIGTYPE_p_std__vectorT_int_std__allocatorT_int_t_t, SWIG_NewClientData(obj));
+  if (!PyArg_ParseTuple(args,(char*)"O|swigregister", &obj)) return NULL;
+  SWIG_TypeNewClientData(SWIGTYPE_p_std__vectorTint_std__allocatorTint_t_t, SWIG_NewClientData(obj));
   return SWIG_Py_Void();
 }
 
-SWIGINTERN int Swig_var_ABR_TYPES_set(PyObject *) {
+SWIGINTERN int ABR_TYPES_set(PyObject *) {
   SWIG_Error(SWIG_AttributeError,"Variable ABR_TYPES is read-only.");
   return 1;
 }
 
 
-SWIGINTERN PyObject *Swig_var_ABR_TYPES_get(void) {
+SWIGINTERN PyObject *ABR_TYPES_get(void) {
   PyObject *pyobj = 0;
   
   pyobj = SWIG_FromCharPtr(Hex::ABR_TYPES);
@@ -17754,6 +16734,7 @@ SWIGINTERN PyObject *_wrap_get_temp_name(PyObject *SWIGUNUSEDPARM(self), PyObjec
   PyObject *resultobj = 0;
   cpchar arg1 = (cpchar) 0 ;
   pchar arg2 = (pchar) 0 ;
+  pchar result;
   int res1 ;
   char *buf1 = 0 ;
   int alloc1 = 0 ;
@@ -17762,7 +16743,6 @@ SWIGINTERN PyObject *_wrap_get_temp_name(PyObject *SWIGUNUSEDPARM(self), PyObjec
   int alloc2 = 0 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
-  pchar result;
   
   if (!PyArg_ParseTuple(args,(char *)"OO:get_temp_name",&obj0,&obj1)) SWIG_fail;
   res1 = SWIG_AsCharPtrAndSize(obj0, &buf1, NULL, &alloc1);
@@ -17901,7 +16881,7 @@ SWIGINTERN PyObject *_wrap_fatal_error(PyObject *self, PyObject *args) {
   int ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = (int)PyObject_Length(args);
+  argc = PyObject_Length(args);
   for (ii = 0; (ii < argc) && (ii < 3); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -17943,11 +16923,7 @@ SWIGINTERN PyObject *_wrap_fatal_error(PyObject *self, PyObject *args) {
   }
   
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'fatal_error'.\n"
-    "  Possible C/C++ prototypes are:\n"
-    "    Hex::fatal_error(cpchar,cpchar,cpchar)\n"
-    "    Hex::fatal_error(cpchar,cpchar)\n"
-    "    Hex::fatal_error(cpchar)\n");
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'fatal_error'.\n  Possible C/C++ prototypes are:\n    Hex::fatal_error(cpchar,cpchar,cpchar)\n    Hex::fatal_error(cpchar,cpchar)\n    Hex::fatal_error(cpchar)\n");
   return NULL;
 }
 
@@ -17956,13 +16932,13 @@ SWIGINTERN PyObject *_wrap_prod_scalaire(PyObject *SWIGUNUSEDPARM(self), PyObjec
   PyObject *resultobj = 0;
   double *arg1 ;
   double *arg2 ;
+  double result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   void *argp2 = 0 ;
   int res2 = 0 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
-  double result;
   
   if (!PyArg_ParseTuple(args,(char *)"OO:prod_scalaire",&obj0,&obj1)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_double, 0 |  0 );
@@ -17988,6 +16964,7 @@ SWIGINTERN PyObject *_wrap_prod_vectoriel(PyObject *SWIGUNUSEDPARM(self), PyObje
   double *arg1 ;
   double *arg2 ;
   double *arg3 ;
+  double *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   void *argp2 = 0 ;
@@ -17997,7 +16974,6 @@ SWIGINTERN PyObject *_wrap_prod_vectoriel(PyObject *SWIGUNUSEDPARM(self), PyObje
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
   PyObject * obj2 = 0 ;
-  double *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOO:prod_vectoriel",&obj0,&obj1,&obj2)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_double, 0 |  0 );
@@ -18028,6 +17004,7 @@ SWIGINTERN PyObject *_wrap_prod_mixte(PyObject *SWIGUNUSEDPARM(self), PyObject *
   double *arg1 ;
   double *arg2 ;
   double *arg3 ;
+  double result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   void *argp2 = 0 ;
@@ -18037,7 +17014,6 @@ SWIGINTERN PyObject *_wrap_prod_mixte(PyObject *SWIGUNUSEDPARM(self), PyObject *
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
   PyObject * obj2 = 0 ;
-  double result;
   
   if (!PyArg_ParseTuple(args,(char *)"OOO:prod_mixte",&obj0,&obj1,&obj2)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_double, 0 |  0 );
@@ -18066,10 +17042,10 @@ fail:
 SWIGINTERN PyObject *_wrap_deg2radians(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   double arg1 ;
+  double result;
   double val1 ;
   int ecode1 = 0 ;
   PyObject * obj0 = 0 ;
-  double result;
   
   if (!PyArg_ParseTuple(args,(char *)"O:deg2radians",&obj0)) SWIG_fail;
   ecode1 = SWIG_AsVal_double(obj0, &val1);
@@ -18088,10 +17064,10 @@ fail:
 SWIGINTERN PyObject *_wrap_rad2degres(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   double arg1 ;
+  double result;
   double val1 ;
   int ecode1 = 0 ;
   PyObject * obj0 = 0 ;
-  double result;
   
   if (!PyArg_ParseTuple(args,(char *)"O:rad2degres",&obj0)) SWIG_fail;
   ecode1 = SWIG_AsVal_double(obj0, &val1);
@@ -18110,10 +17086,10 @@ fail:
 SWIGINTERN PyObject *_wrap_calc_norme(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   double *arg1 ;
+  double result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  double result;
   
   if (!PyArg_ParseTuple(args,(char *)"O:calc_norme",&obj0)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_double, 0 |  0 );
@@ -18133,13 +17109,13 @@ SWIGINTERN PyObject *_wrap_calc_distance(PyObject *SWIGUNUSEDPARM(self), PyObjec
   PyObject *resultobj = 0;
   double *arg1 ;
   double *arg2 ;
+  double result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   void *argp2 = 0 ;
   int res2 = 0 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
-  double result;
   
   if (!PyArg_ParseTuple(args,(char *)"OO:calc_distance",&obj0,&obj1)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_double, 0 |  0 );
@@ -18164,13 +17140,13 @@ SWIGINTERN PyObject *_wrap_calc_d2(PyObject *SWIGUNUSEDPARM(self), PyObject *arg
   PyObject *resultobj = 0;
   double *arg1 ;
   double *arg2 ;
+  double result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   void *argp2 = 0 ;
   int res2 = 0 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
-  double result;
   
   if (!PyArg_ParseTuple(args,(char *)"OO:calc_d2",&obj0,&obj1)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_double, 0 |  0 );
@@ -18302,10 +17278,10 @@ fail:
 SWIGINTERN PyObject *_wrap_normer_vecteur(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   double *arg1 ;
+  int result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  int result;
   
   if (!PyArg_ParseTuple(args,(char *)"O:normer_vecteur",&obj0)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_double, 0 |  0 );
@@ -18324,10 +17300,10 @@ fail:
 SWIGINTERN PyObject *_wrap_carre(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   double arg1 ;
+  double result;
   double val1 ;
   int ecode1 = 0 ;
   PyObject * obj0 = 0 ;
-  double result;
   
   if (!PyArg_ParseTuple(args,(char *)"O:carre",&obj0)) SWIG_fail;
   ecode1 = SWIG_AsVal_double(obj0, &val1);
@@ -18348,6 +17324,7 @@ SWIGINTERN PyObject *_wrap_same_coords__SWIG_0(PyObject *SWIGUNUSEDPARM(self), P
   double *arg1 = (double *) 0 ;
   double *arg2 = (double *) 0 ;
   double arg3 ;
+  bool result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   void *argp2 = 0 ;
@@ -18357,7 +17334,6 @@ SWIGINTERN PyObject *_wrap_same_coords__SWIG_0(PyObject *SWIGUNUSEDPARM(self), P
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
   PyObject * obj2 = 0 ;
-  bool result;
   
   if (!PyArg_ParseTuple(args,(char *)"OOO:same_coords",&obj0,&obj1,&obj2)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_double, 0 |  0 );
@@ -18387,13 +17363,13 @@ SWIGINTERN PyObject *_wrap_same_coords__SWIG_1(PyObject *SWIGUNUSEDPARM(self), P
   PyObject *resultobj = 0;
   double *arg1 = (double *) 0 ;
   double *arg2 = (double *) 0 ;
+  bool result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   void *argp2 = 0 ;
   int res2 = 0 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
-  bool result;
   
   if (!PyArg_ParseTuple(args,(char *)"OO:same_coords",&obj0,&obj1)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_double, 0 |  0 );
@@ -18420,7 +17396,7 @@ SWIGINTERN PyObject *_wrap_same_coords(PyObject *self, PyObject *args) {
   int ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = (int)PyObject_Length(args);
+  argc = PyObject_Length(args);
   for (ii = 0; (ii < argc) && (ii < 3); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -18460,10 +17436,7 @@ SWIGINTERN PyObject *_wrap_same_coords(PyObject *self, PyObject *args) {
   }
   
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'same_coords'.\n"
-    "  Possible C/C++ prototypes are:\n"
-    "    Hex::same_coords(double *,double *,double)\n"
-    "    Hex::same_coords(double *,double *)\n");
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'same_coords'.\n  Possible C/C++ prototypes are:\n    Hex::same_coords(double *,double *,double)\n    Hex::same_coords(double *,double *)\n");
   return NULL;
 }
 
@@ -18472,13 +17445,13 @@ SWIGINTERN PyObject *_wrap_requals__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObj
   PyObject *resultobj = 0;
   double arg1 ;
   double arg2 ;
+  bool result;
   double val1 ;
   int ecode1 = 0 ;
   double val2 ;
   int ecode2 = 0 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
-  bool result;
   
   if (!PyArg_ParseTuple(args,(char *)"OO:requals",&obj0,&obj1)) SWIG_fail;
   ecode1 = SWIG_AsVal_double(obj0, &val1);
@@ -18503,13 +17476,13 @@ SWIGINTERN PyObject *_wrap_requals__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObj
   PyObject *resultobj = 0;
   double *arg1 = (double *) 0 ;
   double *arg2 = (double *) 0 ;
+  bool result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   void *argp2 = 0 ;
   int res2 = 0 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
-  bool result;
   
   if (!PyArg_ParseTuple(args,(char *)"OO:requals",&obj0,&obj1)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_double, 0 |  0 );
@@ -18536,7 +17509,7 @@ SWIGINTERN PyObject *_wrap_requals(PyObject *self, PyObject *args) {
   int ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = (int)PyObject_Length(args);
+  argc = PyObject_Length(args);
   for (ii = 0; (ii < argc) && (ii < 2); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -18572,10 +17545,7 @@ SWIGINTERN PyObject *_wrap_requals(PyObject *self, PyObject *args) {
   }
   
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'requals'.\n"
-    "  Possible C/C++ prototypes are:\n"
-    "    Hex::requals(double const,double const)\n"
-    "    Hex::requals(double const *,double const *)\n");
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'requals'.\n  Possible C/C++ prototypes are:\n    Hex::requals(double const,double const)\n    Hex::requals(double const *,double const *)\n");
   return NULL;
 }
 
@@ -18680,11 +17650,11 @@ fail:
 SWIGINTERN PyObject *_wrap_sizeof_file(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   cpchar arg1 = (cpchar) 0 ;
+  int result;
   int res1 ;
   char *buf1 = 0 ;
   int alloc1 = 0 ;
   PyObject * obj0 = 0 ;
-  int result;
   
   if (!PyArg_ParseTuple(args,(char *)"O:sizeof_file",&obj0)) SWIG_fail;
   res1 = SWIG_AsCharPtrAndSize(obj0, &buf1, NULL, &alloc1);
@@ -18706,6 +17676,7 @@ SWIGINTERN PyObject *_wrap_read_file(PyObject *SWIGUNUSEDPARM(self), PyObject *a
   PyObject *resultobj = 0;
   cpchar arg1 = (cpchar) 0 ;
   int *arg2 = 0 ;
+  char *result = 0 ;
   int res1 ;
   char *buf1 = 0 ;
   int alloc1 = 0 ;
@@ -18713,7 +17684,6 @@ SWIGINTERN PyObject *_wrap_read_file(PyObject *SWIGUNUSEDPARM(self), PyObject *a
   int res2 = 0 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
-  char *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OO:read_file",&obj0,&obj1)) SWIG_fail;
   res1 = SWIG_AsCharPtrAndSize(obj0, &buf1, NULL, &alloc1);
@@ -18742,10 +17712,10 @@ fail:
 SWIGINTERN PyObject *_wrap_get_time(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   string *arg1 = 0 ;
+  cpchar result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  cpchar result;
   
   if (!PyArg_ParseTuple(args,(char *)"O:get_time",&obj0)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1, SWIGTYPE_p_string,  0 );
@@ -18768,6 +17738,7 @@ SWIGINTERN PyObject *_wrap_make_basename(PyObject *SWIGUNUSEDPARM(self), PyObjec
   PyObject *resultobj = 0;
   cpchar arg1 = (cpchar) 0 ;
   string *arg2 = 0 ;
+  int result;
   int res1 ;
   char *buf1 = 0 ;
   int alloc1 = 0 ;
@@ -18775,7 +17746,6 @@ SWIGINTERN PyObject *_wrap_make_basename(PyObject *SWIGUNUSEDPARM(self), PyObjec
   int res2 = 0 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
-  int result;
   
   if (!PyArg_ParseTuple(args,(char *)"OO:make_basename",&obj0,&obj1)) SWIG_fail;
   res1 = SWIG_AsCharPtrAndSize(obj0, &buf1, NULL, &alloc1);
@@ -18801,13 +17771,13 @@ fail:
 }
 
 
-SWIGINTERN int Swig_var_Epsil_set(PyObject *) {
+SWIGINTERN int Epsil_set(PyObject *) {
   SWIG_Error(SWIG_AttributeError,"Variable Epsil is read-only.");
   return 1;
 }
 
 
-SWIGINTERN PyObject *Swig_var_Epsil_get(void) {
+SWIGINTERN PyObject *Epsil_get(void) {
   PyObject *pyobj = 0;
   
   pyobj = SWIG_From_double(static_cast< double >(Hex::Epsil));
@@ -18815,13 +17785,13 @@ SWIGINTERN PyObject *Swig_var_Epsil_get(void) {
 }
 
 
-SWIGINTERN int Swig_var_UnEpsil_set(PyObject *) {
+SWIGINTERN int UnEpsil_set(PyObject *) {
   SWIG_Error(SWIG_AttributeError,"Variable UnEpsil is read-only.");
   return 1;
 }
 
 
-SWIGINTERN PyObject *Swig_var_UnEpsil_get(void) {
+SWIGINTERN PyObject *UnEpsil_get(void) {
   PyObject *pyobj = 0;
   
   pyobj = SWIG_From_double(static_cast< double >(Hex::UnEpsil));
@@ -18829,13 +17799,13 @@ SWIGINTERN PyObject *Swig_var_UnEpsil_get(void) {
 }
 
 
-SWIGINTERN int Swig_var_Epsil2_set(PyObject *) {
+SWIGINTERN int Epsil2_set(PyObject *) {
   SWIG_Error(SWIG_AttributeError,"Variable Epsil2 is read-only.");
   return 1;
 }
 
 
-SWIGINTERN PyObject *Swig_var_Epsil2_get(void) {
+SWIGINTERN PyObject *Epsil2_get(void) {
   PyObject *pyobj = 0;
   
   pyobj = SWIG_From_double(static_cast< double >(Hex::Epsil2));
@@ -18846,10 +17816,10 @@ SWIGINTERN PyObject *Swig_var_Epsil2_get(void) {
 SWIGINTERN PyObject *_wrap_EltBase_countHexa(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   Hex::EltBase *arg1 = (Hex::EltBase *) 0 ;
+  int result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  int result;
   
   if (!PyArg_ParseTuple(args,(char *)"O:EltBase_countHexa",&obj0)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__EltBase, 0 |  0 );
@@ -18868,10 +17838,10 @@ fail:
 SWIGINTERN PyObject *_wrap_EltBase_countQuad(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   Hex::EltBase *arg1 = (Hex::EltBase *) 0 ;
+  int result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  int result;
   
   if (!PyArg_ParseTuple(args,(char *)"O:EltBase_countQuad",&obj0)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__EltBase, 0 |  0 );
@@ -18890,10 +17860,10 @@ fail:
 SWIGINTERN PyObject *_wrap_EltBase_countEdge(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   Hex::EltBase *arg1 = (Hex::EltBase *) 0 ;
+  int result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  int result;
   
   if (!PyArg_ParseTuple(args,(char *)"O:EltBase_countEdge",&obj0)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__EltBase, 0 |  0 );
@@ -18912,10 +17882,10 @@ fail:
 SWIGINTERN PyObject *_wrap_EltBase_countVertex(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   Hex::EltBase *arg1 = (Hex::EltBase *) 0 ;
+  int result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  int result;
   
   if (!PyArg_ParseTuple(args,(char *)"O:EltBase_countVertex",&obj0)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__EltBase, 0 |  0 );
@@ -18988,7 +17958,7 @@ SWIGINTERN PyObject *_wrap_EltBase_setError(PyObject *self, PyObject *args) {
   int ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = (int)PyObject_Length(args);
+  argc = PyObject_Length(args);
   for (ii = 0; (ii < argc) && (ii < 2); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -19018,10 +17988,7 @@ SWIGINTERN PyObject *_wrap_EltBase_setError(PyObject *self, PyObject *args) {
   }
   
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'EltBase_setError'.\n"
-    "  Possible C/C++ prototypes are:\n"
-    "    setError(Hex::EltBase *,int)\n"
-    "    setError(Hex::EltBase *)\n");
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'EltBase_setError'.\n  Possible C/C++ prototypes are:\n    setError(int)\n    setError()\n");
   return NULL;
 }
 
@@ -19029,10 +17996,10 @@ fail:
 SWIGINTERN PyObject *_wrap_EltBase_getError(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   Hex::EltBase *arg1 = (Hex::EltBase *) 0 ;
+  int result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  int result;
   
   if (!PyArg_ParseTuple(args,(char *)"O:EltBase_getError",&obj0)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__EltBase, 0 |  0 );
@@ -19051,10 +18018,10 @@ fail:
 SWIGINTERN PyObject *_wrap_EltBase_isValid(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   Hex::EltBase *arg1 = (Hex::EltBase *) 0 ;
+  bool result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  bool result;
   
   if (!PyArg_ParseTuple(args,(char *)"O:EltBase_isValid",&obj0)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__EltBase, 0 |  0 );
@@ -19073,10 +18040,10 @@ fail:
 SWIGINTERN PyObject *_wrap_EltBase_isBad(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   Hex::EltBase *arg1 = (Hex::EltBase *) 0 ;
+  bool result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  bool result;
   
   if (!PyArg_ParseTuple(args,(char *)"O:EltBase_isBad",&obj0)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__EltBase, 0 |  0 );
@@ -19216,13 +18183,13 @@ SWIGINTERN PyObject *_wrap_new_EltBase__SWIG_0(PyObject *SWIGUNUSEDPARM(self), P
   PyObject *resultobj = 0;
   Hex::Document *arg1 = (Hex::Document *) 0 ;
   Hex::EnumElt arg2 ;
+  Hex::EltBase *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   int val2 ;
   int ecode2 = 0 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
-  Hex::EltBase *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OO:new_EltBase",&obj0,&obj1)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -19246,10 +18213,10 @@ fail:
 SWIGINTERN PyObject *_wrap_new_EltBase__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   Hex::Document *arg1 = (Hex::Document *) 0 ;
+  Hex::EltBase *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  Hex::EltBase *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"O:new_EltBase",&obj0)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -19268,10 +18235,10 @@ fail:
 SWIGINTERN PyObject *_wrap_new_EltBase__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   Hex::EnumElt arg1 ;
+  Hex::EltBase *result = 0 ;
   int val1 ;
   int ecode1 = 0 ;
   PyObject * obj0 = 0 ;
-  Hex::EltBase *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"O:new_EltBase",&obj0)) SWIG_fail;
   ecode1 = SWIG_AsVal_int(obj0, &val1);
@@ -19306,7 +18273,7 @@ SWIGINTERN PyObject *_wrap_new_EltBase(PyObject *self, PyObject *args) {
   int ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = (int)PyObject_Length(args);
+  argc = PyObject_Length(args);
   for (ii = 0; (ii < argc) && (ii < 2); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -19349,12 +18316,7 @@ SWIGINTERN PyObject *_wrap_new_EltBase(PyObject *self, PyObject *args) {
   }
   
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'new_EltBase'.\n"
-    "  Possible C/C++ prototypes are:\n"
-    "    Hex::EltBase(Hex::Document *,Hex::EnumElt)\n"
-    "    Hex::EltBase(Hex::Document *)\n"
-    "    Hex::EltBase(Hex::EnumElt)\n"
-    "    Hex::EltBase()\n");
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'new_EltBase'.\n  Possible C/C++ prototypes are:\n    Hex::EltBase(Hex::Document *,Hex::EnumElt)\n    Hex::EltBase(Hex::Document *)\n    Hex::EltBase(Hex::EnumElt)\n    Hex::EltBase()\n");
   return NULL;
 }
 
@@ -19373,6 +18335,7 @@ SWIGINTERN PyObject *_wrap_delete_EltBase(PyObject *SWIGUNUSEDPARM(self), PyObje
   }
   arg1 = reinterpret_cast< Hex::EltBase * >(argp1);
   delete arg1;
+  
   resultobj = SWIG_Py_Void();
   return resultobj;
 fail:
@@ -19498,6 +18461,7 @@ SWIGINTERN PyObject *_wrap_EltBase_makeVarName(PyObject *SWIGUNUSEDPARM(self), P
   PyObject *resultobj = 0;
   Hex::EltBase *arg1 = (Hex::EltBase *) 0 ;
   char *arg2 = (char *) 0 ;
+  char *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   int res2 ;
@@ -19505,7 +18469,6 @@ SWIGINTERN PyObject *_wrap_EltBase_makeVarName(PyObject *SWIGUNUSEDPARM(self), P
   int alloc2 = 0 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
-  char *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OO:EltBase_makeVarName",&obj0,&obj1)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__EltBase, 0 |  0 );
@@ -19533,6 +18496,7 @@ SWIGINTERN PyObject *_wrap_EltBase_makeName(PyObject *SWIGUNUSEDPARM(self), PyOb
   int arg1 ;
   int arg2 ;
   char *arg3 = (char *) 0 ;
+  char *result = 0 ;
   int val1 ;
   int ecode1 = 0 ;
   int val2 ;
@@ -19543,7 +18507,6 @@ SWIGINTERN PyObject *_wrap_EltBase_makeName(PyObject *SWIGUNUSEDPARM(self), PyOb
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
   PyObject * obj2 = 0 ;
-  char *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOO:EltBase_makeName",&obj0,&obj1,&obj2)) SWIG_fail;
   ecode1 = SWIG_AsVal_int(obj0, &val1);
@@ -19574,10 +18537,10 @@ fail:
 SWIGINTERN PyObject *_wrap_EltBase_next(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   Hex::EltBase *arg1 = (Hex::EltBase *) 0 ;
+  Hex::EltBase *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  Hex::EltBase *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"O:EltBase_next",&obj0)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__EltBase, 0 |  0 );
@@ -19626,10 +18589,10 @@ fail:
 SWIGINTERN PyObject *_wrap_EltBase_getId(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   Hex::EltBase *arg1 = (Hex::EltBase *) 0 ;
+  int result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  int result;
   
   if (!PyArg_ParseTuple(args,(char *)"O:EltBase_getId",&obj0)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__EltBase, 0 |  0 );
@@ -19678,10 +18641,10 @@ fail:
 SWIGINTERN PyObject *_wrap_EltBase_dad(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   Hex::EltBase *arg1 = (Hex::EltBase *) 0 ;
+  Hex::Document *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  Hex::Document *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"O:EltBase_dad",&obj0)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__EltBase, 0 |  0 );
@@ -19700,10 +18663,10 @@ fail:
 SWIGINTERN PyObject *_wrap_EltBase_getType(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   Hex::EltBase *arg1 = (Hex::EltBase *) 0 ;
+  Hex::EnumElt result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  Hex::EnumElt result;
   
   if (!PyArg_ParseTuple(args,(char *)"O:EltBase_getType",&obj0)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__EltBase, 0 |  0 );
@@ -19722,10 +18685,10 @@ fail:
 SWIGINTERN PyObject *_wrap_EltBase_isHere(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   Hex::EltBase *arg1 = (Hex::EltBase *) 0 ;
+  bool result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  bool result;
   
   if (!PyArg_ParseTuple(args,(char *)"O:EltBase_isHere",&obj0)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__EltBase, 0 |  0 );
@@ -19744,10 +18707,10 @@ fail:
 SWIGINTERN PyObject *_wrap_EltBase_isDeleted(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   Hex::EltBase *arg1 = (Hex::EltBase *) 0 ;
+  bool result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  bool result;
   
   if (!PyArg_ParseTuple(args,(char *)"O:EltBase_isDeleted",&obj0)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__EltBase, 0 |  0 );
@@ -19817,10 +18780,10 @@ fail:
 SWIGINTERN PyObject *_wrap_EltBase_getNbrParents(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   Hex::EltBase *arg1 = (Hex::EltBase *) 0 ;
+  int result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  int result;
   
   if (!PyArg_ParseTuple(args,(char *)"O:EltBase_getNbrParents",&obj0)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__EltBase, 0 |  0 );
@@ -19839,10 +18802,10 @@ fail:
 SWIGINTERN PyObject *_wrap_EltBase_hasParents(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   Hex::EltBase *arg1 = (Hex::EltBase *) 0 ;
+  bool result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  bool result;
   
   if (!PyArg_ParseTuple(args,(char *)"O:EltBase_hasParents",&obj0)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__EltBase, 0 |  0 );
@@ -19862,13 +18825,13 @@ SWIGINTERN PyObject *_wrap_EltBase_getFather(PyObject *SWIGUNUSEDPARM(self), PyO
   PyObject *resultobj = 0;
   Hex::EltBase *arg1 = (Hex::EltBase *) 0 ;
   int arg2 ;
+  Hex::EltBase *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   int val2 ;
   int ecode2 = 0 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
-  Hex::EltBase *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OO:EltBase_getFather",&obj0,&obj1)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__EltBase, 0 |  0 );
@@ -19892,10 +18855,10 @@ fail:
 SWIGINTERN PyObject *_wrap_EltBase_getMark(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   Hex::EltBase *arg1 = (Hex::EltBase *) 0 ;
+  int result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  int result;
   
   if (!PyArg_ParseTuple(args,(char *)"O:EltBase_getMark",&obj0)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__EltBase, 0 |  0 );
@@ -19945,6 +18908,7 @@ SWIGINTERN PyObject *_wrap_EltBase_getName__SWIG_0(PyObject *SWIGUNUSEDPARM(self
   PyObject *resultobj = 0;
   Hex::EltBase *arg1 = (Hex::EltBase *) 0 ;
   pchar arg2 = (pchar) 0 ;
+  char *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   int res2 ;
@@ -19952,7 +18916,6 @@ SWIGINTERN PyObject *_wrap_EltBase_getName__SWIG_0(PyObject *SWIGUNUSEDPARM(self
   int alloc2 = 0 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
-  char *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OO:EltBase_getName",&obj0,&obj1)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__EltBase, 0 |  0 );
@@ -20035,7 +18998,7 @@ SWIGINTERN PyObject *_wrap_EltBase_printName(PyObject *self, PyObject *args) {
   int ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = (int)PyObject_Length(args);
+  argc = PyObject_Length(args);
   for (ii = 0; (ii < argc) && (ii < 2); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -20063,10 +19026,7 @@ SWIGINTERN PyObject *_wrap_EltBase_printName(PyObject *self, PyObject *args) {
   }
   
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'EltBase_printName'.\n"
-    "  Possible C/C++ prototypes are:\n"
-    "    printName(Hex::EltBase *,cpchar)\n"
-    "    printName(Hex::EltBase *)\n");
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'EltBase_printName'.\n  Possible C/C++ prototypes are:\n    printName(cpchar)\n    printName()\n");
   return NULL;
 }
 
@@ -20095,10 +19055,10 @@ fail:
 SWIGINTERN PyObject *_wrap_EltBase_getName__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   Hex::EltBase *arg1 = (Hex::EltBase *) 0 ;
+  cpchar result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  cpchar result;
   
   if (!PyArg_ParseTuple(args,(char *)"O:EltBase_getName",&obj0)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__EltBase, 0 |  0 );
@@ -20120,7 +19080,7 @@ SWIGINTERN PyObject *_wrap_EltBase_getName(PyObject *self, PyObject *args) {
   int ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = (int)PyObject_Length(args);
+  argc = PyObject_Length(args);
   for (ii = 0; (ii < argc) && (ii < 2); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -20148,10 +19108,7 @@ SWIGINTERN PyObject *_wrap_EltBase_getName(PyObject *self, PyObject *args) {
   }
   
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'EltBase_getName'.\n"
-    "  Possible C/C++ prototypes are:\n"
-    "    getName(Hex::EltBase *,pchar)\n"
-    "    getName(Hex::EltBase *)\n");
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'EltBase_getName'.\n  Possible C/C++ prototypes are:\n    getName(pchar)\n    getName()\n");
   return NULL;
 }
 
@@ -20228,7 +19185,7 @@ SWIGINTERN PyObject *_wrap_EltBase_setName(PyObject *self, PyObject *args) {
   int ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = (int)PyObject_Length(args);
+  argc = PyObject_Length(args);
   for (ii = 0; (ii < argc) && (ii < 2); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -20260,10 +19217,7 @@ SWIGINTERN PyObject *_wrap_EltBase_setName(PyObject *self, PyObject *args) {
   }
   
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'EltBase_setName'.\n"
-    "  Possible C/C++ prototypes are:\n"
-    "    setName(Hex::EltBase *,string const &)\n"
-    "    setName(Hex::EltBase *,cpchar)\n");
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'EltBase_setName'.\n  Possible C/C++ prototypes are:\n    setName(string const &)\n    setName(cpchar)\n");
   return NULL;
 }
 
@@ -20272,13 +19226,13 @@ SWIGINTERN PyObject *_wrap_EltBase_debug__SWIG_0(PyObject *SWIGUNUSEDPARM(self),
   PyObject *resultobj = 0;
   Hex::EltBase *arg1 = (Hex::EltBase *) 0 ;
   int arg2 ;
+  bool result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   int val2 ;
   int ecode2 = 0 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
-  bool result;
   
   if (!PyArg_ParseTuple(args,(char *)"OO:EltBase_debug",&obj0,&obj1)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__EltBase, 0 |  0 );
@@ -20302,10 +19256,10 @@ fail:
 SWIGINTERN PyObject *_wrap_EltBase_debug__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   Hex::EltBase *arg1 = (Hex::EltBase *) 0 ;
+  bool result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  bool result;
   
   if (!PyArg_ParseTuple(args,(char *)"O:EltBase_debug",&obj0)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__EltBase, 0 |  0 );
@@ -20327,7 +19281,7 @@ SWIGINTERN PyObject *_wrap_EltBase_debug(PyObject *self, PyObject *args) {
   int ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = (int)PyObject_Length(args);
+  argc = PyObject_Length(args);
   for (ii = 0; (ii < argc) && (ii < 2); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -20357,10 +19311,7 @@ SWIGINTERN PyObject *_wrap_EltBase_debug(PyObject *self, PyObject *args) {
   }
   
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'EltBase_debug'.\n"
-    "  Possible C/C++ prototypes are:\n"
-    "    debug(Hex::EltBase *,int)\n"
-    "    debug(Hex::EltBase *)\n");
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'EltBase_debug'.\n  Possible C/C++ prototypes are:\n    debug(int)\n    debug()\n");
   return NULL;
 }
 
@@ -20368,10 +19319,10 @@ fail:
 SWIGINTERN PyObject *_wrap_EltBase_isAssociated(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   Hex::EltBase *arg1 = (Hex::EltBase *) 0 ;
+  bool result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  bool result;
   
   if (!PyArg_ParseTuple(args,(char *)"O:EltBase_isAssociated",&obj0)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__EltBase, 0 |  0 );
@@ -20390,10 +19341,10 @@ fail:
 SWIGINTERN PyObject *_wrap_EltBase_getNextName(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   Hex::EltBase *arg1 = (Hex::EltBase *) 0 ;
+  string result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  string result;
   
   if (!PyArg_ParseTuple(args,(char *)"O:EltBase_getNextName",&obj0)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__EltBase, 0 |  0 );
@@ -20411,7 +19362,7 @@ fail:
 
 SWIGINTERN PyObject *EltBase_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *obj;
-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+  if (!PyArg_ParseTuple(args,(char*)"O|swigregister", &obj)) return NULL;
   SWIG_TypeNewClientData(SWIGTYPE_p_Hex__EltBase, SWIG_NewClientData(obj));
   return SWIG_Py_Void();
 }
@@ -20419,10 +19370,10 @@ SWIGINTERN PyObject *EltBase_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObje
 SWIGINTERN PyObject *_wrap_Vertex_getX(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   Hex::Vertex *arg1 = (Hex::Vertex *) 0 ;
+  double result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  double result;
   
   if (!PyArg_ParseTuple(args,(char *)"O:Vertex_getX",&obj0)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Vertex, 0 |  0 );
@@ -20441,10 +19392,10 @@ fail:
 SWIGINTERN PyObject *_wrap_Vertex_getY(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   Hex::Vertex *arg1 = (Hex::Vertex *) 0 ;
+  double result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  double result;
   
   if (!PyArg_ParseTuple(args,(char *)"O:Vertex_getY",&obj0)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Vertex, 0 |  0 );
@@ -20463,10 +19414,10 @@ fail:
 SWIGINTERN PyObject *_wrap_Vertex_getZ(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   Hex::Vertex *arg1 = (Hex::Vertex *) 0 ;
+  double result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  double result;
   
   if (!PyArg_ParseTuple(args,(char *)"O:Vertex_getZ",&obj0)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Vertex, 0 |  0 );
@@ -20575,10 +19526,10 @@ fail:
 SWIGINTERN PyObject *_wrap_Vertex_getAssoX(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   Hex::Vertex *arg1 = (Hex::Vertex *) 0 ;
+  double result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  double result;
   
   if (!PyArg_ParseTuple(args,(char *)"O:Vertex_getAssoX",&obj0)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Vertex, 0 |  0 );
@@ -20597,10 +19548,10 @@ fail:
 SWIGINTERN PyObject *_wrap_Vertex_getAssoY(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   Hex::Vertex *arg1 = (Hex::Vertex *) 0 ;
+  double result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  double result;
   
   if (!PyArg_ParseTuple(args,(char *)"O:Vertex_getAssoY",&obj0)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Vertex, 0 |  0 );
@@ -20619,10 +19570,10 @@ fail:
 SWIGINTERN PyObject *_wrap_Vertex_getAssoZ(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   Hex::Vertex *arg1 = (Hex::Vertex *) 0 ;
+  double result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  double result;
   
   if (!PyArg_ParseTuple(args,(char *)"O:Vertex_getAssoZ",&obj0)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Vertex, 0 |  0 );
@@ -20643,6 +19594,7 @@ SWIGINTERN PyObject *_wrap_Vertex_setAssociation(PyObject *SWIGUNUSEDPARM(self),
   Hex::Vertex *arg1 = (Hex::Vertex *) 0 ;
   Hex::NewShape *arg2 = (Hex::NewShape *) 0 ;
   int arg3 ;
+  int result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   void *argp2 = 0 ;
@@ -20652,7 +19604,6 @@ SWIGINTERN PyObject *_wrap_Vertex_setAssociation(PyObject *SWIGUNUSEDPARM(self),
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
   PyObject * obj2 = 0 ;
-  int result;
   
   if (!PyArg_ParseTuple(args,(char *)"OOO:Vertex_setAssociation",&obj0,&obj1,&obj2)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Vertex, 0 |  0 );
@@ -20735,6 +19686,7 @@ SWIGINTERN PyObject *_wrap_new_Vertex(PyObject *SWIGUNUSEDPARM(self), PyObject *
   double arg2 ;
   double arg3 ;
   double arg4 ;
+  Hex::Vertex *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   double val2 ;
@@ -20747,7 +19699,6 @@ SWIGINTERN PyObject *_wrap_new_Vertex(PyObject *SWIGUNUSEDPARM(self), PyObject *
   PyObject * obj1 = 0 ;
   PyObject * obj2 = 0 ;
   PyObject * obj3 = 0 ;
-  Hex::Vertex *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOOO:new_Vertex",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -20792,6 +19743,7 @@ SWIGINTERN PyObject *_wrap_delete_Vertex(PyObject *SWIGUNUSEDPARM(self), PyObjec
   }
   arg1 = reinterpret_cast< Hex::Vertex * >(argp1);
   delete arg1;
+  
   resultobj = SWIG_Py_Void();
   return resultobj;
 fail:
@@ -20801,7 +19753,7 @@ fail:
 
 SWIGINTERN PyObject *Vertex_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *obj;
-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+  if (!PyArg_ParseTuple(args,(char*)"O|swigregister", &obj)) return NULL;
   SWIG_TypeNewClientData(SWIGTYPE_p_Hex__Vertex, SWIG_NewClientData(obj));
   return SWIG_Py_Void();
 }
@@ -20810,13 +19762,13 @@ SWIGINTERN PyObject *_wrap_Edge_getVertex(PyObject *SWIGUNUSEDPARM(self), PyObje
   PyObject *resultobj = 0;
   Hex::Edge *arg1 = (Hex::Edge *) 0 ;
   int arg2 ;
+  Hex::Vertex *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   int val2 ;
   int ecode2 = 0 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
-  Hex::Vertex *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OO:Edge_getVertex",&obj0,&obj1)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Edge, 0 |  0 );
@@ -20844,6 +19796,7 @@ SWIGINTERN PyObject *_wrap_Edge_addAssociation(PyObject *SWIGUNUSEDPARM(self), P
   int arg3 ;
   double arg4 ;
   double arg5 ;
+  int result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   void *argp2 = 0 ;
@@ -20859,7 +19812,6 @@ SWIGINTERN PyObject *_wrap_Edge_addAssociation(PyObject *SWIGUNUSEDPARM(self), P
   PyObject * obj2 = 0 ;
   PyObject * obj3 = 0 ;
   PyObject * obj4 = 0 ;
-  int result;
   
   if (!PyArg_ParseTuple(args,(char *)"OOOOO:Edge_addAssociation",&obj0,&obj1,&obj2,&obj3,&obj4)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Edge, 0 |  0 );
@@ -20900,6 +19852,7 @@ SWIGINTERN PyObject *_wrap_Edge_setAssociation(PyObject *SWIGUNUSEDPARM(self), P
   Hex::Edge *arg1 = (Hex::Edge *) 0 ;
   Hex::NewShape *arg2 = (Hex::NewShape *) 0 ;
   int arg3 ;
+  int result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   void *argp2 = 0 ;
@@ -20909,7 +19862,6 @@ SWIGINTERN PyObject *_wrap_Edge_setAssociation(PyObject *SWIGUNUSEDPARM(self), P
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
   PyObject * obj2 = 0 ;
-  int result;
   
   if (!PyArg_ParseTuple(args,(char *)"OOO:Edge_setAssociation",&obj0,&obj1,&obj2)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Edge, 0 |  0 );
@@ -20939,13 +19891,13 @@ SWIGINTERN PyObject *_wrap_Edge_findAssociation(PyObject *SWIGUNUSEDPARM(self),
   PyObject *resultobj = 0;
   Hex::Edge *arg1 = (Hex::Edge *) 0 ;
   Hex::NewShape *arg2 = (Hex::NewShape *) 0 ;
+  int result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   void *argp2 = 0 ;
   int res2 = 0 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
-  int result;
   
   if (!PyArg_ParseTuple(args,(char *)"OO:Edge_findAssociation",&obj0,&obj1)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Edge, 0 |  0 );
@@ -21020,10 +19972,10 @@ fail:
 SWIGINTERN PyObject *_wrap_Edge_getWay(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   Hex::Edge *arg1 = (Hex::Edge *) 0 ;
+  bool result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  bool result;
   
   if (!PyArg_ParseTuple(args,(char *)"O:Edge_getWay",&obj0)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Edge, 0 |  0 );
@@ -21042,10 +19994,10 @@ fail:
 SWIGINTERN PyObject *_wrap_Edge_getLength(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   Hex::Edge *arg1 = (Hex::Edge *) 0 ;
+  double result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  double result;
   
   if (!PyArg_ParseTuple(args,(char *)"O:Edge_getLength",&obj0)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Edge, 0 |  0 );
@@ -21065,13 +20017,13 @@ SWIGINTERN PyObject *_wrap_new_Edge(PyObject *SWIGUNUSEDPARM(self), PyObject *ar
   PyObject *resultobj = 0;
   Hex::Vertex *arg1 = (Hex::Vertex *) 0 ;
   Hex::Vertex *arg2 = (Hex::Vertex *) 0 ;
+  Hex::Edge *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   void *argp2 = 0 ;
   int res2 = 0 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
-  Hex::Edge *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OO:new_Edge",&obj0,&obj1)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Vertex, 0 |  0 );
@@ -21106,6 +20058,7 @@ SWIGINTERN PyObject *_wrap_delete_Edge(PyObject *SWIGUNUSEDPARM(self), PyObject
   }
   arg1 = reinterpret_cast< Hex::Edge * >(argp1);
   delete arg1;
+  
   resultobj = SWIG_Py_Void();
   return resultobj;
 fail:
@@ -21115,7 +20068,7 @@ fail:
 
 SWIGINTERN PyObject *Edge_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *obj;
-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+  if (!PyArg_ParseTuple(args,(char*)"O|swigregister", &obj)) return NULL;
   SWIG_TypeNewClientData(SWIGTYPE_p_Hex__Edge, SWIG_NewClientData(obj));
   return SWIG_Py_Void();
 }
@@ -21124,13 +20077,13 @@ SWIGINTERN PyObject *_wrap_Quad_getEdge(PyObject *SWIGUNUSEDPARM(self), PyObject
   PyObject *resultobj = 0;
   Hex::Quad *arg1 = (Hex::Quad *) 0 ;
   int arg2 ;
+  Hex::Edge *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   int val2 ;
   int ecode2 = 0 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
-  Hex::Edge *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OO:Quad_getEdge",&obj0,&obj1)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Quad, 0 |  0 );
@@ -21155,13 +20108,13 @@ SWIGINTERN PyObject *_wrap_Quad_getVertex(PyObject *SWIGUNUSEDPARM(self), PyObje
   PyObject *resultobj = 0;
   Hex::Quad *arg1 = (Hex::Quad *) 0 ;
   int arg2 ;
+  Hex::Vertex *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   int val2 ;
   int ecode2 = 0 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
-  Hex::Vertex *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OO:Quad_getVertex",&obj0,&obj1)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Quad, 0 |  0 );
@@ -21187,6 +20140,7 @@ SWIGINTERN PyObject *_wrap_Quad_addAssociation(PyObject *SWIGUNUSEDPARM(self), P
   Hex::Quad *arg1 = (Hex::Quad *) 0 ;
   Hex::NewShape *arg2 = (Hex::NewShape *) 0 ;
   int arg3 ;
+  int result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   void *argp2 = 0 ;
@@ -21196,7 +20150,6 @@ SWIGINTERN PyObject *_wrap_Quad_addAssociation(PyObject *SWIGUNUSEDPARM(self), P
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
   PyObject * obj2 = 0 ;
-  int result;
   
   if (!PyArg_ParseTuple(args,(char *)"OOO:Quad_addAssociation",&obj0,&obj1,&obj2)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Quad, 0 |  0 );
@@ -21277,13 +20230,13 @@ SWIGINTERN PyObject *_wrap_Quad_nearestVertex(PyObject *SWIGUNUSEDPARM(self), Py
   PyObject *resultobj = 0;
   Hex::Quad *arg1 = (Hex::Quad *) 0 ;
   Hex::Vertex *arg2 = (Hex::Vertex *) 0 ;
+  Hex::Vertex *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   void *argp2 = 0 ;
   int res2 = 0 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
-  Hex::Vertex *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OO:Quad_nearestVertex",&obj0,&obj1)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Quad, 0 |  0 );
@@ -21308,13 +20261,13 @@ SWIGINTERN PyObject *_wrap_Quad_getCenter(PyObject *SWIGUNUSEDPARM(self), PyObje
   PyObject *resultobj = 0;
   Hex::Quad *arg1 = (Hex::Quad *) 0 ;
   double *arg2 = (double *) 0 ;
+  double *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   void *argp2 = 0 ;
   int res2 = 0 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
-  double *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OO:Quad_getCenter",&obj0,&obj1)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Quad, 0 |  0 );
@@ -21341,6 +20294,7 @@ SWIGINTERN PyObject *_wrap_new_Quad(PyObject *SWIGUNUSEDPARM(self), PyObject *ar
   Hex::Vertex *arg2 = (Hex::Vertex *) 0 ;
   Hex::Vertex *arg3 = (Hex::Vertex *) 0 ;
   Hex::Vertex *arg4 = (Hex::Vertex *) 0 ;
+  Hex::Quad *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   void *argp2 = 0 ;
@@ -21353,7 +20307,6 @@ SWIGINTERN PyObject *_wrap_new_Quad(PyObject *SWIGUNUSEDPARM(self), PyObject *ar
   PyObject * obj1 = 0 ;
   PyObject * obj2 = 0 ;
   PyObject * obj3 = 0 ;
-  Hex::Quad *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOOO:new_Quad",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Vertex, 0 |  0 );
@@ -21398,6 +20351,7 @@ SWIGINTERN PyObject *_wrap_delete_Quad(PyObject *SWIGUNUSEDPARM(self), PyObject
   }
   arg1 = reinterpret_cast< Hex::Quad * >(argp1);
   delete arg1;
+  
   resultobj = SWIG_Py_Void();
   return resultobj;
 fail:
@@ -21407,7 +20361,7 @@ fail:
 
 SWIGINTERN PyObject *Quad_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *obj;
-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+  if (!PyArg_ParseTuple(args,(char*)"O|swigregister", &obj)) return NULL;
   SWIG_TypeNewClientData(SWIGTYPE_p_Hex__Quad, SWIG_NewClientData(obj));
   return SWIG_Py_Void();
 }
@@ -21416,13 +20370,13 @@ SWIGINTERN PyObject *_wrap_Hexa_getQuad(PyObject *SWIGUNUSEDPARM(self), PyObject
   PyObject *resultobj = 0;
   Hex::Hexa *arg1 = (Hex::Hexa *) 0 ;
   int arg2 ;
+  Hex::Quad *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   int val2 ;
   int ecode2 = 0 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
-  Hex::Quad *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OO:Hexa_getQuad",&obj0,&obj1)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Hexa, 0 |  0 );
@@ -21447,13 +20401,13 @@ SWIGINTERN PyObject *_wrap_Hexa_getEdge(PyObject *SWIGUNUSEDPARM(self), PyObject
   PyObject *resultobj = 0;
   Hex::Hexa *arg1 = (Hex::Hexa *) 0 ;
   int arg2 ;
+  Hex::Edge *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   int val2 ;
   int ecode2 = 0 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
-  Hex::Edge *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OO:Hexa_getEdge",&obj0,&obj1)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Hexa, 0 |  0 );
@@ -21478,13 +20432,13 @@ SWIGINTERN PyObject *_wrap_Hexa_getVertex(PyObject *SWIGUNUSEDPARM(self), PyObje
   PyObject *resultobj = 0;
   Hex::Hexa *arg1 = (Hex::Hexa *) 0 ;
   int arg2 ;
+  Hex::Vertex *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   int val2 ;
   int ecode2 = 0 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
-  Hex::Vertex *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OO:Hexa_getVertex",&obj0,&obj1)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Hexa, 0 |  0 );
@@ -21543,6 +20497,7 @@ SWIGINTERN PyObject *_wrap_new_Hexa(PyObject *SWIGUNUSEDPARM(self), PyObject *ar
   Hex::Quad *arg4 = (Hex::Quad *) 0 ;
   Hex::Quad *arg5 = (Hex::Quad *) 0 ;
   Hex::Quad *arg6 = (Hex::Quad *) 0 ;
+  Hex::Hexa *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   void *argp2 = 0 ;
@@ -21561,7 +20516,6 @@ SWIGINTERN PyObject *_wrap_new_Hexa(PyObject *SWIGUNUSEDPARM(self), PyObject *ar
   PyObject * obj3 = 0 ;
   PyObject * obj4 = 0 ;
   PyObject * obj5 = 0 ;
-  Hex::Hexa *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOOOOO:new_Hexa",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Quad, 0 |  0 );
@@ -21616,6 +20570,7 @@ SWIGINTERN PyObject *_wrap_delete_Hexa(PyObject *SWIGUNUSEDPARM(self), PyObject
   }
   arg1 = reinterpret_cast< Hex::Hexa * >(argp1);
   delete arg1;
+  
   resultobj = SWIG_Py_Void();
   return resultobj;
 fail:
@@ -21625,7 +20580,7 @@ fail:
 
 SWIGINTERN PyObject *Hexa_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *obj;
-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+  if (!PyArg_ParseTuple(args,(char*)"O|swigregister", &obj)) return NULL;
   SWIG_TypeNewClientData(SWIGTYPE_p_Hex__Hexa, SWIG_NewClientData(obj));
   return SWIG_Py_Void();
 }
@@ -21633,10 +20588,10 @@ SWIGINTERN PyObject *Hexa_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject
 SWIGINTERN PyObject *_wrap_Vector_getDx(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   Hex::Vector *arg1 = (Hex::Vector *) 0 ;
+  double result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  double result;
   
   if (!PyArg_ParseTuple(args,(char *)"O:Vector_getDx",&obj0)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Vector, 0 |  0 );
@@ -21655,10 +20610,10 @@ fail:
 SWIGINTERN PyObject *_wrap_Vector_getDy(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   Hex::Vector *arg1 = (Hex::Vector *) 0 ;
+  double result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  double result;
   
   if (!PyArg_ParseTuple(args,(char *)"O:Vector_getDy",&obj0)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Vector, 0 |  0 );
@@ -21677,10 +20632,10 @@ fail:
 SWIGINTERN PyObject *_wrap_Vector_getDz(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   Hex::Vector *arg1 = (Hex::Vector *) 0 ;
+  double result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  double result;
   
   if (!PyArg_ParseTuple(args,(char *)"O:Vector_getDz",&obj0)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Vector, 0 |  0 );
@@ -21699,10 +20654,10 @@ fail:
 SWIGINTERN PyObject *_wrap_Vector_getNorm(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   Hex::Vector *arg1 = (Hex::Vector *) 0 ;
+  double result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  double result;
   
   if (!PyArg_ParseTuple(args,(char *)"O:Vector_getNorm",&obj0)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Vector, 0 |  0 );
@@ -21721,10 +20676,10 @@ fail:
 SWIGINTERN PyObject *_wrap_Vector_getAngleX(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   Hex::Vector *arg1 = (Hex::Vector *) 0 ;
+  double result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  double result;
   
   if (!PyArg_ParseTuple(args,(char *)"O:Vector_getAngleX",&obj0)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Vector, 0 |  0 );
@@ -21746,6 +20701,7 @@ SWIGINTERN PyObject *_wrap_new_Vector__SWIG_0(PyObject *SWIGUNUSEDPARM(self), Py
   double arg2 ;
   double arg3 ;
   double arg4 ;
+  Hex::Vector *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   double val2 ;
@@ -21758,7 +20714,6 @@ SWIGINTERN PyObject *_wrap_new_Vector__SWIG_0(PyObject *SWIGUNUSEDPARM(self), Py
   PyObject * obj1 = 0 ;
   PyObject * obj2 = 0 ;
   PyObject * obj3 = 0 ;
-  Hex::Vector *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOOO:new_Vector",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -21794,6 +20749,7 @@ SWIGINTERN PyObject *_wrap_new_Vector__SWIG_1(PyObject *SWIGUNUSEDPARM(self), Py
   Hex::Document *arg1 = (Hex::Document *) 0 ;
   double arg2 ;
   double arg3 ;
+  Hex::Vector *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   double val2 ;
@@ -21803,7 +20759,6 @@ SWIGINTERN PyObject *_wrap_new_Vector__SWIG_1(PyObject *SWIGUNUSEDPARM(self), Py
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
   PyObject * obj2 = 0 ;
-  Hex::Vector *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOO:new_Vector",&obj0,&obj1,&obj2)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -21833,13 +20788,13 @@ SWIGINTERN PyObject *_wrap_new_Vector__SWIG_2(PyObject *SWIGUNUSEDPARM(self), Py
   PyObject *resultobj = 0;
   Hex::Document *arg1 = (Hex::Document *) 0 ;
   double arg2 ;
+  Hex::Vector *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   double val2 ;
   int ecode2 = 0 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
-  Hex::Vector *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OO:new_Vector",&obj0,&obj1)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -21863,10 +20818,10 @@ fail:
 SWIGINTERN PyObject *_wrap_new_Vector__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   Hex::Document *arg1 = (Hex::Document *) 0 ;
+  Hex::Vector *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  Hex::Vector *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"O:new_Vector",&obj0)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -21888,7 +20843,7 @@ SWIGINTERN PyObject *_wrap_new_Vector(PyObject *self, PyObject *args) {
   int ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = (int)PyObject_Length(args);
+  argc = PyObject_Length(args);
   for (ii = 0; (ii < argc) && (ii < 4); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -21966,12 +20921,7 @@ SWIGINTERN PyObject *_wrap_new_Vector(PyObject *self, PyObject *args) {
   }
   
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'new_Vector'.\n"
-    "  Possible C/C++ prototypes are:\n"
-    "    Hex::Vector(Hex::Document *,double,double,double)\n"
-    "    Hex::Vector(Hex::Document *,double,double)\n"
-    "    Hex::Vector(Hex::Document *,double)\n"
-    "    Hex::Vector(Hex::Document *)\n");
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'new_Vector'.\n  Possible C/C++ prototypes are:\n    Hex::Vector(Hex::Document *,double,double,double)\n    Hex::Vector(Hex::Document *,double,double)\n    Hex::Vector(Hex::Document *,double)\n    Hex::Vector(Hex::Document *)\n");
   return NULL;
 }
 
@@ -21990,6 +20940,7 @@ SWIGINTERN PyObject *_wrap_delete_Vector(PyObject *SWIGUNUSEDPARM(self), PyObjec
   }
   arg1 = reinterpret_cast< Hex::Vector * >(argp1);
   delete arg1;
+  
   resultobj = SWIG_Py_Void();
   return resultobj;
 fail:
@@ -21999,7 +20950,7 @@ fail:
 
 SWIGINTERN PyObject *Vector_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *obj;
-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+  if (!PyArg_ParseTuple(args,(char*)"O|swigregister", &obj)) return NULL;
   SWIG_TypeNewClientData(SWIGTYPE_p_Hex__Vector, SWIG_NewClientData(obj));
   return SWIG_Py_Void();
 }
@@ -22008,6 +20959,7 @@ SWIGINTERN PyObject *_wrap_new_Document__SWIG_0(PyObject *SWIGUNUSEDPARM(self),
   PyObject *resultobj = 0;
   cpchar arg1 = (cpchar) 0 ;
   Hex::Hex *arg2 = (Hex::Hex *) 0 ;
+  Hex::Document *result = 0 ;
   int res1 ;
   char *buf1 = 0 ;
   int alloc1 = 0 ;
@@ -22015,7 +20967,6 @@ SWIGINTERN PyObject *_wrap_new_Document__SWIG_0(PyObject *SWIGUNUSEDPARM(self),
   int res2 = 0 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
-  Hex::Document *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OO:new_Document",&obj0,&obj1)) SWIG_fail;
   res1 = SWIG_AsCharPtrAndSize(obj0, &buf1, NULL, &alloc1);
@@ -22041,11 +20992,11 @@ fail:
 SWIGINTERN PyObject *_wrap_new_Document__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   cpchar arg1 = (cpchar) 0 ;
+  Hex::Document *result = 0 ;
   int res1 ;
   char *buf1 = 0 ;
   int alloc1 = 0 ;
   PyObject * obj0 = 0 ;
-  Hex::Document *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"O:new_Document",&obj0)) SWIG_fail;
   res1 = SWIG_AsCharPtrAndSize(obj0, &buf1, NULL, &alloc1);
@@ -22069,7 +21020,7 @@ SWIGINTERN PyObject *_wrap_new_Document(PyObject *self, PyObject *args) {
   int ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = (int)PyObject_Length(args);
+  argc = PyObject_Length(args);
   for (ii = 0; (ii < argc) && (ii < 2); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -22096,10 +21047,7 @@ SWIGINTERN PyObject *_wrap_new_Document(PyObject *self, PyObject *args) {
   }
   
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'new_Document'.\n"
-    "  Possible C/C++ prototypes are:\n"
-    "    Hex::Document(cpchar,Hex::Hex *)\n"
-    "    Hex::Document(cpchar)\n");
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'new_Document'.\n  Possible C/C++ prototypes are:\n    Hex::Document(cpchar,Hex::Hex *)\n    Hex::Document(cpchar)\n");
   return NULL;
 }
 
@@ -22129,6 +21077,7 @@ SWIGINTERN PyObject *_wrap_Document_setName(PyObject *SWIGUNUSEDPARM(self), PyOb
   PyObject *resultobj = 0;
   Hex::Document *arg1 = (Hex::Document *) 0 ;
   char *arg2 = (char *) 0 ;
+  int result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   int res2 ;
@@ -22136,7 +21085,6 @@ SWIGINTERN PyObject *_wrap_Document_setName(PyObject *SWIGUNUSEDPARM(self), PyOb
   int alloc2 = 0 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
-  int result;
   
   if (!PyArg_ParseTuple(args,(char *)"OO:Document_setName",&obj0,&obj1)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -22193,6 +21141,7 @@ SWIGINTERN PyObject *_wrap_Document_save(PyObject *SWIGUNUSEDPARM(self), PyObjec
   PyObject *resultobj = 0;
   Hex::Document *arg1 = (Hex::Document *) 0 ;
   char *arg2 = (char *) 0 ;
+  int result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   int res2 ;
@@ -22200,7 +21149,6 @@ SWIGINTERN PyObject *_wrap_Document_save(PyObject *SWIGUNUSEDPARM(self), PyObjec
   int alloc2 = 0 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
-  int result;
   
   if (!PyArg_ParseTuple(args,(char *)"OO:Document_save",&obj0,&obj1)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -22227,6 +21175,7 @@ SWIGINTERN PyObject *_wrap_Document_saveVtk(PyObject *SWIGUNUSEDPARM(self), PyOb
   PyObject *resultobj = 0;
   Hex::Document *arg1 = (Hex::Document *) 0 ;
   cpchar arg2 = (cpchar) 0 ;
+  int result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   int res2 ;
@@ -22234,7 +21183,6 @@ SWIGINTERN PyObject *_wrap_Document_saveVtk(PyObject *SWIGUNUSEDPARM(self), PyOb
   int alloc2 = 0 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
-  int result;
   
   if (!PyArg_ParseTuple(args,(char *)"OO:Document_saveVtk",&obj0,&obj1)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -22311,10 +21259,10 @@ fail:
 SWIGINTERN PyObject *_wrap_Document_getTolerance(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   Hex::Document *arg1 = (Hex::Document *) 0 ;
+  double result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  double result;
   
   if (!PyArg_ParseTuple(args,(char *)"O:Document_getTolerance",&obj0)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -22336,6 +21284,7 @@ SWIGINTERN PyObject *_wrap_Document_addVertex__SWIG_0(PyObject *SWIGUNUSEDPARM(s
   double arg2 ;
   double arg3 ;
   double arg4 ;
+  Hex::Vertex *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   double val2 ;
@@ -22348,7 +21297,6 @@ SWIGINTERN PyObject *_wrap_Document_addVertex__SWIG_0(PyObject *SWIGUNUSEDPARM(s
   PyObject * obj1 = 0 ;
   PyObject * obj2 = 0 ;
   PyObject * obj3 = 0 ;
-  Hex::Vertex *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOOO:Document_addVertex",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -22384,6 +21332,7 @@ SWIGINTERN PyObject *_wrap_Document_addVertex__SWIG_1(PyObject *SWIGUNUSEDPARM(s
   Hex::Document *arg1 = (Hex::Document *) 0 ;
   double arg2 ;
   double arg3 ;
+  Hex::Vertex *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   double val2 ;
@@ -22393,7 +21342,6 @@ SWIGINTERN PyObject *_wrap_Document_addVertex__SWIG_1(PyObject *SWIGUNUSEDPARM(s
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
   PyObject * obj2 = 0 ;
-  Hex::Vertex *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOO:Document_addVertex",&obj0,&obj1,&obj2)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -22423,13 +21371,13 @@ SWIGINTERN PyObject *_wrap_Document_addVertex__SWIG_2(PyObject *SWIGUNUSEDPARM(s
   PyObject *resultobj = 0;
   Hex::Document *arg1 = (Hex::Document *) 0 ;
   double arg2 ;
+  Hex::Vertex *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   double val2 ;
   int ecode2 = 0 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
-  Hex::Vertex *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OO:Document_addVertex",&obj0,&obj1)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -22453,10 +21401,10 @@ fail:
 SWIGINTERN PyObject *_wrap_Document_addVertex__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   Hex::Document *arg1 = (Hex::Document *) 0 ;
+  Hex::Vertex *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  Hex::Vertex *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"O:Document_addVertex",&obj0)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -22478,7 +21426,7 @@ SWIGINTERN PyObject *_wrap_Document_addVertex(PyObject *self, PyObject *args) {
   int ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = (int)PyObject_Length(args);
+  argc = PyObject_Length(args);
   for (ii = 0; (ii < argc) && (ii < 4); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -22556,12 +21504,7 @@ SWIGINTERN PyObject *_wrap_Document_addVertex(PyObject *self, PyObject *args) {
   }
   
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'Document_addVertex'.\n"
-    "  Possible C/C++ prototypes are:\n"
-    "    addVertex(Hex::Document *,double,double,double)\n"
-    "    addVertex(Hex::Document *,double,double)\n"
-    "    addVertex(Hex::Document *,double)\n"
-    "    addVertex(Hex::Document *)\n");
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'Document_addVertex'.\n  Possible C/C++ prototypes are:\n    addVertex(double,double,double)\n    addVertex(double,double)\n    addVertex(double)\n    addVertex()\n");
   return NULL;
 }
 
@@ -22571,6 +21514,7 @@ SWIGINTERN PyObject *_wrap_Document_addEdge(PyObject *SWIGUNUSEDPARM(self), PyOb
   Hex::Document *arg1 = (Hex::Document *) 0 ;
   Hex::Vertex *arg2 = (Hex::Vertex *) 0 ;
   Hex::Vertex *arg3 = (Hex::Vertex *) 0 ;
+  Hex::Edge *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   void *argp2 = 0 ;
@@ -22580,7 +21524,6 @@ SWIGINTERN PyObject *_wrap_Document_addEdge(PyObject *SWIGUNUSEDPARM(self), PyOb
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
   PyObject * obj2 = 0 ;
-  Hex::Edge *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOO:Document_addEdge",&obj0,&obj1,&obj2)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -22611,6 +21554,7 @@ SWIGINTERN PyObject *_wrap_Document_addEdgeVector(PyObject *SWIGUNUSEDPARM(self)
   Hex::Document *arg1 = (Hex::Document *) 0 ;
   Hex::Vertex *arg2 = (Hex::Vertex *) 0 ;
   Hex::Vector *arg3 = (Hex::Vector *) 0 ;
+  Hex::Edge *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   void *argp2 = 0 ;
@@ -22620,7 +21564,6 @@ SWIGINTERN PyObject *_wrap_Document_addEdgeVector(PyObject *SWIGUNUSEDPARM(self)
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
   PyObject * obj2 = 0 ;
-  Hex::Edge *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOO:Document_addEdgeVector",&obj0,&obj1,&obj2)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -22653,6 +21596,7 @@ SWIGINTERN PyObject *_wrap_Document_addQuad(PyObject *SWIGUNUSEDPARM(self), PyOb
   Hex::Edge *arg3 = (Hex::Edge *) 0 ;
   Hex::Edge *arg4 = (Hex::Edge *) 0 ;
   Hex::Edge *arg5 = (Hex::Edge *) 0 ;
+  Hex::Quad *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   void *argp2 = 0 ;
@@ -22668,7 +21612,6 @@ SWIGINTERN PyObject *_wrap_Document_addQuad(PyObject *SWIGUNUSEDPARM(self), PyOb
   PyObject * obj2 = 0 ;
   PyObject * obj3 = 0 ;
   PyObject * obj4 = 0 ;
-  Hex::Quad *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOOOO:Document_addQuad",&obj0,&obj1,&obj2,&obj3,&obj4)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -22711,6 +21654,7 @@ SWIGINTERN PyObject *_wrap_Document_addQuadVertices(PyObject *SWIGUNUSEDPARM(sel
   Hex::Vertex *arg3 = (Hex::Vertex *) 0 ;
   Hex::Vertex *arg4 = (Hex::Vertex *) 0 ;
   Hex::Vertex *arg5 = (Hex::Vertex *) 0 ;
+  Hex::Quad *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   void *argp2 = 0 ;
@@ -22726,7 +21670,6 @@ SWIGINTERN PyObject *_wrap_Document_addQuadVertices(PyObject *SWIGUNUSEDPARM(sel
   PyObject * obj2 = 0 ;
   PyObject * obj3 = 0 ;
   PyObject * obj4 = 0 ;
-  Hex::Quad *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOOOO:Document_addQuadVertices",&obj0,&obj1,&obj2,&obj3,&obj4)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -22771,6 +21714,7 @@ SWIGINTERN PyObject *_wrap_Document_addHexa(PyObject *SWIGUNUSEDPARM(self), PyOb
   Hex::Quad *arg5 = (Hex::Quad *) 0 ;
   Hex::Quad *arg6 = (Hex::Quad *) 0 ;
   Hex::Quad *arg7 = (Hex::Quad *) 0 ;
+  Hex::Hexa *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   void *argp2 = 0 ;
@@ -22792,7 +21736,6 @@ SWIGINTERN PyObject *_wrap_Document_addHexa(PyObject *SWIGUNUSEDPARM(self), PyOb
   PyObject * obj4 = 0 ;
   PyObject * obj5 = 0 ;
   PyObject * obj6 = 0 ;
-  Hex::Hexa *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOOOOOO:Document_addHexa",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -22849,6 +21792,7 @@ SWIGINTERN PyObject *_wrap_Document_addHexaVertices(PyObject *SWIGUNUSEDPARM(sel
   Hex::Vertex *arg7 = (Hex::Vertex *) 0 ;
   Hex::Vertex *arg8 = (Hex::Vertex *) 0 ;
   Hex::Vertex *arg9 = (Hex::Vertex *) 0 ;
+  Hex::Hexa *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   void *argp2 = 0 ;
@@ -22876,7 +21820,6 @@ SWIGINTERN PyObject *_wrap_Document_addHexaVertices(PyObject *SWIGUNUSEDPARM(sel
   PyObject * obj6 = 0 ;
   PyObject * obj7 = 0 ;
   PyObject * obj8 = 0 ;
-  Hex::Hexa *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOOOOOOOO:Document_addHexaVertices",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6,&obj7,&obj8)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -22937,6 +21880,7 @@ SWIGINTERN PyObject *_wrap_Document_addHexa2Quads(PyObject *SWIGUNUSEDPARM(self)
   Hex::Document *arg1 = (Hex::Document *) 0 ;
   Hex::Quad *arg2 = (Hex::Quad *) 0 ;
   Hex::Quad *arg3 = (Hex::Quad *) 0 ;
+  Hex::Hexa *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   void *argp2 = 0 ;
@@ -22946,7 +21890,6 @@ SWIGINTERN PyObject *_wrap_Document_addHexa2Quads(PyObject *SWIGUNUSEDPARM(self)
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
   PyObject * obj2 = 0 ;
-  Hex::Hexa *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOO:Document_addHexa2Quads",&obj0,&obj1,&obj2)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -22978,6 +21921,7 @@ SWIGINTERN PyObject *_wrap_Document_addHexa3Quads(PyObject *SWIGUNUSEDPARM(self)
   Hex::Quad *arg2 = (Hex::Quad *) 0 ;
   Hex::Quad *arg3 = (Hex::Quad *) 0 ;
   Hex::Quad *arg4 = (Hex::Quad *) 0 ;
+  Hex::Hexa *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   void *argp2 = 0 ;
@@ -22990,7 +21934,6 @@ SWIGINTERN PyObject *_wrap_Document_addHexa3Quads(PyObject *SWIGUNUSEDPARM(self)
   PyObject * obj1 = 0 ;
   PyObject * obj2 = 0 ;
   PyObject * obj3 = 0 ;
-  Hex::Hexa *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOOO:Document_addHexa3Quads",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -23028,6 +21971,7 @@ SWIGINTERN PyObject *_wrap_Document_addHexa4Quads(PyObject *SWIGUNUSEDPARM(self)
   Hex::Quad *arg3 = (Hex::Quad *) 0 ;
   Hex::Quad *arg4 = (Hex::Quad *) 0 ;
   Hex::Quad *arg5 = (Hex::Quad *) 0 ;
+  Hex::Hexa *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   void *argp2 = 0 ;
@@ -23043,7 +21987,6 @@ SWIGINTERN PyObject *_wrap_Document_addHexa4Quads(PyObject *SWIGUNUSEDPARM(self)
   PyObject * obj2 = 0 ;
   PyObject * obj3 = 0 ;
   PyObject * obj4 = 0 ;
-  Hex::Hexa *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOOOO:Document_addHexa4Quads",&obj0,&obj1,&obj2,&obj3,&obj4)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -23087,6 +22030,7 @@ SWIGINTERN PyObject *_wrap_Document_addHexa5Quads(PyObject *SWIGUNUSEDPARM(self)
   Hex::Quad *arg4 = (Hex::Quad *) 0 ;
   Hex::Quad *arg5 = (Hex::Quad *) 0 ;
   Hex::Quad *arg6 = (Hex::Quad *) 0 ;
+  Hex::Hexa *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   void *argp2 = 0 ;
@@ -23105,7 +22049,6 @@ SWIGINTERN PyObject *_wrap_Document_addHexa5Quads(PyObject *SWIGUNUSEDPARM(self)
   PyObject * obj3 = 0 ;
   PyObject * obj4 = 0 ;
   PyObject * obj5 = 0 ;
-  Hex::Hexa *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOOOOO:Document_addHexa5Quads",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -23152,6 +22095,7 @@ SWIGINTERN PyObject *_wrap_Document_addVector__SWIG_0(PyObject *SWIGUNUSEDPARM(s
   double arg2 ;
   double arg3 ;
   double arg4 ;
+  Hex::Vector *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   double val2 ;
@@ -23164,7 +22108,6 @@ SWIGINTERN PyObject *_wrap_Document_addVector__SWIG_0(PyObject *SWIGUNUSEDPARM(s
   PyObject * obj1 = 0 ;
   PyObject * obj2 = 0 ;
   PyObject * obj3 = 0 ;
-  Hex::Vector *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOOO:Document_addVector",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -23200,6 +22143,7 @@ SWIGINTERN PyObject *_wrap_Document_addVector__SWIG_1(PyObject *SWIGUNUSEDPARM(s
   Hex::Document *arg1 = (Hex::Document *) 0 ;
   double arg2 ;
   double arg3 ;
+  Hex::Vector *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   double val2 ;
@@ -23209,7 +22153,6 @@ SWIGINTERN PyObject *_wrap_Document_addVector__SWIG_1(PyObject *SWIGUNUSEDPARM(s
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
   PyObject * obj2 = 0 ;
-  Hex::Vector *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOO:Document_addVector",&obj0,&obj1,&obj2)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -23239,13 +22182,13 @@ SWIGINTERN PyObject *_wrap_Document_addVector__SWIG_2(PyObject *SWIGUNUSEDPARM(s
   PyObject *resultobj = 0;
   Hex::Document *arg1 = (Hex::Document *) 0 ;
   double arg2 ;
+  Hex::Vector *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   double val2 ;
   int ecode2 = 0 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
-  Hex::Vector *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OO:Document_addVector",&obj0,&obj1)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -23269,10 +22212,10 @@ fail:
 SWIGINTERN PyObject *_wrap_Document_addVector__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   Hex::Document *arg1 = (Hex::Document *) 0 ;
+  Hex::Vector *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  Hex::Vector *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"O:Document_addVector",&obj0)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -23294,7 +22237,7 @@ SWIGINTERN PyObject *_wrap_Document_addVector(PyObject *self, PyObject *args) {
   int ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = (int)PyObject_Length(args);
+  argc = PyObject_Length(args);
   for (ii = 0; (ii < argc) && (ii < 4); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -23372,12 +22315,7 @@ SWIGINTERN PyObject *_wrap_Document_addVector(PyObject *self, PyObject *args) {
   }
   
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'Document_addVector'.\n"
-    "  Possible C/C++ prototypes are:\n"
-    "    addVector(Hex::Document *,double,double,double)\n"
-    "    addVector(Hex::Document *,double,double)\n"
-    "    addVector(Hex::Document *,double)\n"
-    "    addVector(Hex::Document *)\n");
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'Document_addVector'.\n  Possible C/C++ prototypes are:\n    addVector(double,double,double)\n    addVector(double,double)\n    addVector(double)\n    addVector()\n");
   return NULL;
 }
 
@@ -23387,6 +22325,7 @@ SWIGINTERN PyObject *_wrap_Document_addVectorVertices(PyObject *SWIGUNUSEDPARM(s
   Hex::Document *arg1 = (Hex::Document *) 0 ;
   Hex::Vertex *arg2 = (Hex::Vertex *) 0 ;
   Hex::Vertex *arg3 = (Hex::Vertex *) 0 ;
+  Hex::Vector *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   void *argp2 = 0 ;
@@ -23396,7 +22335,6 @@ SWIGINTERN PyObject *_wrap_Document_addVectorVertices(PyObject *SWIGUNUSEDPARM(s
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
   PyObject * obj2 = 0 ;
-  Hex::Vector *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOO:Document_addVectorVertices",&obj0,&obj1,&obj2)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -23427,6 +22365,7 @@ SWIGINTERN PyObject *_wrap_Document_addLaw__SWIG_0(PyObject *SWIGUNUSEDPARM(self
   Hex::Document *arg1 = (Hex::Document *) 0 ;
   char *arg2 = (char *) 0 ;
   int arg3 ;
+  Hex::Law *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   int res2 ;
@@ -23437,7 +22376,6 @@ SWIGINTERN PyObject *_wrap_Document_addLaw__SWIG_0(PyObject *SWIGUNUSEDPARM(self
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
   PyObject * obj2 = 0 ;
-  Hex::Law *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOO:Document_addLaw",&obj0,&obj1,&obj2)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -23470,6 +22408,7 @@ SWIGINTERN PyObject *_wrap_Document_addLaws__SWIG_0(PyObject *SWIGUNUSEDPARM(sel
   Hex::Document *arg1 = (Hex::Document *) 0 ;
   double arg2 ;
   bool arg3 ;
+  int result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   double val2 ;
@@ -23479,7 +22418,6 @@ SWIGINTERN PyObject *_wrap_Document_addLaws__SWIG_0(PyObject *SWIGUNUSEDPARM(sel
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
   PyObject * obj2 = 0 ;
-  int result;
   
   if (!PyArg_ParseTuple(args,(char *)"OOO:Document_addLaws",&obj0,&obj1,&obj2)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -23509,13 +22447,13 @@ SWIGINTERN PyObject *_wrap_Document_addLaws__SWIG_1(PyObject *SWIGUNUSEDPARM(sel
   PyObject *resultobj = 0;
   Hex::Document *arg1 = (Hex::Document *) 0 ;
   double arg2 ;
+  int result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   double val2 ;
   int ecode2 = 0 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
-  int result;
   
   if (!PyArg_ParseTuple(args,(char *)"OO:Document_addLaws",&obj0,&obj1)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -23542,7 +22480,7 @@ SWIGINTERN PyObject *_wrap_Document_addLaws(PyObject *self, PyObject *args) {
   int ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = (int)PyObject_Length(args);
+  argc = PyObject_Length(args);
   for (ii = 0; (ii < argc) && (ii < 3); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -23584,10 +22522,7 @@ SWIGINTERN PyObject *_wrap_Document_addLaws(PyObject *self, PyObject *args) {
   }
   
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'Document_addLaws'.\n"
-    "  Possible C/C++ prototypes are:\n"
-    "    addLaws(Hex::Document *,double,bool)\n"
-    "    addLaws(Hex::Document *,double)\n");
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'Document_addLaws'.\n  Possible C/C++ prototypes are:\n    addLaws(double,bool)\n    addLaws(double)\n");
   return NULL;
 }
 
@@ -23596,6 +22531,7 @@ SWIGINTERN PyObject *_wrap_Document_addHexaGroup(PyObject *SWIGUNUSEDPARM(self),
   PyObject *resultobj = 0;
   Hex::Document *arg1 = (Hex::Document *) 0 ;
   cpchar arg2 = (cpchar) 0 ;
+  Hex::Group *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   int res2 ;
@@ -23603,7 +22539,6 @@ SWIGINTERN PyObject *_wrap_Document_addHexaGroup(PyObject *SWIGUNUSEDPARM(self),
   int alloc2 = 0 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
-  Hex::Group *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OO:Document_addHexaGroup",&obj0,&obj1)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -23630,6 +22565,7 @@ SWIGINTERN PyObject *_wrap_Document_addQuadGroup(PyObject *SWIGUNUSEDPARM(self),
   PyObject *resultobj = 0;
   Hex::Document *arg1 = (Hex::Document *) 0 ;
   cpchar arg2 = (cpchar) 0 ;
+  Hex::Group *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   int res2 ;
@@ -23637,7 +22573,6 @@ SWIGINTERN PyObject *_wrap_Document_addQuadGroup(PyObject *SWIGUNUSEDPARM(self),
   int alloc2 = 0 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
-  Hex::Group *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OO:Document_addQuadGroup",&obj0,&obj1)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -23664,6 +22599,7 @@ SWIGINTERN PyObject *_wrap_Document_addQuadNodeGroup(PyObject *SWIGUNUSEDPARM(se
   PyObject *resultobj = 0;
   Hex::Document *arg1 = (Hex::Document *) 0 ;
   cpchar arg2 = (cpchar) 0 ;
+  Hex::Group *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   int res2 ;
@@ -23671,7 +22607,6 @@ SWIGINTERN PyObject *_wrap_Document_addQuadNodeGroup(PyObject *SWIGUNUSEDPARM(se
   int alloc2 = 0 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
-  Hex::Group *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OO:Document_addQuadNodeGroup",&obj0,&obj1)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -23698,6 +22633,7 @@ SWIGINTERN PyObject *_wrap_Document_addHexaNodeGroup(PyObject *SWIGUNUSEDPARM(se
   PyObject *resultobj = 0;
   Hex::Document *arg1 = (Hex::Document *) 0 ;
   cpchar arg2 = (cpchar) 0 ;
+  Hex::Group *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   int res2 ;
@@ -23705,7 +22641,6 @@ SWIGINTERN PyObject *_wrap_Document_addHexaNodeGroup(PyObject *SWIGUNUSEDPARM(se
   int alloc2 = 0 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
-  Hex::Group *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OO:Document_addHexaNodeGroup",&obj0,&obj1)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -23732,6 +22667,7 @@ SWIGINTERN PyObject *_wrap_Document_addEdgeGroup(PyObject *SWIGUNUSEDPARM(self),
   PyObject *resultobj = 0;
   Hex::Document *arg1 = (Hex::Document *) 0 ;
   cpchar arg2 = (cpchar) 0 ;
+  Hex::Group *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   int res2 ;
@@ -23739,7 +22675,6 @@ SWIGINTERN PyObject *_wrap_Document_addEdgeGroup(PyObject *SWIGUNUSEDPARM(self),
   int alloc2 = 0 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
-  Hex::Group *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OO:Document_addEdgeGroup",&obj0,&obj1)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -23766,6 +22701,7 @@ SWIGINTERN PyObject *_wrap_Document_addEdgeNodeGroup(PyObject *SWIGUNUSEDPARM(se
   PyObject *resultobj = 0;
   Hex::Document *arg1 = (Hex::Document *) 0 ;
   cpchar arg2 = (cpchar) 0 ;
+  Hex::Group *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   int res2 ;
@@ -23773,7 +22709,6 @@ SWIGINTERN PyObject *_wrap_Document_addEdgeNodeGroup(PyObject *SWIGUNUSEDPARM(se
   int alloc2 = 0 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
-  Hex::Group *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OO:Document_addEdgeNodeGroup",&obj0,&obj1)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -23800,6 +22735,7 @@ SWIGINTERN PyObject *_wrap_Document_addVertexNodeGroup(PyObject *SWIGUNUSEDPARM(
   PyObject *resultobj = 0;
   Hex::Document *arg1 = (Hex::Document *) 0 ;
   cpchar arg2 = (cpchar) 0 ;
+  Hex::Group *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   int res2 ;
@@ -23807,7 +22743,6 @@ SWIGINTERN PyObject *_wrap_Document_addVertexNodeGroup(PyObject *SWIGUNUSEDPARM(
   int alloc2 = 0 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
-  Hex::Group *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OO:Document_addVertexNodeGroup",&obj0,&obj1)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -23835,6 +22770,7 @@ SWIGINTERN PyObject *_wrap_Document_makeTranslation(PyObject *SWIGUNUSEDPARM(sel
   Hex::Document *arg1 = (Hex::Document *) 0 ;
   Hex::Elements *arg2 = (Hex::Elements *) 0 ;
   Hex::Vector *arg3 = (Hex::Vector *) 0 ;
+  Hex::Elements *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   void *argp2 = 0 ;
@@ -23844,7 +22780,6 @@ SWIGINTERN PyObject *_wrap_Document_makeTranslation(PyObject *SWIGUNUSEDPARM(sel
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
   PyObject * obj2 = 0 ;
-  Hex::Elements *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOO:Document_makeTranslation",&obj0,&obj1,&obj2)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -23876,6 +22811,7 @@ SWIGINTERN PyObject *_wrap_Document_makeScale(PyObject *SWIGUNUSEDPARM(self), Py
   Hex::Elements *arg2 = (Hex::Elements *) 0 ;
   Hex::Vertex *arg3 = (Hex::Vertex *) 0 ;
   double arg4 ;
+  Hex::Elements *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   void *argp2 = 0 ;
@@ -23888,7 +22824,6 @@ SWIGINTERN PyObject *_wrap_Document_makeScale(PyObject *SWIGUNUSEDPARM(self), Py
   PyObject * obj1 = 0 ;
   PyObject * obj2 = 0 ;
   PyObject * obj3 = 0 ;
-  Hex::Elements *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOOO:Document_makeScale",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -23926,6 +22861,7 @@ SWIGINTERN PyObject *_wrap_Document_makeRotation(PyObject *SWIGUNUSEDPARM(self),
   Hex::Vertex *arg3 = (Hex::Vertex *) 0 ;
   Hex::Vector *arg4 = (Hex::Vector *) 0 ;
   double arg5 ;
+  Hex::Elements *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   void *argp2 = 0 ;
@@ -23941,7 +22877,6 @@ SWIGINTERN PyObject *_wrap_Document_makeRotation(PyObject *SWIGUNUSEDPARM(self),
   PyObject * obj2 = 0 ;
   PyObject * obj3 = 0 ;
   PyObject * obj4 = 0 ;
-  Hex::Elements *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOOOO:Document_makeRotation",&obj0,&obj1,&obj2,&obj3,&obj4)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -23982,6 +22917,7 @@ SWIGINTERN PyObject *_wrap_Document_makeSymmetryPoint(PyObject *SWIGUNUSEDPARM(s
   Hex::Document *arg1 = (Hex::Document *) 0 ;
   Hex::Elements *arg2 = (Hex::Elements *) 0 ;
   Hex::Vertex *arg3 = (Hex::Vertex *) 0 ;
+  Hex::Elements *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   void *argp2 = 0 ;
@@ -23991,7 +22927,6 @@ SWIGINTERN PyObject *_wrap_Document_makeSymmetryPoint(PyObject *SWIGUNUSEDPARM(s
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
   PyObject * obj2 = 0 ;
-  Hex::Elements *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOO:Document_makeSymmetryPoint",&obj0,&obj1,&obj2)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -24023,6 +22958,7 @@ SWIGINTERN PyObject *_wrap_Document_makeSymmetryLine(PyObject *SWIGUNUSEDPARM(se
   Hex::Elements *arg2 = (Hex::Elements *) 0 ;
   Hex::Vertex *arg3 = (Hex::Vertex *) 0 ;
   Hex::Vector *arg4 = (Hex::Vector *) 0 ;
+  Hex::Elements *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   void *argp2 = 0 ;
@@ -24035,7 +22971,6 @@ SWIGINTERN PyObject *_wrap_Document_makeSymmetryLine(PyObject *SWIGUNUSEDPARM(se
   PyObject * obj1 = 0 ;
   PyObject * obj2 = 0 ;
   PyObject * obj3 = 0 ;
-  Hex::Elements *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOOO:Document_makeSymmetryLine",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -24072,6 +23007,7 @@ SWIGINTERN PyObject *_wrap_Document_makeSymmetryPlane(PyObject *SWIGUNUSEDPARM(s
   Hex::Elements *arg2 = (Hex::Elements *) 0 ;
   Hex::Vertex *arg3 = (Hex::Vertex *) 0 ;
   Hex::Vector *arg4 = (Hex::Vector *) 0 ;
+  Hex::Elements *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   void *argp2 = 0 ;
@@ -24084,7 +23020,6 @@ SWIGINTERN PyObject *_wrap_Document_makeSymmetryPlane(PyObject *SWIGUNUSEDPARM(s
   PyObject * obj1 = 0 ;
   PyObject * obj2 = 0 ;
   PyObject * obj3 = 0 ;
-  Hex::Elements *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOOO:Document_makeSymmetryPlane",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -24120,6 +23055,7 @@ SWIGINTERN PyObject *_wrap_Document_performTranslation(PyObject *SWIGUNUSEDPARM(
   Hex::Document *arg1 = (Hex::Document *) 0 ;
   Hex::Elements *arg2 = (Hex::Elements *) 0 ;
   Hex::Vector *arg3 = (Hex::Vector *) 0 ;
+  int result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   void *argp2 = 0 ;
@@ -24129,7 +23065,6 @@ SWIGINTERN PyObject *_wrap_Document_performTranslation(PyObject *SWIGUNUSEDPARM(
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
   PyObject * obj2 = 0 ;
-  int result;
   
   if (!PyArg_ParseTuple(args,(char *)"OOO:Document_performTranslation",&obj0,&obj1,&obj2)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -24161,6 +23096,7 @@ SWIGINTERN PyObject *_wrap_Document_performScale(PyObject *SWIGUNUSEDPARM(self),
   Hex::Elements *arg2 = (Hex::Elements *) 0 ;
   Hex::Vertex *arg3 = (Hex::Vertex *) 0 ;
   double arg4 ;
+  int result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   void *argp2 = 0 ;
@@ -24173,7 +23109,6 @@ SWIGINTERN PyObject *_wrap_Document_performScale(PyObject *SWIGUNUSEDPARM(self),
   PyObject * obj1 = 0 ;
   PyObject * obj2 = 0 ;
   PyObject * obj3 = 0 ;
-  int result;
   
   if (!PyArg_ParseTuple(args,(char *)"OOOO:Document_performScale",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -24211,6 +23146,7 @@ SWIGINTERN PyObject *_wrap_Document_performRotation(PyObject *SWIGUNUSEDPARM(sel
   Hex::Vertex *arg3 = (Hex::Vertex *) 0 ;
   Hex::Vector *arg4 = (Hex::Vector *) 0 ;
   double arg5 ;
+  int result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   void *argp2 = 0 ;
@@ -24226,7 +23162,6 @@ SWIGINTERN PyObject *_wrap_Document_performRotation(PyObject *SWIGUNUSEDPARM(sel
   PyObject * obj2 = 0 ;
   PyObject * obj3 = 0 ;
   PyObject * obj4 = 0 ;
-  int result;
   
   if (!PyArg_ParseTuple(args,(char *)"OOOOO:Document_performRotation",&obj0,&obj1,&obj2,&obj3,&obj4)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -24267,6 +23202,7 @@ SWIGINTERN PyObject *_wrap_Document_performSymmetryPoint(PyObject *SWIGUNUSEDPAR
   Hex::Document *arg1 = (Hex::Document *) 0 ;
   Hex::Elements *arg2 = (Hex::Elements *) 0 ;
   Hex::Vertex *arg3 = (Hex::Vertex *) 0 ;
+  int result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   void *argp2 = 0 ;
@@ -24276,7 +23212,6 @@ SWIGINTERN PyObject *_wrap_Document_performSymmetryPoint(PyObject *SWIGUNUSEDPAR
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
   PyObject * obj2 = 0 ;
-  int result;
   
   if (!PyArg_ParseTuple(args,(char *)"OOO:Document_performSymmetryPoint",&obj0,&obj1,&obj2)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -24308,6 +23243,7 @@ SWIGINTERN PyObject *_wrap_Document_performSymmetryLine(PyObject *SWIGUNUSEDPARM
   Hex::Elements *arg2 = (Hex::Elements *) 0 ;
   Hex::Vertex *arg3 = (Hex::Vertex *) 0 ;
   Hex::Vector *arg4 = (Hex::Vector *) 0 ;
+  int result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   void *argp2 = 0 ;
@@ -24320,7 +23256,6 @@ SWIGINTERN PyObject *_wrap_Document_performSymmetryLine(PyObject *SWIGUNUSEDPARM
   PyObject * obj1 = 0 ;
   PyObject * obj2 = 0 ;
   PyObject * obj3 = 0 ;
-  int result;
   
   if (!PyArg_ParseTuple(args,(char *)"OOOO:Document_performSymmetryLine",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -24357,6 +23292,7 @@ SWIGINTERN PyObject *_wrap_Document_performSymmetryPlane(PyObject *SWIGUNUSEDPAR
   Hex::Elements *arg2 = (Hex::Elements *) 0 ;
   Hex::Vertex *arg3 = (Hex::Vertex *) 0 ;
   Hex::Vector *arg4 = (Hex::Vector *) 0 ;
+  int result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   void *argp2 = 0 ;
@@ -24369,7 +23305,6 @@ SWIGINTERN PyObject *_wrap_Document_performSymmetryPlane(PyObject *SWIGUNUSEDPAR
   PyObject * obj1 = 0 ;
   PyObject * obj2 = 0 ;
   PyObject * obj3 = 0 ;
-  int result;
   
   if (!PyArg_ParseTuple(args,(char *)"OOOO:Document_performSymmetryPlane",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -24405,6 +23340,7 @@ SWIGINTERN PyObject *_wrap_Document_disconnectQuad(PyObject *SWIGUNUSEDPARM(self
   Hex::Document *arg1 = (Hex::Document *) 0 ;
   Hex::Hexa *arg2 = (Hex::Hexa *) 0 ;
   Hex::Quad *arg3 = (Hex::Quad *) 0 ;
+  Hex::Elements *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   void *argp2 = 0 ;
@@ -24414,7 +23350,6 @@ SWIGINTERN PyObject *_wrap_Document_disconnectQuad(PyObject *SWIGUNUSEDPARM(self
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
   PyObject * obj2 = 0 ;
-  Hex::Elements *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOO:Document_disconnectQuad",&obj0,&obj1,&obj2)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -24445,6 +23380,7 @@ SWIGINTERN PyObject *_wrap_Document_disconnectEdge(PyObject *SWIGUNUSEDPARM(self
   Hex::Document *arg1 = (Hex::Document *) 0 ;
   Hex::Hexa *arg2 = (Hex::Hexa *) 0 ;
   Hex::Edge *arg3 = (Hex::Edge *) 0 ;
+  Hex::Elements *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   void *argp2 = 0 ;
@@ -24454,7 +23390,6 @@ SWIGINTERN PyObject *_wrap_Document_disconnectEdge(PyObject *SWIGUNUSEDPARM(self
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
   PyObject * obj2 = 0 ;
-  Hex::Elements *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOO:Document_disconnectEdge",&obj0,&obj1,&obj2)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -24485,6 +23420,7 @@ SWIGINTERN PyObject *_wrap_Document_disconnectVertex(PyObject *SWIGUNUSEDPARM(se
   Hex::Document *arg1 = (Hex::Document *) 0 ;
   Hex::Hexa *arg2 = (Hex::Hexa *) 0 ;
   Hex::Vertex *arg3 = (Hex::Vertex *) 0 ;
+  Hex::Elements *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   void *argp2 = 0 ;
@@ -24494,7 +23430,6 @@ SWIGINTERN PyObject *_wrap_Document_disconnectVertex(PyObject *SWIGUNUSEDPARM(se
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
   PyObject * obj2 = 0 ;
-  Hex::Elements *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOO:Document_disconnectVertex",&obj0,&obj1,&obj2)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -24525,12 +23460,12 @@ SWIGINTERN PyObject *_wrap_Document_disconnectEdges(PyObject *SWIGUNUSEDPARM(sel
   Hex::Document *arg1 = (Hex::Document *) 0 ;
   Hex::Hexas arg2 ;
   Hex::Edges arg3 ;
+  Hex::Elements *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
   PyObject * obj2 = 0 ;
-  Hex::Elements *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOO:Document_disconnectEdges",&obj0,&obj1,&obj2)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -24539,7 +23474,7 @@ SWIGINTERN PyObject *_wrap_Document_disconnectEdges(PyObject *SWIGUNUSEDPARM(sel
   }
   arg1 = reinterpret_cast< Hex::Document * >(argp1);
   {
-    std::vector<Hex::Hexa*,std::allocator< Hex::Hexa * > > *ptr = (std::vector<Hex::Hexa*,std::allocator< Hex::Hexa * > > *)0;
+    std::vector<Hex::Hexa*,std::allocator<Hex::Hexa * > > *ptr = (std::vector<Hex::Hexa*,std::allocator<Hex::Hexa * > > *)0;
     int res = swig::asptr(obj1, &ptr);
     if (!SWIG_IsOK(res) || !ptr) {
       SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "Document_disconnectEdges" "', argument " "2"" of type '" "Hex::Hexas""'"); 
@@ -24548,7 +23483,7 @@ SWIGINTERN PyObject *_wrap_Document_disconnectEdges(PyObject *SWIGUNUSEDPARM(sel
     if (SWIG_IsNewObj(res)) delete ptr;
   }
   {
-    std::vector<Hex::Edge*,std::allocator< Hex::Edge * > > *ptr = (std::vector<Hex::Edge*,std::allocator< Hex::Edge * > > *)0;
+    std::vector<Hex::Edge*,std::allocator<Hex::Edge * > > *ptr = (std::vector<Hex::Edge*,std::allocator<Hex::Edge * > > *)0;
     int res = swig::asptr(obj2, &ptr);
     if (!SWIG_IsOK(res) || !ptr) {
       SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "Document_disconnectEdges" "', argument " "3"" of type '" "Hex::Edges""'"); 
@@ -24573,6 +23508,7 @@ SWIGINTERN PyObject *_wrap_Document_replace(PyObject *SWIGUNUSEDPARM(self), PyOb
   Hex::Vertex *arg5 = (Hex::Vertex *) 0 ;
   Hex::Vertex *arg6 = (Hex::Vertex *) 0 ;
   Hex::Vertex *arg7 = (Hex::Vertex *) 0 ;
+  Hex::Elements *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   void *argp4 = 0 ;
@@ -24590,7 +23526,6 @@ SWIGINTERN PyObject *_wrap_Document_replace(PyObject *SWIGUNUSEDPARM(self), PyOb
   PyObject * obj4 = 0 ;
   PyObject * obj5 = 0 ;
   PyObject * obj6 = 0 ;
-  Hex::Elements *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOOOOOO:Document_replace",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -24599,7 +23534,7 @@ SWIGINTERN PyObject *_wrap_Document_replace(PyObject *SWIGUNUSEDPARM(self), PyOb
   }
   arg1 = reinterpret_cast< Hex::Document * >(argp1);
   {
-    std::vector<Hex::Quad*,std::allocator< Hex::Quad * > > *ptr = (std::vector<Hex::Quad*,std::allocator< Hex::Quad * > > *)0;
+    std::vector<Hex::Quad*,std::allocator<Hex::Quad * > > *ptr = (std::vector<Hex::Quad*,std::allocator<Hex::Quad * > > *)0;
     int res = swig::asptr(obj1, &ptr);
     if (!SWIG_IsOK(res) || !ptr) {
       SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "Document_replace" "', argument " "2"" of type '" "Hex::Quads""'"); 
@@ -24608,7 +23543,7 @@ SWIGINTERN PyObject *_wrap_Document_replace(PyObject *SWIGUNUSEDPARM(self), PyOb
     if (SWIG_IsNewObj(res)) delete ptr;
   }
   {
-    std::vector<Hex::Quad*,std::allocator< Hex::Quad * > > *ptr = (std::vector<Hex::Quad*,std::allocator< Hex::Quad * > > *)0;
+    std::vector<Hex::Quad*,std::allocator<Hex::Quad * > > *ptr = (std::vector<Hex::Quad*,std::allocator<Hex::Quad * > > *)0;
     int res = swig::asptr(obj2, &ptr);
     if (!SWIG_IsOK(res) || !ptr) {
       SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "Document_replace" "', argument " "3"" of type '" "Hex::Quads""'"); 
@@ -24649,6 +23584,7 @@ SWIGINTERN PyObject *_wrap_Document_mergeVertices(PyObject *SWIGUNUSEDPARM(self)
   Hex::Document *arg1 = (Hex::Document *) 0 ;
   Hex::Vertex *arg2 = (Hex::Vertex *) 0 ;
   Hex::Vertex *arg3 = (Hex::Vertex *) 0 ;
+  int result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   void *argp2 = 0 ;
@@ -24658,7 +23594,6 @@ SWIGINTERN PyObject *_wrap_Document_mergeVertices(PyObject *SWIGUNUSEDPARM(self)
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
   PyObject * obj2 = 0 ;
-  int result;
   
   if (!PyArg_ParseTuple(args,(char *)"OOO:Document_mergeVertices",&obj0,&obj1,&obj2)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -24691,6 +23626,7 @@ SWIGINTERN PyObject *_wrap_Document_mergeEdges(PyObject *SWIGUNUSEDPARM(self), P
   Hex::Edge *arg3 = (Hex::Edge *) 0 ;
   Hex::Vertex *arg4 = (Hex::Vertex *) 0 ;
   Hex::Vertex *arg5 = (Hex::Vertex *) 0 ;
+  int result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   void *argp2 = 0 ;
@@ -24706,7 +23642,6 @@ SWIGINTERN PyObject *_wrap_Document_mergeEdges(PyObject *SWIGUNUSEDPARM(self), P
   PyObject * obj2 = 0 ;
   PyObject * obj3 = 0 ;
   PyObject * obj4 = 0 ;
-  int result;
   
   if (!PyArg_ParseTuple(args,(char *)"OOOOO:Document_mergeEdges",&obj0,&obj1,&obj2,&obj3,&obj4)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -24751,6 +23686,7 @@ SWIGINTERN PyObject *_wrap_Document_mergeQuads(PyObject *SWIGUNUSEDPARM(self), P
   Hex::Vertex *arg5 = (Hex::Vertex *) 0 ;
   Hex::Vertex *arg6 = (Hex::Vertex *) 0 ;
   Hex::Vertex *arg7 = (Hex::Vertex *) 0 ;
+  int result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   void *argp2 = 0 ;
@@ -24772,7 +23708,6 @@ SWIGINTERN PyObject *_wrap_Document_mergeQuads(PyObject *SWIGUNUSEDPARM(self), P
   PyObject * obj4 = 0 ;
   PyObject * obj5 = 0 ;
   PyObject * obj6 = 0 ;
-  int result;
   
   if (!PyArg_ParseTuple(args,(char *)"OOOOOOO:Document_mergeQuads",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -24847,6 +23782,7 @@ SWIGINTERN PyObject *_wrap_Document_associateOpenedLine(PyObject *SWIGUNUSEDPARM
   Hex::IntVector arg4 ;
   double arg5 ;
   double arg6 ;
+  int result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   double val5 ;
@@ -24859,7 +23795,6 @@ SWIGINTERN PyObject *_wrap_Document_associateOpenedLine(PyObject *SWIGUNUSEDPARM
   PyObject * obj3 = 0 ;
   PyObject * obj4 = 0 ;
   PyObject * obj5 = 0 ;
-  int result;
   
   if (!PyArg_ParseTuple(args,(char *)"OOOOOO:Document_associateOpenedLine",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -24868,7 +23803,7 @@ SWIGINTERN PyObject *_wrap_Document_associateOpenedLine(PyObject *SWIGUNUSEDPARM
   }
   arg1 = reinterpret_cast< Hex::Document * >(argp1);
   {
-    std::vector<Hex::Edge*,std::allocator< Hex::Edge * > > *ptr = (std::vector<Hex::Edge*,std::allocator< Hex::Edge * > > *)0;
+    std::vector<Hex::Edge*,std::allocator<Hex::Edge * > > *ptr = (std::vector<Hex::Edge*,std::allocator<Hex::Edge * > > *)0;
     int res = swig::asptr(obj1, &ptr);
     if (!SWIG_IsOK(res) || !ptr) {
       SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "Document_associateOpenedLine" "', argument " "2"" of type '" "Hex::Edges""'"); 
@@ -24877,7 +23812,7 @@ SWIGINTERN PyObject *_wrap_Document_associateOpenedLine(PyObject *SWIGUNUSEDPARM
     if (SWIG_IsNewObj(res)) delete ptr;
   }
   {
-    std::vector<Hex::NewShape*,std::allocator< Hex::NewShape * > > *ptr = (std::vector<Hex::NewShape*,std::allocator< Hex::NewShape * > > *)0;
+    std::vector<Hex::NewShape*,std::allocator<Hex::NewShape * > > *ptr = (std::vector<Hex::NewShape*,std::allocator<Hex::NewShape * > > *)0;
     int res = swig::asptr(obj2, &ptr);
     if (!SWIG_IsOK(res) || !ptr) {
       SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "Document_associateOpenedLine" "', argument " "3"" of type '" "Hex::NewShapes""'"); 
@@ -24886,7 +23821,7 @@ SWIGINTERN PyObject *_wrap_Document_associateOpenedLine(PyObject *SWIGUNUSEDPARM
     if (SWIG_IsNewObj(res)) delete ptr;
   }
   {
-    std::vector<int,std::allocator< int > > *ptr = (std::vector<int,std::allocator< int > > *)0;
+    std::vector<int,std::allocator<int > > *ptr = (std::vector<int,std::allocator<int > > *)0;
     int res = swig::asptr(obj3, &ptr);
     if (!SWIG_IsOK(res) || !ptr) {
       SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "Document_associateOpenedLine" "', argument " "4"" of type '" "Hex::IntVector""'"); 
@@ -24921,6 +23856,7 @@ SWIGINTERN PyObject *_wrap_Document_associateClosedLine(PyObject *SWIGUNUSEDPARM
   Hex::IntVector arg5 ;
   double arg6 ;
   bool arg7 ;
+  int result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   void *argp2 = 0 ;
@@ -24936,7 +23872,6 @@ SWIGINTERN PyObject *_wrap_Document_associateClosedLine(PyObject *SWIGUNUSEDPARM
   PyObject * obj4 = 0 ;
   PyObject * obj5 = 0 ;
   PyObject * obj6 = 0 ;
-  int result;
   
   if (!PyArg_ParseTuple(args,(char *)"OOOOOOO:Document_associateClosedLine",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -24950,7 +23885,7 @@ SWIGINTERN PyObject *_wrap_Document_associateClosedLine(PyObject *SWIGUNUSEDPARM
   }
   arg2 = reinterpret_cast< Hex::Vertex * >(argp2);
   {
-    std::vector<Hex::Edge*,std::allocator< Hex::Edge * > > *ptr = (std::vector<Hex::Edge*,std::allocator< Hex::Edge * > > *)0;
+    std::vector<Hex::Edge*,std::allocator<Hex::Edge * > > *ptr = (std::vector<Hex::Edge*,std::allocator<Hex::Edge * > > *)0;
     int res = swig::asptr(obj2, &ptr);
     if (!SWIG_IsOK(res) || !ptr) {
       SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "Document_associateClosedLine" "', argument " "3"" of type '" "Hex::Edges""'"); 
@@ -24959,7 +23894,7 @@ SWIGINTERN PyObject *_wrap_Document_associateClosedLine(PyObject *SWIGUNUSEDPARM
     if (SWIG_IsNewObj(res)) delete ptr;
   }
   {
-    std::vector<Hex::NewShape*,std::allocator< Hex::NewShape * > > *ptr = (std::vector<Hex::NewShape*,std::allocator< Hex::NewShape * > > *)0;
+    std::vector<Hex::NewShape*,std::allocator<Hex::NewShape * > > *ptr = (std::vector<Hex::NewShape*,std::allocator<Hex::NewShape * > > *)0;
     int res = swig::asptr(obj3, &ptr);
     if (!SWIG_IsOK(res) || !ptr) {
       SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "Document_associateClosedLine" "', argument " "4"" of type '" "Hex::NewShapes""'"); 
@@ -24968,7 +23903,7 @@ SWIGINTERN PyObject *_wrap_Document_associateClosedLine(PyObject *SWIGUNUSEDPARM
     if (SWIG_IsNewObj(res)) delete ptr;
   }
   {
-    std::vector<int,std::allocator< int > > *ptr = (std::vector<int,std::allocator< int > > *)0;
+    std::vector<int,std::allocator<int > > *ptr = (std::vector<int,std::allocator<int > > *)0;
     int res = swig::asptr(obj4, &ptr);
     if (!SWIG_IsOK(res) || !ptr) {
       SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "Document_associateClosedLine" "', argument " "5"" of type '" "Hex::IntVector""'"); 
@@ -24997,10 +23932,10 @@ fail:
 SWIGINTERN PyObject *_wrap_Document_countHexa(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   Hex::Document *arg1 = (Hex::Document *) 0 ;
+  int result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  int result;
   
   if (!PyArg_ParseTuple(args,(char *)"O:Document_countHexa",&obj0)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -25019,10 +23954,10 @@ fail:
 SWIGINTERN PyObject *_wrap_Document_countQuad(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   Hex::Document *arg1 = (Hex::Document *) 0 ;
+  int result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  int result;
   
   if (!PyArg_ParseTuple(args,(char *)"O:Document_countQuad",&obj0)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -25041,10 +23976,10 @@ fail:
 SWIGINTERN PyObject *_wrap_Document_countEdge(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   Hex::Document *arg1 = (Hex::Document *) 0 ;
+  int result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  int result;
   
   if (!PyArg_ParseTuple(args,(char *)"O:Document_countEdge",&obj0)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -25063,10 +23998,10 @@ fail:
 SWIGINTERN PyObject *_wrap_Document_countVertex(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   Hex::Document *arg1 = (Hex::Document *) 0 ;
+  int result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  int result;
   
   if (!PyArg_ParseTuple(args,(char *)"O:Document_countVertex",&obj0)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -25085,10 +24020,10 @@ fail:
 SWIGINTERN PyObject *_wrap_Document_countVector(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   Hex::Document *arg1 = (Hex::Document *) 0 ;
+  int result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  int result;
   
   if (!PyArg_ParseTuple(args,(char *)"O:Document_countVector",&obj0)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -25107,10 +24042,10 @@ fail:
 SWIGINTERN PyObject *_wrap_Document_countGroup(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   Hex::Document *arg1 = (Hex::Document *) 0 ;
+  int result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  int result;
   
   if (!PyArg_ParseTuple(args,(char *)"O:Document_countGroup",&obj0)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -25129,10 +24064,10 @@ fail:
 SWIGINTERN PyObject *_wrap_Document_countLaw(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   Hex::Document *arg1 = (Hex::Document *) 0 ;
+  int result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  int result;
   
   if (!PyArg_ParseTuple(args,(char *)"O:Document_countLaw",&obj0)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -25151,10 +24086,10 @@ fail:
 SWIGINTERN PyObject *_wrap_Document_countPropagation(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   Hex::Document *arg1 = (Hex::Document *) 0 ;
+  int result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  int result;
   
   if (!PyArg_ParseTuple(args,(char *)"O:Document_countPropagation",&obj0)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -25173,10 +24108,10 @@ fail:
 SWIGINTERN PyObject *_wrap_Document_countShape(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   Hex::Document *arg1 = (Hex::Document *) 0 ;
+  int result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  int result;
   
   if (!PyArg_ParseTuple(args,(char *)"O:Document_countShape",&obj0)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -25195,10 +24130,10 @@ fail:
 SWIGINTERN PyObject *_wrap_Document_countUsedHexa(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   Hex::Document *arg1 = (Hex::Document *) 0 ;
+  int result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  int result;
   
   if (!PyArg_ParseTuple(args,(char *)"O:Document_countUsedHexa",&obj0)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -25217,10 +24152,10 @@ fail:
 SWIGINTERN PyObject *_wrap_Document_countUsedQuad(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   Hex::Document *arg1 = (Hex::Document *) 0 ;
+  int result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  int result;
   
   if (!PyArg_ParseTuple(args,(char *)"O:Document_countUsedQuad",&obj0)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -25239,10 +24174,10 @@ fail:
 SWIGINTERN PyObject *_wrap_Document_countUsedEdge(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   Hex::Document *arg1 = (Hex::Document *) 0 ;
+  int result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  int result;
   
   if (!PyArg_ParseTuple(args,(char *)"O:Document_countUsedEdge",&obj0)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -25261,10 +24196,10 @@ fail:
 SWIGINTERN PyObject *_wrap_Document_countUsedVertex(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   Hex::Document *arg1 = (Hex::Document *) 0 ;
+  int result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  int result;
   
   if (!PyArg_ParseTuple(args,(char *)"O:Document_countUsedVertex",&obj0)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -25284,13 +24219,13 @@ SWIGINTERN PyObject *_wrap_Document_getHexa(PyObject *SWIGUNUSEDPARM(self), PyOb
   PyObject *resultobj = 0;
   Hex::Document *arg1 = (Hex::Document *) 0 ;
   int arg2 ;
+  Hex::Hexa *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   int val2 ;
   int ecode2 = 0 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
-  Hex::Hexa *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OO:Document_getHexa",&obj0,&obj1)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -25315,13 +24250,13 @@ SWIGINTERN PyObject *_wrap_Document_getQuad(PyObject *SWIGUNUSEDPARM(self), PyOb
   PyObject *resultobj = 0;
   Hex::Document *arg1 = (Hex::Document *) 0 ;
   int arg2 ;
+  Hex::Quad *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   int val2 ;
   int ecode2 = 0 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
-  Hex::Quad *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OO:Document_getQuad",&obj0,&obj1)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -25346,13 +24281,13 @@ SWIGINTERN PyObject *_wrap_Document_getEdge(PyObject *SWIGUNUSEDPARM(self), PyOb
   PyObject *resultobj = 0;
   Hex::Document *arg1 = (Hex::Document *) 0 ;
   int arg2 ;
+  Hex::Edge *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   int val2 ;
   int ecode2 = 0 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
-  Hex::Edge *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OO:Document_getEdge",&obj0,&obj1)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -25377,13 +24312,13 @@ SWIGINTERN PyObject *_wrap_Document_getVertex(PyObject *SWIGUNUSEDPARM(self), Py
   PyObject *resultobj = 0;
   Hex::Document *arg1 = (Hex::Document *) 0 ;
   int arg2 ;
+  Hex::Vertex *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   int val2 ;
   int ecode2 = 0 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
-  Hex::Vertex *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OO:Document_getVertex",&obj0,&obj1)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -25408,13 +24343,13 @@ SWIGINTERN PyObject *_wrap_Document_getUsedHexa(PyObject *SWIGUNUSEDPARM(self),
   PyObject *resultobj = 0;
   Hex::Document *arg1 = (Hex::Document *) 0 ;
   int arg2 ;
+  Hex::Hexa *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   int val2 ;
   int ecode2 = 0 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
-  Hex::Hexa *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OO:Document_getUsedHexa",&obj0,&obj1)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -25439,13 +24374,13 @@ SWIGINTERN PyObject *_wrap_Document_getUsedQuad(PyObject *SWIGUNUSEDPARM(self),
   PyObject *resultobj = 0;
   Hex::Document *arg1 = (Hex::Document *) 0 ;
   int arg2 ;
+  Hex::Quad *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   int val2 ;
   int ecode2 = 0 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
-  Hex::Quad *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OO:Document_getUsedQuad",&obj0,&obj1)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -25470,13 +24405,13 @@ SWIGINTERN PyObject *_wrap_Document_getUsedEdge(PyObject *SWIGUNUSEDPARM(self),
   PyObject *resultobj = 0;
   Hex::Document *arg1 = (Hex::Document *) 0 ;
   int arg2 ;
+  Hex::Edge *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   int val2 ;
   int ecode2 = 0 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
-  Hex::Edge *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OO:Document_getUsedEdge",&obj0,&obj1)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -25501,13 +24436,13 @@ SWIGINTERN PyObject *_wrap_Document_getUsedVertex(PyObject *SWIGUNUSEDPARM(self)
   PyObject *resultobj = 0;
   Hex::Document *arg1 = (Hex::Document *) 0 ;
   int arg2 ;
+  Hex::Vertex *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   int val2 ;
   int ecode2 = 0 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
-  Hex::Vertex *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OO:Document_getUsedVertex",&obj0,&obj1)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -25532,13 +24467,13 @@ SWIGINTERN PyObject *_wrap_Document_getVector(PyObject *SWIGUNUSEDPARM(self), Py
   PyObject *resultobj = 0;
   Hex::Document *arg1 = (Hex::Document *) 0 ;
   int arg2 ;
+  Hex::Vector *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   int val2 ;
   int ecode2 = 0 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
-  Hex::Vector *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OO:Document_getVector",&obj0,&obj1)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -25563,13 +24498,13 @@ SWIGINTERN PyObject *_wrap_Document_getShape(PyObject *SWIGUNUSEDPARM(self), PyO
   PyObject *resultobj = 0;
   Hex::Document *arg1 = (Hex::Document *) 0 ;
   int arg2 ;
+  Hex::NewShape *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   int val2 ;
   int ecode2 = 0 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
-  Hex::NewShape *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OO:Document_getShape",&obj0,&obj1)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -25594,13 +24529,13 @@ SWIGINTERN PyObject *_wrap_Document_getGroup(PyObject *SWIGUNUSEDPARM(self), PyO
   PyObject *resultobj = 0;
   Hex::Document *arg1 = (Hex::Document *) 0 ;
   int arg2 ;
+  Hex::Group *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   int val2 ;
   int ecode2 = 0 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
-  Hex::Group *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OO:Document_getGroup",&obj0,&obj1)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -25625,13 +24560,13 @@ SWIGINTERN PyObject *_wrap_Document_getLaw(PyObject *SWIGUNUSEDPARM(self), PyObj
   PyObject *resultobj = 0;
   Hex::Document *arg1 = (Hex::Document *) 0 ;
   int arg2 ;
+  Hex::Law *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   int val2 ;
   int ecode2 = 0 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
-  Hex::Law *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OO:Document_getLaw",&obj0,&obj1)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -25656,13 +24591,13 @@ SWIGINTERN PyObject *_wrap_Document_getPropagation(PyObject *SWIGUNUSEDPARM(self
   PyObject *resultobj = 0;
   Hex::Document *arg1 = (Hex::Document *) 0 ;
   int arg2 ;
+  Hex::Propagation *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   int val2 ;
   int ecode2 = 0 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
-  Hex::Propagation *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OO:Document_getPropagation",&obj0,&obj1)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -25686,10 +24621,10 @@ fail:
 SWIGINTERN PyObject *_wrap_Document_getFirstExplicitShape(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   Hex::Document *arg1 = (Hex::Document *) 0 ;
+  cpchar result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  cpchar result;
   
   if (!PyArg_ParseTuple(args,(char *)"O:Document_getFirstExplicitShape",&obj0)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -25711,6 +24646,7 @@ SWIGINTERN PyObject *_wrap_Document_findVertex__SWIG_0(PyObject *SWIGUNUSEDPARM(
   double arg2 ;
   double arg3 ;
   double arg4 ;
+  Hex::Vertex *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   double val2 ;
@@ -25723,7 +24659,6 @@ SWIGINTERN PyObject *_wrap_Document_findVertex__SWIG_0(PyObject *SWIGUNUSEDPARM(
   PyObject * obj1 = 0 ;
   PyObject * obj2 = 0 ;
   PyObject * obj3 = 0 ;
-  Hex::Vertex *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOOO:Document_findVertex",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -25759,6 +24694,7 @@ SWIGINTERN PyObject *_wrap_Document_findEdge(PyObject *SWIGUNUSEDPARM(self), PyO
   Hex::Document *arg1 = (Hex::Document *) 0 ;
   Hex::Vertex *arg2 = (Hex::Vertex *) 0 ;
   Hex::Vertex *arg3 = (Hex::Vertex *) 0 ;
+  Hex::Edge *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   void *argp2 = 0 ;
@@ -25768,7 +24704,6 @@ SWIGINTERN PyObject *_wrap_Document_findEdge(PyObject *SWIGUNUSEDPARM(self), PyO
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
   PyObject * obj2 = 0 ;
-  Hex::Edge *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOO:Document_findEdge",&obj0,&obj1,&obj2)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -25799,6 +24734,7 @@ SWIGINTERN PyObject *_wrap_Document_findQuad__SWIG_0(PyObject *SWIGUNUSEDPARM(se
   Hex::Document *arg1 = (Hex::Document *) 0 ;
   Hex::Vertex *arg2 = (Hex::Vertex *) 0 ;
   Hex::Vertex *arg3 = (Hex::Vertex *) 0 ;
+  Hex::Quad *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   void *argp2 = 0 ;
@@ -25808,7 +24744,6 @@ SWIGINTERN PyObject *_wrap_Document_findQuad__SWIG_0(PyObject *SWIGUNUSEDPARM(se
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
   PyObject * obj2 = 0 ;
-  Hex::Quad *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOO:Document_findQuad",&obj0,&obj1,&obj2)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -25839,6 +24774,7 @@ SWIGINTERN PyObject *_wrap_Document_findQuad__SWIG_1(PyObject *SWIGUNUSEDPARM(se
   Hex::Document *arg1 = (Hex::Document *) 0 ;
   Hex::Edge *arg2 = (Hex::Edge *) 0 ;
   Hex::Edge *arg3 = (Hex::Edge *) 0 ;
+  Hex::Quad *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   void *argp2 = 0 ;
@@ -25848,7 +24784,6 @@ SWIGINTERN PyObject *_wrap_Document_findQuad__SWIG_1(PyObject *SWIGUNUSEDPARM(se
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
   PyObject * obj2 = 0 ;
-  Hex::Quad *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOO:Document_findQuad",&obj0,&obj1,&obj2)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -25880,7 +24815,7 @@ SWIGINTERN PyObject *_wrap_Document_findQuad(PyObject *self, PyObject *args) {
   int ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = (int)PyObject_Length(args);
+  argc = PyObject_Length(args);
   for (ii = 0; (ii < argc) && (ii < 3); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -25924,10 +24859,7 @@ SWIGINTERN PyObject *_wrap_Document_findQuad(PyObject *self, PyObject *args) {
   }
   
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'Document_findQuad'.\n"
-    "  Possible C/C++ prototypes are:\n"
-    "    findQuad(Hex::Document *,Hex::Vertex *,Hex::Vertex *)\n"
-    "    findQuad(Hex::Document *,Hex::Edge *,Hex::Edge *)\n");
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'Document_findQuad'.\n  Possible C/C++ prototypes are:\n    findQuad(Hex::Vertex *,Hex::Vertex *)\n    findQuad(Hex::Edge *,Hex::Edge *)\n");
   return NULL;
 }
 
@@ -25937,6 +24869,7 @@ SWIGINTERN PyObject *_wrap_Document_findHexa(PyObject *SWIGUNUSEDPARM(self), PyO
   Hex::Document *arg1 = (Hex::Document *) 0 ;
   Hex::Vertex *arg2 = (Hex::Vertex *) 0 ;
   Hex::Vertex *arg3 = (Hex::Vertex *) 0 ;
+  Hex::Hexa *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   void *argp2 = 0 ;
@@ -25946,7 +24879,6 @@ SWIGINTERN PyObject *_wrap_Document_findHexa(PyObject *SWIGUNUSEDPARM(self), PyO
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
   PyObject * obj2 = 0 ;
-  Hex::Hexa *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOO:Document_findHexa",&obj0,&obj1,&obj2)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -25976,6 +24908,7 @@ SWIGINTERN PyObject *_wrap_Document_findGroup(PyObject *SWIGUNUSEDPARM(self), Py
   PyObject *resultobj = 0;
   Hex::Document *arg1 = (Hex::Document *) 0 ;
   cpchar arg2 = (cpchar) 0 ;
+  Hex::Group *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   int res2 ;
@@ -25983,7 +24916,6 @@ SWIGINTERN PyObject *_wrap_Document_findGroup(PyObject *SWIGUNUSEDPARM(self), Py
   int alloc2 = 0 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
-  Hex::Group *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OO:Document_findGroup",&obj0,&obj1)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -26010,6 +24942,7 @@ SWIGINTERN PyObject *_wrap_Document_findLaw(PyObject *SWIGUNUSEDPARM(self), PyOb
   PyObject *resultobj = 0;
   Hex::Document *arg1 = (Hex::Document *) 0 ;
   cpchar arg2 = (cpchar) 0 ;
+  Hex::Law *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   int res2 ;
@@ -26017,7 +24950,6 @@ SWIGINTERN PyObject *_wrap_Document_findLaw(PyObject *SWIGUNUSEDPARM(self), PyOb
   int alloc2 = 0 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
-  Hex::Law *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OO:Document_findLaw",&obj0,&obj1)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -26044,13 +24976,13 @@ SWIGINTERN PyObject *_wrap_Document_findPropagation(PyObject *SWIGUNUSEDPARM(sel
   PyObject *resultobj = 0;
   Hex::Document *arg1 = (Hex::Document *) 0 ;
   Hex::Edge *arg2 = (Hex::Edge *) 0 ;
+  Hex::Propagation *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   void *argp2 = 0 ;
   int res2 = 0 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
-  Hex::Propagation *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OO:Document_findPropagation",&obj0,&obj1)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -26075,13 +25007,13 @@ SWIGINTERN PyObject *_wrap_Document_removeHexa(PyObject *SWIGUNUSEDPARM(self), P
   PyObject *resultobj = 0;
   Hex::Document *arg1 = (Hex::Document *) 0 ;
   Hex::Hexa *arg2 = (Hex::Hexa *) 0 ;
+  int result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   void *argp2 = 0 ;
   int res2 = 0 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
-  int result;
   
   if (!PyArg_ParseTuple(args,(char *)"OO:Document_removeHexa",&obj0,&obj1)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -26106,13 +25038,13 @@ SWIGINTERN PyObject *_wrap_Document_removeQuad(PyObject *SWIGUNUSEDPARM(self), P
   PyObject *resultobj = 0;
   Hex::Document *arg1 = (Hex::Document *) 0 ;
   Hex::Quad *arg2 = (Hex::Quad *) 0 ;
+  int result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   void *argp2 = 0 ;
   int res2 = 0 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
-  int result;
   
   if (!PyArg_ParseTuple(args,(char *)"OO:Document_removeQuad",&obj0,&obj1)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -26137,13 +25069,13 @@ SWIGINTERN PyObject *_wrap_Document_removeConnectedHexa(PyObject *SWIGUNUSEDPARM
   PyObject *resultobj = 0;
   Hex::Document *arg1 = (Hex::Document *) 0 ;
   Hex::Hexa *arg2 = (Hex::Hexa *) 0 ;
+  int result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   void *argp2 = 0 ;
   int res2 = 0 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
-  int result;
   
   if (!PyArg_ParseTuple(args,(char *)"OO:Document_removeConnectedHexa",&obj0,&obj1)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -26168,13 +25100,13 @@ SWIGINTERN PyObject *_wrap_Document_removeElements(PyObject *SWIGUNUSEDPARM(self
   PyObject *resultobj = 0;
   Hex::Document *arg1 = (Hex::Document *) 0 ;
   Hex::Elements *arg2 = (Hex::Elements *) 0 ;
+  int result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   void *argp2 = 0 ;
   int res2 = 0 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
-  int result;
   
   if (!PyArg_ParseTuple(args,(char *)"OO:Document_removeElements",&obj0,&obj1)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -26199,13 +25131,13 @@ SWIGINTERN PyObject *_wrap_Document_removeGroup(PyObject *SWIGUNUSEDPARM(self),
   PyObject *resultobj = 0;
   Hex::Document *arg1 = (Hex::Document *) 0 ;
   Hex::Group *arg2 = (Hex::Group *) 0 ;
+  int result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   void *argp2 = 0 ;
   int res2 = 0 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
-  int result;
   
   if (!PyArg_ParseTuple(args,(char *)"OO:Document_removeGroup",&obj0,&obj1)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -26230,13 +25162,13 @@ SWIGINTERN PyObject *_wrap_Document_removeLaw(PyObject *SWIGUNUSEDPARM(self), Py
   PyObject *resultobj = 0;
   Hex::Document *arg1 = (Hex::Document *) 0 ;
   Hex::Law *arg2 = (Hex::Law *) 0 ;
+  int result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   void *argp2 = 0 ;
   int res2 = 0 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
-  int result;
   
   if (!PyArg_ParseTuple(args,(char *)"OO:Document_removeLaw",&obj0,&obj1)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -26263,6 +25195,7 @@ SWIGINTERN PyObject *_wrap_Document_makeCartesianTop(PyObject *SWIGUNUSEDPARM(se
   int arg2 ;
   int arg3 ;
   int arg4 ;
+  Hex::Elements *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   int val2 ;
@@ -26275,7 +25208,6 @@ SWIGINTERN PyObject *_wrap_Document_makeCartesianTop(PyObject *SWIGUNUSEDPARM(se
   PyObject * obj1 = 0 ;
   PyObject * obj2 = 0 ;
   PyObject * obj3 = 0 ;
-  Hex::Elements *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOOO:Document_makeCartesianTop",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -26319,6 +25251,7 @@ SWIGINTERN PyObject *_wrap_Document_makeCartesianUni(PyObject *SWIGUNUSEDPARM(se
   int arg9 ;
   int arg10 ;
   int arg11 ;
+  Hex::Elements *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   void *argp2 = 0 ;
@@ -26352,7 +25285,6 @@ SWIGINTERN PyObject *_wrap_Document_makeCartesianUni(PyObject *SWIGUNUSEDPARM(se
   PyObject * obj8 = 0 ;
   PyObject * obj9 = 0 ;
   PyObject * obj10 = 0 ;
-  Hex::Elements *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOOOOOOOOOO:Document_makeCartesianUni",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6,&obj7,&obj8,&obj9,&obj10)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -26428,6 +25360,7 @@ SWIGINTERN PyObject *_wrap_Document_makeCartesian(PyObject *SWIGUNUSEDPARM(self)
   Hex::RealVector arg6 ;
   Hex::RealVector arg7 ;
   Hex::RealVector arg8 ;
+  Hex::Elements *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   void *argp2 = 0 ;
@@ -26446,7 +25379,6 @@ SWIGINTERN PyObject *_wrap_Document_makeCartesian(PyObject *SWIGUNUSEDPARM(self)
   PyObject * obj5 = 0 ;
   PyObject * obj6 = 0 ;
   PyObject * obj7 = 0 ;
-  Hex::Elements *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOOOOOOO:Document_makeCartesian",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6,&obj7)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -26475,7 +25407,7 @@ SWIGINTERN PyObject *_wrap_Document_makeCartesian(PyObject *SWIGUNUSEDPARM(self)
   }
   arg5 = reinterpret_cast< Hex::Vector * >(argp5);
   {
-    std::vector<double,std::allocator< double > > *ptr = (std::vector<double,std::allocator< double > > *)0;
+    std::vector<double,std::allocator<double > > *ptr = (std::vector<double,std::allocator<double > > *)0;
     int res = swig::asptr(obj5, &ptr);
     if (!SWIG_IsOK(res) || !ptr) {
       SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "Document_makeCartesian" "', argument " "6"" of type '" "Hex::RealVector""'"); 
@@ -26484,7 +25416,7 @@ SWIGINTERN PyObject *_wrap_Document_makeCartesian(PyObject *SWIGUNUSEDPARM(self)
     if (SWIG_IsNewObj(res)) delete ptr;
   }
   {
-    std::vector<double,std::allocator< double > > *ptr = (std::vector<double,std::allocator< double > > *)0;
+    std::vector<double,std::allocator<double > > *ptr = (std::vector<double,std::allocator<double > > *)0;
     int res = swig::asptr(obj6, &ptr);
     if (!SWIG_IsOK(res) || !ptr) {
       SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "Document_makeCartesian" "', argument " "7"" of type '" "Hex::RealVector""'"); 
@@ -26493,7 +25425,7 @@ SWIGINTERN PyObject *_wrap_Document_makeCartesian(PyObject *SWIGUNUSEDPARM(self)
     if (SWIG_IsNewObj(res)) delete ptr;
   }
   {
-    std::vector<double,std::allocator< double > > *ptr = (std::vector<double,std::allocator< double > > *)0;
+    std::vector<double,std::allocator<double > > *ptr = (std::vector<double,std::allocator<double > > *)0;
     int res = swig::asptr(obj7, &ptr);
     if (!SWIG_IsOK(res) || !ptr) {
       SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "Document_makeCartesian" "', argument " "8"" of type '" "Hex::RealVector""'"); 
@@ -26515,6 +25447,7 @@ SWIGINTERN PyObject *_wrap_Document_makeCylinderTop(PyObject *SWIGUNUSEDPARM(sel
   int arg2 ;
   int arg3 ;
   int arg4 ;
+  Hex::Elements *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   int val2 ;
@@ -26527,7 +25460,6 @@ SWIGINTERN PyObject *_wrap_Document_makeCylinderTop(PyObject *SWIGUNUSEDPARM(sel
   PyObject * obj1 = 0 ;
   PyObject * obj2 = 0 ;
   PyObject * obj3 = 0 ;
-  Hex::Elements *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOOO:Document_makeCylinderTop",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -26571,6 +25503,7 @@ SWIGINTERN PyObject *_wrap_Document_makeCylinderUni(PyObject *SWIGUNUSEDPARM(sel
   int arg9 ;
   int arg10 ;
   int arg11 ;
+  Hex::Elements *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   void *argp2 = 0 ;
@@ -26604,7 +25537,6 @@ SWIGINTERN PyObject *_wrap_Document_makeCylinderUni(PyObject *SWIGUNUSEDPARM(sel
   PyObject * obj8 = 0 ;
   PyObject * obj9 = 0 ;
   PyObject * obj10 = 0 ;
-  Hex::Elements *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOOOOOOOOOO:Document_makeCylinderUni",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6,&obj7,&obj8,&obj9,&obj10)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -26679,6 +25611,7 @@ SWIGINTERN PyObject *_wrap_Document_makeCylinder(PyObject *SWIGUNUSEDPARM(self),
   Hex::RealVector arg5 ;
   Hex::RealVector arg6 ;
   Hex::RealVector arg7 ;
+  Hex::Elements *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   void *argp2 = 0 ;
@@ -26694,7 +25627,6 @@ SWIGINTERN PyObject *_wrap_Document_makeCylinder(PyObject *SWIGUNUSEDPARM(self),
   PyObject * obj4 = 0 ;
   PyObject * obj5 = 0 ;
   PyObject * obj6 = 0 ;
-  Hex::Elements *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOOOOOO:Document_makeCylinder",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -26718,7 +25650,7 @@ SWIGINTERN PyObject *_wrap_Document_makeCylinder(PyObject *SWIGUNUSEDPARM(self),
   }
   arg4 = reinterpret_cast< Hex::Vector * >(argp4);
   {
-    std::vector<double,std::allocator< double > > *ptr = (std::vector<double,std::allocator< double > > *)0;
+    std::vector<double,std::allocator<double > > *ptr = (std::vector<double,std::allocator<double > > *)0;
     int res = swig::asptr(obj4, &ptr);
     if (!SWIG_IsOK(res) || !ptr) {
       SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "Document_makeCylinder" "', argument " "5"" of type '" "Hex::RealVector""'"); 
@@ -26727,7 +25659,7 @@ SWIGINTERN PyObject *_wrap_Document_makeCylinder(PyObject *SWIGUNUSEDPARM(self),
     if (SWIG_IsNewObj(res)) delete ptr;
   }
   {
-    std::vector<double,std::allocator< double > > *ptr = (std::vector<double,std::allocator< double > > *)0;
+    std::vector<double,std::allocator<double > > *ptr = (std::vector<double,std::allocator<double > > *)0;
     int res = swig::asptr(obj5, &ptr);
     if (!SWIG_IsOK(res) || !ptr) {
       SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "Document_makeCylinder" "', argument " "6"" of type '" "Hex::RealVector""'"); 
@@ -26736,7 +25668,7 @@ SWIGINTERN PyObject *_wrap_Document_makeCylinder(PyObject *SWIGUNUSEDPARM(self),
     if (SWIG_IsNewObj(res)) delete ptr;
   }
   {
-    std::vector<double,std::allocator< double > > *ptr = (std::vector<double,std::allocator< double > > *)0;
+    std::vector<double,std::allocator<double > > *ptr = (std::vector<double,std::allocator<double > > *)0;
     int res = swig::asptr(obj6, &ptr);
     if (!SWIG_IsOK(res) || !ptr) {
       SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "Document_makeCylinder" "', argument " "7"" of type '" "Hex::RealVector""'"); 
@@ -26758,6 +25690,7 @@ SWIGINTERN PyObject *_wrap_Document_makePipeTop(PyObject *SWIGUNUSEDPARM(self),
   int arg2 ;
   int arg3 ;
   int arg4 ;
+  Hex::Elements *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   int val2 ;
@@ -26770,7 +25703,6 @@ SWIGINTERN PyObject *_wrap_Document_makePipeTop(PyObject *SWIGUNUSEDPARM(self),
   PyObject * obj1 = 0 ;
   PyObject * obj2 = 0 ;
   PyObject * obj3 = 0 ;
-  Hex::Elements *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOOO:Document_makePipeTop",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -26814,6 +25746,7 @@ SWIGINTERN PyObject *_wrap_Document_makePipeUni(PyObject *SWIGUNUSEDPARM(self),
   int arg9 ;
   int arg10 ;
   int arg11 ;
+  Hex::Elements *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   void *argp2 = 0 ;
@@ -26847,7 +25780,6 @@ SWIGINTERN PyObject *_wrap_Document_makePipeUni(PyObject *SWIGUNUSEDPARM(self),
   PyObject * obj8 = 0 ;
   PyObject * obj9 = 0 ;
   PyObject * obj10 = 0 ;
-  Hex::Elements *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOOOOOOOOOO:Document_makePipeUni",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6,&obj7,&obj8,&obj9,&obj10)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -26922,6 +25854,7 @@ SWIGINTERN PyObject *_wrap_Document_makePipe(PyObject *SWIGUNUSEDPARM(self), PyO
   Hex::RealVector arg5 ;
   Hex::RealVector arg6 ;
   Hex::RealVector arg7 ;
+  Hex::Elements *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   void *argp2 = 0 ;
@@ -26937,7 +25870,6 @@ SWIGINTERN PyObject *_wrap_Document_makePipe(PyObject *SWIGUNUSEDPARM(self), PyO
   PyObject * obj4 = 0 ;
   PyObject * obj5 = 0 ;
   PyObject * obj6 = 0 ;
-  Hex::Elements *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOOOOOO:Document_makePipe",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -26961,7 +25893,7 @@ SWIGINTERN PyObject *_wrap_Document_makePipe(PyObject *SWIGUNUSEDPARM(self), PyO
   }
   arg4 = reinterpret_cast< Hex::Vector * >(argp4);
   {
-    std::vector<double,std::allocator< double > > *ptr = (std::vector<double,std::allocator< double > > *)0;
+    std::vector<double,std::allocator<double > > *ptr = (std::vector<double,std::allocator<double > > *)0;
     int res = swig::asptr(obj4, &ptr);
     if (!SWIG_IsOK(res) || !ptr) {
       SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "Document_makePipe" "', argument " "5"" of type '" "Hex::RealVector""'"); 
@@ -26970,7 +25902,7 @@ SWIGINTERN PyObject *_wrap_Document_makePipe(PyObject *SWIGUNUSEDPARM(self), PyO
     if (SWIG_IsNewObj(res)) delete ptr;
   }
   {
-    std::vector<double,std::allocator< double > > *ptr = (std::vector<double,std::allocator< double > > *)0;
+    std::vector<double,std::allocator<double > > *ptr = (std::vector<double,std::allocator<double > > *)0;
     int res = swig::asptr(obj5, &ptr);
     if (!SWIG_IsOK(res) || !ptr) {
       SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "Document_makePipe" "', argument " "6"" of type '" "Hex::RealVector""'"); 
@@ -26979,7 +25911,7 @@ SWIGINTERN PyObject *_wrap_Document_makePipe(PyObject *SWIGUNUSEDPARM(self), PyO
     if (SWIG_IsNewObj(res)) delete ptr;
   }
   {
-    std::vector<double,std::allocator< double > > *ptr = (std::vector<double,std::allocator< double > > *)0;
+    std::vector<double,std::allocator<double > > *ptr = (std::vector<double,std::allocator<double > > *)0;
     int res = swig::asptr(obj6, &ptr);
     if (!SWIG_IsOK(res) || !ptr) {
       SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "Document_makePipe" "', argument " "7"" of type '" "Hex::RealVector""'"); 
@@ -27000,6 +25932,7 @@ SWIGINTERN PyObject *_wrap_Document_makeSphericalTop__SWIG_0(PyObject *SWIGUNUSE
   Hex::Document *arg1 = (Hex::Document *) 0 ;
   int arg2 ;
   int arg3 ;
+  Hex::Elements *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   int val2 ;
@@ -27009,7 +25942,6 @@ SWIGINTERN PyObject *_wrap_Document_makeSphericalTop__SWIG_0(PyObject *SWIGUNUSE
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
   PyObject * obj2 = 0 ;
-  Hex::Elements *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOO:Document_makeSphericalTop",&obj0,&obj1,&obj2)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -27039,13 +25971,13 @@ SWIGINTERN PyObject *_wrap_Document_makeSphericalTop__SWIG_1(PyObject *SWIGUNUSE
   PyObject *resultobj = 0;
   Hex::Document *arg1 = (Hex::Document *) 0 ;
   int arg2 ;
+  Hex::Elements *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   int val2 ;
   int ecode2 = 0 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
-  Hex::Elements *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OO:Document_makeSphericalTop",&obj0,&obj1)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -27072,7 +26004,7 @@ SWIGINTERN PyObject *_wrap_Document_makeSphericalTop(PyObject *self, PyObject *a
   int ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = (int)PyObject_Length(args);
+  argc = PyObject_Length(args);
   for (ii = 0; (ii < argc) && (ii < 3); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -27114,10 +26046,7 @@ SWIGINTERN PyObject *_wrap_Document_makeSphericalTop(PyObject *self, PyObject *a
   }
   
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'Document_makeSphericalTop'.\n"
-    "  Possible C/C++ prototypes are:\n"
-    "    makeSphericalTop(Hex::Document *,int,int)\n"
-    "    makeSphericalTop(Hex::Document *,int)\n");
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'Document_makeSphericalTop'.\n  Possible C/C++ prototypes are:\n    makeSphericalTop(int,int)\n    makeSphericalTop(int)\n");
   return NULL;
 }
 
@@ -27131,6 +26060,7 @@ SWIGINTERN PyObject *_wrap_Document_makeSphericalUni__SWIG_0(PyObject *SWIGUNUSE
   double arg5 ;
   int arg6 ;
   int arg7 ;
+  Hex::Elements *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   void *argp2 = 0 ;
@@ -27152,7 +26082,6 @@ SWIGINTERN PyObject *_wrap_Document_makeSphericalUni__SWIG_0(PyObject *SWIGUNUSE
   PyObject * obj4 = 0 ;
   PyObject * obj5 = 0 ;
   PyObject * obj6 = 0 ;
-  Hex::Elements *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOOOOOO:Document_makeSphericalUni",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -27206,6 +26135,7 @@ SWIGINTERN PyObject *_wrap_Document_makeSphericalUni__SWIG_1(PyObject *SWIGUNUSE
   Hex::Vector *arg4 = (Hex::Vector *) 0 ;
   double arg5 ;
   int arg6 ;
+  Hex::Elements *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   void *argp2 = 0 ;
@@ -27224,7 +26154,6 @@ SWIGINTERN PyObject *_wrap_Document_makeSphericalUni__SWIG_1(PyObject *SWIGUNUSE
   PyObject * obj3 = 0 ;
   PyObject * obj4 = 0 ;
   PyObject * obj5 = 0 ;
-  Hex::Elements *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOOOOO:Document_makeSphericalUni",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -27271,7 +26200,7 @@ SWIGINTERN PyObject *_wrap_Document_makeSphericalUni(PyObject *self, PyObject *a
   int ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = (int)PyObject_Length(args);
+  argc = PyObject_Length(args);
   for (ii = 0; (ii < argc) && (ii < 7); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -27355,10 +26284,7 @@ SWIGINTERN PyObject *_wrap_Document_makeSphericalUni(PyObject *self, PyObject *a
   }
   
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'Document_makeSphericalUni'.\n"
-    "  Possible C/C++ prototypes are:\n"
-    "    makeSphericalUni(Hex::Document *,Hex::Vertex *,Hex::Vector *,Hex::Vector *,double,int,int)\n"
-    "    makeSphericalUni(Hex::Document *,Hex::Vertex *,Hex::Vector *,Hex::Vector *,double,int)\n");
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'Document_makeSphericalUni'.\n  Possible C/C++ prototypes are:\n    makeSphericalUni(Hex::Vertex *,Hex::Vector *,Hex::Vector *,double,int,int)\n    makeSphericalUni(Hex::Vertex *,Hex::Vector *,Hex::Vector *,double,int)\n");
   return NULL;
 }
 
@@ -27371,6 +26297,7 @@ SWIGINTERN PyObject *_wrap_Document_makeSpherical__SWIG_0(PyObject *SWIGUNUSEDPA
   Hex::Vector *arg4 = (Hex::Vector *) 0 ;
   Hex::RealVector arg5 ;
   int arg6 ;
+  Hex::Elements *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   void *argp2 = 0 ;
@@ -27387,7 +26314,6 @@ SWIGINTERN PyObject *_wrap_Document_makeSpherical__SWIG_0(PyObject *SWIGUNUSEDPA
   PyObject * obj3 = 0 ;
   PyObject * obj4 = 0 ;
   PyObject * obj5 = 0 ;
-  Hex::Elements *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOOOOO:Document_makeSpherical",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -27411,7 +26337,7 @@ SWIGINTERN PyObject *_wrap_Document_makeSpherical__SWIG_0(PyObject *SWIGUNUSEDPA
   }
   arg4 = reinterpret_cast< Hex::Vector * >(argp4);
   {
-    std::vector<double,std::allocator< double > > *ptr = (std::vector<double,std::allocator< double > > *)0;
+    std::vector<double,std::allocator<double > > *ptr = (std::vector<double,std::allocator<double > > *)0;
     int res = swig::asptr(obj4, &ptr);
     if (!SWIG_IsOK(res) || !ptr) {
       SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "Document_makeSpherical" "', argument " "5"" of type '" "Hex::RealVector""'"); 
@@ -27439,6 +26365,7 @@ SWIGINTERN PyObject *_wrap_Document_makeSpherical__SWIG_1(PyObject *SWIGUNUSEDPA
   Hex::Vector *arg3 = (Hex::Vector *) 0 ;
   Hex::Vector *arg4 = (Hex::Vector *) 0 ;
   Hex::RealVector arg5 ;
+  Hex::Elements *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   void *argp2 = 0 ;
@@ -27452,7 +26379,6 @@ SWIGINTERN PyObject *_wrap_Document_makeSpherical__SWIG_1(PyObject *SWIGUNUSEDPA
   PyObject * obj2 = 0 ;
   PyObject * obj3 = 0 ;
   PyObject * obj4 = 0 ;
-  Hex::Elements *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOOOO:Document_makeSpherical",&obj0,&obj1,&obj2,&obj3,&obj4)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -27476,7 +26402,7 @@ SWIGINTERN PyObject *_wrap_Document_makeSpherical__SWIG_1(PyObject *SWIGUNUSEDPA
   }
   arg4 = reinterpret_cast< Hex::Vector * >(argp4);
   {
-    std::vector<double,std::allocator< double > > *ptr = (std::vector<double,std::allocator< double > > *)0;
+    std::vector<double,std::allocator<double > > *ptr = (std::vector<double,std::allocator<double > > *)0;
     int res = swig::asptr(obj4, &ptr);
     if (!SWIG_IsOK(res) || !ptr) {
       SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "Document_makeSpherical" "', argument " "5"" of type '" "Hex::RealVector""'"); 
@@ -27498,7 +26424,7 @@ SWIGINTERN PyObject *_wrap_Document_makeSpherical(PyObject *self, PyObject *args
   int ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = (int)PyObject_Length(args);
+  argc = PyObject_Length(args);
   for (ii = 0; (ii < argc) && (ii < 6); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -27520,7 +26446,7 @@ SWIGINTERN PyObject *_wrap_Document_makeSpherical(PyObject *self, PyObject *args
           int res = SWIG_ConvertPtr(argv[3], &vptr, SWIGTYPE_p_Hex__Vector, 0);
           _v = SWIG_CheckState(res);
           if (_v) {
-            int res = swig::asptr(argv[4], (std::vector<double,std::allocator< double > >**)(0));
+            int res = swig::asptr(argv[4], (std::vector<double,std::allocator<double > >**)(0));
             _v = SWIG_CheckState(res);
             if (_v) {
               return _wrap_Document_makeSpherical__SWIG_1(self, args);
@@ -27548,7 +26474,7 @@ SWIGINTERN PyObject *_wrap_Document_makeSpherical(PyObject *self, PyObject *args
           int res = SWIG_ConvertPtr(argv[3], &vptr, SWIGTYPE_p_Hex__Vector, 0);
           _v = SWIG_CheckState(res);
           if (_v) {
-            int res = swig::asptr(argv[4], (std::vector<double,std::allocator< double > >**)(0));
+            int res = swig::asptr(argv[4], (std::vector<double,std::allocator<double > >**)(0));
             _v = SWIG_CheckState(res);
             if (_v) {
               {
@@ -27566,10 +26492,7 @@ SWIGINTERN PyObject *_wrap_Document_makeSpherical(PyObject *self, PyObject *args
   }
   
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'Document_makeSpherical'.\n"
-    "  Possible C/C++ prototypes are:\n"
-    "    makeSpherical(Hex::Document *,Hex::Vertex *,Hex::Vector *,Hex::Vector *,Hex::RealVector,int)\n"
-    "    makeSpherical(Hex::Document *,Hex::Vertex *,Hex::Vector *,Hex::Vector *,Hex::RealVector)\n");
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'Document_makeSpherical'.\n  Possible C/C++ prototypes are:\n    makeSpherical(Hex::Vertex *,Hex::Vector *,Hex::Vector *,Hex::RealVector,int)\n    makeSpherical(Hex::Vertex *,Hex::Vector *,Hex::Vector *,Hex::RealVector)\n");
   return NULL;
 }
 
@@ -27580,6 +26503,7 @@ SWIGINTERN PyObject *_wrap_Document_makeSphereTop(PyObject *SWIGUNUSEDPARM(self)
   int arg2 ;
   int arg3 ;
   int arg4 ;
+  Hex::Elements *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   int val2 ;
@@ -27592,7 +26516,6 @@ SWIGINTERN PyObject *_wrap_Document_makeSphereTop(PyObject *SWIGUNUSEDPARM(self)
   PyObject * obj1 = 0 ;
   PyObject * obj2 = 0 ;
   PyObject * obj3 = 0 ;
-  Hex::Elements *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOOO:Document_makeSphereTop",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -27636,6 +26559,7 @@ SWIGINTERN PyObject *_wrap_Document_makeSphereUni(PyObject *SWIGUNUSEDPARM(self)
   int arg9 ;
   int arg10 ;
   int arg11 ;
+  Hex::Elements *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   void *argp2 = 0 ;
@@ -27669,7 +26593,6 @@ SWIGINTERN PyObject *_wrap_Document_makeSphereUni(PyObject *SWIGUNUSEDPARM(self)
   PyObject * obj8 = 0 ;
   PyObject * obj9 = 0 ;
   PyObject * obj10 = 0 ;
-  Hex::Elements *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOOOOOOOOOO:Document_makeSphereUni",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6,&obj7,&obj8,&obj9,&obj10)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -27744,6 +26667,7 @@ SWIGINTERN PyObject *_wrap_Document_makeSphere(PyObject *SWIGUNUSEDPARM(self), P
   Hex::RealVector arg5 ;
   Hex::RealVector arg6 ;
   Hex::RealVector arg7 ;
+  Hex::Elements *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   void *argp2 = 0 ;
@@ -27759,7 +26683,6 @@ SWIGINTERN PyObject *_wrap_Document_makeSphere(PyObject *SWIGUNUSEDPARM(self), P
   PyObject * obj4 = 0 ;
   PyObject * obj5 = 0 ;
   PyObject * obj6 = 0 ;
-  Hex::Elements *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOOOOOO:Document_makeSphere",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -27783,7 +26706,7 @@ SWIGINTERN PyObject *_wrap_Document_makeSphere(PyObject *SWIGUNUSEDPARM(self), P
   }
   arg4 = reinterpret_cast< Hex::Vector * >(argp4);
   {
-    std::vector<double,std::allocator< double > > *ptr = (std::vector<double,std::allocator< double > > *)0;
+    std::vector<double,std::allocator<double > > *ptr = (std::vector<double,std::allocator<double > > *)0;
     int res = swig::asptr(obj4, &ptr);
     if (!SWIG_IsOK(res) || !ptr) {
       SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "Document_makeSphere" "', argument " "5"" of type '" "Hex::RealVector""'"); 
@@ -27792,7 +26715,7 @@ SWIGINTERN PyObject *_wrap_Document_makeSphere(PyObject *SWIGUNUSEDPARM(self), P
     if (SWIG_IsNewObj(res)) delete ptr;
   }
   {
-    std::vector<double,std::allocator< double > > *ptr = (std::vector<double,std::allocator< double > > *)0;
+    std::vector<double,std::allocator<double > > *ptr = (std::vector<double,std::allocator<double > > *)0;
     int res = swig::asptr(obj5, &ptr);
     if (!SWIG_IsOK(res) || !ptr) {
       SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "Document_makeSphere" "', argument " "6"" of type '" "Hex::RealVector""'"); 
@@ -27801,7 +26724,7 @@ SWIGINTERN PyObject *_wrap_Document_makeSphere(PyObject *SWIGUNUSEDPARM(self), P
     if (SWIG_IsNewObj(res)) delete ptr;
   }
   {
-    std::vector<double,std::allocator< double > > *ptr = (std::vector<double,std::allocator< double > > *)0;
+    std::vector<double,std::allocator<double > > *ptr = (std::vector<double,std::allocator<double > > *)0;
     int res = swig::asptr(obj6, &ptr);
     if (!SWIG_IsOK(res) || !ptr) {
       SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "Document_makeSphere" "', argument " "7"" of type '" "Hex::RealVector""'"); 
@@ -27823,6 +26746,7 @@ SWIGINTERN PyObject *_wrap_Document_makeRindTop(PyObject *SWIGUNUSEDPARM(self),
   int arg2 ;
   int arg3 ;
   int arg4 ;
+  Hex::Elements *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   int val2 ;
@@ -27835,7 +26759,6 @@ SWIGINTERN PyObject *_wrap_Document_makeRindTop(PyObject *SWIGUNUSEDPARM(self),
   PyObject * obj1 = 0 ;
   PyObject * obj2 = 0 ;
   PyObject * obj3 = 0 ;
-  Hex::Elements *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOOO:Document_makeRindTop",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -27880,6 +26803,7 @@ SWIGINTERN PyObject *_wrap_Document_makeRindUni(PyObject *SWIGUNUSEDPARM(self),
   int arg10 ;
   int arg11 ;
   int arg12 ;
+  Hex::Elements *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   void *argp2 = 0 ;
@@ -27916,7 +26840,6 @@ SWIGINTERN PyObject *_wrap_Document_makeRindUni(PyObject *SWIGUNUSEDPARM(self),
   PyObject * obj9 = 0 ;
   PyObject * obj10 = 0 ;
   PyObject * obj11 = 0 ;
-  Hex::Elements *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOOOOOOOOOOO:Document_makeRindUni",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6,&obj7,&obj8,&obj9,&obj10,&obj11)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -27996,6 +26919,7 @@ SWIGINTERN PyObject *_wrap_Document_makeRind(PyObject *SWIGUNUSEDPARM(self), PyO
   Hex::RealVector arg5 ;
   Hex::RealVector arg6 ;
   Hex::RealVector arg7 ;
+  Hex::Elements *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   void *argp2 = 0 ;
@@ -28011,7 +26935,6 @@ SWIGINTERN PyObject *_wrap_Document_makeRind(PyObject *SWIGUNUSEDPARM(self), PyO
   PyObject * obj4 = 0 ;
   PyObject * obj5 = 0 ;
   PyObject * obj6 = 0 ;
-  Hex::Elements *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOOOOOO:Document_makeRind",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -28035,7 +26958,7 @@ SWIGINTERN PyObject *_wrap_Document_makeRind(PyObject *SWIGUNUSEDPARM(self), PyO
   }
   arg4 = reinterpret_cast< Hex::Vector * >(argp4);
   {
-    std::vector<double,std::allocator< double > > *ptr = (std::vector<double,std::allocator< double > > *)0;
+    std::vector<double,std::allocator<double > > *ptr = (std::vector<double,std::allocator<double > > *)0;
     int res = swig::asptr(obj4, &ptr);
     if (!SWIG_IsOK(res) || !ptr) {
       SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "Document_makeRind" "', argument " "5"" of type '" "Hex::RealVector""'"); 
@@ -28044,7 +26967,7 @@ SWIGINTERN PyObject *_wrap_Document_makeRind(PyObject *SWIGUNUSEDPARM(self), PyO
     if (SWIG_IsNewObj(res)) delete ptr;
   }
   {
-    std::vector<double,std::allocator< double > > *ptr = (std::vector<double,std::allocator< double > > *)0;
+    std::vector<double,std::allocator<double > > *ptr = (std::vector<double,std::allocator<double > > *)0;
     int res = swig::asptr(obj5, &ptr);
     if (!SWIG_IsOK(res) || !ptr) {
       SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "Document_makeRind" "', argument " "6"" of type '" "Hex::RealVector""'"); 
@@ -28053,7 +26976,7 @@ SWIGINTERN PyObject *_wrap_Document_makeRind(PyObject *SWIGUNUSEDPARM(self), PyO
     if (SWIG_IsNewObj(res)) delete ptr;
   }
   {
-    std::vector<double,std::allocator< double > > *ptr = (std::vector<double,std::allocator< double > > *)0;
+    std::vector<double,std::allocator<double > > *ptr = (std::vector<double,std::allocator<double > > *)0;
     int res = swig::asptr(obj6, &ptr);
     if (!SWIG_IsOK(res) || !ptr) {
       SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "Document_makeRind" "', argument " "7"" of type '" "Hex::RealVector""'"); 
@@ -28080,6 +27003,7 @@ SWIGINTERN PyObject *_wrap_Document_makeCylinders(PyObject *SWIGUNUSEDPARM(self)
   Hex::Vector *arg7 = (Hex::Vector *) 0 ;
   double arg8 ;
   double arg9 ;
+  Hex::BiCylinder *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   void *argp2 = 0 ;
@@ -28107,7 +27031,6 @@ SWIGINTERN PyObject *_wrap_Document_makeCylinders(PyObject *SWIGUNUSEDPARM(self)
   PyObject * obj6 = 0 ;
   PyObject * obj7 = 0 ;
   PyObject * obj8 = 0 ;
-  Hex::BiCylinder *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOOOOOOOO:Document_makeCylinders",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6,&obj7,&obj8)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -28176,6 +27099,7 @@ SWIGINTERN PyObject *_wrap_Document_makePipes(PyObject *SWIGUNUSEDPARM(self), Py
   double arg9 ;
   double arg10 ;
   double arg11 ;
+  Hex::BiCylinder *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   void *argp2 = 0 ;
@@ -28209,7 +27133,6 @@ SWIGINTERN PyObject *_wrap_Document_makePipes(PyObject *SWIGUNUSEDPARM(self), Py
   PyObject * obj8 = 0 ;
   PyObject * obj9 = 0 ;
   PyObject * obj10 = 0 ;
-  Hex::BiCylinder *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOOOOOOOOOO:Document_makePipes",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6,&obj7,&obj8,&obj9,&obj10)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -28280,6 +27203,7 @@ SWIGINTERN PyObject *_wrap_Document_extrudeQuadTop(PyObject *SWIGUNUSEDPARM(self
   Hex::Document *arg1 = (Hex::Document *) 0 ;
   Hex::Quad *arg2 = (Hex::Quad *) 0 ;
   int arg3 ;
+  Hex::Elements *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   void *argp2 = 0 ;
@@ -28289,7 +27213,6 @@ SWIGINTERN PyObject *_wrap_Document_extrudeQuadTop(PyObject *SWIGUNUSEDPARM(self
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
   PyObject * obj2 = 0 ;
-  Hex::Elements *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOO:Document_extrudeQuadTop",&obj0,&obj1,&obj2)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -28322,6 +27245,7 @@ SWIGINTERN PyObject *_wrap_Document_extrudeQuadUni(PyObject *SWIGUNUSEDPARM(self
   Hex::Vector *arg3 = (Hex::Vector *) 0 ;
   double arg4 ;
   int arg5 ;
+  Hex::Elements *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   void *argp2 = 0 ;
@@ -28337,7 +27261,6 @@ SWIGINTERN PyObject *_wrap_Document_extrudeQuadUni(PyObject *SWIGUNUSEDPARM(self
   PyObject * obj2 = 0 ;
   PyObject * obj3 = 0 ;
   PyObject * obj4 = 0 ;
-  Hex::Elements *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOOOO:Document_extrudeQuadUni",&obj0,&obj1,&obj2,&obj3,&obj4)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -28379,6 +27302,7 @@ SWIGINTERN PyObject *_wrap_Document_extrudeQuad(PyObject *SWIGUNUSEDPARM(self),
   Hex::Quad *arg2 = (Hex::Quad *) 0 ;
   Hex::Vector *arg3 = (Hex::Vector *) 0 ;
   Hex::RealVector arg4 ;
+  Hex::Elements *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   void *argp2 = 0 ;
@@ -28389,7 +27313,6 @@ SWIGINTERN PyObject *_wrap_Document_extrudeQuad(PyObject *SWIGUNUSEDPARM(self),
   PyObject * obj1 = 0 ;
   PyObject * obj2 = 0 ;
   PyObject * obj3 = 0 ;
-  Hex::Elements *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOOO:Document_extrudeQuad",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -28408,7 +27331,7 @@ SWIGINTERN PyObject *_wrap_Document_extrudeQuad(PyObject *SWIGUNUSEDPARM(self),
   }
   arg3 = reinterpret_cast< Hex::Vector * >(argp3);
   {
-    std::vector<double,std::allocator< double > > *ptr = (std::vector<double,std::allocator< double > > *)0;
+    std::vector<double,std::allocator<double > > *ptr = (std::vector<double,std::allocator<double > > *)0;
     int res = swig::asptr(obj3, &ptr);
     if (!SWIG_IsOK(res) || !ptr) {
       SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "Document_extrudeQuad" "', argument " "4"" of type '" "Hex::RealVector""'"); 
@@ -28429,6 +27352,7 @@ SWIGINTERN PyObject *_wrap_Document_extrudeQuadsTop(PyObject *SWIGUNUSEDPARM(sel
   Hex::Document *arg1 = (Hex::Document *) 0 ;
   Hex::Quads arg2 ;
   int arg3 ;
+  Hex::Elements *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   int val3 ;
@@ -28436,7 +27360,6 @@ SWIGINTERN PyObject *_wrap_Document_extrudeQuadsTop(PyObject *SWIGUNUSEDPARM(sel
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
   PyObject * obj2 = 0 ;
-  Hex::Elements *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOO:Document_extrudeQuadsTop",&obj0,&obj1,&obj2)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -28445,7 +27368,7 @@ SWIGINTERN PyObject *_wrap_Document_extrudeQuadsTop(PyObject *SWIGUNUSEDPARM(sel
   }
   arg1 = reinterpret_cast< Hex::Document * >(argp1);
   {
-    std::vector<Hex::Quad*,std::allocator< Hex::Quad * > > *ptr = (std::vector<Hex::Quad*,std::allocator< Hex::Quad * > > *)0;
+    std::vector<Hex::Quad*,std::allocator<Hex::Quad * > > *ptr = (std::vector<Hex::Quad*,std::allocator<Hex::Quad * > > *)0;
     int res = swig::asptr(obj1, &ptr);
     if (!SWIG_IsOK(res) || !ptr) {
       SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "Document_extrudeQuadsTop" "', argument " "2"" of type '" "Hex::Quads""'"); 
@@ -28473,6 +27396,7 @@ SWIGINTERN PyObject *_wrap_Document_extrudeQuadsUni(PyObject *SWIGUNUSEDPARM(sel
   Hex::Vector *arg3 = (Hex::Vector *) 0 ;
   double arg4 ;
   int arg5 ;
+  Hex::Elements *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   void *argp3 = 0 ;
@@ -28486,7 +27410,6 @@ SWIGINTERN PyObject *_wrap_Document_extrudeQuadsUni(PyObject *SWIGUNUSEDPARM(sel
   PyObject * obj2 = 0 ;
   PyObject * obj3 = 0 ;
   PyObject * obj4 = 0 ;
-  Hex::Elements *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOOOO:Document_extrudeQuadsUni",&obj0,&obj1,&obj2,&obj3,&obj4)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -28495,7 +27418,7 @@ SWIGINTERN PyObject *_wrap_Document_extrudeQuadsUni(PyObject *SWIGUNUSEDPARM(sel
   }
   arg1 = reinterpret_cast< Hex::Document * >(argp1);
   {
-    std::vector<Hex::Quad*,std::allocator< Hex::Quad * > > *ptr = (std::vector<Hex::Quad*,std::allocator< Hex::Quad * > > *)0;
+    std::vector<Hex::Quad*,std::allocator<Hex::Quad * > > *ptr = (std::vector<Hex::Quad*,std::allocator<Hex::Quad * > > *)0;
     int res = swig::asptr(obj1, &ptr);
     if (!SWIG_IsOK(res) || !ptr) {
       SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "Document_extrudeQuadsUni" "', argument " "2"" of type '" "Hex::Quads""'"); 
@@ -28532,6 +27455,7 @@ SWIGINTERN PyObject *_wrap_Document_extrudeQuads(PyObject *SWIGUNUSEDPARM(self),
   Hex::Quads arg2 ;
   Hex::Vector *arg3 = (Hex::Vector *) 0 ;
   Hex::RealVector arg4 ;
+  Hex::Elements *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   void *argp3 = 0 ;
@@ -28540,7 +27464,6 @@ SWIGINTERN PyObject *_wrap_Document_extrudeQuads(PyObject *SWIGUNUSEDPARM(self),
   PyObject * obj1 = 0 ;
   PyObject * obj2 = 0 ;
   PyObject * obj3 = 0 ;
-  Hex::Elements *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOOO:Document_extrudeQuads",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -28549,7 +27472,7 @@ SWIGINTERN PyObject *_wrap_Document_extrudeQuads(PyObject *SWIGUNUSEDPARM(self),
   }
   arg1 = reinterpret_cast< Hex::Document * >(argp1);
   {
-    std::vector<Hex::Quad*,std::allocator< Hex::Quad * > > *ptr = (std::vector<Hex::Quad*,std::allocator< Hex::Quad * > > *)0;
+    std::vector<Hex::Quad*,std::allocator<Hex::Quad * > > *ptr = (std::vector<Hex::Quad*,std::allocator<Hex::Quad * > > *)0;
     int res = swig::asptr(obj1, &ptr);
     if (!SWIG_IsOK(res) || !ptr) {
       SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "Document_extrudeQuads" "', argument " "2"" of type '" "Hex::Quads""'"); 
@@ -28563,7 +27486,7 @@ SWIGINTERN PyObject *_wrap_Document_extrudeQuads(PyObject *SWIGUNUSEDPARM(self),
   }
   arg3 = reinterpret_cast< Hex::Vector * >(argp3);
   {
-    std::vector<double,std::allocator< double > > *ptr = (std::vector<double,std::allocator< double > > *)0;
+    std::vector<double,std::allocator<double > > *ptr = (std::vector<double,std::allocator<double > > *)0;
     int res = swig::asptr(obj3, &ptr);
     if (!SWIG_IsOK(res) || !ptr) {
       SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "Document_extrudeQuads" "', argument " "4"" of type '" "Hex::RealVector""'"); 
@@ -28587,6 +27510,7 @@ SWIGINTERN PyObject *_wrap_Document_revolutionQuadUni(PyObject *SWIGUNUSEDPARM(s
   Hex::Vector *arg4 = (Hex::Vector *) 0 ;
   double arg5 ;
   int arg6 ;
+  Hex::Elements *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   void *argp2 = 0 ;
@@ -28605,7 +27529,6 @@ SWIGINTERN PyObject *_wrap_Document_revolutionQuadUni(PyObject *SWIGUNUSEDPARM(s
   PyObject * obj3 = 0 ;
   PyObject * obj4 = 0 ;
   PyObject * obj5 = 0 ;
-  Hex::Elements *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOOOOO:Document_revolutionQuadUni",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -28653,6 +27576,7 @@ SWIGINTERN PyObject *_wrap_Document_revolutionQuad(PyObject *SWIGUNUSEDPARM(self
   Hex::Vertex *arg3 = (Hex::Vertex *) 0 ;
   Hex::Vector *arg4 = (Hex::Vector *) 0 ;
   Hex::RealVector arg5 ;
+  Hex::Elements *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   void *argp2 = 0 ;
@@ -28666,7 +27590,6 @@ SWIGINTERN PyObject *_wrap_Document_revolutionQuad(PyObject *SWIGUNUSEDPARM(self
   PyObject * obj2 = 0 ;
   PyObject * obj3 = 0 ;
   PyObject * obj4 = 0 ;
-  Hex::Elements *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOOOO:Document_revolutionQuad",&obj0,&obj1,&obj2,&obj3,&obj4)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -28690,7 +27613,7 @@ SWIGINTERN PyObject *_wrap_Document_revolutionQuad(PyObject *SWIGUNUSEDPARM(self
   }
   arg4 = reinterpret_cast< Hex::Vector * >(argp4);
   {
-    std::vector<double,std::allocator< double > > *ptr = (std::vector<double,std::allocator< double > > *)0;
+    std::vector<double,std::allocator<double > > *ptr = (std::vector<double,std::allocator<double > > *)0;
     int res = swig::asptr(obj4, &ptr);
     if (!SWIG_IsOK(res) || !ptr) {
       SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "Document_revolutionQuad" "', argument " "5"" of type '" "Hex::RealVector""'"); 
@@ -28714,6 +27637,7 @@ SWIGINTERN PyObject *_wrap_Document_revolutionQuadsUni(PyObject *SWIGUNUSEDPARM(
   Hex::Vector *arg4 = (Hex::Vector *) 0 ;
   double arg5 ;
   int arg6 ;
+  Hex::Elements *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   void *argp3 = 0 ;
@@ -28730,7 +27654,6 @@ SWIGINTERN PyObject *_wrap_Document_revolutionQuadsUni(PyObject *SWIGUNUSEDPARM(
   PyObject * obj3 = 0 ;
   PyObject * obj4 = 0 ;
   PyObject * obj5 = 0 ;
-  Hex::Elements *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOOOOO:Document_revolutionQuadsUni",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -28739,7 +27662,7 @@ SWIGINTERN PyObject *_wrap_Document_revolutionQuadsUni(PyObject *SWIGUNUSEDPARM(
   }
   arg1 = reinterpret_cast< Hex::Document * >(argp1);
   {
-    std::vector<Hex::Quad*,std::allocator< Hex::Quad * > > *ptr = (std::vector<Hex::Quad*,std::allocator< Hex::Quad * > > *)0;
+    std::vector<Hex::Quad*,std::allocator<Hex::Quad * > > *ptr = (std::vector<Hex::Quad*,std::allocator<Hex::Quad * > > *)0;
     int res = swig::asptr(obj1, &ptr);
     if (!SWIG_IsOK(res) || !ptr) {
       SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "Document_revolutionQuadsUni" "', argument " "2"" of type '" "Hex::Quads""'"); 
@@ -28782,6 +27705,7 @@ SWIGINTERN PyObject *_wrap_Document_revolutionQuads(PyObject *SWIGUNUSEDPARM(sel
   Hex::Vertex *arg3 = (Hex::Vertex *) 0 ;
   Hex::Vector *arg4 = (Hex::Vector *) 0 ;
   Hex::RealVector arg5 ;
+  Hex::Elements *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   void *argp3 = 0 ;
@@ -28793,7 +27717,6 @@ SWIGINTERN PyObject *_wrap_Document_revolutionQuads(PyObject *SWIGUNUSEDPARM(sel
   PyObject * obj2 = 0 ;
   PyObject * obj3 = 0 ;
   PyObject * obj4 = 0 ;
-  Hex::Elements *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOOOO:Document_revolutionQuads",&obj0,&obj1,&obj2,&obj3,&obj4)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -28802,7 +27725,7 @@ SWIGINTERN PyObject *_wrap_Document_revolutionQuads(PyObject *SWIGUNUSEDPARM(sel
   }
   arg1 = reinterpret_cast< Hex::Document * >(argp1);
   {
-    std::vector<Hex::Quad*,std::allocator< Hex::Quad * > > *ptr = (std::vector<Hex::Quad*,std::allocator< Hex::Quad * > > *)0;
+    std::vector<Hex::Quad*,std::allocator<Hex::Quad * > > *ptr = (std::vector<Hex::Quad*,std::allocator<Hex::Quad * > > *)0;
     int res = swig::asptr(obj1, &ptr);
     if (!SWIG_IsOK(res) || !ptr) {
       SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "Document_revolutionQuads" "', argument " "2"" of type '" "Hex::Quads""'"); 
@@ -28821,7 +27744,7 @@ SWIGINTERN PyObject *_wrap_Document_revolutionQuads(PyObject *SWIGUNUSEDPARM(sel
   }
   arg4 = reinterpret_cast< Hex::Vector * >(argp4);
   {
-    std::vector<double,std::allocator< double > > *ptr = (std::vector<double,std::allocator< double > > *)0;
+    std::vector<double,std::allocator<double > > *ptr = (std::vector<double,std::allocator<double > > *)0;
     int res = swig::asptr(obj4, &ptr);
     if (!SWIG_IsOK(res) || !ptr) {
       SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "Document_revolutionQuads" "', argument " "5"" of type '" "Hex::RealVector""'"); 
@@ -28847,6 +27770,7 @@ SWIGINTERN PyObject *_wrap_Document_joinQuadUni(PyObject *SWIGUNUSEDPARM(self),
   Hex::Vertex *arg6 = (Hex::Vertex *) 0 ;
   Hex::Vertex *arg7 = (Hex::Vertex *) 0 ;
   int arg8 ;
+  Hex::Elements *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   void *argp2 = 0 ;
@@ -28871,7 +27795,6 @@ SWIGINTERN PyObject *_wrap_Document_joinQuadUni(PyObject *SWIGUNUSEDPARM(self),
   PyObject * obj5 = 0 ;
   PyObject * obj6 = 0 ;
   PyObject * obj7 = 0 ;
-  Hex::Elements *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOOOOOOO:Document_joinQuadUni",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6,&obj7)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -28932,6 +27855,7 @@ SWIGINTERN PyObject *_wrap_Document_joinQuadsUni(PyObject *SWIGUNUSEDPARM(self),
   Hex::Vertex *arg6 = (Hex::Vertex *) 0 ;
   Hex::Vertex *arg7 = (Hex::Vertex *) 0 ;
   int arg8 ;
+  Hex::Elements *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   void *argp3 = 0 ;
@@ -28954,7 +27878,6 @@ SWIGINTERN PyObject *_wrap_Document_joinQuadsUni(PyObject *SWIGUNUSEDPARM(self),
   PyObject * obj5 = 0 ;
   PyObject * obj6 = 0 ;
   PyObject * obj7 = 0 ;
-  Hex::Elements *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOOOOOOO:Document_joinQuadsUni",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6,&obj7)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -28963,7 +27886,7 @@ SWIGINTERN PyObject *_wrap_Document_joinQuadsUni(PyObject *SWIGUNUSEDPARM(self),
   }
   arg1 = reinterpret_cast< Hex::Document * >(argp1);
   {
-    std::vector<Hex::Quad*,std::allocator< Hex::Quad * > > *ptr = (std::vector<Hex::Quad*,std::allocator< Hex::Quad * > > *)0;
+    std::vector<Hex::Quad*,std::allocator<Hex::Quad * > > *ptr = (std::vector<Hex::Quad*,std::allocator<Hex::Quad * > > *)0;
     int res = swig::asptr(obj1, &ptr);
     if (!SWIG_IsOK(res) || !ptr) {
       SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "Document_joinQuadsUni" "', argument " "2"" of type '" "Hex::Quads""'"); 
@@ -29019,6 +27942,7 @@ SWIGINTERN PyObject *_wrap_Document_joinQuad(PyObject *SWIGUNUSEDPARM(self), PyO
   Hex::Vertex *arg6 = (Hex::Vertex *) 0 ;
   Hex::Vertex *arg7 = (Hex::Vertex *) 0 ;
   Hex::RealVector *arg8 = 0 ;
+  Hex::Elements *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   void *argp2 = 0 ;
@@ -29043,7 +27967,6 @@ SWIGINTERN PyObject *_wrap_Document_joinQuad(PyObject *SWIGUNUSEDPARM(self), PyO
   PyObject * obj5 = 0 ;
   PyObject * obj6 = 0 ;
   PyObject * obj7 = 0 ;
-  Hex::Elements *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOOOOOOO:Document_joinQuad",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6,&obj7)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -29081,7 +28004,7 @@ SWIGINTERN PyObject *_wrap_Document_joinQuad(PyObject *SWIGUNUSEDPARM(self), PyO
     SWIG_exception_fail(SWIG_ArgError(res7), "in method '" "Document_joinQuad" "', argument " "7"" of type '" "Hex::Vertex *""'"); 
   }
   arg7 = reinterpret_cast< Hex::Vertex * >(argp7);
-  res8 = SWIG_ConvertPtr(obj7, &argp8, SWIGTYPE_p_std__vectorT_double_std__allocatorT_double_t_t,  0 );
+  res8 = SWIG_ConvertPtr(obj7, &argp8, SWIGTYPE_p_std__vectorTdouble_std__allocatorTdouble_t_t,  0 );
   if (!SWIG_IsOK(res8)) {
     SWIG_exception_fail(SWIG_ArgError(res8), "in method '" "Document_joinQuad" "', argument " "8"" of type '" "Hex::RealVector &""'"); 
   }
@@ -29107,6 +28030,7 @@ SWIGINTERN PyObject *_wrap_Document_joinQuads(PyObject *SWIGUNUSEDPARM(self), Py
   Hex::Vertex *arg6 = (Hex::Vertex *) 0 ;
   Hex::Vertex *arg7 = (Hex::Vertex *) 0 ;
   Hex::RealVector *arg8 = 0 ;
+  Hex::Elements *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   void *argp3 = 0 ;
@@ -29129,7 +28053,6 @@ SWIGINTERN PyObject *_wrap_Document_joinQuads(PyObject *SWIGUNUSEDPARM(self), Py
   PyObject * obj5 = 0 ;
   PyObject * obj6 = 0 ;
   PyObject * obj7 = 0 ;
-  Hex::Elements *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOOOOOOO:Document_joinQuads",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6,&obj7)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -29138,7 +28061,7 @@ SWIGINTERN PyObject *_wrap_Document_joinQuads(PyObject *SWIGUNUSEDPARM(self), Py
   }
   arg1 = reinterpret_cast< Hex::Document * >(argp1);
   {
-    std::vector<Hex::Quad*,std::allocator< Hex::Quad * > > *ptr = (std::vector<Hex::Quad*,std::allocator< Hex::Quad * > > *)0;
+    std::vector<Hex::Quad*,std::allocator<Hex::Quad * > > *ptr = (std::vector<Hex::Quad*,std::allocator<Hex::Quad * > > *)0;
     int res = swig::asptr(obj1, &ptr);
     if (!SWIG_IsOK(res) || !ptr) {
       SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "Document_joinQuads" "', argument " "2"" of type '" "Hex::Quads""'"); 
@@ -29171,7 +28094,7 @@ SWIGINTERN PyObject *_wrap_Document_joinQuads(PyObject *SWIGUNUSEDPARM(self), Py
     SWIG_exception_fail(SWIG_ArgError(res7), "in method '" "Document_joinQuads" "', argument " "7"" of type '" "Hex::Vertex *""'"); 
   }
   arg7 = reinterpret_cast< Hex::Vertex * >(argp7);
-  res8 = SWIG_ConvertPtr(obj7, &argp8, SWIGTYPE_p_std__vectorT_double_std__allocatorT_double_t_t,  0 );
+  res8 = SWIG_ConvertPtr(obj7, &argp8, SWIGTYPE_p_std__vectorTdouble_std__allocatorTdouble_t_t,  0 );
   if (!SWIG_IsOK(res8)) {
     SWIG_exception_fail(SWIG_ArgError(res8), "in method '" "Document_joinQuads" "', argument " "8"" of type '" "Hex::RealVector &""'"); 
   }
@@ -29192,6 +28115,7 @@ SWIGINTERN PyObject *_wrap_Document_cutUni(PyObject *SWIGUNUSEDPARM(self), PyObj
   Hex::Document *arg1 = (Hex::Document *) 0 ;
   Hex::Edge *arg2 = (Hex::Edge *) 0 ;
   int arg3 ;
+  Hex::Elements *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   void *argp2 = 0 ;
@@ -29201,7 +28125,6 @@ SWIGINTERN PyObject *_wrap_Document_cutUni(PyObject *SWIGUNUSEDPARM(self), PyObj
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
   PyObject * obj2 = 0 ;
-  Hex::Elements *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOO:Document_cutUni",&obj0,&obj1,&obj2)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -29232,6 +28155,7 @@ SWIGINTERN PyObject *_wrap_Document_cut(PyObject *SWIGUNUSEDPARM(self), PyObject
   Hex::Document *arg1 = (Hex::Document *) 0 ;
   Hex::Edge *arg2 = (Hex::Edge *) 0 ;
   Hex::RealVector *arg3 = 0 ;
+  Hex::Elements *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   void *argp2 = 0 ;
@@ -29241,7 +28165,6 @@ SWIGINTERN PyObject *_wrap_Document_cut(PyObject *SWIGUNUSEDPARM(self), PyObject
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
   PyObject * obj2 = 0 ;
-  Hex::Elements *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOO:Document_cut",&obj0,&obj1,&obj2)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -29254,7 +28177,7 @@ SWIGINTERN PyObject *_wrap_Document_cut(PyObject *SWIGUNUSEDPARM(self), PyObject
     SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Document_cut" "', argument " "2"" of type '" "Hex::Edge *""'"); 
   }
   arg2 = reinterpret_cast< Hex::Edge * >(argp2);
-  res3 = SWIG_ConvertPtr(obj2, &argp3, SWIGTYPE_p_std__vectorT_double_std__allocatorT_double_t_t,  0 );
+  res3 = SWIG_ConvertPtr(obj2, &argp3, SWIGTYPE_p_std__vectorTdouble_std__allocatorTdouble_t_t,  0 );
   if (!SWIG_IsOK(res3)) {
     SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "Document_cut" "', argument " "3"" of type '" "Hex::RealVector &""'"); 
   }
@@ -29275,6 +28198,7 @@ SWIGINTERN PyObject *_wrap_Document_addGroup(PyObject *SWIGUNUSEDPARM(self), PyO
   Hex::Document *arg1 = (Hex::Document *) 0 ;
   cpchar arg2 = (cpchar) 0 ;
   Hex::EnumGroup arg3 ;
+  Hex::Group *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   int res2 ;
@@ -29285,7 +28209,6 @@ SWIGINTERN PyObject *_wrap_Document_addGroup(PyObject *SWIGUNUSEDPARM(self), PyO
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
   PyObject * obj2 = 0 ;
-  Hex::Group *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOO:Document_addGroup",&obj0,&obj1,&obj2)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -29316,10 +28239,10 @@ fail:
 SWIGINTERN PyObject *_wrap_Document_isSaved(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   Hex::Document *arg1 = (Hex::Document *) 0 ;
+  bool result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  bool result;
   
   if (!PyArg_ParseTuple(args,(char *)"O:Document_isSaved",&obj0)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -29339,13 +28262,13 @@ SWIGINTERN PyObject *_wrap_Document_appendXml(PyObject *SWIGUNUSEDPARM(self), Py
   PyObject *resultobj = 0;
   Hex::Document *arg1 = (Hex::Document *) 0 ;
   pfile arg2 = (pfile) 0 ;
+  int result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   void *argp2 = 0 ;
   int res2 = 0 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
-  int result;
   
   if (!PyArg_ParseTuple(args,(char *)"OO:Document_appendXml",&obj0,&obj1)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -29369,10 +28292,10 @@ fail:
 SWIGINTERN PyObject *_wrap_Document_getXml(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   Hex::Document *arg1 = (Hex::Document *) 0 ;
+  cpchar result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  cpchar result;
   
   if (!PyArg_ParseTuple(args,(char *)"O:Document_getXml",&obj0)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -29391,10 +28314,10 @@ fail:
 SWIGINTERN PyObject *_wrap_Document_getLevel(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   Hex::Document *arg1 = (Hex::Document *) 0 ;
+  int result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  int result;
   
   if (!PyArg_ParseTuple(args,(char *)"O:Document_getLevel",&obj0)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -29414,13 +28337,13 @@ SWIGINTERN PyObject *_wrap_Document_findVertex__SWIG_1(PyObject *SWIGUNUSEDPARM(
   PyObject *resultobj = 0;
   Hex::Document *arg1 = (Hex::Document *) 0 ;
   int arg2 ;
+  Hex::Vertex *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   int val2 ;
   int ecode2 = 0 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
-  Hex::Vertex *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OO:Document_findVertex",&obj0,&obj1)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -29447,7 +28370,7 @@ SWIGINTERN PyObject *_wrap_Document_findVertex(PyObject *self, PyObject *args) {
   int ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = (int)PyObject_Length(args);
+  argc = PyObject_Length(args);
   for (ii = 0; (ii < argc) && (ii < 4); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -29495,10 +28418,7 @@ SWIGINTERN PyObject *_wrap_Document_findVertex(PyObject *self, PyObject *args) {
   }
   
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'Document_findVertex'.\n"
-    "  Possible C/C++ prototypes are:\n"
-    "    findVertex(Hex::Document *,double,double,double)\n"
-    "    findVertex(Hex::Document *,int)\n");
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'Document_findVertex'.\n  Possible C/C++ prototypes are:\n    findVertex(double,double,double)\n    findVertex(int)\n");
   return NULL;
 }
 
@@ -29508,6 +28428,7 @@ SWIGINTERN PyObject *_wrap_Document_closeQuads(PyObject *SWIGUNUSEDPARM(self), P
   Hex::Document *arg1 = (Hex::Document *) 0 ;
   Hex::Quad *arg2 = (Hex::Quad *) 0 ;
   Hex::Quad *arg3 = (Hex::Quad *) 0 ;
+  int result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   void *argp2 = 0 ;
@@ -29517,7 +28438,6 @@ SWIGINTERN PyObject *_wrap_Document_closeQuads(PyObject *SWIGUNUSEDPARM(self), P
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
   PyObject * obj2 = 0 ;
-  int result;
   
   if (!PyArg_ParseTuple(args,(char *)"OOO:Document_closeQuads",&obj0,&obj1,&obj2)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -29547,13 +28467,13 @@ SWIGINTERN PyObject *_wrap_Document_addLaw__SWIG_1(PyObject *SWIGUNUSEDPARM(self
   PyObject *resultobj = 0;
   Hex::Document *arg1 = (Hex::Document *) 0 ;
   Hex::Law *arg2 = (Hex::Law *) 0 ;
+  Hex::Law *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   void *argp2 = 0 ;
   int res2 = 0 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
-  Hex::Law *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OO:Document_addLaw",&obj0,&obj1)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -29580,7 +28500,7 @@ SWIGINTERN PyObject *_wrap_Document_addLaw(PyObject *self, PyObject *args) {
   int ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = (int)PyObject_Length(args);
+  argc = PyObject_Length(args);
   for (ii = 0; (ii < argc) && (ii < 3); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -29619,10 +28539,7 @@ SWIGINTERN PyObject *_wrap_Document_addLaw(PyObject *self, PyObject *args) {
   }
   
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'Document_addLaw'.\n"
-    "  Possible C/C++ prototypes are:\n"
-    "    addLaw(Hex::Document *,char const *,int)\n"
-    "    addLaw(Hex::Document *,Hex::Law *)\n");
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'Document_addLaw'.\n  Possible C/C++ prototypes are:\n    addLaw(char const *,int)\n    addLaw(Hex::Law *)\n");
   return NULL;
 }
 
@@ -29630,10 +28547,10 @@ fail:
 SWIGINTERN PyObject *_wrap_Document_checkAssociations(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   Hex::Document *arg1 = (Hex::Document *) 0 ;
+  int result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  int result;
   
   if (!PyArg_ParseTuple(args,(char *)"O:Document_checkAssociations",&obj0)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -29654,6 +28571,7 @@ SWIGINTERN PyObject *_wrap_Document_addShape(PyObject *SWIGUNUSEDPARM(self), PyO
   Hex::Document *arg1 = (Hex::Document *) 0 ;
   long arg2 ;
   char *arg3 = (char *) 0 ;
+  Hex::NewShape *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   long val2 ;
@@ -29664,7 +28582,6 @@ SWIGINTERN PyObject *_wrap_Document_addShape(PyObject *SWIGUNUSEDPARM(self), PyO
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
   PyObject * obj2 = 0 ;
-  Hex::NewShape *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOO:Document_addShape",&obj0,&obj1,&obj2)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -29706,6 +28623,7 @@ SWIGINTERN PyObject *_wrap_delete_Document(PyObject *SWIGUNUSEDPARM(self), PyObj
   }
   arg1 = reinterpret_cast< Hex::Document * >(argp1);
   delete arg1;
+  
   resultobj = SWIG_Py_Void();
   return resultobj;
 fail:
@@ -29715,7 +28633,7 @@ fail:
 
 SWIGINTERN PyObject *Document_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *obj;
-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+  if (!PyArg_ParseTuple(args,(char*)"O|swigregister", &obj)) return NULL;
   SWIG_TypeNewClientData(SWIGTYPE_p_Hex__Document, SWIG_NewClientData(obj));
   return SWIG_Py_Void();
 }
@@ -29723,10 +28641,10 @@ SWIGINTERN PyObject *Document_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObj
 SWIGINTERN PyObject *_wrap_Propagation_getEdges(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   Hex::Propagation *arg1 = (Hex::Propagation *) 0 ;
+  Hex::Edges *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  Hex::Edges *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"O:Propagation_getEdges",&obj0)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Propagation, 0 |  0 );
@@ -29734,8 +28652,11 @@ SWIGINTERN PyObject *_wrap_Propagation_getEdges(PyObject *SWIGUNUSEDPARM(self),
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Propagation_getEdges" "', argument " "1"" of type '" "Hex::Propagation *""'"); 
   }
   arg1 = reinterpret_cast< Hex::Propagation * >(argp1);
-  result = (Hex::Edges *) &(arg1)->getEdges();
-  resultobj = swig::from(static_cast< std::vector<Hex::Edge*,std::allocator< Hex::Edge * > > >(*result));
+  {
+    Hex::Edges const &_result_ref = (arg1)->getEdges();
+    result = (Hex::Edges *) &_result_ref;
+  }
+  resultobj = swig::from(static_cast< std::vector<Hex::Edge*,std::allocator<Hex::Edge * > > >(*result));
   return resultobj;
 fail:
   return NULL;
@@ -29745,10 +28666,10 @@ fail:
 SWIGINTERN PyObject *_wrap_Propagation_getLaw(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   Hex::Propagation *arg1 = (Hex::Propagation *) 0 ;
+  Hex::Law *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  Hex::Law *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"O:Propagation_getLaw",&obj0)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Propagation, 0 |  0 );
@@ -29767,10 +28688,10 @@ fail:
 SWIGINTERN PyObject *_wrap_Propagation_getWay(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   Hex::Propagation *arg1 = (Hex::Propagation *) 0 ;
+  bool result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  bool result;
   
   if (!PyArg_ParseTuple(args,(char *)"O:Propagation_getWay",&obj0)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Propagation, 0 |  0 );
@@ -29820,13 +28741,13 @@ SWIGINTERN PyObject *_wrap_Propagation_setLaw(PyObject *SWIGUNUSEDPARM(self), Py
   PyObject *resultobj = 0;
   Hex::Propagation *arg1 = (Hex::Propagation *) 0 ;
   Hex::Law *arg2 = (Hex::Law *) 0 ;
+  int result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   void *argp2 = 0 ;
   int res2 = 0 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
-  int result;
   
   if (!PyArg_ParseTuple(args,(char *)"OO:Propagation_setLaw",&obj0,&obj1)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Propagation, 0 |  0 );
@@ -29850,10 +28771,10 @@ fail:
 SWIGINTERN PyObject *_wrap_new_Propagation(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   Hex::Document *arg1 = (Hex::Document *) 0 ;
+  Hex::Propagation *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  Hex::Propagation *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"O:new_Propagation",&obj0)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -29964,6 +28885,7 @@ SWIGINTERN PyObject *_wrap_delete_Propagation(PyObject *SWIGUNUSEDPARM(self), Py
   }
   arg1 = reinterpret_cast< Hex::Propagation * >(argp1);
   delete arg1;
+  
   resultobj = SWIG_Py_Void();
   return resultobj;
 fail:
@@ -29973,7 +28895,7 @@ fail:
 
 SWIGINTERN PyObject *Propagation_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *obj;
-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+  if (!PyArg_ParseTuple(args,(char*)"O|swigregister", &obj)) return NULL;
   SWIG_TypeNewClientData(SWIGTYPE_p_Hex__Propagation, SWIG_NewClientData(obj));
   return SWIG_Py_Void();
 }
@@ -30007,10 +28929,10 @@ fail:
 SWIGINTERN PyObject *_wrap_Hex_countDocument(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   Hex::Hex *arg1 = (Hex::Hex *) 0 ;
+  int result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  int result;
   
   if (!PyArg_ParseTuple(args,(char *)"O:Hex_countDocument",&obj0)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Hex, 0 |  0 );
@@ -30030,13 +28952,13 @@ SWIGINTERN PyObject *_wrap_Hex_getDocument(PyObject *SWIGUNUSEDPARM(self), PyObj
   PyObject *resultobj = 0;
   Hex::Hex *arg1 = (Hex::Hex *) 0 ;
   int arg2 ;
+  Hex::Document *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   int val2 ;
   int ecode2 = 0 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
-  Hex::Document *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OO:Hex_getDocument",&obj0,&obj1)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Hex, 0 |  0 );
@@ -30091,6 +29013,7 @@ SWIGINTERN PyObject *_wrap_Hex_addDocument__SWIG_0(PyObject *SWIGUNUSEDPARM(self
   PyObject *resultobj = 0;
   Hex::Hex *arg1 = (Hex::Hex *) 0 ;
   cpchar arg2 = (cpchar) 0 ;
+  Hex::Document *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   int res2 ;
@@ -30098,7 +29021,6 @@ SWIGINTERN PyObject *_wrap_Hex_addDocument__SWIG_0(PyObject *SWIGUNUSEDPARM(self
   int alloc2 = 0 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
-  Hex::Document *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OO:Hex_addDocument",&obj0,&obj1)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Hex, 0 |  0 );
@@ -30124,10 +29046,10 @@ fail:
 SWIGINTERN PyObject *_wrap_Hex_addDocument__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   Hex::Hex *arg1 = (Hex::Hex *) 0 ;
+  Hex::Document *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  Hex::Document *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"O:Hex_addDocument",&obj0)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Hex, 0 |  0 );
@@ -30149,7 +29071,7 @@ SWIGINTERN PyObject *_wrap_Hex_addDocument(PyObject *self, PyObject *args) {
   int ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = (int)PyObject_Length(args);
+  argc = PyObject_Length(args);
   for (ii = 0; (ii < argc) && (ii < 2); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -30177,10 +29099,7 @@ SWIGINTERN PyObject *_wrap_Hex_addDocument(PyObject *self, PyObject *args) {
   }
   
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'Hex_addDocument'.\n"
-    "  Possible C/C++ prototypes are:\n"
-    "    addDocument(Hex::Hex *,cpchar)\n"
-    "    addDocument(Hex::Hex *)\n");
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'Hex_addDocument'.\n  Possible C/C++ prototypes are:\n    addDocument(cpchar)\n    addDocument()\n");
   return NULL;
 }
 
@@ -30189,6 +29108,7 @@ SWIGINTERN PyObject *_wrap_Hex_loadDocument(PyObject *SWIGUNUSEDPARM(self), PyOb
   PyObject *resultobj = 0;
   Hex::Hex *arg1 = (Hex::Hex *) 0 ;
   cpchar arg2 = (cpchar) 0 ;
+  Hex::Document *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   int res2 ;
@@ -30196,7 +29116,6 @@ SWIGINTERN PyObject *_wrap_Hex_loadDocument(PyObject *SWIGUNUSEDPARM(self), PyOb
   int alloc2 = 0 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
-  Hex::Document *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OO:Hex_loadDocument",&obj0,&obj1)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Hex, 0 |  0 );
@@ -30223,6 +29142,7 @@ SWIGINTERN PyObject *_wrap_Hex_findDocument__SWIG_0(PyObject *SWIGUNUSEDPARM(sel
   PyObject *resultobj = 0;
   Hex::Hex *arg1 = (Hex::Hex *) 0 ;
   cpchar arg2 = (cpchar) 0 ;
+  Hex::Document *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   int res2 ;
@@ -30230,7 +29150,6 @@ SWIGINTERN PyObject *_wrap_Hex_findDocument__SWIG_0(PyObject *SWIGUNUSEDPARM(sel
   int alloc2 = 0 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
-  Hex::Document *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OO:Hex_findDocument",&obj0,&obj1)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Hex, 0 |  0 );
@@ -30257,13 +29176,13 @@ SWIGINTERN PyObject *_wrap_Hex_findDocument__SWIG_1(PyObject *SWIGUNUSEDPARM(sel
   PyObject *resultobj = 0;
   Hex::Hex *arg1 = (Hex::Hex *) 0 ;
   string *arg2 = 0 ;
+  Hex::Document *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   void *argp2 = 0 ;
   int res2 = 0 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
-  Hex::Document *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OO:Hex_findDocument",&obj0,&obj1)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Hex, 0 |  0 );
@@ -30293,7 +29212,7 @@ SWIGINTERN PyObject *_wrap_Hex_findDocument(PyObject *self, PyObject *args) {
   int ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = (int)PyObject_Length(args);
+  argc = PyObject_Length(args);
   for (ii = 0; (ii < argc) && (ii < 2); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -30325,10 +29244,7 @@ SWIGINTERN PyObject *_wrap_Hex_findDocument(PyObject *self, PyObject *args) {
   }
   
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'Hex_findDocument'.\n"
-    "  Possible C/C++ prototypes are:\n"
-    "    findDocument(Hex::Hex *,cpchar)\n"
-    "    findDocument(Hex::Hex *,string const &)\n");
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'Hex_findDocument'.\n  Possible C/C++ prototypes are:\n    findDocument(cpchar)\n    findDocument(string const &)\n");
   return NULL;
 }
 
@@ -30357,10 +29273,10 @@ fail:
 SWIGINTERN PyObject *_wrap_Hex_sizeofMessage(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   Hex::Hex *arg1 = (Hex::Hex *) 0 ;
+  int result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  int result;
   
   if (!PyArg_ParseTuple(args,(char *)"O:Hex_sizeofMessage",&obj0)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Hex, 0 |  0 );
@@ -30380,13 +29296,13 @@ SWIGINTERN PyObject *_wrap_Hex_getMessageLine(PyObject *SWIGUNUSEDPARM(self), Py
   PyObject *resultobj = 0;
   Hex::Hex *arg1 = (Hex::Hex *) 0 ;
   int arg2 ;
+  cpchar result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   int val2 ;
   int ecode2 = 0 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
-  cpchar result;
   
   if (!PyArg_ParseTuple(args,(char *)"OO:Hex_getMessageLine",&obj0,&obj1)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Hex, 0 |  0 );
@@ -30434,6 +29350,7 @@ SWIGINTERN PyObject *_wrap_delete_Hex(PyObject *SWIGUNUSEDPARM(self), PyObject *
   }
   arg1 = reinterpret_cast< Hex::Hex * >(argp1);
   delete arg1;
+  
   resultobj = SWIG_Py_Void();
   return resultobj;
 fail:
@@ -30443,7 +29360,7 @@ fail:
 
 SWIGINTERN PyObject *Hex_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *obj;
-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+  if (!PyArg_ParseTuple(args,(char*)"O|swigregister", &obj)) return NULL;
   SWIG_TypeNewClientData(SWIGTYPE_p_Hex__Hex, SWIG_NewClientData(obj));
   return SWIG_Py_Void();
 }
@@ -30464,13 +29381,13 @@ SWIGINTERN PyObject *_wrap_Elements_getHexa(PyObject *SWIGUNUSEDPARM(self), PyOb
   PyObject *resultobj = 0;
   Hex::Elements *arg1 = (Hex::Elements *) 0 ;
   int arg2 ;
+  Hex::Hexa *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   int val2 ;
   int ecode2 = 0 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
-  Hex::Hexa *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OO:Elements_getHexa",&obj0,&obj1)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Elements, 0 |  0 );
@@ -30495,13 +29412,13 @@ SWIGINTERN PyObject *_wrap_Elements_getQuad(PyObject *SWIGUNUSEDPARM(self), PyOb
   PyObject *resultobj = 0;
   Hex::Elements *arg1 = (Hex::Elements *) 0 ;
   int arg2 ;
+  Hex::Quad *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   int val2 ;
   int ecode2 = 0 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
-  Hex::Quad *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OO:Elements_getQuad",&obj0,&obj1)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Elements, 0 |  0 );
@@ -30526,13 +29443,13 @@ SWIGINTERN PyObject *_wrap_Elements_getEdge(PyObject *SWIGUNUSEDPARM(self), PyOb
   PyObject *resultobj = 0;
   Hex::Elements *arg1 = (Hex::Elements *) 0 ;
   int arg2 ;
+  Hex::Edge *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   int val2 ;
   int ecode2 = 0 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
-  Hex::Edge *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OO:Elements_getEdge",&obj0,&obj1)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Elements, 0 |  0 );
@@ -30557,13 +29474,13 @@ SWIGINTERN PyObject *_wrap_Elements_getVertex(PyObject *SWIGUNUSEDPARM(self), Py
   PyObject *resultobj = 0;
   Hex::Elements *arg1 = (Hex::Elements *) 0 ;
   int arg2 ;
+  Hex::Vertex *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   int val2 ;
   int ecode2 = 0 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
-  Hex::Vertex *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OO:Elements_getVertex",&obj0,&obj1)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Elements, 0 |  0 );
@@ -30590,6 +29507,7 @@ SWIGINTERN PyObject *_wrap_Elements_getHexaIJK(PyObject *SWIGUNUSEDPARM(self), P
   int arg2 ;
   int arg3 ;
   int arg4 ;
+  Hex::Hexa *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   int val2 ;
@@ -30602,7 +29520,6 @@ SWIGINTERN PyObject *_wrap_Elements_getHexaIJK(PyObject *SWIGUNUSEDPARM(self), P
   PyObject * obj1 = 0 ;
   PyObject * obj2 = 0 ;
   PyObject * obj3 = 0 ;
-  Hex::Hexa *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOOO:Elements_getHexaIJK",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Elements, 0 |  0 );
@@ -30639,6 +29556,7 @@ SWIGINTERN PyObject *_wrap_Elements_getQuadIJ(PyObject *SWIGUNUSEDPARM(self), Py
   int arg2 ;
   int arg3 ;
   int arg4 ;
+  Hex::Quad *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   int val2 ;
@@ -30651,7 +29569,6 @@ SWIGINTERN PyObject *_wrap_Elements_getQuadIJ(PyObject *SWIGUNUSEDPARM(self), Py
   PyObject * obj1 = 0 ;
   PyObject * obj2 = 0 ;
   PyObject * obj3 = 0 ;
-  Hex::Quad *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOOO:Elements_getQuadIJ",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Elements, 0 |  0 );
@@ -30688,6 +29605,7 @@ SWIGINTERN PyObject *_wrap_Elements_getQuadJK(PyObject *SWIGUNUSEDPARM(self), Py
   int arg2 ;
   int arg3 ;
   int arg4 ;
+  Hex::Quad *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   int val2 ;
@@ -30700,7 +29618,6 @@ SWIGINTERN PyObject *_wrap_Elements_getQuadJK(PyObject *SWIGUNUSEDPARM(self), Py
   PyObject * obj1 = 0 ;
   PyObject * obj2 = 0 ;
   PyObject * obj3 = 0 ;
-  Hex::Quad *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOOO:Elements_getQuadJK",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Elements, 0 |  0 );
@@ -30737,6 +29654,7 @@ SWIGINTERN PyObject *_wrap_Elements_getQuadIK(PyObject *SWIGUNUSEDPARM(self), Py
   int arg2 ;
   int arg3 ;
   int arg4 ;
+  Hex::Quad *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   int val2 ;
@@ -30749,7 +29667,6 @@ SWIGINTERN PyObject *_wrap_Elements_getQuadIK(PyObject *SWIGUNUSEDPARM(self), Py
   PyObject * obj1 = 0 ;
   PyObject * obj2 = 0 ;
   PyObject * obj3 = 0 ;
-  Hex::Quad *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOOO:Elements_getQuadIK",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Elements, 0 |  0 );
@@ -30786,6 +29703,7 @@ SWIGINTERN PyObject *_wrap_Elements_getEdgeI(PyObject *SWIGUNUSEDPARM(self), PyO
   int arg2 ;
   int arg3 ;
   int arg4 ;
+  Hex::Edge *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   int val2 ;
@@ -30798,7 +29716,6 @@ SWIGINTERN PyObject *_wrap_Elements_getEdgeI(PyObject *SWIGUNUSEDPARM(self), PyO
   PyObject * obj1 = 0 ;
   PyObject * obj2 = 0 ;
   PyObject * obj3 = 0 ;
-  Hex::Edge *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOOO:Elements_getEdgeI",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Elements, 0 |  0 );
@@ -30835,6 +29752,7 @@ SWIGINTERN PyObject *_wrap_Elements_getEdgeJ(PyObject *SWIGUNUSEDPARM(self), PyO
   int arg2 ;
   int arg3 ;
   int arg4 ;
+  Hex::Edge *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   int val2 ;
@@ -30847,7 +29765,6 @@ SWIGINTERN PyObject *_wrap_Elements_getEdgeJ(PyObject *SWIGUNUSEDPARM(self), PyO
   PyObject * obj1 = 0 ;
   PyObject * obj2 = 0 ;
   PyObject * obj3 = 0 ;
-  Hex::Edge *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOOO:Elements_getEdgeJ",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Elements, 0 |  0 );
@@ -30884,6 +29801,7 @@ SWIGINTERN PyObject *_wrap_Elements_getEdgeK(PyObject *SWIGUNUSEDPARM(self), PyO
   int arg2 ;
   int arg3 ;
   int arg4 ;
+  Hex::Edge *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   int val2 ;
@@ -30896,7 +29814,6 @@ SWIGINTERN PyObject *_wrap_Elements_getEdgeK(PyObject *SWIGUNUSEDPARM(self), PyO
   PyObject * obj1 = 0 ;
   PyObject * obj2 = 0 ;
   PyObject * obj3 = 0 ;
-  Hex::Edge *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOOO:Elements_getEdgeK",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Elements, 0 |  0 );
@@ -30933,6 +29850,7 @@ SWIGINTERN PyObject *_wrap_Elements_getVertexIJK(PyObject *SWIGUNUSEDPARM(self),
   int arg2 ;
   int arg3 ;
   int arg4 ;
+  Hex::Vertex *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   int val2 ;
@@ -30945,7 +29863,6 @@ SWIGINTERN PyObject *_wrap_Elements_getVertexIJK(PyObject *SWIGUNUSEDPARM(self),
   PyObject * obj1 = 0 ;
   PyObject * obj2 = 0 ;
   PyObject * obj3 = 0 ;
-  Hex::Vertex *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOOO:Elements_getVertexIJK",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Elements, 0 |  0 );
@@ -30979,10 +29896,10 @@ fail:
 SWIGINTERN PyObject *_wrap_Elements_countHexa(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   Hex::Elements *arg1 = (Hex::Elements *) 0 ;
+  int result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  int result;
   
   if (!PyArg_ParseTuple(args,(char *)"O:Elements_countHexa",&obj0)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Elements, 0 |  0 );
@@ -31001,10 +29918,10 @@ fail:
 SWIGINTERN PyObject *_wrap_Elements_countQuad(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   Hex::Elements *arg1 = (Hex::Elements *) 0 ;
+  int result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  int result;
   
   if (!PyArg_ParseTuple(args,(char *)"O:Elements_countQuad",&obj0)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Elements, 0 |  0 );
@@ -31023,10 +29940,10 @@ fail:
 SWIGINTERN PyObject *_wrap_Elements_countEdge(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   Hex::Elements *arg1 = (Hex::Elements *) 0 ;
+  int result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  int result;
   
   if (!PyArg_ParseTuple(args,(char *)"O:Elements_countEdge",&obj0)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Elements, 0 |  0 );
@@ -31045,10 +29962,10 @@ fail:
 SWIGINTERN PyObject *_wrap_Elements_countVertex(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   Hex::Elements *arg1 = (Hex::Elements *) 0 ;
+  int result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  int result;
   
   if (!PyArg_ParseTuple(args,(char *)"O:Elements_countVertex",&obj0)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Elements, 0 |  0 );
@@ -31068,13 +29985,13 @@ SWIGINTERN PyObject *_wrap_Elements_nearestVertex(PyObject *SWIGUNUSEDPARM(self)
   PyObject *resultobj = 0;
   Hex::Elements *arg1 = (Hex::Elements *) 0 ;
   Hex::Vertex *arg2 = (Hex::Vertex *) 0 ;
+  Hex::Vertex *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   void *argp2 = 0 ;
   int res2 = 0 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
-  Hex::Vertex *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OO:Elements_nearestVertex",&obj0,&obj1)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Elements, 0 |  0 );
@@ -31099,13 +30016,13 @@ SWIGINTERN PyObject *_wrap_Elements_findVertex(PyObject *SWIGUNUSEDPARM(self), P
   PyObject *resultobj = 0;
   Hex::Elements *arg1 = (Hex::Elements *) 0 ;
   Hex::Vertex *arg2 = (Hex::Vertex *) 0 ;
+  int result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   void *argp2 = 0 ;
   int res2 = 0 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
-  int result;
   
   if (!PyArg_ParseTuple(args,(char *)"OO:Elements_findVertex",&obj0,&obj1)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Elements, 0 |  0 );
@@ -31151,6 +30068,7 @@ SWIGINTERN PyObject *_wrap_Elements_saveVtk(PyObject *SWIGUNUSEDPARM(self), PyOb
   PyObject *resultobj = 0;
   Hex::Elements *arg1 = (Hex::Elements *) 0 ;
   cpchar arg2 = (cpchar) 0 ;
+  int result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   int res2 ;
@@ -31158,7 +30076,6 @@ SWIGINTERN PyObject *_wrap_Elements_saveVtk(PyObject *SWIGUNUSEDPARM(self), PyOb
   int alloc2 = 0 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
-  int result;
   
   if (!PyArg_ParseTuple(args,(char *)"OO:Elements_saveVtk",&obj0,&obj1)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Elements, 0 |  0 );
@@ -31184,10 +30101,10 @@ fail:
 SWIGINTERN PyObject *_wrap_new_Elements(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   Hex::Document *arg1 = (Hex::Document *) 0 ;
+  Hex::Elements *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  Hex::Elements *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"O:new_Elements",&obj0)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -31217,6 +30134,7 @@ SWIGINTERN PyObject *_wrap_delete_Elements(PyObject *SWIGUNUSEDPARM(self), PyObj
   }
   arg1 = reinterpret_cast< Hex::Elements * >(argp1);
   delete arg1;
+  
   resultobj = SWIG_Py_Void();
   return resultobj;
 fail:
@@ -31226,7 +30144,7 @@ fail:
 
 SWIGINTERN PyObject *Elements_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *obj;
-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+  if (!PyArg_ParseTuple(args,(char*)"O|swigregister", &obj)) return NULL;
   SWIG_TypeNewClientData(SWIGTYPE_p_Hex__Elements, SWIG_NewClientData(obj));
   return SWIG_Py_Void();
 }
@@ -31234,10 +30152,10 @@ SWIGINTERN PyObject *Elements_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObj
 SWIGINTERN PyObject *_wrap_new_BiCylinder(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   Hex::Document *arg1 = (Hex::Document *) 0 ;
+  Hex::BiCylinder *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  Hex::BiCylinder *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"O:new_BiCylinder",&obj0)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -31260,6 +30178,7 @@ SWIGINTERN PyObject *_wrap_BiCylinder_getHexaIJK(PyObject *SWIGUNUSEDPARM(self),
   int arg3 ;
   int arg4 ;
   int arg5 ;
+  Hex::Hexa *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   int val2 ;
@@ -31275,7 +30194,6 @@ SWIGINTERN PyObject *_wrap_BiCylinder_getHexaIJK(PyObject *SWIGUNUSEDPARM(self),
   PyObject * obj2 = 0 ;
   PyObject * obj3 = 0 ;
   PyObject * obj4 = 0 ;
-  Hex::Hexa *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOOOO:BiCylinder_getHexaIJK",&obj0,&obj1,&obj2,&obj3,&obj4)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__BiCylinder, 0 |  0 );
@@ -31318,6 +30236,7 @@ SWIGINTERN PyObject *_wrap_BiCylinder_getQuadIJ(PyObject *SWIGUNUSEDPARM(self),
   int arg3 ;
   int arg4 ;
   int arg5 ;
+  Hex::Quad *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   int val2 ;
@@ -31333,7 +30252,6 @@ SWIGINTERN PyObject *_wrap_BiCylinder_getQuadIJ(PyObject *SWIGUNUSEDPARM(self),
   PyObject * obj2 = 0 ;
   PyObject * obj3 = 0 ;
   PyObject * obj4 = 0 ;
-  Hex::Quad *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOOOO:BiCylinder_getQuadIJ",&obj0,&obj1,&obj2,&obj3,&obj4)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__BiCylinder, 0 |  0 );
@@ -31376,6 +30294,7 @@ SWIGINTERN PyObject *_wrap_BiCylinder_getQuadJK(PyObject *SWIGUNUSEDPARM(self),
   int arg3 ;
   int arg4 ;
   int arg5 ;
+  Hex::Quad *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   int val2 ;
@@ -31391,7 +30310,6 @@ SWIGINTERN PyObject *_wrap_BiCylinder_getQuadJK(PyObject *SWIGUNUSEDPARM(self),
   PyObject * obj2 = 0 ;
   PyObject * obj3 = 0 ;
   PyObject * obj4 = 0 ;
-  Hex::Quad *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOOOO:BiCylinder_getQuadJK",&obj0,&obj1,&obj2,&obj3,&obj4)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__BiCylinder, 0 |  0 );
@@ -31434,6 +30352,7 @@ SWIGINTERN PyObject *_wrap_BiCylinder_getQuadIK(PyObject *SWIGUNUSEDPARM(self),
   int arg3 ;
   int arg4 ;
   int arg5 ;
+  Hex::Quad *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   int val2 ;
@@ -31449,7 +30368,6 @@ SWIGINTERN PyObject *_wrap_BiCylinder_getQuadIK(PyObject *SWIGUNUSEDPARM(self),
   PyObject * obj2 = 0 ;
   PyObject * obj3 = 0 ;
   PyObject * obj4 = 0 ;
-  Hex::Quad *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOOOO:BiCylinder_getQuadIK",&obj0,&obj1,&obj2,&obj3,&obj4)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__BiCylinder, 0 |  0 );
@@ -31492,6 +30410,7 @@ SWIGINTERN PyObject *_wrap_BiCylinder_getEdgeI(PyObject *SWIGUNUSEDPARM(self), P
   int arg3 ;
   int arg4 ;
   int arg5 ;
+  Hex::Edge *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   int val2 ;
@@ -31507,7 +30426,6 @@ SWIGINTERN PyObject *_wrap_BiCylinder_getEdgeI(PyObject *SWIGUNUSEDPARM(self), P
   PyObject * obj2 = 0 ;
   PyObject * obj3 = 0 ;
   PyObject * obj4 = 0 ;
-  Hex::Edge *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOOOO:BiCylinder_getEdgeI",&obj0,&obj1,&obj2,&obj3,&obj4)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__BiCylinder, 0 |  0 );
@@ -31550,6 +30468,7 @@ SWIGINTERN PyObject *_wrap_BiCylinder_getEdgeJ(PyObject *SWIGUNUSEDPARM(self), P
   int arg3 ;
   int arg4 ;
   int arg5 ;
+  Hex::Edge *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   int val2 ;
@@ -31565,7 +30484,6 @@ SWIGINTERN PyObject *_wrap_BiCylinder_getEdgeJ(PyObject *SWIGUNUSEDPARM(self), P
   PyObject * obj2 = 0 ;
   PyObject * obj3 = 0 ;
   PyObject * obj4 = 0 ;
-  Hex::Edge *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOOOO:BiCylinder_getEdgeJ",&obj0,&obj1,&obj2,&obj3,&obj4)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__BiCylinder, 0 |  0 );
@@ -31608,6 +30526,7 @@ SWIGINTERN PyObject *_wrap_BiCylinder_getEdgeK(PyObject *SWIGUNUSEDPARM(self), P
   int arg3 ;
   int arg4 ;
   int arg5 ;
+  Hex::Edge *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   int val2 ;
@@ -31623,7 +30542,6 @@ SWIGINTERN PyObject *_wrap_BiCylinder_getEdgeK(PyObject *SWIGUNUSEDPARM(self), P
   PyObject * obj2 = 0 ;
   PyObject * obj3 = 0 ;
   PyObject * obj4 = 0 ;
-  Hex::Edge *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOOOO:BiCylinder_getEdgeK",&obj0,&obj1,&obj2,&obj3,&obj4)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__BiCylinder, 0 |  0 );
@@ -31666,6 +30584,7 @@ SWIGINTERN PyObject *_wrap_BiCylinder_getVertexIJK(PyObject *SWIGUNUSEDPARM(self
   int arg3 ;
   int arg4 ;
   int arg5 ;
+  Hex::Vertex *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   int val2 ;
@@ -31681,7 +30600,6 @@ SWIGINTERN PyObject *_wrap_BiCylinder_getVertexIJK(PyObject *SWIGUNUSEDPARM(self
   PyObject * obj2 = 0 ;
   PyObject * obj3 = 0 ;
   PyObject * obj4 = 0 ;
-  Hex::Vertex *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOOOO:BiCylinder_getVertexIJK",&obj0,&obj1,&obj2,&obj3,&obj4)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__BiCylinder, 0 |  0 );
@@ -31731,6 +30649,7 @@ SWIGINTERN PyObject *_wrap_delete_BiCylinder(PyObject *SWIGUNUSEDPARM(self), PyO
   }
   arg1 = reinterpret_cast< Hex::BiCylinder * >(argp1);
   delete arg1;
+  
   resultobj = SWIG_Py_Void();
   return resultobj;
 fail:
@@ -31740,7 +30659,7 @@ fail:
 
 SWIGINTERN PyObject *BiCylinder_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *obj;
-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+  if (!PyArg_ParseTuple(args,(char*)"O|swigregister", &obj)) return NULL;
   SWIG_TypeNewClientData(SWIGTYPE_p_Hex__BiCylinder, SWIG_NewClientData(obj));
   return SWIG_Py_Void();
 }
@@ -31748,10 +30667,10 @@ SWIGINTERN PyObject *BiCylinder_swigregister(PyObject *SWIGUNUSEDPARM(self), PyO
 SWIGINTERN PyObject *_wrap_NewShape_countVertex(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   Hex::NewShape *arg1 = (Hex::NewShape *) 0 ;
+  int result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  int result;
   
   if (!PyArg_ParseTuple(args,(char *)"O:NewShape_countVertex",&obj0)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__NewShape, 0 |  0 );
@@ -31770,10 +30689,10 @@ fail:
 SWIGINTERN PyObject *_wrap_NewShape_countEdge(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   Hex::NewShape *arg1 = (Hex::NewShape *) 0 ;
+  int result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  int result;
   
   if (!PyArg_ParseTuple(args,(char *)"O:NewShape_countEdge",&obj0)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__NewShape, 0 |  0 );
@@ -31792,10 +30711,10 @@ fail:
 SWIGINTERN PyObject *_wrap_NewShape_countFace(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   Hex::NewShape *arg1 = (Hex::NewShape *) 0 ;
+  int result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  int result;
   
   if (!PyArg_ParseTuple(args,(char *)"O:NewShape_countFace",&obj0)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__NewShape, 0 |  0 );
@@ -31815,13 +30734,13 @@ SWIGINTERN PyObject *_wrap_NewShape_getVertex(PyObject *SWIGUNUSEDPARM(self), Py
   PyObject *resultobj = 0;
   Hex::NewShape *arg1 = (Hex::NewShape *) 0 ;
   int arg2 ;
+  int result;
   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:NewShape_getVertex",&obj0,&obj1)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__NewShape, 0 |  0 );
@@ -31846,13 +30765,13 @@ SWIGINTERN PyObject *_wrap_NewShape_getEdge(PyObject *SWIGUNUSEDPARM(self), PyOb
   PyObject *resultobj = 0;
   Hex::NewShape *arg1 = (Hex::NewShape *) 0 ;
   int arg2 ;
+  int result;
   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:NewShape_getEdge",&obj0,&obj1)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__NewShape, 0 |  0 );
@@ -31877,13 +30796,13 @@ SWIGINTERN PyObject *_wrap_NewShape_getFace(PyObject *SWIGUNUSEDPARM(self), PyOb
   PyObject *resultobj = 0;
   Hex::NewShape *arg1 = (Hex::NewShape *) 0 ;
   int arg2 ;
+  int result;
   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:NewShape_getFace",&obj0,&obj1)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__NewShape, 0 |  0 );
@@ -31908,13 +30827,13 @@ SWIGINTERN PyObject *_wrap_NewShape_getNameVertex(PyObject *SWIGUNUSEDPARM(self)
   PyObject *resultobj = 0;
   Hex::NewShape *arg1 = (Hex::NewShape *) 0 ;
   int arg2 ;
+  cpchar result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   int val2 ;
   int ecode2 = 0 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
-  cpchar result;
   
   if (!PyArg_ParseTuple(args,(char *)"OO:NewShape_getNameVertex",&obj0,&obj1)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__NewShape, 0 |  0 );
@@ -31939,13 +30858,13 @@ SWIGINTERN PyObject *_wrap_NewShape_getNameEdge(PyObject *SWIGUNUSEDPARM(self),
   PyObject *resultobj = 0;
   Hex::NewShape *arg1 = (Hex::NewShape *) 0 ;
   int arg2 ;
+  cpchar result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   int val2 ;
   int ecode2 = 0 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
-  cpchar result;
   
   if (!PyArg_ParseTuple(args,(char *)"OO:NewShape_getNameEdge",&obj0,&obj1)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__NewShape, 0 |  0 );
@@ -31970,13 +30889,13 @@ SWIGINTERN PyObject *_wrap_NewShape_getNameFace(PyObject *SWIGUNUSEDPARM(self),
   PyObject *resultobj = 0;
   Hex::NewShape *arg1 = (Hex::NewShape *) 0 ;
   int arg2 ;
+  cpchar result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   int val2 ;
   int ecode2 = 0 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
-  cpchar result;
   
   if (!PyArg_ParseTuple(args,(char *)"OO:NewShape_getNameFace",&obj0,&obj1)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__NewShape, 0 |  0 );
@@ -32001,13 +30920,13 @@ SWIGINTERN PyObject *_wrap_new_NewShape__SWIG_0(PyObject *SWIGUNUSEDPARM(self),
   PyObject *resultobj = 0;
   Hex::Document *arg1 = (Hex::Document *) 0 ;
   Hex::EnumShape arg2 ;
+  Hex::NewShape *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   int val2 ;
   int ecode2 = 0 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
-  Hex::NewShape *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OO:new_NewShape",&obj0,&obj1)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -32031,10 +30950,10 @@ fail:
 SWIGINTERN PyObject *_wrap_new_NewShape__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   Hex::Document *arg1 = (Hex::Document *) 0 ;
+  Hex::NewShape *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  Hex::NewShape *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"O:new_NewShape",&obj0)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -32056,7 +30975,7 @@ SWIGINTERN PyObject *_wrap_new_NewShape(PyObject *self, PyObject *args) {
   int ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = (int)PyObject_Length(args);
+  argc = PyObject_Length(args);
   for (ii = 0; (ii < argc) && (ii < 2); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -32086,10 +31005,7 @@ SWIGINTERN PyObject *_wrap_new_NewShape(PyObject *self, PyObject *args) {
   }
   
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'new_NewShape'.\n"
-    "  Possible C/C++ prototypes are:\n"
-    "    Hex::NewShape(Hex::Document *,Hex::EnumShape)\n"
-    "    Hex::NewShape(Hex::Document *)\n");
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'new_NewShape'.\n  Possible C/C++ prototypes are:\n    Hex::NewShape(Hex::Document *,Hex::EnumShape)\n    Hex::NewShape(Hex::Document *)\n");
   return NULL;
 }
 
@@ -32108,6 +31024,7 @@ SWIGINTERN PyObject *_wrap_delete_NewShape(PyObject *SWIGUNUSEDPARM(self), PyObj
   }
   arg1 = reinterpret_cast< Hex::NewShape * >(argp1);
   delete arg1;
+  
   resultobj = SWIG_Py_Void();
   return resultobj;
 fail:
@@ -32117,7 +31034,7 @@ fail:
 
 SWIGINTERN PyObject *NewShape_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *obj;
-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+  if (!PyArg_ParseTuple(args,(char*)"O|swigregister", &obj)) return NULL;
   SWIG_TypeNewClientData(SWIGTYPE_p_Hex__NewShape, SWIG_NewClientData(obj));
   return SWIG_Py_Void();
 }
@@ -32126,13 +31043,13 @@ SWIGINTERN PyObject *_wrap_Group_addElement(PyObject *SWIGUNUSEDPARM(self), PyOb
   PyObject *resultobj = 0;
   Hex::Group *arg1 = (Hex::Group *) 0 ;
   Hex::EltBase *arg2 = (Hex::EltBase *) 0 ;
+  int result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   void *argp2 = 0 ;
   int res2 = 0 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
-  int result;
   
   if (!PyArg_ParseTuple(args,(char *)"OO:Group_addElement",&obj0,&obj1)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Group, 0 |  0 );
@@ -32156,10 +31073,10 @@ fail:
 SWIGINTERN PyObject *_wrap_Group_countElement(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   Hex::Group *arg1 = (Hex::Group *) 0 ;
+  int result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  int result;
   
   if (!PyArg_ParseTuple(args,(char *)"O:Group_countElement",&obj0)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Group, 0 |  0 );
@@ -32178,10 +31095,10 @@ fail:
 SWIGINTERN PyObject *_wrap_Group_getKind(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   Hex::Group *arg1 = (Hex::Group *) 0 ;
+  Hex::EnumGroup result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject * obj0 = 0 ;
-  Hex::EnumGroup result;
   
   if (!PyArg_ParseTuple(args,(char *)"O:Group_getKind",&obj0)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Group, 0 |  0 );
@@ -32201,13 +31118,13 @@ SWIGINTERN PyObject *_wrap_Group_removeElement__SWIG_0(PyObject *SWIGUNUSEDPARM(
   PyObject *resultobj = 0;
   Hex::Group *arg1 = (Hex::Group *) 0 ;
   int arg2 ;
+  int result;
   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:Group_removeElement",&obj0,&obj1)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Group, 0 |  0 );
@@ -32253,13 +31170,13 @@ SWIGINTERN PyObject *_wrap_Group_removeElement__SWIG_1(PyObject *SWIGUNUSEDPARM(
   PyObject *resultobj = 0;
   Hex::Group *arg1 = (Hex::Group *) 0 ;
   Hex::EltBase *arg2 = (Hex::EltBase *) 0 ;
+  int result;
   void *argp1 = 0 ;
   int res1 = 0 ;
   void *argp2 = 0 ;
   int res2 = 0 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
-  int result;
   
   if (!PyArg_ParseTuple(args,(char *)"OO:Group_removeElement",&obj0,&obj1)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Group, 0 |  0 );
@@ -32286,7 +31203,7 @@ SWIGINTERN PyObject *_wrap_Group_removeElement(PyObject *self, PyObject *args) {
   int ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = (int)PyObject_Length(args);
+  argc = PyObject_Length(args);
   for (ii = 0; (ii < argc) && (ii < 2); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -32321,10 +31238,7 @@ SWIGINTERN PyObject *_wrap_Group_removeElement(PyObject *self, PyObject *args) {
   }
   
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'Group_removeElement'.\n"
-    "  Possible C/C++ prototypes are:\n"
-    "    removeElement(Hex::Group *,int)\n"
-    "    removeElement(Hex::Group *,Hex::EltBase *)\n");
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'Group_removeElement'.\n  Possible C/C++ prototypes are:\n    removeElement(int)\n    removeElement(Hex::EltBase *)\n");
   return NULL;
 }
 
@@ -32333,13 +31247,13 @@ SWIGINTERN PyObject *_wrap_Group_getElement(PyObject *SWIGUNUSEDPARM(self), PyOb
   PyObject *resultobj = 0;
   Hex::Group *arg1 = (Hex::Group *) 0 ;
   int arg2 ;
+  Hex::EltBase *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   int val2 ;
   int ecode2 = 0 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
-  Hex::EltBase *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OO:Group_getElement",&obj0,&obj1)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Group, 0 |  0 );
@@ -32365,6 +31279,7 @@ SWIGINTERN PyObject *_wrap_new_Group(PyObject *SWIGUNUSEDPARM(self), PyObject *a
   Hex::Document *arg1 = (Hex::Document *) 0 ;
   cpchar arg2 = (cpchar) 0 ;
   Hex::EnumGroup arg3 ;
+  Hex::Group *result = 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   int res2 ;
@@ -32375,7 +31290,6 @@ SWIGINTERN PyObject *_wrap_new_Group(PyObject *SWIGUNUSEDPARM(self), PyObject *a
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
   PyObject * obj2 = 0 ;
-  Hex::Group *result = 0 ;
   
   if (!PyArg_ParseTuple(args,(char *)"OOO:new_Group",&obj0,&obj1,&obj2)) SWIG_fail;
   res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Hex__Document, 0 |  0 );
@@ -32417,6 +31331,7 @@ SWIGINTERN PyObject *_wrap_delete_Group(PyObject *SWIGUNUSEDPARM(self), PyObject
   }
   arg1 = reinterpret_cast< Hex::Group * >(argp1);
   delete arg1;
+  
   resultobj = SWIG_Py_Void();
   return resultobj;
 fail:
@@ -32426,34 +31341,31 @@ fail:
 
 SWIGINTERN PyObject *Group_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *obj;
-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+  if (!PyArg_ParseTuple(args,(char*)"O|swigregister", &obj)) return NULL;
   SWIG_TypeNewClientData(SWIGTYPE_p_Hex__Group, SWIG_NewClientData(obj));
   return SWIG_Py_Void();
 }
 
 static PyMethodDef SwigMethods[] = {
-        { (char *)"SWIG_PyInstanceMethod_New", (PyCFunction)SWIG_PyInstanceMethod_New, METH_O, NULL},
-        { (char *)"delete_SwigPyIterator", _wrap_delete_SwigPyIterator, METH_VARARGS, NULL},
-        { (char *)"SwigPyIterator_value", _wrap_SwigPyIterator_value, METH_VARARGS, NULL},
-        { (char *)"SwigPyIterator_incr", _wrap_SwigPyIterator_incr, METH_VARARGS, NULL},
-        { (char *)"SwigPyIterator_decr", _wrap_SwigPyIterator_decr, METH_VARARGS, NULL},
-        { (char *)"SwigPyIterator_distance", _wrap_SwigPyIterator_distance, METH_VARARGS, NULL},
-        { (char *)"SwigPyIterator_equal", _wrap_SwigPyIterator_equal, METH_VARARGS, NULL},
-        { (char *)"SwigPyIterator_copy", _wrap_SwigPyIterator_copy, METH_VARARGS, NULL},
-        { (char *)"SwigPyIterator_next", _wrap_SwigPyIterator_next, METH_VARARGS, NULL},
-        { (char *)"SwigPyIterator___next__", _wrap_SwigPyIterator___next__, METH_VARARGS, NULL},
-        { (char *)"SwigPyIterator_previous", _wrap_SwigPyIterator_previous, METH_VARARGS, NULL},
-        { (char *)"SwigPyIterator_advance", _wrap_SwigPyIterator_advance, METH_VARARGS, NULL},
-        { (char *)"SwigPyIterator___eq__", _wrap_SwigPyIterator___eq__, METH_VARARGS, NULL},
-        { (char *)"SwigPyIterator___ne__", _wrap_SwigPyIterator___ne__, METH_VARARGS, NULL},
-        { (char *)"SwigPyIterator___iadd__", _wrap_SwigPyIterator___iadd__, METH_VARARGS, NULL},
-        { (char *)"SwigPyIterator___isub__", _wrap_SwigPyIterator___isub__, METH_VARARGS, NULL},
-        { (char *)"SwigPyIterator___add__", _wrap_SwigPyIterator___add__, METH_VARARGS, NULL},
-        { (char *)"SwigPyIterator___sub__", _wrap_SwigPyIterator___sub__, METH_VARARGS, NULL},
-        { (char *)"SwigPyIterator_swigregister", SwigPyIterator_swigregister, METH_VARARGS, NULL},
+        { (char *)"delete_PySwigIterator", _wrap_delete_PySwigIterator, METH_VARARGS, NULL},
+        { (char *)"PySwigIterator_value", _wrap_PySwigIterator_value, METH_VARARGS, NULL},
+        { (char *)"PySwigIterator_incr", _wrap_PySwigIterator_incr, METH_VARARGS, NULL},
+        { (char *)"PySwigIterator_decr", _wrap_PySwigIterator_decr, METH_VARARGS, NULL},
+        { (char *)"PySwigIterator_distance", _wrap_PySwigIterator_distance, METH_VARARGS, NULL},
+        { (char *)"PySwigIterator_equal", _wrap_PySwigIterator_equal, METH_VARARGS, NULL},
+        { (char *)"PySwigIterator_copy", _wrap_PySwigIterator_copy, METH_VARARGS, NULL},
+        { (char *)"PySwigIterator_next", _wrap_PySwigIterator_next, METH_VARARGS, NULL},
+        { (char *)"PySwigIterator_previous", _wrap_PySwigIterator_previous, METH_VARARGS, NULL},
+        { (char *)"PySwigIterator_advance", _wrap_PySwigIterator_advance, METH_VARARGS, NULL},
+        { (char *)"PySwigIterator___eq__", _wrap_PySwigIterator___eq__, METH_VARARGS, NULL},
+        { (char *)"PySwigIterator___ne__", _wrap_PySwigIterator___ne__, METH_VARARGS, NULL},
+        { (char *)"PySwigIterator___iadd__", _wrap_PySwigIterator___iadd__, METH_VARARGS, NULL},
+        { (char *)"PySwigIterator___isub__", _wrap_PySwigIterator___isub__, METH_VARARGS, NULL},
+        { (char *)"PySwigIterator___add__", _wrap_PySwigIterator___add__, METH_VARARGS, NULL},
+        { (char *)"PySwigIterator___sub__", _wrap_PySwigIterator___sub__, METH_VARARGS, NULL},
+        { (char *)"PySwigIterator_swigregister", PySwigIterator_swigregister, METH_VARARGS, NULL},
         { (char *)"VectorHexas_iterator", _wrap_VectorHexas_iterator, METH_VARARGS, NULL},
         { (char *)"VectorHexas___nonzero__", _wrap_VectorHexas___nonzero__, METH_VARARGS, NULL},
-        { (char *)"VectorHexas___bool__", _wrap_VectorHexas___bool__, METH_VARARGS, NULL},
         { (char *)"VectorHexas___len__", _wrap_VectorHexas___len__, METH_VARARGS, NULL},
         { (char *)"VectorHexas_pop", _wrap_VectorHexas_pop, METH_VARARGS, NULL},
         { (char *)"VectorHexas___getslice__", _wrap_VectorHexas___getslice__, METH_VARARGS, NULL},
@@ -32487,7 +31399,6 @@ static PyMethodDef SwigMethods[] = {
         { (char *)"VectorHexas_swigregister", VectorHexas_swigregister, METH_VARARGS, NULL},
         { (char *)"VectorQuads_iterator", _wrap_VectorQuads_iterator, METH_VARARGS, NULL},
         { (char *)"VectorQuads___nonzero__", _wrap_VectorQuads___nonzero__, METH_VARARGS, NULL},
-        { (char *)"VectorQuads___bool__", _wrap_VectorQuads___bool__, METH_VARARGS, NULL},
         { (char *)"VectorQuads___len__", _wrap_VectorQuads___len__, METH_VARARGS, NULL},
         { (char *)"VectorQuads_pop", _wrap_VectorQuads_pop, METH_VARARGS, NULL},
         { (char *)"VectorQuads___getslice__", _wrap_VectorQuads___getslice__, METH_VARARGS, NULL},
@@ -32521,7 +31432,6 @@ static PyMethodDef SwigMethods[] = {
         { (char *)"VectorQuads_swigregister", VectorQuads_swigregister, METH_VARARGS, NULL},
         { (char *)"VectorEdges_iterator", _wrap_VectorEdges_iterator, METH_VARARGS, NULL},
         { (char *)"VectorEdges___nonzero__", _wrap_VectorEdges___nonzero__, METH_VARARGS, NULL},
-        { (char *)"VectorEdges___bool__", _wrap_VectorEdges___bool__, METH_VARARGS, NULL},
         { (char *)"VectorEdges___len__", _wrap_VectorEdges___len__, METH_VARARGS, NULL},
         { (char *)"VectorEdges_pop", _wrap_VectorEdges_pop, METH_VARARGS, NULL},
         { (char *)"VectorEdges___getslice__", _wrap_VectorEdges___getslice__, METH_VARARGS, NULL},
@@ -32555,7 +31465,6 @@ static PyMethodDef SwigMethods[] = {
         { (char *)"VectorEdges_swigregister", VectorEdges_swigregister, METH_VARARGS, NULL},
         { (char *)"VectorVertices_iterator", _wrap_VectorVertices_iterator, METH_VARARGS, NULL},
         { (char *)"VectorVertices___nonzero__", _wrap_VectorVertices___nonzero__, METH_VARARGS, NULL},
-        { (char *)"VectorVertices___bool__", _wrap_VectorVertices___bool__, METH_VARARGS, NULL},
         { (char *)"VectorVertices___len__", _wrap_VectorVertices___len__, METH_VARARGS, NULL},
         { (char *)"VectorVertices_pop", _wrap_VectorVertices_pop, METH_VARARGS, NULL},
         { (char *)"VectorVertices___getslice__", _wrap_VectorVertices___getslice__, METH_VARARGS, NULL},
@@ -32589,7 +31498,6 @@ static PyMethodDef SwigMethods[] = {
         { (char *)"VectorVertices_swigregister", VectorVertices_swigregister, METH_VARARGS, NULL},
         { (char *)"VectorShapes_iterator", _wrap_VectorShapes_iterator, METH_VARARGS, NULL},
         { (char *)"VectorShapes___nonzero__", _wrap_VectorShapes___nonzero__, METH_VARARGS, NULL},
-        { (char *)"VectorShapes___bool__", _wrap_VectorShapes___bool__, METH_VARARGS, NULL},
         { (char *)"VectorShapes___len__", _wrap_VectorShapes___len__, METH_VARARGS, NULL},
         { (char *)"VectorShapes_pop", _wrap_VectorShapes_pop, METH_VARARGS, NULL},
         { (char *)"VectorShapes___getslice__", _wrap_VectorShapes___getslice__, METH_VARARGS, NULL},
@@ -32623,7 +31531,6 @@ static PyMethodDef SwigMethods[] = {
         { (char *)"VectorShapes_swigregister", VectorShapes_swigregister, METH_VARARGS, NULL},
         { (char *)"VectorReal_iterator", _wrap_VectorReal_iterator, METH_VARARGS, NULL},
         { (char *)"VectorReal___nonzero__", _wrap_VectorReal___nonzero__, METH_VARARGS, NULL},
-        { (char *)"VectorReal___bool__", _wrap_VectorReal___bool__, METH_VARARGS, NULL},
         { (char *)"VectorReal___len__", _wrap_VectorReal___len__, METH_VARARGS, NULL},
         { (char *)"VectorReal_pop", _wrap_VectorReal_pop, METH_VARARGS, NULL},
         { (char *)"VectorReal___getslice__", _wrap_VectorReal___getslice__, METH_VARARGS, NULL},
@@ -32657,7 +31564,6 @@ static PyMethodDef SwigMethods[] = {
         { (char *)"VectorReal_swigregister", VectorReal_swigregister, METH_VARARGS, NULL},
         { (char *)"VectorInt_iterator", _wrap_VectorInt_iterator, METH_VARARGS, NULL},
         { (char *)"VectorInt___nonzero__", _wrap_VectorInt___nonzero__, METH_VARARGS, NULL},
-        { (char *)"VectorInt___bool__", _wrap_VectorInt___bool__, METH_VARARGS, NULL},
         { (char *)"VectorInt___len__", _wrap_VectorInt___len__, METH_VARARGS, NULL},
         { (char *)"VectorInt_pop", _wrap_VectorInt_pop, METH_VARARGS, NULL},
         { (char *)"VectorInt___getslice__", _wrap_VectorInt___getslice__, METH_VARARGS, NULL},
@@ -33038,40 +31944,40 @@ static PyMethodDef SwigMethods[] = {
 
 /* -------- TYPE CONVERSION AND EQUIVALENCE RULES (BEGIN) -------- */
 
-static void *_p_Hex__VectorTo_p_Hex__EltBase(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+static void *_p_Hex__VectorTo_p_Hex__EltBase(void *x) {
     return (void *)((Hex::EltBase *)  ((Hex::Vector *) x));
 }
-static void *_p_Hex__NewShapeTo_p_Hex__EltBase(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+static void *_p_Hex__NewShapeTo_p_Hex__EltBase(void *x) {
     return (void *)((Hex::EltBase *)  ((Hex::NewShape *) x));
 }
-static void *_p_Hex__GroupTo_p_Hex__EltBase(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+static void *_p_Hex__GroupTo_p_Hex__EltBase(void *x) {
     return (void *)((Hex::EltBase *)  ((Hex::Group *) x));
 }
-static void *_p_Hex__PropagationTo_p_Hex__EltBase(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+static void *_p_Hex__PropagationTo_p_Hex__EltBase(void *x) {
     return (void *)((Hex::EltBase *)  ((Hex::Propagation *) x));
 }
-static void *_p_Hex__VertexTo_p_Hex__EltBase(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+static void *_p_Hex__VertexTo_p_Hex__EltBase(void *x) {
     return (void *)((Hex::EltBase *)  ((Hex::Vertex *) x));
 }
-static void *_p_Hex__HexaTo_p_Hex__EltBase(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+static void *_p_Hex__HexaTo_p_Hex__EltBase(void *x) {
     return (void *)((Hex::EltBase *)  ((Hex::Hexa *) x));
 }
-static void *_p_Hex__EdgeTo_p_Hex__EltBase(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+static void *_p_Hex__EdgeTo_p_Hex__EltBase(void *x) {
     return (void *)((Hex::EltBase *)  ((Hex::Edge *) x));
 }
-static void *_p_Hex__QuadTo_p_Hex__EltBase(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+static void *_p_Hex__QuadTo_p_Hex__EltBase(void *x) {
     return (void *)((Hex::EltBase *)  ((Hex::Quad *) x));
 }
-static void *_p_Hex__ElementsTo_p_Hex__EltBase(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+static void *_p_Hex__ElementsTo_p_Hex__EltBase(void *x) {
     return (void *)((Hex::EltBase *)  ((Hex::Elements *) x));
 }
-static void *_p_Hex__DocumentTo_p_Hex__EltBase(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+static void *_p_Hex__DocumentTo_p_Hex__EltBase(void *x) {
     return (void *)((Hex::EltBase *)  ((Hex::Document *) x));
 }
-static void *_p_Hex__BiCylinderTo_p_Hex__EltBase(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+static void *_p_Hex__BiCylinderTo_p_Hex__EltBase(void *x) {
     return (void *)((Hex::EltBase *) (Hex::Elements *) ((Hex::BiCylinder *) x));
 }
-static void *_p_Hex__BiCylinderTo_p_Hex__Elements(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+static void *_p_Hex__BiCylinderTo_p_Hex__Elements(void *x) {
     return (void *)((Hex::Elements *)  ((Hex::BiCylinder *) x));
 }
 static swig_type_info _swigt__p_FILE = {"_p_FILE", "FILE *|pfile", 0, 0, (void*)0, 0};
@@ -33097,41 +32003,41 @@ static swig_type_info _swigt__p_allocator_type = {"_p_allocator_type", "allocato
 static swig_type_info _swigt__p_char = {"_p_char", "char *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_const_reference = {"_p_const_reference", "const_reference *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_difference_type = {"_p_difference_type", "difference_type *", 0, 0, (void*)0, 0};
-static swig_type_info _swigt__p_double = {"_p_double", "double *|Hex::Real *", 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_PyObject = {"_p_p_PyObject", "PyObject **", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_reference = {"_p_reference", "reference *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_size_type = {"_p_size_type", "size_type *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_std__invalid_argument = {"_p_std__invalid_argument", "std::invalid_argument *", 0, 0, (void*)0, 0};
-static swig_type_info _swigt__p_std__vectorT_Hex__AssoEdge_p_std__allocatorT_Hex__AssoEdge_p_t_t = {"_p_std__vectorT_Hex__AssoEdge_p_std__allocatorT_Hex__AssoEdge_p_t_t", "std::vector< Hex::AssoEdge *,std::allocator< Hex::AssoEdge * > > *|Hex::AssoEdges *", 0, 0, (void*)0, 0};
-static swig_type_info _swigt__p_std__vectorT_Hex__EdgeShape_p_std__allocatorT_Hex__EdgeShape_p_t_t = {"_p_std__vectorT_Hex__EdgeShape_p_std__allocatorT_Hex__EdgeShape_p_t_t", "Hex::EdgeShapes *|std::vector< Hex::EdgeShape *,std::allocator< Hex::EdgeShape * > > *", 0, 0, (void*)0, 0};
-static swig_type_info _swigt__p_std__vectorT_Hex__Edge_p_std__allocatorT_Hex__Edge_p_t_t = {"_p_std__vectorT_Hex__Edge_p_std__allocatorT_Hex__Edge_p_t_t", "std::vector< Hex::Edge *,std::allocator< Hex::Edge * > > *|std::vector< Hex::Edge * > *|Hex::Edges *", 0, 0, (void*)0, 0};
-static swig_type_info _swigt__p_std__vectorT_Hex__Edge_p_std__allocatorT_Hex__Edge_p_t_t__allocator_type = {"_p_std__vectorT_Hex__Edge_p_std__allocatorT_Hex__Edge_p_t_t__allocator_type", "std::vector< Hex::Edge * >::allocator_type *|std::allocator< Hex::Edge * > *", 0, 0, (void*)0, 0};
-static swig_type_info _swigt__p_std__vectorT_Hex__EltBase_p_std__allocatorT_Hex__EltBase_p_t_t = {"_p_std__vectorT_Hex__EltBase_p_std__allocatorT_Hex__EltBase_p_t_t", "std::vector< Hex::EltBase *,std::allocator< Hex::EltBase * > > *|Hex::TabElts *", 0, 0, (void*)0, 0};
-static swig_type_info _swigt__p_std__vectorT_Hex__FaceShape_p_std__allocatorT_Hex__FaceShape_p_t_t = {"_p_std__vectorT_Hex__FaceShape_p_std__allocatorT_Hex__FaceShape_p_t_t", "Hex::FaceShapes *|std::vector< Hex::FaceShape *,std::allocator< Hex::FaceShape * > > *", 0, 0, (void*)0, 0};
-static swig_type_info _swigt__p_std__vectorT_Hex__Hexa_p_std__allocatorT_Hex__Hexa_p_t_t = {"_p_std__vectorT_Hex__Hexa_p_std__allocatorT_Hex__Hexa_p_t_t", "Hex::Hexas *|std::vector< Hex::Hexa *,std::allocator< Hex::Hexa * > > *|std::vector< Hex::Hexa * > *", 0, 0, (void*)0, 0};
-static swig_type_info _swigt__p_std__vectorT_Hex__Hexa_p_std__allocatorT_Hex__Hexa_p_t_t__allocator_type = {"_p_std__vectorT_Hex__Hexa_p_std__allocatorT_Hex__Hexa_p_t_t__allocator_type", "std::vector< Hex::Hexa * >::allocator_type *|std::allocator< Hex::Hexa * > *", 0, 0, (void*)0, 0};
-static swig_type_info _swigt__p_std__vectorT_Hex__NewShape_p_std__allocatorT_Hex__NewShape_p_t_t = {"_p_std__vectorT_Hex__NewShape_p_std__allocatorT_Hex__NewShape_p_t_t", "Hex::NewShapes *|std::vector< Hex::NewShape *,std::allocator< Hex::NewShape * > > *|std::vector< Hex::NewShape * > *", 0, 0, (void*)0, 0};
-static swig_type_info _swigt__p_std__vectorT_Hex__NewShape_p_std__allocatorT_Hex__NewShape_p_t_t__allocator_type = {"_p_std__vectorT_Hex__NewShape_p_std__allocatorT_Hex__NewShape_p_t_t__allocator_type", "std::vector< Hex::NewShape * >::allocator_type *|std::allocator< Hex::NewShape * > *", 0, 0, (void*)0, 0};
-static swig_type_info _swigt__p_std__vectorT_Hex__Quad_p_std__allocatorT_Hex__Quad_p_t_t = {"_p_std__vectorT_Hex__Quad_p_std__allocatorT_Hex__Quad_p_t_t", "std::vector< Hex::Quad *,std::allocator< Hex::Quad * > > *|std::vector< Hex::Quad * > *|Hex::Quads *", 0, 0, (void*)0, 0};
-static swig_type_info _swigt__p_std__vectorT_Hex__Quad_p_std__allocatorT_Hex__Quad_p_t_t__allocator_type = {"_p_std__vectorT_Hex__Quad_p_std__allocatorT_Hex__Quad_p_t_t__allocator_type", "std::vector< Hex::Quad * >::allocator_type *|std::allocator< Hex::Quad * > *", 0, 0, (void*)0, 0};
-static swig_type_info _swigt__p_std__vectorT_Hex__Shape_p_std__allocatorT_Hex__Shape_p_t_t = {"_p_std__vectorT_Hex__Shape_p_std__allocatorT_Hex__Shape_p_t_t", "Hex::Shapes *|std::vector< Hex::Shape *,std::allocator< Hex::Shape * > > *", 0, 0, (void*)0, 0};
-static swig_type_info _swigt__p_std__vectorT_Hex__SubShape_p_std__allocatorT_Hex__SubShape_p_t_t = {"_p_std__vectorT_Hex__SubShape_p_std__allocatorT_Hex__SubShape_p_t_t", "Hex::SubShapes *|std::vector< Hex::SubShape *,std::allocator< Hex::SubShape * > > *", 0, 0, (void*)0, 0};
-static swig_type_info _swigt__p_std__vectorT_Hex__Vertex_p_std__allocatorT_Hex__Vertex_p_t_t = {"_p_std__vectorT_Hex__Vertex_p_std__allocatorT_Hex__Vertex_p_t_t", "std::vector< Hex::Vertex *,std::allocator< Hex::Vertex * > > *|std::vector< Hex::Vertex * > *|Hex::Vertices *", 0, 0, (void*)0, 0};
-static swig_type_info _swigt__p_std__vectorT_Hex__Vertex_p_std__allocatorT_Hex__Vertex_p_t_t__allocator_type = {"_p_std__vectorT_Hex__Vertex_p_std__allocatorT_Hex__Vertex_p_t_t__allocator_type", "std::vector< Hex::Vertex * >::allocator_type *|std::allocator< Hex::Vertex * > *", 0, 0, (void*)0, 0};
-static swig_type_info _swigt__p_std__vectorT_double_std__allocatorT_double_t_t = {"_p_std__vectorT_double_std__allocatorT_double_t_t", "std::vector< double,std::allocator< double > > *|Hex::RealVector *|std::vector< double > *", 0, 0, (void*)0, 0};
-static swig_type_info _swigt__p_std__vectorT_double_std__allocatorT_double_t_t__allocator_type = {"_p_std__vectorT_double_std__allocatorT_double_t_t__allocator_type", "std::vector< double >::allocator_type *|std::allocator< double > *", 0, 0, (void*)0, 0};
-static swig_type_info _swigt__p_std__vectorT_int_std__allocatorT_int_t_t = {"_p_std__vectorT_int_std__allocatorT_int_t_t", "std::vector< int,std::allocator< int > > *|Hex::IntVector *|std::vector< int > *", 0, 0, (void*)0, 0};
-static swig_type_info _swigt__p_std__vectorT_int_std__allocatorT_int_t_t__allocator_type = {"_p_std__vectorT_int_std__allocatorT_int_t_t__allocator_type", "std::vector< int >::allocator_type *|std::allocator< int > *", 0, 0, (void*)0, 0};
-static swig_type_info _swigt__p_std__vectorT_std__string_std__allocatorT_std__string_t_t = {"_p_std__vectorT_std__string_std__allocatorT_std__string_t_t", "Hex::TabText *|std::vector< std::string,std::allocator< std::string > > *", 0, 0, (void*)0, 0};
+static swig_type_info _swigt__p_std__vectorTHex__AssoEdge_p_std__allocatorTHex__AssoEdge_p_t_t = {"_p_std__vectorTHex__AssoEdge_p_std__allocatorTHex__AssoEdge_p_t_t", "std::vector<Hex::AssoEdge *,std::allocator<Hex::AssoEdge * > > *|Hex::AssoEdges *", 0, 0, (void*)0, 0};
+static swig_type_info _swigt__p_std__vectorTHex__EdgeShape_p_std__allocatorTHex__EdgeShape_p_t_t = {"_p_std__vectorTHex__EdgeShape_p_std__allocatorTHex__EdgeShape_p_t_t", "std::vector<Hex::EdgeShape *,std::allocator<Hex::EdgeShape * > > *|Hex::EdgeShapes *", 0, 0, (void*)0, 0};
+static swig_type_info _swigt__p_std__vectorTHex__Edge_p_std__allocatorTHex__Edge_p_t_t = {"_p_std__vectorTHex__Edge_p_std__allocatorTHex__Edge_p_t_t", "std::vector<Hex::Edge *,std::allocator<Hex::Edge * > > *|Hex::Edges *", 0, 0, (void*)0, 0};
+static swig_type_info _swigt__p_std__vectorTHex__Edge_p_std__allocatorTHex__Edge_p_t_t__allocator_type = {"_p_std__vectorTHex__Edge_p_std__allocatorTHex__Edge_p_t_t__allocator_type", "std::allocator<Hex::Edge * > *|std::vector<Hex::Edge * >::allocator_type *", 0, 0, (void*)0, 0};
+static swig_type_info _swigt__p_std__vectorTHex__EltBase_p_std__allocatorTHex__EltBase_p_t_t = {"_p_std__vectorTHex__EltBase_p_std__allocatorTHex__EltBase_p_t_t", "std::vector<Hex::EltBase *,std::allocator<Hex::EltBase * > > *|Hex::TabElts *", 0, 0, (void*)0, 0};
+static swig_type_info _swigt__p_std__vectorTHex__FaceShape_p_std__allocatorTHex__FaceShape_p_t_t = {"_p_std__vectorTHex__FaceShape_p_std__allocatorTHex__FaceShape_p_t_t", "std::vector<Hex::FaceShape *,std::allocator<Hex::FaceShape * > > *|Hex::FaceShapes *", 0, 0, (void*)0, 0};
+static swig_type_info _swigt__p_std__vectorTHex__Hexa_p_std__allocatorTHex__Hexa_p_t_t = {"_p_std__vectorTHex__Hexa_p_std__allocatorTHex__Hexa_p_t_t", "std::vector<Hex::Hexa *,std::allocator<Hex::Hexa * > > *|Hex::Hexas *", 0, 0, (void*)0, 0};
+static swig_type_info _swigt__p_std__vectorTHex__Hexa_p_std__allocatorTHex__Hexa_p_t_t__allocator_type = {"_p_std__vectorTHex__Hexa_p_std__allocatorTHex__Hexa_p_t_t__allocator_type", "std::allocator<Hex::Hexa * > *|std::vector<Hex::Hexa * >::allocator_type *", 0, 0, (void*)0, 0};
+static swig_type_info _swigt__p_std__vectorTHex__NewShape_p_std__allocatorTHex__NewShape_p_t_t = {"_p_std__vectorTHex__NewShape_p_std__allocatorTHex__NewShape_p_t_t", "std::vector<Hex::NewShape *,std::allocator<Hex::NewShape * > > *|Hex::NewShapes *", 0, 0, (void*)0, 0};
+static swig_type_info _swigt__p_std__vectorTHex__NewShape_p_std__allocatorTHex__NewShape_p_t_t__allocator_type = {"_p_std__vectorTHex__NewShape_p_std__allocatorTHex__NewShape_p_t_t__allocator_type", "std::allocator<Hex::NewShape * > *|std::vector<Hex::NewShape * >::allocator_type *", 0, 0, (void*)0, 0};
+static swig_type_info _swigt__p_std__vectorTHex__Quad_p_std__allocatorTHex__Quad_p_t_t = {"_p_std__vectorTHex__Quad_p_std__allocatorTHex__Quad_p_t_t", "std::vector<Hex::Quad *,std::allocator<Hex::Quad * > > *|Hex::Quads *", 0, 0, (void*)0, 0};
+static swig_type_info _swigt__p_std__vectorTHex__Quad_p_std__allocatorTHex__Quad_p_t_t__allocator_type = {"_p_std__vectorTHex__Quad_p_std__allocatorTHex__Quad_p_t_t__allocator_type", "std::allocator<Hex::Quad * > *|std::vector<Hex::Quad * >::allocator_type *", 0, 0, (void*)0, 0};
+static swig_type_info _swigt__p_std__vectorTHex__Shape_p_std__allocatorTHex__Shape_p_t_t = {"_p_std__vectorTHex__Shape_p_std__allocatorTHex__Shape_p_t_t", "std::vector<Hex::Shape *,std::allocator<Hex::Shape * > > *|Hex::Shapes *", 0, 0, (void*)0, 0};
+static swig_type_info _swigt__p_std__vectorTHex__SubShape_p_std__allocatorTHex__SubShape_p_t_t = {"_p_std__vectorTHex__SubShape_p_std__allocatorTHex__SubShape_p_t_t", "std::vector<Hex::SubShape *,std::allocator<Hex::SubShape * > > *|Hex::SubShapes *", 0, 0, (void*)0, 0};
+static swig_type_info _swigt__p_std__vectorTHex__Vertex_p_std__allocatorTHex__Vertex_p_t_t = {"_p_std__vectorTHex__Vertex_p_std__allocatorTHex__Vertex_p_t_t", "std::vector<Hex::Vertex *,std::allocator<Hex::Vertex * > > *|Hex::Vertices *", 0, 0, (void*)0, 0};
+static swig_type_info _swigt__p_std__vectorTHex__Vertex_p_std__allocatorTHex__Vertex_p_t_t__allocator_type = {"_p_std__vectorTHex__Vertex_p_std__allocatorTHex__Vertex_p_t_t__allocator_type", "std::allocator<Hex::Vertex * > *|std::vector<Hex::Vertex * >::allocator_type *", 0, 0, (void*)0, 0};
+static swig_type_info _swigt__p_std__vectorTdouble_std__allocatorTdouble_t_t = {"_p_std__vectorTdouble_std__allocatorTdouble_t_t", "std::vector<double,std::allocator<double > > *|Hex::RealVector *", 0, 0, (void*)0, 0};
+static swig_type_info _swigt__p_std__vectorTdouble_std__allocatorTdouble_t_t__allocator_type = {"_p_std__vectorTdouble_std__allocatorTdouble_t_t__allocator_type", "std::allocator<double > *|std::vector<double >::allocator_type *", 0, 0, (void*)0, 0};
+static swig_type_info _swigt__p_std__vectorTint_std__allocatorTint_t_t = {"_p_std__vectorTint_std__allocatorTint_t_t", "std::vector<int,std::allocator<int > > *|Hex::IntVector *", 0, 0, (void*)0, 0};
+static swig_type_info _swigt__p_std__vectorTint_std__allocatorTint_t_t__allocator_type = {"_p_std__vectorTint_std__allocatorTint_t_t__allocator_type", "std::allocator<int > *|std::vector<int >::allocator_type *", 0, 0, (void*)0, 0};
+static swig_type_info _swigt__p_std__vectorTstd__string_std__allocatorTstd__string_t_t = {"_p_std__vectorTstd__string_std__allocatorTstd__string_t_t", "std::vector<std::string,std::allocator<std::string > > *|Hex::TabText *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_string = {"_p_string", "string *", 0, 0, (void*)0, 0};
-static swig_type_info _swigt__p_swig__SwigPyIterator = {"_p_swig__SwigPyIterator", "swig::SwigPyIterator *", 0, 0, (void*)0, 0};
+static swig_type_info _swigt__p_swig__PySwigIterator = {"_p_swig__PySwigIterator", "swig::PySwigIterator *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_value_type = {"_p_value_type", "value_type *", 0, 0, (void*)0, 0};
-static swig_type_info _swigt__std__vectorT_Hex__Edge_p_std__allocatorT_Hex__Edge_p_t_t__value_type = {"_std__vectorT_Hex__Edge_p_std__allocatorT_Hex__Edge_p_t_t__value_type", "std::vector< Hex::Edge * >::value_type|Hex::Edge *", 0, 0, (void*)0, 0};
-static swig_type_info _swigt__std__vectorT_Hex__Hexa_p_std__allocatorT_Hex__Hexa_p_t_t__value_type = {"_std__vectorT_Hex__Hexa_p_std__allocatorT_Hex__Hexa_p_t_t__value_type", "Hex::Hexa *|std::vector< Hex::Hexa * >::value_type", 0, 0, (void*)0, 0};
-static swig_type_info _swigt__std__vectorT_Hex__NewShape_p_std__allocatorT_Hex__NewShape_p_t_t__value_type = {"_std__vectorT_Hex__NewShape_p_std__allocatorT_Hex__NewShape_p_t_t__value_type", "std::vector< Hex::NewShape * >::value_type|Hex::NewShape *", 0, 0, (void*)0, 0};
-static swig_type_info _swigt__std__vectorT_Hex__Quad_p_std__allocatorT_Hex__Quad_p_t_t__value_type = {"_std__vectorT_Hex__Quad_p_std__allocatorT_Hex__Quad_p_t_t__value_type", "std::vector< Hex::Quad * >::value_type|Hex::Quad *", 0, 0, (void*)0, 0};
-static swig_type_info _swigt__std__vectorT_Hex__Vertex_p_std__allocatorT_Hex__Vertex_p_t_t__value_type = {"_std__vectorT_Hex__Vertex_p_std__allocatorT_Hex__Vertex_p_t_t__value_type", "std::vector< Hex::Vertex * >::value_type|Hex::Vertex *", 0, 0, (void*)0, 0};
+static swig_type_info _swigt__std__vectorTHex__Edge_p_std__allocatorTHex__Edge_p_t_t__value_type = {"_std__vectorTHex__Edge_p_std__allocatorTHex__Edge_p_t_t__value_type", "Hex::Edge *|std::vector<Hex::Edge * >::value_type", 0, 0, (void*)0, 0};
+static swig_type_info _swigt__std__vectorTHex__Hexa_p_std__allocatorTHex__Hexa_p_t_t__value_type = {"_std__vectorTHex__Hexa_p_std__allocatorTHex__Hexa_p_t_t__value_type", "Hex::Hexa *|std::vector<Hex::Hexa * >::value_type", 0, 0, (void*)0, 0};
+static swig_type_info _swigt__std__vectorTHex__NewShape_p_std__allocatorTHex__NewShape_p_t_t__value_type = {"_std__vectorTHex__NewShape_p_std__allocatorTHex__NewShape_p_t_t__value_type", "Hex::NewShape *|std::vector<Hex::NewShape * >::value_type", 0, 0, (void*)0, 0};
+static swig_type_info _swigt__std__vectorTHex__Quad_p_std__allocatorTHex__Quad_p_t_t__value_type = {"_std__vectorTHex__Quad_p_std__allocatorTHex__Quad_p_t_t__value_type", "Hex::Quad *|std::vector<Hex::Quad * >::value_type", 0, 0, (void*)0, 0};
+static swig_type_info _swigt__std__vectorTHex__Vertex_p_std__allocatorTHex__Vertex_p_t_t__value_type = {"_std__vectorTHex__Vertex_p_std__allocatorTHex__Vertex_p_t_t__value_type", "Hex::Vertex *|std::vector<Hex::Vertex * >::value_type", 0, 0, (void*)0, 0};
 
 static swig_type_info *swig_type_initial[] = {
   &_swigt__p_FILE,
@@ -33163,54 +32069,54 @@ static swig_type_info *swig_type_initial[] = {
   &_swigt__p_reference,
   &_swigt__p_size_type,
   &_swigt__p_std__invalid_argument,
-  &_swigt__p_std__vectorT_Hex__AssoEdge_p_std__allocatorT_Hex__AssoEdge_p_t_t,
-  &_swigt__p_std__vectorT_Hex__EdgeShape_p_std__allocatorT_Hex__EdgeShape_p_t_t,
-  &_swigt__p_std__vectorT_Hex__Edge_p_std__allocatorT_Hex__Edge_p_t_t,
-  &_swigt__p_std__vectorT_Hex__Edge_p_std__allocatorT_Hex__Edge_p_t_t__allocator_type,
-  &_swigt__p_std__vectorT_Hex__EltBase_p_std__allocatorT_Hex__EltBase_p_t_t,
-  &_swigt__p_std__vectorT_Hex__FaceShape_p_std__allocatorT_Hex__FaceShape_p_t_t,
-  &_swigt__p_std__vectorT_Hex__Hexa_p_std__allocatorT_Hex__Hexa_p_t_t,
-  &_swigt__p_std__vectorT_Hex__Hexa_p_std__allocatorT_Hex__Hexa_p_t_t__allocator_type,
-  &_swigt__p_std__vectorT_Hex__NewShape_p_std__allocatorT_Hex__NewShape_p_t_t,
-  &_swigt__p_std__vectorT_Hex__NewShape_p_std__allocatorT_Hex__NewShape_p_t_t__allocator_type,
-  &_swigt__p_std__vectorT_Hex__Quad_p_std__allocatorT_Hex__Quad_p_t_t,
-  &_swigt__p_std__vectorT_Hex__Quad_p_std__allocatorT_Hex__Quad_p_t_t__allocator_type,
-  &_swigt__p_std__vectorT_Hex__Shape_p_std__allocatorT_Hex__Shape_p_t_t,
-  &_swigt__p_std__vectorT_Hex__SubShape_p_std__allocatorT_Hex__SubShape_p_t_t,
-  &_swigt__p_std__vectorT_Hex__Vertex_p_std__allocatorT_Hex__Vertex_p_t_t,
-  &_swigt__p_std__vectorT_Hex__Vertex_p_std__allocatorT_Hex__Vertex_p_t_t__allocator_type,
-  &_swigt__p_std__vectorT_double_std__allocatorT_double_t_t,
-  &_swigt__p_std__vectorT_double_std__allocatorT_double_t_t__allocator_type,
-  &_swigt__p_std__vectorT_int_std__allocatorT_int_t_t,
-  &_swigt__p_std__vectorT_int_std__allocatorT_int_t_t__allocator_type,
-  &_swigt__p_std__vectorT_std__string_std__allocatorT_std__string_t_t,
+  &_swigt__p_std__vectorTHex__AssoEdge_p_std__allocatorTHex__AssoEdge_p_t_t,
+  &_swigt__p_std__vectorTHex__EdgeShape_p_std__allocatorTHex__EdgeShape_p_t_t,
+  &_swigt__p_std__vectorTHex__Edge_p_std__allocatorTHex__Edge_p_t_t,
+  &_swigt__p_std__vectorTHex__Edge_p_std__allocatorTHex__Edge_p_t_t__allocator_type,
+  &_swigt__p_std__vectorTHex__EltBase_p_std__allocatorTHex__EltBase_p_t_t,
+  &_swigt__p_std__vectorTHex__FaceShape_p_std__allocatorTHex__FaceShape_p_t_t,
+  &_swigt__p_std__vectorTHex__Hexa_p_std__allocatorTHex__Hexa_p_t_t,
+  &_swigt__p_std__vectorTHex__Hexa_p_std__allocatorTHex__Hexa_p_t_t__allocator_type,
+  &_swigt__p_std__vectorTHex__NewShape_p_std__allocatorTHex__NewShape_p_t_t,
+  &_swigt__p_std__vectorTHex__NewShape_p_std__allocatorTHex__NewShape_p_t_t__allocator_type,
+  &_swigt__p_std__vectorTHex__Quad_p_std__allocatorTHex__Quad_p_t_t,
+  &_swigt__p_std__vectorTHex__Quad_p_std__allocatorTHex__Quad_p_t_t__allocator_type,
+  &_swigt__p_std__vectorTHex__Shape_p_std__allocatorTHex__Shape_p_t_t,
+  &_swigt__p_std__vectorTHex__SubShape_p_std__allocatorTHex__SubShape_p_t_t,
+  &_swigt__p_std__vectorTHex__Vertex_p_std__allocatorTHex__Vertex_p_t_t,
+  &_swigt__p_std__vectorTHex__Vertex_p_std__allocatorTHex__Vertex_p_t_t__allocator_type,
+  &_swigt__p_std__vectorTdouble_std__allocatorTdouble_t_t,
+  &_swigt__p_std__vectorTdouble_std__allocatorTdouble_t_t__allocator_type,
+  &_swigt__p_std__vectorTint_std__allocatorTint_t_t,
+  &_swigt__p_std__vectorTint_std__allocatorTint_t_t__allocator_type,
+  &_swigt__p_std__vectorTstd__string_std__allocatorTstd__string_t_t,
   &_swigt__p_string,
-  &_swigt__p_swig__SwigPyIterator,
+  &_swigt__p_swig__PySwigIterator,
   &_swigt__p_value_type,
-  &_swigt__std__vectorT_Hex__Edge_p_std__allocatorT_Hex__Edge_p_t_t__value_type,
-  &_swigt__std__vectorT_Hex__Hexa_p_std__allocatorT_Hex__Hexa_p_t_t__value_type,
-  &_swigt__std__vectorT_Hex__NewShape_p_std__allocatorT_Hex__NewShape_p_t_t__value_type,
-  &_swigt__std__vectorT_Hex__Quad_p_std__allocatorT_Hex__Quad_p_t_t__value_type,
-  &_swigt__std__vectorT_Hex__Vertex_p_std__allocatorT_Hex__Vertex_p_t_t__value_type,
+  &_swigt__std__vectorTHex__Edge_p_std__allocatorTHex__Edge_p_t_t__value_type,
+  &_swigt__std__vectorTHex__Hexa_p_std__allocatorTHex__Hexa_p_t_t__value_type,
+  &_swigt__std__vectorTHex__NewShape_p_std__allocatorTHex__NewShape_p_t_t__value_type,
+  &_swigt__std__vectorTHex__Quad_p_std__allocatorTHex__Quad_p_t_t__value_type,
+  &_swigt__std__vectorTHex__Vertex_p_std__allocatorTHex__Vertex_p_t_t__value_type,
 };
 
 static swig_cast_info _swigc__p_FILE[] = {  {&_swigt__p_FILE, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_Hex__BiCylinder[] = {  {&_swigt__p_Hex__BiCylinder, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_Hex__Document[] = {  {&_swigt__p_Hex__Document, 0, 0, 0},{0, 0, 0, 0}};
-static swig_cast_info _swigc__p_Hex__Edge[] = {  {&_swigt__std__vectorT_Hex__Edge_p_std__allocatorT_Hex__Edge_p_t_t__value_type, 0, 0, 0},  {&_swigt__p_Hex__Edge, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_Hex__Edge[] = {  {&_swigt__std__vectorTHex__Edge_p_std__allocatorTHex__Edge_p_t_t__value_type, 0, 0, 0},  {&_swigt__p_Hex__Edge, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_Hex__Elements[] = {  {&_swigt__p_Hex__Elements, 0, 0, 0},  {&_swigt__p_Hex__BiCylinder, _p_Hex__BiCylinderTo_p_Hex__Elements, 0, 0},{0, 0, 0, 0}};
-static swig_cast_info _swigc__p_Hex__EltBase[] = {  {&_swigt__p_Hex__Group, _p_Hex__GroupTo_p_Hex__EltBase, 0, 0},  {&_swigt__std__vectorT_Hex__Edge_p_std__allocatorT_Hex__Edge_p_t_t__value_type, _p_Hex__EdgeTo_p_Hex__EltBase, 0, 0},  {&_swigt__std__vectorT_Hex__NewShape_p_std__allocatorT_Hex__NewShape_p_t_t__value_type, _p_Hex__NewShapeTo_p_Hex__EltBase, 0, 0},  {&_swigt__p_Hex__Vertex, _p_Hex__VertexTo_p_Hex__EltBase, 0, 0},  {&_swigt__p_Hex__Elements, _p_Hex__ElementsTo_p_Hex__EltBase, 0, 0},  {&_swigt__p_Hex__NewShape, _p_Hex__NewShapeTo_p_Hex__EltBase, 0, 0},  {&_swigt__p_Hex__Hexa, _p_Hex__HexaTo_p_Hex__EltBase, 0, 0},  {&_swigt__std__vectorT_Hex__Quad_p_std__allocatorT_Hex__Quad_p_t_t__value_type, _p_Hex__QuadTo_p_Hex__EltBase, 0, 0},  {&_swigt__std__vectorT_Hex__Vertex_p_std__allocatorT_Hex__Vertex_p_t_t__value_type, _p_Hex__VertexTo_p_Hex__EltBase, 0, 0},  {&_swigt__std__vectorT_Hex__Hexa_p_std__allocatorT_Hex__Hexa_p_t_t__value_type, _p_Hex__HexaTo_p_Hex__EltBase, 0, 0},  {&_swigt__p_Hex__Propagation, _p_Hex__PropagationTo_p_Hex__EltBase, 0, 0},  {&_swigt__p_Hex__Hex__EltBase, 0, 0, 0},  {&_swigt__p_Hex__EltBase, 0, 0, 0},  {&_swigt__p_Hex__Vector, _p_Hex__VectorTo_p_Hex__EltBase, 0, 0},  {&_swigt__p_Hex__BiCylinder, _p_Hex__BiCylinderTo_p_Hex__EltBase, 0, 0},  {&_swigt__p_Hex__Document, _p_Hex__DocumentTo_p_Hex__EltBase, 0, 0},  {&_swigt__p_Hex__Edge, _p_Hex__EdgeTo_p_Hex__EltBase, 0, 0},  {&_swigt__p_Hex__Quad, _p_Hex__QuadTo_p_Hex__EltBase, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_Hex__EltBase[] = {  {&_swigt__p_Hex__Group, _p_Hex__GroupTo_p_Hex__EltBase, 0, 0},  {&_swigt__p_Hex__Vertex, _p_Hex__VertexTo_p_Hex__EltBase, 0, 0},  {&_swigt__std__vectorTHex__NewShape_p_std__allocatorTHex__NewShape_p_t_t__value_type, _p_Hex__NewShapeTo_p_Hex__EltBase, 0, 0},  {&_swigt__p_Hex__Elements, _p_Hex__ElementsTo_p_Hex__EltBase, 0, 0},  {&_swigt__p_Hex__NewShape, _p_Hex__NewShapeTo_p_Hex__EltBase, 0, 0},  {&_swigt__p_Hex__Hexa, _p_Hex__HexaTo_p_Hex__EltBase, 0, 0},  {&_swigt__std__vectorTHex__Hexa_p_std__allocatorTHex__Hexa_p_t_t__value_type, _p_Hex__HexaTo_p_Hex__EltBase, 0, 0},  {&_swigt__std__vectorTHex__Vertex_p_std__allocatorTHex__Vertex_p_t_t__value_type, _p_Hex__VertexTo_p_Hex__EltBase, 0, 0},  {&_swigt__p_Hex__Propagation, _p_Hex__PropagationTo_p_Hex__EltBase, 0, 0},  {&_swigt__std__vectorTHex__Quad_p_std__allocatorTHex__Quad_p_t_t__value_type, _p_Hex__QuadTo_p_Hex__EltBase, 0, 0},  {&_swigt__std__vectorTHex__Edge_p_std__allocatorTHex__Edge_p_t_t__value_type, _p_Hex__EdgeTo_p_Hex__EltBase, 0, 0},  {&_swigt__p_Hex__Hex__EltBase, 0, 0, 0},  {&_swigt__p_Hex__EltBase, 0, 0, 0},  {&_swigt__p_Hex__Vector, _p_Hex__VectorTo_p_Hex__EltBase, 0, 0},  {&_swigt__p_Hex__BiCylinder, _p_Hex__BiCylinderTo_p_Hex__EltBase, 0, 0},  {&_swigt__p_Hex__Document, _p_Hex__DocumentTo_p_Hex__EltBase, 0, 0},  {&_swigt__p_Hex__Quad, _p_Hex__QuadTo_p_Hex__EltBase, 0, 0},  {&_swigt__p_Hex__Edge, _p_Hex__EdgeTo_p_Hex__EltBase, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_Hex__Group[] = {  {&_swigt__p_Hex__Group, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_Hex__Hex[] = {  {&_swigt__p_Hex__Hex, 0, 0, 0},{0, 0, 0, 0}};
-static swig_cast_info _swigc__p_Hex__Hex__EltBase[] = {  {&_swigt__p_Hex__Group, 0, 0, 0},  {&_swigt__std__vectorT_Hex__Edge_p_std__allocatorT_Hex__Edge_p_t_t__value_type, 0, 0, 0},  {&_swigt__std__vectorT_Hex__NewShape_p_std__allocatorT_Hex__NewShape_p_t_t__value_type, 0, 0, 0},  {&_swigt__p_Hex__Vertex, 0, 0, 0},  {&_swigt__p_Hex__Elements, 0, 0, 0},  {&_swigt__p_Hex__NewShape, 0, 0, 0},  {&_swigt__p_Hex__Hexa, 0, 0, 0},  {&_swigt__std__vectorT_Hex__Quad_p_std__allocatorT_Hex__Quad_p_t_t__value_type, 0, 0, 0},  {&_swigt__std__vectorT_Hex__Vertex_p_std__allocatorT_Hex__Vertex_p_t_t__value_type, 0, 0, 0},  {&_swigt__std__vectorT_Hex__Hexa_p_std__allocatorT_Hex__Hexa_p_t_t__value_type, 0, 0, 0},  {&_swigt__p_Hex__Propagation, 0, 0, 0},  {&_swigt__p_Hex__EltBase, 0, 0, 0},  {&_swigt__p_Hex__Hex__EltBase, 0, 0, 0},  {&_swigt__p_Hex__Vector, 0, 0, 0},  {&_swigt__p_Hex__BiCylinder, 0, 0, 0},  {&_swigt__p_Hex__Document, 0, 0, 0},  {&_swigt__p_Hex__Edge, 0, 0, 0},  {&_swigt__p_Hex__Quad, 0, 0, 0},{0, 0, 0, 0}};
-static swig_cast_info _swigc__p_Hex__Hexa[] = {  {&_swigt__std__vectorT_Hex__Hexa_p_std__allocatorT_Hex__Hexa_p_t_t__value_type, 0, 0, 0},  {&_swigt__p_Hex__Hexa, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_Hex__Hex__EltBase[] = {  {&_swigt__p_Hex__Group, 0, 0, 0},  {&_swigt__p_Hex__Vertex, 0, 0, 0},  {&_swigt__std__vectorTHex__NewShape_p_std__allocatorTHex__NewShape_p_t_t__value_type, 0, 0, 0},  {&_swigt__p_Hex__Elements, 0, 0, 0},  {&_swigt__p_Hex__NewShape, 0, 0, 0},  {&_swigt__p_Hex__Hexa, 0, 0, 0},  {&_swigt__std__vectorTHex__Hexa_p_std__allocatorTHex__Hexa_p_t_t__value_type, 0, 0, 0},  {&_swigt__std__vectorTHex__Vertex_p_std__allocatorTHex__Vertex_p_t_t__value_type, 0, 0, 0},  {&_swigt__p_Hex__Propagation, 0, 0, 0},  {&_swigt__std__vectorTHex__Quad_p_std__allocatorTHex__Quad_p_t_t__value_type, 0, 0, 0},  {&_swigt__std__vectorTHex__Edge_p_std__allocatorTHex__Edge_p_t_t__value_type, 0, 0, 0},  {&_swigt__p_Hex__EltBase, 0, 0, 0},  {&_swigt__p_Hex__Hex__EltBase, 0, 0, 0},  {&_swigt__p_Hex__Vector, 0, 0, 0},  {&_swigt__p_Hex__BiCylinder, 0, 0, 0},  {&_swigt__p_Hex__Document, 0, 0, 0},  {&_swigt__p_Hex__Quad, 0, 0, 0},  {&_swigt__p_Hex__Edge, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_Hex__Hexa[] = {  {&_swigt__std__vectorTHex__Hexa_p_std__allocatorTHex__Hexa_p_t_t__value_type, 0, 0, 0},  {&_swigt__p_Hex__Hexa, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_Hex__Law[] = {  {&_swigt__p_Hex__Law, 0, 0, 0},{0, 0, 0, 0}};
-static swig_cast_info _swigc__p_Hex__NewShape[] = {  {&_swigt__p_Hex__NewShape, 0, 0, 0},  {&_swigt__std__vectorT_Hex__NewShape_p_std__allocatorT_Hex__NewShape_p_t_t__value_type, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_Hex__NewShape[] = {  {&_swigt__p_Hex__NewShape, 0, 0, 0},  {&_swigt__std__vectorTHex__NewShape_p_std__allocatorTHex__NewShape_p_t_t__value_type, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_Hex__Propagation[] = {  {&_swigt__p_Hex__Propagation, 0, 0, 0},{0, 0, 0, 0}};
-static swig_cast_info _swigc__p_Hex__Quad[] = {  {&_swigt__std__vectorT_Hex__Quad_p_std__allocatorT_Hex__Quad_p_t_t__value_type, 0, 0, 0},  {&_swigt__p_Hex__Quad, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_Hex__Quad[] = {  {&_swigt__std__vectorTHex__Quad_p_std__allocatorTHex__Quad_p_t_t__value_type, 0, 0, 0},  {&_swigt__p_Hex__Quad, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_Hex__Shape[] = {  {&_swigt__p_Hex__Shape, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_Hex__Vector[] = {  {&_swigt__p_Hex__Vector, 0, 0, 0},{0, 0, 0, 0}};
-static swig_cast_info _swigc__p_Hex__Vertex[] = {  {&_swigt__std__vectorT_Hex__Vertex_p_std__allocatorT_Hex__Vertex_p_t_t__value_type, 0, 0, 0},  {&_swigt__p_Hex__Vertex, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_Hex__Vertex[] = {  {&_swigt__std__vectorTHex__Vertex_p_std__allocatorTHex__Vertex_p_t_t__value_type, 0, 0, 0},  {&_swigt__p_Hex__Vertex, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_Hex__XmlWriter[] = {  {&_swigt__p_Hex__XmlWriter, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_a_Hex__DIM3__double[] = {  {&_swigt__p_a_Hex__DIM3__double, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_allocator_type[] = {  {&_swigt__p_allocator_type, 0, 0, 0},{0, 0, 0, 0}};
@@ -33223,35 +32129,35 @@ static swig_cast_info _swigc__p_p_PyObject[] = {  {&_swigt__p_p_PyObject, 0, 0,
 static swig_cast_info _swigc__p_reference[] = {  {&_swigt__p_reference, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_size_type[] = {  {&_swigt__p_size_type, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_std__invalid_argument[] = {  {&_swigt__p_std__invalid_argument, 0, 0, 0},{0, 0, 0, 0}};
-static swig_cast_info _swigc__p_std__vectorT_Hex__AssoEdge_p_std__allocatorT_Hex__AssoEdge_p_t_t[] = {  {&_swigt__p_std__vectorT_Hex__AssoEdge_p_std__allocatorT_Hex__AssoEdge_p_t_t, 0, 0, 0},{0, 0, 0, 0}};
-static swig_cast_info _swigc__p_std__vectorT_Hex__EdgeShape_p_std__allocatorT_Hex__EdgeShape_p_t_t[] = {  {&_swigt__p_std__vectorT_Hex__EdgeShape_p_std__allocatorT_Hex__EdgeShape_p_t_t, 0, 0, 0},{0, 0, 0, 0}};
-static swig_cast_info _swigc__p_std__vectorT_Hex__Edge_p_std__allocatorT_Hex__Edge_p_t_t[] = {  {&_swigt__p_std__vectorT_Hex__Edge_p_std__allocatorT_Hex__Edge_p_t_t, 0, 0, 0},{0, 0, 0, 0}};
-static swig_cast_info _swigc__p_std__vectorT_Hex__Edge_p_std__allocatorT_Hex__Edge_p_t_t__allocator_type[] = {  {&_swigt__p_std__vectorT_Hex__Edge_p_std__allocatorT_Hex__Edge_p_t_t__allocator_type, 0, 0, 0},{0, 0, 0, 0}};
-static swig_cast_info _swigc__p_std__vectorT_Hex__EltBase_p_std__allocatorT_Hex__EltBase_p_t_t[] = {  {&_swigt__p_std__vectorT_Hex__EltBase_p_std__allocatorT_Hex__EltBase_p_t_t, 0, 0, 0},{0, 0, 0, 0}};
-static swig_cast_info _swigc__p_std__vectorT_Hex__FaceShape_p_std__allocatorT_Hex__FaceShape_p_t_t[] = {  {&_swigt__p_std__vectorT_Hex__FaceShape_p_std__allocatorT_Hex__FaceShape_p_t_t, 0, 0, 0},{0, 0, 0, 0}};
-static swig_cast_info _swigc__p_std__vectorT_Hex__Hexa_p_std__allocatorT_Hex__Hexa_p_t_t[] = {  {&_swigt__p_std__vectorT_Hex__Hexa_p_std__allocatorT_Hex__Hexa_p_t_t, 0, 0, 0},{0, 0, 0, 0}};
-static swig_cast_info _swigc__p_std__vectorT_Hex__Hexa_p_std__allocatorT_Hex__Hexa_p_t_t__allocator_type[] = {  {&_swigt__p_std__vectorT_Hex__Hexa_p_std__allocatorT_Hex__Hexa_p_t_t__allocator_type, 0, 0, 0},{0, 0, 0, 0}};
-static swig_cast_info _swigc__p_std__vectorT_Hex__NewShape_p_std__allocatorT_Hex__NewShape_p_t_t[] = {  {&_swigt__p_std__vectorT_Hex__NewShape_p_std__allocatorT_Hex__NewShape_p_t_t, 0, 0, 0},{0, 0, 0, 0}};
-static swig_cast_info _swigc__p_std__vectorT_Hex__NewShape_p_std__allocatorT_Hex__NewShape_p_t_t__allocator_type[] = {  {&_swigt__p_std__vectorT_Hex__NewShape_p_std__allocatorT_Hex__NewShape_p_t_t__allocator_type, 0, 0, 0},{0, 0, 0, 0}};
-static swig_cast_info _swigc__p_std__vectorT_Hex__Quad_p_std__allocatorT_Hex__Quad_p_t_t[] = {  {&_swigt__p_std__vectorT_Hex__Quad_p_std__allocatorT_Hex__Quad_p_t_t, 0, 0, 0},{0, 0, 0, 0}};
-static swig_cast_info _swigc__p_std__vectorT_Hex__Quad_p_std__allocatorT_Hex__Quad_p_t_t__allocator_type[] = {  {&_swigt__p_std__vectorT_Hex__Quad_p_std__allocatorT_Hex__Quad_p_t_t__allocator_type, 0, 0, 0},{0, 0, 0, 0}};
-static swig_cast_info _swigc__p_std__vectorT_Hex__Shape_p_std__allocatorT_Hex__Shape_p_t_t[] = {  {&_swigt__p_std__vectorT_Hex__Shape_p_std__allocatorT_Hex__Shape_p_t_t, 0, 0, 0},{0, 0, 0, 0}};
-static swig_cast_info _swigc__p_std__vectorT_Hex__SubShape_p_std__allocatorT_Hex__SubShape_p_t_t[] = {  {&_swigt__p_std__vectorT_Hex__SubShape_p_std__allocatorT_Hex__SubShape_p_t_t, 0, 0, 0},{0, 0, 0, 0}};
-static swig_cast_info _swigc__p_std__vectorT_Hex__Vertex_p_std__allocatorT_Hex__Vertex_p_t_t[] = {  {&_swigt__p_std__vectorT_Hex__Vertex_p_std__allocatorT_Hex__Vertex_p_t_t, 0, 0, 0},{0, 0, 0, 0}};
-static swig_cast_info _swigc__p_std__vectorT_Hex__Vertex_p_std__allocatorT_Hex__Vertex_p_t_t__allocator_type[] = {  {&_swigt__p_std__vectorT_Hex__Vertex_p_std__allocatorT_Hex__Vertex_p_t_t__allocator_type, 0, 0, 0},{0, 0, 0, 0}};
-static swig_cast_info _swigc__p_std__vectorT_double_std__allocatorT_double_t_t[] = {  {&_swigt__p_std__vectorT_double_std__allocatorT_double_t_t, 0, 0, 0},{0, 0, 0, 0}};
-static swig_cast_info _swigc__p_std__vectorT_double_std__allocatorT_double_t_t__allocator_type[] = {  {&_swigt__p_std__vectorT_double_std__allocatorT_double_t_t__allocator_type, 0, 0, 0},{0, 0, 0, 0}};
-static swig_cast_info _swigc__p_std__vectorT_int_std__allocatorT_int_t_t[] = {  {&_swigt__p_std__vectorT_int_std__allocatorT_int_t_t, 0, 0, 0},{0, 0, 0, 0}};
-static swig_cast_info _swigc__p_std__vectorT_int_std__allocatorT_int_t_t__allocator_type[] = {  {&_swigt__p_std__vectorT_int_std__allocatorT_int_t_t__allocator_type, 0, 0, 0},{0, 0, 0, 0}};
-static swig_cast_info _swigc__p_std__vectorT_std__string_std__allocatorT_std__string_t_t[] = {  {&_swigt__p_std__vectorT_std__string_std__allocatorT_std__string_t_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_std__vectorTHex__AssoEdge_p_std__allocatorTHex__AssoEdge_p_t_t[] = {  {&_swigt__p_std__vectorTHex__AssoEdge_p_std__allocatorTHex__AssoEdge_p_t_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_std__vectorTHex__EdgeShape_p_std__allocatorTHex__EdgeShape_p_t_t[] = {  {&_swigt__p_std__vectorTHex__EdgeShape_p_std__allocatorTHex__EdgeShape_p_t_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_std__vectorTHex__Edge_p_std__allocatorTHex__Edge_p_t_t[] = {  {&_swigt__p_std__vectorTHex__Edge_p_std__allocatorTHex__Edge_p_t_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_std__vectorTHex__Edge_p_std__allocatorTHex__Edge_p_t_t__allocator_type[] = {  {&_swigt__p_std__vectorTHex__Edge_p_std__allocatorTHex__Edge_p_t_t__allocator_type, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_std__vectorTHex__EltBase_p_std__allocatorTHex__EltBase_p_t_t[] = {  {&_swigt__p_std__vectorTHex__EltBase_p_std__allocatorTHex__EltBase_p_t_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_std__vectorTHex__FaceShape_p_std__allocatorTHex__FaceShape_p_t_t[] = {  {&_swigt__p_std__vectorTHex__FaceShape_p_std__allocatorTHex__FaceShape_p_t_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_std__vectorTHex__Hexa_p_std__allocatorTHex__Hexa_p_t_t[] = {  {&_swigt__p_std__vectorTHex__Hexa_p_std__allocatorTHex__Hexa_p_t_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_std__vectorTHex__Hexa_p_std__allocatorTHex__Hexa_p_t_t__allocator_type[] = {  {&_swigt__p_std__vectorTHex__Hexa_p_std__allocatorTHex__Hexa_p_t_t__allocator_type, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_std__vectorTHex__NewShape_p_std__allocatorTHex__NewShape_p_t_t[] = {  {&_swigt__p_std__vectorTHex__NewShape_p_std__allocatorTHex__NewShape_p_t_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_std__vectorTHex__NewShape_p_std__allocatorTHex__NewShape_p_t_t__allocator_type[] = {  {&_swigt__p_std__vectorTHex__NewShape_p_std__allocatorTHex__NewShape_p_t_t__allocator_type, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_std__vectorTHex__Quad_p_std__allocatorTHex__Quad_p_t_t[] = {  {&_swigt__p_std__vectorTHex__Quad_p_std__allocatorTHex__Quad_p_t_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_std__vectorTHex__Quad_p_std__allocatorTHex__Quad_p_t_t__allocator_type[] = {  {&_swigt__p_std__vectorTHex__Quad_p_std__allocatorTHex__Quad_p_t_t__allocator_type, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_std__vectorTHex__Shape_p_std__allocatorTHex__Shape_p_t_t[] = {  {&_swigt__p_std__vectorTHex__Shape_p_std__allocatorTHex__Shape_p_t_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_std__vectorTHex__SubShape_p_std__allocatorTHex__SubShape_p_t_t[] = {  {&_swigt__p_std__vectorTHex__SubShape_p_std__allocatorTHex__SubShape_p_t_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_std__vectorTHex__Vertex_p_std__allocatorTHex__Vertex_p_t_t[] = {  {&_swigt__p_std__vectorTHex__Vertex_p_std__allocatorTHex__Vertex_p_t_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_std__vectorTHex__Vertex_p_std__allocatorTHex__Vertex_p_t_t__allocator_type[] = {  {&_swigt__p_std__vectorTHex__Vertex_p_std__allocatorTHex__Vertex_p_t_t__allocator_type, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_std__vectorTdouble_std__allocatorTdouble_t_t[] = {  {&_swigt__p_std__vectorTdouble_std__allocatorTdouble_t_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_std__vectorTdouble_std__allocatorTdouble_t_t__allocator_type[] = {  {&_swigt__p_std__vectorTdouble_std__allocatorTdouble_t_t__allocator_type, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_std__vectorTint_std__allocatorTint_t_t[] = {  {&_swigt__p_std__vectorTint_std__allocatorTint_t_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_std__vectorTint_std__allocatorTint_t_t__allocator_type[] = {  {&_swigt__p_std__vectorTint_std__allocatorTint_t_t__allocator_type, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_std__vectorTstd__string_std__allocatorTstd__string_t_t[] = {  {&_swigt__p_std__vectorTstd__string_std__allocatorTstd__string_t_t, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_string[] = {  {&_swigt__p_string, 0, 0, 0},{0, 0, 0, 0}};
-static swig_cast_info _swigc__p_swig__SwigPyIterator[] = {  {&_swigt__p_swig__SwigPyIterator, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_swig__PySwigIterator[] = {  {&_swigt__p_swig__PySwigIterator, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_value_type[] = {  {&_swigt__p_value_type, 0, 0, 0},{0, 0, 0, 0}};
-static swig_cast_info _swigc__std__vectorT_Hex__Edge_p_std__allocatorT_Hex__Edge_p_t_t__value_type[] = {  {&_swigt__std__vectorT_Hex__Edge_p_std__allocatorT_Hex__Edge_p_t_t__value_type, 0, 0, 0},  {&_swigt__p_Hex__Edge, 0, 0, 0},{0, 0, 0, 0}};
-static swig_cast_info _swigc__std__vectorT_Hex__Hexa_p_std__allocatorT_Hex__Hexa_p_t_t__value_type[] = {  {&_swigt__std__vectorT_Hex__Hexa_p_std__allocatorT_Hex__Hexa_p_t_t__value_type, 0, 0, 0},  {&_swigt__p_Hex__Hexa, 0, 0, 0},{0, 0, 0, 0}};
-static swig_cast_info _swigc__std__vectorT_Hex__NewShape_p_std__allocatorT_Hex__NewShape_p_t_t__value_type[] = {  {&_swigt__p_Hex__NewShape, 0, 0, 0},  {&_swigt__std__vectorT_Hex__NewShape_p_std__allocatorT_Hex__NewShape_p_t_t__value_type, 0, 0, 0},{0, 0, 0, 0}};
-static swig_cast_info _swigc__std__vectorT_Hex__Quad_p_std__allocatorT_Hex__Quad_p_t_t__value_type[] = {  {&_swigt__std__vectorT_Hex__Quad_p_std__allocatorT_Hex__Quad_p_t_t__value_type, 0, 0, 0},  {&_swigt__p_Hex__Quad, 0, 0, 0},{0, 0, 0, 0}};
-static swig_cast_info _swigc__std__vectorT_Hex__Vertex_p_std__allocatorT_Hex__Vertex_p_t_t__value_type[] = {  {&_swigt__std__vectorT_Hex__Vertex_p_std__allocatorT_Hex__Vertex_p_t_t__value_type, 0, 0, 0},  {&_swigt__p_Hex__Vertex, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__std__vectorTHex__Edge_p_std__allocatorTHex__Edge_p_t_t__value_type[] = {  {&_swigt__std__vectorTHex__Edge_p_std__allocatorTHex__Edge_p_t_t__value_type, 0, 0, 0},  {&_swigt__p_Hex__Edge, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__std__vectorTHex__Hexa_p_std__allocatorTHex__Hexa_p_t_t__value_type[] = {  {&_swigt__std__vectorTHex__Hexa_p_std__allocatorTHex__Hexa_p_t_t__value_type, 0, 0, 0},  {&_swigt__p_Hex__Hexa, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__std__vectorTHex__NewShape_p_std__allocatorTHex__NewShape_p_t_t__value_type[] = {  {&_swigt__p_Hex__NewShape, 0, 0, 0},  {&_swigt__std__vectorTHex__NewShape_p_std__allocatorTHex__NewShape_p_t_t__value_type, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__std__vectorTHex__Quad_p_std__allocatorTHex__Quad_p_t_t__value_type[] = {  {&_swigt__std__vectorTHex__Quad_p_std__allocatorTHex__Quad_p_t_t__value_type, 0, 0, 0},  {&_swigt__p_Hex__Quad, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__std__vectorTHex__Vertex_p_std__allocatorTHex__Vertex_p_t_t__value_type[] = {  {&_swigt__std__vectorTHex__Vertex_p_std__allocatorTHex__Vertex_p_t_t__value_type, 0, 0, 0},  {&_swigt__p_Hex__Vertex, 0, 0, 0},{0, 0, 0, 0}};
 
 static swig_cast_info *swig_cast_initial[] = {
   _swigc__p_FILE,
@@ -33283,35 +32189,35 @@ static swig_cast_info *swig_cast_initial[] = {
   _swigc__p_reference,
   _swigc__p_size_type,
   _swigc__p_std__invalid_argument,
-  _swigc__p_std__vectorT_Hex__AssoEdge_p_std__allocatorT_Hex__AssoEdge_p_t_t,
-  _swigc__p_std__vectorT_Hex__EdgeShape_p_std__allocatorT_Hex__EdgeShape_p_t_t,
-  _swigc__p_std__vectorT_Hex__Edge_p_std__allocatorT_Hex__Edge_p_t_t,
-  _swigc__p_std__vectorT_Hex__Edge_p_std__allocatorT_Hex__Edge_p_t_t__allocator_type,
-  _swigc__p_std__vectorT_Hex__EltBase_p_std__allocatorT_Hex__EltBase_p_t_t,
-  _swigc__p_std__vectorT_Hex__FaceShape_p_std__allocatorT_Hex__FaceShape_p_t_t,
-  _swigc__p_std__vectorT_Hex__Hexa_p_std__allocatorT_Hex__Hexa_p_t_t,
-  _swigc__p_std__vectorT_Hex__Hexa_p_std__allocatorT_Hex__Hexa_p_t_t__allocator_type,
-  _swigc__p_std__vectorT_Hex__NewShape_p_std__allocatorT_Hex__NewShape_p_t_t,
-  _swigc__p_std__vectorT_Hex__NewShape_p_std__allocatorT_Hex__NewShape_p_t_t__allocator_type,
-  _swigc__p_std__vectorT_Hex__Quad_p_std__allocatorT_Hex__Quad_p_t_t,
-  _swigc__p_std__vectorT_Hex__Quad_p_std__allocatorT_Hex__Quad_p_t_t__allocator_type,
-  _swigc__p_std__vectorT_Hex__Shape_p_std__allocatorT_Hex__Shape_p_t_t,
-  _swigc__p_std__vectorT_Hex__SubShape_p_std__allocatorT_Hex__SubShape_p_t_t,
-  _swigc__p_std__vectorT_Hex__Vertex_p_std__allocatorT_Hex__Vertex_p_t_t,
-  _swigc__p_std__vectorT_Hex__Vertex_p_std__allocatorT_Hex__Vertex_p_t_t__allocator_type,
-  _swigc__p_std__vectorT_double_std__allocatorT_double_t_t,
-  _swigc__p_std__vectorT_double_std__allocatorT_double_t_t__allocator_type,
-  _swigc__p_std__vectorT_int_std__allocatorT_int_t_t,
-  _swigc__p_std__vectorT_int_std__allocatorT_int_t_t__allocator_type,
-  _swigc__p_std__vectorT_std__string_std__allocatorT_std__string_t_t,
+  _swigc__p_std__vectorTHex__AssoEdge_p_std__allocatorTHex__AssoEdge_p_t_t,
+  _swigc__p_std__vectorTHex__EdgeShape_p_std__allocatorTHex__EdgeShape_p_t_t,
+  _swigc__p_std__vectorTHex__Edge_p_std__allocatorTHex__Edge_p_t_t,
+  _swigc__p_std__vectorTHex__Edge_p_std__allocatorTHex__Edge_p_t_t__allocator_type,
+  _swigc__p_std__vectorTHex__EltBase_p_std__allocatorTHex__EltBase_p_t_t,
+  _swigc__p_std__vectorTHex__FaceShape_p_std__allocatorTHex__FaceShape_p_t_t,
+  _swigc__p_std__vectorTHex__Hexa_p_std__allocatorTHex__Hexa_p_t_t,
+  _swigc__p_std__vectorTHex__Hexa_p_std__allocatorTHex__Hexa_p_t_t__allocator_type,
+  _swigc__p_std__vectorTHex__NewShape_p_std__allocatorTHex__NewShape_p_t_t,
+  _swigc__p_std__vectorTHex__NewShape_p_std__allocatorTHex__NewShape_p_t_t__allocator_type,
+  _swigc__p_std__vectorTHex__Quad_p_std__allocatorTHex__Quad_p_t_t,
+  _swigc__p_std__vectorTHex__Quad_p_std__allocatorTHex__Quad_p_t_t__allocator_type,
+  _swigc__p_std__vectorTHex__Shape_p_std__allocatorTHex__Shape_p_t_t,
+  _swigc__p_std__vectorTHex__SubShape_p_std__allocatorTHex__SubShape_p_t_t,
+  _swigc__p_std__vectorTHex__Vertex_p_std__allocatorTHex__Vertex_p_t_t,
+  _swigc__p_std__vectorTHex__Vertex_p_std__allocatorTHex__Vertex_p_t_t__allocator_type,
+  _swigc__p_std__vectorTdouble_std__allocatorTdouble_t_t,
+  _swigc__p_std__vectorTdouble_std__allocatorTdouble_t_t__allocator_type,
+  _swigc__p_std__vectorTint_std__allocatorTint_t_t,
+  _swigc__p_std__vectorTint_std__allocatorTint_t_t__allocator_type,
+  _swigc__p_std__vectorTstd__string_std__allocatorTstd__string_t_t,
   _swigc__p_string,
-  _swigc__p_swig__SwigPyIterator,
+  _swigc__p_swig__PySwigIterator,
   _swigc__p_value_type,
-  _swigc__std__vectorT_Hex__Edge_p_std__allocatorT_Hex__Edge_p_t_t__value_type,
-  _swigc__std__vectorT_Hex__Hexa_p_std__allocatorT_Hex__Hexa_p_t_t__value_type,
-  _swigc__std__vectorT_Hex__NewShape_p_std__allocatorT_Hex__NewShape_p_t_t__value_type,
-  _swigc__std__vectorT_Hex__Quad_p_std__allocatorT_Hex__Quad_p_t_t__value_type,
-  _swigc__std__vectorT_Hex__Vertex_p_std__allocatorT_Hex__Vertex_p_t_t__value_type,
+  _swigc__std__vectorTHex__Edge_p_std__allocatorTHex__Edge_p_t_t__value_type,
+  _swigc__std__vectorTHex__Hexa_p_std__allocatorTHex__Hexa_p_t_t__value_type,
+  _swigc__std__vectorTHex__NewShape_p_std__allocatorTHex__NewShape_p_t_t__value_type,
+  _swigc__std__vectorTHex__Quad_p_std__allocatorTHex__Quad_p_t_t__value_type,
+  _swigc__std__vectorTHex__Vertex_p_std__allocatorTHex__Vertex_p_t_t__value_type,
 };
 
 
@@ -33380,7 +32286,7 @@ SWIGRUNTIME void
 SWIG_InitializeModule(void *clientdata) {
   size_t i;
   swig_module_info *module_head, *iter;
-  int found, init;
+  int found;
   
   clientdata = clientdata;
   
@@ -33390,9 +32296,6 @@ SWIG_InitializeModule(void *clientdata) {
     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 */
@@ -33421,12 +32324,6 @@ SWIG_InitializeModule(void *clientdata) {
     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);
@@ -33589,58 +32486,26 @@ extern "C" {
   
   SWIGINTERN PyObject *
   swig_varlink_repr(swig_varlinkobject *SWIGUNUSEDPARM(v)) {
-#if PY_VERSION_HEX >= 0x03000000
-    return PyUnicode_InternFromString("<Swig global variables>");
-#else
     return PyString_FromString("<Swig global variables>");
-#endif
   }
   
   SWIGINTERN PyObject *
   swig_varlink_str(swig_varlinkobject *v) {
-#if PY_VERSION_HEX >= 0x03000000
-    PyObject *str = PyUnicode_InternFromString("(");
-    PyObject *tail;
-    PyObject *joined;
-    swig_globalvar *var;
-    for (var = v->vars; var; var=var->next) {
-      tail = PyUnicode_FromString(var->name);
-      joined = PyUnicode_Concat(str, tail);
-      Py_DecRef(str);
-      Py_DecRef(tail);
-      str = joined;
-      if (var->next) {
-        tail = PyUnicode_InternFromString(", ");
-        joined = PyUnicode_Concat(str, tail);
-        Py_DecRef(str);
-        Py_DecRef(tail);
-        str = joined;
-      }
-    }
-    tail = PyUnicode_InternFromString(")");
-    joined = PyUnicode_Concat(str, tail);
-    Py_DecRef(str);
-    Py_DecRef(tail);
-    str = joined;
-#else
     PyObject *str = PyString_FromString("(");
-    swig_globalvar *var;
+    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(")"));
-#endif
     return str;
   }
   
   SWIGINTERN int
   swig_varlink_print(swig_varlinkobject *v, FILE *fp, int SWIGUNUSEDPARM(flags)) {
-    char *tmp;
     PyObject *str = swig_varlink_str(v);
     fprintf(fp,"Swig global variables ");
-    fprintf(fp,"%s\n", tmp = SWIG_Python_str_AsChar(str));
-    SWIG_Python_str_DelForPy3(tmp);
+    fprintf(fp,"%s\n", PyString_AsString(str));
     Py_DECREF(str);
     return 0;
   }
@@ -33698,17 +32563,12 @@ extern "C" {
     if (!type_init) {
       const PyTypeObject tmp
       = {
-        /* PyObject header changed in Python 3 */
-#if PY_VERSION_HEX >= 0x03000000
-        PyVarObject_HEAD_INIT(&PyType_Type, 0)
-#else
         PyObject_HEAD_INIT(NULL)
         0,                                  /* Number of items in variable part (ob_size) */
-#endif
         (char *)"swigvarlink",              /* Type name (tp_name) */
         sizeof(swig_varlinkobject),         /* Basic size (tp_basicsize) */
         0,                                  /* Itemsize (tp_itemsize) */
-        (destructor) swig_varlink_dealloc,  /* Deallocator (tp_dealloc) */ 
+        (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) */
@@ -33719,7 +32579,7 @@ extern "C" {
         0,                                  /* tp_as_mapping */
         0,                                  /* tp_hash */
         0,                                  /* tp_call */
-        (reprfunc) swig_varlink_str,        /* tp_str */
+        (reprfunc)swig_varlink_str,        /* tp_str */
         0,                                  /* tp_getattro */
         0,                                  /* tp_setattro */
         0,                                  /* tp_as_buffer */
@@ -33740,10 +32600,7 @@ extern "C" {
 #endif
       };
       varlink_type = tmp;
-      /* for Python 3 we already assigned ob_type in PyVarObject_HEAD_INIT() */
-#if PY_VERSION_HEX < 0x03000000
       varlink_type.ob_type = &PyType_Type;
-#endif
       type_init = 1;
     }
     return &varlink_type;
@@ -33868,37 +32725,13 @@ extern "C" {
 #ifdef __cplusplus
 extern "C"
 #endif
-
-SWIGEXPORT 
-#if PY_VERSION_HEX >= 0x03000000
-PyObject*
-#else
-void
-#endif
-SWIG_init(void) {
-  PyObject *m, *d;  
-#if PY_VERSION_HEX >= 0x03000000
-  static struct PyModuleDef SWIG_module = {
-    PyModuleDef_HEAD_INIT,
-    (char *) SWIG_name,
-    NULL,
-    -1,
-    SwigMethods,
-    NULL,
-    NULL,
-    NULL,
-    NULL
-  };
-#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);
   
-#if PY_VERSION_HEX >= 0x03000000
-  m = PyModule_Create(&SWIG_module);
-#else
   m = Py_InitModule((char *) SWIG_name, SwigMethods);
-#endif
   d = PyModule_GetDict(m);
   
   SWIG_InitializeModule(0);
@@ -33939,7 +32772,7 @@ SWIG_init(void) {
   SWIG_Python_SetConstant(d, "EL_REMOVED",SWIG_From_int(static_cast< int >(Hex::EL_REMOVED)));
   SWIG_Python_SetConstant(d, "EL_MAXI",SWIG_From_int(static_cast< int >(Hex::EL_MAXI)));
   PyDict_SetItemString(d,(char*)"cvar", SWIG_globals());
-  SWIG_addvarlink(SWIG_globals(),(char*)"ABR_TYPES",Swig_var_ABR_TYPES_get, Swig_var_ABR_TYPES_set);
+  SWIG_addvarlink(SWIG_globals(),(char*)"ABR_TYPES",ABR_TYPES_get, ABR_TYPES_set);
   SWIG_Python_SetConstant(d, "HexaCell",SWIG_From_int(static_cast< int >(Hex::HexaCell)));
   SWIG_Python_SetConstant(d, "QuadCell",SWIG_From_int(static_cast< int >(Hex::QuadCell)));
   SWIG_Python_SetConstant(d, "EdgeCell",SWIG_From_int(static_cast< int >(Hex::EdgeCell)));
@@ -34048,13 +32881,8 @@ SWIG_init(void) {
   SWIG_Python_SetConstant(d, "CylBig",SWIG_From_int(static_cast< int >(Hex::CylBig)));
   SWIG_Python_SetConstant(d, "NxInt",SWIG_From_int(static_cast< int >(Hex::NxInt)));
   SWIG_Python_SetConstant(d, "NxExt",SWIG_From_int(static_cast< int >(Hex::NxExt)));
-  SWIG_addvarlink(SWIG_globals(),(char*)"Epsil",Swig_var_Epsil_get, Swig_var_Epsil_set);
-  SWIG_addvarlink(SWIG_globals(),(char*)"UnEpsil",Swig_var_UnEpsil_get, Swig_var_UnEpsil_set);
-  SWIG_addvarlink(SWIG_globals(),(char*)"Epsil2",Swig_var_Epsil2_get, Swig_var_Epsil2_set);
-#if PY_VERSION_HEX >= 0x03000000
-  return m;
-#else
-  return;
-#endif
+  SWIG_addvarlink(SWIG_globals(),(char*)"Epsil",Epsil_get, Epsil_set);
+  SWIG_addvarlink(SWIG_globals(),(char*)"UnEpsil",UnEpsil_get, UnEpsil_set);
+  SWIG_addvarlink(SWIG_globals(),(char*)"Epsil2",Epsil2_get, Epsil2_set);
 }
 
index 936ad01ae8f695187da94ef667c2156cd8a19933..7779f314c160de839ed93c97631bd7c27076d80f 100755 (executable)
@@ -1,4 +1,23 @@
 #!/bin/sh
+# Copyright (C) 2009-2014  CEA/DEN, EDF R&D
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+#
+# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+#
+
 # Comm : I'm swigging in the rain
 
 module=hexablock_swig
index 994e21ecf828ac66db5fef47d2d2070af7e46ca3..58596f586733a0493d335871010d7476b348484d 100644 (file)
@@ -1,9 +1,9 @@
-# Copyright (C) 2012-2013  CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2012-2014  CEA/DEN, EDF R&D
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
 # License as published by the Free Software Foundation; either
-# version 2.1 of the License.
+# version 2.1 of the License, or (at your option) any later version.
 #
 # This library is distributed in the hope that it will be useful,
 # but WITHOUT ANY WARRANTY; without even the implied warranty of
index 42553c49bcd86f88627a3e66a655164a510b521c..e677e493feda4faee6a95e438dbfff047c1070a9 100755 (executable)
@@ -1,9 +1,9 @@
-// Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+// Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
index ae9a3b92ace2947584b4441ba03961469f7556ac..a53533f76374d734ed5f1ad2c0cfaf9ed66b0155 100755 (executable)
@@ -1,9 +1,9 @@
-// Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+// Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
index 6b22afdf3434c0dbbb87794a3b9ccc090216e3f3..3470559d73e5bfc679e1d5e03eb34101b3d07fe2 100755 (executable)
@@ -1,9 +1,9 @@
-// Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+// Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
index 19ffd020f6584a0b452d53853cb2fa106800de37..42e6a0117c0115fa6852cbe4e7e93005ae02d214 100755 (executable)
@@ -1,9 +1,9 @@
-// Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+// Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
index ba021f6a9d3814ed5ce916e9a5ce09af166fde48..bc606004a4f3ff42480ea71ddc960c043082f674 100755 (executable)
@@ -1,9 +1,9 @@
-// Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+// Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
index d7c07a6ede27145a3795b9573c1ab637597c5d0a..0481242c4144b6be65bcb4935df228747c3ab22a 100755 (executable)
@@ -1,9 +1,9 @@
-// Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+// Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
index be2bd3b82b76713058d195c38b6ad8575f5a164b..88c1d0b0486f8d9710a9f19be6e939f184a60ddf 100755 (executable)
@@ -1,9 +1,9 @@
-// Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+// Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
index 141cb64773ff8cce93357845d3e5dcefa4410c4d..418c9d21ad3d13719056a490c82cf490d8c1a63d 100755 (executable)
@@ -1,9 +1,9 @@
-// Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+// Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
index 1d00f9344c1c1e1d77a8db6f13aa7eaca0573914..c7f9c3add404509e33f33de6ca9294c8e0dec484 100755 (executable)
@@ -1,24 +1,24 @@
 
 // C++ : Tests unitaires
 
-//  Copyright (C) 2009-2011  CEA/DEN, EDF R&D
+// Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 //
-//  This library is free software; you can redistribute it and/or
-//  modify it under the terms of the GNU Lesser General Public
-//  License as published by the Free Software Foundation; either
-//  version 2.1 of the License.
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
 //
-//  This library is distributed in the hope that it will be useful,
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-//  Lesser General Public License for more details.
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+// Lesser General Public License for more details.
 //
-//  You should have received a copy of the GNU Lesser General Public
-//  License along with this library; if not, write to the Free Software
-//  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+//
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 //
-//  See http://www.salome-platform.org/
-//  or email : webmaster.salome@opencascade.com
 
 #include "test_unit.hxx"
 
index c6bc6b337200aff995f9a28579e734c2348fb7a0..cad0bcc246aad4244fbd44ea84e57f703399a9fb 100755 (executable)
@@ -1,12 +1,12 @@
 
 // C++ : Tests unitaires sur les creations h'hexaedres
 
-// Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+// Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
index bdee88710eb4319688f6303bf89e9db6d200aae1..827813c2bf1d332c0e52559d11bf2da50b087405 100755 (executable)
@@ -1,12 +1,12 @@
 
 // C++ : Outils communs aux tests unitaires
 
-// Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+// Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
index 66370db85b25292570cc0d0ceff5ab12b18c056e..27a2488390bdfc6fe9f3708ba89ae3c3ed99cfbe 100644 (file)
@@ -1,10 +1,10 @@
 
-// Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+// Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
index c76a805c7d49cce296d7230346d5fe81684288c5..de5445bb7940ea2b51ec63721fe7eea4baef4537 100644 (file)
@@ -1,9 +1,9 @@
-# Copyright (C) 2012-2013  CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2012-2014  CEA/DEN, EDF R&D
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
 # License as published by the Free Software Foundation; either
-# version 2.1 of the License.
+# version 2.1 of the License, or (at your option) any later version.
 #
 # This library is distributed in the hope that it will be useful,
 # but WITHOUT ANY WARRANTY; without even the implied warranty of
diff --git a/src/TEST_PY/cas_2013/casImplicite.brep b/src/TEST_PY/cas_2013/casImplicite.brep
new file mode 100755 (executable)
index 0000000..fd47862
--- /dev/null
@@ -0,0 +1,1454 @@
+DBRep_DrawableShape
+
+CASCADE Topology V1, (c) Matra-Datavision
+Locations 4
+1
+              1               0               0               0 
+              0               1               0               0 
+              0               0               1              40 
+2  1 -1 0
+1
+              1               0               0            62.5 
+              0               1               0               0 
+              0               0               1               0 
+2  3 -1 0
+Curve2ds 98
+1 0 0 1 0 
+1 0 0 1 0 
+1 0 0 0 -1 
+1 0 0 0 1 
+1 0 -10 1 0 
+1 0 0 1 0 
+1 50 0 0 -1 
+1 0 0 0 1 
+1 0 -40 1 0 
+1 0 0 1 0 
+1 0 0 0 -1 
+1 0 0 0 1 
+1 50 0 0 1 
+1 0 0 1 0 
+1 0 0 1 0 
+1 0 50 1 0 
+1 0 0 0 1 
+1 0 0 1 0 
+1 0 0 0 1 
+1 0 0 1 0 
+1 0 0 1 0 
+1 0 0 1 0 
+1 0 0 0 -1 
+1 50 0 0 1 
+1 0 0 0 1 
+1 0 10 1 0 
+1 10 0 0 1 
+1 0 10 1 0 
+1 0 -10 1 0 
+1 0 50 1 0 
+1 10 0 0 -1 
+1 50 0 0 1 
+1 50 0 0 -1 
+1 0 0 0 1 
+1 50 0 0 1 
+1 0 15 1 0 
+1 50 0 0 -1 
+1 5 0 0 1 
+1 50 0 0 -1 
+1 120 0 0 1 
+1 50 0 0 1 
+1 0 40 1 0 
+8 11.25 16.25
+1 85 11.25 0 1 
+8 11.25 16.25
+1 25 11.25 0 -1 
+8 -47.5 -37.5
+1 37.5 22.5 -1 0 
+8 -47.5 -37.5
+1 25 -37.5 0 -1 
+8 11.25 16.25
+1 75 11.25 0 1 
+8 11.25 16.25
+1 25 11.25 0 -1 
+8 -47.5 -37.5
+1 37.5 27.5 -1 0 
+8 -47.5 -37.5
+1 25 -37.5 0 -1 
+2 65 25 1 0 -0 1 5
+1 0 51 1 0 
+1 0 0 0 1 
+1 0 40 1 0 
+1 0 -40 1 0 
+1 0 120 1 0 
+2 20 105 1 0 -0 1 5
+1 0 41 1 0 
+1 0 0 0 -1 
+1 0 0 0 1 
+1 0 0 0 1 
+1 0 15 1 0 
+1 0 0 0 -1 
+1 5 0 0 1 
+1 0 0 0 -1 
+1 120 0 0 1 
+2 65 25 1 0 -0 1 5
+1 0 1 1 0 
+1 0 -15 1 0 
+1 0 0 1 0 
+1 0 -15 1 0 
+1 0 5 1 0 
+1 0 0 1 0 
+1 0 5 1 0 
+1 0 0 1 0 
+1 0 120 1 0 
+2 20 105 1 0 -0 1 5
+1 0 1 1 0 
+1 0 0 1 0 
+1 0 10 1 0 
+1 28 0 0 -1 
+1 10 0 0 1 
+1 0 -5 1 0 
+1 0 10 1 0 
+1 28 0 0 1 
+1 0 0 1 0 
+1 0 0 1 0 
+1 0 0 1 0 
+1 28 0 0 -1 
+1 0 0 0 1 
+1 0 -5 1 0 
+1 0 0 1 0 
+1 28 0 0 1 
+1 0 5 1 0 
+1 6.2831853071795862 -0 0 1 
+1 0 -0 0 1 
+1 6.2831853071795862 -0 0 1 
+1 0 -0 0 1 
+Curves 49
+1 0 0 0 0 0 1 
+1 0 0 0 -0 1 0 
+1 0 10 0 0 0 1 
+1 0 0 50 -0 1 0 
+1 0 40 0 0 0 1 
+1 0 0 0 -0 1 0 
+1 0 0 50 1 0 -0 
+1 50 0 0 0 0 1 
+1 0 0 0 1 0 -0 
+1 0 0 0 1 0 -0 
+1 0 0 0 0 0 1 
+1 50 0 0 -0 1 0 
+1 0 10 0 1 0 -0 
+1 0 10 10 1 0 -0 
+1 50 10 0 0 0 1 
+1 50 0 10 0 1 0 
+1 0 0 50 -0 1 0 
+1 0 15 50 1 0 -0 
+1 5 0 50 0 1 0 
+1 120 0 50 0 1 0 
+1 0 40 50 1 0 -0 
+1 85 11.25 50 -0 1 0 
+1 37.5 22.5 50 -1 -0 0 
+1 75 11.25 50 -0 1 0 
+1 37.5 27.5 50 -1 -0 0 
+2 65 25 50 0 0 1 1 0 -0 -0 1 0 5
+1 0 40 0 1 0 -0 
+1 120 40 0 0 0 1 
+2 105 40 20 0 1 0 0 -0 1 1 0 -0 5
+1 0 0 0 -0 1 0 
+1 0 15 0 1 0 -0 
+1 5 0 0 -0 1 0 
+1 120 0 0 -0 1 0 
+2 65 25 0 0 0 1 1 0 -0 -0 1 0 5
+1 0 15 0 0 0 1 
+1 5 15 0 0 0 1 
+1 5 0 0 0 0 1 
+1 120 0 0 0 0 1 
+2 105 0 20 0 1 0 0 -0 1 1 0 -0 5
+1 85 22.5 25 0 0 1 
+1 85 22.5 53 0 1 0 
+1 85 27.5 25 0 0 1 
+1 75 22.5 53 1 0 -0 
+1 75 22.5 25 0 0 1 
+1 75 22.5 53 -0 1 0 
+1 75 27.5 25 0 0 1 
+1 75 27.5 53 1 0 -0 
+1 70 24.999999999999996 -1 0 0 1 
+1 105 -1 25 0 1 0 
+Polygon3D 0
+PolygonOnTriangulations 102
+2 1 2 
+p 0.4800000008 1 0 40 
+2 5 4 
+p 0.4800000008 1 0 40 
+2 2 3 
+p 0.4800000008 1 0 10 
+2 1 2 
+p 0.4800000008 1 0 10 
+2 3 4 
+p 0.4800000008 1 0 10 
+2 1 3 
+p 0.4800000008 1 0 10 
+2 4 5 
+p 0.4800000008 1 10 40 
+2 1 2 
+p 0.4800000008 1 10 40 
+2 6 5 
+p 0.4800000008 1 0 50 
+2 1 3 
+p 0.4800000008 1 0 50 
+2 1 6 
+p 0.4800000008 1 0 40 
+2 3 1 
+p 0.4800000008 1 0 40 
+2 1 2 
+p 0.4800000008 1 50 62.5 
+2 4 5 
+p 0.4800000008 1 50 62.5 
+2 3 1 
+p 0.4800000008 1 0 10 
+2 1 2 
+p 0.4800000008 1 0 10 
+2 4 3 
+p 0.4800000008 1 0 50 
+2 1 3 
+p 0.4800000008 1 0 50 
+2 5 6 
+p 0.4800000008 1 0 62.5 
+2 3 4 
+p 0.4800000008 1 0 62.5 
+2 6 2 
+p 0.4800000008 1 0 50 
+2 1 2 
+p 0.4800000008 1 0 50 
+2 3 4 
+p 0.4800000008 1 0 10 
+2 1 3 
+p 0.4800000008 1 0 10 
+2 2 4 
+p 0.4800000008 1 0 50 
+2 1 2 
+p 0.4800000008 1 0 50 
+2 3 4 
+p 0.4800000008 1 0 50 
+2 1 3 
+p 0.4800000008 1 0 50 
+2 2 4 
+p 0.4800000008 1 0 10 
+2 3 4 
+p 0.4800000008 1 0 10 
+2 4 3 
+p 0.4800000008 1 0 10 
+2 2 4 
+p 0.4800000008 1 0 10 
+2 5 6 
+p 0.4800000008 1 0 15 
+2 2 4 
+p 0.4800000008 1 0 15 
+2 6 7 
+p 0.4800000008 1 0 5 
+2 3 4 
+p 0.4800000008 1 0 5 
+2 8 7 
+p 0.4800000008 1 0 15 
+2 2 4 
+p 0.4800000008 1 0 15 
+2 8 9 
+p 0.4800000008 1 67.5 120 
+2 1 2 
+p 0.4800000008 1 67.5 120 
+2 9 10 
+p 0.4800000008 1 0 40 
+2 2 3 
+p 0.4800000008 1 0 40 
+2 2 10 
+p 0.4800000008 1 0 120 
+2 3 4 
+p 0.4800000008 1 0 120 
+2 11 12 
+p 0.4800000008 1 11.25 16.25 
+2 1 4 
+p 0.4800000008 1 11.25 16.25 
+2 11 13 
+p 0.4800000008 1 -47.5 -37.5 
+2 1 4 
+p 0.4800000008 1 -47.5 -37.5 
+2 13 14 
+p 0.4800000008 1 11.25 16.25 
+2 1 4 
+p 0.4800000008 1 11.25 16.25 
+2 12 14 
+p 0.4800000008 1 -47.5 -37.5 
+2 1 4 
+p 0.4800000008 1 -47.5 -37.5 
+37 1 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 2 
+p 0.4800000008 1 0 0.174532925199433 0.349065850398866 0.523598775598299 0.698131700797732 0.872664625997165 1.0471975511966 1.22173047639603 1.39626340159546 1.5707963267949 1.74532925199433 1.91986217719376 2.0943951023932 2.26892802759263 2.44346095279206 2.61799387799149 2.79252680319093 2.96705972839036 3.14159265358979 3.31612557878922 3.49065850398866 3.66519142918809 3.83972435438752 4.01425727958696 4.18879020478639 4.36332312998582 4.53785605518525 4.71238898038469 4.88692190558412 5.06145483078355 5.23598775598299 5.41052068118242 5.58505360638185 5.75958653158128 5.93411945678072 6.10865238198015 6.28318530717959 
+37 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 15 
+p 0.4800000008 1 0 0.174532925199433 0.349065850398866 0.523598775598299 0.698131700797732 0.872664625997165 1.0471975511966 1.22173047639603 1.39626340159546 1.5707963267949 1.74532925199433 1.91986217719376 2.0943951023932 2.26892802759263 2.44346095279206 2.61799387799149 2.79252680319093 2.96705972839036 3.14159265358979 3.31612557878922 3.49065850398866 3.66519142918809 3.83972435438752 4.01425727958696 4.18879020478639 4.36332312998582 4.53785605518525 4.71238898038469 4.88692190558412 5.06145483078355 5.23598775598299 5.41052068118242 5.58505360638185 5.75958653158128 5.93411945678072 6.10865238198015 6.28318530717959 
+2 1 2 
+p 0.4800000008 1 0 120 
+2 1 2 
+p 0.4800000008 1 0 120 
+2 2 4 
+p 0.4800000008 1 0 50 
+2 4 3 
+p 0.4800000008 1 0 50 
+37 1 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 2 
+p 0.4800000008 1 0 0.174532925199433 0.349065850398866 0.523598775598299 0.698131700797732 0.872664625997165 1.0471975511966 1.22173047639603 1.39626340159546 1.5707963267949 1.74532925199433 1.91986217719376 2.0943951023932 2.26892802759263 2.44346095279206 2.61799387799149 2.79252680319093 2.96705972839036 3.14159265358979 3.31612557878922 3.49065850398866 3.66519142918809 3.83972435438752 4.01425727958696 4.18879020478639 4.36332312998582 4.53785605518525 4.71238898038469 4.88692190558412 5.06145483078355 5.23598775598299 5.41052068118242 5.58505360638185 5.75958653158128 5.93411945678072 6.10865238198015 6.28318530717959 
+37 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 5 
+p 0.4800000008 1 0 0.174532925199433 0.349065850398866 0.523598775598299 0.698131700797732 0.872664625997165 1.0471975511966 1.22173047639603 1.39626340159546 1.5707963267949 1.74532925199433 1.91986217719376 2.0943951023932 2.26892802759263 2.44346095279206 2.61799387799149 2.79252680319093 2.96705972839036 3.14159265358979 3.31612557878922 3.49065850398866 3.66519142918809 3.83972435438752 4.01425727958696 4.18879020478639 4.36332312998582 4.53785605518525 4.71238898038469 4.88692190558412 5.06145483078355 5.23598775598299 5.41052068118242 5.58505360638185 5.75958653158128 5.93411945678072 6.10865238198015 6.28318530717959 
+2 4 5 
+p 0.4800000008 1 0 15 
+2 1 3 
+p 0.4800000008 1 0 15 
+2 5 6 
+p 0.4800000008 1 0 5 
+2 1 2 
+p 0.4800000008 1 0 5 
+2 7 6 
+p 0.4800000008 1 0 15 
+2 1 3 
+p 0.4800000008 1 0 15 
+2 7 8 
+p 0.4800000008 1 67.5 120 
+2 4 3 
+p 0.4800000008 1 67.5 120 
+2 8 2 
+p 0.4800000008 1 0 40 
+2 1 4 
+p 0.4800000008 1 0 40 
+37 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 38 
+p 0.4800000008 1 0 0.174532925199433 0.349065850398866 0.523598775598299 0.698131700797732 0.872664625997165 1.0471975511966 1.22173047639603 1.39626340159546 1.5707963267949 1.74532925199433 1.91986217719376 2.0943951023932 2.26892802759263 2.44346095279206 2.61799387799149 2.79252680319093 2.96705972839036 3.14159265358979 3.31612557878922 3.49065850398866 3.66519142918809 3.83972435438752 4.01425727958696 4.18879020478639 4.36332312998582 4.53785605518525 4.71238898038469 4.88692190558412 5.06145483078355 5.23598775598299 5.41052068118242 5.58505360638185 5.75958653158128 5.93411945678072 6.10865238198015 6.28318530717959 
+37 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 9 
+p 0.4800000008 1 0 0.174532925199433 0.349065850398866 0.523598775598299 0.698131700797732 0.872664625997165 1.0471975511966 1.22173047639603 1.39626340159546 1.5707963267949 1.74532925199433 1.91986217719376 2.0943951023932 2.26892802759263 2.44346095279206 2.61799387799149 2.79252680319093 2.96705972839036 3.14159265358979 3.31612557878922 3.49065850398866 3.66519142918809 3.83972435438752 4.01425727958696 4.18879020478639 4.36332312998582 4.53785605518525 4.71238898038469 4.88692190558412 5.06145483078355 5.23598775598299 5.41052068118242 5.58505360638185 5.75958653158128 5.93411945678072 6.10865238198015 6.28318530717959 
+2 3 4 
+p 0.4800000008 1 0 50 
+2 1 3 
+p 0.4800000008 1 0 50 
+2 2 4 
+p 0.4800000008 1 0 50 
+2 3 4 
+p 0.4800000008 1 0 50 
+2 1 2 
+p 0.4800000008 1 0 50 
+2 4 1 
+p 0.4800000008 1 0 50 
+2 3 2 
+p 0.4800000008 1 0 50 
+2 1 2 
+p 0.4800000008 1 0 50 
+37 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 38 
+p 0.4800000008 1 0 0.174532925199433 0.349065850398866 0.523598775598299 0.698131700797732 0.872664625997165 1.0471975511966 1.22173047639603 1.39626340159546 1.5707963267949 1.74532925199433 1.91986217719376 2.0943951023932 2.26892802759263 2.44346095279206 2.61799387799149 2.79252680319093 2.96705972839036 3.14159265358979 3.31612557878922 3.49065850398866 3.66519142918809 3.83972435438752 4.01425727958696 4.18879020478639 4.36332312998582 4.53785605518525 4.71238898038469 4.88692190558412 5.06145483078355 5.23598775598299 5.41052068118242 5.58505360638185 5.75958653158128 5.93411945678072 6.10865238198015 6.28318530717959 
+37 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 5 
+p 0.4800000008 1 0 0.174532925199433 0.349065850398866 0.523598775598299 0.698131700797732 0.872664625997165 1.0471975511966 1.22173047639603 1.39626340159546 1.5707963267949 1.74532925199433 1.91986217719376 2.0943951023932 2.26892802759263 2.44346095279206 2.61799387799149 2.79252680319093 2.96705972839036 3.14159265358979 3.31612557878922 3.49065850398866 3.66519142918809 3.83972435438752 4.01425727958696 4.18879020478639 4.36332312998582 4.53785605518525 4.71238898038469 4.88692190558412 5.06145483078355 5.23598775598299 5.41052068118242 5.58505360638185 5.75958653158128 5.93411945678072 6.10865238198015 6.28318530717959 
+2 1 2 
+p 0.4800000008 1 25 28 
+2 1 2 
+p 0.4800000008 1 25 28 
+2 2 3 
+p 0.4800000008 1 0 5 
+2 4 3 
+p 0.4800000008 1 0 5 
+2 4 3 
+p 0.4800000008 1 25 28 
+2 1 2 
+p 0.4800000008 1 25 28 
+2 3 2 
+p 0.4800000008 1 0 10 
+2 1 4 
+p 0.4800000008 1 0 10 
+2 4 3 
+p 0.4800000008 1 25 28 
+2 1 2 
+p 0.4800000008 1 25 28 
+2 2 3 
+p 0.4800000008 1 0 5 
+2 1 2 
+p 0.4800000008 1 0 5 
+2 4 3 
+p 0.4800000008 1 25 28 
+2 4 3 
+p 0.4800000008 1 25 28 
+2 3 2 
+p 0.4800000008 1 0 10 
+2 2 3 
+p 0.4800000008 1 0 10 
+2 38 2 
+p 0.4800000008 1 1 51 
+2 39 1 
+p 0.4800000008 1 1 51 
+2 38 2 
+p 0.4800000008 1 1 41 
+2 39 1 
+p 0.4800000008 1 1 41 
+Surfaces 25
+1 0 0 0 1 0 -0 0 0 1 0 -1 0 
+1 0 0 0 -0 1 0 0 0 1 1 0 -0 
+1 0 0 0 1 0 -0 0 0 1 0 -1 0 
+1 0 0 0 0 0 1 1 0 -0 -0 1 0 
+1 0 10 0 -0 1 0 0 0 1 1 0 -0 
+1 0 0 50 0 0 1 1 0 -0 -0 1 0 
+1 0 40 0 -0 1 0 0 0 1 1 0 -0 
+1 0 0 0 0 0 1 1 0 -0 -0 1 0 
+1 50 0 0 1 0 -0 0 0 1 0 -1 0 
+1 0 0 0 -0 1 0 0 0 1 1 0 -0 
+1 0 0 0 1 0 -0 0 0 1 0 -1 0 
+1 0 0 0 -0 1 0 0 0 1 1 0 -0 
+1 0 0 10 0 0 1 1 0 -0 -0 1 0 
+1 0 0 50 0 0 1 1 0 -0 -0 1 0 
+1 0 15 0 -0 1 0 0 0 1 1 0 -0 
+1 5 0 0 1 0 -0 0 0 1 0 -1 0 
+1 120 0 0 1 0 -0 0 0 1 0 -1 0 
+1 85 22.5 25 1 0 -0 0 0 1 0 -1 0 
+1 75 22.5 25 -0 1 0 0 0 1 1 0 -0 
+1 75 22.5 25 1 0 -0 0 0 1 0 -1 0 
+1 75 27.5 25 -0 1 0 0 0 1 1 0 -0 
+2 65 25 -1 0 0 1 1 0 -0 -0 1 0 5
+2 105 -1 20 0 1 0 0 -0 1 1 0 -0 5
+1 0 0 0 0 0 1 1 0 -0 -0 1 0 
+1 75 22.5 53 0 0 1 1 0 -0 -0 1 0 
+Triangulations 20
+6 4 1 0
+0 0 0 0 0 40 0 10 40 0 10 50 0 40 50 0 40 0 0 0 40 0 40 -10 50 -10 50 -40 0 -40 3 6 5 3 1 6 4 3 5 2 1 3 
+6 4 1 8.88178419700125e-16
+50 0 50 62.5 0 50 50 0 40 0 0 40 0 0 0 62.5 0 0 50 50 50 62.5 40 50 40 0 0 0 0 62.5 3 5 4 3 6 5 2 3 1 2 6 3 
+4 2 1 8.88178419700125e-16
+0 0 40 0 10 40 50 0 40 50 10 40 0 0 0 10 50 0 50 10 4 2 1 4 1 3 
+4 2 1 8.88178419700125e-16
+0 10 40 50 10 40 0 10 50 50 10 50 0 0 0 50 10 0 10 50 4 2 1 4 1 3 
+50 52 1 7.32747196252603e-15
+0 10 50 0 40 50 50 10 50 50 0 50 62.5 0 50 62.5 15 50 67.5 15 50 67.5 0 50 120 0 50 120 40 50 85 22.5 50 85 27.5 50 75 22.5 50 75 27.5 50 70 25 50 69.924038765061 25.8682408883347 50 69.6984631039295 26.7101007166283 50 69.3301270189222 27.5 50 68.8302222155949 28.2139380484327 50 68.2139380484327 28.8302222155949 50 67.5 29.3301270189222 50 66.7101007166283 29.6984631039295 50 65.8682408883347 29.924038765061 50 65 30 50 64.1317591116653 29.924038765061 50 63.2898992833717 29.6984631039295 50 62.5 29.3301270189222 50 61.7860619515673 28.8302222155949 50 61.1697777844051 28.2139380484327 50 60.6698729810778 27.5 50 60.3015368960705 26.7101007166284 50 60.075961234939 25.8682408883347 50 60 25 50 60.075961234939 24.1317591116654 50 60.3015368960705 23.2898992833717 50 60.6698729810778 22.5 50 61.1697777844051 21.7860619515673 50 61.7860619515673 21.1697777844051 50 62.5 20.6698729810778 50 63.2898992833716 20.3015368960705 50 64.1317591116653 20.075961234939 50 65 20 50 65.8682408883346 20.075961234939 50 66.7101007166283 20.3015368960705 50 67.5 20.6698729810778 50 68.2139380484327 21.1697777844051 50 68.8302222155949 21.7860619515673 50 69.3301270189222 22.5 50 69.6984631039295 23.2898992833716 50 69.924038765061 24.1317591116653 50 0 10 0 40 50 10 50 0 62.5 0 62.5 15 67.5 15 67.5 0 120 0 120 40 85 22.5 85 27.5 75 22.5 75 27.5 70 25 69.924038765061 25.8682408883347 69.6984631039295 26.7101007166283 69.3301270189222 27.5 68.8302222155949 28.2139380484327 68.2139380484327 28.8302222155949 67.5 29.3301270189222 66.7101007166283 29.6984631039295 65.8682408883347 29.924038765061 65 30 64.1317591116653 29.924038765061 63.2898992833717 29.6984631039295 62.5 29.3301270189222 61.7860619515673 28.8302222155949 61.1697777844051 28.2139380484327 60.6698729810778 27.5 60.3015368960705 26.7101007166284 60.075961234939 25.8682408883347 60 25 60.075961234939 24.1317591116654 60.3015368960705 23.2898992833717 60.6698729810778 22.5 61.1697777844051 21.7860619515673 61.7860619515673 21.1697777844051 62.5 20.6698729810778 63.2898992833716 20.3015368960705 64.1317591116653 20.075961234939 65 20 65.8682408883346 20.075961234939 66.7101007166283 20.3015368960705 67.5 20.6698729810778 68.2139380484327 21.1697777844051 68.8302222155949 21.7860619515673 69.3301270189222 22.5 69.6984631039295 23.2898992833716 69.924038765061 24.1317591116653 3 2 1 5 3 4 6 3 5 37 3 6 38 37 6 39 38 6 36 3 37 35 3 36 40 39 6 41 40 6 13 47 7 34 3 35 13 48 47 13 49 48 42 6 7 13 50 49 13 15 50 14 16 15 14 17 16 14 18 17 42 41 6 14 19 18 14 20 19 14 21 20 14 22 21 14 15 13 33 3 34 11 7 8 11 13 7 43 42 7 32 2 3 12 22 14 32 3 33 9 11 8 10 12 11 44 43 7 10 23 22 10 22 12 10 11 9 31 2 32 10 2 24 10 24 23 24 2 25 25 2 26 45 44 7 30 2 31 46 45 7 29 2 30 47 46 7 28 2 29 27 2 28 26 2 27 
+40 40 1 7.99360577730113e-15
+0 40 0 120 40 0 0 40 50 120 40 50 105 40 25 105.868240888335 40 24.924038765061 106.710100716628 40 24.6984631039295 107.5 40 24.3301270189222 108.213938048433 40 23.8302222155949 108.830222215595 40 23.2139380484327 109.330127018922 40 22.5 109.69846310393 40 21.7101007166283 109.924038765061 40 20.8682408883347 110 40 20 109.924038765061 40 19.1317591116653 109.69846310393 40 18.2898992833717 109.330127018922 40 17.5 108.830222215595 40 16.7860619515673 108.213938048433 40 16.1697777844051 107.5 40 15.6698729810778 106.710100716628 40 15.3015368960705 105.868240888335 40 15.075961234939 105 40 15 104.131759111665 40 15.075961234939 103.289899283372 40 15.3015368960705 102.5 40 15.6698729810778 101.786061951567 40 16.1697777844051 101.169777784405 40 16.7860619515673 100.669872981078 40 17.5 100.30153689607 40 18.2898992833716 100.075961234939 40 19.1317591116653 100 40 20 100.075961234939 40 20.8682408883346 100.30153689607 40 21.7101007166283 100.669872981078 40 22.5 101.169777784405 40 23.2139380484327 101.786061951567 40 23.8302222155949 102.5 40 24.3301270189222 103.289899283372 40 24.6984631039295 104.131759111665 40 24.924038765061 0 0 0 120 50 0 50 120 25 105 24.924038765061 105.868240888335 24.6984631039295 106.710100716628 24.3301270189222 107.5 23.8302222155949 108.213938048433 23.2139380484327 108.830222215595 22.5 109.330127018922 21.7101007166283 109.69846310393 20.8682408883347 109.924038765061 20 110 19.1317591116653 109.924038765061 18.2898992833717 109.69846310393 17.5 109.330127018922 16.7860619515673 108.830222215595 16.1697777844051 108.213938048433 15.6698729810778 107.5 15.3015368960705 106.710100716628 15.075961234939 105.868240888335 15 105 15.075961234939 104.131759111665 15.3015368960705 103.289899283372 15.6698729810778 102.5 16.1697777844051 101.786061951567 16.7860619515673 101.169777784405 17.5 100.669872981078 18.2898992833716 100.30153689607 19.1317591116653 100.075961234939 20 100 20.8682408883346 100.075961234939 21.7101007166283 100.30153689607 22.5 100.669872981078 23.2139380484327 101.169777784405 23.8302222155949 101.786061951567 24.3301270189222 102.5 24.6984631039295 103.289899283372 24.924038765061 104.131759111665 28 27 1 26 1 27 4 6 5 4 2 13 4 7 6 4 8 7 4 9 8 4 10 9 4 11 10 4 12 11 29 28 1 4 13 12 4 38 37 4 39 38 4 40 39 4 5 40 30 29 1 4 37 3 31 30 1 32 1 3 32 31 1 2 25 24 2 26 25 2 1 26 23 2 24 33 32 3 22 2 23 34 33 3 21 2 22 35 34 3 20 2 21 36 35 3 19 2 20 37 36 3 18 2 19 17 2 18 16 2 17 15 2 16 14 2 15 13 2 14 
+44 44 1 7.32747196252603e-15
+0 40 0 120 40 0 0 0 0 62.5 0 0 62.5 15 0 67.5 15 0 67.5 0 0 120 0 0 70 25 0 69.924038765061 25.8682408883347 0 69.6984631039295 26.7101007166283 0 69.3301270189222 27.5 0 68.8302222155949 28.2139380484327 0 68.2139380484327 28.8302222155949 0 67.5 29.3301270189222 0 66.7101007166283 29.6984631039295 0 65.8682408883347 29.924038765061 0 65 30 0 64.1317591116653 29.924038765061 0 63.2898992833717 29.6984631039295 0 62.5 29.3301270189222 0 61.7860619515673 28.8302222155949 0 61.1697777844051 28.2139380484327 0 60.6698729810778 27.5 0 60.3015368960705 26.7101007166284 0 60.075961234939 25.8682408883347 0 60 25 0 60.075961234939 24.1317591116654 0 60.3015368960705 23.2898992833717 0 60.6698729810778 22.5 0 61.1697777844051 21.7860619515673 0 61.7860619515673 21.1697777844051 0 62.5 20.6698729810778 0 63.2898992833716 20.3015368960705 0 64.1317591116653 20.075961234939 0 65 20 0 65.8682408883346 20.075961234939 0 66.7101007166283 20.3015368960705 0 67.5 20.6698729810778 0 68.2139380484327 21.1697777844051 0 68.8302222155949 21.7860619515673 0 69.3301270189222 22.5 0 69.6984631039295 23.2898992833716 0 69.924038765061 24.1317591116653 0 0 40 120 40 0 0 62.5 0 62.5 15 67.5 15 67.5 0 120 0 70 25 69.924038765061 25.8682408883347 69.6984631039295 26.7101007166283 69.3301270189222 27.5 68.8302222155949 28.2139380484327 68.2139380484327 28.8302222155949 67.5 29.3301270189222 66.7101007166283 29.6984631039295 65.8682408883347 29.924038765061 65 30 64.1317591116653 29.924038765061 63.2898992833717 29.6984631039295 62.5 29.3301270189222 61.7860619515673 28.8302222155949 61.1697777844051 28.2139380484327 60.6698729810778 27.5 60.3015368960705 26.7101007166284 60.075961234939 25.8682408883347 60 25 60.075961234939 24.1317591116654 60.3015368960705 23.2898992833717 60.6698729810778 22.5 61.1697777844051 21.7860619515673 61.7860619515673 21.1697777844051 62.5 20.6698729810778 63.2898992833716 20.3015368960705 64.1317591116653 20.075961234939 65 20 65.8682408883346 20.075961234939 66.7101007166283 20.3015368960705 67.5 20.6698729810778 68.2139380484327 21.1697777844051 68.8302222155949 21.7860619515673 69.3301270189222 22.5 69.6984631039295 23.2898992833716 69.924038765061 24.1317591116653 5 3 4 32 31 5 33 32 5 8 6 7 30 5 31 29 3 5 8 44 43 29 5 30 8 43 6 34 33 5 2 44 8 2 10 9 2 11 10 2 12 11 2 13 12 2 14 13 2 15 14 35 34 5 2 16 15 2 17 16 28 1 3 2 9 44 2 1 18 2 18 17 18 1 19 28 3 29 19 1 20 36 5 6 36 35 5 27 1 28 37 36 6 26 1 27 38 37 6 25 1 26 39 38 6 24 1 25 40 39 6 23 1 24 41 40 6 22 1 23 42 41 6 21 1 22 43 42 6 20 1 21 
+4 2 1 0
+50 0 40 50 0 50 50 10 40 50 10 50 0 0 10 0 0 -10 10 -10 2 1 3 2 3 4 
+4 2 1 8.88178419700125e-16
+62.5 0 0 62.5 0 50 62.5 15 0 62.5 15 50 0 0 50 0 0 -15 50 -15 4 1 3 2 1 4 
+4 2 1 0
+62.5 15 0 67.5 15 0 62.5 15 50 67.5 15 50 0 0 0 5 50 0 50 5 4 2 1 4 1 3 
+4 2 1 8.88178419700125e-16
+67.5 0 0 67.5 0 50 67.5 15 0 67.5 15 50 0 0 50 0 0 -15 50 -15 4 1 3 2 1 4 
+40 40 1 7.99360577730113e-15
+67.5 0 50 120 0 50 120 0 0 67.5 0 0 105 0 25 105.868240888335 0 24.924038765061 106.710100716628 0 24.6984631039295 107.5 0 24.3301270189222 108.213938048433 0 23.8302222155949 108.830222215595 0 23.2139380484327 109.330127018922 0 22.5 109.69846310393 0 21.7101007166283 109.924038765061 0 20.8682408883347 110 0 20 109.924038765061 0 19.1317591116653 109.69846310393 0 18.2898992833717 109.330127018922 0 17.5 108.830222215595 0 16.7860619515673 108.213938048433 0 16.1697777844051 107.5 0 15.6698729810778 106.710100716628 0 15.3015368960705 105.868240888335 0 15.075961234939 105 0 15 104.131759111665 0 15.075961234939 103.289899283372 0 15.3015368960705 102.5 0 15.6698729810778 101.786061951567 0 16.1697777844051 101.169777784405 0 16.7860619515673 100.669872981078 0 17.5 100.30153689607 0 18.2898992833716 100.075961234939 0 19.1317591116653 100 0 20 100.075961234939 0 20.8682408883346 100.30153689607 0 21.7101007166283 100.669872981078 0 22.5 101.169777784405 0 23.2139380484327 101.786061951567 0 23.8302222155949 102.5 0 24.3301270189222 103.289899283372 0 24.6984631039295 104.131759111665 0 24.924038765061 50 67.5 50 120 0 120 0 67.5 25 105 24.924038765061 105.868240888335 24.6984631039295 106.710100716628 24.3301270189222 107.5 23.8302222155949 108.213938048433 23.2139380484327 108.830222215595 22.5 109.330127018922 21.7101007166283 109.69846310393 20.8682408883347 109.924038765061 20 110 19.1317591116653 109.924038765061 18.2898992833717 109.69846310393 17.5 109.330127018922 16.7860619515673 108.830222215595 16.1697777844051 108.213938048433 15.6698729810778 107.5 15.3015368960705 106.710100716628 15.075961234939 105.868240888335 15 105 15.075961234939 104.131759111665 15.3015368960705 103.289899283372 15.6698729810778 102.5 16.1697777844051 101.786061951567 16.7860619515673 101.169777784405 17.5 100.669872981078 18.2898992833716 100.30153689607 19.1317591116653 100.075961234939 20 100 20.8682408883346 100.075961234939 21.7101007166283 100.30153689607 22.5 100.669872981078 23.2139380484327 101.169777784405 23.8302222155949 101.786061951567 24.3301270189222 102.5 24.6984631039295 103.289899283372 24.924038765061 104.131759111665 2 6 5 2 7 6 2 8 7 27 4 28 2 9 8 2 10 9 2 11 10 2 12 11 29 28 4 2 13 12 2 40 39 2 5 40 26 4 27 2 39 1 2 3 14 2 14 13 30 29 4 25 4 26 31 30 4 32 31 4 3 25 24 3 4 25 23 3 24 33 4 1 33 32 4 22 3 23 34 33 1 21 3 22 35 34 1 20 3 21 36 35 1 19 3 20 37 36 1 18 3 19 38 37 1 17 3 18 39 38 1 16 3 17 15 3 16 14 3 15 
+4 2 1 0
+120 0 0 120 0 50 120 40 50 120 40 0 0 0 50 0 50 -40 0 -40 2 4 3 2 1 4 
+4 2 1 0
+85 22.5 50 85 22.5 53 85 27.5 53 85 27.5 50 25 0 28 0 28 -5 25 -5 2 4 3 2 1 4 
+4 2 1 0
+85 22.5 50 85 22.5 53 75 22.5 53 75 22.5 50 25 10 28 10 28 0 25 0 2 4 3 2 1 4 
+4 2 1 0
+75 22.5 50 75 22.5 53 75 27.5 53 75 27.5 50 25 0 28 0 28 -5 25 -5 2 4 3 2 1 4 
+4 2 1 0
+85 27.5 50 85 27.5 53 75 27.5 53 75 27.5 50 25 10 28 10 28 0 25 0 2 4 3 2 1 4 
+74 72 1 0.0190265095412773
+70 25 50 70 25 50 69.924038765061 25.8682408883347 50 69.6984631039295 26.7101007166283 50 69.3301270189222 27.5 50 68.8302222155949 28.2139380484327 50 68.2139380484327 28.8302222155949 50 67.5 29.3301270189222 50 66.7101007166283 29.6984631039295 50 65.8682408883347 29.924038765061 50 65 30 50 64.1317591116653 29.924038765061 50 63.2898992833717 29.6984631039295 50 62.5 29.3301270189222 50 61.7860619515673 28.8302222155949 50 61.1697777844051 28.2139380484327 50 60.6698729810778 27.5 50 60.3015368960705 26.7101007166284 50 60.075961234939 25.8682408883347 50 60 25 50 60.075961234939 24.1317591116654 50 60.3015368960705 23.2898992833717 50 60.6698729810778 22.5 50 61.1697777844051 21.7860619515673 50 61.7860619515673 21.1697777844051 50 62.5 20.6698729810778 50 63.2898992833716 20.3015368960705 50 64.1317591116653 20.075961234939 50 65 20 50 65.8682408883346 20.075961234939 50 66.7101007166283 20.3015368960705 50 67.5 20.6698729810778 50 68.2139380484327 21.1697777844051 50 68.8302222155949 21.7860619515673 50 69.3301270189222 22.5 50 69.6984631039295 23.2898992833716 50 69.924038765061 24.1317591116653 50 70 25 0 70 25 0 69.924038765061 25.8682408883347 0 69.6984631039295 26.7101007166283 0 69.3301270189222 27.5 0 68.8302222155949 28.2139380484327 0 68.2139380484327 28.8302222155949 0 67.5 29.3301270189222 0 66.7101007166283 29.6984631039295 0 65.8682408883347 29.924038765061 0 65 30 0 64.1317591116653 29.924038765061 0 63.2898992833717 29.6984631039295 0 62.5 29.3301270189222 0 61.7860619515673 28.8302222155949 0 61.1697777844051 28.2139380484327 0 60.6698729810778 27.5 0 60.3015368960705 26.7101007166284 0 60.075961234939 25.8682408883347 0 60 25 0 60.075961234939 24.1317591116654 0 60.3015368960705 23.2898992833717 0 60.6698729810778 22.5 0 61.1697777844051 21.7860619515673 0 61.7860619515673 21.1697777844051 0 62.5 20.6698729810778 0 63.2898992833716 20.3015368960705 0 64.1317591116653 20.075961234939 0 65 20 0 65.8682408883346 20.075961234939 0 66.7101007166283 20.3015368960705 0 67.5 20.6698729810778 0 68.2139380484327 21.1697777844051 0 68.8302222155949 21.7860619515673 0 69.3301270189222 22.5 0 69.6984631039295 23.2898992833716 0 69.924038765061 24.1317591116653 0 0 51 6.28318530717959 51 0.174532925199433 51 0.349065850398866 51 0.523598775598299 51 0.698131700797732 51 0.872664625997165 51 1.0471975511966 51 1.22173047639603 51 1.39626340159546 51 1.5707963267949 51 1.74532925199433 51 1.91986217719376 51 2.0943951023932 51 2.26892802759263 51 2.44346095279206 51 2.61799387799149 51 2.79252680319093 51 2.96705972839036 51 3.14159265358979 51 3.31612557878922 51 3.49065850398866 51 3.66519142918809 51 3.83972435438752 51 4.01425727958696 51 4.18879020478639 51 4.36332312998582 51 4.53785605518525 51 4.71238898038469 51 4.88692190558412 51 5.06145483078355 51 5.23598775598299 51 5.41052068118242 51 5.58505360638185 51 5.75958653158128 51 5.93411945678072 51 6.10865238198015 51 6.28318530717959 1 0 1 0.174532925199433 1 0.349065850398866 1 0.523598775598299 1 0.698131700797732 1 0.872664625997165 1 1.0471975511966 1 1.22173047639603 1 1.39626340159546 1 1.5707963267949 1 1.74532925199433 1 1.91986217719376 1 2.0943951023932 1 2.26892802759263 1 2.44346095279206 1 2.61799387799149 1 2.79252680319093 1 2.96705972839036 1 3.14159265358979 1 3.31612557878922 1 3.49065850398866 1 3.66519142918809 1 3.83972435438752 1 4.01425727958696 1 4.18879020478639 1 4.36332312998582 1 4.53785605518525 1 4.71238898038469 1 4.88692190558412 1 5.06145483078355 1 5.23598775598299 1 5.41052068118242 1 5.58505360638185 1 5.75958653158128 1 5.93411945678072 1 6.10865238198015 1 21 57 58 21 20 57 21 58 59 3 39 40 22 21 59 3 1 39 23 59 60 23 22 59 4 40 41 24 60 61 4 3 40 24 23 60 5 41 42 25 61 62 5 4 41 25 24 61 6 42 43 6 43 44 6 5 42 26 62 63 26 25 62 27 63 64 7 44 45 27 26 63 7 6 44 28 64 65 8 7 45 28 27 64 29 65 66 9 8 45 29 28 65 9 45 46 30 66 67 10 9 46 30 29 66 10 46 47 10 47 48 31 67 68 31 68 69 31 30 67 11 10 48 32 31 69 12 11 48 12 48 49 12 49 50 33 32 69 13 12 50 33 69 70 34 33 70 34 70 71 14 13 50 14 50 51 15 14 51 15 51 52 35 34 71 35 71 72 36 35 72 36 72 73 16 15 52 16 52 53 37 36 73 37 73 74 2 37 74 2 74 38 17 16 53 17 53 54 17 54 55 18 17 55 19 18 55 19 55 56 20 19 56 20 56 57 
+74 72 1 0.0190265095412811
+105 40 25 105 40 25 105.868240888335 40 24.924038765061 106.710100716628 40 24.6984631039295 107.5 40 24.3301270189222 108.213938048433 40 23.8302222155949 108.830222215595 40 23.2139380484327 109.330127018922 40 22.5 109.69846310393 40 21.7101007166283 109.924038765061 40 20.8682408883347 110 40 20 109.924038765061 40 19.1317591116653 109.69846310393 40 18.2898992833717 109.330127018922 40 17.5 108.830222215595 40 16.7860619515673 108.213938048433 40 16.1697777844051 107.5 40 15.6698729810778 106.710100716628 40 15.3015368960705 105.868240888335 40 15.075961234939 105 40 15 104.131759111665 40 15.075961234939 103.289899283372 40 15.3015368960705 102.5 40 15.6698729810778 101.786061951567 40 16.1697777844051 101.169777784405 40 16.7860619515673 100.669872981078 40 17.5 100.30153689607 40 18.2898992833716 100.075961234939 40 19.1317591116653 100 40 20 100.075961234939 40 20.8682408883346 100.30153689607 40 21.7101007166283 100.669872981078 40 22.5 101.169777784405 40 23.2139380484327 101.786061951567 40 23.8302222155949 102.5 40 24.3301270189222 103.289899283372 40 24.6984631039295 104.131759111665 40 24.924038765061 105 0 25 105 0 25 105.868240888335 0 24.924038765061 106.710100716628 0 24.6984631039295 107.5 0 24.3301270189222 108.213938048433 0 23.8302222155949 108.830222215595 0 23.2139380484327 109.330127018922 0 22.5 109.69846310393 0 21.7101007166283 109.924038765061 0 20.8682408883347 110 0 20 109.924038765061 0 19.1317591116653 109.69846310393 0 18.2898992833717 109.330127018922 0 17.5 108.830222215595 0 16.7860619515673 108.213938048433 0 16.1697777844051 107.5 0 15.6698729810778 106.710100716628 0 15.3015368960705 105.868240888335 0 15.075961234939 105 0 15 104.131759111665 0 15.075961234939 103.289899283372 0 15.3015368960705 102.5 0 15.6698729810778 101.786061951567 0 16.1697777844051 101.169777784405 0 16.7860619515673 100.669872981078 0 17.5 100.30153689607 0 18.2898992833716 100.075961234939 0 19.1317591116653 100 0 20 100.075961234939 0 20.8682408883346 100.30153689607 0 21.7101007166283 100.669872981078 0 22.5 101.169777784405 0 23.2139380484327 101.786061951567 0 23.8302222155949 102.5 0 24.3301270189222 103.289899283372 0 24.6984631039295 104.131759111665 0 24.924038765061 0 41 6.28318530717959 41 0.174532925199433 41 0.349065850398866 41 0.523598775598299 41 0.698131700797732 41 0.872664625997165 41 1.0471975511966 41 1.22173047639603 41 1.39626340159546 41 1.5707963267949 41 1.74532925199433 41 1.91986217719376 41 2.0943951023932 41 2.26892802759263 41 2.44346095279206 41 2.61799387799149 41 2.79252680319093 41 2.96705972839036 41 3.14159265358979 41 3.31612557878922 41 3.49065850398866 41 3.66519142918809 41 3.83972435438752 41 4.01425727958696 41 4.18879020478639 41 4.36332312998582 41 4.53785605518525 41 4.71238898038469 41 4.88692190558412 41 5.06145483078355 41 5.23598775598299 41 5.41052068118242 41 5.58505360638185 41 5.75958653158128 41 5.93411945678072 41 6.10865238198015 41 6.28318530717959 1 0 1 0.174532925199433 1 0.349065850398866 1 0.523598775598299 1 0.698131700797732 1 0.872664625997165 1 1.0471975511966 1 1.22173047639603 1 1.39626340159546 1 1.5707963267949 1 1.74532925199433 1 1.91986217719376 1 2.0943951023932 1 2.26892802759263 1 2.44346095279206 1 2.61799387799149 1 2.79252680319093 1 2.96705972839036 1 3.14159265358979 1 3.31612557878922 1 3.49065850398866 1 3.66519142918809 1 3.83972435438752 1 4.01425727958696 1 4.18879020478639 1 4.36332312998582 1 4.53785605518525 1 4.71238898038469 1 4.88692190558412 1 5.06145483078355 1 5.23598775598299 1 5.41052068118242 1 5.58505360638185 1 5.75958653158128 1 5.93411945678072 1 6.10865238198015 1 20 19 56 20 56 57 21 57 58 21 20 57 21 58 59 3 39 40 3 1 39 22 21 59 4 40 41 4 41 42 4 3 40 23 59 60 23 22 59 24 60 61 24 23 60 5 4 42 25 61 62 25 24 61 6 42 43 6 5 42 26 62 63 26 25 62 7 43 44 7 6 43 8 44 45 27 63 64 27 64 65 8 7 44 27 26 63 28 27 65 29 65 66 9 8 45 29 28 65 9 45 46 30 66 67 30 29 66 10 9 46 10 46 47 31 67 68 11 10 47 11 47 48 31 30 67 32 68 69 12 11 48 32 69 70 12 48 49 32 31 68 33 32 70 13 12 49 13 49 50 34 70 71 14 13 50 14 50 51 14 51 52 34 33 70 35 34 71 35 71 72 15 14 52 36 35 72 36 72 73 16 15 52 16 52 53 16 53 54 37 36 73 37 73 74 37 74 38 2 37 38 17 16 54 18 17 54 18 54 55 19 18 55 19 55 56 
+4 2 1 0
+75 22.5 53 75 27.5 53 85 27.5 53 85 22.5 53 0 0 0 5 10 5 10 0 3 2 1 3 1 4 
+
+TShapes 132
+Ve
+1.0001000025e-07
+0 0 0
+0 0
+
+0101101
+*
+Ve
+1.0001000025e-07
+0 0 0
+0 0
+
+0101101
+*
+Ed
+ 1.0001000025e-07 1 1 0
+1  1 0 0 40
+2  1 1 0 0 40
+2  2 2 0 0 40
+6  1 1 0
+6  2 2 0
+0
+
+0101000
++132 0 -131 1 *
+Ve
+1.0001000025e-07
+0 10 0
+0 0
+
+0101101
+*
+Ed
+ 1.0001000025e-07 1 1 0
+1  2 0 0 10
+2  3 3 0 0 10
+2  4 4 0 0 10
+6  3 1 2
+6  4 3 2
+0
+
+0101000
+-129 0 +131 0 *
+Ve
+1.0001000025e-07
+0 10 10
+0 0
+
+0101101
+*
+Ed
+ 1.0001000025e-07 1 1 0
+1  3 0 0 10
+2  5 3 0 0 10
+2  6 5 0 0 10
+6  5 1 2
+6  6 4 2
+0
+
+0101000
+-127 0 +129 0 *
+Ve
+1.0001000025e-07
+0 40 50
+0 0
+
+0101101
+*
+Ed
+ 1.0001000025e-07 1 1 0
+1  4 0 10 40
+2  7 1 0 10 40
+2  8 6 0 10 40
+6  7 1 0
+6  8 5 0
+0
+
+0101000
++127 1 -125 0 *
+Ve
+1.0001000025e-07
+0 40 0
+0 0
+
+0101101
+*
+Ed
+ 1.0001000025e-07 1 1 0
+1  5 0 0 50
+2  9 1 0 0 50
+2  10 7 0 0 50
+6  9 1 0
+6  10 6 0
+0
+
+0101000
+-125 0 +123 0 *
+Ed
+ 1.0001000025e-07 1 1 0
+1  6 0 0 40
+2  11 1 0 0 40
+2  12 8 0 0 40
+6  11 1 0
+6  12 7 0
+0
+
+0101000
+-123 0 +132 0 *
+Wi
+
+0101000
+-130 0 -128 1 -126 1 -124 0 +122 0 +121 0 *
+Fa
+0  1e-07 1 0
+2  1
+0101000
++120 0 *
+Ve
+1.0001000025e-07
+50 0 10
+0 0
+
+0101101
+*
+Ve
+1.0001000025e-07
+0 0 50
+0 0
+
+0101101
+*
+Ed
+ 1.0001000025e-07 1 1 0
+1  7 0 50 62.5
+2  13 2 0 50 62.5
+2  14 6 0 50 62.5
+6  13 2 0
+6  14 5 0
+0
+
+0101000
++118 1 -117 3 *
+Ve
+1.0001000025e-07
+50 0 0
+0 0
+
+0101101
+*
+Ed
+ 1.0001000025e-07 1 1 0
+1  8 0 0 10
+2  15 9 0 0 10
+2  16 10 0 0 10
+6  15 2 2
+6  16 8 2
+0
+
+0101000
+-118 0 +115 0 *
+Ed
+ 1.0001000025e-07 1 1 0
+1  9 0 0 50
+2  17 10 0 0 50
+2  18 4 0 0 50
+6  17 2 2
+6  18 3 2
+0
+
+0101000
+-115 0 +131 0 *
+Ve
+1.0001000025e-07
+0 0 0
+0 0
+
+0101101
+*
+Ed
+ 1.0001000025e-07 1 1 0
+1  10 0 0 62.5
+2  19 2 0 0 62.5
+2  20 8 0 0 62.5
+6  19 2 0
+6  20 7 0
+0
+
+0101000
++132 0 -112 3 *
+Ed
+ 1.0001000025e-07 1 1 0
+1  11 0 0 50
+2  21 11 0 0 50
+2  22 12 0 0 50
+6  21 2 4
+6  22 9 4
+0
+
+0101000
+-117 0 +112 0 *
+Wi
+
+0101000
++116 0 +114 1 +113 1 +130 0 -111 0 -110 3 *
+Fa
+0  1e-07 2 0
+2  2
+0101000
++109 0 *
+Ve
+1.0001000025e-07
+50 10 0
+0 0
+
+0101101
+*
+Ed
+ 1.0001000025e-07 1 1 0
+1  12 0 0 10
+2  23 9 0 0 10
+2  24 4 0 0 10
+6  23 3 2
+6  24 8 2
+0
+
+0101000
+-107 0 +115 0 *
+Ed
+ 1.0001000025e-07 1 1 0
+1  13 0 0 50
+2  25 5 0 0 50
+2  26 4 0 0 50
+6  25 3 2
+6  26 4 2
+0
+
+0101000
+-107 0 +129 0 *
+Wi
+
+0101100
+-128 1 +113 1 +106 1 -105 1 *
+Fa
+0  1e-07 4 1
+2  3
+0101000
++104 0 *
+Ve
+1.0001000025e-07
+50 10 10
+0 0
+
+0101101
+*
+Ed
+ 1.0001000025e-07 1 1 0
+1  14 0 0 50
+2  27 5 0 0 50
+2  28 13 0 0 50
+6  27 4 2
+6  28 5 2
+0
+
+0101000
+-102 0 +127 0 *
+Ed
+ 1.0001000025e-07 1 1 0
+1  15 0 0 10
+2  29 9 0 0 10
+2  30 5 0 0 10
+6  29 4 2
+6  30 8 2
+0
+
+0101000
+-102 0 +107 0 *
+Wi
+
+0101100
+-105 1 +126 1 +101 1 -100 1 *
+Fa
+0  1e-07 5 1
+2  4
+0101000
++99 0 *
+Ed
+ 1.0001000025e-07 1 1 0
+1  16 0 0 10
+2  31 9 0 0 10
+2  32 13 0 0 10
+6  31 5 2
+6  32 8 2
+0
+
+0101000
+-102 0 +118 0 *
+Ve
+1.0001000025e-07
+0 15 50
+0 0
+
+0101101
+*
+Ed
+ 1.0001000025e-07 1 1 0
+1  17 0 0 15
+2  33 11 0 0 15
+2  34 14 0 0 15
+6  33 5 4
+6  34 9 4
+0
+
+0101000
+-96 0 +117 0 *
+Ve
+1.0001000025e-07
+5 15 50
+0 0
+
+0101101
+*
+Ed
+ 1.0001000025e-07 1 1 0
+1  18 0 0 5
+2  35 15 0 0 5
+2  36 14 0 0 5
+6  35 5 4
+6  36 10 4
+0
+
+0101000
+-94 0 +96 0 *
+Ve
+1.0001000025e-07
+5 0 50
+0 0
+
+0101101
+*
+Ed
+ 1.0001000025e-07 1 1 0
+1  19 0 0 15
+2  37 16 0 0 15
+2  38 14 0 0 15
+6  37 5 4
+6  38 11 4
+0
+
+0101000
+-94 0 +92 0 *
+Ve
+1.0001000025e-07
+120 0 50
+0 0
+
+0101101
+*
+Ed
+ 1.0001000025e-07 1 1 0
+1  7 0 67.5 120
+2  13 2 0 67.5 120
+2  14 6 0 67.5 120
+6  39 5 0
+6  40 12 0
+0
+
+0101000
++92 3 -90 0 *
+Ve
+1.0001000025e-07
+120 40 50
+0 0
+
+0101101
+*
+Ed
+ 1.0001000025e-07 1 1 0
+1  20 0 0 40
+2  39 17 0 0 40
+2  40 6 0 0 40
+6  41 5 0
+6  42 13 0
+0
+
+0101000
+-88 0 +90 0 *
+Ed
+ 1.0001000025e-07 1 1 0
+1  21 0 0 120
+2  41 7 0 0 120
+2  42 6 0 0 120
+6  43 5 0
+6  44 6 0
+0
+
+0101000
+-88 0 +125 0 *
+Wi
+
+0101100
+-124 0 +101 1 -97 1 +116 0 +95 3 +93 3 -91 3 +89 0 +87 0 -86 0 
+*
+Ve
+1.0001000025e-07
+85 22.5 50
+0 0
+
+0101101
+*
+Ve
+1.0001000025e-07
+85 27.5 50
+0 0
+
+0101101
+*
+Ed
+ 1.0001000025e-07 1 1 0
+1  22 0 11.25 16.25
+2  43 6 0 11.25 16.25
+2  44 18 0 11.25 16.25
+6  45 5 0
+6  46 14 0
+0
+
+0101000
++84 0 -83 0 *
+Ve
+1.0001000025e-07
+75 22.5 50
+0 0
+
+0101101
+*
+Ed
+ 1.0001000025e-07 1 1 0
+1  23 0 -47.5 -37.5
+2  45 6 0 -47.5 -37.5
+2  46 19 0 -47.5 -37.5
+6  47 5 0
+6  48 15 0
+0
+
+0101000
++84 0 -81 0 *
+Ve
+1.0001000025e-07
+75 27.5 50
+0 0
+
+0101101
+*
+Ed
+ 1.0001000025e-07 1 1 0
+1  24 0 11.25 16.25
+2  47 6 0 11.25 16.25
+2  48 20 0 11.25 16.25
+6  49 5 0
+6  50 16 0
+0
+
+0101000
++81 0 -79 0 *
+Ed
+ 1.0001000025e-07 1 1 0
+1  25 0 -47.5 -37.5
+2  49 6 0 -47.5 -37.5
+2  50 21 0 -47.5 -37.5
+6  51 5 0
+6  52 17 0
+0
+
+0101000
++83 0 -79 0 *
+Wi
+
+0101100
+-82 0 +80 0 +78 0 -77 0 *
+Ve
+1.00005e-07
+70 25 50
+0 0
+
+0101101
+*
+Ed
+ 1.00005e-07 1 1 0
+1  26 0 0 6.28318530717959
+2  51 6 0 0 6.28318530717959
+2  52 22 0 0 6.28318530717959
+6  53 18 0
+6  54 5 0
+0
+
+0101100
++75 0 -75 0 *
+Wi
+
+0101000
+-74 0 *
+Fa
+0  1e-07 6 0
+2  5
+0101000
++85 0 +76 0 +73 0 *
+Ve
+1.0001000025e-07
+120 40 0
+0 0
+
+0101101
+*
+Ed
+ 1.0001000025e-07 1 1 0
+1  27 0 0 120
+2  53 7 0 0 120
+2  54 8 0 0 120
+6  55 6 0
+6  56 7 0
+0
+
+0101000
+-71 0 +123 0 *
+Ed
+ 1.0001000025e-07 1 1 0
+1  28 0 0 50
+2  55 17 0 0 50
+2  56 7 0 0 50
+6  57 6 0
+6  58 13 0
+0
+
+0101000
+-88 0 +71 0 *
+Wi
+
+0101100
+-70 0 +122 0 +86 0 -69 0 *
+Ve
+1.00005e-07
+105 40 25
+0 0
+
+0101101
+*
+Ed
+ 1.00005e-07 1 1 0
+1  29 0 0 6.28318530717959
+2  57 7 0 0 6.28318530717959
+2  58 23 0 0 6.28318530717959
+6  59 19 0
+6  60 6 0
+0
+
+0101100
++67 0 -67 0 *
+Wi
+
+0101000
+-66 0 *
+Fa
+0  1e-07 7 0
+2  6
+0101000
++68 0 +65 0 *
+Ve
+1.0001000025e-07
+0 15 0
+0 0
+
+0101101
+*
+Ed
+ 1.0001000025e-07 1 1 0
+1  30 0 0 15
+2  59 11 0 0 15
+2  60 24 0 0 15
+6  61 7 4
+6  62 9 4
+0
+
+0101000
+-63 0 +112 0 *
+Ve
+1.0001000025e-07
+5 15 0
+0 0
+
+0101101
+*
+Ed
+ 1.0001000025e-07 1 1 0
+1  31 0 0 5
+2  61 15 0 0 5
+2  62 24 0 0 5
+6  63 7 4
+6  64 10 4
+0
+
+0101000
+-61 0 +63 0 *
+Ve
+1.0001000025e-07
+5 0 0
+0 0
+
+0101101
+*
+Ed
+ 1.0001000025e-07 1 1 0
+1  32 0 0 15
+2  63 16 0 0 15
+2  64 24 0 0 15
+6  65 7 4
+6  66 11 4
+0
+
+0101000
+-61 0 +59 0 *
+Ve
+1.0001000025e-07
+120 0 0
+0 0
+
+0101101
+*
+Ed
+ 1.0001000025e-07 1 1 0
+1  10 0 67.5 120
+2  19 2 0 67.5 120
+2  20 8 0 67.5 120
+6  67 7 0
+6  68 12 0
+0
+
+0101000
++59 3 -57 0 *
+Ed
+ 1.0001000025e-07 1 1 0
+1  33 0 0 40
+2  65 17 0 0 40
+2  66 8 0 0 40
+6  69 7 0
+6  70 13 0
+0
+
+0101000
+-71 0 +57 0 *
+Wi
+
+0101100
+-70 0 -121 0 +111 0 +62 3 +60 3 -58 3 +56 0 +55 0 *
+Ve
+1.00005e-07
+70 25 0
+0 0
+
+0101101
+*
+Ed
+ 1.00005e-07 1 1 0
+1  34 0 0 6.28318530717959
+2  67 8 0 0 6.28318530717959
+2  68 22 0 0 6.28318530717959
+6  71 18 0
+6  72 7 0
+0
+
+0101100
++53 0 -53 0 *
+Wi
+
+0101000
+-52 0 *
+Fa
+0  1e-07 8 0
+2  7
+0101000
++54 0 +51 0 *
+Wi
+
+0101100
+-114 1 +106 1 +100 1 -97 1 *
+Fa
+0  1e-07 9 1
+2  8
+0101000
++49 0 *
+Ed
+ 1.0001000025e-07 1 1 0
+1  35 0 0 50
+2  69 11 0 0 50
+2  70 15 0 0 50
+6  73 9 4
+6  74 10 4
+0
+
+0101000
+-96 0 +63 0 *
+Wi
+
+0101100
+-110 3 +62 3 +47 3 -95 3 *
+Fa
+0  1e-07 11 3
+2  9
+0101000
++46 0 *
+Ed
+ 1.0001000025e-07 1 1 0
+1  36 0 0 50
+2  71 16 0 0 50
+2  72 15 0 0 50
+6  75 10 4
+6  76 11 4
+0
+
+0101000
+-94 0 +61 0 *
+Wi
+
+0101100
+-60 3 +47 3 +93 3 -44 3 *
+Fa
+0  1e-07 15 3
+2  10
+0101000
++43 0 *
+Ed
+ 1.0001000025e-07 1 1 0
+1  37 0 0 50
+2  73 16 0 0 50
+2  74 12 0 0 50
+6  77 11 4
+6  78 12 4
+0
+
+0101000
+-92 0 +59 0 *
+Wi
+
+0101100
+-41 3 +58 3 +44 3 -91 3 *
+Fa
+0  1e-07 16 3
+2  11
+0101000
++40 0 *
+Ed
+ 1.0001000025e-07 1 1 0
+1  38 0 0 50
+2  75 17 0 0 50
+2  76 2 0 0 50
+6  79 12 0
+6  80 13 0
+0
+
+0101000
+-90 0 +57 0 *
+Wi
+
+0101100
++89 0 -38 0 -56 0 +41 3 *
+Ve
+1.00005e-07
+105 0 25
+0 0
+
+0101101
+*
+Ed
+ 1.00005e-07 1 1 0
+1  39 0 0 6.28318530717959
+2  77 2 0 0 6.28318530717959
+2  78 23 0 0 6.28318530717959
+6  81 19 0
+6  82 12 0
+0
+
+0101100
++36 0 -36 0 *
+Wi
+
+0101000
+-35 0 *
+Fa
+0  1e-07 2 0
+2  12
+0101000
++37 0 +34 0 *
+Wi
+
+0101000
+-38 0 -87 0 +69 0 +55 0 *
+Fa
+0  1e-07 17 0
+2  13
+0101000
++32 0 *
+Ve
+1.0001000025e-07
+85 22.5 53
+0 0
+
+0101101
+*
+Ed
+ 1.0001000025e-07 1 1 0
+1  40 0 25 28
+2  79 18 0 25 28
+2  80 19 0 25 28
+6  83 14 0
+6  84 15 0
+0
+
+0101000
++84 0 -30 0 *
+Ve
+1.0001000025e-07
+85 27.5 53
+0 0
+
+0101101
+*
+Ed
+ 1.0001000025e-07 1 1 0
+1  41 0 0 5
+2  81 18 0 0 5
+2  82 25 0 0 5
+6  85 14 0
+6  86 20 0
+0
+
+0101000
+-28 0 +30 0 *
+Ed
+ 1.0001000025e-07 1 1 0
+1  42 0 25 28
+2  83 18 0 25 28
+2  84 21 0 25 28
+6  87 14 0
+6  88 17 0
+0
+
+0101000
++83 0 -28 0 *
+Wi
+
+0101000
+-29 0 -27 0 +26 0 +82 0 *
+Fa
+0  1e-07 18 0
+2  14
+0101000
++25 0 *
+Ve
+1.0001000025e-07
+75 22.5 53
+0 0
+
+0101101
+*
+Ed
+ 1.0001000025e-07 1 1 0
+1  43 0 0 10
+2  85 19 0 0 10
+2  86 25 0 0 10
+6  89 15 0
+6  90 20 0
+0
+
+0101000
+-30 0 +23 0 *
+Ed
+ 1.0001000025e-07 1 1 0
+1  44 0 25 28
+2  87 20 0 25 28
+2  88 19 0 25 28
+6  91 15 0
+6  92 16 0
+0
+
+0101000
++81 0 -23 0 *
+Wi
+
+0101000
+-29 0 +22 0 +21 0 +80 0 *
+Fa
+0  1e-07 19 0
+2  15
+0101000
++20 0 *
+Ve
+1.0001000025e-07
+75 27.5 53
+0 0
+
+0101101
+*
+Ed
+ 1.0001000025e-07 1 1 0
+1  45 0 0 5
+2  89 20 0 0 5
+2  90 25 0 0 5
+6  93 16 0
+6  94 20 0
+0
+
+0101000
+-18 0 +23 0 *
+Ed
+ 1.0001000025e-07 1 1 0
+1  46 0 25 28
+2  91 20 0 25 28
+2  92 21 0 25 28
+6  95 16 0
+6  96 17 0
+0
+
+0101000
++79 0 -18 0 *
+Wi
+
+0101000
+-21 0 -17 0 +16 0 +78 0 *
+Fa
+0  1e-07 20 0
+2  16
+0101000
++15 0 *
+Ed
+ 1.0001000025e-07 1 1 0
+1  47 0 0 10
+2  93 21 0 0 10
+2  94 25 0 0 10
+6  97 17 0
+6  98 20 0
+0
+
+0101000
+-28 0 +18 0 *
+Wi
+
+0101000
+-26 0 +13 0 +16 0 +77 0 *
+Fa
+0  1e-07 21 0
+2  17
+0101000
++12 0 *
+Ed
+ 1e-07 1 1 0
+1  48 0 1 51
+3  95 96CN 22 0 1 51
+7  99 100 18 0
+0
+
+0101000
++53 0 -75 0 *
+Wi
+
+0101000
+-74 0 +10 0 +52 0 -10 0 *
+Fa
+0  1e-07 22 0
+2  18
+0101000
++9 0 *
+Ed
+ 1e-07 1 1 0
+1  49 0 1 41
+3  97 98CN 23 0 1 41
+7  101 102 19 0
+0
+
+0101000
++36 0 -67 0 *
+Wi
+
+0101000
+-66 0 +7 0 +35 0 -7 0 *
+Fa
+0  1e-07 23 0
+2  19
+0101000
++6 0 *
+Wi
+
+0101000
+-17 0 -13 0 +27 0 +22 0 *
+Fa
+0  1e-07 25 0
+2  20
+0101000
++4 0 *
+Sh
+
+0101100
+-119 0 -108 0 +103 0 -98 0 +72 0 +64 0 -50 0 -48 0 +45 0 -42 0 
+-39 0 -33 0 +31 0 +24 0 -19 0 -14 0 +11 0 -8 0 -5 0 +3 0 
+*
+So
+
+1100000
++2 0 *
+
++1 0 
\ No newline at end of file
diff --git a/src/TEST_PY/cas_2013/casImplicite.vtk b/src/TEST_PY/cas_2013/casImplicite.vtk
new file mode 100755 (executable)
index 0000000..c7c9f94
--- /dev/null
@@ -0,0 +1,4558 @@
+# vtk DataFile Version 3.0
+vtk output
+ASCII
+DATASET POLYDATA
+POINTS 2582 float
+75 27.5 53 75 27.5 53 75 22.5 53 
+75 22.5 53 85 27.5 53 85 22.5 53 
+85 27.5 53 85 22.5 53 105 0 25 
+105 0 25 70 25 0 70 25 0 
+120 0 0 120 0 0 67.5 0 0 
+67.5 0 0 67.5 15 0 62.5 15 0 
+67.5 15 0 62.5 15 0 105 40 25 
+105 40 25 120 40 0 120 40 0 
+70 25 50 70 25 50 75 27.5 50 
+85 27.5 50 75 27.5 50 75 22.5 50 
+75 22.5 50 85 22.5 50 85 27.5 50 
+85 22.5 50 120 40 50 120 0 50 
+120 40 50 120 0 50 67.5 0 50 
+67.5 0 50 67.5 15 50 62.5 15 50 
+67.5 15 50 62.5 15 50 50 10 50 
+50 10 50 50 10 40 50 10 40 
+62.5 0 0 62.5 0 50 62.5 0 0 
+50 0 40 50 0 40 50 0 50 
+62.5 0 50 50 0 50 0 0 0 
+0 40 0 0 40 0 0 40 50 
+0 40 50 0 10 50 0 10 40 
+0 10 50 0 0 40 0 10 40 
+0 0 40 0 0 0 75 22.5 53 
+85 22.5 53 85 22.5 53 84 22.5 53.0875 
+84 22.4644 53.0799 84 22.435 53.0585 84 22.4168 53.027 
+84 22.413 52.9909 84 22.4242 52.9563 84 22.4486 52.9292 
+84 22.4818 52.9144 84 22.5182 52.9144 84 22.5514 52.9292 
+84 22.5758 52.9563 84 22.587 52.9909 84 22.5832 53.027 
+84 22.565 53.0585 84 22.5356 53.0799 85 22.5 53 
+85 27.5 53 85 27.5 53 85 27 52.9563 
+84.9822 27 52.96 84.9675 27 52.9707 84.9584 27 52.9865 
+84.9565 27 53.0046 84.9621 27 53.0219 84.9743 27 53.0354 
+84.9909 27 53.0428 85.0091 27 53.0428 85.0257 27 53.0354 
+85.0379 27 53.0219 85.0435 27 53.0046 85.0416 27 52.9865 
+85.0325 27 52.9707 85.0178 27 52.96 75 27.5 53 
+85 27.5 53 85 27.5 53 84 27.5 53.0875 
+84 27.4644 53.0799 84 27.435 53.0585 84 27.4168 53.027 
+84 27.413 52.9909 84 27.4242 52.9563 84 27.4486 52.9292 
+84 27.4818 52.9144 84 27.5182 52.9144 84 27.5514 52.9292 
+84 27.5758 52.9563 84 27.587 52.9909 84 27.5832 53.027 
+84 27.565 53.0585 84 27.5356 53.0799 75 22.5 53 
+75 27.5 53 75 27.5 53 75 27 52.9563 
+74.9822 27 52.96 74.9675 27 52.9707 74.9584 27 52.9865 
+74.9565 27 53.0046 74.9621 27 53.0219 74.9743 27 53.0354 
+74.9909 27 53.0428 75.0091 27 53.0428 75.0257 27 53.0354 
+75.0379 27 53.0219 75.0435 27 53.0046 75.0416 27 52.9865 
+75.0325 27 52.9707 75.0178 27 52.96 105 0 25 
+105 40 25 105 40 25 105 36 24.65 
+104.858 36 24.6803 104.74 36 24.7658 104.667 36 24.8919 
+104.652 36 25.0366 104.697 36 25.175 104.794 36 25.2831 
+104.927 36 25.3423 105.073 36 25.3423 105.206 36 25.2831 
+105.303 36 25.175 105.348 36 25.0366 105.333 36 24.8919 
+105.26 36 24.7658 105.142 36 24.6803 105 0 25 
+106.243 0 24.8429 106.243 0 24.8429 107.409 0 24.3815 
+107.409 0 24.3815 108.423 0 23.6448 108.423 0 23.6448 
+109.222 0 22.6791 109.222 0 22.6791 109.755 0 21.5451 
+109.755 0 21.5451 109.99 0 20.314 109.99 0 20.314 
+109.911 0 19.0631 109.911 0 19.0631 109.524 0 17.8711 
+109.524 0 17.8711 108.853 0 16.8129 108.853 0 16.8129 
+107.939 0 15.9549 107.939 0 15.9549 106.841 0 15.3511 
+106.841 0 15.3511 105.627 0 15.0394 105.627 0 15.0394 
+104.373 0 15.0394 104.373 0 15.0394 103.159 0 15.3511 
+103.159 0 15.3511 102.061 0 15.9549 102.061 0 15.9549 
+101.147 0 16.8129 101.147 0 16.8129 100.476 0 17.8711 
+100.476 0 17.8711 100.089 0 19.0631 100.089 0 19.0631 
+100.01 0 20.314 100.01 0 20.314 100.245 0 21.5451 
+100.245 0 21.5451 100.778 0 22.6791 100.778 0 22.6791 
+101.577 0 23.6448 101.577 0 23.6448 102.591 0 24.3815 
+102.591 0 24.3815 103.757 0 24.8429 103.757 0 24.8429 
+105 0 25 105 0 25 101.858 0 25.2749 
+101.858 -0.111793 25.2511 101.858 -0.204256 25.1839 101.858 -0.261401 25.0849 
+101.858 -0.273348 24.9713 101.858 -0.23803 24.8626 101.858 -0.161555 24.7776 
+101.858 -0.0571453 24.7312 101.858 0.0571453 24.7312 101.858 0.161555 24.7776 
+101.858 0.23803 24.8626 101.858 0.273348 24.9713 101.858 0.261401 25.0849 
+101.858 0.204256 25.1839 101.858 0.111793 25.2511 105 0 25 
+105 40 25 105 40 25 105 36 24.65 
+104.858 36 24.6803 104.74 36 24.7658 104.667 36 24.8919 
+104.652 36 25.0366 104.697 36 25.175 104.794 36 25.2831 
+104.927 36 25.3423 105.073 36 25.3423 105.206 36 25.2831 
+105.303 36 25.175 105.348 36 25.0366 105.333 36 24.8919 
+105.26 36 24.7658 105.142 36 24.6803 105 40 25 
+106.243 40 24.8429 106.243 40 24.8429 107.409 40 24.3815 
+107.409 40 24.3815 108.423 40 23.6448 108.423 40 23.6448 
+109.222 40 22.6791 109.222 40 22.6791 109.755 40 21.5451 
+109.755 40 21.5451 109.99 40 20.314 109.99 40 20.314 
+109.911 40 19.0631 109.911 40 19.0631 109.524 40 17.8711 
+109.524 40 17.8711 108.853 40 16.8129 108.853 40 16.8129 
+107.939 40 15.9549 107.939 40 15.9549 106.841 40 15.3511 
+106.841 40 15.3511 105.627 40 15.0394 105.627 40 15.0394 
+104.373 40 15.0394 104.373 40 15.0394 103.159 40 15.3511 
+103.159 40 15.3511 102.061 40 15.9549 102.061 40 15.9549 
+101.147 40 16.8129 101.147 40 16.8129 100.476 40 17.8711 
+100.476 40 17.8711 100.089 40 19.0631 100.089 40 19.0631 
+100.01 40 20.314 100.01 40 20.314 100.245 40 21.5451 
+100.245 40 21.5451 100.778 40 22.6791 100.778 40 22.6791 
+101.577 40 23.6448 101.577 40 23.6448 102.591 40 24.3815 
+102.591 40 24.3815 103.757 40 24.8429 103.757 40 24.8429 
+105 40 25 105 40 25 101.858 40 25.2749 
+101.858 39.8882 25.2511 101.858 39.7957 25.1839 101.858 39.7386 25.0849 
+101.858 39.7267 24.9713 101.858 39.762 24.8626 101.858 39.8384 24.7776 
+101.858 39.9429 24.7312 101.858 40.0571 24.7312 101.858 40.1616 24.7776 
+101.858 40.238 24.8626 101.858 40.2733 24.9713 101.858 40.2614 25.0849 
+101.858 40.2043 25.1839 101.858 40.1118 25.2511 70 25 0 
+70 25 50 70 25 50 70 25.4374 45 
+69.8221 25.3996 45 69.6749 25.2927 45 69.584 25.1352 45 
+69.565 24.9543 45 69.6212 24.7813 45 69.7429 24.6461 45 
+69.909 24.5721 45 70.091 24.5721 45 70.2571 24.6461 45 
+70.3788 24.7813 45 70.435 24.9543 45 70.416 25.1352 45 
+70.3251 25.2927 45 70.1779 25.3996 45 70 25 0 
+69.8429 26.2435 0 69.8429 26.2435 0 69.3815 27.4088 0 
+69.3815 27.4088 0 68.6448 28.4227 0 68.6448 28.4227 0 
+67.6791 29.2216 0 67.6791 29.2216 0 66.5451 29.7553 0 
+66.5451 29.7553 0 65.3139 29.9901 0 65.3139 29.9901 0 
+64.0631 29.9114 0 64.0631 29.9114 0 62.8711 29.5241 0 
+62.8711 29.5241 0 61.8129 28.8526 0 61.8129 28.8526 0 
+60.9549 27.9389 0 60.9549 27.9389 0 60.3511 26.8406 0 
+60.3511 26.8406 0 60.0394 25.6267 0 60.0394 25.6267 0 
+60.0394 24.3733 0 60.0394 24.3733 0 60.3511 23.1594 0 
+60.3511 23.1594 0 60.9549 22.0611 0 60.9549 22.0611 0 
+61.8129 21.1474 0 61.8129 21.1474 0 62.8711 20.4759 0 
+62.8711 20.4759 0 64.0631 20.0886 0 64.0631 20.0886 0 
+65.3139 20.0099 0 65.3139 20.0099 0 66.5451 20.2447 0 
+66.5451 20.2447 0 67.6791 20.7784 0 67.6791 20.7784 0 
+68.6448 21.5773 0 68.6448 21.5773 0 69.3815 22.5912 0 
+69.3815 22.5912 0 69.8429 23.7565 0 69.8429 23.7565 0 
+70 25 0 70 25 0 70.2749 21.8584 0 
+70.2511 21.8584 -0.111793 70.1839 21.8584 -0.204256 70.0849 21.8584 -0.261401 
+69.9713 21.8584 -0.273348 69.8626 21.8584 -0.23803 69.7776 21.8584 -0.161555 
+69.7312 21.8584 -0.0571453 69.7312 21.8584 0.0571453 69.7776 21.8584 0.161555 
+69.8626 21.8584 0.23803 69.9713 21.8584 0.273348 70.0849 21.8584 0.261401 
+70.1839 21.8584 0.204256 70.2511 21.8584 0.111793 70 25 0 
+70 25 50 70 25 50 70 25.4374 45 
+69.8221 25.3996 45 69.6749 25.2927 45 69.584 25.1352 45 
+69.565 24.9543 45 69.6212 24.7813 45 69.7429 24.6461 45 
+69.909 24.5721 45 70.091 24.5721 45 70.2571 24.6461 45 
+70.3788 24.7813 45 70.435 24.9543 45 70.416 25.1352 45 
+70.3251 25.2927 45 70.1779 25.3996 45 70 25 50 
+69.8429 26.2435 50 69.8429 26.2435 50 69.3815 27.4088 50 
+69.3815 27.4088 50 68.6448 28.4227 50 68.6448 28.4227 50 
+67.6791 29.2216 50 67.6791 29.2216 50 66.5451 29.7553 50 
+66.5451 29.7553 50 65.3139 29.9901 50 65.3139 29.9901 50 
+64.0631 29.9114 50 64.0631 29.9114 50 62.8711 29.5241 50 
+62.8711 29.5241 50 61.8129 28.8526 50 61.8129 28.8526 50 
+60.9549 27.9389 50 60.9549 27.9389 50 60.3511 26.8406 50 
+60.3511 26.8406 50 60.0394 25.6267 50 60.0394 25.6267 50 
+60.0394 24.3733 50 60.0394 24.3733 50 60.3511 23.1594 50 
+60.3511 23.1594 50 60.9549 22.0611 50 60.9549 22.0611 50 
+61.8129 21.1474 50 61.8129 21.1474 50 62.8711 20.4759 50 
+62.8711 20.4759 50 64.0631 20.0886 50 64.0631 20.0886 50 
+65.3139 20.0099 50 65.3139 20.0099 50 66.5451 20.2447 50 
+66.5451 20.2447 50 67.6791 20.7784 50 67.6791 20.7784 50 
+68.6448 21.5773 50 68.6448 21.5773 50 69.3815 22.5912 50 
+69.3815 22.5912 50 69.8429 23.7565 50 69.8429 23.7565 50 
+70 25 50 70 25 50 70.2749 21.8584 50 
+70.2511 21.8584 49.8882 70.1839 21.8584 49.7957 70.0849 21.8584 49.7386 
+69.9713 21.8584 49.7267 69.8626 21.8584 49.762 69.7776 21.8584 49.8384 
+69.7312 21.8584 49.9429 69.7312 21.8584 50.0571 69.7776 21.8584 50.1616 
+69.8626 21.8584 50.238 69.9713 21.8584 50.2733 70.0849 21.8584 50.2614 
+70.1839 21.8584 50.2043 70.2511 21.8584 50.1118 85 27.5 50 
+75 27.5 50 75 27.5 50 76 27.5 49.9125 
+76 27.4644 49.9201 76 27.435 49.9415 76 27.4168 49.973 
+76 27.413 50.0091 76 27.4242 50.0437 76 27.4486 50.0708 
+76 27.4818 50.0856 76 27.5182 50.0856 76 27.5514 50.0708 
+76 27.5758 50.0437 76 27.587 50.0091 76 27.5832 49.973 
+76 27.565 49.9415 76 27.5356 49.9201 75 27.5 50 
+75 27.5 53 75 27.5 53 75 27.5262 52.7 
+74.9893 27.524 52.7 74.9805 27.5176 52.7 74.975 27.5081 52.7 
+74.9739 27.4973 52.7 74.9773 27.4869 52.7 74.9846 27.4788 52.7 
+74.9945 27.4743 52.7 75.0055 27.4743 52.7 75.0154 27.4788 52.7 
+75.0227 27.4869 52.7 75.0261 27.4973 52.7 75.025 27.5081 52.7 
+75.0195 27.5176 52.7 75.0107 27.524 52.7 75 27.5 53 
+85 27.5 53 85 27.5 53 84 27.5 53.0875 
+84 27.4644 53.0799 84 27.435 53.0585 84 27.4168 53.027 
+84 27.413 52.9909 84 27.4242 52.9563 84 27.4486 52.9292 
+84 27.4818 52.9144 84 27.5182 52.9144 84 27.5514 52.9292 
+84 27.5758 52.9563 84 27.587 52.9909 84 27.5832 53.027 
+84 27.565 53.0585 84 27.5356 53.0799 85 27.5 50 
+85 27.5 53 85 27.5 53 85 27.5262 52.7 
+84.9893 27.524 52.7 84.9805 27.5176 52.7 84.975 27.5081 52.7 
+84.9739 27.4973 52.7 84.9773 27.4869 52.7 84.9846 27.4788 52.7 
+84.9945 27.4743 52.7 85.0055 27.4743 52.7 85.0154 27.4788 52.7 
+85.0227 27.4869 52.7 85.0261 27.4973 52.7 85.025 27.5081 52.7 
+85.0195 27.5176 52.7 85.0107 27.524 52.7 75 22.5 50 
+75 27.5 50 75 27.5 50 75 27 49.9563 
+74.9822 27 49.96 74.9675 27 49.9707 74.9584 27 49.9865 
+74.9565 27 50.0046 74.9621 27 50.0219 74.9743 27 50.0354 
+74.9909 27 50.0428 75.0091 27 50.0428 75.0257 27 50.0354 
+75.0379 27 50.0219 75.0435 27 50.0046 75.0416 27 49.9865 
+75.0325 27 49.9707 75.0178 27 49.96 75 27.5 50 
+75 27.5 53 75 27.5 53 75 27.5262 52.7 
+74.9893 27.524 52.7 74.9805 27.5176 52.7 74.975 27.5081 52.7 
+74.9739 27.4973 52.7 74.9773 27.4869 52.7 74.9846 27.4788 52.7 
+74.9945 27.4743 52.7 75.0055 27.4743 52.7 75.0154 27.4788 52.7 
+75.0227 27.4869 52.7 75.0261 27.4973 52.7 75.025 27.5081 52.7 
+75.0195 27.5176 52.7 75.0107 27.524 52.7 75 22.5 53 
+75 27.5 53 75 27.5 53 75 27 52.9563 
+74.9822 27 52.96 74.9675 27 52.9707 74.9584 27 52.9865 
+74.9565 27 53.0046 74.9621 27 53.0219 74.9743 27 53.0354 
+74.9909 27 53.0428 75.0091 27 53.0428 75.0257 27 53.0354 
+75.0379 27 53.0219 75.0435 27 53.0046 75.0416 27 52.9865 
+75.0325 27 52.9707 75.0178 27 52.96 75 22.5 50 
+75 22.5 53 75 22.5 53 75 22.5262 52.7 
+74.9893 22.524 52.7 74.9805 22.5176 52.7 74.975 22.5081 52.7 
+74.9739 22.4973 52.7 74.9773 22.4869 52.7 74.9846 22.4788 52.7 
+74.9945 22.4743 52.7 75.0055 22.4743 52.7 75.0154 22.4788 52.7 
+75.0227 22.4869 52.7 75.0261 22.4973 52.7 75.025 22.5081 52.7 
+75.0195 22.5176 52.7 75.0107 22.524 52.7 85 22.5 50 
+75 22.5 50 75 22.5 50 76 22.5 49.9125 
+76 22.4644 49.9201 76 22.435 49.9415 76 22.4168 49.973 
+76 22.413 50.0091 76 22.4242 50.0437 76 22.4486 50.0708 
+76 22.4818 50.0856 76 22.5182 50.0856 76 22.5514 50.0708 
+76 22.5758 50.0437 76 22.587 50.0091 76 22.5832 49.973 
+76 22.565 49.9415 76 22.5356 49.9201 75 22.5 50 
+75 22.5 53 75 22.5 53 75 22.5262 52.7 
+74.9893 22.524 52.7 74.9805 22.5176 52.7 74.975 22.5081 52.7 
+74.9739 22.4973 52.7 74.9773 22.4869 52.7 74.9846 22.4788 52.7 
+74.9945 22.4743 52.7 75.0055 22.4743 52.7 75.0154 22.4788 52.7 
+75.0227 22.4869 52.7 75.0261 22.4973 52.7 75.025 22.5081 52.7 
+75.0195 22.5176 52.7 75.0107 22.524 52.7 75 22.5 53 
+85 22.5 53 85 22.5 53 84 22.5 53.0875 
+84 22.4644 53.0799 84 22.435 53.0585 84 22.4168 53.027 
+84 22.413 52.9909 84 22.4242 52.9563 84 22.4486 52.9292 
+84 22.4818 52.9144 84 22.5182 52.9144 84 22.5514 52.9292 
+84 22.5758 52.9563 84 22.587 52.9909 84 22.5832 53.027 
+84 22.565 53.0585 84 22.5356 53.0799 85 22.5 50 
+85 22.5 53 85 22.5 53 85 22.5262 52.7 
+84.9893 22.524 52.7 84.9805 22.5176 52.7 84.975 22.5081 52.7 
+84.9739 22.4973 52.7 84.9773 22.4869 52.7 84.9846 22.4788 52.7 
+84.9945 22.4743 52.7 85.0055 22.4743 52.7 85.0154 22.4788 52.7 
+85.0227 22.4869 52.7 85.0261 22.4973 52.7 85.025 22.5081 52.7 
+85.0195 22.5176 52.7 85.0107 22.524 52.7 85 22.5 50 
+85 27.5 50 85 27.5 50 85 27 49.9563 
+84.9822 27 49.96 84.9675 27 49.9707 84.9584 27 49.9865 
+84.9565 27 50.0046 84.9621 27 50.0219 84.9743 27 50.0354 
+84.9909 27 50.0428 85.0091 27 50.0428 85.0257 27 50.0354 
+85.0379 27 50.0219 85.0435 27 50.0046 85.0416 27 49.9865 
+85.0325 27 49.9707 85.0178 27 49.96 85 27.5 50 
+85 27.5 53 85 27.5 53 85 27.5262 52.7 
+84.9893 27.524 52.7 84.9805 27.5176 52.7 84.975 27.5081 52.7 
+84.9739 27.4973 52.7 84.9773 27.4869 52.7 84.9846 27.4788 52.7 
+84.9945 27.4743 52.7 85.0055 27.4743 52.7 85.0154 27.4788 52.7 
+85.0227 27.4869 52.7 85.0261 27.4973 52.7 85.025 27.5081 52.7 
+85.0195 27.5176 52.7 85.0107 27.524 52.7 85 22.5 53 
+85 27.5 53 85 27.5 53 85 27 52.9563 
+84.9822 27 52.96 84.9675 27 52.9707 84.9584 27 52.9865 
+84.9565 27 53.0046 84.9621 27 53.0219 84.9743 27 53.0354 
+84.9909 27 53.0428 85.0091 27 53.0428 85.0257 27 53.0354 
+85.0379 27 53.0219 85.0435 27 53.0046 85.0416 27 52.9865 
+85.0325 27 52.9707 85.0178 27 52.96 85 22.5 50 
+85 22.5 53 85 22.5 53 85 22.5262 52.7 
+84.9893 22.524 52.7 84.9805 22.5176 52.7 84.975 22.5081 52.7 
+84.9739 22.4973 52.7 84.9773 22.4869 52.7 84.9846 22.4788 52.7 
+84.9945 22.4743 52.7 85.0055 22.4743 52.7 85.0154 22.4788 52.7 
+85.0227 22.4869 52.7 85.0261 22.4973 52.7 85.025 22.5081 52.7 
+85.0195 22.5176 52.7 85.0107 22.524 52.7 120 0 0 
+120 40 0 120 40 0 120 36 -0.349955 
+119.858 36 -0.319699 119.74 36 -0.234165 119.667 36 -0.108142 
+119.652 36 0.0365802 119.697 36 0.174977 119.794 36 0.283119 
+119.927 36 0.342307 120.073 36 0.342307 120.206 36 0.283119 
+120.303 36 0.174977 120.348 36 0.0365802 120.333 36 -0.108142 
+120.26 36 -0.234165 120.142 36 -0.319699 120 40 0 
+120 40 50 120 40 50 120 40.4374 45 
+119.822 40.3996 45 119.675 40.2927 45 119.584 40.1352 45 
+119.565 39.9543 45 119.621 39.7813 45 119.743 39.6461 45 
+119.909 39.5721 45 120.091 39.5721 45 120.257 39.6461 45 
+120.379 39.7813 45 120.435 39.9543 45 120.416 40.1352 45 
+120.325 40.2927 45 120.178 40.3996 45 120 0 50 
+120 40 50 120 40 50 120 36 49.65 
+119.858 36 49.6803 119.74 36 49.7658 119.667 36 49.8919 
+119.652 36 50.0366 119.697 36 50.175 119.794 36 50.2831 
+119.927 36 50.3423 120.073 36 50.3423 120.206 36 50.2831 
+120.303 36 50.175 120.348 36 50.0366 120.333 36 49.8919 
+120.26 36 49.7658 120.142 36 49.6803 120 0 0 
+120 0 50 120 0 50 120 0.437443 45 
+119.822 0.399624 45 119.675 0.292707 45 119.584 0.135177 45 
+119.565 -0.0457253 45 119.621 -0.218722 45 119.743 -0.353899 45 
+119.909 -0.427884 45 120.091 -0.427884 45 120.257 -0.353899 45 
+120.379 -0.218722 45 120.435 -0.0457253 45 120.416 0.135177 45 
+120.325 0.292707 45 120.178 0.399624 45 105 0 25 
+106.243 0 24.8429 106.243 0 24.8429 107.409 0 24.3815 
+107.409 0 24.3815 108.423 0 23.6448 108.423 0 23.6448 
+109.222 0 22.6791 109.222 0 22.6791 109.755 0 21.5451 
+109.755 0 21.5451 109.99 0 20.314 109.99 0 20.314 
+109.911 0 19.0631 109.911 0 19.0631 109.524 0 17.8711 
+109.524 0 17.8711 108.853 0 16.8129 108.853 0 16.8129 
+107.939 0 15.9549 107.939 0 15.9549 106.841 0 15.3511 
+106.841 0 15.3511 105.627 0 15.0394 105.627 0 15.0394 
+104.373 0 15.0394 104.373 0 15.0394 103.159 0 15.3511 
+103.159 0 15.3511 102.061 0 15.9549 102.061 0 15.9549 
+101.147 0 16.8129 101.147 0 16.8129 100.476 0 17.8711 
+100.476 0 17.8711 100.089 0 19.0631 100.089 0 19.0631 
+100.01 0 20.314 100.01 0 20.314 100.245 0 21.5451 
+100.245 0 21.5451 100.778 0 22.6791 100.778 0 22.6791 
+101.577 0 23.6448 101.577 0 23.6448 102.591 0 24.3815 
+102.591 0 24.3815 103.757 0 24.8429 103.757 0 24.8429 
+105 0 25 105 0 25 101.858 0 25.2749 
+101.858 -0.111793 25.2511 101.858 -0.204256 25.1839 101.858 -0.261401 25.0849 
+101.858 -0.273348 24.9713 101.858 -0.23803 24.8626 101.858 -0.161555 24.7776 
+101.858 -0.0571453 24.7312 101.858 0.0571453 24.7312 101.858 0.161555 24.7776 
+101.858 0.23803 24.8626 101.858 0.273348 24.9713 101.858 0.261401 25.0849 
+101.858 0.204256 25.1839 101.858 0.111793 25.2511 67.5 0 0 
+67.5 0 50 67.5 0 50 67.5 0.437443 45 
+67.3221 0.399624 45 67.1749 0.292707 45 67.084 0.135177 45 
+67.065 -0.0457253 45 67.1212 -0.218722 45 67.2429 -0.353899 45 
+67.409 -0.427884 45 67.591 -0.427884 45 67.7571 -0.353899 45 
+67.8788 -0.218722 45 67.935 -0.0457253 45 67.916 0.135177 45 
+67.8251 0.292707 45 67.6779 0.399624 45 67.5 0 0 
+120 0 0 120 0 0 114.75 0 0.459315 
+114.75 -0.18682 0.419606 114.75 -0.341338 0.307342 114.75 -0.436835 0.141936 
+114.75 -0.456799 -0.0480115 114.75 -0.397779 -0.229658 114.75 -0.269979 -0.371594 
+114.75 -0.0954971 -0.449278 114.75 0.0954971 -0.449278 114.75 0.269979 -0.371594 
+114.75 0.397779 -0.229658 114.75 0.456799 -0.0480115 114.75 0.436835 0.141936 
+114.75 0.341338 0.307342 114.75 0.18682 0.419606 120 0 0 
+120 0 50 120 0 50 120 0.437443 45 
+119.822 0.399624 45 119.675 0.292707 45 119.584 0.135177 45 
+119.565 -0.0457253 45 119.621 -0.218722 45 119.743 -0.353899 45 
+119.909 -0.427884 45 120.091 -0.427884 45 120.257 -0.353899 45 
+120.379 -0.218722 45 120.435 -0.0457253 45 120.416 0.135177 45 
+120.325 0.292707 45 120.178 0.399624 45 67.5 0 50 
+120 0 50 120 0 50 114.75 0 50.4593 
+114.75 -0.18682 50.4196 114.75 -0.341338 50.3073 114.75 -0.436835 50.1419 
+114.75 -0.456799 49.952 114.75 -0.397779 49.7703 114.75 -0.269979 49.6284 
+114.75 -0.0954971 49.5507 114.75 0.0954971 49.5507 114.75 0.269979 49.6284 
+114.75 0.397779 49.7703 114.75 0.456799 49.952 114.75 0.436835 50.1419 
+114.75 0.341338 50.3073 114.75 0.18682 50.4196 67.5 0 50 
+67.5 15 50 67.5 15 50 67.5 13.5 49.8688 
+67.4466 13.5 49.8801 67.4025 13.5 49.9122 67.3752 13.5 49.9594 
+67.3695 13.5 50.0137 67.3864 13.5 50.0656 67.4229 13.5 50.1062 
+67.4727 13.5 50.1284 67.5273 13.5 50.1284 67.5771 13.5 50.1062 
+67.6136 13.5 50.0656 67.6305 13.5 50.0137 67.6248 13.5 49.9594 
+67.5975 13.5 49.9122 67.5534 13.5 49.8801 67.5 15 0 
+67.5 15 50 67.5 15 50 67.5 15.4374 45 
+67.3221 15.3996 45 67.1749 15.2927 45 67.084 15.1352 45 
+67.065 14.9543 45 67.1212 14.7813 45 67.2429 14.6461 45 
+67.409 14.5721 45 67.591 14.5721 45 67.7571 14.6461 45 
+67.8788 14.7813 45 67.935 14.9543 45 67.916 15.1352 45 
+67.8251 15.2927 45 67.6779 15.3996 45 67.5 0 0 
+67.5 15 0 67.5 15 0 67.5 13.5 -0.131233 
+67.4466 13.5 -0.119887 67.4025 13.5 -0.087812 67.3752 13.5 -0.0405532 
+67.3695 13.5 0.0137176 67.3864 13.5 0.0656165 67.4229 13.5 0.10617 
+67.4727 13.5 0.128365 67.5273 13.5 0.128365 67.5771 13.5 0.10617 
+67.6136 13.5 0.0656165 67.6305 13.5 0.0137176 67.6248 13.5 -0.0405532 
+67.5975 13.5 -0.087812 67.5534 13.5 -0.119887 67.5 0 0 
+67.5 0 50 67.5 0 50 67.5 0.437443 45 
+67.3221 0.399624 45 67.1749 0.292707 45 67.084 0.135177 45 
+67.065 -0.0457253 45 67.1212 -0.218722 45 67.2429 -0.353899 45 
+67.409 -0.427884 45 67.591 -0.427884 45 67.7571 -0.353899 45 
+67.8788 -0.218722 45 67.935 -0.0457253 45 67.916 0.135177 45 
+67.8251 0.292707 45 67.6779 0.399624 45 67.5 15 0 
+67.5 15 50 67.5 15 50 67.5 15.4374 45 
+67.3221 15.3996 45 67.1749 15.2927 45 67.084 15.1352 45 
+67.065 14.9543 45 67.1212 14.7813 45 67.2429 14.6461 45 
+67.409 14.5721 45 67.591 14.5721 45 67.7571 14.6461 45 
+67.8788 14.7813 45 67.935 14.9543 45 67.916 15.1352 45 
+67.8251 15.2927 45 67.6779 15.3996 45 62.5 15 50 
+67.5 15 50 67.5 15 50 67 15 50.0437 
+67 14.9822 50.04 67 14.9675 50.0293 67 14.9584 50.0135 
+67 14.9565 49.9954 67 14.9621 49.9781 67 14.9743 49.9646 
+67 14.9909 49.9572 67 15.0091 49.9572 67 15.0257 49.9646 
+67 15.0379 49.9781 67 15.0435 49.9954 67 15.0416 50.0135 
+67 15.0325 50.0293 67 15.0178 50.04 62.5 15 0 
+62.5 15 50 62.5 15 50 62.5 15.4374 45 
+62.3221 15.3996 45 62.1749 15.2927 45 62.084 15.1352 45 
+62.065 14.9543 45 62.1212 14.7813 45 62.2429 14.6461 45 
+62.409 14.5721 45 62.591 14.5721 45 62.7571 14.6461 45 
+62.8788 14.7813 45 62.935 14.9543 45 62.916 15.1352 45 
+62.8251 15.2927 45 62.6779 15.3996 45 62.5 15 0 
+67.5 15 0 67.5 15 0 67 15 0.0437443 
+67 14.9822 0.0399624 67 14.9675 0.0292707 67 14.9584 0.0135177 
+67 14.9565 -0.00457253 67 14.9621 -0.0218722 67 14.9743 -0.0353899 
+67 14.9909 -0.0427884 67 15.0091 -0.0427884 67 15.0257 -0.0353899 
+67 15.0379 -0.0218722 67 15.0435 -0.00457253 67 15.0416 0.0135177 
+67 15.0325 0.0292707 67 15.0178 0.0399624 62.5 0 50 
+62.5 15 50 62.5 15 50 62.5 13.5 49.8688 
+62.4466 13.5 49.8801 62.4025 13.5 49.9122 62.3752 13.5 49.9594 
+62.3695 13.5 50.0137 62.3863 13.5 50.0656 62.4229 13.5 50.1062 
+62.4727 13.5 50.1284 62.5273 13.5 50.1284 62.5771 13.5 50.1062 
+62.6137 13.5 50.0656 62.6305 13.5 50.0137 62.6248 13.5 49.9594 
+62.5975 13.5 49.9122 62.5534 13.5 49.8801 62.5 15 0 
+62.5 15 50 62.5 15 50 62.5 15.4374 45 
+62.3221 15.3996 45 62.1749 15.2927 45 62.084 15.1352 45 
+62.065 14.9543 45 62.1212 14.7813 45 62.2429 14.6461 45 
+62.409 14.5721 45 62.591 14.5721 45 62.7571 14.6461 45 
+62.8788 14.7813 45 62.935 14.9543 45 62.916 15.1352 45 
+62.8251 15.2927 45 62.6779 15.3996 45 62.5 0 0 
+62.5 15 0 62.5 15 0 62.5 13.5 -0.131233 
+62.4466 13.5 -0.119887 62.4025 13.5 -0.087812 62.3752 13.5 -0.0405532 
+62.3695 13.5 0.0137176 62.3863 13.5 0.0656165 62.4229 13.5 0.10617 
+62.4727 13.5 0.128365 62.5273 13.5 0.128365 62.5771 13.5 0.10617 
+62.6137 13.5 0.0656165 62.6305 13.5 0.0137176 62.6248 13.5 -0.0405532 
+62.5975 13.5 -0.087812 62.5534 13.5 -0.119887 62.5 0 0 
+62.5 0 50 62.5 0 50 62.5 0.437443 45 
+62.3221 0.399624 45 62.1749 0.292707 45 62.084 0.135177 45 
+62.065 -0.0457253 45 62.1212 -0.218722 45 62.2429 -0.353899 45 
+62.409 -0.427884 45 62.591 -0.427884 45 62.7571 -0.353899 45 
+62.8788 -0.218722 45 62.935 -0.0457253 45 62.916 0.135177 45 
+62.8251 0.292707 45 62.6779 0.399624 45 50 0 50 
+50 10 50 50 10 50 50 9 49.9125 
+49.9644 9 49.9201 49.935 9 49.9415 49.9168 9 49.973 
+49.913 9 50.0091 49.9242 9 50.0437 49.9486 9 50.0708 
+49.9818 9 50.0856 50.0182 9 50.0856 50.0514 9 50.0708 
+50.0758 9 50.0437 50.087 9 50.0091 50.0832 9 49.973 
+50.065 9 49.9415 50.0356 9 49.9201 50 10 40 
+50 10 50 50 10 50 50 10.0875 49 
+49.9644 10.0799 49 49.935 10.0585 49 49.9168 10.027 49 
+49.913 9.99086 49 49.9242 9.95626 49 49.9486 9.92922 49 
+49.9818 9.91442 49 50.0182 9.91442 49 50.0514 9.92922 49 
+50.0758 9.95626 49 50.087 9.99086 49 50.0832 10.027 49 
+50.065 10.0585 49 50.0356 10.0799 49 50 0 40 
+50 10 40 50 10 40 50 9 39.9125 
+49.9644 9 39.9201 49.935 9 39.9415 49.9168 9 39.973 
+49.913 9 40.0091 49.9242 9 40.0437 49.9486 9 40.0708 
+49.9818 9 40.0856 50.0182 9 40.0856 50.0514 9 40.0708 
+50.0758 9 40.0437 50.087 9 40.0091 50.0832 9 39.973 
+50.065 9 39.9415 50.0356 9 39.9201 50 0 40 
+50 0 50 50 0 50 50 0.0874887 49 
+49.9644 0.0799249 49 49.935 0.0585413 49 49.9168 0.0270355 49 
+49.913 -0.00914506 49 49.9242 -0.0437443 49 49.9486 -0.0707798 49 
+49.9818 -0.0855768 49 50.0182 -0.0855768 49 50.0514 -0.0707798 49 
+50.0758 -0.0437443 49 50.087 -0.00914506 49 50.0832 0.0270355 49 
+50.065 0.0585413 49 50.0356 0.0799249 49 70 25 0 
+69.8429 26.2435 0 69.8429 26.2435 0 69.3815 27.4088 0 
+69.3815 27.4088 0 68.6448 28.4227 0 68.6448 28.4227 0 
+67.6791 29.2216 0 67.6791 29.2216 0 66.5451 29.7553 0 
+66.5451 29.7553 0 65.3139 29.9901 0 65.3139 29.9901 0 
+64.0631 29.9114 0 64.0631 29.9114 0 62.8711 29.5241 0 
+62.8711 29.5241 0 61.8129 28.8526 0 61.8129 28.8526 0 
+60.9549 27.9389 0 60.9549 27.9389 0 60.3511 26.8406 0 
+60.3511 26.8406 0 60.0394 25.6267 0 60.0394 25.6267 0 
+60.0394 24.3733 0 60.0394 24.3733 0 60.3511 23.1594 0 
+60.3511 23.1594 0 60.9549 22.0611 0 60.9549 22.0611 0 
+61.8129 21.1474 0 61.8129 21.1474 0 62.8711 20.4759 0 
+62.8711 20.4759 0 64.0631 20.0886 0 64.0631 20.0886 0 
+65.3139 20.0099 0 65.3139 20.0099 0 66.5451 20.2447 0 
+66.5451 20.2447 0 67.6791 20.7784 0 67.6791 20.7784 0 
+68.6448 21.5773 0 68.6448 21.5773 0 69.3815 22.5912 0 
+69.3815 22.5912 0 69.8429 23.7565 0 69.8429 23.7565 0 
+70 25 0 70 25 0 70.2749 21.8584 0 
+70.2511 21.8584 -0.111793 70.1839 21.8584 -0.204256 70.0849 21.8584 -0.261401 
+69.9713 21.8584 -0.273348 69.8626 21.8584 -0.23803 69.7776 21.8584 -0.161555 
+69.7312 21.8584 -0.0571453 69.7312 21.8584 0.0571453 69.7776 21.8584 0.161555 
+69.8626 21.8584 0.23803 69.9713 21.8584 0.273348 70.0849 21.8584 0.261401 
+70.1839 21.8584 0.204256 70.2511 21.8584 0.111793 120 0 0 
+120 40 0 120 40 0 120 36 -0.349955 
+119.858 36 -0.319699 119.74 36 -0.234165 119.667 36 -0.108142 
+119.652 36 0.0365802 119.697 36 0.174977 119.794 36 0.283119 
+119.927 36 0.342307 120.073 36 0.342307 120.206 36 0.283119 
+120.303 36 0.174977 120.348 36 0.0365802 120.333 36 -0.108142 
+120.26 36 -0.234165 120.142 36 -0.319699 67.5 0 0 
+120 0 0 120 0 0 114.75 0 0.459315 
+114.75 -0.18682 0.419606 114.75 -0.341338 0.307342 114.75 -0.436835 0.141936 
+114.75 -0.456799 -0.0480115 114.75 -0.397779 -0.229658 114.75 -0.269979 -0.371594 
+114.75 -0.0954971 -0.449278 114.75 0.0954971 -0.449278 114.75 0.269979 -0.371594 
+114.75 0.397779 -0.229658 114.75 0.456799 -0.0480115 114.75 0.436835 0.141936 
+114.75 0.341338 0.307342 114.75 0.18682 0.419606 67.5 0 0 
+67.5 15 0 67.5 15 0 67.5 13.5 -0.131233 
+67.4466 13.5 -0.119887 67.4025 13.5 -0.087812 67.3752 13.5 -0.0405532 
+67.3695 13.5 0.0137176 67.3864 13.5 0.0656165 67.4229 13.5 0.10617 
+67.4727 13.5 0.128365 67.5273 13.5 0.128365 67.5771 13.5 0.10617 
+67.6136 13.5 0.0656165 67.6305 13.5 0.0137176 67.6248 13.5 -0.0405532 
+67.5975 13.5 -0.087812 67.5534 13.5 -0.119887 62.5 15 0 
+67.5 15 0 67.5 15 0 67 15 0.0437443 
+67 14.9822 0.0399624 67 14.9675 0.0292707 67 14.9584 0.0135177 
+67 14.9565 -0.00457253 67 14.9621 -0.0218722 67 14.9743 -0.0353899 
+67 14.9909 -0.0427884 67 15.0091 -0.0427884 67 15.0257 -0.0353899 
+67 15.0379 -0.0218722 67 15.0435 -0.00457253 67 15.0416 0.0135177 
+67 15.0325 0.0292707 67 15.0178 0.0399624 62.5 0 0 
+62.5 15 0 62.5 15 0 62.5 13.5 -0.131233 
+62.4466 13.5 -0.119887 62.4025 13.5 -0.087812 62.3752 13.5 -0.0405532 
+62.3695 13.5 0.0137176 62.3863 13.5 0.0656165 62.4229 13.5 0.10617 
+62.4727 13.5 0.128365 62.5273 13.5 0.128365 62.5771 13.5 0.10617 
+62.6137 13.5 0.0656165 62.6305 13.5 0.0137176 62.6248 13.5 -0.0405532 
+62.5975 13.5 -0.087812 62.5534 13.5 -0.119887 0 0 0 
+62.5 0 0 62.5 0 0 56.25 0 0.546804 
+56.25 -0.222405 0.49953 56.25 -0.406355 0.365883 56.25 -0.520042 0.168972 
+56.25 -0.543809 -0.0571566 56.25 -0.473546 -0.273402 56.25 -0.321403 -0.442374 
+56.25 -0.113687 -0.534855 56.25 0.113687 -0.534855 56.25 0.321403 -0.442374 
+56.25 0.473546 -0.273402 56.25 0.543809 -0.0571566 56.25 0.520042 0.168972 
+56.25 0.406355 0.365883 56.25 0.222405 0.49953 0 0 0 
+0 40 0 0 40 0 0 36 -0.349955 
+-0.142339 36 -0.319699 -0.260067 36 -0.234165 -0.332827 36 -0.108142 
+-0.348038 36 0.0365802 -0.30307 36 0.174977 -0.205698 36 0.283119 
+-0.0727597 36 0.342307 0.0727597 36 0.342307 0.205698 36 0.283119 
+0.30307 36 0.174977 0.348038 36 0.0365802 0.332827 36 -0.108142 
+0.260067 36 -0.234165 0.142339 36 -0.319699 0 40 0 
+120 40 0 120 40 0 108 40 1.04986 
+108 39.573 0.959098 108 39.2198 0.702496 108 39.0015 0.324426 
+108 38.9559 -0.109741 108 39.0908 -0.524932 108 39.3829 -0.849358 
+108 39.7817 -1.02692 108 40.2183 -1.02692 108 40.6171 -0.849358 
+108 40.9092 -0.524932 108 41.0441 -0.109741 108 40.9985 0.324426 
+108 40.7802 0.702496 108 40.427 0.959098 105 40 25 
+106.243 40 24.8429 106.243 40 24.8429 107.409 40 24.3815 
+107.409 40 24.3815 108.423 40 23.6448 108.423 40 23.6448 
+109.222 40 22.6791 109.222 40 22.6791 109.755 40 21.5451 
+109.755 40 21.5451 109.99 40 20.314 109.99 40 20.314 
+109.911 40 19.0631 109.911 40 19.0631 109.524 40 17.8711 
+109.524 40 17.8711 108.853 40 16.8129 108.853 40 16.8129 
+107.939 40 15.9549 107.939 40 15.9549 106.841 40 15.3511 
+106.841 40 15.3511 105.627 40 15.0394 105.627 40 15.0394 
+104.373 40 15.0394 104.373 40 15.0394 103.159 40 15.3511 
+103.159 40 15.3511 102.061 40 15.9549 102.061 40 15.9549 
+101.147 40 16.8129 101.147 40 16.8129 100.476 40 17.8711 
+100.476 40 17.8711 100.089 40 19.0631 100.089 40 19.0631 
+100.01 40 20.314 100.01 40 20.314 100.245 40 21.5451 
+100.245 40 21.5451 100.778 40 22.6791 100.778 40 22.6791 
+101.577 40 23.6448 101.577 40 23.6448 102.591 40 24.3815 
+102.591 40 24.3815 103.757 40 24.8429 103.757 40 24.8429 
+105 40 25 105 40 25 101.858 40 25.2749 
+101.858 39.8882 25.2511 101.858 39.7957 25.1839 101.858 39.7386 25.0849 
+101.858 39.7267 24.9713 101.858 39.762 24.8626 101.858 39.8384 24.7776 
+101.858 39.9429 24.7312 101.858 40.0571 24.7312 101.858 40.1616 24.7776 
+101.858 40.238 24.8626 101.858 40.2733 24.9713 101.858 40.2614 25.0849 
+101.858 40.2043 25.1839 101.858 40.1118 25.2511 120 40 0 
+120 40 50 120 40 50 120 40.4374 45 
+119.822 40.3996 45 119.675 40.2927 45 119.584 40.1352 45 
+119.565 39.9543 45 119.621 39.7813 45 119.743 39.6461 45 
+119.909 39.5721 45 120.091 39.5721 45 120.257 39.6461 45 
+120.379 39.7813 45 120.435 39.9543 45 120.416 40.1352 45 
+120.325 40.2927 45 120.178 40.3996 45 0 40 50 
+120 40 50 120 40 50 108 40 51.0499 
+108 39.573 50.9591 108 39.2198 50.7025 108 39.0015 50.3244 
+108 38.9559 49.8903 108 39.0908 49.4751 108 39.3829 49.1506 
+108 39.7817 48.9731 108 40.2183 48.9731 108 40.6171 49.1506 
+108 40.9092 49.4751 108 41.0441 49.8903 108 40.9985 50.3244 
+108 40.7802 50.7025 108 40.427 50.9591 0 40 0 
+0 40 50 0 40 50 0 40.4374 45 
+-0.177924 40.3996 45 -0.325084 40.2927 45 -0.416033 40.1352 45 
+-0.435047 39.9543 45 -0.378837 39.7813 45 -0.257123 39.6461 45 
+-0.0909496 39.5721 45 0.0909496 39.5721 45 0.257123 39.6461 45 
+0.378837 39.7813 45 0.435047 39.9543 45 0.416033 40.1352 45 
+0.325084 40.2927 45 0.177924 40.3996 45 0 40 0 
+120 40 0 120 40 0 108 40 1.04986 
+108 39.573 0.959098 108 39.2198 0.702496 108 39.0015 0.324426 
+108 38.9559 -0.109741 108 39.0908 -0.524932 108 39.3829 -0.849358 
+108 39.7817 -1.02692 108 40.2183 -1.02692 108 40.6171 -0.849358 
+108 40.9092 -0.524932 108 41.0441 -0.109741 108 40.9985 0.324426 
+108 40.7802 0.702496 108 40.427 0.959098 70 25 50 
+69.8429 26.2435 50 69.8429 26.2435 50 69.3815 27.4088 50 
+69.3815 27.4088 50 68.6448 28.4227 50 68.6448 28.4227 50 
+67.6791 29.2216 50 67.6791 29.2216 50 66.5451 29.7553 50 
+66.5451 29.7553 50 65.3139 29.9901 50 65.3139 29.9901 50 
+64.0631 29.9114 50 64.0631 29.9114 50 62.8711 29.5241 50 
+62.8711 29.5241 50 61.8129 28.8526 50 61.8129 28.8526 50 
+60.9549 27.9389 50 60.9549 27.9389 50 60.3511 26.8406 50 
+60.3511 26.8406 50 60.0394 25.6267 50 60.0394 25.6267 50 
+60.0394 24.3733 50 60.0394 24.3733 50 60.3511 23.1594 50 
+60.3511 23.1594 50 60.9549 22.0611 50 60.9549 22.0611 50 
+61.8129 21.1474 50 61.8129 21.1474 50 62.8711 20.4759 50 
+62.8711 20.4759 50 64.0631 20.0886 50 64.0631 20.0886 50 
+65.3139 20.0099 50 65.3139 20.0099 50 66.5451 20.2447 50 
+66.5451 20.2447 50 67.6791 20.7784 50 67.6791 20.7784 50 
+68.6448 21.5773 50 68.6448 21.5773 50 69.3815 22.5912 50 
+69.3815 22.5912 50 69.8429 23.7565 50 69.8429 23.7565 50 
+70 25 50 70 25 50 70.2749 21.8584 50 
+70.2511 21.8584 49.8882 70.1839 21.8584 49.7957 70.0849 21.8584 49.7386 
+69.9713 21.8584 49.7267 69.8626 21.8584 49.762 69.7776 21.8584 49.8384 
+69.7312 21.8584 49.9429 69.7312 21.8584 50.0571 69.7776 21.8584 50.1616 
+69.8626 21.8584 50.238 69.9713 21.8584 50.2733 70.0849 21.8584 50.2614 
+70.1839 21.8584 50.2043 70.2511 21.8584 50.1118 85 27.5 50 
+75 27.5 50 75 27.5 50 76 27.5 49.9125 
+76 27.4644 49.9201 76 27.435 49.9415 76 27.4168 49.973 
+76 27.413 50.0091 76 27.4242 50.0437 76 27.4486 50.0708 
+76 27.4818 50.0856 76 27.5182 50.0856 76 27.5514 50.0708 
+76 27.5758 50.0437 76 27.587 50.0091 76 27.5832 49.973 
+76 27.565 49.9415 76 27.5356 49.9201 75 22.5 50 
+75 27.5 50 75 27.5 50 75 27 49.9563 
+74.9822 27 49.96 74.9675 27 49.9707 74.9584 27 49.9865 
+74.9565 27 50.0046 74.9621 27 50.0219 74.9743 27 50.0354 
+74.9909 27 50.0428 75.0091 27 50.0428 75.0257 27 50.0354 
+75.0379 27 50.0219 75.0435 27 50.0046 75.0416 27 49.9865 
+75.0325 27 49.9707 75.0178 27 49.96 85 22.5 50 
+75 22.5 50 75 22.5 50 76 22.5 49.9125 
+76 22.4644 49.9201 76 22.435 49.9415 76 22.4168 49.973 
+76 22.413 50.0091 76 22.4242 50.0437 76 22.4486 50.0708 
+76 22.4818 50.0856 76 22.5182 50.0856 76 22.5514 50.0708 
+76 22.5758 50.0437 76 22.587 50.0091 76 22.5832 49.973 
+76 22.565 49.9415 76 22.5356 49.9201 85 22.5 50 
+85 27.5 50 85 27.5 50 85 27 49.9563 
+84.9822 27 49.96 84.9675 27 49.9707 84.9584 27 49.9865 
+84.9565 27 50.0046 84.9621 27 50.0219 84.9743 27 50.0354 
+84.9909 27 50.0428 85.0091 27 50.0428 85.0257 27 50.0354 
+85.0379 27 50.0219 85.0435 27 50.0046 85.0416 27 49.9865 
+85.0325 27 49.9707 85.0178 27 49.96 0 40 50 
+120 40 50 120 40 50 108 40 51.0499 
+108 39.573 50.9591 108 39.2198 50.7025 108 39.0015 50.3244 
+108 38.9559 49.8903 108 39.0908 49.4751 108 39.3829 49.1506 
+108 39.7817 48.9731 108 40.2183 48.9731 108 40.6171 49.1506 
+108 40.9092 49.4751 108 41.0441 49.8903 108 40.9985 50.3244 
+108 40.7802 50.7025 108 40.427 50.9591 120 0 50 
+120 40 50 120 40 50 120 36 49.65 
+119.858 36 49.6803 119.74 36 49.7658 119.667 36 49.8919 
+119.652 36 50.0366 119.697 36 50.175 119.794 36 50.2831 
+119.927 36 50.3423 120.073 36 50.3423 120.206 36 50.2831 
+120.303 36 50.175 120.348 36 50.0366 120.333 36 49.8919 
+120.26 36 49.7658 120.142 36 49.6803 67.5 0 50 
+120 0 50 120 0 50 114.75 0 50.4593 
+114.75 -0.18682 50.4196 114.75 -0.341338 50.3073 114.75 -0.436835 50.1419 
+114.75 -0.456799 49.952 114.75 -0.397779 49.7703 114.75 -0.269979 49.6284 
+114.75 -0.0954971 49.5507 114.75 0.0954971 49.5507 114.75 0.269979 49.6284 
+114.75 0.397779 49.7703 114.75 0.456799 49.952 114.75 0.436835 50.1419 
+114.75 0.341338 50.3073 114.75 0.18682 50.4196 67.5 0 50 
+67.5 15 50 67.5 15 50 67.5 13.5 49.8688 
+67.4466 13.5 49.8801 67.4025 13.5 49.9122 67.3752 13.5 49.9594 
+67.3695 13.5 50.0137 67.3864 13.5 50.0656 67.4229 13.5 50.1062 
+67.4727 13.5 50.1284 67.5273 13.5 50.1284 67.5771 13.5 50.1062 
+67.6136 13.5 50.0656 67.6305 13.5 50.0137 67.6248 13.5 49.9594 
+67.5975 13.5 49.9122 67.5534 13.5 49.8801 62.5 15 50 
+67.5 15 50 67.5 15 50 67 15 50.0437 
+67 14.9822 50.04 67 14.9675 50.0293 67 14.9584 50.0135 
+67 14.9565 49.9954 67 14.9621 49.9781 67 14.9743 49.9646 
+67 14.9909 49.9572 67 15.0091 49.9572 67 15.0257 49.9646 
+67 15.0379 49.9781 67 15.0435 49.9954 67 15.0416 50.0135 
+67 15.0325 50.0293 67 15.0178 50.04 62.5 0 50 
+62.5 15 50 62.5 15 50 62.5 13.5 49.8688 
+62.4466 13.5 49.8801 62.4025 13.5 49.9122 62.3752 13.5 49.9594 
+62.3695 13.5 50.0137 62.3863 13.5 50.0656 62.4229 13.5 50.1062 
+62.4727 13.5 50.1284 62.5273 13.5 50.1284 62.5771 13.5 50.1062 
+62.6137 13.5 50.0656 62.6305 13.5 50.0137 62.6248 13.5 49.9594 
+62.5975 13.5 49.9122 62.5534 13.5 49.8801 50 0 50 
+62.5 0 50 62.5 0 50 61.25 0 50.1094 
+61.25 -0.0444811 50.0999 61.25 -0.0812709 50.0732 61.25 -0.104008 50.0338 
+61.25 -0.108762 49.9886 61.25 -0.0947093 49.9453 61.25 -0.0642807 49.9115 
+61.25 -0.0227374 49.893 61.25 0.0227374 49.893 61.25 0.0642807 49.9115 
+61.25 0.0947093 49.9453 61.25 0.108762 49.9886 61.25 0.104008 50.0338 
+61.25 0.0812709 50.0732 61.25 0.0444811 50.0999 50 0 50 
+50 10 50 50 10 50 50 9 49.9125 
+49.9644 9 49.9201 49.935 9 49.9415 49.9168 9 49.973 
+49.913 9 50.0091 49.9242 9 50.0437 49.9486 9 50.0708 
+49.9818 9 50.0856 50.0182 9 50.0856 50.0514 9 50.0708 
+50.0758 9 50.0437 50.087 9 50.0091 50.0832 9 49.973 
+50.065 9 49.9415 50.0356 9 49.9201 0 10 50 
+50 10 50 50 10 50 45 10 50.4374 
+45 9.82208 50.3996 45 9.67492 50.2927 45 9.58397 50.1352 
+45 9.56495 49.9543 45 9.62116 49.7813 45 9.74288 49.6461 
+45 9.90905 49.5721 45 10.091 49.5721 45 10.2571 49.6461 
+45 10.3788 49.7813 45 10.435 49.9543 45 10.416 50.1352 
+45 10.3251 50.2927 45 10.1779 50.3996 0 10 50 
+0 40 50 0 40 50 0 37 49.7375 
+-0.106755 37 49.7602 -0.19505 37 49.8244 -0.24962 37 49.9189 
+-0.261028 37 50.0274 -0.227302 37 50.1312 -0.154274 37 50.2123 
+-0.0545697 37 50.2567 0.0545697 37 50.2567 0.154274 37 50.2123 
+0.227302 37 50.1312 0.261028 37 50.0274 0.24962 37 49.9189 
+0.19505 37 49.8244 0.106755 37 49.7602 50 10 40 
+50 10 50 50 10 50 50 10.0875 49 
+49.9644 10.0799 49 49.935 10.0585 49 49.9168 10.027 49 
+49.913 9.99086 49 49.9242 9.95626 49 49.9486 9.92922 49 
+49.9818 9.91442 49 50.0182 9.91442 49 50.0514 9.92922 49 
+50.0758 9.95626 49 50.087 9.99086 49 50.0832 10.027 49 
+50.065 10.0585 49 50.0356 10.0799 49 0 10 50 
+50 10 50 50 10 50 45 10 50.4374 
+45 9.82208 50.3996 45 9.67492 50.2927 45 9.58397 50.1352 
+45 9.56495 49.9543 45 9.62116 49.7813 45 9.74288 49.6461 
+45 9.90905 49.5721 45 10.091 49.5721 45 10.2571 49.6461 
+45 10.3788 49.7813 45 10.435 49.9543 45 10.416 50.1352 
+45 10.3251 50.2927 45 10.1779 50.3996 0 10 40 
+0 10 50 0 10 50 0 10.0875 49 
+-0.0355848 10.0799 49 -0.0650167 10.0585 49 -0.0832067 10.027 49 
+-0.0870094 9.99086 49 -0.0757674 9.95626 49 -0.0514245 9.92922 49 
+-0.0181899 9.91442 49 0.0181899 9.91442 49 0.0514245 9.92922 49 
+0.0757674 9.95626 49 0.0870094 9.99086 49 0.0832067 10.027 49 
+0.0650167 10.0585 49 0.0355848 10.0799 49 0 10 40 
+50 10 40 50 10 40 45 10 40.4374 
+45 9.82208 40.3996 45 9.67492 40.2927 45 9.58397 40.1352 
+45 9.56495 39.9543 45 9.62116 39.7813 45 9.74288 39.6461 
+45 9.90905 39.5721 45 10.091 39.5721 45 10.2571 39.6461 
+45 10.3788 39.7813 45 10.435 39.9543 45 10.416 40.1352 
+45 10.3251 40.2927 45 10.1779 40.3996 0 10 40 
+50 10 40 50 10 40 45 10 40.4374 
+45 9.82208 40.3996 45 9.67492 40.2927 45 9.58397 40.1352 
+45 9.56495 39.9543 45 9.62116 39.7813 45 9.74288 39.6461 
+45 9.90905 39.5721 45 10.091 39.5721 45 10.2571 39.6461 
+45 10.3788 39.7813 45 10.435 39.9543 45 10.416 40.1352 
+45 10.3251 40.2927 45 10.1779 40.3996 50 0 40 
+50 10 40 50 10 40 50 9 39.9125 
+49.9644 9 39.9201 49.935 9 39.9415 49.9168 9 39.973 
+49.913 9 40.0091 49.9242 9 40.0437 49.9486 9 40.0708 
+49.9818 9 40.0856 50.0182 9 40.0856 50.0514 9 40.0708 
+50.0758 9 40.0437 50.087 9 40.0091 50.0832 9 39.973 
+50.065 9 39.9415 50.0356 9 39.9201 0 0 40 
+50 0 40 50 0 40 45 0 40.4374 
+45 -0.177924 40.3996 45 -0.325084 40.2927 45 -0.416033 40.1352 
+45 -0.435047 39.9543 45 -0.378837 39.7813 45 -0.257123 39.6461 
+45 -0.0909496 39.5721 45 0.0909496 39.5721 45 0.257123 39.6461 
+45 0.378837 39.7813 45 0.435047 39.9543 45 0.416033 40.1352 
+45 0.325084 40.2927 45 0.177924 40.3996 0 0 40 
+0 10 40 0 10 40 0 9 39.9125 
+-0.0355848 9 39.9201 -0.0650167 9 39.9415 -0.0832067 9 39.973 
+-0.0870094 9 40.0091 -0.0757674 9 40.0437 -0.0514245 9 40.0708 
+-0.0181899 9 40.0856 0.0181899 9 40.0856 0.0514245 9 40.0708 
+0.0757674 9 40.0437 0.0870094 9 40.0091 0.0832067 9 39.973 
+0.0650167 9 39.9415 0.0355848 9 39.9201 62.5 0 0 
+62.5 0 50 62.5 0 50 62.5 0.437443 45 
+62.3221 0.399624 45 62.1749 0.292707 45 62.084 0.135177 45 
+62.065 -0.0457253 45 62.1212 -0.218722 45 62.2429 -0.353899 45 
+62.409 -0.427884 45 62.591 -0.427884 45 62.7571 -0.353899 45 
+62.8788 -0.218722 45 62.935 -0.0457253 45 62.916 0.135177 45 
+62.8251 0.292707 45 62.6779 0.399624 45 0 0 0 
+62.5 0 0 62.5 0 0 56.25 0 0.546804 
+56.25 -0.222405 0.49953 56.25 -0.406355 0.365883 56.25 -0.520042 0.168972 
+56.25 -0.543809 -0.0571566 56.25 -0.473546 -0.273402 56.25 -0.321403 -0.442374 
+56.25 -0.113687 -0.534855 56.25 0.113687 -0.534855 56.25 0.321403 -0.442374 
+56.25 0.473546 -0.273402 56.25 0.543809 -0.0571566 56.25 0.520042 0.168972 
+56.25 0.406355 0.365883 56.25 0.222405 0.49953 0 0 0 
+0 0 40 0 0 40 0 0.349955 36 
+-0.142339 0.319699 36 -0.260067 0.234165 36 -0.332827 0.108142 36 
+-0.348038 -0.0365802 36 -0.30307 -0.174977 36 -0.205698 -0.283119 36 
+-0.0727597 -0.342307 36 0.0727597 -0.342307 36 0.205698 -0.283119 36 
+0.30307 -0.174977 36 0.348038 -0.0365802 36 0.332827 0.108142 36 
+0.260067 0.234165 36 0.142339 0.319699 36 0 0 40 
+50 0 40 50 0 40 45 0 40.4374 
+45 -0.177924 40.3996 45 -0.325084 40.2927 45 -0.416033 40.1352 
+45 -0.435047 39.9543 45 -0.378837 39.7813 45 -0.257123 39.6461 
+45 -0.0909496 39.5721 45 0.0909496 39.5721 45 0.257123 39.6461 
+45 0.378837 39.7813 45 0.435047 39.9543 45 0.416033 40.1352 
+45 0.325084 40.2927 45 0.177924 40.3996 50 0 40 
+50 0 50 50 0 50 50 0.0874887 49 
+49.9644 0.0799249 49 49.935 0.0585413 49 49.9168 0.0270355 49 
+49.913 -0.00914506 49 49.9242 -0.0437443 49 49.9486 -0.0707798 49 
+49.9818 -0.0855768 49 50.0182 -0.0855768 49 50.0514 -0.0707798 49 
+50.0758 -0.0437443 49 50.087 -0.00914506 49 50.0832 0.0270355 49 
+50.065 0.0585413 49 50.0356 0.0799249 49 50 0 50 
+62.5 0 50 62.5 0 50 61.25 0 50.1094 
+61.25 -0.0444811 50.0999 61.25 -0.0812709 50.0732 61.25 -0.104008 50.0338 
+61.25 -0.108762 49.9886 61.25 -0.0947093 49.9453 61.25 -0.0642807 49.9115 
+61.25 -0.0227374 49.893 61.25 0.0227374 49.893 61.25 0.0642807 49.9115 
+61.25 0.0947093 49.9453 61.25 0.108762 49.9886 61.25 0.104008 50.0338 
+61.25 0.0812709 50.0732 61.25 0.0444811 50.0999 0 0 0 
+0 40 0 0 40 0 0 36 -0.349955 
+-0.142339 36 -0.319699 -0.260067 36 -0.234165 -0.332827 36 -0.108142 
+-0.348038 36 0.0365802 -0.30307 36 0.174977 -0.205698 36 0.283119 
+-0.0727597 36 0.342307 0.0727597 36 0.342307 0.205698 36 0.283119 
+0.30307 36 0.174977 0.348038 36 0.0365802 0.332827 36 -0.108142 
+0.260067 36 -0.234165 0.142339 36 -0.319699 0 40 0 
+0 40 50 0 40 50 0 40.4374 45 
+-0.177924 40.3996 45 -0.325084 40.2927 45 -0.416033 40.1352 45 
+-0.435047 39.9543 45 -0.378837 39.7813 45 -0.257123 39.6461 45 
+-0.0909496 39.5721 45 0.0909496 39.5721 45 0.257123 39.6461 45 
+0.378837 39.7813 45 0.435047 39.9543 45 0.416033 40.1352 45 
+0.325084 40.2927 45 0.177924 40.3996 45 0 10 50 
+0 40 50 0 40 50 0 37 49.7375 
+-0.106755 37 49.7602 -0.19505 37 49.8244 -0.24962 37 49.9189 
+-0.261028 37 50.0274 -0.227302 37 50.1312 -0.154274 37 50.2123 
+-0.0545697 37 50.2567 0.0545697 37 50.2567 0.154274 37 50.2123 
+0.227302 37 50.1312 0.261028 37 50.0274 0.24962 37 49.9189 
+0.19505 37 49.8244 0.106755 37 49.7602 0 10 40 
+0 10 50 0 10 50 0 10.0875 49 
+-0.0355848 10.0799 49 -0.0650167 10.0585 49 -0.0832067 10.027 49 
+-0.0870094 9.99086 49 -0.0757674 9.95626 49 -0.0514245 9.92922 49 
+-0.0181899 9.91442 49 0.0181899 9.91442 49 0.0514245 9.92922 49 
+0.0757674 9.95626 49 0.0870094 9.99086 49 0.0832067 10.027 49 
+0.0650167 10.0585 49 0.0355848 10.0799 49 0 0 40 
+0 10 40 0 10 40 0 9 39.9125 
+-0.0355848 9 39.9201 -0.0650167 9 39.9415 -0.0832067 9 39.973 
+-0.0870094 9 40.0091 -0.0757674 9 40.0437 -0.0514245 9 40.0708 
+-0.0181899 9 40.0856 0.0181899 9 40.0856 0.0514245 9 40.0708 
+0.0757674 9 40.0437 0.0870094 9 40.0091 0.0832067 9 39.973 
+0.0650167 9 39.9415 0.0355848 9 39.9201 0 0 0 
+0 0 40 0 0 40 0 0.349955 36 
+-0.142339 0.319699 36 -0.260067 0.234165 36 -0.332827 0.108142 36 
+-0.348038 -0.0365802 36 -0.30307 -0.174977 36 -0.205698 -0.283119 36 
+-0.0727597 -0.342307 36 0.0727597 -0.342307 36 0.205698 -0.283119 36 
+0.30307 -0.174977 36 0.348038 -0.0365802 36 0.332827 0.108142 36 
+0.260067 0.234165 36 0.142339 0.319699 36 75 22.5 53 
+75 27.5 53 85 27.5 53 85 22.5 53 
+105 40 25 105 40 25 106.243 40 24.8429 
+107.409 40 24.3815 108.423 40 23.6448 109.222 40 22.6791 
+109.755 40 21.5451 109.99 40 20.314 109.911 40 19.0631 
+109.524 40 17.8711 108.853 40 16.8129 107.939 40 15.9549 
+106.841 40 15.3511 105.627 40 15.0394 104.373 40 15.0394 
+103.159 40 15.3511 102.061 40 15.9549 101.147 40 16.8129 
+100.476 40 17.8711 100.089 40 19.0631 100.01 40 20.314 
+100.245 40 21.5451 100.778 40 22.6791 101.577 40 23.6448 
+102.591 40 24.3815 103.757 40 24.8429 105 0 25 
+105 0 25 106.243 0 24.8429 107.409 0 24.3815 
+108.423 0 23.6448 109.222 0 22.6791 109.755 0 21.5451 
+109.99 0 20.314 109.911 0 19.0631 109.524 0 17.8711 
+108.853 0 16.8129 107.939 0 15.9549 106.841 0 15.3511 
+105.627 0 15.0394 104.373 0 15.0394 103.159 0 15.3511 
+102.061 0 15.9549 101.147 0 16.8129 100.476 0 17.8711 
+100.089 0 19.0631 100.01 0 20.314 100.245 0 21.5451 
+100.778 0 22.6791 101.577 0 23.6448 102.591 0 24.3815 
+103.757 0 24.8429 70 25 50 70 25 50 
+69.8429 26.2435 50 69.3815 27.4088 50 68.6448 28.4227 50 
+67.6791 29.2216 50 66.5451 29.7553 50 65.3139 29.9901 50 
+64.0631 29.9114 50 62.8711 29.5241 50 61.8129 28.8526 50 
+60.9549 27.9389 50 60.3511 26.8406 50 60.0394 25.6267 50 
+60.0394 24.3733 50 60.3511 23.1594 50 60.9549 22.0611 50 
+61.8129 21.1474 50 62.8711 20.4759 50 64.0631 20.0886 50 
+65.3139 20.0099 50 66.5451 20.2447 50 67.6791 20.7784 50 
+68.6448 21.5773 50 69.3815 22.5912 50 69.8429 23.7565 50 
+70 25 0 70 25 0 69.8429 26.2435 0 
+69.3815 27.4088 0 68.6448 28.4227 0 67.6791 29.2216 0 
+66.5451 29.7553 0 65.3139 29.9901 0 64.0631 29.9114 0 
+62.8711 29.5241 0 61.8129 28.8526 0 60.9549 27.9389 0 
+60.3511 26.8406 0 60.0394 25.6267 0 60.0394 24.3733 0 
+60.3511 23.1594 0 60.9549 22.0611 0 61.8129 21.1474 0 
+62.8711 20.4759 0 64.0631 20.0886 0 65.3139 20.0099 0 
+66.5451 20.2447 0 67.6791 20.7784 0 68.6448 21.5773 0 
+69.3815 22.5912 0 69.8429 23.7565 0 85 27.5 50 
+85 27.5 53 75 27.5 53 75 27.5 50 
+75 22.5 50 75 22.5 53 75 27.5 53 
+75 27.5 50 85 22.5 50 85 22.5 53 
+75 22.5 53 75 22.5 50 85 22.5 50 
+85 22.5 53 85 27.5 53 85 27.5 50 
+120 0 0 120 0 50 120 40 50 
+120 40 0 67.5 0 50 120 0 50 
+120 0 0 67.5 0 0 105 0 25 
+106.243 0 24.8429 107.409 0 24.3815 108.423 0 23.6448 
+109.222 0 22.6791 109.755 0 21.5451 109.99 0 20.314 
+109.911 0 19.0631 109.524 0 17.8711 108.853 0 16.8129 
+107.939 0 15.9549 106.841 0 15.3511 105.627 0 15.0394 
+104.373 0 15.0394 103.159 0 15.3511 102.061 0 15.9549 
+101.147 0 16.8129 100.476 0 17.8711 100.089 0 19.0631 
+100.01 0 20.314 100.245 0 21.5451 100.778 0 22.6791 
+101.577 0 23.6448 102.591 0 24.3815 103.757 0 24.8429 
+67.5 0 0 67.5 0 50 67.5 15 0 
+67.5 15 50 62.5 15 0 67.5 15 0 
+62.5 15 50 67.5 15 50 62.5 0 0 
+62.5 0 50 62.5 15 0 62.5 15 50 
+50 0 40 50 0 50 50 10 40 
+50 10 50 0 40 0 120 40 0 
+0 0 0 62.5 0 0 62.5 15 0 
+67.5 15 0 67.5 0 0 120 0 0 
+70 25 0 69.8429 26.2435 0 69.3815 27.4088 0 
+68.6448 28.4227 0 67.6791 29.2216 0 66.5451 29.7553 0 
+65.3139 29.9901 0 64.0631 29.9114 0 62.8711 29.5241 0 
+61.8129 28.8526 0 60.9549 27.9389 0 60.3511 26.8406 0 
+60.0394 25.6267 0 60.0394 24.3733 0 60.3511 23.1594 0 
+60.9549 22.0611 0 61.8129 21.1474 0 62.8711 20.4759 0 
+64.0631 20.0886 0 65.3139 20.0099 0 66.5451 20.2447 0 
+67.6791 20.7784 0 68.6448 21.5773 0 69.3815 22.5912 0 
+69.8429 23.7565 0 0 40 0 120 40 0 
+0 40 50 120 40 50 105 40 25 
+106.243 40 24.8429 107.409 40 24.3815 108.423 40 23.6448 
+109.222 40 22.6791 109.755 40 21.5451 109.99 40 20.314 
+109.911 40 19.0631 109.524 40 17.8711 108.853 40 16.8129 
+107.939 40 15.9549 106.841 40 15.3511 105.627 40 15.0394 
+104.373 40 15.0394 103.159 40 15.3511 102.061 40 15.9549 
+101.147 40 16.8129 100.476 40 17.8711 100.089 40 19.0631 
+100.01 40 20.314 100.245 40 21.5451 100.778 40 22.6791 
+101.577 40 23.6448 102.591 40 24.3815 103.757 40 24.8429 
+0 10 50 0 40 50 50 10 50 
+50 0 50 62.5 0 50 62.5 15 50 
+67.5 15 50 67.5 0 50 120 0 50 
+120 40 50 85 22.5 50 85 27.5 50 
+75 22.5 50 75 27.5 50 70 25 50 
+69.8429 26.2435 50 69.3815 27.4088 50 68.6448 28.4227 50 
+67.6791 29.2216 50 66.5451 29.7553 50 65.3139 29.9901 50 
+64.0631 29.9114 50 62.8711 29.5241 50 61.8129 28.8526 50 
+60.9549 27.9389 50 60.3511 26.8406 50 60.0394 25.6267 50 
+60.0394 24.3733 50 60.3511 23.1594 50 60.9549 22.0611 50 
+61.8129 21.1474 50 62.8711 20.4759 50 64.0631 20.0886 50 
+65.3139 20.0099 50 66.5451 20.2447 50 67.6791 20.7784 50 
+68.6448 21.5773 50 69.3815 22.5912 50 69.8429 23.7565 50 
+0 10 40 50 10 40 0 10 50 
+50 10 50 0 0 40 0 10 40 
+50 0 40 50 10 40 50 0 50 
+62.5 0 50 50 0 40 0 0 40 
+0 0 0 62.5 0 0 0 0 0 
+0 0 40 0 10 40 0 10 50 
+0 40 50 0 40 0 
+VERTICES 68 136
+1 0 
+1 1 
+1 2 
+1 3 
+1 4 
+1 5 
+1 6 
+1 7 
+1 8 
+1 9 
+1 10 
+1 11 
+1 12 
+1 13 
+1 14 
+1 15 
+1 16 
+1 17 
+1 18 
+1 19 
+1 20 
+1 21 
+1 22 
+1 23 
+1 24 
+1 25 
+1 26 
+1 27 
+1 28 
+1 29 
+1 30 
+1 31 
+1 32 
+1 33 
+1 34 
+1 35 
+1 36 
+1 37 
+1 38 
+1 39 
+1 40 
+1 41 
+1 42 
+1 43 
+1 44 
+1 45 
+1 46 
+1 47 
+1 48 
+1 49 
+1 50 
+1 51 
+1 52 
+1 53 
+1 54 
+1 55 
+1 56 
+1 57 
+1 58 
+1 59 
+1 60 
+1 61 
+1 62 
+1 63 
+1 64 
+1 65 
+1 66 
+1 67 
+
+LINES 3354 10062
+2 68 69 
+2 71 70 
+2 72 71 
+2 72 70 
+2 73 72 
+2 73 70 
+2 74 73 
+2 74 70 
+2 75 74 
+2 75 70 
+2 76 75 
+2 76 70 
+2 77 76 
+2 77 70 
+2 78 77 
+2 78 70 
+2 79 78 
+2 79 70 
+2 80 79 
+2 80 70 
+2 81 80 
+2 81 70 
+2 82 81 
+2 82 70 
+2 83 82 
+2 83 70 
+2 84 83 
+2 84 70 
+2 85 84 
+2 85 70 
+2 85 71 
+2 86 87 
+2 89 88 
+2 90 89 
+2 90 88 
+2 91 90 
+2 91 88 
+2 92 91 
+2 92 88 
+2 93 92 
+2 93 88 
+2 94 93 
+2 94 88 
+2 95 94 
+2 95 88 
+2 96 95 
+2 96 88 
+2 97 96 
+2 97 88 
+2 98 97 
+2 98 88 
+2 99 98 
+2 99 88 
+2 100 99 
+2 100 88 
+2 101 100 
+2 101 88 
+2 102 101 
+2 102 88 
+2 103 102 
+2 103 88 
+2 103 89 
+2 104 105 
+2 107 106 
+2 108 107 
+2 108 106 
+2 109 108 
+2 109 106 
+2 110 109 
+2 110 106 
+2 111 110 
+2 111 106 
+2 112 111 
+2 112 106 
+2 113 112 
+2 113 106 
+2 114 113 
+2 114 106 
+2 115 114 
+2 115 106 
+2 116 115 
+2 116 106 
+2 117 116 
+2 117 106 
+2 118 117 
+2 118 106 
+2 119 118 
+2 119 106 
+2 120 119 
+2 120 106 
+2 121 120 
+2 121 106 
+2 121 107 
+2 122 123 
+2 125 124 
+2 126 125 
+2 126 124 
+2 127 126 
+2 127 124 
+2 128 127 
+2 128 124 
+2 129 128 
+2 129 124 
+2 130 129 
+2 130 124 
+2 131 130 
+2 131 124 
+2 132 131 
+2 132 124 
+2 133 132 
+2 133 124 
+2 134 133 
+2 134 124 
+2 135 134 
+2 135 124 
+2 136 135 
+2 136 124 
+2 137 136 
+2 137 124 
+2 138 137 
+2 138 124 
+2 139 138 
+2 139 124 
+2 139 125 
+2 140 141 
+2 143 142 
+2 144 143 
+2 144 142 
+2 145 144 
+2 145 142 
+2 146 145 
+2 146 142 
+2 147 146 
+2 147 142 
+2 148 147 
+2 148 142 
+2 149 148 
+2 149 142 
+2 150 149 
+2 150 142 
+2 151 150 
+2 151 142 
+2 152 151 
+2 152 142 
+2 153 152 
+2 153 142 
+2 154 153 
+2 154 142 
+2 155 154 
+2 155 142 
+2 156 155 
+2 156 142 
+2 157 156 
+2 157 142 
+2 157 143 
+2 158 159 
+2 160 161 
+2 162 163 
+2 164 165 
+2 166 167 
+2 168 169 
+2 170 171 
+2 172 173 
+2 174 175 
+2 176 177 
+2 178 179 
+2 180 181 
+2 182 183 
+2 184 185 
+2 186 187 
+2 188 189 
+2 190 191 
+2 192 193 
+2 194 195 
+2 196 197 
+2 198 199 
+2 200 201 
+2 202 203 
+2 204 205 
+2 206 207 
+2 209 208 
+2 210 209 
+2 210 208 
+2 211 210 
+2 211 208 
+2 212 211 
+2 212 208 
+2 213 212 
+2 213 208 
+2 214 213 
+2 214 208 
+2 215 214 
+2 215 208 
+2 216 215 
+2 216 208 
+2 217 216 
+2 217 208 
+2 218 217 
+2 218 208 
+2 219 218 
+2 219 208 
+2 220 219 
+2 220 208 
+2 221 220 
+2 221 208 
+2 222 221 
+2 222 208 
+2 223 222 
+2 223 208 
+2 223 209 
+2 224 225 
+2 227 226 
+2 228 227 
+2 228 226 
+2 229 228 
+2 229 226 
+2 230 229 
+2 230 226 
+2 231 230 
+2 231 226 
+2 232 231 
+2 232 226 
+2 233 232 
+2 233 226 
+2 234 233 
+2 234 226 
+2 235 234 
+2 235 226 
+2 236 235 
+2 236 226 
+2 237 236 
+2 237 226 
+2 238 237 
+2 238 226 
+2 239 238 
+2 239 226 
+2 240 239 
+2 240 226 
+2 241 240 
+2 241 226 
+2 241 227 
+2 242 243 
+2 244 245 
+2 246 247 
+2 248 249 
+2 250 251 
+2 252 253 
+2 254 255 
+2 256 257 
+2 258 259 
+2 260 261 
+2 262 263 
+2 264 265 
+2 266 267 
+2 268 269 
+2 270 271 
+2 272 273 
+2 274 275 
+2 276 277 
+2 278 279 
+2 280 281 
+2 282 283 
+2 284 285 
+2 286 287 
+2 288 289 
+2 290 291 
+2 293 292 
+2 294 293 
+2 294 292 
+2 295 294 
+2 295 292 
+2 296 295 
+2 296 292 
+2 297 296 
+2 297 292 
+2 298 297 
+2 298 292 
+2 299 298 
+2 299 292 
+2 300 299 
+2 300 292 
+2 301 300 
+2 301 292 
+2 302 301 
+2 302 292 
+2 303 302 
+2 303 292 
+2 304 303 
+2 304 292 
+2 305 304 
+2 305 292 
+2 306 305 
+2 306 292 
+2 307 306 
+2 307 292 
+2 307 293 
+2 308 309 
+2 311 310 
+2 312 311 
+2 312 310 
+2 313 312 
+2 313 310 
+2 314 313 
+2 314 310 
+2 315 314 
+2 315 310 
+2 316 315 
+2 316 310 
+2 317 316 
+2 317 310 
+2 318 317 
+2 318 310 
+2 319 318 
+2 319 310 
+2 320 319 
+2 320 310 
+2 321 320 
+2 321 310 
+2 322 321 
+2 322 310 
+2 323 322 
+2 323 310 
+2 324 323 
+2 324 310 
+2 325 324 
+2 325 310 
+2 325 311 
+2 326 327 
+2 328 329 
+2 330 331 
+2 332 333 
+2 334 335 
+2 336 337 
+2 338 339 
+2 340 341 
+2 342 343 
+2 344 345 
+2 346 347 
+2 348 349 
+2 350 351 
+2 352 353 
+2 354 355 
+2 356 357 
+2 358 359 
+2 360 361 
+2 362 363 
+2 364 365 
+2 366 367 
+2 368 369 
+2 370 371 
+2 372 373 
+2 374 375 
+2 377 376 
+2 378 377 
+2 378 376 
+2 379 378 
+2 379 376 
+2 380 379 
+2 380 376 
+2 381 380 
+2 381 376 
+2 382 381 
+2 382 376 
+2 383 382 
+2 383 376 
+2 384 383 
+2 384 376 
+2 385 384 
+2 385 376 
+2 386 385 
+2 386 376 
+2 387 386 
+2 387 376 
+2 388 387 
+2 388 376 
+2 389 388 
+2 389 376 
+2 390 389 
+2 390 376 
+2 391 390 
+2 391 376 
+2 391 377 
+2 392 393 
+2 395 394 
+2 396 395 
+2 396 394 
+2 397 396 
+2 397 394 
+2 398 397 
+2 398 394 
+2 399 398 
+2 399 394 
+2 400 399 
+2 400 394 
+2 401 400 
+2 401 394 
+2 402 401 
+2 402 394 
+2 403 402 
+2 403 394 
+2 404 403 
+2 404 394 
+2 405 404 
+2 405 394 
+2 406 405 
+2 406 394 
+2 407 406 
+2 407 394 
+2 408 407 
+2 408 394 
+2 409 408 
+2 409 394 
+2 409 395 
+2 410 411 
+2 412 413 
+2 414 415 
+2 416 417 
+2 418 419 
+2 420 421 
+2 422 423 
+2 424 425 
+2 426 427 
+2 428 429 
+2 430 431 
+2 432 433 
+2 434 435 
+2 436 437 
+2 438 439 
+2 440 441 
+2 442 443 
+2 444 445 
+2 446 447 
+2 448 449 
+2 450 451 
+2 452 453 
+2 454 455 
+2 456 457 
+2 458 459 
+2 461 460 
+2 462 461 
+2 462 460 
+2 463 462 
+2 463 460 
+2 464 463 
+2 464 460 
+2 465 464 
+2 465 460 
+2 466 465 
+2 466 460 
+2 467 466 
+2 467 460 
+2 468 467 
+2 468 460 
+2 469 468 
+2 469 460 
+2 470 469 
+2 470 460 
+2 471 470 
+2 471 460 
+2 472 471 
+2 472 460 
+2 473 472 
+2 473 460 
+2 474 473 
+2 474 460 
+2 475 474 
+2 475 460 
+2 475 461 
+2 476 477 
+2 479 478 
+2 480 479 
+2 480 478 
+2 481 480 
+2 481 478 
+2 482 481 
+2 482 478 
+2 483 482 
+2 483 478 
+2 484 483 
+2 484 478 
+2 485 484 
+2 485 478 
+2 486 485 
+2 486 478 
+2 487 486 
+2 487 478 
+2 488 487 
+2 488 478 
+2 489 488 
+2 489 478 
+2 490 489 
+2 490 478 
+2 491 490 
+2 491 478 
+2 492 491 
+2 492 478 
+2 493 492 
+2 493 478 
+2 493 479 
+2 494 495 
+2 497 496 
+2 498 497 
+2 498 496 
+2 499 498 
+2 499 496 
+2 500 499 
+2 500 496 
+2 501 500 
+2 501 496 
+2 502 501 
+2 502 496 
+2 503 502 
+2 503 496 
+2 504 503 
+2 504 496 
+2 505 504 
+2 505 496 
+2 506 505 
+2 506 496 
+2 507 506 
+2 507 496 
+2 508 507 
+2 508 496 
+2 509 508 
+2 509 496 
+2 510 509 
+2 510 496 
+2 511 510 
+2 511 496 
+2 511 497 
+2 512 513 
+2 515 514 
+2 516 515 
+2 516 514 
+2 517 516 
+2 517 514 
+2 518 517 
+2 518 514 
+2 519 518 
+2 519 514 
+2 520 519 
+2 520 514 
+2 521 520 
+2 521 514 
+2 522 521 
+2 522 514 
+2 523 522 
+2 523 514 
+2 524 523 
+2 524 514 
+2 525 524 
+2 525 514 
+2 526 525 
+2 526 514 
+2 527 526 
+2 527 514 
+2 528 527 
+2 528 514 
+2 529 528 
+2 529 514 
+2 529 515 
+2 530 531 
+2 533 532 
+2 534 533 
+2 534 532 
+2 535 534 
+2 535 532 
+2 536 535 
+2 536 532 
+2 537 536 
+2 537 532 
+2 538 537 
+2 538 532 
+2 539 538 
+2 539 532 
+2 540 539 
+2 540 532 
+2 541 540 
+2 541 532 
+2 542 541 
+2 542 532 
+2 543 542 
+2 543 532 
+2 544 543 
+2 544 532 
+2 545 544 
+2 545 532 
+2 546 545 
+2 546 532 
+2 547 546 
+2 547 532 
+2 547 533 
+2 548 549 
+2 551 550 
+2 552 551 
+2 552 550 
+2 553 552 
+2 553 550 
+2 554 553 
+2 554 550 
+2 555 554 
+2 555 550 
+2 556 555 
+2 556 550 
+2 557 556 
+2 557 550 
+2 558 557 
+2 558 550 
+2 559 558 
+2 559 550 
+2 560 559 
+2 560 550 
+2 561 560 
+2 561 550 
+2 562 561 
+2 562 550 
+2 563 562 
+2 563 550 
+2 564 563 
+2 564 550 
+2 565 564 
+2 565 550 
+2 565 551 
+2 566 567 
+2 569 568 
+2 570 569 
+2 570 568 
+2 571 570 
+2 571 568 
+2 572 571 
+2 572 568 
+2 573 572 
+2 573 568 
+2 574 573 
+2 574 568 
+2 575 574 
+2 575 568 
+2 576 575 
+2 576 568 
+2 577 576 
+2 577 568 
+2 578 577 
+2 578 568 
+2 579 578 
+2 579 568 
+2 580 579 
+2 580 568 
+2 581 580 
+2 581 568 
+2 582 581 
+2 582 568 
+2 583 582 
+2 583 568 
+2 583 569 
+2 584 585 
+2 587 586 
+2 588 587 
+2 588 586 
+2 589 588 
+2 589 586 
+2 590 589 
+2 590 586 
+2 591 590 
+2 591 586 
+2 592 591 
+2 592 586 
+2 593 592 
+2 593 586 
+2 594 593 
+2 594 586 
+2 595 594 
+2 595 586 
+2 596 595 
+2 596 586 
+2 597 596 
+2 597 586 
+2 598 597 
+2 598 586 
+2 599 598 
+2 599 586 
+2 600 599 
+2 600 586 
+2 601 600 
+2 601 586 
+2 601 587 
+2 602 603 
+2 605 604 
+2 606 605 
+2 606 604 
+2 607 606 
+2 607 604 
+2 608 607 
+2 608 604 
+2 609 608 
+2 609 604 
+2 610 609 
+2 610 604 
+2 611 610 
+2 611 604 
+2 612 611 
+2 612 604 
+2 613 612 
+2 613 604 
+2 614 613 
+2 614 604 
+2 615 614 
+2 615 604 
+2 616 615 
+2 616 604 
+2 617 616 
+2 617 604 
+2 618 617 
+2 618 604 
+2 619 618 
+2 619 604 
+2 619 605 
+2 620 621 
+2 623 622 
+2 624 623 
+2 624 622 
+2 625 624 
+2 625 622 
+2 626 625 
+2 626 622 
+2 627 626 
+2 627 622 
+2 628 627 
+2 628 622 
+2 629 628 
+2 629 622 
+2 630 629 
+2 630 622 
+2 631 630 
+2 631 622 
+2 632 631 
+2 632 622 
+2 633 632 
+2 633 622 
+2 634 633 
+2 634 622 
+2 635 634 
+2 635 622 
+2 636 635 
+2 636 622 
+2 637 636 
+2 637 622 
+2 637 623 
+2 638 639 
+2 641 640 
+2 642 641 
+2 642 640 
+2 643 642 
+2 643 640 
+2 644 643 
+2 644 640 
+2 645 644 
+2 645 640 
+2 646 645 
+2 646 640 
+2 647 646 
+2 647 640 
+2 648 647 
+2 648 640 
+2 649 648 
+2 649 640 
+2 650 649 
+2 650 640 
+2 651 650 
+2 651 640 
+2 652 651 
+2 652 640 
+2 653 652 
+2 653 640 
+2 654 653 
+2 654 640 
+2 655 654 
+2 655 640 
+2 655 641 
+2 656 657 
+2 659 658 
+2 660 659 
+2 660 658 
+2 661 660 
+2 661 658 
+2 662 661 
+2 662 658 
+2 663 662 
+2 663 658 
+2 664 663 
+2 664 658 
+2 665 664 
+2 665 658 
+2 666 665 
+2 666 658 
+2 667 666 
+2 667 658 
+2 668 667 
+2 668 658 
+2 669 668 
+2 669 658 
+2 670 669 
+2 670 658 
+2 671 670 
+2 671 658 
+2 672 671 
+2 672 658 
+2 673 672 
+2 673 658 
+2 673 659 
+2 674 675 
+2 677 676 
+2 678 677 
+2 678 676 
+2 679 678 
+2 679 676 
+2 680 679 
+2 680 676 
+2 681 680 
+2 681 676 
+2 682 681 
+2 682 676 
+2 683 682 
+2 683 676 
+2 684 683 
+2 684 676 
+2 685 684 
+2 685 676 
+2 686 685 
+2 686 676 
+2 687 686 
+2 687 676 
+2 688 687 
+2 688 676 
+2 689 688 
+2 689 676 
+2 690 689 
+2 690 676 
+2 691 690 
+2 691 676 
+2 691 677 
+2 692 693 
+2 695 694 
+2 696 695 
+2 696 694 
+2 697 696 
+2 697 694 
+2 698 697 
+2 698 694 
+2 699 698 
+2 699 694 
+2 700 699 
+2 700 694 
+2 701 700 
+2 701 694 
+2 702 701 
+2 702 694 
+2 703 702 
+2 703 694 
+2 704 703 
+2 704 694 
+2 705 704 
+2 705 694 
+2 706 705 
+2 706 694 
+2 707 706 
+2 707 694 
+2 708 707 
+2 708 694 
+2 709 708 
+2 709 694 
+2 709 695 
+2 710 711 
+2 713 712 
+2 714 713 
+2 714 712 
+2 715 714 
+2 715 712 
+2 716 715 
+2 716 712 
+2 717 716 
+2 717 712 
+2 718 717 
+2 718 712 
+2 719 718 
+2 719 712 
+2 720 719 
+2 720 712 
+2 721 720 
+2 721 712 
+2 722 721 
+2 722 712 
+2 723 722 
+2 723 712 
+2 724 723 
+2 724 712 
+2 725 724 
+2 725 712 
+2 726 725 
+2 726 712 
+2 727 726 
+2 727 712 
+2 727 713 
+2 728 729 
+2 731 730 
+2 732 731 
+2 732 730 
+2 733 732 
+2 733 730 
+2 734 733 
+2 734 730 
+2 735 734 
+2 735 730 
+2 736 735 
+2 736 730 
+2 737 736 
+2 737 730 
+2 738 737 
+2 738 730 
+2 739 738 
+2 739 730 
+2 740 739 
+2 740 730 
+2 741 740 
+2 741 730 
+2 742 741 
+2 742 730 
+2 743 742 
+2 743 730 
+2 744 743 
+2 744 730 
+2 745 744 
+2 745 730 
+2 745 731 
+2 746 747 
+2 749 748 
+2 750 749 
+2 750 748 
+2 751 750 
+2 751 748 
+2 752 751 
+2 752 748 
+2 753 752 
+2 753 748 
+2 754 753 
+2 754 748 
+2 755 754 
+2 755 748 
+2 756 755 
+2 756 748 
+2 757 756 
+2 757 748 
+2 758 757 
+2 758 748 
+2 759 758 
+2 759 748 
+2 760 759 
+2 760 748 
+2 761 760 
+2 761 748 
+2 762 761 
+2 762 748 
+2 763 762 
+2 763 748 
+2 763 749 
+2 764 765 
+2 767 766 
+2 768 767 
+2 768 766 
+2 769 768 
+2 769 766 
+2 770 769 
+2 770 766 
+2 771 770 
+2 771 766 
+2 772 771 
+2 772 766 
+2 773 772 
+2 773 766 
+2 774 773 
+2 774 766 
+2 775 774 
+2 775 766 
+2 776 775 
+2 776 766 
+2 777 776 
+2 777 766 
+2 778 777 
+2 778 766 
+2 779 778 
+2 779 766 
+2 780 779 
+2 780 766 
+2 781 780 
+2 781 766 
+2 781 767 
+2 782 783 
+2 785 784 
+2 786 785 
+2 786 784 
+2 787 786 
+2 787 784 
+2 788 787 
+2 788 784 
+2 789 788 
+2 789 784 
+2 790 789 
+2 790 784 
+2 791 790 
+2 791 784 
+2 792 791 
+2 792 784 
+2 793 792 
+2 793 784 
+2 794 793 
+2 794 784 
+2 795 794 
+2 795 784 
+2 796 795 
+2 796 784 
+2 797 796 
+2 797 784 
+2 798 797 
+2 798 784 
+2 799 798 
+2 799 784 
+2 799 785 
+2 800 801 
+2 803 802 
+2 804 803 
+2 804 802 
+2 805 804 
+2 805 802 
+2 806 805 
+2 806 802 
+2 807 806 
+2 807 802 
+2 808 807 
+2 808 802 
+2 809 808 
+2 809 802 
+2 810 809 
+2 810 802 
+2 811 810 
+2 811 802 
+2 812 811 
+2 812 802 
+2 813 812 
+2 813 802 
+2 814 813 
+2 814 802 
+2 815 814 
+2 815 802 
+2 816 815 
+2 816 802 
+2 817 816 
+2 817 802 
+2 817 803 
+2 818 819 
+2 821 820 
+2 822 821 
+2 822 820 
+2 823 822 
+2 823 820 
+2 824 823 
+2 824 820 
+2 825 824 
+2 825 820 
+2 826 825 
+2 826 820 
+2 827 826 
+2 827 820 
+2 828 827 
+2 828 820 
+2 829 828 
+2 829 820 
+2 830 829 
+2 830 820 
+2 831 830 
+2 831 820 
+2 832 831 
+2 832 820 
+2 833 832 
+2 833 820 
+2 834 833 
+2 834 820 
+2 835 834 
+2 835 820 
+2 835 821 
+2 836 837 
+2 838 839 
+2 840 841 
+2 842 843 
+2 844 845 
+2 846 847 
+2 848 849 
+2 850 851 
+2 852 853 
+2 854 855 
+2 856 857 
+2 858 859 
+2 860 861 
+2 862 863 
+2 864 865 
+2 866 867 
+2 868 869 
+2 870 871 
+2 872 873 
+2 874 875 
+2 876 877 
+2 878 879 
+2 880 881 
+2 882 883 
+2 884 885 
+2 887 886 
+2 888 887 
+2 888 886 
+2 889 888 
+2 889 886 
+2 890 889 
+2 890 886 
+2 891 890 
+2 891 886 
+2 892 891 
+2 892 886 
+2 893 892 
+2 893 886 
+2 894 893 
+2 894 886 
+2 895 894 
+2 895 886 
+2 896 895 
+2 896 886 
+2 897 896 
+2 897 886 
+2 898 897 
+2 898 886 
+2 899 898 
+2 899 886 
+2 900 899 
+2 900 886 
+2 901 900 
+2 901 886 
+2 901 887 
+2 902 903 
+2 905 904 
+2 906 905 
+2 906 904 
+2 907 906 
+2 907 904 
+2 908 907 
+2 908 904 
+2 909 908 
+2 909 904 
+2 910 909 
+2 910 904 
+2 911 910 
+2 911 904 
+2 912 911 
+2 912 904 
+2 913 912 
+2 913 904 
+2 914 913 
+2 914 904 
+2 915 914 
+2 915 904 
+2 916 915 
+2 916 904 
+2 917 916 
+2 917 904 
+2 918 917 
+2 918 904 
+2 919 918 
+2 919 904 
+2 919 905 
+2 920 921 
+2 923 922 
+2 924 923 
+2 924 922 
+2 925 924 
+2 925 922 
+2 926 925 
+2 926 922 
+2 927 926 
+2 927 922 
+2 928 927 
+2 928 922 
+2 929 928 
+2 929 922 
+2 930 929 
+2 930 922 
+2 931 930 
+2 931 922 
+2 932 931 
+2 932 922 
+2 933 932 
+2 933 922 
+2 934 933 
+2 934 922 
+2 935 934 
+2 935 922 
+2 936 935 
+2 936 922 
+2 937 936 
+2 937 922 
+2 937 923 
+2 938 939 
+2 941 940 
+2 942 941 
+2 942 940 
+2 943 942 
+2 943 940 
+2 944 943 
+2 944 940 
+2 945 944 
+2 945 940 
+2 946 945 
+2 946 940 
+2 947 946 
+2 947 940 
+2 948 947 
+2 948 940 
+2 949 948 
+2 949 940 
+2 950 949 
+2 950 940 
+2 951 950 
+2 951 940 
+2 952 951 
+2 952 940 
+2 953 952 
+2 953 940 
+2 954 953 
+2 954 940 
+2 955 954 
+2 955 940 
+2 955 941 
+2 956 957 
+2 959 958 
+2 960 959 
+2 960 958 
+2 961 960 
+2 961 958 
+2 962 961 
+2 962 958 
+2 963 962 
+2 963 958 
+2 964 963 
+2 964 958 
+2 965 964 
+2 965 958 
+2 966 965 
+2 966 958 
+2 967 966 
+2 967 958 
+2 968 967 
+2 968 958 
+2 969 968 
+2 969 958 
+2 970 969 
+2 970 958 
+2 971 970 
+2 971 958 
+2 972 971 
+2 972 958 
+2 973 972 
+2 973 958 
+2 973 959 
+2 974 975 
+2 977 976 
+2 978 977 
+2 978 976 
+2 979 978 
+2 979 976 
+2 980 979 
+2 980 976 
+2 981 980 
+2 981 976 
+2 982 981 
+2 982 976 
+2 983 982 
+2 983 976 
+2 984 983 
+2 984 976 
+2 985 984 
+2 985 976 
+2 986 985 
+2 986 976 
+2 987 986 
+2 987 976 
+2 988 987 
+2 988 976 
+2 989 988 
+2 989 976 
+2 990 989 
+2 990 976 
+2 991 990 
+2 991 976 
+2 991 977 
+2 992 993 
+2 995 994 
+2 996 995 
+2 996 994 
+2 997 996 
+2 997 994 
+2 998 997 
+2 998 994 
+2 999 998 
+2 999 994 
+2 1000 999 
+2 1000 994 
+2 1001 1000 
+2 1001 994 
+2 1002 1001 
+2 1002 994 
+2 1003 1002 
+2 1003 994 
+2 1004 1003 
+2 1004 994 
+2 1005 1004 
+2 1005 994 
+2 1006 1005 
+2 1006 994 
+2 1007 1006 
+2 1007 994 
+2 1008 1007 
+2 1008 994 
+2 1009 1008 
+2 1009 994 
+2 1009 995 
+2 1010 1011 
+2 1013 1012 
+2 1014 1013 
+2 1014 1012 
+2 1015 1014 
+2 1015 1012 
+2 1016 1015 
+2 1016 1012 
+2 1017 1016 
+2 1017 1012 
+2 1018 1017 
+2 1018 1012 
+2 1019 1018 
+2 1019 1012 
+2 1020 1019 
+2 1020 1012 
+2 1021 1020 
+2 1021 1012 
+2 1022 1021 
+2 1022 1012 
+2 1023 1022 
+2 1023 1012 
+2 1024 1023 
+2 1024 1012 
+2 1025 1024 
+2 1025 1012 
+2 1026 1025 
+2 1026 1012 
+2 1027 1026 
+2 1027 1012 
+2 1027 1013 
+2 1028 1029 
+2 1031 1030 
+2 1032 1031 
+2 1032 1030 
+2 1033 1032 
+2 1033 1030 
+2 1034 1033 
+2 1034 1030 
+2 1035 1034 
+2 1035 1030 
+2 1036 1035 
+2 1036 1030 
+2 1037 1036 
+2 1037 1030 
+2 1038 1037 
+2 1038 1030 
+2 1039 1038 
+2 1039 1030 
+2 1040 1039 
+2 1040 1030 
+2 1041 1040 
+2 1041 1030 
+2 1042 1041 
+2 1042 1030 
+2 1043 1042 
+2 1043 1030 
+2 1044 1043 
+2 1044 1030 
+2 1045 1044 
+2 1045 1030 
+2 1045 1031 
+2 1046 1047 
+2 1049 1048 
+2 1050 1049 
+2 1050 1048 
+2 1051 1050 
+2 1051 1048 
+2 1052 1051 
+2 1052 1048 
+2 1053 1052 
+2 1053 1048 
+2 1054 1053 
+2 1054 1048 
+2 1055 1054 
+2 1055 1048 
+2 1056 1055 
+2 1056 1048 
+2 1057 1056 
+2 1057 1048 
+2 1058 1057 
+2 1058 1048 
+2 1059 1058 
+2 1059 1048 
+2 1060 1059 
+2 1060 1048 
+2 1061 1060 
+2 1061 1048 
+2 1062 1061 
+2 1062 1048 
+2 1063 1062 
+2 1063 1048 
+2 1063 1049 
+2 1064 1065 
+2 1067 1066 
+2 1068 1067 
+2 1068 1066 
+2 1069 1068 
+2 1069 1066 
+2 1070 1069 
+2 1070 1066 
+2 1071 1070 
+2 1071 1066 
+2 1072 1071 
+2 1072 1066 
+2 1073 1072 
+2 1073 1066 
+2 1074 1073 
+2 1074 1066 
+2 1075 1074 
+2 1075 1066 
+2 1076 1075 
+2 1076 1066 
+2 1077 1076 
+2 1077 1066 
+2 1078 1077 
+2 1078 1066 
+2 1079 1078 
+2 1079 1066 
+2 1080 1079 
+2 1080 1066 
+2 1081 1080 
+2 1081 1066 
+2 1081 1067 
+2 1082 1083 
+2 1085 1084 
+2 1086 1085 
+2 1086 1084 
+2 1087 1086 
+2 1087 1084 
+2 1088 1087 
+2 1088 1084 
+2 1089 1088 
+2 1089 1084 
+2 1090 1089 
+2 1090 1084 
+2 1091 1090 
+2 1091 1084 
+2 1092 1091 
+2 1092 1084 
+2 1093 1092 
+2 1093 1084 
+2 1094 1093 
+2 1094 1084 
+2 1095 1094 
+2 1095 1084 
+2 1096 1095 
+2 1096 1084 
+2 1097 1096 
+2 1097 1084 
+2 1098 1097 
+2 1098 1084 
+2 1099 1098 
+2 1099 1084 
+2 1099 1085 
+2 1100 1101 
+2 1103 1102 
+2 1104 1103 
+2 1104 1102 
+2 1105 1104 
+2 1105 1102 
+2 1106 1105 
+2 1106 1102 
+2 1107 1106 
+2 1107 1102 
+2 1108 1107 
+2 1108 1102 
+2 1109 1108 
+2 1109 1102 
+2 1110 1109 
+2 1110 1102 
+2 1111 1110 
+2 1111 1102 
+2 1112 1111 
+2 1112 1102 
+2 1113 1112 
+2 1113 1102 
+2 1114 1113 
+2 1114 1102 
+2 1115 1114 
+2 1115 1102 
+2 1116 1115 
+2 1116 1102 
+2 1117 1116 
+2 1117 1102 
+2 1117 1103 
+2 1118 1119 
+2 1121 1120 
+2 1122 1121 
+2 1122 1120 
+2 1123 1122 
+2 1123 1120 
+2 1124 1123 
+2 1124 1120 
+2 1125 1124 
+2 1125 1120 
+2 1126 1125 
+2 1126 1120 
+2 1127 1126 
+2 1127 1120 
+2 1128 1127 
+2 1128 1120 
+2 1129 1128 
+2 1129 1120 
+2 1130 1129 
+2 1130 1120 
+2 1131 1130 
+2 1131 1120 
+2 1132 1131 
+2 1132 1120 
+2 1133 1132 
+2 1133 1120 
+2 1134 1133 
+2 1134 1120 
+2 1135 1134 
+2 1135 1120 
+2 1135 1121 
+2 1136 1137 
+2 1139 1138 
+2 1140 1139 
+2 1140 1138 
+2 1141 1140 
+2 1141 1138 
+2 1142 1141 
+2 1142 1138 
+2 1143 1142 
+2 1143 1138 
+2 1144 1143 
+2 1144 1138 
+2 1145 1144 
+2 1145 1138 
+2 1146 1145 
+2 1146 1138 
+2 1147 1146 
+2 1147 1138 
+2 1148 1147 
+2 1148 1138 
+2 1149 1148 
+2 1149 1138 
+2 1150 1149 
+2 1150 1138 
+2 1151 1150 
+2 1151 1138 
+2 1152 1151 
+2 1152 1138 
+2 1153 1152 
+2 1153 1138 
+2 1153 1139 
+2 1154 1155 
+2 1157 1156 
+2 1158 1157 
+2 1158 1156 
+2 1159 1158 
+2 1159 1156 
+2 1160 1159 
+2 1160 1156 
+2 1161 1160 
+2 1161 1156 
+2 1162 1161 
+2 1162 1156 
+2 1163 1162 
+2 1163 1156 
+2 1164 1163 
+2 1164 1156 
+2 1165 1164 
+2 1165 1156 
+2 1166 1165 
+2 1166 1156 
+2 1167 1166 
+2 1167 1156 
+2 1168 1167 
+2 1168 1156 
+2 1169 1168 
+2 1169 1156 
+2 1170 1169 
+2 1170 1156 
+2 1171 1170 
+2 1171 1156 
+2 1171 1157 
+2 1172 1173 
+2 1175 1174 
+2 1176 1175 
+2 1176 1174 
+2 1177 1176 
+2 1177 1174 
+2 1178 1177 
+2 1178 1174 
+2 1179 1178 
+2 1179 1174 
+2 1180 1179 
+2 1180 1174 
+2 1181 1180 
+2 1181 1174 
+2 1182 1181 
+2 1182 1174 
+2 1183 1182 
+2 1183 1174 
+2 1184 1183 
+2 1184 1174 
+2 1185 1184 
+2 1185 1174 
+2 1186 1185 
+2 1186 1174 
+2 1187 1186 
+2 1187 1174 
+2 1188 1187 
+2 1188 1174 
+2 1189 1188 
+2 1189 1174 
+2 1189 1175 
+2 1190 1191 
+2 1193 1192 
+2 1194 1193 
+2 1194 1192 
+2 1195 1194 
+2 1195 1192 
+2 1196 1195 
+2 1196 1192 
+2 1197 1196 
+2 1197 1192 
+2 1198 1197 
+2 1198 1192 
+2 1199 1198 
+2 1199 1192 
+2 1200 1199 
+2 1200 1192 
+2 1201 1200 
+2 1201 1192 
+2 1202 1201 
+2 1202 1192 
+2 1203 1202 
+2 1203 1192 
+2 1204 1203 
+2 1204 1192 
+2 1205 1204 
+2 1205 1192 
+2 1206 1205 
+2 1206 1192 
+2 1207 1206 
+2 1207 1192 
+2 1207 1193 
+2 1208 1209 
+2 1211 1210 
+2 1212 1211 
+2 1212 1210 
+2 1213 1212 
+2 1213 1210 
+2 1214 1213 
+2 1214 1210 
+2 1215 1214 
+2 1215 1210 
+2 1216 1215 
+2 1216 1210 
+2 1217 1216 
+2 1217 1210 
+2 1218 1217 
+2 1218 1210 
+2 1219 1218 
+2 1219 1210 
+2 1220 1219 
+2 1220 1210 
+2 1221 1220 
+2 1221 1210 
+2 1222 1221 
+2 1222 1210 
+2 1223 1222 
+2 1223 1210 
+2 1224 1223 
+2 1224 1210 
+2 1225 1224 
+2 1225 1210 
+2 1225 1211 
+2 1226 1227 
+2 1229 1228 
+2 1230 1229 
+2 1230 1228 
+2 1231 1230 
+2 1231 1228 
+2 1232 1231 
+2 1232 1228 
+2 1233 1232 
+2 1233 1228 
+2 1234 1233 
+2 1234 1228 
+2 1235 1234 
+2 1235 1228 
+2 1236 1235 
+2 1236 1228 
+2 1237 1236 
+2 1237 1228 
+2 1238 1237 
+2 1238 1228 
+2 1239 1238 
+2 1239 1228 
+2 1240 1239 
+2 1240 1228 
+2 1241 1240 
+2 1241 1228 
+2 1242 1241 
+2 1242 1228 
+2 1243 1242 
+2 1243 1228 
+2 1243 1229 
+2 1244 1245 
+2 1247 1246 
+2 1248 1247 
+2 1248 1246 
+2 1249 1248 
+2 1249 1246 
+2 1250 1249 
+2 1250 1246 
+2 1251 1250 
+2 1251 1246 
+2 1252 1251 
+2 1252 1246 
+2 1253 1252 
+2 1253 1246 
+2 1254 1253 
+2 1254 1246 
+2 1255 1254 
+2 1255 1246 
+2 1256 1255 
+2 1256 1246 
+2 1257 1256 
+2 1257 1246 
+2 1258 1257 
+2 1258 1246 
+2 1259 1258 
+2 1259 1246 
+2 1260 1259 
+2 1260 1246 
+2 1261 1260 
+2 1261 1246 
+2 1261 1247 
+2 1262 1263 
+2 1264 1265 
+2 1266 1267 
+2 1268 1269 
+2 1270 1271 
+2 1272 1273 
+2 1274 1275 
+2 1276 1277 
+2 1278 1279 
+2 1280 1281 
+2 1282 1283 
+2 1284 1285 
+2 1286 1287 
+2 1288 1289 
+2 1290 1291 
+2 1292 1293 
+2 1294 1295 
+2 1296 1297 
+2 1298 1299 
+2 1300 1301 
+2 1302 1303 
+2 1304 1305 
+2 1306 1307 
+2 1308 1309 
+2 1310 1311 
+2 1313 1312 
+2 1314 1313 
+2 1314 1312 
+2 1315 1314 
+2 1315 1312 
+2 1316 1315 
+2 1316 1312 
+2 1317 1316 
+2 1317 1312 
+2 1318 1317 
+2 1318 1312 
+2 1319 1318 
+2 1319 1312 
+2 1320 1319 
+2 1320 1312 
+2 1321 1320 
+2 1321 1312 
+2 1322 1321 
+2 1322 1312 
+2 1323 1322 
+2 1323 1312 
+2 1324 1323 
+2 1324 1312 
+2 1325 1324 
+2 1325 1312 
+2 1326 1325 
+2 1326 1312 
+2 1327 1326 
+2 1327 1312 
+2 1327 1313 
+2 1328 1329 
+2 1331 1330 
+2 1332 1331 
+2 1332 1330 
+2 1333 1332 
+2 1333 1330 
+2 1334 1333 
+2 1334 1330 
+2 1335 1334 
+2 1335 1330 
+2 1336 1335 
+2 1336 1330 
+2 1337 1336 
+2 1337 1330 
+2 1338 1337 
+2 1338 1330 
+2 1339 1338 
+2 1339 1330 
+2 1340 1339 
+2 1340 1330 
+2 1341 1340 
+2 1341 1330 
+2 1342 1341 
+2 1342 1330 
+2 1343 1342 
+2 1343 1330 
+2 1344 1343 
+2 1344 1330 
+2 1345 1344 
+2 1345 1330 
+2 1345 1331 
+2 1346 1347 
+2 1349 1348 
+2 1350 1349 
+2 1350 1348 
+2 1351 1350 
+2 1351 1348 
+2 1352 1351 
+2 1352 1348 
+2 1353 1352 
+2 1353 1348 
+2 1354 1353 
+2 1354 1348 
+2 1355 1354 
+2 1355 1348 
+2 1356 1355 
+2 1356 1348 
+2 1357 1356 
+2 1357 1348 
+2 1358 1357 
+2 1358 1348 
+2 1359 1358 
+2 1359 1348 
+2 1360 1359 
+2 1360 1348 
+2 1361 1360 
+2 1361 1348 
+2 1362 1361 
+2 1362 1348 
+2 1363 1362 
+2 1363 1348 
+2 1363 1349 
+2 1364 1365 
+2 1367 1366 
+2 1368 1367 
+2 1368 1366 
+2 1369 1368 
+2 1369 1366 
+2 1370 1369 
+2 1370 1366 
+2 1371 1370 
+2 1371 1366 
+2 1372 1371 
+2 1372 1366 
+2 1373 1372 
+2 1373 1366 
+2 1374 1373 
+2 1374 1366 
+2 1375 1374 
+2 1375 1366 
+2 1376 1375 
+2 1376 1366 
+2 1377 1376 
+2 1377 1366 
+2 1378 1377 
+2 1378 1366 
+2 1379 1378 
+2 1379 1366 
+2 1380 1379 
+2 1380 1366 
+2 1381 1380 
+2 1381 1366 
+2 1381 1367 
+2 1382 1383 
+2 1385 1384 
+2 1386 1385 
+2 1386 1384 
+2 1387 1386 
+2 1387 1384 
+2 1388 1387 
+2 1388 1384 
+2 1389 1388 
+2 1389 1384 
+2 1390 1389 
+2 1390 1384 
+2 1391 1390 
+2 1391 1384 
+2 1392 1391 
+2 1392 1384 
+2 1393 1392 
+2 1393 1384 
+2 1394 1393 
+2 1394 1384 
+2 1395 1394 
+2 1395 1384 
+2 1396 1395 
+2 1396 1384 
+2 1397 1396 
+2 1397 1384 
+2 1398 1397 
+2 1398 1384 
+2 1399 1398 
+2 1399 1384 
+2 1399 1385 
+2 1400 1401 
+2 1403 1402 
+2 1404 1403 
+2 1404 1402 
+2 1405 1404 
+2 1405 1402 
+2 1406 1405 
+2 1406 1402 
+2 1407 1406 
+2 1407 1402 
+2 1408 1407 
+2 1408 1402 
+2 1409 1408 
+2 1409 1402 
+2 1410 1409 
+2 1410 1402 
+2 1411 1410 
+2 1411 1402 
+2 1412 1411 
+2 1412 1402 
+2 1413 1412 
+2 1413 1402 
+2 1414 1413 
+2 1414 1402 
+2 1415 1414 
+2 1415 1402 
+2 1416 1415 
+2 1416 1402 
+2 1417 1416 
+2 1417 1402 
+2 1417 1403 
+2 1418 1419 
+2 1421 1420 
+2 1422 1421 
+2 1422 1420 
+2 1423 1422 
+2 1423 1420 
+2 1424 1423 
+2 1424 1420 
+2 1425 1424 
+2 1425 1420 
+2 1426 1425 
+2 1426 1420 
+2 1427 1426 
+2 1427 1420 
+2 1428 1427 
+2 1428 1420 
+2 1429 1428 
+2 1429 1420 
+2 1430 1429 
+2 1430 1420 
+2 1431 1430 
+2 1431 1420 
+2 1432 1431 
+2 1432 1420 
+2 1433 1432 
+2 1433 1420 
+2 1434 1433 
+2 1434 1420 
+2 1435 1434 
+2 1435 1420 
+2 1435 1421 
+2 1436 1437 
+2 1439 1438 
+2 1440 1439 
+2 1440 1438 
+2 1441 1440 
+2 1441 1438 
+2 1442 1441 
+2 1442 1438 
+2 1443 1442 
+2 1443 1438 
+2 1444 1443 
+2 1444 1438 
+2 1445 1444 
+2 1445 1438 
+2 1446 1445 
+2 1446 1438 
+2 1447 1446 
+2 1447 1438 
+2 1448 1447 
+2 1448 1438 
+2 1449 1448 
+2 1449 1438 
+2 1450 1449 
+2 1450 1438 
+2 1451 1450 
+2 1451 1438 
+2 1452 1451 
+2 1452 1438 
+2 1453 1452 
+2 1453 1438 
+2 1453 1439 
+2 1454 1455 
+2 1457 1456 
+2 1458 1457 
+2 1458 1456 
+2 1459 1458 
+2 1459 1456 
+2 1460 1459 
+2 1460 1456 
+2 1461 1460 
+2 1461 1456 
+2 1462 1461 
+2 1462 1456 
+2 1463 1462 
+2 1463 1456 
+2 1464 1463 
+2 1464 1456 
+2 1465 1464 
+2 1465 1456 
+2 1466 1465 
+2 1466 1456 
+2 1467 1466 
+2 1467 1456 
+2 1468 1467 
+2 1468 1456 
+2 1469 1468 
+2 1469 1456 
+2 1470 1469 
+2 1470 1456 
+2 1471 1470 
+2 1471 1456 
+2 1471 1457 
+2 1472 1473 
+2 1474 1475 
+2 1476 1477 
+2 1478 1479 
+2 1480 1481 
+2 1482 1483 
+2 1484 1485 
+2 1486 1487 
+2 1488 1489 
+2 1490 1491 
+2 1492 1493 
+2 1494 1495 
+2 1496 1497 
+2 1498 1499 
+2 1500 1501 
+2 1502 1503 
+2 1504 1505 
+2 1506 1507 
+2 1508 1509 
+2 1510 1511 
+2 1512 1513 
+2 1514 1515 
+2 1516 1517 
+2 1518 1519 
+2 1520 1521 
+2 1523 1522 
+2 1524 1523 
+2 1524 1522 
+2 1525 1524 
+2 1525 1522 
+2 1526 1525 
+2 1526 1522 
+2 1527 1526 
+2 1527 1522 
+2 1528 1527 
+2 1528 1522 
+2 1529 1528 
+2 1529 1522 
+2 1530 1529 
+2 1530 1522 
+2 1531 1530 
+2 1531 1522 
+2 1532 1531 
+2 1532 1522 
+2 1533 1532 
+2 1533 1522 
+2 1534 1533 
+2 1534 1522 
+2 1535 1534 
+2 1535 1522 
+2 1536 1535 
+2 1536 1522 
+2 1537 1536 
+2 1537 1522 
+2 1537 1523 
+2 1538 1539 
+2 1541 1540 
+2 1542 1541 
+2 1542 1540 
+2 1543 1542 
+2 1543 1540 
+2 1544 1543 
+2 1544 1540 
+2 1545 1544 
+2 1545 1540 
+2 1546 1545 
+2 1546 1540 
+2 1547 1546 
+2 1547 1540 
+2 1548 1547 
+2 1548 1540 
+2 1549 1548 
+2 1549 1540 
+2 1550 1549 
+2 1550 1540 
+2 1551 1550 
+2 1551 1540 
+2 1552 1551 
+2 1552 1540 
+2 1553 1552 
+2 1553 1540 
+2 1554 1553 
+2 1554 1540 
+2 1555 1554 
+2 1555 1540 
+2 1555 1541 
+2 1556 1557 
+2 1559 1558 
+2 1560 1559 
+2 1560 1558 
+2 1561 1560 
+2 1561 1558 
+2 1562 1561 
+2 1562 1558 
+2 1563 1562 
+2 1563 1558 
+2 1564 1563 
+2 1564 1558 
+2 1565 1564 
+2 1565 1558 
+2 1566 1565 
+2 1566 1558 
+2 1567 1566 
+2 1567 1558 
+2 1568 1567 
+2 1568 1558 
+2 1569 1568 
+2 1569 1558 
+2 1570 1569 
+2 1570 1558 
+2 1571 1570 
+2 1571 1558 
+2 1572 1571 
+2 1572 1558 
+2 1573 1572 
+2 1573 1558 
+2 1573 1559 
+2 1574 1575 
+2 1577 1576 
+2 1578 1577 
+2 1578 1576 
+2 1579 1578 
+2 1579 1576 
+2 1580 1579 
+2 1580 1576 
+2 1581 1580 
+2 1581 1576 
+2 1582 1581 
+2 1582 1576 
+2 1583 1582 
+2 1583 1576 
+2 1584 1583 
+2 1584 1576 
+2 1585 1584 
+2 1585 1576 
+2 1586 1585 
+2 1586 1576 
+2 1587 1586 
+2 1587 1576 
+2 1588 1587 
+2 1588 1576 
+2 1589 1588 
+2 1589 1576 
+2 1590 1589 
+2 1590 1576 
+2 1591 1590 
+2 1591 1576 
+2 1591 1577 
+2 1592 1593 
+2 1595 1594 
+2 1596 1595 
+2 1596 1594 
+2 1597 1596 
+2 1597 1594 
+2 1598 1597 
+2 1598 1594 
+2 1599 1598 
+2 1599 1594 
+2 1600 1599 
+2 1600 1594 
+2 1601 1600 
+2 1601 1594 
+2 1602 1601 
+2 1602 1594 
+2 1603 1602 
+2 1603 1594 
+2 1604 1603 
+2 1604 1594 
+2 1605 1604 
+2 1605 1594 
+2 1606 1605 
+2 1606 1594 
+2 1607 1606 
+2 1607 1594 
+2 1608 1607 
+2 1608 1594 
+2 1609 1608 
+2 1609 1594 
+2 1609 1595 
+2 1610 1611 
+2 1612 1613 
+2 1614 1615 
+2 1616 1617 
+2 1618 1619 
+2 1620 1621 
+2 1622 1623 
+2 1624 1625 
+2 1626 1627 
+2 1628 1629 
+2 1630 1631 
+2 1632 1633 
+2 1634 1635 
+2 1636 1637 
+2 1638 1639 
+2 1640 1641 
+2 1642 1643 
+2 1644 1645 
+2 1646 1647 
+2 1648 1649 
+2 1650 1651 
+2 1652 1653 
+2 1654 1655 
+2 1656 1657 
+2 1658 1659 
+2 1661 1660 
+2 1662 1661 
+2 1662 1660 
+2 1663 1662 
+2 1663 1660 
+2 1664 1663 
+2 1664 1660 
+2 1665 1664 
+2 1665 1660 
+2 1666 1665 
+2 1666 1660 
+2 1667 1666 
+2 1667 1660 
+2 1668 1667 
+2 1668 1660 
+2 1669 1668 
+2 1669 1660 
+2 1670 1669 
+2 1670 1660 
+2 1671 1670 
+2 1671 1660 
+2 1672 1671 
+2 1672 1660 
+2 1673 1672 
+2 1673 1660 
+2 1674 1673 
+2 1674 1660 
+2 1675 1674 
+2 1675 1660 
+2 1675 1661 
+2 1676 1677 
+2 1679 1678 
+2 1680 1679 
+2 1680 1678 
+2 1681 1680 
+2 1681 1678 
+2 1682 1681 
+2 1682 1678 
+2 1683 1682 
+2 1683 1678 
+2 1684 1683 
+2 1684 1678 
+2 1685 1684 
+2 1685 1678 
+2 1686 1685 
+2 1686 1678 
+2 1687 1686 
+2 1687 1678 
+2 1688 1687 
+2 1688 1678 
+2 1689 1688 
+2 1689 1678 
+2 1690 1689 
+2 1690 1678 
+2 1691 1690 
+2 1691 1678 
+2 1692 1691 
+2 1692 1678 
+2 1693 1692 
+2 1693 1678 
+2 1693 1679 
+2 1694 1695 
+2 1697 1696 
+2 1698 1697 
+2 1698 1696 
+2 1699 1698 
+2 1699 1696 
+2 1700 1699 
+2 1700 1696 
+2 1701 1700 
+2 1701 1696 
+2 1702 1701 
+2 1702 1696 
+2 1703 1702 
+2 1703 1696 
+2 1704 1703 
+2 1704 1696 
+2 1705 1704 
+2 1705 1696 
+2 1706 1705 
+2 1706 1696 
+2 1707 1706 
+2 1707 1696 
+2 1708 1707 
+2 1708 1696 
+2 1709 1708 
+2 1709 1696 
+2 1710 1709 
+2 1710 1696 
+2 1711 1710 
+2 1711 1696 
+2 1711 1697 
+2 1712 1713 
+2 1715 1714 
+2 1716 1715 
+2 1716 1714 
+2 1717 1716 
+2 1717 1714 
+2 1718 1717 
+2 1718 1714 
+2 1719 1718 
+2 1719 1714 
+2 1720 1719 
+2 1720 1714 
+2 1721 1720 
+2 1721 1714 
+2 1722 1721 
+2 1722 1714 
+2 1723 1722 
+2 1723 1714 
+2 1724 1723 
+2 1724 1714 
+2 1725 1724 
+2 1725 1714 
+2 1726 1725 
+2 1726 1714 
+2 1727 1726 
+2 1727 1714 
+2 1728 1727 
+2 1728 1714 
+2 1729 1728 
+2 1729 1714 
+2 1729 1715 
+2 1730 1731 
+2 1733 1732 
+2 1734 1733 
+2 1734 1732 
+2 1735 1734 
+2 1735 1732 
+2 1736 1735 
+2 1736 1732 
+2 1737 1736 
+2 1737 1732 
+2 1738 1737 
+2 1738 1732 
+2 1739 1738 
+2 1739 1732 
+2 1740 1739 
+2 1740 1732 
+2 1741 1740 
+2 1741 1732 
+2 1742 1741 
+2 1742 1732 
+2 1743 1742 
+2 1743 1732 
+2 1744 1743 
+2 1744 1732 
+2 1745 1744 
+2 1745 1732 
+2 1746 1745 
+2 1746 1732 
+2 1747 1746 
+2 1747 1732 
+2 1747 1733 
+2 1748 1749 
+2 1751 1750 
+2 1752 1751 
+2 1752 1750 
+2 1753 1752 
+2 1753 1750 
+2 1754 1753 
+2 1754 1750 
+2 1755 1754 
+2 1755 1750 
+2 1756 1755 
+2 1756 1750 
+2 1757 1756 
+2 1757 1750 
+2 1758 1757 
+2 1758 1750 
+2 1759 1758 
+2 1759 1750 
+2 1760 1759 
+2 1760 1750 
+2 1761 1760 
+2 1761 1750 
+2 1762 1761 
+2 1762 1750 
+2 1763 1762 
+2 1763 1750 
+2 1764 1763 
+2 1764 1750 
+2 1765 1764 
+2 1765 1750 
+2 1765 1751 
+2 1766 1767 
+2 1769 1768 
+2 1770 1769 
+2 1770 1768 
+2 1771 1770 
+2 1771 1768 
+2 1772 1771 
+2 1772 1768 
+2 1773 1772 
+2 1773 1768 
+2 1774 1773 
+2 1774 1768 
+2 1775 1774 
+2 1775 1768 
+2 1776 1775 
+2 1776 1768 
+2 1777 1776 
+2 1777 1768 
+2 1778 1777 
+2 1778 1768 
+2 1779 1778 
+2 1779 1768 
+2 1780 1779 
+2 1780 1768 
+2 1781 1780 
+2 1781 1768 
+2 1782 1781 
+2 1782 1768 
+2 1783 1782 
+2 1783 1768 
+2 1783 1769 
+2 1784 1785 
+2 1787 1786 
+2 1788 1787 
+2 1788 1786 
+2 1789 1788 
+2 1789 1786 
+2 1790 1789 
+2 1790 1786 
+2 1791 1790 
+2 1791 1786 
+2 1792 1791 
+2 1792 1786 
+2 1793 1792 
+2 1793 1786 
+2 1794 1793 
+2 1794 1786 
+2 1795 1794 
+2 1795 1786 
+2 1796 1795 
+2 1796 1786 
+2 1797 1796 
+2 1797 1786 
+2 1798 1797 
+2 1798 1786 
+2 1799 1798 
+2 1799 1786 
+2 1800 1799 
+2 1800 1786 
+2 1801 1800 
+2 1801 1786 
+2 1801 1787 
+2 1802 1803 
+2 1805 1804 
+2 1806 1805 
+2 1806 1804 
+2 1807 1806 
+2 1807 1804 
+2 1808 1807 
+2 1808 1804 
+2 1809 1808 
+2 1809 1804 
+2 1810 1809 
+2 1810 1804 
+2 1811 1810 
+2 1811 1804 
+2 1812 1811 
+2 1812 1804 
+2 1813 1812 
+2 1813 1804 
+2 1814 1813 
+2 1814 1804 
+2 1815 1814 
+2 1815 1804 
+2 1816 1815 
+2 1816 1804 
+2 1817 1816 
+2 1817 1804 
+2 1818 1817 
+2 1818 1804 
+2 1819 1818 
+2 1819 1804 
+2 1819 1805 
+2 1820 1821 
+2 1823 1822 
+2 1824 1823 
+2 1824 1822 
+2 1825 1824 
+2 1825 1822 
+2 1826 1825 
+2 1826 1822 
+2 1827 1826 
+2 1827 1822 
+2 1828 1827 
+2 1828 1822 
+2 1829 1828 
+2 1829 1822 
+2 1830 1829 
+2 1830 1822 
+2 1831 1830 
+2 1831 1822 
+2 1832 1831 
+2 1832 1822 
+2 1833 1832 
+2 1833 1822 
+2 1834 1833 
+2 1834 1822 
+2 1835 1834 
+2 1835 1822 
+2 1836 1835 
+2 1836 1822 
+2 1837 1836 
+2 1837 1822 
+2 1837 1823 
+2 1838 1839 
+2 1841 1840 
+2 1842 1841 
+2 1842 1840 
+2 1843 1842 
+2 1843 1840 
+2 1844 1843 
+2 1844 1840 
+2 1845 1844 
+2 1845 1840 
+2 1846 1845 
+2 1846 1840 
+2 1847 1846 
+2 1847 1840 
+2 1848 1847 
+2 1848 1840 
+2 1849 1848 
+2 1849 1840 
+2 1850 1849 
+2 1850 1840 
+2 1851 1850 
+2 1851 1840 
+2 1852 1851 
+2 1852 1840 
+2 1853 1852 
+2 1853 1840 
+2 1854 1853 
+2 1854 1840 
+2 1855 1854 
+2 1855 1840 
+2 1855 1841 
+2 1856 1857 
+2 1859 1858 
+2 1860 1859 
+2 1860 1858 
+2 1861 1860 
+2 1861 1858 
+2 1862 1861 
+2 1862 1858 
+2 1863 1862 
+2 1863 1858 
+2 1864 1863 
+2 1864 1858 
+2 1865 1864 
+2 1865 1858 
+2 1866 1865 
+2 1866 1858 
+2 1867 1866 
+2 1867 1858 
+2 1868 1867 
+2 1868 1858 
+2 1869 1868 
+2 1869 1858 
+2 1870 1869 
+2 1870 1858 
+2 1871 1870 
+2 1871 1858 
+2 1872 1871 
+2 1872 1858 
+2 1873 1872 
+2 1873 1858 
+2 1873 1859 
+2 1874 1875 
+2 1877 1876 
+2 1878 1877 
+2 1878 1876 
+2 1879 1878 
+2 1879 1876 
+2 1880 1879 
+2 1880 1876 
+2 1881 1880 
+2 1881 1876 
+2 1882 1881 
+2 1882 1876 
+2 1883 1882 
+2 1883 1876 
+2 1884 1883 
+2 1884 1876 
+2 1885 1884 
+2 1885 1876 
+2 1886 1885 
+2 1886 1876 
+2 1887 1886 
+2 1887 1876 
+2 1888 1887 
+2 1888 1876 
+2 1889 1888 
+2 1889 1876 
+2 1890 1889 
+2 1890 1876 
+2 1891 1890 
+2 1891 1876 
+2 1891 1877 
+2 1892 1893 
+2 1895 1894 
+2 1896 1895 
+2 1896 1894 
+2 1897 1896 
+2 1897 1894 
+2 1898 1897 
+2 1898 1894 
+2 1899 1898 
+2 1899 1894 
+2 1900 1899 
+2 1900 1894 
+2 1901 1900 
+2 1901 1894 
+2 1902 1901 
+2 1902 1894 
+2 1903 1902 
+2 1903 1894 
+2 1904 1903 
+2 1904 1894 
+2 1905 1904 
+2 1905 1894 
+2 1906 1905 
+2 1906 1894 
+2 1907 1906 
+2 1907 1894 
+2 1908 1907 
+2 1908 1894 
+2 1909 1908 
+2 1909 1894 
+2 1909 1895 
+2 1910 1911 
+2 1913 1912 
+2 1914 1913 
+2 1914 1912 
+2 1915 1914 
+2 1915 1912 
+2 1916 1915 
+2 1916 1912 
+2 1917 1916 
+2 1917 1912 
+2 1918 1917 
+2 1918 1912 
+2 1919 1918 
+2 1919 1912 
+2 1920 1919 
+2 1920 1912 
+2 1921 1920 
+2 1921 1912 
+2 1922 1921 
+2 1922 1912 
+2 1923 1922 
+2 1923 1912 
+2 1924 1923 
+2 1924 1912 
+2 1925 1924 
+2 1925 1912 
+2 1926 1925 
+2 1926 1912 
+2 1927 1926 
+2 1927 1912 
+2 1927 1913 
+2 1928 1929 
+2 1931 1930 
+2 1932 1931 
+2 1932 1930 
+2 1933 1932 
+2 1933 1930 
+2 1934 1933 
+2 1934 1930 
+2 1935 1934 
+2 1935 1930 
+2 1936 1935 
+2 1936 1930 
+2 1937 1936 
+2 1937 1930 
+2 1938 1937 
+2 1938 1930 
+2 1939 1938 
+2 1939 1930 
+2 1940 1939 
+2 1940 1930 
+2 1941 1940 
+2 1941 1930 
+2 1942 1941 
+2 1942 1930 
+2 1943 1942 
+2 1943 1930 
+2 1944 1943 
+2 1944 1930 
+2 1945 1944 
+2 1945 1930 
+2 1945 1931 
+2 1946 1947 
+2 1949 1948 
+2 1950 1949 
+2 1950 1948 
+2 1951 1950 
+2 1951 1948 
+2 1952 1951 
+2 1952 1948 
+2 1953 1952 
+2 1953 1948 
+2 1954 1953 
+2 1954 1948 
+2 1955 1954 
+2 1955 1948 
+2 1956 1955 
+2 1956 1948 
+2 1957 1956 
+2 1957 1948 
+2 1958 1957 
+2 1958 1948 
+2 1959 1958 
+2 1959 1948 
+2 1960 1959 
+2 1960 1948 
+2 1961 1960 
+2 1961 1948 
+2 1962 1961 
+2 1962 1948 
+2 1963 1962 
+2 1963 1948 
+2 1963 1949 
+2 1964 1965 
+2 1967 1966 
+2 1968 1967 
+2 1968 1966 
+2 1969 1968 
+2 1969 1966 
+2 1970 1969 
+2 1970 1966 
+2 1971 1970 
+2 1971 1966 
+2 1972 1971 
+2 1972 1966 
+2 1973 1972 
+2 1973 1966 
+2 1974 1973 
+2 1974 1966 
+2 1975 1974 
+2 1975 1966 
+2 1976 1975 
+2 1976 1966 
+2 1977 1976 
+2 1977 1966 
+2 1978 1977 
+2 1978 1966 
+2 1979 1978 
+2 1979 1966 
+2 1980 1979 
+2 1980 1966 
+2 1981 1980 
+2 1981 1966 
+2 1981 1967 
+2 1982 1983 
+2 1985 1984 
+2 1986 1985 
+2 1986 1984 
+2 1987 1986 
+2 1987 1984 
+2 1988 1987 
+2 1988 1984 
+2 1989 1988 
+2 1989 1984 
+2 1990 1989 
+2 1990 1984 
+2 1991 1990 
+2 1991 1984 
+2 1992 1991 
+2 1992 1984 
+2 1993 1992 
+2 1993 1984 
+2 1994 1993 
+2 1994 1984 
+2 1995 1994 
+2 1995 1984 
+2 1996 1995 
+2 1996 1984 
+2 1997 1996 
+2 1997 1984 
+2 1998 1997 
+2 1998 1984 
+2 1999 1998 
+2 1999 1984 
+2 1999 1985 
+2 2000 2001 
+2 2003 2002 
+2 2004 2003 
+2 2004 2002 
+2 2005 2004 
+2 2005 2002 
+2 2006 2005 
+2 2006 2002 
+2 2007 2006 
+2 2007 2002 
+2 2008 2007 
+2 2008 2002 
+2 2009 2008 
+2 2009 2002 
+2 2010 2009 
+2 2010 2002 
+2 2011 2010 
+2 2011 2002 
+2 2012 2011 
+2 2012 2002 
+2 2013 2012 
+2 2013 2002 
+2 2014 2013 
+2 2014 2002 
+2 2015 2014 
+2 2015 2002 
+2 2016 2015 
+2 2016 2002 
+2 2017 2016 
+2 2017 2002 
+2 2017 2003 
+2 2018 2019 
+2 2021 2020 
+2 2022 2021 
+2 2022 2020 
+2 2023 2022 
+2 2023 2020 
+2 2024 2023 
+2 2024 2020 
+2 2025 2024 
+2 2025 2020 
+2 2026 2025 
+2 2026 2020 
+2 2027 2026 
+2 2027 2020 
+2 2028 2027 
+2 2028 2020 
+2 2029 2028 
+2 2029 2020 
+2 2030 2029 
+2 2030 2020 
+2 2031 2030 
+2 2031 2020 
+2 2032 2031 
+2 2032 2020 
+2 2033 2032 
+2 2033 2020 
+2 2034 2033 
+2 2034 2020 
+2 2035 2034 
+2 2035 2020 
+2 2035 2021 
+2 2036 2037 
+2 2039 2038 
+2 2040 2039 
+2 2040 2038 
+2 2041 2040 
+2 2041 2038 
+2 2042 2041 
+2 2042 2038 
+2 2043 2042 
+2 2043 2038 
+2 2044 2043 
+2 2044 2038 
+2 2045 2044 
+2 2045 2038 
+2 2046 2045 
+2 2046 2038 
+2 2047 2046 
+2 2047 2038 
+2 2048 2047 
+2 2048 2038 
+2 2049 2048 
+2 2049 2038 
+2 2050 2049 
+2 2050 2038 
+2 2051 2050 
+2 2051 2038 
+2 2052 2051 
+2 2052 2038 
+2 2053 2052 
+2 2053 2038 
+2 2053 2039 
+2 2054 2055 
+2 2057 2056 
+2 2058 2057 
+2 2058 2056 
+2 2059 2058 
+2 2059 2056 
+2 2060 2059 
+2 2060 2056 
+2 2061 2060 
+2 2061 2056 
+2 2062 2061 
+2 2062 2056 
+2 2063 2062 
+2 2063 2056 
+2 2064 2063 
+2 2064 2056 
+2 2065 2064 
+2 2065 2056 
+2 2066 2065 
+2 2066 2056 
+2 2067 2066 
+2 2067 2056 
+2 2068 2067 
+2 2068 2056 
+2 2069 2068 
+2 2069 2056 
+2 2070 2069 
+2 2070 2056 
+2 2071 2070 
+2 2071 2056 
+2 2071 2057 
+2 2072 2073 
+2 2075 2074 
+2 2076 2075 
+2 2076 2074 
+2 2077 2076 
+2 2077 2074 
+2 2078 2077 
+2 2078 2074 
+2 2079 2078 
+2 2079 2074 
+2 2080 2079 
+2 2080 2074 
+2 2081 2080 
+2 2081 2074 
+2 2082 2081 
+2 2082 2074 
+2 2083 2082 
+2 2083 2074 
+2 2084 2083 
+2 2084 2074 
+2 2085 2084 
+2 2085 2074 
+2 2086 2085 
+2 2086 2074 
+2 2087 2086 
+2 2087 2074 
+2 2088 2087 
+2 2088 2074 
+2 2089 2088 
+2 2089 2074 
+2 2089 2075 
+2 2090 2091 
+2 2093 2092 
+2 2094 2093 
+2 2094 2092 
+2 2095 2094 
+2 2095 2092 
+2 2096 2095 
+2 2096 2092 
+2 2097 2096 
+2 2097 2092 
+2 2098 2097 
+2 2098 2092 
+2 2099 2098 
+2 2099 2092 
+2 2100 2099 
+2 2100 2092 
+2 2101 2100 
+2 2101 2092 
+2 2102 2101 
+2 2102 2092 
+2 2103 2102 
+2 2103 2092 
+2 2104 2103 
+2 2104 2092 
+2 2105 2104 
+2 2105 2092 
+2 2106 2105 
+2 2106 2092 
+2 2107 2106 
+2 2107 2092 
+2 2107 2093 
+2 2108 2109 
+2 2111 2110 
+2 2112 2111 
+2 2112 2110 
+2 2113 2112 
+2 2113 2110 
+2 2114 2113 
+2 2114 2110 
+2 2115 2114 
+2 2115 2110 
+2 2116 2115 
+2 2116 2110 
+2 2117 2116 
+2 2117 2110 
+2 2118 2117 
+2 2118 2110 
+2 2119 2118 
+2 2119 2110 
+2 2120 2119 
+2 2120 2110 
+2 2121 2120 
+2 2121 2110 
+2 2122 2121 
+2 2122 2110 
+2 2123 2122 
+2 2123 2110 
+2 2124 2123 
+2 2124 2110 
+2 2125 2124 
+2 2125 2110 
+2 2125 2111 
+2 2126 2127 
+2 2129 2128 
+2 2130 2129 
+2 2130 2128 
+2 2131 2130 
+2 2131 2128 
+2 2132 2131 
+2 2132 2128 
+2 2133 2132 
+2 2133 2128 
+2 2134 2133 
+2 2134 2128 
+2 2135 2134 
+2 2135 2128 
+2 2136 2135 
+2 2136 2128 
+2 2137 2136 
+2 2137 2128 
+2 2138 2137 
+2 2138 2128 
+2 2139 2138 
+2 2139 2128 
+2 2140 2139 
+2 2140 2128 
+2 2141 2140 
+2 2141 2128 
+2 2142 2141 
+2 2142 2128 
+2 2143 2142 
+2 2143 2128 
+2 2143 2129 
+2 2144 2145 
+2 2147 2146 
+2 2148 2147 
+2 2148 2146 
+2 2149 2148 
+2 2149 2146 
+2 2150 2149 
+2 2150 2146 
+2 2151 2150 
+2 2151 2146 
+2 2152 2151 
+2 2152 2146 
+2 2153 2152 
+2 2153 2146 
+2 2154 2153 
+2 2154 2146 
+2 2155 2154 
+2 2155 2146 
+2 2156 2155 
+2 2156 2146 
+2 2157 2156 
+2 2157 2146 
+2 2158 2157 
+2 2158 2146 
+2 2159 2158 
+2 2159 2146 
+2 2160 2159 
+2 2160 2146 
+2 2161 2160 
+2 2161 2146 
+2 2161 2147 
+2 2162 2163 
+2 2165 2164 
+2 2166 2165 
+2 2166 2164 
+2 2167 2166 
+2 2167 2164 
+2 2168 2167 
+2 2168 2164 
+2 2169 2168 
+2 2169 2164 
+2 2170 2169 
+2 2170 2164 
+2 2171 2170 
+2 2171 2164 
+2 2172 2171 
+2 2172 2164 
+2 2173 2172 
+2 2173 2164 
+2 2174 2173 
+2 2174 2164 
+2 2175 2174 
+2 2175 2164 
+2 2176 2175 
+2 2176 2164 
+2 2177 2176 
+2 2177 2164 
+2 2178 2177 
+2 2178 2164 
+2 2179 2178 
+2 2179 2164 
+2 2179 2165 
+2 2180 2181 
+2 2183 2182 
+2 2184 2183 
+2 2184 2182 
+2 2185 2184 
+2 2185 2182 
+2 2186 2185 
+2 2186 2182 
+2 2187 2186 
+2 2187 2182 
+2 2188 2187 
+2 2188 2182 
+2 2189 2188 
+2 2189 2182 
+2 2190 2189 
+2 2190 2182 
+2 2191 2190 
+2 2191 2182 
+2 2192 2191 
+2 2192 2182 
+2 2193 2192 
+2 2193 2182 
+2 2194 2193 
+2 2194 2182 
+2 2195 2194 
+2 2195 2182 
+2 2196 2195 
+2 2196 2182 
+2 2197 2196 
+2 2197 2182 
+2 2197 2183 
+2 2198 2199 
+2 2201 2200 
+2 2202 2201 
+2 2202 2200 
+2 2203 2202 
+2 2203 2200 
+2 2204 2203 
+2 2204 2200 
+2 2205 2204 
+2 2205 2200 
+2 2206 2205 
+2 2206 2200 
+2 2207 2206 
+2 2207 2200 
+2 2208 2207 
+2 2208 2200 
+2 2209 2208 
+2 2209 2200 
+2 2210 2209 
+2 2210 2200 
+2 2211 2210 
+2 2211 2200 
+2 2212 2211 
+2 2212 2200 
+2 2213 2212 
+2 2213 2200 
+2 2214 2213 
+2 2214 2200 
+2 2215 2214 
+2 2215 2200 
+2 2215 2201 
+2 2216 2217 
+2 2219 2218 
+2 2220 2219 
+2 2220 2218 
+2 2221 2220 
+2 2221 2218 
+2 2222 2221 
+2 2222 2218 
+2 2223 2222 
+2 2223 2218 
+2 2224 2223 
+2 2224 2218 
+2 2225 2224 
+2 2225 2218 
+2 2226 2225 
+2 2226 2218 
+2 2227 2226 
+2 2227 2218 
+2 2228 2227 
+2 2228 2218 
+2 2229 2228 
+2 2229 2218 
+2 2230 2229 
+2 2230 2218 
+2 2231 2230 
+2 2231 2218 
+2 2232 2231 
+2 2232 2218 
+2 2233 2232 
+2 2233 2218 
+2 2233 2219 
+2 2234 2235 
+2 2237 2236 
+2 2238 2237 
+2 2238 2236 
+2 2239 2238 
+2 2239 2236 
+2 2240 2239 
+2 2240 2236 
+2 2241 2240 
+2 2241 2236 
+2 2242 2241 
+2 2242 2236 
+2 2243 2242 
+2 2243 2236 
+2 2244 2243 
+2 2244 2236 
+2 2245 2244 
+2 2245 2236 
+2 2246 2245 
+2 2246 2236 
+2 2247 2246 
+2 2247 2236 
+2 2248 2247 
+2 2248 2236 
+2 2249 2248 
+2 2249 2236 
+2 2250 2249 
+2 2250 2236 
+2 2251 2250 
+2 2251 2236 
+2 2251 2237 
+2 2252 2253 
+2 2255 2254 
+2 2256 2255 
+2 2256 2254 
+2 2257 2256 
+2 2257 2254 
+2 2258 2257 
+2 2258 2254 
+2 2259 2258 
+2 2259 2254 
+2 2260 2259 
+2 2260 2254 
+2 2261 2260 
+2 2261 2254 
+2 2262 2261 
+2 2262 2254 
+2 2263 2262 
+2 2263 2254 
+2 2264 2263 
+2 2264 2254 
+2 2265 2264 
+2 2265 2254 
+2 2266 2265 
+2 2266 2254 
+2 2267 2266 
+2 2267 2254 
+2 2268 2267 
+2 2268 2254 
+2 2269 2268 
+2 2269 2254 
+2 2269 2255 
+2 2270 2271 
+2 2273 2272 
+2 2274 2273 
+2 2274 2272 
+2 2275 2274 
+2 2275 2272 
+2 2276 2275 
+2 2276 2272 
+2 2277 2276 
+2 2277 2272 
+2 2278 2277 
+2 2278 2272 
+2 2279 2278 
+2 2279 2272 
+2 2280 2279 
+2 2280 2272 
+2 2281 2280 
+2 2281 2272 
+2 2282 2281 
+2 2282 2272 
+2 2283 2282 
+2 2283 2272 
+2 2284 2283 
+2 2284 2272 
+2 2285 2284 
+2 2285 2272 
+2 2286 2285 
+2 2286 2272 
+2 2287 2286 
+2 2287 2272 
+2 2287 2273 
+
+POLYGONS 264 1056
+3 2290 2289 2288 
+3 2290 2288 2291 
+3 2313 2312 2338 
+3 2313 2338 2339 
+3 2313 2339 2340 
+3 2314 2313 2340 
+3 2294 2319 2320 
+3 2294 2320 2321 
+3 2315 2314 2340 
+3 2294 2292 2319 
+3 2315 2340 2341 
+3 2295 2294 2321 
+3 2316 2341 2342 
+3 2316 2315 2341 
+3 2296 2321 2322 
+3 2317 2316 2342 
+3 2296 2322 2323 
+3 2296 2295 2321 
+3 2317 2342 2343 
+3 2317 2343 2318 
+3 2293 2317 2318 
+3 2297 2296 2323 
+3 2298 2323 2324 
+3 2298 2297 2323 
+3 2299 2324 2325 
+3 2299 2298 2324 
+3 2300 2325 2326 
+3 2300 2326 2327 
+3 2300 2299 2325 
+3 2301 2300 2327 
+3 2302 2327 2328 
+3 2302 2328 2329 
+3 2302 2301 2327 
+3 2303 2302 2329 
+3 2304 2329 2330 
+3 2304 2330 2331 
+3 2304 2303 2329 
+3 2305 2304 2331 
+3 2306 2305 2331 
+3 2306 2331 2332 
+3 2307 2306 2332 
+3 2307 2332 2333 
+3 2308 2307 2333 
+3 2308 2333 2334 
+3 2309 2308 2334 
+3 2309 2334 2335 
+3 2309 2335 2336 
+3 2310 2309 2336 
+3 2311 2310 2336 
+3 2311 2336 2337 
+3 2312 2311 2337 
+3 2312 2337 2338 
+3 2365 2364 2390 
+3 2365 2390 2391 
+3 2365 2391 2392 
+3 2366 2365 2392 
+3 2346 2371 2372 
+3 2346 2344 2371 
+3 2367 2366 2392 
+3 2367 2392 2393 
+3 2367 2393 2394 
+3 2347 2372 2373 
+3 2347 2346 2372 
+3 2368 2367 2394 
+3 2348 2373 2374 
+3 2369 2368 2394 
+3 2348 2374 2375 
+3 2369 2394 2395 
+3 2348 2347 2373 
+3 2369 2395 2370 
+3 2345 2369 2370 
+3 2349 2348 2375 
+3 2350 2375 2376 
+3 2350 2376 2377 
+3 2350 2349 2375 
+3 2351 2377 2378 
+3 2351 2350 2377 
+3 2352 2351 2378 
+3 2353 2378 2379 
+3 2353 2352 2378 
+3 2354 2379 2380 
+3 2354 2353 2379 
+3 2355 2380 2381 
+3 2355 2354 2380 
+3 2356 2381 2382 
+3 2356 2355 2381 
+3 2357 2356 2382 
+3 2357 2382 2383 
+3 2358 2357 2383 
+3 2358 2383 2384 
+3 2359 2358 2384 
+3 2359 2384 2385 
+3 2360 2359 2385 
+3 2360 2385 2386 
+3 2361 2360 2386 
+3 2361 2386 2387 
+3 2362 2361 2387 
+3 2362 2387 2388 
+3 2363 2362 2388 
+3 2363 2388 2389 
+3 2364 2363 2389 
+3 2364 2389 2390 
+3 2397 2399 2398 
+3 2397 2396 2399 
+3 2401 2403 2402 
+3 2401 2400 2403 
+3 2405 2407 2406 
+3 2405 2404 2407 
+3 2409 2411 2410 
+3 2409 2408 2411 
+3 2413 2415 2414 
+3 2413 2412 2415 
+3 2435 2419 2436 
+3 2437 2436 2419 
+3 2434 2419 2435 
+3 2438 2437 2419 
+3 2418 2434 2433 
+3 2418 2419 2434 
+3 2439 2419 2416 
+3 2439 2438 2419 
+3 2432 2418 2433 
+3 2440 2439 2416 
+3 2431 2418 2432 
+3 2441 2440 2416 
+3 2430 2418 2431 
+3 2442 2441 2416 
+3 2429 2418 2430 
+3 2443 2442 2416 
+3 2428 2418 2429 
+3 2444 2443 2416 
+3 2427 2418 2428 
+3 2426 2418 2427 
+3 2417 2421 2420 
+3 2417 2422 2421 
+3 2417 2423 2422 
+3 2417 2424 2423 
+3 2417 2425 2424 
+3 2417 2426 2425 
+3 2417 2420 2444 
+3 2417 2444 2416 
+3 2417 2418 2426 
+3 2448 2445 2447 
+3 2446 2445 2448 
+3 2452 2450 2449 
+3 2452 2449 2451 
+3 2456 2453 2455 
+3 2454 2453 2456 
+3 2458 2457 2459 
+3 2458 2459 2460 
+3 2462 2475 2474 
+3 2475 2461 2476 
+3 2476 2461 2477 
+3 2465 2463 2464 
+3 2484 2465 2485 
+3 2486 2485 2465 
+3 2483 2463 2465 
+3 2483 2465 2484 
+3 2487 2486 2465 
+3 2482 2461 2463 
+3 2482 2463 2483 
+3 2488 2465 2466 
+3 2488 2487 2465 
+3 2481 2461 2482 
+3 2489 2488 2466 
+3 2480 2461 2481 
+3 2490 2489 2466 
+3 2479 2461 2480 
+3 2491 2490 2466 
+3 2478 2461 2479 
+3 2492 2491 2466 
+3 2477 2461 2478 
+3 2468 2466 2467 
+3 2468 2493 2492 
+3 2468 2492 2466 
+3 2462 2470 2469 
+3 2462 2471 2470 
+3 2462 2472 2471 
+3 2462 2473 2472 
+3 2462 2474 2473 
+3 2462 2469 2493 
+3 2462 2493 2468 
+3 2462 2461 2475 
+3 2513 2494 2514 
+3 2515 2514 2494 
+3 2516 2515 2494 
+3 2495 2512 2511 
+3 2495 2513 2512 
+3 2495 2494 2513 
+3 2517 2494 2496 
+3 2517 2516 2494 
+3 2510 2495 2511 
+3 2518 2517 2496 
+3 2509 2495 2510 
+3 2519 2518 2496 
+3 2508 2495 2509 
+3 2520 2519 2496 
+3 2507 2495 2508 
+3 2506 2495 2507 
+3 2505 2495 2506 
+3 2504 2495 2505 
+3 2497 2499 2498 
+3 2497 2500 2499 
+3 2497 2501 2500 
+3 2497 2502 2501 
+3 2497 2503 2502 
+3 2497 2504 2503 
+3 2497 2521 2520 
+3 2497 2522 2521 
+3 2497 2498 2522 
+3 2497 2520 2496 
+3 2497 2495 2504 
+3 2536 2538 2537 
+3 2536 2539 2538 
+3 2536 2540 2539 
+3 2536 2541 2540 
+3 2536 2542 2541 
+3 2536 2537 2535 
+3 2533 2529 2530 
+3 2533 2535 2529 
+3 2534 2542 2536 
+3 2525 2524 2523 
+3 2527 2525 2526 
+3 2531 2533 2530 
+3 2532 2534 2533 
+3 2532 2533 2531 
+3 2532 2542 2534 
+3 2528 2525 2527 
+3 2532 2524 2543 
+3 2532 2543 2542 
+3 2543 2524 2544 
+3 2544 2524 2545 
+3 2552 2525 2528 
+3 2552 2528 2553 
+3 2554 2553 2528 
+3 2551 2525 2552 
+3 2555 2554 2528 
+3 2550 2525 2551 
+3 2556 2528 2529 
+3 2556 2555 2528 
+3 2549 2524 2525 
+3 2549 2525 2550 
+3 2557 2556 2529 
+3 2548 2524 2549 
+3 2558 2557 2529 
+3 2547 2524 2548 
+3 2559 2558 2529 
+3 2546 2524 2547 
+3 2545 2524 2546 
+3 2535 2560 2559 
+3 2535 2561 2560 
+3 2535 2537 2561 
+3 2535 2559 2529 
+3 2565 2563 2562 
+3 2565 2562 2564 
+3 2569 2567 2566 
+3 2569 2566 2568 
+3 2572 2574 2573 
+3 2572 2575 2574 
+3 2571 2572 2570 
+3 2571 2575 2572 
+3 2578 2581 2580 
+3 2578 2576 2581 
+3 2579 2578 2580 
+3 2577 2576 2578 
+
diff --git a/src/TEST_PY/cas_2013/cas_2013.py b/src/TEST_PY/cas_2013/cas_2013.py
new file mode 100755 (executable)
index 0000000..3a886f1
--- /dev/null
@@ -0,0 +1,186 @@
+# !/bin/python
+# -*- coding: latin-1 -*-
+# Copyright (C) 2009-2014  CEA/DEN, EDF R&D
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+#
+# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+#
+
+# Hexa : Creation d'hexaedres 
+
+import hexablock
+import os
+
+#---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8
+
+doc  = hexablock.addDocument ("default")
+vx   = doc.addVector (1,0,0)
+vy   = doc.addVector (0,1,0)
+vz   = doc.addVector (0,0,1)
+
+vxy  = doc.addVector (1,1,0)
+
+nbr_files = 0
+
+
+# ======================================================= save_vtk
+def save_vtk () :
+
+    global nbr_files
+    nom = "lecas%d.vtk" % nbr_files
+    nbr_files += 1
+    doc.saveVtk (nom)
+
+# ======================================================= carre
+def carre (x) :
+    return x*x
+
+# ======================================================= get_center
+def get_center (quad) :
+    px = 0
+    py = 0
+    pz = 0
+    for nv in range (4) :
+        vertex = quad.getVertex (nv) 
+        px += vertex.getX() / 4
+        py += vertex.getY() / 4
+        pz += vertex.getZ() / 4
+    return [ px, py, pz ]
+# ======================================================= nearest
+def nearest (grid, vertex) :
+    nbre = grid.countVertex()
+    dmin   = 1e+6
+    result = None
+    px = vertex.getX()
+    py = vertex.getY()
+    pz = vertex.getZ()
+    for nro in range (nbre) :
+        v1 = grid.getVertex (nro)
+        d2 = carre(px-v1.getX()) + carre(py-v1.getY()) + carre(pz-v1.getZ()) 
+        if (d2 < dmin) :
+           result = v1
+           dmin   = d2
+
+    print  vertex.getName () , px, py, pz, " -> ", result.getName()
+    return result
+
+# ======================================================= nearest_quad
+def nearest_quad (grid, quad) :
+    dmin   = 1e+16
+    result = None
+    [ox, oy, oz]   = get_center (quad)
+    nbre   = grid.countQuad ()
+    for nro in range (nbre) :
+        q1  = grid.getQuad (nro)
+        if q1 != None :
+           [px, py, pz] = get_center (q1)
+           d2 = carre(px-ox) + carre(py-oy) + carre(pz-oz) 
+           if (d2 < dmin) :
+              result = q1
+              dmin   = d2
+
+    print  quad.getName () , px, py, pz, " -> ", result.getName()
+    return result
+
+# ======================================================= insert_cylinder
+def insert_cylinder (plaque, nx, ny) :
+
+    hexa   = plaque.getHexaIJK (nx,   ny,   0)
+    xmin =  666  ;   ymin = xmin ;   zmin = xmin
+    xmax = -666  ;   ymax = xmax ;   zmax = xmax
+
+    tabv1 = []
+    for nv in range (8) :
+        node = hexa.getVertex (nv)
+        xmin = min (xmin, node.getX())   ;  xmax = max (xmax, node.getX())
+        ymin = min (ymin, node.getY())   ;  ymax = max (ymax, node.getY())
+        zmin = min (zmin, node.getZ())   ;  zmax = max (zmax, node.getZ())
+        tabv1.append (node)
+        
+    doc.removeHexa (hexa)
+    save_vtk ()
+
+    dx    = (xmax - xmin)/2
+    dz    = (zmax - zmin)/2
+    xorig = (xmin + xmax)/2 
+    yorig = (ymin + ymax)/2 
+    zorig = (zmin + zmax)/2 - dz
+
+    orig = doc.addVertex (xorig, yorig, zorig)
+    nr = 1
+    na = 4
+    nh = 1
+    rext  = dx
+    rint  = rext/2
+    haut  = 1
+    angle = 360
+    pipe  = doc.makePipeUni (orig, vxy,vz, rint,rext,angle,haut, nr,na,nh)
+
+    hexablock.what () 
+
+    tabquad  = []
+    tabv0 = []
+    for nq in range (4) :
+        quad = pipe.getQuadJK (1, nq, 0)
+        tabquad.append (quad)
+
+    print  " .. tabquad[0] = ", tabquad[0].getName ()
+    cible = nearest_quad (plaque, tabquad[0])
+    tabquad[0]. setColor (5)
+    cible . setColor (5)
+    save_vtk ()
+
+    va1   = tabquad[0].getVertex (0)
+    va2   = tabquad[0].getVertex (1)
+    vb1   = cible.nearestVertex  (va1)
+    vb2   = cible.nearestVertex  (va2)
+    doc.setLevel (1)
+    doc.joinQuadsUni (tabquad, cible, va1, vb1, va2, vb2, 1)
+    hexablock.what () 
+    save_vtk ()
+
+    return
+    doc.setLevel (1)
+    for nv in range (8) :
+        ier = doc.mergeVertices (tabv0[nv], tabv1[nv])
+        print "ier = ", ier
+        save_vtk ()
+
+
+# ======================================================= test_2013
+def test_2013 () :
+
+    orig = doc.addVertex (0,0,0)
+
+    lx  = 3
+    ly  = lx
+    lz  = 1
+    nx  = 3
+    ny  = nx
+    nz  = 1
+
+    plaque = doc.makeCartesianUni (orig, vx,vy,vz, lx, ly, lz, nx,ny,nz)
+    save_vtk ()
+
+    insert_cylinder (plaque, 1, 1)
+    return doc
+
+# ================================================================= Begin
+
+doc = test_2013  ()
+doc.addLaws (0.1, True)
+
+mesh_hexas = hexablock.mesh (doc)
diff --git a/src/TEST_PY/cas_2013/make_pave.py b/src/TEST_PY/cas_2013/make_pave.py
new file mode 100644 (file)
index 0000000..9615635
--- /dev/null
@@ -0,0 +1,256 @@
+# !/bin/python
+# -*- coding: latin-1 -*-
+# Copyright (C) 2009-2014  CEA/DEN, EDF R&D
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+#
+# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+#
+
+# Hexa : Creation d'hexaedres 
+
+import hexablock
+geompy = hexablock.geompy
+## import os
+## import math
+
+nbr_fic   = 0
+the_name  = "pave_troue"
+the_doc   = None
+the_grid  = None
+                       ## Constantes
+Epsilon  = 1e-3
+BadIndex = -1
+DirX = 0
+DirY = 1
+DirZ = 2
+X    = 100000.0
+X0   = X-1
+HOK  = 0
+HERR = 1
+YES  = 1
+NO   = 0
+BOF  = -1
+                       ## Parametrage
+db             = True
+maillage_actif = True
+
+# ======================================================= save_vtk
+def save_vtk () :
+
+    global nbr_fic
+    nbr_fic += 1
+    filename = "%s_%02d.vtk" % (the_name,nbr_fic)
+    the_doc.saveVtk (filename)
+
+
+# ======================================================= make_toit
+def make_toit () :
+
+    ichem  = 5
+    jchem  = 3
+
+    for ni in range (imax) :
+        for nj in range (jmax) :
+            if ni != ichem or nj != jchem :
+               the_doc.removeHexa (the_grid.getHexaIJK (ni,nj,kmax))
+
+# ======================================================= make_trou1
+def make_trou1 () :
+
+    ic1   = 2
+    jc1   = 2
+    nc1   = 3
+
+    for ni in range (nc1) :
+        for nj in range (nc1) :
+            for nk in range (kmax) :
+                the_doc.removeHexa (the_grid.getHexaIJK (ic1+ni, jc1+nj, nk))
+
+    xc1   = 65
+    yc1   = 25
+    orig1 = the_doc.addVertex (xc1, yc1, 0)
+    vxy   = the_doc.addVector (1,1,0)
+
+    rayon  = 5
+    rext   = 8
+    nbsect = 12
+    theta    = 360.0 / nbsect
+    cyl1_ray = [ rayon, rext]
+    cyl1_ang = []
+    for na in range (nbsect+1) :
+        cyl1_ang.append (na*theta)
+    cyl1_h = tab_z
+    cyl1_h.pop()
+    cyl1_h.insert (0,0)
+    cyl1 = the_doc.makePipe (orig1, vxy, vz, cyl1_ray, cyl1_ang, cyl1_h)
+
+                     ### Test visu
+
+    va1 = cyl1    .getVertexIJK (1,         1,       0)
+    va2 = cyl1    .getVertexIJK (1,         1,       1)
+    vc1 = the_grid.getVertexIJK (ic1+nc1-1, jc1+nc1, 0)
+    vc2 = the_grid.getVertexIJK (ic1+nc1-1, jc1+nc1, 1)
+
+    cible = the_grid.getQuadIK (ic1+2, jc1+nc1, 0)
+    tab_quads = []
+    for nk in range (len(cyl1_h)-1) :
+        for nj in range (len(cyl1_ang)-1) :
+            tab_quads.append (cyl1.getQuadJK (1, nj, nk))
+
+    if db :
+       va1.setColor (5)
+       vc1.setColor (5)
+       save_vtk ()
+
+       va2.setColor (5)
+       vc2.setColor (5)
+       save_vtk ()
+
+       cible.setColor        (5)
+       tab_quads[0].setColor (5)
+       save_vtk ()
+                     ### Jointure 
+
+    the_doc.joinQuadsUni (tab_quads, cible, va1, vc1, va2, vc2, 1)
+    hexablock.what () 
+    return cyl1
+
+# ======================================================= make_trou2
+def make_trou2 () :
+
+    ic2   = 7
+    kc2   = 1
+    for nj in range (jmax) :
+        the_doc.removeHexa (the_grid.getHexaIJK (ic2, nj, kc2))
+
+    xc2   = 105
+    zc2   = 20
+    orig2 = the_doc.addVertex (xc2, 0, zc2)
+    vxz   = the_doc.addVector (1,0,1)
+
+    rayon  = 5
+    rext   = 8
+    nbsect = 4
+    theta  = 360.0 / nbsect
+    cyl2_ray = [ rayon, rext]
+    cyl2_ang = []
+    for na in range (nbsect+1) :
+        cyl2_ang.append (na*theta)
+    cyl2_h = tab_y
+    cyl2_h.insert (0,0)
+    cyl2 = the_doc.makePipe (orig2, vxz, vy, cyl2_ray, cyl2_ang, cyl2_h)
+                     ### Test visu
+
+    va1 = cyl2    .getVertexIJK (1,     0, 0)
+    va2 = cyl2    .getVertexIJK (1,     0, 1)
+    vc1 = the_grid.getVertexIJK (ic2+1, 0, kc2+1)
+    vc2 = the_grid.getVertexIJK (ic2+1, 1, kc2+1)
+
+    cible = the_grid.getQuadJK (ic2+1, 0, kc2)
+    tab_quads = []
+    for nk in range (len(cyl2_h)-1) :
+        for nj in range (len(cyl2_ang)-1) :
+            tab_quads.append (cyl2.getQuadJK (1, nj, nk))
+
+    if db :
+       va1.setColor (5)
+       vc1.setColor (5)
+       save_vtk ()
+
+       va2.setColor (5)
+       vc2.setColor (5)
+       save_vtk ()
+
+       cible.setColor        (5)
+       tab_quads[0].setColor (5)
+       save_vtk ()
+                     ### Jointure 
+
+    the_doc.joinQuadsUni (tab_quads, cible, va1, vc1, va2, vc2, 1)
+    hexablock.what () 
+    return cyl2
+
+# ======================================================= trait_vertical
+def trait_vertical () :
+
+    ivert  = 3
+    for nk in range (kmax) :
+        for nj in range (2) :
+            the_doc.removeHexa (the_grid.getHexaIJK (ivert,nj,nk))
+
+# ================================================================= make_pave
+def make_pave () :
+
+    global the_doc, the_grid, tab_y, tab_z, vz, vy
+
+    the_doc  = hexablock.addDocument (the_name)
+    vx   = the_doc.addVector (1,0,0)
+    vy   = the_doc.addVector (0,1,0)
+    vz   = the_doc.addVector (0,0,1)
+    orig = the_doc.addVertex (0, 0, 0)
+    orig.setColor (5)
+
+    tab_x = [50, 62.5, 67.5, 70, 75, 85, 105, 120]
+    tab_y = [10, 15, 22.5, 25, 27.5, 40]
+    tab_z = [25, 40, 50, 53]
+                                            ### Modifs 
+    tab_x  = [50, 55, 62.5, 67.5, 75, 85, 95, 115, 120]
+    tab_y  = [10, 15, 22.5, 27.5, 35, 40]
+    tab_z  = [10, 30, 40, 50, 53]
+
+    rayon = 5
+
+    the_grid = the_doc.makeCartesian (orig, vx, vy, vz, tab_x, tab_y, tab_z)
+    save_vtk ()
+
+    global imax,  jmax,  kmax 
+    imax = len (tab_x)
+    jmax = len (tab_y)
+    kmax = len (tab_z) - 1
+
+    make_toit ()
+
+    the_doc.removeHexa (the_grid.getHexaIJK (0,0,kmax-1))
+
+                                   ###    Trou 1
+    make_trou1 ()
+    save_vtk ()
+                                   ###    Trou 2
+    make_trou2 ()
+    save_vtk ()
+                                ### Les trous
+                                ### Maillage
+    trait_vertical ()
+
+    if maillage_actif :
+       print "  ________________________ Maillage"
+       the_doc.addLaws (2, True)
+       mesh_hexas = hexablock.mesh(the_doc)
+
+    the_doc.purge ()
+    the_doc.save (the_name)
+    save_vtk ()
+    save_vtk ()
+    save_vtk ()
+    save_vtk ()
+    save_vtk ()
+    return the_doc
+
+# ================================================================= Begin
+doc = make_pave  ()
+
+
+
index 9498074d8f600b075c035c6de36b9e964ffe4497..4e320518c0f74b50395d9f7b324f97a4b2c2504c 100644 (file)
@@ -1,10 +1,10 @@
 # -*- coding: latin-1 -*-
-# Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+# Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
 # License as published by the Free Software Foundation; either
-# version 2.1 of the License.
+# version 2.1 of the License, or (at your option) any later version.
 #
 # This library is distributed in the hope that it will be useful,
 # but WITHOUT ANY WARRANTY; without even the implied warranty of
index df277c4b9498d9affb74b1ffb02612da51714945..3b5eb52ab115b947cc28bc9232a2dd38eddf601a 100644 (file)
@@ -1,10 +1,10 @@
 # -*- coding: latin-1 -*-
-# Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+# Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
 # License as published by the Free Software Foundation; either
-# version 2.1 of the License.
+# version 2.1 of the License, or (at your option) any later version.
 #
 # This library is distributed in the hope that it will be useful,
 # but WITHOUT ANY WARRANTY; without even the implied warranty of
 # =============================================================================================
 
 import math
-
-import geompy
 import hexablock
 
+### import geompy
+geompy = hexablock.geompy
+
+
 # Construire le modele de bloc
 # ============================
 
index 218ccc3ca7e90405cdb77f0e811d0f9d1f6e03ad..d0fd7574769100e39db275c87d3530f6799c9a60 100644 (file)
@@ -1,10 +1,10 @@
-# -*- coding: latin-1 -*-\r
-# Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+# -*- coding: latin-1 -*-
+# Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
 # License as published by the Free Software Foundation; either
-# version 2.1 of the License.
+# version 2.1 of the License, or (at your option) any later version.
 #
 # This library is distributed in the hope that it will be useful,
 # but WITHOUT ANY WARRANTY; without even the implied warranty of
 #
 # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 #
-\r
-# Francis KLOSS - 2011-2013 - CEA-Saclay, DEN, DM2S, SFME, LGLS, F-91191 Gif-sur-Yvette, France\r
-# =============================================================================================\r
-\r
-import math\r
-\r
-import geompy\r
-import hexablock\r
-\r
-# Charger la géométrie\r
-# ====================\r
-\r
-nom = "cuve"\r
-\r
-cuve = geompy.ImportBREP(nom+".brep")\r
-\r
-# Sélectionner des sommets de la géométrie\r
-# -----------------------------------------\r
-\r
-sommets = geompy.SubShapeAllSortedCentres(cuve, geompy.ShapeType["VERTEX"])\r
-\r
-coin_a = sommets[ 4]\r
-coin_b = sommets[43]\r
-coin_c = sommets[62]\r
-coin_d = sommets[15]\r
-\r
-support_a_o = sommets[ 3]\r
-support_a_x = sommets[ 8]\r
-support_a_y = sommets[ 6]\r
-support_a_d = sommets[10]\r
-\r
-support_b_o = sommets[42]\r
-support_b_x = sommets[36]\r
-support_b_y = sommets[47]\r
-support_b_d = sommets[38]\r
-\r
-support_c_o = sommets[61]\r
-support_c_x = sommets[51]\r
-support_c_y = sommets[59]\r
-support_c_d = sommets[49]\r
-\r
-support_d_o = sommets[14]\r
-support_d_x = sommets[19]\r
-support_d_y = sommets[12]\r
-support_d_d = sommets[17]\r
-\r
-coin_x1, coin_y1, coin_z1 = geompy.PointCoordinates(sommets[ 2])\r
-coin_x2, coin_y2, coin_z2 = geompy.PointCoordinates(support_a_d)\r
-coin_x3, coin_y3, coin_z3 = geompy.PointCoordinates(support_a_o)\r
-coin_x4, coin_y4, coin_z4 = geompy.PointCoordinates(coin_c)\r
-\r
-base_x, base_y, base_z = geompy.PointCoordinates(sommets[52])\r
-oppo_x, oppo_y, oppo_z = geompy.PointCoordinates(sommets[57])\r
-\r
-# Sélectionner des arêtes de la géométrie\r
-# ---------------------------------------\r
-\r
-aretes = geompy.SubShapeAllSortedCentres(cuve, geompy.ShapeType["EDGE"])\r
-\r
-interne0, interne_x, interne_y, interne_z,  interne_dx, interne_dy, interne_dz,  interne_rayon = geompy.KindOfShape(aretes[48])\r
-externe0, externe_x, externe_y, externe_z,  externe_dx, externe_dy, externe_dz,  externe_rayon = geompy.KindOfShape(aretes[49])\r
-\r
-cote_a = aretes[41]\r
-cote_b = aretes[91]\r
-cote_c = aretes[59]\r
-cote_d = aretes[12]\r
-\r
-piquage_1_int = aretes[  0]\r
-piquage_1_ext = aretes[  1]\r
-piquage_1_feb = aretes[ 36]\r
-piquage_1_feh = aretes[ 38]\r
-piquage_1_eeb = aretes[ 33]\r
-piquage_1_eeh = aretes[ 37]\r
-piquage_1_eib = aretes[ 34]\r
-piquage_1_eih = aretes[ 35]\r
-\r
-piquage_2_int = aretes[103]\r
-piquage_2_ext = aretes[104]\r
-piquage_2_feg = aretes[ 68]\r
-piquage_2_fed = aretes[ 73]\r
-piquage_2_eeg = aretes[ 79]\r
-piquage_2_eed = aretes[ 88]\r
-piquage_2_eig = aretes[ 80]\r
-piquage_2_eid = aretes[ 89]\r
-\r
-support_l, support_a, support_v = geompy.BasicProperties(aretes[43])\r
-cote_lgr, cote_aire, cote_vol   = geompy.BasicProperties(cote_a)\r
-\r
-# Sélectionner des faces de la géométrie\r
-# --------------------------------------\r
-\r
-faces = geompy.SubShapeAllSortedCentres(cuve, geompy.ShapeType["FACE"])\r
-\r
-face_cylindrique_int = faces[21]\r
-face_cylindrique_ext = faces[22]\r
-\r
-# Construire le modèle de blocs\r
-# =============================\r
-\r
-# Créer le document\r
-# -----------------\r
-\r
-doc = hexablock.addDocument(nom)\r
-\r
-# Calculer l'angle défini par le centre de la cuve et 2 points (projeté dans le plan XY)\r
-# --------------------------------------------------------------------------------------\r
-\r
-centre_cuve = geompy.MakeVertex(externe_x, externe_y, 0)\r
-\r
-def calculer_angle(point1, point2):\r
-  x1, y1, z1 = geompy.PointCoordinates(point1)\r
-  x2, y2, z2 = geompy.PointCoordinates(point2)\r
-\r
-  p1 = geompy.MakeVertex(x1, y1, 0)\r
-  p2 = geompy.MakeVertex(x2, y2, 0)\r
-\r
-  a1 = geompy.MakeEdge(centre_cuve, p1)\r
-  a2 = geompy.MakeEdge(centre_cuve, p2)\r
-\r
-  return geompy.GetAngle(a1, a2)\r
-\r
-# Construire les 8 points de la grille\r
-# ------------------------------------\r
-\r
-p1_int0, p1_int_x, p1_int_y, p1_int_z,  p1_int_dx, p1_int_dy, p1_int_dz,  p1_int_rayon = geompy.KindOfShape(piquage_1_int)\r
-p2_int0, p2_int_x, p2_int_y, p2_int_z,  p2_int_dx, p2_int_dy, p2_int_dz,  p2_int_rayon = geompy.KindOfShape(piquage_2_int)\r
-\r
-p1_int_c = geompy.MakeVertex(p1_int_x, p1_int_y, p1_int_z)\r
-p2_int_c = geompy.MakeVertex(p2_int_x, p2_int_y, p2_int_z)\r
-\r
-p1_int_e = geompy.MakePrismDXDYDZ2Ways(p1_int_c, p1_int_dx*cote_lgr, p1_int_dy*cote_lgr, p1_int_dz*cote_lgr)\r
-p2_int_e = geompy.MakePrismDXDYDZ2Ways(p2_int_c, p2_int_dx*cote_lgr, p2_int_dy*cote_lgr, p2_int_dz*cote_lgr)\r
-\r
-plan_2 = geompy.MakePrismDXDYDZ(p1_int_e, +cote_lgr, +cote_lgr, -cote_lgr)\r
-plan_3 = geompy.MakePrismDXDYDZ(p1_int_e, -cote_lgr, -cote_lgr, -cote_lgr)\r
-\r
-plan_7 = geompy.MakePrismDXDYDZ(p2_int_e, 0, -cote_lgr, -cote_lgr)\r
-plan_8 = geompy.MakePrismDXDYDZ(p2_int_e, 0, +cote_lgr, -cote_lgr)\r
-\r
-part_2 = geompy.MakePartition([piquage_1_eeb], [plan_2], [], [], geompy.ShapeType["VERTEX"])\r
-part_3 = geompy.MakePartition([piquage_1_eeb], [plan_3], [], [], geompy.ShapeType["VERTEX"])\r
-\r
-part_7 = geompy.MakePartition([piquage_2_feg], [plan_7], [], [], geompy.ShapeType["VERTEX"])\r
-part_8 = geompy.MakePartition([piquage_2_fed], [plan_8], [], [], geompy.ShapeType["VERTEX"])\r
-\r
-point_1 = coin_c\r
-point_2 = geompy.SubShapeAllSortedCentres(part_2, geompy.ShapeType["VERTEX"])[1]\r
-point_3 = geompy.SubShapeAllSortedCentres(part_3, geompy.ShapeType["VERTEX"])[1]\r
-point_4 = geompy.MakeVertexOnCurve(cote_d, 0.55)\r
-point_5 = coin_a\r
-point_6 = coin_b\r
-point_7 = geompy.SubShapeAllSortedCentres(part_7, geompy.ShapeType["VERTEX"])[0]\r
-point_8 = geompy.SubShapeAllSortedCentres(part_8, geompy.ShapeType["VERTEX"])[2]\r
-\r
-# Construire la grille cylindrique\r
-# --------------------------------\r
-\r
-grille_hauteur = coin_z4-coin_z2\r
-\r
-centre = doc.addVertex(externe_x, externe_y, externe_z-grille_hauteur)\r
-\r
-grille_x = doc.addVector(1, 1, 0)\r
-grille_z = doc.addVector(0, 0, 1)\r
-\r
-petit_rayon = interne_rayon * 0.2\r
-grand_rayon = math.sqrt( (coin_x1-externe_x)**2 + (coin_y1-externe_y)**2 )\r
-\r
-rayons = [ petit_rayon, interne_rayon-petit_rayon, externe_rayon-interne_rayon, grand_rayon-externe_rayon ]\r
-\r
-points = [ point_1, point_2, point_3, point_4, point_5, point_6, point_7, point_8, point_1 ]\r
-\r
-angles = []\r
-for i in xrange(8):\r
-  angle = calculer_angle(points[i], points[i+1])\r
-  angles.append(angle)\r
-\r
-hauteurs = [ grille_hauteur ]\r
-\r
-grille = doc.makeCylindricals(centre, grille_x, grille_z, rayons, angles, hauteurs, False)\r
-\r
-# Ajouter le centre\r
-# -----------------\r
-\r
-quad_0 = grille.getQuadJK(0, 7, 0)\r
-quad_6 = grille.getQuadJK(0, 0, 0)\r
-quad_7 = grille.getQuadJK(0, 1, 0)\r
-\r
-centre_a = doc.addHexa3Quads(quad_0, quad_6, quad_7)\r
-\r
-quad_2 = grille.getQuadJK(0, 3, 0)\r
-quad_3 = grille.getQuadJK(0, 4, 0)\r
-quad_4 = grille.getQuadJK(0, 5, 0)\r
-\r
-centre_b = doc.addHexa3Quads(quad_2, quad_3, quad_4)\r
-\r
-quad_1 = grille.getQuadJK(0, 2, 0)\r
-quad_5 = grille.getQuadJK(0, 6, 0)\r
-\r
-quad_a = centre_a.getQuad(1)\r
-quad_b = centre_b.getQuad(1)\r
-\r
-centre_c = doc.addHexa4Quads(quad_1, quad_a, quad_5, quad_b)\r
-\r
-# Ajouter l'enceinte\r
-# ------------------\r
-\r
-plan_0  = geompy.MakePrismDXDYDZ(p1_int_e, +cote_lgr, +cote_lgr, +cote_lgr)\r
-part_0  = geompy.MakePartition([piquage_1_feh], [plan_0], [], [], geompy.ShapeType["VERTEX"])\r
-point_0 = geompy.SubShapeAllSortedCentres(part_0, geompy.ShapeType["VERTEX"])[1]\r
-\r
-enceinte_quads = []\r
-for j in xrange(8):\r
-  q = grille.getQuadIJ(1, j, 1)\r
-  enceinte_quads.append(q)\r
-\r
-point_7x, point_7y, point_7z = geompy.PointCoordinates(point_7)\r
-point_2x, point_2y, point_2z = geompy.PointCoordinates(point_2)\r
-point_0x, point_0y, point_0z = geompy.PointCoordinates(point_0)\r
-\r
-enceinte_h1 = point_7z - base_z\r
-enceinte_h2 = point_2z - base_z\r
-enceinte_h3 = point_0z - base_z\r
-enceinte_h4 = oppo_z   - base_z\r
-\r
-enceinte_hauteurs = [ enceinte_h1, enceinte_h2, enceinte_h3, enceinte_h4 ]\r
-\r
-enceinte_pz = doc.addVector(oppo_x - base_x, oppo_y - base_y, enceinte_h4)\r
-\r
-enceinte = doc.prismQuadsVec(enceinte_quads, enceinte_pz, enceinte_hauteurs, 0)\r
-\r
-# Déconnecter via des arêtes, puis prismer, puis compléter (3) ou coller (1)\r
-# --------------------------------------------------------------------------\r
-\r
-periph_hexas     = []\r
-supports_quads_b = []\r
-supports_quads_h = []\r
-\r
-v1 = doc.addVector(   0, +0.1, 0)\r
-v2 = doc.addVector(   0, -0.1, 0)\r
-v3 = doc.addVector(+0.2, -0.1, 0)\r
-\r
-for j, v in [ [0, v1], [1, v1], [4, v2], [5, v3] ]:\r
-  h = grille.getHexaIJK(2, j, 0)\r
-  a = grille.getEdgeK(3, j, 0)\r
-  d = doc.disconnectEdge(h, a)\r
-\r
-  q1 = d.getQuad(0)\r
-  q2 = grille.getQuadIK(2, j, 0)\r
-  if j==1:\r
-    h0 = doc.addHexa2Quads(q1, q2)\r
-    q3 = grille.getQuadJK(3, j, 0)\r
-    q4 = h0.getQuad(3)\r
-    h1 = doc.addHexa2Quads(q3, q4)\r
-    qb = h1.getQuad(hexablock.Q_E)\r
-    qh = h1.getQuad(hexablock.Q_F)\r
-  else:\r
-    p = doc.prismQuad(q1, v, 2)\r
-\r
-    h0 = p.getHexa(0)\r
-    q3 = h0.getQuad(5)\r
-    h1 = p.getHexa(1)\r
-    q4 = h1.getQuad(5)\r
-    doc.addHexa3Quads(q2, q3, q4)\r
-    periph_hexas.append(h0)\r
-    qb = h1.getQuad(hexablock.Q_C)\r
-    qh = h1.getQuad(hexablock.Q_D)\r
-\r
-  supports_quads_b.append(qb)\r
-  supports_quads_h.append(qh)\r
-\r
-# Piquer les 2 tuyaux sur l'enceinte\r
-# ----------------------------------\r
-\r
-piquage_centre = doc.addVertex(10, 0, 0)\r
-\r
-piquage_vx = doc.addVector(1, 0, 0)\r
-piquage_vz = doc.addVector(0, 0, 1)\r
-\r
-piquage = doc.makeCylindrical(piquage_centre, piquage_vx, piquage_vz,  1, 360, 1,  1, 4, 1,  False)\r
-\r
-piquage_quads = [ piquage.getQuadIJ(0, j, 0) for j in xrange(4) ]\r
-\r
-piquage_s1 = piquage.getVertexIJK(1, 0, 0)\r
-piquage_s2 = piquage.getVertexIJK(1, 1, 0)\r
-piquage_s3 = piquage.getVertexIJK(1, 2, 0)\r
-\r
-enceinte_ha = enceinte.getHexa( 6)\r
-enceinte_hb = enceinte.getHexa(25)\r
-\r
-enceinte_s11 = enceinte_ha.getVertex(2)\r
-enceinte_s12 = enceinte_ha.getVertex(3)\r
-enceinte_s13 = enceinte_ha.getVertex(7)\r
-\r
-enceinte_s21 = enceinte_hb.getVertex(2)\r
-enceinte_s22 = enceinte_hb.getVertex(3)\r
-enceinte_s23 = enceinte_hb.getVertex(7)\r
-\r
-piquage_1 = doc.replace(piquage_quads, piquage_s1, enceinte_s11, piquage_s2, enceinte_s12, piquage_s3, enceinte_s13)\r
-piquage_2 = doc.replace(piquage_quads, piquage_s1, enceinte_s21, piquage_s2, enceinte_s22, piquage_s3, enceinte_s23)\r
-\r
-# Nettoyer le template du piquage\r
-# -------------------------------\r
-\r
-doc.removeElements(piquage)\r
-\r
-# Associer le modèle de blocs avec la géométrie\r
-# =============================================\r
-\r
-doc.setShape(cuve)\r
-\r
-# Nettoyer les associations implicites du centre et de la périphérie\r
-# ------------------------------------------------------------------\r
-\r
-for i in xrange(0, 4, 3):\r
-  for j in xrange(8):\r
-    for k in xrange(2):\r
-      e = grille.getEdgeJ(i, j, k)\r
-      e.clearAssociation()\r
-\r
-# Associer le centre de l'enceinte\r
-# --------------------------------\r
-\r
-for j, ig in [ [2, 30], [3, 28], [6, 32], [7, 34] ]:\r
-  sm0 = grille.getVertexIJK(0, j, 0)\r
-  sg0 = sommets[ig]\r
-  sm0.setAssociation(sg0)\r
-\r
-  sm1 = grille.getVertexIJK(0, j, 1)\r
-  sg1 = geompy.MakeTranslation(sg0, 0, 0, grille_hauteur)\r
-  sm1.setAssociation(sg1)\r
-\r
-for j, ig, sens in [ [0, 34, +1], [1, 30, +1], [4, 28, -1], [5, 32, -1] ]:\r
-  sm0 = grille.getVertexIJK(0, j, 0)\r
-  sg0 = geompy.MakeTranslation(sommets[ig], 0, sens*support_l, 0)\r
-  sm0.setAssociation(sg0)\r
-\r
-  sm1 = grille.getVertexIJK(0, j, 1)\r
-  sg1 = geompy.MakeTranslation(sg0, 0, 0, grille_hauteur)\r
-  sm1.setAssociation(sg1)\r
-\r
-# Associer les 16 sommets des 4 supports externes\r
-# -----------------------------------------------\r
-\r
-supports_points = [\r
-  [ support_c_o, support_c_y, support_c_d, support_c_x ],\r
-  [ support_d_d, support_d_y, support_d_o, support_d_x ],\r
-  [ support_a_o, support_a_y, support_a_d, support_a_x ],\r
-  [ support_b_o, support_b_x, support_b_d, support_b_y ]\r
-]\r
-\r
-for s in xrange(4):\r
-  qb = supports_quads_b[s]\r
-  qh = supports_quads_h[s]\r
-  cs = supports_points[s]\r
-  for i in xrange(4):\r
-    smb = qb.getVertex(i)\r
-    sgb = cs[i]\r
-    smb.setAssociation(sgb)\r
-\r
-    if s==1:\r
-      ind = i\r
-    else:\r
-      ind = [1, 0, 3, 2][i]\r
-    smh = qh.getVertex(ind)\r
-    sgh = geompy.MakeTranslation(sgb, 0, 0, grille_hauteur)\r
-    smh.setAssociation(sgh)\r
-\r
-# Associer les 7 sommets périphériques de la grille\r
-# -------------------------------------------------\r
-\r
-par_1 = 0.17\r
-par_2 = 1 - par_1\r
-\r
-periph_grille = [ [0, cote_b, par_2], [1, cote_c, 0.22], [3, cote_d, 0.548], [4, cote_d, par_1], [5, cote_a, par_2], [6, cote_b, 0.44], [7, cote_b, 0.555] ]\r
-\r
-for j, ag, p in periph_grille:\r
-  smb = grille.getVertexIJK(3, j, 1)\r
-  sgb = geompy.MakeVertexOnCurve(ag, p)\r
-  smb.setAssociation(sgb)\r
-\r
-  smh = grille.getVertexIJK(3, j, 0)\r
-  sgh = geompy.MakeTranslation(sgb, 0, 0, -grille_hauteur)\r
-  smh.setAssociation(sgh)\r
-\r
-# Associer les 3 sommets liés aux déconnections sur la grille\r
-# -----------------------------------------------------------\r
-\r
-periph_deco = [ [cote_c, par_2], [cote_a, par_1], [cote_b, par_1] ]\r
-\r
-for i in xrange(3):\r
-  hxa = periph_hexas[i]\r
-  ag, p = periph_deco[i]\r
-  smb = hxa.getVertex(2)\r
-  sgb = geompy.MakeVertexOnCurve(ag, p)\r
-  smb.setAssociation(sgb)\r
-\r
-  smh = hxa.getVertex(0)\r
-  sgh = geompy.MakeTranslation(sgb, 0, 0, -grille_hauteur)\r
-  smh.setAssociation(sgh)\r
-\r
-# Réparer les piquages\r
-# --------------------\r
-\r
-piquage_e_base  = geompy.MakeVertex(interne_x, interne_y, interne_z)\r
-piquage_e_axe   = geompy.MakeVectorDXDYDZ(interne_dx, interne_dy, interne_dz)\r
-piquage_e_cyl   = geompy.MakeCylinder(piquage_e_base, piquage_e_axe, interne_rayon, enceinte_h4)\r
-\r
-piquage_1_axe   = geompy.MakeVectorDXDYDZ(p1_int_dx, p1_int_dy, p1_int_dz)\r
-piquage_1_cyl   = geompy.MakeCylinder(p1_int_c, piquage_1_axe, p1_int_rayon, cote_lgr)\r
-\r
-piquage_2_axe   = geompy.MakeVectorDXDYDZ(p2_int_dx, p2_int_dy, p2_int_dz)\r
-piquage_2_cyl   = geompy.MakeCylinder(p2_int_c, piquage_2_axe, p2_int_rayon, cote_lgr)\r
-\r
-piquage_1_inter = geompy.SubShapeAllSortedCentres(geompy.MakeSection(piquage_e_cyl, piquage_1_cyl), geompy.ShapeType["EDGE"])\r
-piquage_2_inter = geompy.SubShapeAllSortedCentres(geompy.MakeSection(piquage_e_cyl, piquage_2_cyl), geompy.ShapeType["EDGE"])\r
-\r
-piquage_1_fi  = piquage_1_inter[0]\r
-\r
-piquage_2_fig = piquage_2_inter[0]\r
-piquage_2_fid = piquage_2_inter[1]\r
-\r
-# Associer les piquages\r
-# ---------------------\r
-\r
-piquages_devant = [\r
-  [ piquage_1, piquage_1_int, 0.375, piquage_1_ext, 0.125 ],\r
-  [ piquage_2, piquage_2_int, 0.125, piquage_2_ext, 0.875 ]\r
-]\r
-\r
-for m_piq, a_int, p_int, a_ext, p_ext in piquages_devant:\r
-\r
-  i1 = m_piq.getEdge(2)\r
-  i2 = m_piq.getEdge(5)\r
-  i3 = m_piq.getEdge(7)\r
-  i4 = m_piq.getEdge(10)\r
-\r
-  doc.associateClosedLine(i1.getVertex(1), i1, [ i2, i3, i4 ], a_int, p_int, True, [])\r
-\r
-  e1 = m_piq.getEdge(0)\r
-  e2 = m_piq.getEdge(1)\r
-  e3 = m_piq.getEdge(9)\r
-  e4 = m_piq.getEdge(11)\r
-\r
-  doc.associateClosedLine(e1.getVertex(0), e1, [ e2, e3, e4 ], a_ext, p_ext, False, [])\r
-\r
-piquages_milieu = [\r
-  [ piquage_1, piquage_1_eib, piquage_1_eih, 0.30, piquage_1_eeb, piquage_1_eeh, 0.30 ],\r
-  [ piquage_2, piquage_2_eid, piquage_2_eig, 0.75, piquage_2_eed, piquage_2_eeg, 0.75 ]\r
-]\r
-\r
-for m_piq, a_int1, a_int2, p_int, a_ext1, a_ext2, p_ext in piquages_milieu:\r
-\r
-  i1 = m_piq.getEdge(22)\r
-  i2 = m_piq.getEdge(25)\r
-  i3 = m_piq.getEdge(27)\r
-  i4 = m_piq.getEdge(30)\r
-\r
-  doc.associateClosedLine(i1.getVertex(0), i1, [ i4, i3, i2 ], a_int1, p_int, False, [a_int2])\r
-\r
-  e1 = m_piq.getEdge(20)\r
-  e2 = m_piq.getEdge(21)\r
-  e3 = m_piq.getEdge(29)\r
-  e4 = m_piq.getEdge(31)\r
-\r
-  doc.associateClosedLine(e1.getVertex(0), e1, [ e2, e3, e4 ], a_ext1, p_ext, False, [a_ext2])\r
-\r
-piquages_fond = [\r
-  [ piquage_1, piquage_1_fi , []             , 0.125, piquage_1_feb, piquage_1_feh, 0.30 ],\r
-  [ piquage_2, piquage_2_fid, [piquage_2_fig], 0.75 , piquage_2_fed, piquage_2_feg, 0.75 ]\r
-]\r
-\r
-for m_piq, a_int1, a_int2, p_int, a_ext1, a_ext2, p_ext in piquages_fond:\r
-\r
-  i1 = m_piq.getEdge(42)\r
-  i2 = m_piq.getEdge(45)\r
-  i3 = m_piq.getEdge(47)\r
-  i4 = m_piq.getEdge(50)\r
-\r
-  doc.associateClosedLine(i1.getVertex(0), i1, [ i4, i3, i2 ], a_int1, p_int, False, a_int2)\r
-\r
-  e1 = m_piq.getEdge(40)\r
-  e2 = m_piq.getEdge(41)\r
-  e3 = m_piq.getEdge(49)\r
-  e4 = m_piq.getEdge(51)\r
-\r
-  doc.associateClosedLine(e1.getVertex(1), e1, [ e2, e3, e4 ], a_ext1, p_ext, False, [a_ext2])\r
-\r
-# Associer quelques faces\r
-# -----------------------\r
-\r
-for h in [ 2, 5, 7, 10,  21, 24, 26, 29 ]:\r
-  enceinte_hc = enceinte.getHexa(h)\r
-\r
-  enceinte_qc = enceinte_hc.getQuad(hexablock.Q_C)\r
-  enceinte_qc.addAssociation(face_cylindrique_int)\r
-\r
-  enceinte_qc = enceinte_hc.getQuad(hexablock.Q_D)\r
-  enceinte_qc.addAssociation(face_cylindrique_ext)\r
-\r
-# Primer les 5 supports (finalisation du modèle de blocs)\r
-# -------------------------------------------------------\r
-\r
-supports_quads_b.append( centre_c.getQuad(hexablock.Q_E) )\r
-\r
-supports_z = doc.addVector(coin_x1 - coin_x3, coin_y1 - coin_y3, coin_z1 - coin_z3)\r
-\r
-supports = doc.prismQuads(supports_quads_b, supports_z, 1)\r
-\r
-# Mailler le modèle de blocs\r
-# ==========================\r
-\r
-# Définir les groupes volumiques\r
-# ------------------------------\r
-\r
-groupe_fd = doc.addHexaGroup("fond")\r
-groupe_en = doc.addHexaGroup("enceinte")\r
-groupe_p1 = doc.addHexaGroup("piquage:1")\r
-groupe_p2 = doc.addHexaGroup("piquage:2")\r
-groupe_su = doc.addHexaGroup("supports")\r
-\r
-for i in xrange( doc.countUsedHexa() ):\r
-  h = doc.getUsedHexa(i)\r
-  groupe_fd.addElement(h)\r
-\r
-for i in xrange( enceinte.countHexa() ):\r
-  h = enceinte.getHexa(i)\r
-  if h != None:\r
-    groupe_en.addElement(h)\r
-    groupe_fd.removeElement(h)\r
-\r
-for i in xrange( piquage_1.countHexa() ):\r
-  h = piquage_1.getHexa(i)\r
-  groupe_p1.addElement(h)\r
-  groupe_fd.removeElement(h)\r
-\r
-for i in xrange( piquage_2.countHexa() ):\r
-  h = piquage_2.getHexa(i)\r
-  groupe_p2.addElement(h)\r
-  groupe_fd.removeElement(h)\r
-\r
-for i in xrange( supports.countHexa() ):\r
-  h = supports.getHexa(i)\r
-  groupe_su.addElement(h)\r
-  groupe_fd.removeElement(h)\r
-\r
-# Générer le maillage\r
-# -------------------\r
-\r
-hexablock.addLaws(doc, 0.015, False)\r
-\r
-maillage = hexablock.mesh(doc)\r
-\r
-muv, mue, muq, muh = hexablock.dump(doc, maillage)\r
-\r
+
+# Francis KLOSS - 2011-2013 - CEA-Saclay, DEN, DM2S, SFME, LGLS, F-91191 Gif-sur-Yvette, France
+# =============================================================================================
+
+import math
+
+### import geompy
+import hexablock
+geompy = hexablock.geompy
+
+# Charger la géométrie
+# ====================
+
+nom = "cuve"
+
+cuve = geompy.ImportBREP(nom+".brep")
+
+# Sélectionner des sommets de la géométrie
+# -----------------------------------------
+
+sommets = geompy.SubShapeAllSortedCentres(cuve, geompy.ShapeType["VERTEX"])
+
+coin_a = sommets[ 4]
+coin_b = sommets[43]
+coin_c = sommets[62]
+coin_d = sommets[15]
+
+support_a_o = sommets[ 3]
+support_a_x = sommets[ 8]
+support_a_y = sommets[ 6]
+support_a_d = sommets[10]
+
+support_b_o = sommets[42]
+support_b_x = sommets[36]
+support_b_y = sommets[47]
+support_b_d = sommets[38]
+
+support_c_o = sommets[61]
+support_c_x = sommets[51]
+support_c_y = sommets[59]
+support_c_d = sommets[49]
+
+support_d_o = sommets[14]
+support_d_x = sommets[19]
+support_d_y = sommets[12]
+support_d_d = sommets[17]
+
+coin_x1, coin_y1, coin_z1 = geompy.PointCoordinates(sommets[ 2])
+coin_x2, coin_y2, coin_z2 = geompy.PointCoordinates(support_a_d)
+coin_x3, coin_y3, coin_z3 = geompy.PointCoordinates(support_a_o)
+coin_x4, coin_y4, coin_z4 = geompy.PointCoordinates(coin_c)
+
+base_x, base_y, base_z = geompy.PointCoordinates(sommets[52])
+oppo_x, oppo_y, oppo_z = geompy.PointCoordinates(sommets[57])
+
+# Sélectionner des arêtes de la géométrie
+# ---------------------------------------
+
+aretes = geompy.SubShapeAllSortedCentres(cuve, geompy.ShapeType["EDGE"])
+
+interne0, interne_x, interne_y, interne_z,  interne_dx, interne_dy, interne_dz,  interne_rayon = geompy.KindOfShape(aretes[48])
+externe0, externe_x, externe_y, externe_z,  externe_dx, externe_dy, externe_dz,  externe_rayon = geompy.KindOfShape(aretes[49])
+
+cote_a = aretes[41]
+cote_b = aretes[91]
+cote_c = aretes[59]
+cote_d = aretes[12]
+
+piquage_1_int = aretes[  0]
+piquage_1_ext = aretes[  1]
+piquage_1_feb = aretes[ 36]
+piquage_1_feh = aretes[ 38]
+piquage_1_eeb = aretes[ 33]
+piquage_1_eeh = aretes[ 37]
+piquage_1_eib = aretes[ 34]
+piquage_1_eih = aretes[ 35]
+
+piquage_2_int = aretes[103]
+piquage_2_ext = aretes[104]
+piquage_2_feg = aretes[ 68]
+piquage_2_fed = aretes[ 73]
+piquage_2_eeg = aretes[ 79]
+piquage_2_eed = aretes[ 88]
+piquage_2_eig = aretes[ 80]
+piquage_2_eid = aretes[ 89]
+
+support_l, support_a, support_v = geompy.BasicProperties(aretes[43])
+cote_lgr, cote_aire, cote_vol   = geompy.BasicProperties(cote_a)
+
+# Sélectionner des faces de la géométrie
+# --------------------------------------
+
+faces = geompy.SubShapeAllSortedCentres(cuve, geompy.ShapeType["FACE"])
+
+face_cylindrique_int = faces[21]
+face_cylindrique_ext = faces[22]
+
+# Construire le modèle de blocs
+# =============================
+
+# Créer le document
+# -----------------
+
+doc = hexablock.addDocument(nom)
+
+# Calculer l'angle défini par le centre de la cuve et 2 points (projeté dans le plan XY)
+# --------------------------------------------------------------------------------------
+
+centre_cuve = geompy.MakeVertex(externe_x, externe_y, 0)
+
+def calculer_angle(point1, point2):
+  x1, y1, z1 = geompy.PointCoordinates(point1)
+  x2, y2, z2 = geompy.PointCoordinates(point2)
+
+  p1 = geompy.MakeVertex(x1, y1, 0)
+  p2 = geompy.MakeVertex(x2, y2, 0)
+
+  a1 = geompy.MakeEdge(centre_cuve, p1)
+  a2 = geompy.MakeEdge(centre_cuve, p2)
+
+  return geompy.GetAngle(a1, a2)
+
+# Construire les 8 points de la grille
+# ------------------------------------
+
+p1_int0, p1_int_x, p1_int_y, p1_int_z,  p1_int_dx, p1_int_dy, p1_int_dz,  p1_int_rayon = geompy.KindOfShape(piquage_1_int)
+p2_int0, p2_int_x, p2_int_y, p2_int_z,  p2_int_dx, p2_int_dy, p2_int_dz,  p2_int_rayon = geompy.KindOfShape(piquage_2_int)
+
+p1_int_c = geompy.MakeVertex(p1_int_x, p1_int_y, p1_int_z)
+p2_int_c = geompy.MakeVertex(p2_int_x, p2_int_y, p2_int_z)
+
+p1_int_e = geompy.MakePrismDXDYDZ2Ways(p1_int_c, p1_int_dx*cote_lgr, p1_int_dy*cote_lgr, p1_int_dz*cote_lgr)
+p2_int_e = geompy.MakePrismDXDYDZ2Ways(p2_int_c, p2_int_dx*cote_lgr, p2_int_dy*cote_lgr, p2_int_dz*cote_lgr)
+
+plan_2 = geompy.MakePrismDXDYDZ(p1_int_e, +cote_lgr, +cote_lgr, -cote_lgr)
+plan_3 = geompy.MakePrismDXDYDZ(p1_int_e, -cote_lgr, -cote_lgr, -cote_lgr)
+
+plan_7 = geompy.MakePrismDXDYDZ(p2_int_e, 0, -cote_lgr, -cote_lgr)
+plan_8 = geompy.MakePrismDXDYDZ(p2_int_e, 0, +cote_lgr, -cote_lgr)
+
+part_2 = geompy.MakePartition([piquage_1_eeb], [plan_2], [], [], geompy.ShapeType["VERTEX"])
+part_3 = geompy.MakePartition([piquage_1_eeb], [plan_3], [], [], geompy.ShapeType["VERTEX"])
+
+part_7 = geompy.MakePartition([piquage_2_feg], [plan_7], [], [], geompy.ShapeType["VERTEX"])
+part_8 = geompy.MakePartition([piquage_2_fed], [plan_8], [], [], geompy.ShapeType["VERTEX"])
+
+point_1 = coin_c
+point_2 = geompy.SubShapeAllSortedCentres(part_2, geompy.ShapeType["VERTEX"])[1]
+point_3 = geompy.SubShapeAllSortedCentres(part_3, geompy.ShapeType["VERTEX"])[1]
+point_4 = geompy.MakeVertexOnCurve(cote_d, 0.55)
+point_5 = coin_a
+point_6 = coin_b
+point_7 = geompy.SubShapeAllSortedCentres(part_7, geompy.ShapeType["VERTEX"])[0]
+point_8 = geompy.SubShapeAllSortedCentres(part_8, geompy.ShapeType["VERTEX"])[2]
+
+# Construire la grille cylindrique
+# --------------------------------
+
+grille_hauteur = coin_z4-coin_z2
+
+centre = doc.addVertex(externe_x, externe_y, externe_z-grille_hauteur)
+
+grille_x = doc.addVector(1, 1, 0)
+grille_z = doc.addVector(0, 0, 1)
+
+petit_rayon = interne_rayon * 0.2
+grand_rayon = math.sqrt( (coin_x1-externe_x)**2 + (coin_y1-externe_y)**2 )
+
+rayons = [ petit_rayon, interne_rayon-petit_rayon, externe_rayon-interne_rayon, grand_rayon-externe_rayon ]
+
+points = [ point_1, point_2, point_3, point_4, point_5, point_6, point_7, point_8, point_1 ]
+
+angles = []
+for i in xrange(8):
+  angle = calculer_angle(points[i], points[i+1])
+  angles.append(angle)
+
+hauteurs = [ grille_hauteur ]
+
+grille = doc.makeCylindricals(centre, grille_x, grille_z, rayons, angles, hauteurs, False)
+
+# Ajouter le centre
+# -----------------
+
+quad_0 = grille.getQuadJK(0, 7, 0)
+quad_6 = grille.getQuadJK(0, 0, 0)
+quad_7 = grille.getQuadJK(0, 1, 0)
+
+centre_a = doc.addHexa3Quads(quad_0, quad_6, quad_7)
+
+quad_2 = grille.getQuadJK(0, 3, 0)
+quad_3 = grille.getQuadJK(0, 4, 0)
+quad_4 = grille.getQuadJK(0, 5, 0)
+
+centre_b = doc.addHexa3Quads(quad_2, quad_3, quad_4)
+
+quad_1 = grille.getQuadJK(0, 2, 0)
+quad_5 = grille.getQuadJK(0, 6, 0)
+
+quad_a = centre_a.getQuad(1)
+quad_b = centre_b.getQuad(1)
+
+centre_c = doc.addHexa4Quads(quad_1, quad_a, quad_5, quad_b)
+
+# Ajouter l'enceinte
+# ------------------
+
+plan_0  = geompy.MakePrismDXDYDZ(p1_int_e, +cote_lgr, +cote_lgr, +cote_lgr)
+part_0  = geompy.MakePartition([piquage_1_feh], [plan_0], [], [], geompy.ShapeType["VERTEX"])
+point_0 = geompy.SubShapeAllSortedCentres(part_0, geompy.ShapeType["VERTEX"])[1]
+
+enceinte_quads = []
+for j in xrange(8):
+  q = grille.getQuadIJ(1, j, 1)
+  enceinte_quads.append(q)
+
+point_7x, point_7y, point_7z = geompy.PointCoordinates(point_7)
+point_2x, point_2y, point_2z = geompy.PointCoordinates(point_2)
+point_0x, point_0y, point_0z = geompy.PointCoordinates(point_0)
+
+enceinte_h1 = point_7z - base_z
+enceinte_h2 = point_2z - base_z
+enceinte_h3 = point_0z - base_z
+enceinte_h4 = oppo_z   - base_z
+
+enceinte_hauteurs = [ enceinte_h1, enceinte_h2, enceinte_h3, enceinte_h4 ]
+
+enceinte_pz = doc.addVector(oppo_x - base_x, oppo_y - base_y, enceinte_h4)
+
+enceinte = doc.prismQuadsVec(enceinte_quads, enceinte_pz, enceinte_hauteurs, 0)
+
+# Déconnecter via des arêtes, puis prismer, puis compléter (3) ou coller (1)
+# --------------------------------------------------------------------------
+
+periph_hexas     = []
+supports_quads_b = []
+supports_quads_h = []
+
+v1 = doc.addVector(   0, +0.1, 0)
+v2 = doc.addVector(   0, -0.1, 0)
+v3 = doc.addVector(+0.2, -0.1, 0)
+
+for j, v in [ [0, v1], [1, v1], [4, v2], [5, v3] ]:
+  h = grille.getHexaIJK(2, j, 0)
+  a = grille.getEdgeK(3, j, 0)
+  d = doc.disconnectEdge(h, a)
+
+  q1 = d.getQuad(0)
+  q2 = grille.getQuadIK(2, j, 0)
+  if j==1:
+    h0 = doc.addHexa2Quads(q1, q2)
+    q3 = grille.getQuadJK(3, j, 0)
+    q4 = h0.getQuad(3)
+    h1 = doc.addHexa2Quads(q3, q4)
+    qb = h1.getQuad(hexablock.Q_E)
+    qh = h1.getQuad(hexablock.Q_F)
+  else:
+    p = doc.prismQuad(q1, v, 2)
+
+    h0 = p.getHexa(0)
+    q3 = h0.getQuad(5)
+    h1 = p.getHexa(1)
+    q4 = h1.getQuad(5)
+    doc.addHexa3Quads(q2, q3, q4)
+    periph_hexas.append(h0)
+    qb = h1.getQuad(hexablock.Q_C)
+    qh = h1.getQuad(hexablock.Q_D)
+
+  supports_quads_b.append(qb)
+  supports_quads_h.append(qh)
+
+# Piquer les 2 tuyaux sur l'enceinte
+# ----------------------------------
+
+piquage_centre = doc.addVertex(10, 0, 0)
+
+piquage_vx = doc.addVector(1, 0, 0)
+piquage_vz = doc.addVector(0, 0, 1)
+
+piquage = doc.makeCylindrical(piquage_centre, piquage_vx, piquage_vz,  1, 360, 1,  1, 4, 1,  False)
+
+piquage_quads = [ piquage.getQuadIJ(0, j, 0) for j in xrange(4) ]
+
+piquage_s1 = piquage.getVertexIJK(1, 0, 0)
+piquage_s2 = piquage.getVertexIJK(1, 1, 0)
+piquage_s3 = piquage.getVertexIJK(1, 2, 0)
+
+enceinte_ha = enceinte.getHexa( 6)
+enceinte_hb = enceinte.getHexa(25)
+
+enceinte_s11 = enceinte_ha.getVertex(2)
+enceinte_s12 = enceinte_ha.getVertex(3)
+enceinte_s13 = enceinte_ha.getVertex(7)
+
+enceinte_s21 = enceinte_hb.getVertex(2)
+enceinte_s22 = enceinte_hb.getVertex(3)
+enceinte_s23 = enceinte_hb.getVertex(7)
+
+piquage_1 = doc.replace(piquage_quads, piquage_s1, enceinte_s11, piquage_s2, enceinte_s12, piquage_s3, enceinte_s13)
+piquage_2 = doc.replace(piquage_quads, piquage_s1, enceinte_s21, piquage_s2, enceinte_s22, piquage_s3, enceinte_s23)
+
+# Nettoyer le template du piquage
+# -------------------------------
+
+doc.removeElements(piquage)
+
+# Associer le modèle de blocs avec la géométrie
+# =============================================
+
+doc.setShape(cuve)
+
+# Nettoyer les associations implicites du centre et de la périphérie
+# ------------------------------------------------------------------
+
+for i in xrange(0, 4, 3):
+  for j in xrange(8):
+    for k in xrange(2):
+      e = grille.getEdgeJ(i, j, k)
+      e.clearAssociation()
+
+# Associer le centre de l'enceinte
+# --------------------------------
+
+for j, ig in [ [2, 30], [3, 28], [6, 32], [7, 34] ]:
+  sm0 = grille.getVertexIJK(0, j, 0)
+  sg0 = sommets[ig]
+  sm0.setAssociation(sg0)
+
+  sm1 = grille.getVertexIJK(0, j, 1)
+  sg1 = geompy.MakeTranslation(sg0, 0, 0, grille_hauteur)
+  sm1.setAssociation(sg1)
+
+for j, ig, sens in [ [0, 34, +1], [1, 30, +1], [4, 28, -1], [5, 32, -1] ]:
+  sm0 = grille.getVertexIJK(0, j, 0)
+  sg0 = geompy.MakeTranslation(sommets[ig], 0, sens*support_l, 0)
+  sm0.setAssociation(sg0)
+
+  sm1 = grille.getVertexIJK(0, j, 1)
+  sg1 = geompy.MakeTranslation(sg0, 0, 0, grille_hauteur)
+  sm1.setAssociation(sg1)
+
+# Associer les 16 sommets des 4 supports externes
+# -----------------------------------------------
+
+supports_points = [
+  [ support_c_o, support_c_y, support_c_d, support_c_x ],
+  [ support_d_d, support_d_y, support_d_o, support_d_x ],
+  [ support_a_o, support_a_y, support_a_d, support_a_x ],
+  [ support_b_o, support_b_x, support_b_d, support_b_y ]
+]
+
+for s in xrange(4):
+  qb = supports_quads_b[s]
+  qh = supports_quads_h[s]
+  cs = supports_points[s]
+  for i in xrange(4):
+    smb = qb.getVertex(i)
+    sgb = cs[i]
+    smb.setAssociation(sgb)
+
+    if s==1:
+      ind = i
+    else:
+      ind = [1, 0, 3, 2][i]
+    smh = qh.getVertex(ind)
+    sgh = geompy.MakeTranslation(sgb, 0, 0, grille_hauteur)
+    smh.setAssociation(sgh)
+
+# Associer les 7 sommets périphériques de la grille
+# -------------------------------------------------
+
+par_1 = 0.17
+par_2 = 1 - par_1
+
+periph_grille = [ [0, cote_b, par_2], [1, cote_c, 0.22], [3, cote_d, 0.548], [4, cote_d, par_1], [5, cote_a, par_2], [6, cote_b, 0.44], [7, cote_b, 0.555] ]
+
+for j, ag, p in periph_grille:
+  smb = grille.getVertexIJK(3, j, 1)
+  sgb = geompy.MakeVertexOnCurve(ag, p)
+  smb.setAssociation(sgb)
+
+  smh = grille.getVertexIJK(3, j, 0)
+  sgh = geompy.MakeTranslation(sgb, 0, 0, -grille_hauteur)
+  smh.setAssociation(sgh)
+
+# Associer les 3 sommets liés aux déconnections sur la grille
+# -----------------------------------------------------------
+
+periph_deco = [ [cote_c, par_2], [cote_a, par_1], [cote_b, par_1] ]
+
+for i in xrange(3):
+  hxa = periph_hexas[i]
+  ag, p = periph_deco[i]
+  smb = hxa.getVertex(2)
+  sgb = geompy.MakeVertexOnCurve(ag, p)
+  smb.setAssociation(sgb)
+
+  smh = hxa.getVertex(0)
+  sgh = geompy.MakeTranslation(sgb, 0, 0, -grille_hauteur)
+  smh.setAssociation(sgh)
+
+# Réparer les piquages
+# --------------------
+
+piquage_e_base  = geompy.MakeVertex(interne_x, interne_y, interne_z)
+piquage_e_axe   = geompy.MakeVectorDXDYDZ(interne_dx, interne_dy, interne_dz)
+piquage_e_cyl   = geompy.MakeCylinder(piquage_e_base, piquage_e_axe, interne_rayon, enceinte_h4)
+
+piquage_1_axe   = geompy.MakeVectorDXDYDZ(p1_int_dx, p1_int_dy, p1_int_dz)
+piquage_1_cyl   = geompy.MakeCylinder(p1_int_c, piquage_1_axe, p1_int_rayon, cote_lgr)
+
+piquage_2_axe   = geompy.MakeVectorDXDYDZ(p2_int_dx, p2_int_dy, p2_int_dz)
+piquage_2_cyl   = geompy.MakeCylinder(p2_int_c, piquage_2_axe, p2_int_rayon, cote_lgr)
+
+piquage_1_inter = geompy.SubShapeAllSortedCentres(geompy.MakeSection(piquage_e_cyl, piquage_1_cyl), geompy.ShapeType["EDGE"])
+piquage_2_inter = geompy.SubShapeAllSortedCentres(geompy.MakeSection(piquage_e_cyl, piquage_2_cyl), geompy.ShapeType["EDGE"])
+
+piquage_1_fi  = piquage_1_inter[0]
+
+piquage_2_fig = piquage_2_inter[0]
+piquage_2_fid = piquage_2_inter[1]
+
+# Associer les piquages
+# ---------------------
+
+piquages_devant = [
+  [ piquage_1, piquage_1_int, 0.375, piquage_1_ext, 0.125 ],
+  [ piquage_2, piquage_2_int, 0.125, piquage_2_ext, 0.875 ]
+]
+
+for m_piq, a_int, p_int, a_ext, p_ext in piquages_devant:
+
+  i1 = m_piq.getEdge(2)
+  i2 = m_piq.getEdge(5)
+  i3 = m_piq.getEdge(7)
+  i4 = m_piq.getEdge(10)
+
+  doc.associateClosedLine(i1.getVertex(1), i1, [ i2, i3, i4 ], a_int, p_int, True, [])
+
+  e1 = m_piq.getEdge(0)
+  e2 = m_piq.getEdge(1)
+  e3 = m_piq.getEdge(9)
+  e4 = m_piq.getEdge(11)
+
+  doc.associateClosedLine(e1.getVertex(0), e1, [ e2, e3, e4 ], a_ext, p_ext, False, [])
+
+piquages_milieu = [
+  [ piquage_1, piquage_1_eib, piquage_1_eih, 0.30, piquage_1_eeb, piquage_1_eeh, 0.30 ],
+  [ piquage_2, piquage_2_eid, piquage_2_eig, 0.75, piquage_2_eed, piquage_2_eeg, 0.75 ]
+]
+
+for m_piq, a_int1, a_int2, p_int, a_ext1, a_ext2, p_ext in piquages_milieu:
+
+  i1 = m_piq.getEdge(22)
+  i2 = m_piq.getEdge(25)
+  i3 = m_piq.getEdge(27)
+  i4 = m_piq.getEdge(30)
+
+  doc.associateClosedLine(i1.getVertex(0), i1, [ i4, i3, i2 ], a_int1, p_int, False, [a_int2])
+
+  e1 = m_piq.getEdge(20)
+  e2 = m_piq.getEdge(21)
+  e3 = m_piq.getEdge(29)
+  e4 = m_piq.getEdge(31)
+
+  doc.associateClosedLine(e1.getVertex(0), e1, [ e2, e3, e4 ], a_ext1, p_ext, False, [a_ext2])
+
+piquages_fond = [
+  [ piquage_1, piquage_1_fi , []             , 0.125, piquage_1_feb, piquage_1_feh, 0.30 ],
+  [ piquage_2, piquage_2_fid, [piquage_2_fig], 0.75 , piquage_2_fed, piquage_2_feg, 0.75 ]
+]
+
+for m_piq, a_int1, a_int2, p_int, a_ext1, a_ext2, p_ext in piquages_fond:
+
+  i1 = m_piq.getEdge(42)
+  i2 = m_piq.getEdge(45)
+  i3 = m_piq.getEdge(47)
+  i4 = m_piq.getEdge(50)
+
+  doc.associateClosedLine(i1.getVertex(0), i1, [ i4, i3, i2 ], a_int1, p_int, False, a_int2)
+
+  e1 = m_piq.getEdge(40)
+  e2 = m_piq.getEdge(41)
+  e3 = m_piq.getEdge(49)
+  e4 = m_piq.getEdge(51)
+
+  doc.associateClosedLine(e1.getVertex(1), e1, [ e2, e3, e4 ], a_ext1, p_ext, False, [a_ext2])
+
+# Associer quelques faces
+# -----------------------
+
+for h in [ 2, 5, 7, 10,  21, 24, 26, 29 ]:
+  enceinte_hc = enceinte.getHexa(h)
+
+  enceinte_qc = enceinte_hc.getQuad(hexablock.Q_C)
+  enceinte_qc.addAssociation(face_cylindrique_int)
+
+  enceinte_qc = enceinte_hc.getQuad(hexablock.Q_D)
+  enceinte_qc.addAssociation(face_cylindrique_ext)
+
+# Primer les 5 supports (finalisation du modèle de blocs)
+# -------------------------------------------------------
+
+supports_quads_b.append( centre_c.getQuad(hexablock.Q_E) )
+
+supports_z = doc.addVector(coin_x1 - coin_x3, coin_y1 - coin_y3, coin_z1 - coin_z3)
+
+supports = doc.prismQuads(supports_quads_b, supports_z, 1)
+
+# Mailler le modèle de blocs
+# ==========================
+
+# Définir les groupes volumiques
+# ------------------------------
+
+groupe_fd = doc.addHexaGroup("fond")
+groupe_en = doc.addHexaGroup("enceinte")
+groupe_p1 = doc.addHexaGroup("piquage:1")
+groupe_p2 = doc.addHexaGroup("piquage:2")
+groupe_su = doc.addHexaGroup("supports")
+
+for i in xrange( doc.countUsedHexa() ):
+  h = doc.getUsedHexa(i)
+  groupe_fd.addElement(h)
+
+for i in xrange( enceinte.countHexa() ):
+  h = enceinte.getHexa(i)
+  if h != None:
+    groupe_en.addElement(h)
+    groupe_fd.removeElement(h)
+
+for i in xrange( piquage_1.countHexa() ):
+  h = piquage_1.getHexa(i)
+  groupe_p1.addElement(h)
+  groupe_fd.removeElement(h)
+
+for i in xrange( piquage_2.countHexa() ):
+  h = piquage_2.getHexa(i)
+  groupe_p2.addElement(h)
+  groupe_fd.removeElement(h)
+
+for i in xrange( supports.countHexa() ):
+  h = supports.getHexa(i)
+  groupe_su.addElement(h)
+  groupe_fd.removeElement(h)
+
+# Générer le maillage
+# -------------------
+
+hexablock.addLaws(doc, 0.015, False)
+
+maillage = hexablock.mesh(doc)
+
+muv, mue, muq, muh = hexablock.dump(doc, maillage)
+
index 9a6ee9abc47a3c5d112e4f80aeed20f8296731e7..b1ffe37d8f8a60972b5a5bc71f35e13e80d3ce28 100644 (file)
@@ -1,10 +1,10 @@
 # -*- coding: latin-1 -*-
-# Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+# Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
 # License as published by the Free Software Foundation; either
-# version 2.1 of the License.
+# version 2.1 of the License, or (at your option) any later version.
 #
 # This library is distributed in the hope that it will be useful,
 # but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -21,8 +21,9 @@
 # Francis KLOSS : 2012 : CEA-Saclay, DEN, DM2S, SFME, LGLS, F-91191 Gif-sur-Yvette, France
 # ========================================================================================
 
-import geompy
 import hexablock
+#### import geompy
+geompy = hexablock.geompy
 
 # Charger la geometrie
 # ====================
index fcb56ed5f067ae4f558e0f9cb63048ad77e136a9..3b741e558c350978ad5349e23da6d33b0c85d637 100644 (file)
@@ -1,10 +1,10 @@
 # -*- coding: latin-1 -*-
-# Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+# Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
 # License as published by the Free Software Foundation; either
-# version 2.1 of the License.
+# version 2.1 of the License, or (at your option) any later version.
 #
 # This library is distributed in the hope that it will be useful,
 # but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -21,8 +21,9 @@
 # Francis KLOSS : 2012 : CEA-Saclay, DEN, DM2S, SFME, LGLS, F-91191 Gif-sur-Yvette, France
 # ========================================================================================
 
-import geompy
 import hexablock
+### import geompy
+geompy = hexablock.geompy
 
 # Charger la geometrie
 # ====================
index c90aec24f37608f329dc6e9a39037f020af07df8..96bd47d63dd5761ed227f365f996224a49fb7acc 100644 (file)
@@ -1,10 +1,10 @@
 # -*- coding: latin-1 -*-
-# Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+# Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
 # License as published by the Free Software Foundation; either
-# version 2.1 of the License.
+# version 2.1 of the License, or (at your option) any later version.
 #
 # This library is distributed in the hope that it will be useful,
 # but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -22,9 +22,9 @@
 # ========================================================================================
 
 import math
-
-import geompy
 import hexablock
+### import geompy
+geompy = hexablock.geompy
 
 # Charger la géométrie
 # ====================
index 36fd18779d8adf8fa3d159201e5df37ce5947e69..118101fa63c000952e6f2249ce4f9001a1e70b49 100644 (file)
@@ -1,11 +1,11 @@
 # -*- coding: latin-1 -*-
 
-# Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+# Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
 # License as published by the Free Software Foundation; either
-# version 2.1 of the License.
+# version 2.1 of the License, or (at your option) any later version.
 #
 # This library is distributed in the hope that it will be useful,
 # but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -20,7 +20,6 @@
 #
 
 import os
-import geompy
 import hexablock
 import math
 
index c542bad4f475643528e3b9eeb323bcbc54d8b8fc..47a05446583886591f8aa9814cfb158a3acb5157 100644 (file)
@@ -1,10 +1,10 @@
 # -*- coding: latin-1 -*-
-# Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+# Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
 # License as published by the Free Software Foundation; either
-# version 2.1 of the License.
+# version 2.1 of the License, or (at your option) any later version.
 #
 # This library is distributed in the hope that it will be useful,
 # but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -21,8 +21,8 @@
 # Francis KLOSS - 2011 - CEA-Saclay, DEN, DM2S, SFME, LGLS, F-91191 Gif-sur-Yvette, France
 # ========================================================================================
 
-import geompy
 import hexablock
+geompy = hexablock.geompy
 
 # Construire le modèle de blocs
 # =============================
index 4e859da3915c71b42aa8428188ae4beb89e585de..1eea0e11126debd9a3588b50ce8ee7cf9ff36e36 100644 (file)
@@ -1,10 +1,10 @@
 # -*- coding: latin-1 -*-
-# Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+# Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
 # License as published by the Free Software Foundation; either
-# version 2.1 of the License.
+# version 2.1 of the License, or (at your option) any later version.
 #
 # This library is distributed in the hope that it will be useful,
 # but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -22,7 +22,6 @@
 
 import hexablock
 import os
-import geompy
 
 #---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8
 # ================================================================= save_schema
index 5cb154d8c5dd49f420987341fd169abc3f904f07..e055d3a2ee487d0c34df607b804a95e3678a570b 100644 (file)
@@ -1,10 +1,10 @@
 # -*- coding: latin-1 -*-
-# Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+# Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
 # License as published by the Free Software Foundation; either
-# version 2.1 of the License.
+# version 2.1 of the License, or (at your option) any later version.
 #
 # This library is distributed in the hope that it will be useful,
 # but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -22,7 +22,6 @@
 
 import hexablock
 import os
-import geompy
 
 #---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8
 # ================================================================= save_schema
index f2fdf3b06f74e67f76ddab42b42db682583d5669..3060497d8e8a8496caff310a502693a8f1203126 100644 (file)
@@ -1,10 +1,10 @@
-# -*- coding: latin-1 -*-\r
-# Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+# -*- coding: latin-1 -*-
+# Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
 # License as published by the Free Software Foundation; either
-# version 2.1 of the License.
+# version 2.1 of the License, or (at your option) any later version.
 #
 # This library is distributed in the hope that it will be useful,
 # but WITHOUT ANY WARRANTY; without even the implied warranty of
 # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 #
 
-# Hexa : Association par lignes\r
-\r
-import hexablock\r
-import os\r
-import geompy\r
-\r
-#---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8\r
-#\r
-#   .             ed_nord1     ed_nord2\r
-#   .          v_nw        v_n         v_ne\r
-#              v9          v10         v11\r
-#   1           +----e18----+----e19----+\r
-#   .           |           |           |\r
-#   .           |           |           |\r
-#   0 ed_west  e13          o          e17  ed_est\r
-#   .           |           |           |\r
-#   .           |           |           |\r
-#  -1           +----e14----+----e16----+\r
-#   .          v6          v10          v8\r
-#   .          v_sw        v_s          v_se\r
-#   .              ed_sud1     ed_sud2\r
-#   .\r
-#   +..........-2...........0...........2...............\r
-\r
-global  ed_west, ed_est, ed_nord1, ed_nord2, ed_sud1, ed_sud2\r
-global  v_sw, v_s , v_se, v_nw, v_n , v_ne\r
-global  p_w, p_e, p_n, p_s, p_n1, p_n2, p_s1, p_s2, p_nw, p_sw, p_ne, p_se\r
-global  arc_s, arc_e, arc_n, arc_w, arc_n1, arc_n2, arc_s1, arc_s2\r
-\r
-\r
-# ======================================================= init_globale\r
-def init_globale (name) :\r
-\r
-    global  ed_west, ed_est, ed_nord1, ed_nord2, ed_sud1, ed_sud2\r
-    global  v_sw, v_s , v_se, v_nw, v_n , v_ne\r
-    global  p_w, p_e, p_n, p_s, p_n1, p_n2, p_s1, p_s2, p_nw, p_sw, p_ne, p_se\r
-    global  arc_s, arc_e, arc_n, arc_w, arc_n1, arc_n2, arc_s1, arc_s2\r
-\r
-    nom  = name\r
-    doc  = hexablock.addDocument (nom)\r
-\r
-    orig = doc.addVertex (-2, -1, -1)\r
-    vx   = doc.addVector (2,0,0)\r
-    vy   = doc.addVector (0,2,0)\r
-    vz   = doc.addVector (0,0,2)\r
-    grid = doc.makeCartesian  (orig, vx, vy, vz, 2, 1, 1) \r
-\r
-    nz = 1\r
-    vz = 1.0\r
-\r
-    ed_west  = grid.getEdgeJ (0, 0, nz)\r
-    ed_est   = grid.getEdgeJ (2, 0, nz)\r
-    ed_nord1 = grid.getEdgeI (0, 1, nz)\r
-    ed_nord2 = grid.getEdgeI (1, 1, nz)\r
-    ed_sud1  = grid.getEdgeI (0, 0, nz)\r
-    ed_sud2  = grid.getEdgeI (1, 0, nz)\r
-\r
-    v_sw    = grid.getVertexIJK (0, 0, nz)\r
-    v_s     = grid.getVertexIJK (1, 0, nz)\r
-    v_se    = grid.getVertexIJK (2, 0, nz)\r
-\r
-    v_nw    = grid.getVertexIJK (0, 1, nz)\r
-    v_n     = grid.getVertexIJK (1, 1, nz)\r
-    v_ne    = grid.getVertexIJK (2, 1, nz)\r
-\r
-    doc.saveVtk (nom + ".vtk");\r
-    ## ______________________________________________________________ Geom\r
-\r
-    p_w   = geompy.MakeVertex (-2.55,  0, vz)\r
-    p_e   = geompy.MakeVertex ( 2.55,  0, vz)\r
-    p_n   = geompy.MakeVertex ( 0,  2.0, vz)\r
-    p_s   = geompy.MakeVertex ( 0, -2.0, vz)\r
-\r
-    p_n1  = geompy.MakeVertex ( 0.5,  2.0, vz)\r
-    p_n2  = geompy.MakeVertex (-0.5,  2.0, vz)\r
-    p_s1  = geompy.MakeVertex (-0.5, -2.0, vz)\r
-    p_s2  = geompy.MakeVertex ( 0.5, -2.0, vz)\r
-\r
-    p_nw  = geompy.MakeVertex (-2,  1, vz)\r
-    p_sw  = geompy.MakeVertex (-2, -1, vz)\r
-    p_ne  = geompy.MakeVertex ( 2,  1, vz)\r
-    p_se  = geompy.MakeVertex ( 2, -1, vz)\r
-\r
-    arc_s = geompy.MakeArc (p_sw, p_s, p_se)\r
-    arc_e = geompy.MakeArc (p_se, p_e, p_ne)\r
-    arc_n = geompy.MakeArc (p_ne, p_n, p_nw)\r
-    arc_w = geompy.MakeArc (p_nw, p_w, p_sw)\r
-\r
-    arc_n1 = geompy.MakeArc (p_ne, p_n1, p_n)\r
-    arc_n2 = geompy.MakeArc (p_n,  p_n2, p_nw)\r
-    arc_s1 = geompy.MakeArc (p_sw, p_s1, p_s)\r
-    arc_s2 = geompy.MakeArc (p_s,  p_s2, p_se)\r
-\r
-    return doc\r
-\r
-# ======================================================= test_asso_mano\r
-def test_asso_mano () :\r
-\r
-    doc = init_globale ("asso_mano")\r
-\r
-    ed_west.addAssociation (arc_w, 0, 1)\r
-    ed_est .addAssociation (arc_e, 0, 1)\r
-\r
-    v_n.setAssociation (p_n)\r
-    ed_nord2.addAssociation (arc_n1, 0.0, 1.0)\r
-    ed_nord1.addAssociation (arc_n2, 0.0, 1.0)\r
-\r
-    v_s.setAssociation (p_s)\r
-    ##  ed_sud1.addAssociation (arc_s, 0.0, 0.5)\r
-    ##  ed_sud2.addAssociation (arc_s, 0.5, 1.0)\r
-\r
-    ed_sud1.addAssociation (arc_s1, 0.0, 1.0)\r
-    ed_sud2.addAssociation (arc_s2, 0.0, 1.0)\r
-\r
-    return doc\r
-\r
-# ======================================================= test_asso_closed\r
-def test_asso_closed () :\r
-\r
-    doc = init_globale ("asso_closed")\r
-\r
-    les_edges = [ ed_sud1, ed_sud2, ed_est, ed_nord1, ed_nord2,  ed_west ]\r
-    les_arcs  = [ arc_s1,  arc_s2,  arc_e,  arc_n1,   arc_n2,    arc_w ]\r
-\r
-    doc.associateClosedLine (v_sw, les_edges[0], les_edges[1:], \r
-                                   les_arcs [0], 0.0, False, les_arcs[1:])\r
-    return doc\r
-\r
-# ======================================================= test_asso_closed_inv\r
-def test_asso_closed_inv () :\r
-\r
-    doc = init_globale ("asso_closed_inv")\r
-\r
-    les_edges = [ ed_sud1, ed_sud2, ed_est, ed_nord1, ed_nord2,  ed_west ]\r
-    les_arcs  = [ arc_s1,  arc_s2,  arc_e,  arc_n1,   arc_n2,    arc_w ]\r
-\r
-    doc.associateClosedLine (v_s , les_edges[0], les_edges[1:], \r
-                                   les_arcs [0], 1.0, True, les_arcs[1:])\r
-    return doc\r
-\r
-# ======================================================= test_asso_opened\r
-def test_asso_opened () :\r
-\r
-    doc = init_globale ("asso_opened")\r
-\r
-    les_edges = [ ed_sud2, ed_est, ed_nord2 ]\r
-    les_arcs  = [ arc_s,   arc_e,  arc_n ]\r
-\r
-    doc.associateOpenedLine (les_edges[0], les_edges[1:], \r
-                             les_arcs [0], 0.5, les_arcs[1:], 0.5)\r
-    return doc\r
-\r
-# ================================================================= Begin\r
-\r
-doc = test_asso_closed_inv  ()\r
-\r
-law = doc.addLaw("Uniform", 3)\r
-\r
-for j in range(doc.countPropagation()):\r
-    propa = doc.getPropagation(j)\r
-    propa.setLaw(law) \r
-\r
-mesh_hexas = hexablock.mesh (doc)\r
-\r
-\r
+# Hexa : Association par lignes
+
+import os
+import hexablock
+geompy = hexablock.geompy
+
+#---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8
+#
+#   .             ed_nord1     ed_nord2
+#   .          v_nw        v_n         v_ne
+#              v9          v10         v11
+#   1           +----e18----+----e19----+
+#   .           |           |           |
+#   .           |           |           |
+#   0 ed_west  e13          o          e17  ed_est
+#   .           |           |           |
+#   .           |           |           |
+#  -1           +----e14----+----e16----+
+#   .          v6          v10          v8
+#   .          v_sw        v_s          v_se
+#   .              ed_sud1     ed_sud2
+#   .
+#   +..........-2...........0...........2...............
+
+global  ed_west, ed_est, ed_nord1, ed_nord2, ed_sud1, ed_sud2
+global  v_sw, v_s , v_se, v_nw, v_n , v_ne
+global  p_w, p_e, p_n, p_s, p_n1, p_n2, p_s1, p_s2, p_nw, p_sw, p_ne, p_se
+global  arc_s, arc_e, arc_n, arc_w, arc_n1, arc_n2, arc_s1, arc_s2
+
+
+# ======================================================= init_globale
+def init_globale (name) :
+
+    global  ed_west, ed_est, ed_nord1, ed_nord2, ed_sud1, ed_sud2
+    global  v_sw, v_s , v_se, v_nw, v_n , v_ne
+    global  p_w, p_e, p_n, p_s, p_n1, p_n2, p_s1, p_s2, p_nw, p_sw, p_ne, p_se
+    global  arc_s, arc_e, arc_n, arc_w, arc_n1, arc_n2, arc_s1, arc_s2
+
+    nom  = name
+    doc  = hexablock.addDocument (nom)
+
+    orig = doc.addVertex (-2, -1, -1)
+    vx   = doc.addVector (2,0,0)
+    vy   = doc.addVector (0,2,0)
+    vz   = doc.addVector (0,0,2)
+    grid = doc.makeCartesian  (orig, vx, vy, vz, 2, 1, 1) 
+
+    nz = 1
+    vz = 1.0
+
+    ed_west  = grid.getEdgeJ (0, 0, nz)
+    ed_est   = grid.getEdgeJ (2, 0, nz)
+    ed_nord1 = grid.getEdgeI (0, 1, nz)
+    ed_nord2 = grid.getEdgeI (1, 1, nz)
+    ed_sud1  = grid.getEdgeI (0, 0, nz)
+    ed_sud2  = grid.getEdgeI (1, 0, nz)
+
+    v_sw    = grid.getVertexIJK (0, 0, nz)
+    v_s     = grid.getVertexIJK (1, 0, nz)
+    v_se    = grid.getVertexIJK (2, 0, nz)
+
+    v_nw    = grid.getVertexIJK (0, 1, nz)
+    v_n     = grid.getVertexIJK (1, 1, nz)
+    v_ne    = grid.getVertexIJK (2, 1, nz)
+
+    doc.saveVtk (nom + ".vtk");
+    ## ______________________________________________________________ Geom
+
+    p_w   = geompy.MakeVertex (-2.55,  0, vz)
+    p_e   = geompy.MakeVertex ( 2.55,  0, vz)
+    p_n   = geompy.MakeVertex ( 0,  2.0, vz)
+    p_s   = geompy.MakeVertex ( 0, -2.0, vz)
+
+    p_n1  = geompy.MakeVertex ( 0.5,  2.0, vz)
+    p_n2  = geompy.MakeVertex (-0.5,  2.0, vz)
+    p_s1  = geompy.MakeVertex (-0.5, -2.0, vz)
+    p_s2  = geompy.MakeVertex ( 0.5, -2.0, vz)
+
+    p_nw  = geompy.MakeVertex (-2,  1, vz)
+    p_sw  = geompy.MakeVertex (-2, -1, vz)
+    p_ne  = geompy.MakeVertex ( 2,  1, vz)
+    p_se  = geompy.MakeVertex ( 2, -1, vz)
+
+    arc_s = geompy.MakeArc (p_sw, p_s, p_se)
+    arc_e = geompy.MakeArc (p_se, p_e, p_ne)
+    arc_n = geompy.MakeArc (p_ne, p_n, p_nw)
+    arc_w = geompy.MakeArc (p_nw, p_w, p_sw)
+
+    arc_n1 = geompy.MakeArc (p_ne, p_n1, p_n)
+    arc_n2 = geompy.MakeArc (p_n,  p_n2, p_nw)
+    arc_s1 = geompy.MakeArc (p_sw, p_s1, p_s)
+    arc_s2 = geompy.MakeArc (p_s,  p_s2, p_se)
+
+    return doc
+
+# ======================================================= test_asso_mano
+def test_asso_mano () :
+
+    doc = init_globale ("asso_mano")
+
+    ed_west.addAssociation (arc_w, 0, 1)
+    ed_est .addAssociation (arc_e, 0, 1)
+
+    v_n.setAssociation (p_n)
+    ed_nord2.addAssociation (arc_n1, 0.0, 1.0)
+    ed_nord1.addAssociation (arc_n2, 0.0, 1.0)
+
+    v_s.setAssociation (p_s)
+    ##  ed_sud1.addAssociation (arc_s, 0.0, 0.5)
+    ##  ed_sud2.addAssociation (arc_s, 0.5, 1.0)
+
+    ed_sud1.addAssociation (arc_s1, 0.0, 1.0)
+    ed_sud2.addAssociation (arc_s2, 0.0, 1.0)
+
+    return doc
+
+# ======================================================= test_asso_closed
+def test_asso_closed () :
+
+    doc = init_globale ("asso_closed")
+
+    les_edges = [ ed_sud1, ed_sud2, ed_est, ed_nord1, ed_nord2,  ed_west ]
+    les_arcs  = [ arc_s1,  arc_s2,  arc_e,  arc_n1,   arc_n2,    arc_w ]
+
+    doc.associateClosedLine (v_sw, les_edges[0], les_edges[1:], 
+                                   les_arcs [0], 0.0, False, les_arcs[1:])
+    return doc
+
+# ======================================================= test_asso_closed_inv
+def test_asso_closed_inv () :
+
+    doc = init_globale ("asso_closed_inv")
+
+    les_edges = [ ed_sud1, ed_sud2, ed_est, ed_nord1, ed_nord2,  ed_west ]
+    les_arcs  = [ arc_s1,  arc_s2,  arc_e,  arc_n1,   arc_n2,    arc_w ]
+
+    doc.associateClosedLine (v_s , les_edges[0], les_edges[1:], 
+                                   les_arcs [0], 1.0, True, les_arcs[1:])
+    return doc
+
+# ======================================================= test_asso_opened
+def test_asso_opened () :
+
+    doc = init_globale ("asso_opened")
+
+    les_edges = [ ed_sud2, ed_est, ed_nord2 ]
+    les_arcs  = [ arc_s,   arc_e,  arc_n ]
+
+    doc.associateOpenedLine (les_edges[0], les_edges[1:], 
+                             les_arcs [0], 0.5, les_arcs[1:], 0.5)
+    return doc
+
+# ================================================================= Begin
+
+doc = test_asso_closed_inv  ()
+
+law = doc.addLaw("Uniform", 3)
+
+for j in range(doc.countPropagation()):
+    propa = doc.getPropagation(j)
+    propa.setLaw(law) 
+
+mesh_hexas = hexablock.mesh (doc)
+
+
index 187ccdbd4afa48c08f39ed7fada4c3798cb72ef6..551f2be5eccee42d748f7b00b0edbc1f1cfc40e6 100644 (file)
@@ -1,10 +1,10 @@
 # -*- coding: latin-1 -*-
-# Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+# Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
 # License as published by the Free Software Foundation; either
-# version 2.1 of the License.
+# version 2.1 of the License, or (at your option) any later version.
 #
 # This library is distributed in the hope that it will be useful,
 # but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -22,7 +22,6 @@
 
 import hexablock
 import os
-import geompy
 
 #---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8
 
index 84dd5b636fa26966fd3eea6fc00ab84e174ec84a..f325aa1359257893d3a7d4ba2728674b9acee313 100644 (file)
@@ -1,10 +1,10 @@
 # -*- coding: latin-1 -*-
-# Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+# Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
 # License as published by the Free Software Foundation; either
-# version 2.1 of the License.
+# version 2.1 of the License, or (at your option) any later version.
 #
 # This library is distributed in the hope that it will be useful,
 # but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -22,7 +22,6 @@
 
 import hexablock
 import os
-import geompy
 
 #---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8
 
index d7341b660ee58737a7486a64e571951221e73c91..813aa2202b30a526e92e97a2aa1b44d1388fff99 100644 (file)
@@ -1,12 +1,12 @@
 # -*- coding: latin-1 -*-
 # Hexa : Creation d'hexaedres 
 
-# Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+# Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
 # License as published by the Free Software Foundation; either
-# version 2.1 of the License.
+# version 2.1 of the License, or (at your option) any later version.
 #
 # This library is distributed in the hope that it will be useful,
 # but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -22,7 +22,6 @@
 
 import hexablock
 import os
-import geompy
 
 #---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8
 
index f8cfed5b976958613ae63552c2464564c06f87cd..100e0babf050c49c3514b3770881afac31720d27 100644 (file)
@@ -1,10 +1,10 @@
 # -*- coding: latin-1 -*-
-# Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+# Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
 # License as published by the Free Software Foundation; either
-# version 2.1 of the License.
+# version 2.1 of the License, or (at your option) any later version.
 #
 # This library is distributed in the hope that it will be useful,
 # but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -22,7 +22,6 @@
 
 import hexablock
 import os
-import geompy
 
 #---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8
 
index ec266adba330c4f913c62a37d1e813facc8654ee..8bcd4641814dcd507d8dd44b3036cd6d031ab8f1 100644 (file)
@@ -1,10 +1,10 @@
 # -*- coding: latin-1 -*-\r
-# Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+# Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
 # License as published by the Free Software Foundation; either
-# version 2.1 of the License.
+# version 2.1 of the License, or (at your option) any later version.
 #
 # This library is distributed in the hope that it will be useful,
 # but WITHOUT ANY WARRANTY; without even the implied warranty of
index 480e18a57ce3b42f22dcb085616a49d62d425eb8..535cee35ef89706948e500c5af77def2b9c27eb3 100644 (file)
@@ -1,10 +1,10 @@
 # -*- coding: latin-1 -*-
-# Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+# Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
 # License as published by the Free Software Foundation; either
-# version 2.1 of the License.
+# version 2.1 of the License, or (at your option) any later version.
 #
 # This library is distributed in the hope that it will be useful,
 # but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -22,7 +22,6 @@
 
 import hexablock
 import os
-import geompy
 
 #---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8
 
index 34563ba7c6713aeb854921186ef90b4d81a3a942..3a8c9db1e989b2c016319cc5b1107aeb64696a3c 100644 (file)
@@ -1,10 +1,10 @@
 # -*- coding: latin-1 -*-
-# Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+# Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
 # License as published by the Free Software Foundation; either
-# version 2.1 of the License.
+# version 2.1 of the License, or (at your option) any later version.
 #
 # This library is distributed in the hope that it will be useful,
 # but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -22,7 +22,6 @@
 
 import hexablock
 import os
-import geompy
 
 #---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8
 
index cf2bf11d9873acbdf84494d4ecfffbcdb910b0b2..f7fe8350734fedb9e80210260ee3b473354f770c 100644 (file)
@@ -1,10 +1,10 @@
 # -*- coding: latin-1 -*-
-# Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+# Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
 # License as published by the Free Software Foundation; either
-# version 2.1 of the License.
+# version 2.1 of the License, or (at your option) any later version.
 #
 # This library is distributed in the hope that it will be useful,
 # but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -22,7 +22,6 @@
 
 import hexablock
 import os
-import geompy
 
 #---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8
 
index 7e4e79f682f54c4f0a7560f2a554b6c94ba2dcbf..008bf86e951fa7d1a774a90a7cbd9271c77f382c 100644 (file)
@@ -1,10 +1,10 @@
 # -*- coding: latin-1 -*-
-# Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+# Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
 # License as published by the Free Software Foundation; either
-# version 2.1 of the License.
+# version 2.1 of the License, or (at your option) any later version.
 #
 # This library is distributed in the hope that it will be useful,
 # but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -22,7 +22,6 @@
 
 import hexablock
 import os
-import geompy
 
 #---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8
 
index 134ecd292339b3d1a339f3664c37f871faa0786f..a9ed155b809f796e2914b062bb5fdc6b2fe7acea 100644 (file)
@@ -1,10 +1,10 @@
 # -*- coding: latin-1 -*-
-# Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+# Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
 # License as published by the Free Software Foundation; either
-# version 2.1 of the License.
+# version 2.1 of the License, or (at your option) any later version.
 #
 # This library is distributed in the hope that it will be useful,
 # but WITHOUT ANY WARRANTY; without even the implied warranty of
 
 # Hexa : Creation d'hexaedres 
 
+#### import os
 import hexablock
-import os
-import geompy
+geompy = hexablock.geompy
 
 #---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8
 
+use_paraview = False
 
 # ======================================================= test_pipes
 def test_piquage () :
 
-    doc  = hexablock.addDocument ("default")
+    name = "piquage"
+    doc  = hexablock.addDocument (name)
 
-    orig = doc.addVertex ( 0, 0, 0)
+    orig = doc.addVertex ( 8, 0, 0)
     vx   = doc.addVector ( 1 ,0, 0)
     vy   = doc.addVector ( 0, 1, 0)
     vz   = doc.addVector ( 0, 0, 1)
 
-    size_x = 3
-    size_y = 3
-    size_z = 3
+    size_x   = 5
+    size_y   = 5
+    size_z   = 3
+    size_cyl = 12
 
-    grid = doc.makeCartesian (orig, vx, vy, vz, size_x, size_y, size_z)
+    rint     = 2
+    rext     = 3
+    angle    = 360
+    haut     = 1
+    nr       = 1
+    nh       = 1
 
-    c1 = grid.getVertexIJK (1, 2, size_z)
-    c2 = grid.getVertexIJK (1, 1, size_z)
-    c3 = grid.getVertexIJK (2, 1, size_z)
+    grid = doc.makeCartesianTop (size_x, size_y, size_z)
+    pipe = doc.makePipeUni  (orig, vx, vz, rint, rext, angle,
+                             haut, nr, size_cyl, nh) 
 
-    pa1 = doc.addVertex (-1, -1, 0)
-    pb1 = doc.addVertex ( 1, -1, 0)
-    pc1 = doc.addVertex ( 1,  1, 0)
-    pd1 = doc.addVertex (-1,  1, 0)
+    c1 = grid.getVertexIJK (2, 1, size_z)
+    c2 = grid.getVertexIJK (3, 1, size_z)
 
-    pa2 = doc.addVertex (-2, -2, 0)
-    pb2 = doc.addVertex ( 2, -2, 0)
-    pc2 = doc.addVertex ( 2,  2, 0)
-    pd2 = doc.addVertex (-2,  2, 0)
-
-    edab1 = doc.addEdge (pa1, pb1)
-    edbc1 = doc.addEdge (pb1, pc1)
-    edcd1 = doc.addEdge (pc1, pd1)
-    edda1 = doc.addEdge (pd1, pa1)
-
-    edab2 = doc.addEdge (pa2, pb2)
-    edbc2 = doc.addEdge (pb2, pc2)
-    edcd2 = doc.addEdge (pc2, pd2)
-    edda2 = doc.addEdge (pd2, pa2)
-
-    edaa = doc.addEdge (pa1, pa2)
-    edbb = doc.addEdge (pb1, pb2)
-    edcc = doc.addEdge (pc1, pc2)
-    eddd = doc.addEdge (pd1, pd2)
+    p1 = pipe.getVertexIJK (1, 7, 1)
+    p2 = pipe.getVertexIJK (1, 8, 1)
 
     qpattern = []
-    qpattern.append (doc.addQuad (edab1, edbc1, edcd1, edda1))
-    qpattern.append (doc.addQuad (edab1, edbb,  edab2, edaa))
-    qpattern.append (doc.addQuad (edbc1, edcc,  edbc2, edbb))
-    qpattern.append (doc.addQuad (edcd1, eddd,  edcd2, edcc))
-    qpattern.append (doc.addQuad (edda1, edaa,  edda2, eddd))
-
-    doc.saveVtk ("replace0.vtk")
-
-    doc.replace (qpattern, pd2,c1, pa2,c2, pb2,c3)
-
-    doc.saveVtk ("replace1.vtk")
+    qtarget  = []
+    for na in range (size_cyl) :
+       quad = pipe.getQuadIJ (0, na, 1)
+       quad.setColor (2)
+       qpattern.append (quad)
+
+    for ni in range (1, size_x-1) :
+        for nj in range (1, size_y-1) :
+            quad = grid.getQuadIJ (ni, nj, size_z)
+            quad.setColor (2)
+            qtarget.append (quad)
+
+    c1.setColor (6)
+    c2.setColor (4)
+
+    p1.setColor (6)
+    p2.setColor (4)
+    if use_paraview :
+       doc.saveVtk ("replace0.vtk")
+
+    doc.replace (qpattern, qtarget, p1,c1, p2,c2)
+    if use_paraview :
+       doc.saveVtk ("replace1.vtk")
+
+    pipe.remove()
+    if use_paraview :
+       doc.saveVtk ("replace2.vtk")
     return doc
 
 # ================================================================= Begin
 
 doc = test_piquage  ()
 
-law = doc.addLaw("Uniform", 0)
-
-for j in range(doc.countPropagation()):
-    propa = doc.getPropagation(j)
-    propa.setLaw(law) 
+doc.addLaws (0.9, True)
 
-mesh_hexas = hexablock.mesh(doc, "maillage:hexas")
+mesh_hexas = hexablock.mesh (doc, "maillage:hexas")
index 5bc4226cfa04c225ad7b81d81a5c243b499d2d45..68bab45c4db6d790193778bb196eac14910364e5 100644 (file)
@@ -1,10 +1,10 @@
 # -*- coding: latin-1 -*-
-# Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+# Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
 # License as published by the Free Software Foundation; either
-# version 2.1 of the License.
+# version 2.1 of the License, or (at your option) any later version.
 #
 # This library is distributed in the hope that it will be useful,
 # but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -22,7 +22,6 @@
 
 import hexablock
 import os
-import geompy
 
 #---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8
 
index 747c2c41c83fd1dcc576500a2e7da7da404f3b04..f16c861c9215aa350d219d2d5a826cf838b2e219 100644 (file)
@@ -1,10 +1,10 @@
 # -*- coding: latin-1 -*-
-# Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+# Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
 # License as published by the Free Software Foundation; either
-# version 2.1 of the License.
+# version 2.1 of the License, or (at your option) any later version.
 #
 # This library is distributed in the hope that it will be useful,
 # but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -22,9 +22,8 @@
 # =============================================================================================
 
 import math
-
-import geompy
 import hexablock
+geompy = hexablock.geompy
 
 # Construire le modèle de bloc
 # ============================
index e94a2e84981f0e94e84200b826f49b0b69d1a3ed..87ecc8987f121ee7db7a89081fb3e488efbe3dd4 100644 (file)
@@ -1,10 +1,10 @@
 # -*- coding: latin-1 -*-
-# Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+# Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
 # License as published by the Free Software Foundation; either
-# version 2.1 of the License.
+# version 2.1 of the License, or (at your option) any later version.
 #
 # This library is distributed in the hope that it will be useful,
 # but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -22,7 +22,6 @@
 
 import hexablock
 import os
-import geompy
 
 #---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8
 
index 39c972affff68564941e33812efffc79adabcab2..f5c41e1f69ce3cc2ed7d69ee87821a8cd9544def 100644 (file)
@@ -1,10 +1,10 @@
 # -*- coding: latin-1 -*-
-# Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+# Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
 # License as published by the Free Software Foundation; either
-# version 2.1 of the License.
+# version 2.1 of the License, or (at your option) any later version.
 #
 # This library is distributed in the hope that it will be useful,
 # but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -22,7 +22,6 @@
 
 import hexablock
 import os
-import geompy
 
 #---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8
 
index 4e5333febbc596c7cce311c7486650cb474d407b..2b984da1be31b96324c8e53adbfcb11deb6e2db3 100644 (file)
@@ -1,10 +1,10 @@
 # -*- coding: latin-1 -*-
-# Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+# Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
 # License as published by the Free Software Foundation; either
-# version 2.1 of the License.
+# version 2.1 of the License, or (at your option) any later version.
 #
 # This library is distributed in the hope that it will be useful,
 # but WITHOUT ANY WARRANTY; without even the implied warranty of
index 7b13a385766dbefccf0d012d61af8d8418b70a22..f3b7bb1bf1a4af67a6548f4db6722c79d06b9490 100644 (file)
@@ -1,10 +1,10 @@
 # -*- coding: latin-1 -*-
-# Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+# Copyright (C) 2009-2014  CEA/DEN, EDF R&D
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
 # License as published by the Free Software Foundation; either
-# version 2.1 of the License.
+# version 2.1 of the License, or (at your option) any later version.
 #
 # This library is distributed in the hope that it will be useful,
 # but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -21,8 +21,8 @@
 # Francis KLOSS : 2012 : CEA-Saclay, DEN, DM2S, SFME, LGLS, F-91191 Gif-sur-Yvette, France
 # ========================================================================================
 
-import geompy
 import hexablock
+geompy = hexablock.geompy
 
 # Charger la geometrie
 # ====================
diff --git a/src/TEST_PY/test_v6/makeCartesianTop.py b/src/TEST_PY/test_v6/makeCartesianTop.py
new file mode 100644 (file)
index 0000000..9e9c94b
--- /dev/null
@@ -0,0 +1,26 @@
+# Copyright (C) 2009-2014  CEA/DEN, EDF R&D
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+#
+# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+#
+
+import hexablock
+
+doc = hexablock.addDocument ("model")
+
+doc.makeCartesianTop (6, 4, 2)
+
+doc.saveVtk ("model1.vtk")
diff --git a/src/TEST_PY/test_v6/makeCylinderTop.py b/src/TEST_PY/test_v6/makeCylinderTop.py
new file mode 100644 (file)
index 0000000..80156e3
--- /dev/null
@@ -0,0 +1,49 @@
+# Copyright (C) 2009-2014  CEA/DEN, EDF R&D
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+#
+# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+#
+
+import hexablock
+
+# ================================================ rename
+def rename (elt, pref, indices) :
+    if elt == None : return
+    elt.setName (pref + indices)
+# ================================================ begin
+doc = hexablock.addDocument ("model")
+nr = 3
+na = 8
+nh = 3
+
+grid = doc.makeCylinderTop (nr, na, nh)
+for i in range (nr+1) :
+   for j in range (na) :
+      for k in range (nh+1) :
+          name  = "(%d,%d,%d)" % (i,j,k)
+          vertex =  grid.getVertexIJK (i,j,k)
+          ei     =  grid.getEdgeI (i,j,k)
+          ej     =  grid.getEdgeJ (i,j,k)
+          ek     =  grid.getEdgeK (i,j,k)
+          rename (vertex, 'v', name)
+          rename (ei,    'ei', name)
+          rename (ej,    'ej', name)
+          rename (ek,    'ek', name)
+
+doc.save    ("cylinder")
+doc.saveVtk ("cylinder.vtk")
+doc.addLaws (1, True)
+mesh_hexas = hexablock.mesh(doc)
diff --git a/src/TEST_PY/test_v6/makePipeTop.py b/src/TEST_PY/test_v6/makePipeTop.py
new file mode 100644 (file)
index 0000000..4e6797a
--- /dev/null
@@ -0,0 +1,28 @@
+# Copyright (C) 2009-2014  CEA/DEN, EDF R&D
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+#
+# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+#
+
+import hexablock
+
+doc = hexablock.addDocument ("model")
+
+doc.makePipeTop (3, 8, 3)
+
+###  doc.saveVtk ("model1.vtk")
+doc.addLaws (1, True)
+mesh_hexas = hexablock.mesh(doc)
diff --git a/src/TEST_PY/test_v6/makeRindTop.py b/src/TEST_PY/test_v6/makeRindTop.py
new file mode 100644 (file)
index 0000000..0c44fff
--- /dev/null
@@ -0,0 +1,26 @@
+# Copyright (C) 2009-2014  CEA/DEN, EDF R&D
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+#
+# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+#
+
+import hexablock
+
+doc = hexablock.addDocument ("model")
+
+doc.makeRindTop (3, 8, 6)
+
+## doc.saveVtk ("model1.vtk")
diff --git a/src/TEST_PY/test_v6/makeRindUni.py b/src/TEST_PY/test_v6/makeRindUni.py
new file mode 100644 (file)
index 0000000..5df7d49
--- /dev/null
@@ -0,0 +1,43 @@
+# Copyright (C) 2009-2014  CEA/DEN, EDF R&D
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+#
+# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+#
+
+import hexablock
+
+doc = hexablock.addDocument ("model")
+
+center = doc.addVertex (0,0,0)
+vx     = doc.addVector (1,0,0)
+vz     = doc.addVector (0,0,1)
+
+rhole  = 1.0
+rint   = 3.0
+rext   = 4.0
+angle  = 180.0
+
+nr  = 3
+na  = 8
+nh  = 6
+
+vplan = doc.addVertex (0, 0, -rext*0.7)
+
+doc.makeRindUni (center,vx,vz, rhole,rint,rext, angle,vplan,nr,na,nh)
+
+## doc.saveVtk ("model1.vtk")
+doc.addLaws (1, True)
+mesh_hexas = hexablock.mesh(doc)
diff --git a/src/TEST_PY/test_v6/makeSphere.py b/src/TEST_PY/test_v6/makeSphere.py
new file mode 100644 (file)
index 0000000..aae4975
--- /dev/null
@@ -0,0 +1,40 @@
+# Copyright (C) 2009-2014  CEA/DEN, EDF R&D
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+#
+# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+#
+
+import hexablock
+
+doc = hexablock.addDocument ("model")
+
+center = doc.addVertex (0,0,0)
+vx     = doc.addVector (1,0,0)
+vz     = doc.addVector (0,0,1)
+
+rhole  = 1.0
+rext   = 4.0
+angle  = 260.0
+
+trayons = [ 1, 2, 3 , 4 ]
+tangles = [ 0, 30, 60, 90, 120, 150, 180]
+tphi    = [ -30, -10, 0, 10, 30, 45, 60, 75, 80 ]
+
+doc.makeSphere (center,vx,vz, trayons, tangles, tphi)
+
+doc.saveVtk ("model1.vtk")
+doc.addLaws (0.5, True)
+mesh_hexas = hexablock.mesh(doc)
diff --git a/src/TEST_PY/test_v6/makeSphereTop.py b/src/TEST_PY/test_v6/makeSphereTop.py
new file mode 100644 (file)
index 0000000..b19bbc0
--- /dev/null
@@ -0,0 +1,26 @@
+# Copyright (C) 2009-2014  CEA/DEN, EDF R&D
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+#
+# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+#
+
+import hexablock
+
+doc = hexablock.addDocument ("model")
+
+doc.makeSphereTop (3, 8, 6)
+
+doc.saveVtk ("model1.vtk")
diff --git a/src/TEST_PY/test_v6/makeSphereUni.py b/src/TEST_PY/test_v6/makeSphereUni.py
new file mode 100644 (file)
index 0000000..826479f
--- /dev/null
@@ -0,0 +1,40 @@
+# Copyright (C) 2009-2014  CEA/DEN, EDF R&D
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+#
+# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+#
+
+import hexablock
+
+doc = hexablock.addDocument ("model")
+
+center = doc.addVertex (0,0,0)
+vx     = doc.addVector (1,0,0)
+vz     = doc.addVector (0,0,1)
+
+rhole  = 1.0
+rext   = 4.0
+angle  = 260.0
+
+nr  = 3
+na  = 8
+nh  = 6
+
+vplan = doc.addVertex (0, 0, -rext*0.5)
+
+doc.makeSphereUni (center,vx,vz, rhole,rext,angle,vplan, nr,na,nh)
+
+doc.saveVtk ("model1.vtk")
diff --git a/src/TEST_PY/test_v6/monica.py b/src/TEST_PY/test_v6/monica.py
new file mode 100755 (executable)
index 0000000..6bc3925
--- /dev/null
@@ -0,0 +1,193 @@
+# !/bin/python
+# -*- coding: latin-1 -*-
+# Copyright (C) 2009-2014  CEA/DEN, EDF R&D
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+#
+# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+#
+
+# Hexa : Creation d'hexaedres 
+
+import hexablock
+import os
+
+#---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8
+
+doc  = hexablock.addDocument ("default")
+vx   = doc.addVector (1,0,0)
+vy   = doc.addVector (0,1,0)
+vz   = doc.addVector (0,0,1)
+
+vxy  = doc.addVector (1,1,0)
+
+nbr_files = 0
+
+
+# ======================================================= save_vtk
+def save_vtk () :
+
+    global nbr_files
+    nom = "monica%d.vtk" % nbr_files
+    nbr_files += 1
+    doc.saveVtk (nom)
+
+# ======================================================= carre
+def carre (x) :
+    return x*x
+
+# ======================================================= get_center
+def get_center (quad) :
+    px = 0
+    py = 0
+    pz = 0
+    for nv in range (4) :
+        vertex = quad.getVertex (nv) 
+        px += vertex.getX() / 4
+        py += vertex.getY() / 4
+        pz += vertex.getZ() / 4
+    return [ px, py, pz ]
+# ======================================================= nearest
+def nearest (grid, vertex) :
+    nbre = grid.countVertex()
+    dmin   = 1e+6
+    result = None
+    px = vertex.getX()
+    py = vertex.getY()
+    pz = vertex.getZ()
+    for nro in range (nbre) :
+        v1 = grid.getVertex (nro)
+        d2 = carre(px-v1.getX()) + carre(py-v1.getY()) + carre(pz-v1.getZ()) 
+        if (d2 < dmin) :
+           result = v1
+           dmin   = d2
+
+    print  vertex.getName () , px, py, pz, " -> ", result.getName()
+    return result
+
+# ======================================================= nearest_quad
+def nearest_quad (grid, quad) :
+    dmin   = 1e+16
+    result = None
+    [ox, oy, oz]   = get_center (quad)
+    nbre   = grid.countQuad ()
+    for nro in range (nbre) :
+        q1  = grid.getQuad (nro)
+        if q1 != None :
+           [px, py, pz] = get_center (q1)
+           d2 = carre(px-ox) + carre(py-oy) + carre(pz-oz) 
+           if (d2 < dmin) :
+              result = q1
+              dmin   = d2
+
+    print  quad.getName () , px, py, pz, " -> ", result.getName()
+    return result
+
+# ======================================================= insert_cylinder
+def insert_cylinder (plaque, nx, ny) :
+
+    hexa   = plaque.getHexaIJK (nx,   ny,   0)
+    xmin =  666  ;   ymin = xmin ;   zmin = xmin
+    xmax = -666  ;   ymax = xmax ;   zmax = xmax
+
+    tabv1 = []
+    for nv in range (8) :
+        node = hexa.getVertex (nv)
+        xmin = min (xmin, node.getX())   ;  xmax = max (xmax, node.getX())
+        ymin = min (ymin, node.getY())   ;  ymax = max (ymax, node.getY())
+        zmin = min (zmin, node.getZ())   ;  zmax = max (zmax, node.getZ())
+        tabv1.append (node)
+        
+    doc.removeHexa (hexa)
+    save_vtk ()
+
+    dx    = (xmax - xmin)/2
+    dz    = (zmax - zmin)/2
+    xorig = (xmin + xmax)/2 
+    yorig = (ymin + ymax)/2 
+    zorig = (zmin + zmax)/2 - 3*dz
+
+    orig = doc.addVertex (xorig, yorig, zorig)
+    nr = 1
+    na = 4
+    nh = 3
+    rext  = dx
+    rint  = rext/3
+    haut  = 3
+    angle = 360
+    pipe  = doc.makePipeUni (orig, vxy,vz, rint,rext,angle,haut, nr,na,nh)
+
+    hexablock.what () 
+
+    tabquad  = []
+    tabv0 = []
+    for nq in range (4) :
+        quad = pipe.getQuadJK (1, nq, 1)
+        tabquad.append (quad)
+
+    print  " .. tabquad[0] = ", tabquad[0].getName ()
+    cible = nearest_quad (plaque, tabquad[0])
+    tabquad[0]. setColor (5)
+    cible . setColor (5)
+    save_vtk ()
+
+    va1   = tabquad[0].getVertex (0)
+    va2   = tabquad[0].getVertex (1)
+    vb1   = cible.nearestVertex  (va1)
+    vb2   = cible.nearestVertex  (va2)
+    doc.setLevel (1)
+    doc.joinQuadsUni (tabquad, cible, va1, vb1, va2, vb2, 1)
+    hexablock.what () 
+    save_vtk ()
+
+    return
+    doc.setLevel (1)
+    for nv in range (8) :
+        ier = doc.mergeVertices (tabv0[nv], tabv1[nv])
+        print "ier = ", ier
+        save_vtk ()
+
+
+# ======================================================= test_monica
+def test_monica () :
+
+    orig = doc.addVertex (0,0,0)
+
+    lx  = 1
+    ly  = lx
+    lz  = lx
+    nx  = 3
+    ny  = nx
+    nz  = 1
+
+    plaque = doc.makeCartesianUni (orig, vx,vy,vz, lx, ly, lz, nx,ny,nz)
+    save_vtk ()
+
+    insert_cylinder (plaque, 1, 1)
+    ##  hexa = plaque.getHexaIJK (1,1,0)
+    ##  doc.removeHexa (hexa)
+    return doc
+
+# ================================================================= Begin
+
+doc = test_monica  ()
+
+law = doc.addLaw("Uniform", 4)
+
+for j in range(doc.countPropagation()):
+    propa = doc.getPropagation(j)
+    propa.setLaw(law) 
+
+mesh_hexas = hexablock.mesh (doc)
diff --git a/src/TEST_PY/test_v6/test_cone.py b/src/TEST_PY/test_v6/test_cone.py
new file mode 100644 (file)
index 0000000..479a373
--- /dev/null
@@ -0,0 +1,79 @@
+# -*- coding: latin-1 -*-
+# Hexa : Creation d'hexaedres 
+
+# Copyright (C) 2009-2014  CEA/DEN, EDF R&D
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+#
+# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+#
+
+import hexablock
+###  import os
+###  import geompy
+geompy = hexablock.geompy
+
+#---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8
+
+
+doc  = hexablock.addDocument ("test_cone")
+
+orig = doc.addVertex (0, 0, 0)
+ori2 = doc.addVertex (0, 0, 10)
+vz   = doc.addVector (0, 0, 1)
+vx   = doc.addVector (1 ,0, 0)
+
+rad1   = 4.0
+rad2   = 2.0
+height = 5.0
+angle  = 270.0
+hollow = False
+
+nr = 2
+na = 8
+nl = 1
+
+c1 = doc.makePipeUni (orig, vx,vz, rad1/2, rad1, angle, height, nr,na,nl)
+c2 = doc.makePipeUni (ori2, vx,vz, rad2/2, rad2, angle, height, nr,na,nl)
+
+             ### -------- We prepare a joint ....
+vh0 = c2.getVertexIJK (0, 0, 0)
+vh1 = c2.getVertexIJK (1, 0, 0)
+
+vb0 = c1.getVertexIJK (0, 0, nl)
+vb1 = c1.getVertexIJK (1, 0, nl)
+
+qcible = c2.getQuadIJ (0, 0, 0)
+qliste = []
+for ni in range (nr) :
+    for nj in range (na) :
+        quad = c1.getQuadIJ (ni, nj, nl)
+        qliste.append (quad)
+
+             ### -------- Join quads to make a cone between the 2 cylinders
+doc.joinQuadsUni  (qliste, qcible, vb0, vh0, vb1, vh1, 1)
+
+             ### -------------------- Mesh 
+
+doc.save ("test_cones")
+
+law = doc.addLaw ("Uniform", 4)
+
+for np in range(doc.countPropagation()):
+    propa = doc.getPropagation (np)
+    propa.setLaw (law) 
+
+mesh_hexas = hexablock.mesh(doc)
+